Spaces:
Build error
Build error
| type ClientWrapperOptions = { | |
| apiClientName: string; | |
| defaultUrl: string; | |
| includeUploadFile: boolean; | |
| }; | |
| const STRIPPED_TYPES_START = '// __STRIPPED_DURING_INJECTION_START__'; | |
| const STRIPPED_TYPES_END = '// __STRIPPED_DURING_INJECTION_END__'; | |
| const UPLOAD_FILE_START = '// __UPLOAD_FILE_START__'; | |
| const UPLOAD_FILE_END = '// __UPLOAD_FILE_END__'; | |
| const escapeRegExp = (value: string): string => | |
| value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); | |
| export const buildClientWrapperSource = ( | |
| templateSource: string, | |
| options: ClientWrapperOptions, | |
| ): string => { | |
| let source = templateSource; | |
| source = source.replace( | |
| new RegExp( | |
| `${escapeRegExp(STRIPPED_TYPES_START)}[\\s\\S]*?${escapeRegExp(STRIPPED_TYPES_END)}\\n?`, | |
| ), | |
| '', | |
| ); | |
| source = source.replace("'__TWENTY_DEFAULT_URL__'", options.defaultUrl); | |
| source = source.replace(/TwentyGeneratedClient/g, options.apiClientName); | |
| if (!options.includeUploadFile) { | |
| source = source.replace( | |
| new RegExp( | |
| `\\s*${escapeRegExp(UPLOAD_FILE_START)}[\\s\\S]*?${escapeRegExp(UPLOAD_FILE_END)}\\n?`, | |
| ), | |
| '\n', | |
| ); | |
| } else { | |
| source = source.replace( | |
| new RegExp(`\\s*${escapeRegExp(UPLOAD_FILE_START)}\\n`), | |
| '\n', | |
| ); | |
| source = source.replace( | |
| new RegExp(`\\s*${escapeRegExp(UPLOAD_FILE_END)}\\n`), | |
| '\n', | |
| ); | |
| } | |
| return `\n// ${options.apiClientName} (auto-injected by twenty-client-sdk)\n${source}`; | |
| }; | |