@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,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"}
@@ -97,4 +97,16 @@ export class OasInteger {
97
97
  resolveOnce() {
98
98
  return this;
99
99
  }
100
+ // deno-lint-ignore no-unused-vars
101
+ toJsonSchema(options) {
102
+ return {
103
+ type: 'integer',
104
+ title: this.title,
105
+ description: this.description,
106
+ nullable: this.nullable,
107
+ format: this.format,
108
+ enum: this.enums,
109
+ example: this.example
110
+ };
111
+ }
100
112
  }
@@ -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"}
@@ -71,4 +71,13 @@ export class OasIntersection {
71
71
  resolveOnce() {
72
72
  return this;
73
73
  }
74
+ toJsonSchema(options) {
75
+ return {
76
+ allOf: this.members.map(member => member.toJsonSchema(options)),
77
+ title: this.title,
78
+ description: this.description,
79
+ nullable: this.nullable,
80
+ example: this.example
81
+ };
82
+ }
74
83
  }
@@ -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"}
@@ -80,4 +80,14 @@ export class OasNumber {
80
80
  resolveOnce() {
81
81
  return this;
82
82
  }
83
+ // deno-lint-ignore no-unused-vars
84
+ toJsonSchema(options) {
85
+ return {
86
+ type: 'number',
87
+ title: this.title,
88
+ description: this.description,
89
+ nullable: this.nullable,
90
+ example: this.example
91
+ };
92
+ }
83
93
  }
@@ -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,3 +1,4 @@
1
+ import { match, P } from 'ts-pattern';
1
2
  /**
2
3
  * Object representing an object and/or a record in the OpenAPI Specification.
3
4
  *
@@ -168,4 +169,24 @@ export class OasObject {
168
169
  resolveOnce() {
169
170
  return this;
170
171
  }
172
+ toJsonSchema(options) {
173
+ return {
174
+ type: 'object',
175
+ title: this.title,
176
+ description: this.description,
177
+ nullable: this.nullable,
178
+ example: this.example,
179
+ properties: Object.fromEntries(Object.entries(this.properties ?? {})
180
+ .filter(([_key, value]) => value.type !== 'custom')
181
+ .map(([key, value]) => [
182
+ key,
183
+ value.toJsonSchema(options)
184
+ ])),
185
+ required: this.required,
186
+ additionalProperties: match(this.additionalProperties)
187
+ .with(P.nullish, () => false)
188
+ .with(P.boolean, value => value)
189
+ .otherwise(value => value.toJsonSchema(options))
190
+ };
191
+ }
171
192
  }
@@ -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"}
@@ -87,5 +87,16 @@ export class OasRef {
87
87
  get oasDocument() {
88
88
  return __classPrivateFieldGet(this, _OasRef_oasDocument, "f");
89
89
  }
90
+ toJsonSchema({ resolve }) {
91
+ const resolved = this.resolve();
92
+ if (!('toJsonSchema' in resolved) || typeof resolved.toJsonSchema !== 'function') {
93
+ throw new Error('Cannot convert non-schema ref to JSON Schema');
94
+ }
95
+ return resolve
96
+ ? resolved.toJsonSchema({ resolve })
97
+ : {
98
+ $ref: `#/components/schemas/${this.toRefName()}`
99
+ };
100
+ }
90
101
  }
91
102
  _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"}
@@ -121,4 +121,18 @@ export class OasString {
121
121
  resolveOnce() {
122
122
  return this;
123
123
  }
124
+ // deno-lint-ignore no-unused-vars
125
+ toJsonSchema(options) {
126
+ return {
127
+ type: 'string',
128
+ title: this.title,
129
+ description: this.description,
130
+ nullable: this.nullable,
131
+ example: this.example,
132
+ format: this.format,
133
+ enum: this.enums,
134
+ maxLength: this.maxLength,
135
+ minLength: this.minLength
136
+ };
137
+ }
124
138
  }
@@ -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"}
@@ -106,4 +106,13 @@ export class OasUnion {
106
106
  resolveOnce() {
107
107
  return this;
108
108
  }
109
+ toJsonSchema(options) {
110
+ return {
111
+ title: this.title,
112
+ description: this.description,
113
+ nullable: this.nullable,
114
+ example: this.example,
115
+ oneOf: this.members.map(member => member.toJsonSchema(options))
116
+ };
117
+ }
109
118
  }
@@ -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"}
@@ -72,4 +72,11 @@ export class OasUnknown {
72
72
  resolveOnce() {
73
73
  return this;
74
74
  }
75
+ toJsonSchema(_options) {
76
+ return {
77
+ title: this.title,
78
+ description: this.description,
79
+ example: this.example
80
+ };
81
+ }
75
82
  }
@@ -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,74 @@
1
+ import { match } from 'ts-pattern';
2
+ export const toSettings = ({ generators, clientSettings, defaultSelected, oasDocument }) => {
3
+ const generatorsSettings = generators.map(generator => {
4
+ const generatorSettings = clientSettings?.generators.find(({ id }) => id === generator.id);
5
+ const generatorType = generator.type;
6
+ return match(generatorType)
7
+ .with('operation', () => {
8
+ if (!generatorSettings) {
9
+ return {
10
+ id: generator.id,
11
+ operations: toOperations({
12
+ generator: generator,
13
+ oasDocument,
14
+ defaultSelected,
15
+ operationsSettings: undefined
16
+ })
17
+ };
18
+ }
19
+ return {
20
+ ...generatorSettings,
21
+ id: generator.id,
22
+ operations: toOperations({
23
+ generator: generator,
24
+ oasDocument,
25
+ defaultSelected,
26
+ operationsSettings: 'operations' in generatorSettings ? generatorSettings.operations : undefined
27
+ })
28
+ };
29
+ })
30
+ .with('model', () => {
31
+ if (!generatorSettings) {
32
+ return {
33
+ id: generator.id,
34
+ models: toModels({
35
+ oasDocument,
36
+ defaultSelected,
37
+ modelsSettings: undefined
38
+ })
39
+ };
40
+ }
41
+ return {
42
+ ...generatorSettings,
43
+ id: generator.id,
44
+ models: toModels({
45
+ oasDocument,
46
+ defaultSelected,
47
+ modelsSettings: 'models' in generatorSettings ? generatorSettings.models : undefined
48
+ })
49
+ };
50
+ })
51
+ .otherwise(matched => {
52
+ throw new Error(`Invalid generator type: '${matched}' for ${generator.id}`);
53
+ });
54
+ });
55
+ return generatorsSettings;
56
+ };
57
+ const toModels = ({ defaultSelected, oasDocument, modelsSettings }) => {
58
+ return Object.fromEntries(Object.keys(oasDocument.components?.schemas ?? {}).map(refName => [
59
+ refName,
60
+ modelsSettings?.[refName] ? modelsSettings?.[refName] : defaultSelected
61
+ ]));
62
+ };
63
+ const toOperations = ({ generator, oasDocument, operationsSettings, defaultSelected }) => {
64
+ return Object.values(oasDocument.operations)
65
+ .filter(operation => generator.isSupported(operation))
66
+ .reduce((acc, operation) => {
67
+ const { path, method } = operation;
68
+ acc[path] = acc[path] ?? {};
69
+ acc[path][method] = operationsSettings?.[path]?.[method]
70
+ ? operationsSettings?.[path]?.[method]
71
+ : defaultSelected;
72
+ return acc;
73
+ }, {});
74
+ };
@@ -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 @@
1
+ import "../_dnt.polyfills.js";