@sdk-it/typescript 0.20.0 → 0.21.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;yBAExB,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK;AAA5D,wBAsIE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;yBAExB,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK;AAA5D,wBAyIE"}
@@ -3,7 +3,7 @@ type OnRefCallback = (ref: string, interfaceContent: string) => void;
3
3
  /**
4
4
  * Convert an OpenAPI (JSON Schema style) object into TypeScript interfaces,
5
5
  */
6
- export declare class TypeScriptDeserialzer {
6
+ export declare class TypeScriptEmitter {
7
7
  #private;
8
8
  generatedRefs: Set<string>;
9
9
  constructor(spec: OpenAPIObject, onRef: OnRefCallback);
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/lib/emitters/interface.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,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;AAErE;;GAEG;AACH,qBAAa,qBAAqB;;IAChC,aAAa,cAAqB;gBAItB,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAYrD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAwBtD;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAkBrD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAsBpE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAgB5C,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,MAAM;IAM1D,KAAK,CACH,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAC3C,QAAQ,EAAE,OAAO,GAChB,MAAM;IAST,KAAK,CACH,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAC3C,QAAQ,EAAE,OAAO,GAChB,MAAM;IAUT,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAQ9C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IA2BxD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAKxD,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;CAiE1E"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/lib/emitters/interface.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,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;AAErE;;GAEG;AACH,qBAAa,iBAAiB;;IAC5B,aAAa,cAAqB;gBAItB,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAYrD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAwBtD;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAkBrD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAsBpE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAgB5C,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,MAAM;IAM1D,KAAK,CACH,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAC3C,QAAQ,EAAE,OAAO,GAChB,MAAM;IAST,KAAK,CACH,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAC3C,QAAQ,EAAE,OAAO,GAChB,MAAM;IAUT,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAQ9C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IA2BxD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM;IAKxD,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;CAiE1E"}
@@ -0,0 +1,24 @@
1
+ import type { OpenAPIObject, ReferenceObject, SchemaObject } from 'openapi3-ts/oas31';
2
+ /**
3
+ * Generate example values for OpenAPI schemas
4
+ * This emitter creates sample input payloads for API documentation and code snippets
5
+ */
6
+ export declare class SnippetEmitter {
7
+ private spec;
8
+ generatedRefs: Set<string>;
9
+ private cache;
10
+ constructor(spec: OpenAPIObject);
11
+ object(schema: SchemaObject | ReferenceObject): Record<string, unknown>;
12
+ array(schema: SchemaObject | ReferenceObject): unknown[];
13
+ string(schema: SchemaObject): string;
14
+ number(schema: SchemaObject): number;
15
+ boolean(schema: SchemaObject): boolean;
16
+ null(): null;
17
+ ref($ref: string): unknown;
18
+ allOf(schemas: (SchemaObject | ReferenceObject)[]): unknown;
19
+ anyOf(schemas: (SchemaObject | ReferenceObject)[]): unknown;
20
+ oneOf(schemas: (SchemaObject | ReferenceObject)[]): unknown;
21
+ enum(schema: SchemaObject): unknown;
22
+ handle(schemaOrRef: SchemaObject | ReferenceObject): unknown;
23
+ }
24
+ //# sourceMappingURL=snippet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet.d.ts","sourceRoot":"","sources":["../../../src/lib/emitters/snippet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAI3B;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAgB;IACrB,aAAa,cAAqB;IACzC,OAAO,CAAC,KAAK,CAA8B;gBAE/B,IAAI,EAAE,aAAa;IAIxB,MAAM,CACX,MAAM,EAAE,YAAY,GAAG,eAAe,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAmCnB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,OAAO,EAAE;IAmBxD,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAoCpC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAgCpC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAMtC,IAAI,IAAI,IAAI;IAIZ,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAiB1B,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,OAAO;IAW3D,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,OAAO;IAK3D,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,OAAO;IAK3D,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAMnC,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe,GAAG,OAAO;CAiEpE"}
@@ -4,7 +4,7 @@ type OnRefCallback = (ref: string, content: string) => void;
4
4
  * Convert an OpenAPI (JSON Schema style) object into a Zod schema string,
5
5
  * adapted for OpenAPI 3.1 (fully aligned with JSON Schema 2020-12).
6
6
  */
7
- export declare class ZodDeserialzer {
7
+ export declare class ZodEmitter {
8
8
  #private;
9
9
  generatedRefs: Set<string>;
10
10
  constructor(spec: OpenAPIObject, onRef?: OnRefCallback);
@@ -1 +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,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5D;;;GAGG;AACH,qBAAa,cAAc;;IACzB,aAAa,cAAqB;gBAItB,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa;IAItD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAwBpC;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAiCrD;;;OAGG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,QAAQ,UAAQ,EAChB,QAAQ,UAAQ,GACf,MAAM;IAyBT,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAcnC,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO;IAmBpE,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;IAQpE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAYhC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IA6DpC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY;;;;IAmD3B,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;CAiE1E"}
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,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5D;;;GAGG;AACH,qBAAa,UAAU;;IACrB,aAAa,cAAqB;gBAItB,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa;IAItD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAwBpC;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,MAAM;IAiCrD;;;OAGG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,QAAQ,UAAQ,EAChB,QAAQ,UAAQ,GACf,MAAM;IAyBT,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAcnC,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO;IAmBpE,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;IAQpE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAYhC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IA6DpC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY;;;;IAmD3B,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;CAiE1E"}
@@ -1,20 +1,8 @@
1
- import { npmRunPathEnv } from 'npm-run-path';
2
1
  import type { OpenAPIObject } from 'openapi3-ts/oas31';
3
- import type { Style } from './style.ts';
4
- export declare function generate(spec: OpenAPIObject, settings: {
5
- readme?: boolean;
6
- style?: Style;
7
- output: string;
8
- useTsExtension?: boolean;
9
- name?: string;
10
- /**
11
- * full: generate a full project including package.json and tsconfig.json. useful for monorepo/workspaces
12
- * minimal: generate only the client sdk
13
- */
14
- mode?: 'full' | 'minimal';
15
- formatCode?: (options: {
16
- output: string;
17
- env: ReturnType<typeof npmRunPathEnv>;
18
- }) => void | Promise<void>;
19
- }): Promise<void>;
2
+ import type { TypeScriptGeneratorOptions } from './options.ts';
3
+ export declare function generate(spec: OpenAPIObject, settings: TypeScriptGeneratorOptions): Promise<void>;
4
+ export declare function readJson(path: string): Promise<{
5
+ content: any;
6
+ write: (value?: Record<string, any>) => Promise<void>;
7
+ }>;
20
8
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/lib/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAoBvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA0BxC,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,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,iBAkLF"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/lib/generate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAuBvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AA2C/D,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,0BAA0B,iBAmRrC;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM;;oBAMxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;GAGrC"}
@@ -1,5 +1,6 @@
1
1
  import { type GenerateSdkConfig } from '@sdk-it/spec/operation.js';
2
2
  import { type Operation } from './sdk.ts';
3
+ import type { Style } from './style.ts';
3
4
  export interface NamedImport {
4
5
  name: string;
5
6
  alias?: string;
@@ -17,10 +18,7 @@ export declare function generateCode(config: GenerateSdkConfig & {
17
18
  * No support for jsdoc in vscode
18
19
  * @issue https://github.com/microsoft/TypeScript/issues/38106
19
20
  */
20
- style?: {
21
- name?: 'github';
22
- outputType?: 'default' | 'status';
23
- };
21
+ style: Style;
24
22
  makeImport: (module: string) => string;
25
23
  }): {
26
24
  groups: Record<string, Operation[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/lib/generator.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,UAAU,CAAC;AASlB,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;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,GAAG;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;IAC/D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;;;;;;EA6RF"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/lib/generator.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASxC,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;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,iBAAiB,GAAG;IAC1B;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;;;;;;EA+RF"}
@@ -0,0 +1,27 @@
1
+ import { npmRunPathEnv } from 'npm-run-path';
2
+ import { type ReadFolderFn, type Writer } from '@sdk-it/core/file-system.js';
3
+ import type { Style } from './style.ts';
4
+ export interface TypeScriptGeneratorOptions {
5
+ readme?: boolean;
6
+ style?: Style;
7
+ output: string;
8
+ useTsExtension?: boolean;
9
+ name?: string;
10
+ writer?: Writer;
11
+ readFolder?: ReadFolderFn;
12
+ /**
13
+ * full: generate a full project including package.json and tsconfig.json. useful for monorepo/workspaces
14
+ * minimal: generate only the client sdk
15
+ */
16
+ mode?: 'full' | 'minimal';
17
+ formatCode?: (options: {
18
+ output: string;
19
+ env: ReturnType<typeof npmRunPathEnv>;
20
+ }) => void | Promise<void>;
21
+ /**
22
+ * Whether to remove files that were previously generated but no longer needed
23
+ * @default true
24
+ */
25
+ cleanup?: boolean;
26
+ }
27
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/lib/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;;;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;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
package/dist/lib/sdk.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import type { OpenAPIObject, OperationObject } from 'openapi3-ts/oas31';
1
+ import type { OpenAPIObject } from 'openapi3-ts/oas31';
2
+ import type { TunedOperationObject } from '@sdk-it/spec/operation.js';
3
+ import type { Style } from './style.ts';
2
4
  import { type Import, type MakeImportFn } from './utils.ts';
3
5
  export type Parser = 'chunked' | 'buffered';
4
6
  export interface SdkConfig {
@@ -37,8 +39,9 @@ export interface Operation {
37
39
  outgoingContentType?: string;
38
40
  }
39
41
  export declare function generateInputs(operationsSet: Spec['operations'], commonZod: Map<string, string>, makeImport: MakeImportFn): any;
40
- export declare function toEndpoint(groupName: string, spec: OpenAPIObject, specOperation: OperationObject, operation: Operation, utils: {
42
+ export declare function toEndpoint(groupName: string, spec: OpenAPIObject, specOperation: TunedOperationObject, operation: Operation, utils: {
41
43
  makeImport: MakeImportFn;
44
+ style?: Style;
42
45
  }): {
43
46
  responses: {
44
47
  schemas: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAGhB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAC1B,MAAM,EACN;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AACF,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAC5B,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,EACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,UAAU,EAAE,YAAY,OAyDzB;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,UAAU,EAAE,YAAY,CAAC;CAC1B;;;;;;kBA+HwB,MAAM;oBAAU,MAAM;0BAAgB,MAAM;;;;;EA5CtE"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,mBAAmB,CAAC;AAIvE,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAC1B,MAAM,EACN;IACE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AACF,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAC5B,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,EACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,UAAU,EAAE,YAAY,OAyDzB;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,oBAAoB,EACnC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,UAAU,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;;;;;;kBA2PwB,MAAM;oBAAU,MAAM;0BAAgB,MAAM;;;;;EA3JtE"}
@@ -1,6 +1,7 @@
1
+ export type OutputStyle = 'default' | 'status';
1
2
  export type Style = {
2
3
  name?: 'github';
3
- outputType?: 'default' | 'status';
4
+ outputType?: OutputStyle;
4
5
  errorAsValue?: boolean;
5
6
  };
6
7
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/lib/style.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/lib/style.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { OpenAPIObject } from 'openapi3-ts/oas31';
2
+ import { type OperationEntry, type TunedOperationObject } from '@sdk-it/spec/operation.js';
3
+ import type { TypeScriptGeneratorOptions } from './options.ts';
4
+ export declare class TypeScriptGenerator {
5
+ #private;
6
+ constructor(spec: OpenAPIObject, settings: TypeScriptGeneratorOptions);
7
+ succinct(entry: OperationEntry, operation: TunedOperationObject, values: {
8
+ requestBody?: Record<string, unknown>;
9
+ pathParameters?: Record<string, unknown>;
10
+ queryParameters?: Record<string, unknown>;
11
+ headers?: Record<string, unknown>;
12
+ cookies?: Record<string, unknown>;
13
+ }): string;
14
+ snippet(entry: OperationEntry, operation: TunedOperationObject): string;
15
+ client(): string;
16
+ }
17
+ //# sourceMappingURL=typescript-snippet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-snippet.d.ts","sourceRoot":"","sources":["../../src/lib/typescript-snippet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,mBAAmB,CAAC;AAIrE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,qBAAa,mBAAmB;;gBAMlB,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAA0B;IAarE,QAAQ,CACN,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC;IA4DH,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB;IAa9D,MAAM;CAOP"}
@@ -1,6 +1,6 @@
1
- import type { ComponentsObject, SecurityRequirementObject } from 'openapi3-ts/oas31';
1
+ import type { ComponentsObject, OpenAPIObject, SecurityRequirementObject } from 'openapi3-ts/oas31';
2
2
  import { type Options } from './sdk.ts';
3
- export declare function securityToOptions(security: SecurityRequirementObject[], securitySchemes: ComponentsObject['securitySchemes'], staticIn?: string): Options;
3
+ export declare function securityToOptions(spec: OpenAPIObject, security: SecurityRequirementObject[], securitySchemes: ComponentsObject['securitySchemes'], staticIn?: string): Options;
4
4
  export declare function mergeImports(...imports: Import[]): Import[];
5
5
  export interface Import {
6
6
  isTypeOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,yBAAyB,EAAE,EACrC,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,WAsClB;AAED,wBAAgB,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,YAsBhD;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,YAenD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEvD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,YAe/D;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,yBAAyB,EAAE,EACrC,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,WAsClB;AAED,wBAAgB,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,YAsBhD;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,YAenD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEvD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,YAe/D;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdk-it/typescript",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -21,12 +21,13 @@
21
21
  "!**/*.tsbuildinfo"
22
22
  ],
23
23
  "dependencies": {
24
- "@sdk-it/core": "0.20.0",
24
+ "@sdk-it/core": "0.21.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
29
  "rxjs": "^7.8.2",
30
- "@sdk-it/spec": "0.20.0"
30
+ "@sdk-it/spec": "0.21.0",
31
+ "@sdk-it/readme": "0.21.0"
31
32
  }
32
33
  }
@@ -1,19 +0,0 @@
1
- import type { OpenAPIObject, ReferenceObject, RequestBodyObject, SchemaObject } from 'openapi3-ts/oas31';
2
- /**
3
- * PropEmitter handles converting OpenAPI schemas to Markdown documentation
4
- * Similar structure to ZodDeserializer but for generating markdown props documentation
5
- */
6
- export declare class PropEmitter {
7
- #private;
8
- constructor(spec: OpenAPIObject);
9
- /**
10
- * Handle schemas by resolving references and delegating to appropriate handler
11
- */
12
- handle(schemaOrRef: SchemaObject | ReferenceObject): string[];
13
- /**
14
- * Process a request body and return markdown documentation
15
- */
16
- requestBody(requestBody?: RequestBodyObject | ReferenceObject): string[];
17
- }
18
- export declare function toReadme(spec: OpenAPIObject): string;
19
- //# sourceMappingURL=readme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readme.d.ts","sourceRoot":"","sources":["../../src/lib/readme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B;;;GAGG;AACH,qBAAa,WAAW;;gBAGV,IAAI,EAAE,aAAa;IAqO/B;;OAEG;IACI,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,eAAe,GAAG,MAAM,EAAE;IAsEpE;;OAEG;IACH,WAAW,CAAC,WAAW,CAAC,EAAE,iBAAiB,GAAG,eAAe,GAAG,MAAM,EAAE;CAiCzE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,UAgC3C"}