@sdk-it/typescript 0.6.0 → 0.8.0

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.
@@ -0,0 +1,10 @@
1
+ import type { OpenAPIObject, ReferenceObject, SchemaObject } from 'openapi3-ts/oas31';
2
+ export declare function followRef(spec: OpenAPIObject, ref: string): SchemaObject | ReferenceObject;
3
+ type OnRefCallback = (ref: string, zod: string) => void;
4
+ /**
5
+ * Convert an OpenAPI (JSON Schema style) object into a Zod schema string,
6
+ * adapted for OpenAPI 3.1 (fully aligned with JSON Schema 2020-12).
7
+ */
8
+ export declare function jsonSchemaToZod(spec: OpenAPIObject, schema: SchemaObject | ReferenceObject, required: boolean | undefined, onRef: OnRefCallback, circularRefTracker?: Set<string>): string;
9
+ export {};
10
+ //# sourceMappingURL=json-zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-zod.d.ts","sourceRoot":"","sources":["../../../src/lib/emitters/json-zod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAe3B,wBAAgB,SAAS,CACvB,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,GACV,YAAY,GAAG,eAAe,CAQhC;AAED,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAExD;;;GAGG;AAEH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,GAAG,eAAe,EACtC,QAAQ,qBAAQ,EAChB,KAAK,EAAE,aAAa,EACpB,kBAAkB,cAAoB,GACrC,MAAM,CAoHR"}
@@ -0,0 +1,43 @@
1
+ import type { OpenAPIObject, ReferenceObject, SchemaObject } from 'openapi3-ts/oas31';
2
+ type OnRefCallback = (ref: string, zod: string) => void;
3
+ /**
4
+ * Convert an OpenAPI (JSON Schema style) object into a Zod schema string,
5
+ * adapted for OpenAPI 3.1 (fully aligned with JSON Schema 2020-12).
6
+ */
7
+ export declare class ZodDeserialzer {
8
+ #private;
9
+ circularRefTracker: Set<string>;
10
+ constructor(spec: OpenAPIObject, onRef: OnRefCallback);
11
+ /**
12
+ * Handle objects (properties, additionalProperties).
13
+ */
14
+ object(schema: SchemaObject, required?: boolean): string;
15
+ /**
16
+ * Handle arrays (items could be a single schema or a tuple (array of schemas)).
17
+ * In JSON Schema 2020-12, `items` can be an array → tuple style.
18
+ */
19
+ array(schema: SchemaObject, required?: boolean): string;
20
+ /**
21
+ * Convert a basic type (string | number | boolean | object | array, etc.) to Zod.
22
+ * We'll also handle .optional() if needed.
23
+ */
24
+ normal(type: string, schema: SchemaObject, required?: boolean): string;
25
+ ref($ref: string, required: boolean): string;
26
+ allOf(schemas: (SchemaObject | ReferenceObject)[]): string;
27
+ anyOf(schemas: (SchemaObject | ReferenceObject)[], required: boolean): string;
28
+ oneOf(schemas: (SchemaObject | ReferenceObject)[], required: boolean): string;
29
+ enum(values: any[], required: boolean): string;
30
+ /**
31
+ * Handle a `string` schema with possible format keywords (JSON Schema).
32
+ */
33
+ string(schema: SchemaObject, required?: boolean): string;
34
+ /**
35
+ * Handle number/integer constraints from OpenAPI/JSON Schema.
36
+ * In 3.1, exclusiveMinimum/Maximum hold the actual numeric threshold,
37
+ * rather than a boolean toggling `minimum`/`maximum`.
38
+ */
39
+ number(schema: SchemaObject, required?: boolean): string;
40
+ handle(schema: SchemaObject | ReferenceObject, required: boolean): string;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/lib/emitters/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAI3B,KAAK,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAExD;;;GAGG;AACH,qBAAa,cAAc;;IACzB,kBAAkB,cAAqB;gBAI3B,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAIrD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IA2BtD;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IA+BrD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ;IAsB3D,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAanC,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE;IAOjD,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO;IAQpE,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO;IAgBpE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO;IAKrC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAwDxD;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAoDxD,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;CAsD1E"}
@@ -3,6 +3,10 @@ import type { OpenAPIObject } from 'openapi3-ts/oas31';
3
3
  export declare function generate(spec: OpenAPIObject, settings: {
4
4
  output: string;
5
5
  name?: string;
6
+ /**
7
+ * full: generate a full project including. useful for monorepo/workspaces
8
+ * minimal: generate only the client sdk
9
+ */
6
10
  mode?: 'full' | 'minimal';
7
11
  formatCode?: (options: {
8
12
  output: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/lib/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAoCvD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE;IACR,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;KACvC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,iBA8DF"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/lib/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAoCvD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE;IACR,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;KACvC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,iBAoFF"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/lib/generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAIhB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAsBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,CACZ,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;CACb;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC/C,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAYhD,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB;;;;EAqNrD"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/lib/generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAIhB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAsBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,CACZ,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;CACb;AAED,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC/C,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAYhD,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB;;;;EA2MrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/lib/interface.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"readme-generator.d.ts","sourceRoot":"","sources":["../../src/lib/readme-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAUd,MAAM,mBAAmB,CAAC;AAO3B;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAoFR"}
1
+ {"version":3,"file":"readme-generator.d.ts","sourceRoot":"","sources":["../../src/lib/readme-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EASd,MAAM,mBAAmB,CAAC;AAO3B;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB,MAAM,CAoFR"}
@@ -1,5 +1,11 @@
1
- import type { ComponentsObject, ReferenceObject, SecurityRequirementObject } from 'openapi3-ts/oas31';
1
+ import type { ComponentsObject, OpenAPIObject, ReferenceObject, SchemaObject, SecurityRequirementObject } from 'openapi3-ts/oas31';
2
2
  import { type Options } from './sdk.ts';
3
3
  export declare function isRef(obj: any): obj is ReferenceObject;
4
+ export declare function cleanRef(ref: string): string;
5
+ export declare function parseRef(ref: string): {
6
+ model: string;
7
+ path: string;
8
+ };
9
+ export declare function followRef(spec: OpenAPIObject, ref: string): SchemaObject | ReferenceObject;
4
10
  export declare function securityToOptions(security: SecurityRequirementObject[], securitySchemas: ComponentsObject['securitySchemes'], staticIn?: string): Options;
5
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,eAAe,CAEtD;AACD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,yBAAyB,EAAE,EACrC,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,WAiClB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,eAAe,CAEtD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,UAEnC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM;;;EAInC;AACD,wBAAgB,SAAS,CACvB,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,MAAM,GACV,YAAY,GAAG,eAAe,CAOhC;AACD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,yBAAyB,EAAE,EACrC,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,WAiClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdk-it/typescript",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -21,11 +21,12 @@
21
21
  "!**/*.tsbuildinfo"
22
22
  ],
23
23
  "dependencies": {
24
- "@sdk-it/core": "0.6.0",
24
+ "@sdk-it/core": "0.8.0",
25
25
  "openapi3-ts": "^4.4.0",
26
26
  "stringcase": "^4.3.1",
27
27
  "lodash-es": "^4.17.21",
28
28
  "npm-run-path": "6.0.0",
29
- "lodash": "4.17.21"
29
+ "lodash": "4.17.21",
30
+ "rxjs": "^7.8.2"
30
31
  }
31
32
  }