selectParser.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.selectParser = void 0;
  4. const zod_1 = require("zod");
  5. const any_js_1 = require("./parsers/any.js");
  6. const array_js_1 = require("./parsers/array.js");
  7. const bigint_js_1 = require("./parsers/bigint.js");
  8. const boolean_js_1 = require("./parsers/boolean.js");
  9. const branded_js_1 = require("./parsers/branded.js");
  10. const catch_js_1 = require("./parsers/catch.js");
  11. const date_js_1 = require("./parsers/date.js");
  12. const default_js_1 = require("./parsers/default.js");
  13. const effects_js_1 = require("./parsers/effects.js");
  14. const enum_js_1 = require("./parsers/enum.js");
  15. const intersection_js_1 = require("./parsers/intersection.js");
  16. const literal_js_1 = require("./parsers/literal.js");
  17. const map_js_1 = require("./parsers/map.js");
  18. const nativeEnum_js_1 = require("./parsers/nativeEnum.js");
  19. const never_js_1 = require("./parsers/never.js");
  20. const null_js_1 = require("./parsers/null.js");
  21. const nullable_js_1 = require("./parsers/nullable.js");
  22. const number_js_1 = require("./parsers/number.js");
  23. const object_js_1 = require("./parsers/object.js");
  24. const optional_js_1 = require("./parsers/optional.js");
  25. const pipeline_js_1 = require("./parsers/pipeline.js");
  26. const promise_js_1 = require("./parsers/promise.js");
  27. const record_js_1 = require("./parsers/record.js");
  28. const set_js_1 = require("./parsers/set.js");
  29. const string_js_1 = require("./parsers/string.js");
  30. const tuple_js_1 = require("./parsers/tuple.js");
  31. const undefined_js_1 = require("./parsers/undefined.js");
  32. const union_js_1 = require("./parsers/union.js");
  33. const unknown_js_1 = require("./parsers/unknown.js");
  34. const readonly_js_1 = require("./parsers/readonly.js");
  35. const selectParser = (def, typeName, refs) => {
  36. switch (typeName) {
  37. case zod_1.ZodFirstPartyTypeKind.ZodString:
  38. return (0, string_js_1.parseStringDef)(def, refs);
  39. case zod_1.ZodFirstPartyTypeKind.ZodNumber:
  40. return (0, number_js_1.parseNumberDef)(def, refs);
  41. case zod_1.ZodFirstPartyTypeKind.ZodObject:
  42. return (0, object_js_1.parseObjectDef)(def, refs);
  43. case zod_1.ZodFirstPartyTypeKind.ZodBigInt:
  44. return (0, bigint_js_1.parseBigintDef)(def, refs);
  45. case zod_1.ZodFirstPartyTypeKind.ZodBoolean:
  46. return (0, boolean_js_1.parseBooleanDef)();
  47. case zod_1.ZodFirstPartyTypeKind.ZodDate:
  48. return (0, date_js_1.parseDateDef)(def, refs);
  49. case zod_1.ZodFirstPartyTypeKind.ZodUndefined:
  50. return (0, undefined_js_1.parseUndefinedDef)();
  51. case zod_1.ZodFirstPartyTypeKind.ZodNull:
  52. return (0, null_js_1.parseNullDef)(refs);
  53. case zod_1.ZodFirstPartyTypeKind.ZodArray:
  54. return (0, array_js_1.parseArrayDef)(def, refs);
  55. case zod_1.ZodFirstPartyTypeKind.ZodUnion:
  56. case zod_1.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
  57. return (0, union_js_1.parseUnionDef)(def, refs);
  58. case zod_1.ZodFirstPartyTypeKind.ZodIntersection:
  59. return (0, intersection_js_1.parseIntersectionDef)(def, refs);
  60. case zod_1.ZodFirstPartyTypeKind.ZodTuple:
  61. return (0, tuple_js_1.parseTupleDef)(def, refs);
  62. case zod_1.ZodFirstPartyTypeKind.ZodRecord:
  63. return (0, record_js_1.parseRecordDef)(def, refs);
  64. case zod_1.ZodFirstPartyTypeKind.ZodLiteral:
  65. return (0, literal_js_1.parseLiteralDef)(def, refs);
  66. case zod_1.ZodFirstPartyTypeKind.ZodEnum:
  67. return (0, enum_js_1.parseEnumDef)(def);
  68. case zod_1.ZodFirstPartyTypeKind.ZodNativeEnum:
  69. return (0, nativeEnum_js_1.parseNativeEnumDef)(def);
  70. case zod_1.ZodFirstPartyTypeKind.ZodNullable:
  71. return (0, nullable_js_1.parseNullableDef)(def, refs);
  72. case zod_1.ZodFirstPartyTypeKind.ZodOptional:
  73. return (0, optional_js_1.parseOptionalDef)(def, refs);
  74. case zod_1.ZodFirstPartyTypeKind.ZodMap:
  75. return (0, map_js_1.parseMapDef)(def, refs);
  76. case zod_1.ZodFirstPartyTypeKind.ZodSet:
  77. return (0, set_js_1.parseSetDef)(def, refs);
  78. case zod_1.ZodFirstPartyTypeKind.ZodLazy:
  79. return () => def.getter()._def;
  80. case zod_1.ZodFirstPartyTypeKind.ZodPromise:
  81. return (0, promise_js_1.parsePromiseDef)(def, refs);
  82. case zod_1.ZodFirstPartyTypeKind.ZodNaN:
  83. case zod_1.ZodFirstPartyTypeKind.ZodNever:
  84. return (0, never_js_1.parseNeverDef)();
  85. case zod_1.ZodFirstPartyTypeKind.ZodEffects:
  86. return (0, effects_js_1.parseEffectsDef)(def, refs);
  87. case zod_1.ZodFirstPartyTypeKind.ZodAny:
  88. return (0, any_js_1.parseAnyDef)();
  89. case zod_1.ZodFirstPartyTypeKind.ZodUnknown:
  90. return (0, unknown_js_1.parseUnknownDef)();
  91. case zod_1.ZodFirstPartyTypeKind.ZodDefault:
  92. return (0, default_js_1.parseDefaultDef)(def, refs);
  93. case zod_1.ZodFirstPartyTypeKind.ZodBranded:
  94. return (0, branded_js_1.parseBrandedDef)(def, refs);
  95. case zod_1.ZodFirstPartyTypeKind.ZodReadonly:
  96. return (0, readonly_js_1.parseReadonlyDef)(def, refs);
  97. case zod_1.ZodFirstPartyTypeKind.ZodCatch:
  98. return (0, catch_js_1.parseCatchDef)(def, refs);
  99. case zod_1.ZodFirstPartyTypeKind.ZodPipeline:
  100. return (0, pipeline_js_1.parsePipelineDef)(def, refs);
  101. case zod_1.ZodFirstPartyTypeKind.ZodFunction:
  102. case zod_1.ZodFirstPartyTypeKind.ZodVoid:
  103. case zod_1.ZodFirstPartyTypeKind.ZodSymbol:
  104. return undefined;
  105. default:
  106. /* c8 ignore next */
  107. return ((_) => undefined)(typeName);
  108. }
  109. };
  110. exports.selectParser = selectParser;