index.ts 760 B

12345678910111213141516171819202122232425262728
  1. export const parseRRuleConfig = (rawConfig: NCoreUIKit.GeneratedRRuleConfigsForReturn) => {
  2. const tokens: {
  3. [key: string]: RegExp;
  4. } = {
  5. };
  6. Object.keys(rawConfig.tokens).forEach((key) => {
  7. let pattern = rawConfig.tokens[key as keyof typeof rawConfig.tokens];
  8. let flags = "";
  9. if (pattern.endsWith("/i")) {
  10. pattern = pattern.slice(0, -2).replace(/^\^?/, "^");
  11. flags = "i";
  12. }
  13. if (pattern.startsWith("/") && pattern.endsWith("/")) {
  14. pattern = pattern.slice(1, -1);
  15. }
  16. tokens[key] = new RegExp(pattern, flags);
  17. });
  18. return {
  19. monthNames: rawConfig.monthNames,
  20. dayNames: rawConfig.dayNames,
  21. tokens: tokens
  22. };
  23. };