@skmtc/core 0.0.471 → 0.0.476

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/esm/context/GenerateContext.d.ts +3 -3
  2. package/esm/context/GenerateContext.d.ts.map +1 -1
  3. package/esm/context/GenerateContext.js +20 -61
  4. package/esm/context/ParseContext.d.ts.map +1 -1
  5. package/esm/context/ParseContext.js +1 -1
  6. package/esm/dsl/ContentSettings.d.ts +1 -5
  7. package/esm/dsl/ContentSettings.d.ts.map +1 -1
  8. package/esm/dsl/ContentSettings.js +2 -18
  9. package/esm/dsl/model/ModelDriver.js +2 -2
  10. package/esm/dsl/model/ModelInsertable.d.ts +2 -0
  11. package/esm/dsl/model/ModelInsertable.d.ts.map +1 -1
  12. package/esm/dsl/model/toModelInsertable.d.ts +2 -0
  13. package/esm/dsl/model/toModelInsertable.d.ts.map +1 -1
  14. package/esm/dsl/operation/OperationDriver.js +2 -2
  15. package/esm/dsl/operation/OperationInsertable.d.ts +3 -0
  16. package/esm/dsl/operation/OperationInsertable.d.ts.map +1 -1
  17. package/esm/dsl/operation/toOperationGateway.d.ts +2 -0
  18. package/esm/dsl/operation/toOperationGateway.d.ts.map +1 -1
  19. package/esm/dsl/operation/toOperationInsertable.d.ts +2 -0
  20. package/esm/dsl/operation/toOperationInsertable.d.ts.map +1 -1
  21. package/esm/helpers/ResultsLog.d.ts.map +1 -1
  22. package/esm/helpers/naming.d.ts.map +1 -1
  23. package/esm/mod.d.ts +3 -1
  24. package/esm/mod.d.ts.map +1 -1
  25. package/esm/mod.js +3 -1
  26. package/esm/oas/array/Array.d.ts +3 -1
  27. package/esm/oas/array/Array.d.ts.map +1 -1
  28. package/esm/oas/array/Array.js +10 -0
  29. package/esm/oas/boolean/Boolean.d.ts +3 -0
  30. package/esm/oas/boolean/Boolean.d.ts.map +1 -1
  31. package/esm/oas/boolean/Boolean.js +10 -0
  32. package/esm/oas/contact/Contact.d.ts.map +1 -1
  33. package/esm/oas/integer/Integer.d.ts +3 -0
  34. package/esm/oas/integer/Integer.d.ts.map +1 -1
  35. package/esm/oas/integer/Integer.js +12 -0
  36. package/esm/oas/intersection/Intersection.d.ts +3 -1
  37. package/esm/oas/intersection/Intersection.d.ts.map +1 -1
  38. package/esm/oas/intersection/Intersection.js +9 -0
  39. package/esm/oas/number/Number.d.ts +3 -0
  40. package/esm/oas/number/Number.d.ts.map +1 -1
  41. package/esm/oas/number/Number.js +10 -0
  42. package/esm/oas/object/Object.d.ts +3 -1
  43. package/esm/oas/object/Object.d.ts.map +1 -1
  44. package/esm/oas/object/Object.js +21 -0
  45. package/esm/oas/ref/Ref.d.ts +3 -1
  46. package/esm/oas/ref/Ref.d.ts.map +1 -1
  47. package/esm/oas/ref/Ref.js +11 -0
  48. package/esm/oas/schema/Schema.d.ts +3 -0
  49. package/esm/oas/schema/Schema.d.ts.map +1 -1
  50. package/esm/oas/string/String.d.ts +3 -0
  51. package/esm/oas/string/String.d.ts.map +1 -1
  52. package/esm/oas/string/String.js +14 -0
  53. package/esm/oas/union/Union.d.ts +3 -0
  54. package/esm/oas/union/Union.d.ts.map +1 -1
  55. package/esm/oas/union/Union.js +9 -0
  56. package/esm/oas/unknown/Unknown.d.ts +3 -0
  57. package/esm/oas/unknown/Unknown.d.ts.map +1 -1
  58. package/esm/oas/unknown/Unknown.js +7 -0
  59. package/esm/run/toSettings.d.ts +15 -0
  60. package/esm/run/toSettings.d.ts.map +1 -0
  61. package/esm/run/toSettings.js +74 -0
  62. package/esm/run/transform.d.ts.map +1 -0
  63. package/esm/types/EnrichmentRequest.d.ts +57 -0
  64. package/esm/types/EnrichmentRequest.d.ts.map +1 -0
  65. package/esm/types/EnrichmentRequest.js +1 -0
  66. package/esm/types/Settings.d.ts +24 -483
  67. package/esm/types/Settings.d.ts.map +1 -1
  68. package/esm/types/Settings.js +2 -11
  69. package/esm/typescript/FunctionParameter.d.ts.map +1 -1
  70. package/esm/typescript/FunctionParameter.js +1 -1
  71. package/package.json +8 -3
  72. package/script/context/GenerateContext.d.ts +3 -3
  73. package/script/context/GenerateContext.d.ts.map +1 -1
  74. package/script/context/GenerateContext.js +19 -60
  75. package/script/context/ParseContext.d.ts.map +1 -1
  76. package/script/context/ParseContext.js +1 -1
  77. package/script/dsl/ContentSettings.d.ts +1 -5
  78. package/script/dsl/ContentSettings.d.ts.map +1 -1
  79. package/script/dsl/ContentSettings.js +2 -18
  80. package/script/dsl/model/ModelDriver.js +2 -2
  81. package/script/dsl/model/ModelInsertable.d.ts +2 -0
  82. package/script/dsl/model/ModelInsertable.d.ts.map +1 -1
  83. package/script/dsl/model/toModelInsertable.d.ts +2 -0
  84. package/script/dsl/model/toModelInsertable.d.ts.map +1 -1
  85. package/script/dsl/operation/OperationDriver.js +2 -2
  86. package/script/dsl/operation/OperationInsertable.d.ts +3 -0
  87. package/script/dsl/operation/OperationInsertable.d.ts.map +1 -1
  88. package/script/dsl/operation/toOperationGateway.d.ts +2 -0
  89. package/script/dsl/operation/toOperationGateway.d.ts.map +1 -1
  90. package/script/dsl/operation/toOperationInsertable.d.ts +2 -0
  91. package/script/dsl/operation/toOperationInsertable.d.ts.map +1 -1
  92. package/script/helpers/ResultsLog.d.ts.map +1 -1
  93. package/script/helpers/naming.d.ts.map +1 -1
  94. package/script/mod.d.ts +3 -1
  95. package/script/mod.d.ts.map +1 -1
  96. package/script/mod.js +3 -1
  97. package/script/oas/array/Array.d.ts +3 -1
  98. package/script/oas/array/Array.d.ts.map +1 -1
  99. package/script/oas/array/Array.js +10 -0
  100. package/script/oas/boolean/Boolean.d.ts +3 -0
  101. package/script/oas/boolean/Boolean.d.ts.map +1 -1
  102. package/script/oas/boolean/Boolean.js +10 -0
  103. package/script/oas/contact/Contact.d.ts.map +1 -1
  104. package/script/oas/integer/Integer.d.ts +3 -0
  105. package/script/oas/integer/Integer.d.ts.map +1 -1
  106. package/script/oas/integer/Integer.js +12 -0
  107. package/script/oas/intersection/Intersection.d.ts +3 -1
  108. package/script/oas/intersection/Intersection.d.ts.map +1 -1
  109. package/script/oas/intersection/Intersection.js +9 -0
  110. package/script/oas/number/Number.d.ts +3 -0
  111. package/script/oas/number/Number.d.ts.map +1 -1
  112. package/script/oas/number/Number.js +10 -0
  113. package/script/oas/object/Object.d.ts +3 -1
  114. package/script/oas/object/Object.d.ts.map +1 -1
  115. package/script/oas/object/Object.js +21 -0
  116. package/script/oas/ref/Ref.d.ts +3 -1
  117. package/script/oas/ref/Ref.d.ts.map +1 -1
  118. package/script/oas/ref/Ref.js +11 -0
  119. package/script/oas/schema/Schema.d.ts +3 -0
  120. package/script/oas/schema/Schema.d.ts.map +1 -1
  121. package/script/oas/string/String.d.ts +3 -0
  122. package/script/oas/string/String.d.ts.map +1 -1
  123. package/script/oas/string/String.js +14 -0
  124. package/script/oas/union/Union.d.ts +3 -0
  125. package/script/oas/union/Union.d.ts.map +1 -1
  126. package/script/oas/union/Union.js +9 -0
  127. package/script/oas/unknown/Unknown.d.ts +3 -0
  128. package/script/oas/unknown/Unknown.d.ts.map +1 -1
  129. package/script/oas/unknown/Unknown.js +7 -0
  130. package/script/run/toSettings.d.ts +15 -0
  131. package/script/run/toSettings.d.ts.map +1 -0
  132. package/script/run/toSettings.js +78 -0
  133. package/script/run/transform.d.ts.map +1 -0
  134. package/script/types/EnrichmentRequest.d.ts +57 -0
  135. package/script/types/EnrichmentRequest.d.ts.map +1 -0
  136. package/script/types/EnrichmentRequest.js +3 -0
  137. package/script/types/Settings.d.ts +24 -483
  138. package/script/types/Settings.d.ts.map +1 -1
  139. package/script/types/Settings.js +3 -12
  140. package/script/typescript/FunctionParameter.d.ts.map +1 -1
  141. package/script/typescript/FunctionParameter.js +1 -1
  142. package/esm/transform/transform.d.ts.map +0 -1
  143. package/script/transform/transform.d.ts.map +0 -1
  144. /package/esm/{transform → run}/transform.d.ts +0 -0
  145. /package/esm/{transform → run}/transform.js +0 -0
  146. /package/script/{transform → run}/transform.d.ts +0 -0
  147. /package/script/{transform → run}/transform.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Boolean.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAE7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,aAAa;IAQjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;CAG1B"}
