nativeEnum.js 770 B

123456789101112131415161718192021
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.parseNativeEnumDef = void 0;
  4. function parseNativeEnumDef(def) {
  5. const object = def.values;
  6. const actualKeys = Object.keys(def.values).filter((key) => {
  7. return typeof object[object[key]] !== 'number';
  8. });
  9. const actualValues = actualKeys.map((key) => object[key]);
  10. const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
  11. return {
  12. type: parsedTypes.length === 1 ?
  13. parsedTypes[0] === 'string' ?
  14. 'string'
  15. : 'number'
  16. : ['string', 'number'],
  17. enum: actualValues,
  18. };
  19. }
  20. exports.parseNativeEnumDef = parseNativeEnumDef;
  21. //# sourceMappingURL=nativeEnum.js.map