get-string-array-regexp.ts 618 B

12345678910111213141516171819202122232425262728
  1. const defaultOptions = {
  2. name: '_0x([a-f0-9]){4}',
  3. kind: 'var'
  4. }
  5. /**
  6. * Returns string array RegExp
  7. *
  8. * @returns {RegExp}
  9. */
  10. export function getStringArrayRegExp(
  11. stringArrayItems: string[],
  12. options: Partial<typeof defaultOptions> = {}
  13. ): RegExp {
  14. const mergedOptions = {
  15. ...defaultOptions,
  16. ...options
  17. };
  18. const {name, kind} = mergedOptions;
  19. return new RegExp(
  20. `function (${name}) *\\(\\) *{` +
  21. `${kind}.*= *\\[${stringArrayItems.map((item: string) => `\'${item}\'`).join(',')}];.*` +
  22. `return ${name}\\(\\); *` +
  23. '}'
  24. );
  25. }