1
+ {"version":3,"file":"Boolean.d.ts","sourceRoot":"","sources":["../../../src/oas/boolean/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAE7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,aAAa;IAQjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAKzB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CASpE"}
@@ -83,5 +83,15 @@ class OasBoolean {
83
83
  resolveOnce() {
84
84
  return this;
85
85
  }
86
+ // deno-lint-ignore no-unused-vars
87
+ toJsonSchema(options) {
88
+ return {
89
+ type: 'boolean',
90
+ title: this.title,
91
+ description: this.description,
92
+ nullable: this.nullable,
93
+ example: this.example
94
+ };
95
+ }
86
96
  }
87
97
  exports.OasBoolean = OasBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../src/oas/contact/Contact.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED,qBAAa,UAAU;IACrB,OAAO,YAAqB;IAE5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,aAAa;CAMlC"}
1
+ {"version":3,"file":"Contact.d.ts","sourceRoot":"","sources":["../../../src/oas/contact/Contact.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED,qBAAa,UAAU;IACrB,OAAO,YAAqB;IAE5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAExC,MAAM,EAAE,aAAa;CAMlC"}
@@ -1,4 +1,6 @@
1
1
  import type { OasRef } from '../ref/Ref.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
2
4
  export type IntegerFields = {
3
5
  title?: string;
4
6
  description?: string;
@@ -48,5 +50,6 @@ export declare class OasInteger {
48
50
  isRef(): this is OasRef<'schema'>;
49
51
  resolve(): OasInteger;
50
52
  resolveOnce(): OasInteger;
53
+ toJsonSchema(options?: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
51
54
  }
52
55
  //# sourceMappingURL=Integer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,aAAa;IAUjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;CAG1B"}
1
+ {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,aAAa;IAUjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAKzB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CAWpE"}
@@ -100,5 +100,17 @@ class OasInteger {
100
100
  resolveOnce() {
101
101
  return this;
102
102
  }
103
+ // deno-lint-ignore no-unused-vars
104
+ toJsonSchema(options) {
105
+ return {
106
+ type: 'integer',
107
+ title: this.title,
108
+ description: this.description,
109
+ nullable: this.nullable,
110
+ format: this.format,
111
+ enum: this.enums,
112
+ example: this.example
113
+ };
114
+ }
103
115
  }
104
116
  exports.OasInteger = OasInteger;
@@ -1,6 +1,7 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
1
2
  import type { OasDiscriminator } from '../discriminator/Discriminator.js';
2
3
  import type { OasRef } from '../ref/Ref.js';
3
- import type { OasSchema } from '../schema/Schema.js';
4
+ import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
4
5
  export type IntersectionFields = {
5
6
  title?: string;
6
7
  description?: string;
@@ -24,5 +25,6 @@ export declare class OasIntersection {
24
25
  isRef(): this is OasRef<'schema'>;
25
26
  resolve(): OasIntersection;
26
27
  resolveOnce(): OasIntersection;
28
+ toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
27
29
  }
28
30
  //# sourceMappingURL=Intersection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Intersection.d.ts","sourceRoot":"","sources":["../../../src/oas/intersection/Intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,eAAe;IAC1B,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,cAAc,CAAiB;IACrC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,kBAAkB;IAUtC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,eAAe;IAI1B,WAAW,IAAI,eAAe;CAG/B"}
1
+ {"version":3,"file":"Intersection.d.ts","sourceRoot":"","sources":["../../../src/oas/intersection/Intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,eAAe;IAC1B,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,cAAc,CAAiB;IACrC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,kBAAkB;IAUtC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,eAAe;IAI1B,WAAW,IAAI,eAAe;IAI9B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CASnE"}
@@ -74,5 +74,14 @@ class OasIntersection {
74
74
  resolveOnce() {
75
75
  return this;
76
76
  }
77
+ toJsonSchema(options) {
78
+ return {
79
+ allOf: this.members.map(member => member.toJsonSchema(options)),
80
+ title: this.title,
81
+ description: this.description,
82
+ nullable: this.nullable,
83
+ example: this.example
84
+ };
85
+ }
77
86
  }
78
87
  exports.OasIntersection = OasIntersection;
@@ -1,4 +1,6 @@
1
1
  import type { OasRef } from '../ref/Ref.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
2
4
  export type NumberFields = {
3
5
  title?: string;
4
6
  description?: string;
@@ -41,5 +43,6 @@ export declare class OasNumber {
41
43
  isRef(): this is OasRef<'schema'>;
42
44
  resolve(): OasNumber;
43
45
  resolveOnce(): OasNumber;
46
+ toJsonSchema(options?: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
44
47
  }
45
48
  //# sourceMappingURL=Number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../src/oas/number/Number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,YAAY;IAQhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
1
+ {"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../src/oas/number/Number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,YAAY;IAQhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;IAKxB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CASpE"}
@@ -83,5 +83,15 @@ class OasNumber {
83
83
  resolveOnce() {
84
84
  return this;
85
85
  }
86
+ // deno-lint-ignore no-unused-vars
87
+ toJsonSchema(options) {
88
+ return {
89
+ type: 'number',
90
+ title: this.title,
91
+ description: this.description,
92
+ nullable: this.nullable,
93
+ example: this.example
94
+ };
95
+ }
86
96
  }
87
97
  exports.OasNumber = OasNumber;
@@ -1,6 +1,7 @@
1
1
  import type { OasRef } from '../ref/Ref.js';
2
- import type { OasSchema } from '../schema/Schema.js';
2
+ import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
3
3
  import type { CustomValue } from '../../types/CustomValue.js';
4
+ import type { OpenAPIV3 } from 'openapi-types';
4
5
  export type OasObjectFields = {
5
6
  title?: string;
6
7
  description?: string;
@@ -86,5 +87,6 @@ export declare class OasObject {
86
87
  isRef(): this is OasRef<'schema'>;
87
88
  resolve(): OasObject;
88
89
  resolveOnce(): OasObject;
90
+ toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
89
91
  }
90
92
  //# sourceMappingURL=Object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAG,SAAS,CAAA;IACnF,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAG,SAAS,CAAA;IAClF;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAExE,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAEhC,MAAM,EAAE,eAAe;IAWnC,kCAAkC;IAClC,MAAM,CAAC,KAAK,IAAI,SAAS;IAOzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAmBnE;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAkBvC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
1
+ {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAG,SAAS,CAAA;IACnF,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAAG,SAAS,CAAA;IAClF;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAExE,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBAEhC,MAAM,EAAE,eAAe;IAWnC,kCAAkC;IAClC,MAAM,CAAC,KAAK,IAAI,SAAS;IAOzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAmBnE;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAkBvC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;IAIxB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CAsBnE"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OasObject = void 0;
4
+ const ts_pattern_1 = require("ts-pattern");
4
5
  /**
5
6
  * Object representing an object and/or a record in the OpenAPI Specification.
6
7
  *
@@ -171,5 +172,25 @@ class OasObject {
171
172
  resolveOnce() {
172
173
  return this;
173
174
  }
175
+ toJsonSchema(options) {
176
+ return {
177
+ type: 'object',
178
+ title: this.title,
179
+ description: this.description,
180
+ nullable: this.nullable,
181
+ example: this.example,
182
+ properties: Object.fromEntries(Object.entries(this.properties ?? {})
183
+ .filter(([_key, value]) => value.type !== 'custom')
184
+ .map(([key, value]) => [
185
+ key,
186
+ value.toJsonSchema(options)
187
+ ])),
188
+ required: this.required,
189
+ additionalProperties: (0, ts_pattern_1.match)(this.additionalProperties)
190
+ .with(ts_pattern_1.P.nullish, () => false)
191
+ .with(ts_pattern_1.P.boolean, value => value)
192
+ .otherwise(value => value.toJsonSchema(options))
193
+ };
194
+ }
174
195
  }
175
196
  exports.OasObject = OasObject;
@@ -1,5 +1,5 @@
1
1
  import type { OasRefData } from './ref-types.js';
2
- import type { OasSchema } from '../schema/Schema.js';
2
+ import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
3
3
  import type { OasResponse } from '../response/Response.js';
4
4
  import type { OasParameter } from '../parameter/Parameter.js';
5
5
  import type { OasExample } from '../example/Example.js';
@@ -7,6 +7,7 @@ import type { OasRequestBody } from '../requestBody/RequestBody.js';
7
7
  import type { OasHeader } from '../header/Header.js';
8
8
  import type { OasDocument } from '../document/Document.js';
9
9
  import type { RefName } from '../../types/RefName.js';
10
+ import type { OpenAPIV3 } from 'openapi-types';
10
11
  export type RefFields<T extends OasRefData['refType']> = {
11
12
  refType: T;
12
13
  $ref: string;
@@ -27,6 +28,7 @@ export declare class OasRef<T extends OasRefData['refType']> {
27
28
  get summary(): string | undefined;
28
29
  get description(): string | undefined;
29
30
  get oasDocument(): OasDocument;
31
+ toJsonSchema({ resolve }: ToJsonSchemaOptions): OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
30
32
  }
31
33
  export type OasComponentType = OasSchema | OasResponse | OasParameter | OasExample | OasRequestBody | OasHeader;
32
34
  export type ResolvedRef<T extends OasRefData['refType']> = Extract<OasComponentType, {
@@ -1 +1 @@
1
- {"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/Ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAIrD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,IAAI;IACvD,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,MAAM,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC;;IACjD,OAAO,EAAE,KAAK,CAAQ;IACtB,IAAI,EAAE,KAAK,CAAQ;gBAIP,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW;IAK1D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,gBAAgB,GAAE,MAAU,GAAG,WAAW,CAAC,CAAC,CAAC;IAUrD,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAqCzC,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAEnC;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;CACF;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,GACV,cAAc,GACd,SAAS,CAAA;AAEb,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/Ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAI9C,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,IAAI;IACvD,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,MAAM,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC;;IACjD,OAAO,EAAE,KAAK,CAAQ;IACtB,IAAI,EAAE,KAAK,CAAQ;gBAIP,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW;IAK1D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,gBAAgB,GAAE,MAAU,GAAG,WAAW,CAAC,CAAC,CAAC;IAUrD,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAqCzC,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAEnC;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,YAAY,CAAC,EACX,OAAO,EACR,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe;CAa5E;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,GACV,cAAc,GACd,SAAS,CAAA;AAEb,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC,CAAA"}
@@ -90,6 +90,17 @@ class OasRef {
90
90
  get oasDocument() {
91
91
  return __classPrivateFieldGet(this, _OasRef_oasDocument, "f");
92
92
  }
93
+ toJsonSchema({ resolve }) {
94
+ const resolved = this.resolve();
95
+ if (!('toJsonSchema' in resolved) || typeof resolved.toJsonSchema !== 'function') {
96
+ throw new Error('Cannot convert non-schema ref to JSON Schema');
97
+ }
98
+ return resolve
99
+ ? resolved.toJsonSchema({ resolve })
100
+ : {
101
+ $ref: `#/components/schemas/${this.toRefName()}`
102
+ };
103
+ }
93
104
  }
94
105
  exports.OasRef = OasRef;
95
106
  _OasRef_fields = new WeakMap(), _OasRef_oasDocument = new WeakMap();
@@ -8,4 +8,7 @@ import type { OasUnknown } from '../unknown/Unknown.js';
8
8
  import type { OasUnion } from '../union/Union.js';
9
9
  import type { OasIntersection } from '../intersection/Intersection.js';
10
10
  export type OasSchema = OasArray | OasBoolean | OasInteger | OasNumber | OasObject | OasString | OasUnknown | OasUnion | OasIntersection;
11
+ export type ToJsonSchemaOptions = {
12
+ resolve: boolean;
13
+ };
11
14
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,eAAe,CAAA"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,eAAe,CAAA;AAEnB,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import type { OasRef } from '../ref/Ref.js';
2
+ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
3
+ import type { OpenAPIV3 } from 'openapi-types';
2
4
  export type StringFields = {
3
5
  title?: string;
4
6
  description?: string;
@@ -59,5 +61,6 @@ export declare class OasString {
59
61
  isRef(): this is OasRef<'schema'>;
60
62
  resolve(): OasString;
61
63
  resolveOnce(): OasString;
64
+ toJsonSchema(options?: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
62
65
  }
63
66
  //# sourceMappingURL=String.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,gCAAgC;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,YAAY;IAgBhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
1
+ {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,gCAAgC;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,YAAY;IAgBhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;IAKxB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CAapE"}
@@ -124,5 +124,19 @@ class OasString {
124
124
  resolveOnce() {
125
125
  return this;
126
126
  }
127
+ // deno-lint-ignore no-unused-vars
128
+ toJsonSchema(options) {
129
+ return {
130
+ type: 'string',
131
+ title: this.title,
132
+ description: this.description,
133
+ nullable: this.nullable,
134
+ example: this.example,
135
+ format: this.format,
136
+ enum: this.enums,
137
+ maxLength: this.maxLength,
138
+ minLength: this.minLength
139
+ };
140
+ }
127
141
  }
128
142
  exports.OasString = OasString;
@@ -1,6 +1,8 @@
1
1
  import type { OasDiscriminator } from '../discriminator/Discriminator.js';
2
2
  import type { OasSchema } from '../schema/Schema.js';
3
3
  import type { OasRef } from '../ref/Ref.js';
4
+ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
5
+ import type { OpenAPIV3 } from 'openapi-types';
4
6
  export type UnionFields = {
5
7
  title?: string;
6
8
  description?: string;
@@ -59,5 +61,6 @@ export declare class OasUnion {
59
61
  isRef(): this is OasRef<'schema'>;
60
62
  resolve(): OasUnion;
61
63
  resolveOnce(): OasUnion;
64
+ toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
62
65
  }
63
66
  //# sourceMappingURL=Union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACnB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,UAAmB;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAEzC,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEL,MAAM,EAAE,WAAW;IAU/B,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,QAAQ;IAInB,WAAW,IAAI,QAAQ;CAGxB"}
1
+ {"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACnB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,UAAmB;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAEzC,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEL,MAAM,EAAE,WAAW;IAU/B,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,QAAQ;IAInB,WAAW,IAAI,QAAQ;IAIvB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CASnE"}
@@ -109,5 +109,14 @@ class OasUnion {
109
109
  resolveOnce() {
110
110
  return this;
111
111
  }
112
+ toJsonSchema(options) {
113
+ return {
114
+ title: this.title,
115
+ description: this.description,
116
+ nullable: this.nullable,
117
+ example: this.example,
118
+ oneOf: this.members.map(member => member.toJsonSchema(options))
119
+ };
120
+ }
112
121
  }
113
122
  exports.OasUnion = OasUnion;
@@ -1,4 +1,6 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
1
2
  import type { OasRef } from '../ref/Ref.js';
3
+ import type { ToJsonSchemaOptions } from '../schema/Schema.js';
2
4
  export type UnknownFields = {
3
5
  title?: string;
4
6
  description?: string;
@@ -38,5 +40,6 @@ export declare class OasUnknown {
38
40
  isRef(): this is OasRef<'schema'>;
39
41
  resolve(): OasUnknown;
40
42
  resolveOnce(): OasUnknown;
43
+ toJsonSchema(_options?: ToJsonSchemaOptions): OpenAPIV3.SchemaObject;
41
44
  }
42
45
  //# sourceMappingURL=Unknown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,aAAa;IAOjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;CAG1B"}
1
+ {"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEhB,MAAM,EAAE,aAAa;IAOjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAIzB,YAAY,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC,YAAY;CAOrE"}
@@ -75,5 +75,12 @@ class OasUnknown {
75
75
  resolveOnce() {
76
76
  return this;
77
77
  }
78
+ toJsonSchema(_options) {
79
+ return {
80
+ title: this.title,
81
+ description: this.description,
82
+ example: this.example
83
+ };
84
+ }
78
85
  }
79
86
  exports.OasUnknown = OasUnknown;
@@ -0,0 +1,15 @@
1
+ import type { OasDocument } from '../oas/document/Document.js';
2
+ import type { ClientSettings, ClientGeneratorSettings } from '../types/Settings.js';
3
+ import type { OperationInsertable, OperationGateway } from '../dsl/operation/OperationInsertable.js';
4
+ import type { ModelInsertable } from '../dsl/model/ModelInsertable.js';
5
+ import type { GeneratedValue } from '../types/GeneratedValue.js';
6
+ type GeneratorsType = (OperationGateway | OperationInsertable<GeneratedValue> | ModelInsertable<GeneratedValue>)[];
7
+ type ToSettingsArgs = {
8
+ generators: GeneratorsType;
9
+ clientSettings: ClientSettings | undefined;
10
+ defaultSelected: boolean;
11
+ oasDocument: OasDocument;
12
+ };
13
+ export declare const toSettings: ({ generators, clientSettings, defaultSelected, oasDocument }: ToSettingsArgs) => ClientGeneratorSettings[];
14
+ export {};
15
+ //# sourceMappingURL=toSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toSettings.d.ts","sourceRoot":"","sources":["../../src/run/toSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE,KAAK,cAAc,GAAG,CAClB,gBAAgB,GAChB,mBAAmB,CAAC,cAAc,CAAC,GACnC,eAAe,CAAC,cAAc,CAAC,CAClC,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,cAAc,CAAA;IAC1B,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,UAAU,iEAKpB,cAAc,8BA4DhB,CAAA"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSettings = void 0;
4
+ const ts_pattern_1 = require("ts-pattern");
5
+ const toSettings = ({ generators, clientSettings, defaultSelected, oasDocument }) => {
6
+ const generatorsSettings = generators.map(generator => {
7
+ const generatorSettings = clientSettings?.generators.find(({ id }) => id === generator.id);
8
+ const generatorType = generator.type;
9
+ return (0, ts_pattern_1.match)(generatorType)
10
+ .with('operation', () => {
11
+ if (!generatorSettings) {
12
+ return {
13
+ id: generator.id,
14
+ operations: toOperations({
15
+ generator: generator,
16
+ oasDocument,
17
+ defaultSelected,
18
+ operationsSettings: undefined
19
+ })
20
+ };
21
+ }
22
+ return {
23
+ ...generatorSettings,
24
+ id: generator.id,
25
+ operations: toOperations({
26
+ generator: generator,
27
+ oasDocument,
28
+ defaultSelected,
29
+ operationsSettings: 'operations' in generatorSettings ? generatorSettings.operations : undefined
30
+ })
31
+ };
32
+ })
33
+ .with('model', () => {
34
+ if (!generatorSettings) {
35
+ return {
36
+ id: generator.id,
37
+ models: toModels({
38
+ oasDocument,
39
+ defaultSelected,
40
+ modelsSettings: undefined
41
+ })
42
+ };
43
+ }
44
+ return {
45
+ ...generatorSettings,
46
+ id: generator.id,
47
+ models: toModels({
48
+ oasDocument,
49
+ defaultSelected,
50
+ modelsSettings: 'models' in generatorSettings ? generatorSettings.models : undefined
51
+ })
52
+ };
53
+ })
54
+ .otherwise(matched => {
55
+ throw new Error(`Invalid generator type: '${matched}' for ${generator.id}`);
56
+ });
57
+ });
58
+ return generatorsSettings;
59
+ };
60
+ exports.toSettings = toSettings;
61
+ const toModels = ({ defaultSelected, oasDocument, modelsSettings }) => {
62
+ return Object.fromEntries(Object.keys(oasDocument.components?.schemas ?? {}).map(refName => [
63
+ refName,
64
+ modelsSettings?.[refName] ? modelsSettings?.[refName] : defaultSelected
65
+ ]));
66
+ };
67
+ const toOperations = ({ generator, oasDocument, operationsSettings, defaultSelected }) => {
68
+ return Object.values(oasDocument.operations)
69
+ .filter(operation => generator.isSupported(operation))
70
+ .reduce((acc, operation) => {
71
+ const { path, method } = operation;
72
+ acc[path] = acc[path] ?? {};
73
+ acc[path][method] = operationsSettings?.[path]?.[method]
74
+ ? operationsSettings?.[path]?.[method]
75
+ : defaultSelected;
76
+ return acc;
77
+ }, {});
78
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/run/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CACnB,MAAM,EACN,gBAAgB,GAAG,mBAAmB,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CACzF,CAAA;IACD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,SAAS,sFASnB,aAAa;;;CAwBf,CAAA"}
@@ -0,0 +1,57 @@
1
+ import "../_dnt.polyfills.js";
2
+ export type EnrichmentRequest = {
3
+ prompt: string;
4
+ responseSchema: EnrichmentResponseSchema;
5
+ content: string;
6
+ };
7
+ /**
8
+ * Contains the list of OpenAPI data types
9
+ * as defined by https://swagger.io/docs/specification/data-models/data-types/
10
+ * @public
11
+ */
12
+ export declare enum EnrichmentResponseSchemaType {
13
+ /** String type. */
14
+ STRING = "string",
15
+ /** Number type. */
16
+ NUMBER = "number",
17
+ /** Integer type. */
18
+ INTEGER = "integer",
19
+ /** Boolean type. */
20
+ BOOLEAN = "boolean",
21
+ /** Array type. */
22
+ ARRAY = "array",
23
+ /** Object type. */
24
+ OBJECT = "object"
25
+ }
26
+ /**
27
+ * Schema is used to define the format of input/output data.
28
+ * Represents a select subset of an OpenAPI 3.0 schema object.
29
+ * More fields may be added in the future as needed.
30
+ * @public
31
+ */
32
+ export declare interface EnrichmentResponseSchema {
33
+ /**
34
+ * Optional. The type of the property. {@link
35
+ * SchemaType}.
36
+ */
37
+ type?: EnrichmentResponseSchemaType;
38
+ /** Optional. The format of the property. */
39
+ format?: string;
40
+ /** Optional. The description of the property. */
41
+ description?: string;
42
+ /** Optional. Whether the property is nullable. */
43
+ nullable?: boolean;
44
+ /** Optional. The items of the property. */
45
+ items?: EnrichmentResponseSchema;
46
+ /** Optional. The enum of the property. */
47
+ enum?: string[];
48
+ /** Optional. Map of {@link Schema}. */
49
+ properties?: {
50
+ [k: string]: EnrichmentResponseSchema;
51
+ };
52
+ /** Optional. Array of required property. */
53
+ required?: string[];
54
+ /** Optional. The example of the property. */
55
+ example?: unknown;
56
+ }
57
+ //# sourceMappingURL=EnrichmentRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnrichmentRequest.d.ts","sourceRoot":"","sources":["../../src/types/EnrichmentRequest.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,wBAAwB,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,MAAM,4BAA4B;IAC9C,mBAAmB;IACnB,MAAM,WAAW;IACjB,mBAAmB;IACnB,MAAM,WAAW;IACjB,oBAAoB;IACpB,OAAO,YAAY;IACnB,oBAAoB;IACpB,OAAO,YAAY;IACnB,kBAAkB;IAClB,KAAK,UAAU;IACf,mBAAmB;IACnB,MAAM,WAAW;CAClB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,4BAA4B,CAAA;IACnC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,uCAAuC;IACvC,UAAU,CAAC,EAAE;QACX,CAAC,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAA;KACtC,CAAA;IACD,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("../_dnt.polyfills.js");