export async function variableSubstitution()

in src/issues/util.ts [519:547]


export async function variableSubstitution(
	value: string,
	issueModel?: IssueModel,
	defaults?: PullRequestDefaults,
	user?: string,
): Promise<string> {
	return value.replace(VARIABLE_PATTERN, (match: string, variable: string) => {
		switch (variable) {
			case 'user':
				return user ? user : match;
			case 'issueNumber':
				return issueModel ? `${issueModel.number}` : match;
			case 'issueNumberLabel':
				return issueModel ? `${getIssueNumberLabel(issueModel, defaults)}` : match;
			case 'issueTitle':
				return issueModel ? issueModel.title : match;
			case 'repository':
				return defaults ? defaults.repo : match;
			case 'owner':
				return defaults ? defaults.owner : match;
			case 'sanitizedIssueTitle':
				return issueModel ? sanitizeIssueTitle(issueModel.title) : match; // check what characters are permitted
			case 'sanitizedLowercaseIssueTitle':
				return issueModel ? sanitizeIssueTitle(issueModel.title).toLowerCase() : match;
			default:
				return match;
		}
	});
}