literal.js 756 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.parseLiteralDef = void 0;
  4. function parseLiteralDef(def, refs) {
  5. const parsedType = typeof def.value;
  6. if (parsedType !== "bigint" &&
  7. parsedType !== "number" &&
  8. parsedType !== "boolean" &&
  9. parsedType !== "string") {
  10. return {
  11. type: Array.isArray(def.value) ? "array" : "object",
  12. };
  13. }
  14. if (refs.target === "openApi3") {
  15. return {
  16. type: parsedType === "bigint" ? "integer" : parsedType,
  17. enum: [def.value],
  18. };
  19. }
  20. return {
  21. type: parsedType === "bigint" ? "integer" : parsedType,
  22. const: def.value,
  23. };
  24. }
  25. exports.parseLiteralDef = parseLiteralDef;