@lovrozagar/honey 0.6.3 → 0.6.5
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.
- package/dist/codegen.d.ts +1 -1
- package/dist/codegen.d.ts.map +1 -1
- package/dist/ts-type-emitter.d.ts +5 -1
- package/dist/ts-type-emitter.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/codegen.ts +15 -9
- package/src/ts-type-emitter.ts +17 -17
package/dist/codegen.d.ts
CHANGED
|
@@ -152,7 +152,7 @@ type SDKMethod = {
|
|
|
152
152
|
export declare function extractOpenApiPathParams(path: string): string[];
|
|
153
153
|
export declare function isSSEOperation(operation: Record<string, unknown>): boolean;
|
|
154
154
|
/** JSON Schema → TypeScript type string (shim — delegates to IR pipeline). */
|
|
155
|
-
export declare function jsonSchemaToTS(schema: Record<string, unknown> | undefined, depth?: number): string;
|
|
155
|
+
export declare function jsonSchemaToTS(schema: Record<string, unknown> | undefined, depth?: number, binary?: string): string;
|
|
156
156
|
export declare function isStandardErrEnvelope(schema: Record<string, unknown>): {
|
|
157
157
|
keys: string[];
|
|
158
158
|
status: number;
|
package/dist/codegen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAEN,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AA8N1D,KAAK,UAAU,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,aAAa,GAAG;IACpB,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC5B,CAAA;AAgHD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAO1E;AA0SD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CA6FjE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CACrC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,GAAG,WAAW,CAkCnG;AAwED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAgDpE;AA2OD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAC1C,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,aAAa,CAyDf;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,EAChE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/D,OAAO,EAAE;IACR,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAA;IAC1D,IAAI,EAAE,WAAW,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC,GACC,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EACxC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoCzC;AAID,KAAK,WAAW,GAAG;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,wHAAwH;IACxH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC7D,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAgUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAE/D;AAUD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAClD,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,MAAM,CAE7E;AAID,KAAK,oBAAoB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAC1F,CAAA;AA0KD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EACvC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EACjE,OAAO,EAAE,oBAAoB,GAC3B,MAAM,CAiNR;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACjD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACzC,CAAA;IACD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAC9D,CAAA;AAED,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAkDzE;AAED,wBAAgB,SAAS,CACxB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,GACC,gBAAgB,CAwClB;AAID,KAAK,YAAY,GAAG;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED,KAAK,iBAAiB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;CAAE,CAAA;AAE3D,KAAK,YAAY,GAAG;IACnB,KAAK,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;KACb,CAAA;IACD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;CACxD,CAAA;AAED,KAAK,SAAS,GAAG;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,OAAO,CAAA;IACZ,EAAE,EAAE,OAAO,CAAA;CACX,CAAA;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAS/D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQ1E;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,KAAK,SAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAEN,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,WAAW,CAAA;AAOvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AA8N1D,KAAK,UAAU,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,aAAa,GAAG;IACpB,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC5B,CAAA;AAgHD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAO1E;AA0SD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CA6FjE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CACrC,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,GAAG,WAAW,CAkCnG;AAwED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAgDpE;AA2OD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAC1C,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,aAAa,CAyDf;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,EAChE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/D,OAAO,EAAE;IACR,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,OAAO,CAAA;IAC1D,IAAI,EAAE,WAAW,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC,GACC,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EACxC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoCzC;AAID,KAAK,WAAW,GAAG;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,wHAAwH;IACxH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAC7D,IAAI,EAAE,MAAM,CAAA;CACZ,CAAA;AAgUD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAE/D;AAUD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAClD,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/D,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,MAAM,CAE7E;AAID,KAAK,oBAAoB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAC1F,CAAA;AA0KD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EACvC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EACjE,OAAO,EAAE,oBAAoB,GAC3B,MAAM,CAiNR;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACjD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACzC,CAAA;IACD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAC9D,CAAA;AAED,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAkDzE;AAED,wBAAgB,SAAS,CACxB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,GACC,gBAAgB,CAwClB;AAID,KAAK,YAAY,GAAG;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED,KAAK,iBAAiB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;CAAE,CAAA;AAE3D,KAAK,YAAY,GAAG;IACnB,KAAK,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;KACb,CAAA;IACD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;CACxD,CAAA;AAED,KAAK,SAAS,GAAG;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,OAAO,CAAA;IACZ,EAAE,EAAE,OAAO,CAAA;CACX,CAAA;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAS/D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQ1E;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,KAAK,SAAI,EAAE,MAAM,SAAW,GAAG,MAAM,CAGhH;AA4ID,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiChH;AA+nED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAC1D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IACxD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACzC,OAAO,EAAE,SAAS,EAAE,CAAA;CACpB,CAwDA;AAiDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAwB5G"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/** JSON Schema IR → TypeScript type string emitter. Mirrors jsonSchemaToTS logic case-for-case. */
|
|
2
2
|
import type { IRSchema } from "./codegen-ir.ts";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* `binary` is the TS type for {type:"string", format:"binary"}: a string inside JSON, a Blob
|
|
5
|
+
* (File included) inside a multipart form body.
|
|
6
|
+
*/
|
|
7
|
+
export declare function irToTs(ir: IRSchema, depth?: number, binary?: string): string;
|
|
4
8
|
//# sourceMappingURL=ts-type-emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-type-emitter.d.ts","sourceRoot":"","sources":["../src/ts-type-emitter.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AA2E/C,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,SAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"ts-type-emitter.d.ts","sourceRoot":"","sources":["../src/ts-type-emitter.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AA2E/C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,SAAI,EAAE,MAAM,SAAW,GAAG,MAAM,CA0CzE"}
|
package/package.json
CHANGED
package/src/codegen.ts
CHANGED
|
@@ -2245,11 +2245,14 @@ export function isSSEOperation(operation: Record<string, unknown>): boolean {
|
|
|
2245
2245
|
}
|
|
2246
2246
|
|
|
2247
2247
|
/** JSON Schema → TypeScript type string (shim — delegates to IR pipeline). */
|
|
2248
|
-
export function jsonSchemaToTS(schema: Record<string, unknown> | undefined, depth = 0): string {
|
|
2248
|
+
export function jsonSchemaToTS(schema: Record<string, unknown> | undefined, depth = 0, binary = "string"): string {
|
|
2249
2249
|
if (!schema || depth > 8) return "unknown"
|
|
2250
|
-
return irToTs(schemaToIR(schema), depth)
|
|
2250
|
+
return irToTs(schemaToIR(schema), depth, binary)
|
|
2251
2251
|
}
|
|
2252
2252
|
|
|
2253
|
+
/* a file part of a multipart body is sent as a Blob/File; the runtime appends it to FormData as is */
|
|
2254
|
+
const FORM_BINARY_TS = "Blob"
|
|
2255
|
+
|
|
2253
2256
|
/* extract input type for an operation */
|
|
2254
2257
|
function emitSDKInputType(op: Record<string, unknown>, path: string): { hasMandatory: boolean; type: string } {
|
|
2255
2258
|
const mandatoryParts: string[] = []
|
|
@@ -2323,7 +2326,7 @@ function emitSDKInputType(op: Record<string, unknown>, path: string): { hasManda
|
|
|
2323
2326
|
}
|
|
2324
2327
|
const formContent = content["multipart/form-data"] ?? content["application/x-www-form-urlencoded"]
|
|
2325
2328
|
if (formContent?.schema) {
|
|
2326
|
-
const entry = `form: ${jsonSchemaToTS(formContent.schema as Record<string, unknown
|
|
2329
|
+
const entry = `form: ${jsonSchemaToTS(formContent.schema as Record<string, unknown>, 0, FORM_BINARY_TS)}`
|
|
2327
2330
|
if (required) {
|
|
2328
2331
|
mandatoryParts.push(entry)
|
|
2329
2332
|
} else {
|
|
@@ -2696,7 +2699,7 @@ function buildSDKTypes(
|
|
|
2696
2699
|
l.push(
|
|
2697
2700
|
`\tonResponse?: Array<(ctx: { invalidatedBy?: string[]; isRetry: boolean; isStale?: boolean; method: string; path: string; request: Request; response: Response; retry: () => Promise<Response>; selector?: string; state: Record<string, unknown>; url: string }) => Response | undefined | Promise<Response | undefined>>`,
|
|
2698
2701
|
)
|
|
2699
|
-
l.push("\tonAuthExpired?: () => Promise<string | null>")
|
|
2702
|
+
l.push("\tonAuthExpired?: (ctx: { rejectedToken: string | null }) => Promise<string | null>")
|
|
2700
2703
|
l.push("\tauthHeaderName?: string")
|
|
2701
2704
|
l.push("\tauthHeaderPrefix?: string")
|
|
2702
2705
|
l.push("\tonLog?: (entry: _LogEntry) => void")
|
|
@@ -3138,7 +3141,7 @@ export type ResumableConnectionOpts = {
|
|
|
3138
3141
|
\turl: string
|
|
3139
3142
|
\ttransports: TransportAdapter[]
|
|
3140
3143
|
\ttoken?: () => string | Promise<string>
|
|
3141
|
-
\tonAuthExpired?: () => Promise<string | null>
|
|
3144
|
+
\t/** 401 on a request: return a fresh token to retry it once (null = give up). \`rejectedToken\` is the token that failed, so concurrent 401s can share one refresh. */\n\tonAuthExpired?: (ctx: { rejectedToken: string | null }) => Promise<string | null>
|
|
3142
3145
|
\tonReconnecting?: (attempt: number, transport: Transport) => void
|
|
3143
3146
|
\tonReconnected?: () => void
|
|
3144
3147
|
\tsignal?: AbortSignal
|
|
@@ -4085,12 +4088,15 @@ function sdkClientDoRequest(): string {
|
|
|
4085
4088
|
\t\t\tsignal?.throwIfAborted()
|
|
4086
4089
|
\t\t\tlet response = await this.#fetchFn(url, init)
|
|
4087
4090
|
|
|
4088
|
-
\t\t\
|
|
4089
|
-
\t\t\
|
|
4091
|
+
\t\t\t/* FormData, Blob, and strings can be sent again; a stream was consumed by the first attempt */
|
|
4092
|
+
\t\t\tif (response.status === 401 && this.#config.onAuthExpired && !isRetry && !(body instanceof ReadableStream)) {
|
|
4093
|
+
\t\t\t\tconst authName = this.#config.authHeaderName ?? "Authorization"
|
|
4094
|
+
\t\t\t\tconst authPrefix = this.#config.authHeaderPrefix ?? "Bearer "
|
|
4095
|
+
\t\t\t\tconst sent = new Headers(headers).get(authName)
|
|
4096
|
+
\t\t\t\tconst rejectedToken = sent?.startsWith(authPrefix) ? sent.slice(authPrefix.length) : (sent ?? null)
|
|
4097
|
+
\t\t\t\tconst newToken = await this.#config.onAuthExpired({ rejectedToken })
|
|
4090
4098
|
\t\t\t\tif (newToken !== null && newToken !== undefined) {
|
|
4091
4099
|
\t\t\t\t\tconst retryHeaders = new Headers(headers)
|
|
4092
|
-
\t\t\t\t\tconst authName = this.#config.authHeaderName ?? "Authorization"
|
|
4093
|
-
\t\t\t\t\tconst authPrefix = this.#config.authHeaderPrefix ?? "Bearer "
|
|
4094
4100
|
\t\t\t\t\tretryHeaders.set(authName, \`\${authPrefix}\${newToken}\`)
|
|
4095
4101
|
\t\t\t\t\tresponse = await this.#fetchFn(url, { ...init, headers: retryHeaders })
|
|
4096
4102
|
\t\t\t\t}
|
package/src/ts-type-emitter.ts
CHANGED
|
@@ -75,7 +75,11 @@ const TS_RESERVED = new Set([
|
|
|
75
75
|
"override",
|
|
76
76
|
])
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
/**
|
|
79
|
+
* `binary` is the TS type for {type:"string", format:"binary"}: a string inside JSON, a Blob
|
|
80
|
+
* (File included) inside a multipart form body.
|
|
81
|
+
*/
|
|
82
|
+
export function irToTs(ir: IRSchema, depth = 0, binary = "string"): string {
|
|
79
83
|
if (depth > 8) return "unknown"
|
|
80
84
|
|
|
81
85
|
switch (ir.kind) {
|
|
@@ -86,37 +90,33 @@ export function irToTs(ir: IRSchema, depth = 0): string {
|
|
|
86
90
|
return typeof ir.value === "string" ? JSON.stringify(ir.value) : String(ir.value)
|
|
87
91
|
|
|
88
92
|
case "object":
|
|
89
|
-
return emitObject(ir, depth)
|
|
93
|
+
return emitObject(ir, depth, binary)
|
|
90
94
|
|
|
91
95
|
case "array": {
|
|
92
|
-
const el = irToTs(ir.items, depth + 1)
|
|
96
|
+
const el = irToTs(ir.items, depth + 1, binary)
|
|
93
97
|
return el.includes("|") || el.includes("&") ? `(${el})[]` : `${el}[]`
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
case "tuple":
|
|
97
|
-
return `[${ir.items.map((i) => irToTs(i, depth + 1)).join(", ")}]`
|
|
101
|
+
return `[${ir.items.map((i) => irToTs(i, depth + 1, binary)).join(", ")}]`
|
|
98
102
|
|
|
99
103
|
case "union":
|
|
100
|
-
return ir.variants.map((v) => irToTs(v, depth + 1)).join(" | ")
|
|
104
|
+
return ir.variants.map((v) => irToTs(v, depth + 1, binary)).join(" | ")
|
|
101
105
|
|
|
102
106
|
case "allOf":
|
|
103
|
-
return ir.parts.map((p) => irToTs(p, depth + 1)).join(" & ")
|
|
107
|
+
return ir.parts.map((p) => irToTs(p, depth + 1, binary)).join(" & ")
|
|
104
108
|
|
|
105
109
|
case "ref":
|
|
106
110
|
return ir.name
|
|
107
111
|
|
|
108
112
|
case "nullable": {
|
|
109
|
-
const inner = irToTs(ir.inner, depth + 1)
|
|
113
|
+
const inner = irToTs(ir.inner, depth + 1, binary)
|
|
110
114
|
return `${inner} | null`
|
|
111
115
|
}
|
|
112
116
|
|
|
113
|
-
/*
|
|
114
|
-
* binary kind arises from {type: "string", format: "binary"}.
|
|
115
|
-
* jsonSchemaToTS falls through to effectiveType "string" → returns "string".
|
|
116
|
-
* We must match that behavior for byte-equivalence.
|
|
117
|
-
*/
|
|
117
|
+
/* binary kind arises from {type: "string", format: "binary"}; see `binary` above */
|
|
118
118
|
case "binary":
|
|
119
|
-
return
|
|
119
|
+
return binary
|
|
120
120
|
|
|
121
121
|
case "unknown":
|
|
122
122
|
return "unknown"
|
|
@@ -135,12 +135,12 @@ function emitScalar(ir: Extract<IRSchema, { kind: "scalar" }>): string {
|
|
|
135
135
|
return "unknown"
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
function emitObject(ir: Extract<IRSchema, { kind: "object" }>, depth: number): string {
|
|
138
|
+
function emitObject(ir: Extract<IRSchema, { kind: "object" }>, depth: number, binary: string): string {
|
|
139
139
|
const { fields, additional } = ir
|
|
140
140
|
|
|
141
141
|
if (fields.length === 0) {
|
|
142
142
|
if (additional) {
|
|
143
|
-
return `Record<string, ${irToTs(additional, depth + 1)}>`
|
|
143
|
+
return `Record<string, ${irToTs(additional, depth + 1, binary)}>`
|
|
144
144
|
}
|
|
145
145
|
return "Record<string, unknown>"
|
|
146
146
|
}
|
|
@@ -151,11 +151,11 @@ function emitObject(ir: Extract<IRSchema, { kind: "object" }>, depth: number): s
|
|
|
151
151
|
const opt = field.required ? "" : "?"
|
|
152
152
|
const needsQuote = !/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(field.name) || TS_RESERVED.has(field.name)
|
|
153
153
|
const key = needsQuote ? JSON.stringify(field.name) : field.name
|
|
154
|
-
return `${key}${opt}: ${irToTs(field.schema, depth + 1)}`
|
|
154
|
+
return `${key}${opt}: ${irToTs(field.schema, depth + 1, binary)}`
|
|
155
155
|
})
|
|
156
156
|
|
|
157
157
|
if (additional) {
|
|
158
|
-
entries.push(`[k: string]: ${irToTs(additional, depth + 1)}`)
|
|
158
|
+
entries.push(`[k: string]: ${irToTs(additional, depth + 1, binary)}`)
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
return `{ ${entries.join("; ")} }`
|