IdentifierNamesCacheRule.ts 864 B

1234567891011121314151617181920212223242526272829303132
  1. import { TOptionsNormalizerRule } from '../../types/options/TOptionsNormalizerRule';
  2. import { IOptions } from '../../interfaces/options/IOptions';
  3. /**
  4. * @param {IOptions} options
  5. * @returns {IOptions}
  6. */
  7. export const IdentifierNamesCacheRule: TOptionsNormalizerRule = (options: IOptions): IOptions => {
  8. let identifierNamesCache = options.identifierNamesCache;
  9. if (identifierNamesCache && !identifierNamesCache.globalIdentifiers) {
  10. identifierNamesCache = {
  11. ...identifierNamesCache,
  12. globalIdentifiers: {}
  13. };
  14. }
  15. if (identifierNamesCache && !identifierNamesCache.propertyIdentifiers) {
  16. identifierNamesCache = {
  17. ...identifierNamesCache,
  18. propertyIdentifiers: {}
  19. };
  20. }
  21. options = {
  22. ...options,
  23. identifierNamesCache
  24. };
  25. return options;
  26. };