@effect/openapi-generator 4.0.0-beta.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.
Files changed (42) hide show
  1. package/LICENSE +21 -0
  2. package/dist/JsonSchemaGenerator.d.ts +8 -0
  3. package/dist/JsonSchemaGenerator.d.ts.map +1 -0
  4. package/dist/JsonSchemaGenerator.js +75 -0
  5. package/dist/JsonSchemaGenerator.js.map +1 -0
  6. package/dist/OpenApiGenerator.d.ts +32 -0
  7. package/dist/OpenApiGenerator.d.ts.map +1 -0
  8. package/dist/OpenApiGenerator.js +206 -0
  9. package/dist/OpenApiGenerator.js.map +1 -0
  10. package/dist/OpenApiPatch.d.ts +296 -0
  11. package/dist/OpenApiPatch.d.ts.map +1 -0
  12. package/dist/OpenApiPatch.js +448 -0
  13. package/dist/OpenApiPatch.js.map +1 -0
  14. package/dist/OpenApiTransformer.d.ts +24 -0
  15. package/dist/OpenApiTransformer.d.ts.map +1 -0
  16. package/dist/OpenApiTransformer.js +740 -0
  17. package/dist/OpenApiTransformer.js.map +1 -0
  18. package/dist/ParsedOperation.d.ts +29 -0
  19. package/dist/ParsedOperation.d.ts.map +1 -0
  20. package/dist/ParsedOperation.js +13 -0
  21. package/dist/ParsedOperation.js.map +1 -0
  22. package/dist/Utils.d.ts +6 -0
  23. package/dist/Utils.d.ts.map +1 -0
  24. package/dist/Utils.js +42 -0
  25. package/dist/Utils.js.map +1 -0
  26. package/dist/bin.d.ts +3 -0
  27. package/dist/bin.d.ts.map +1 -0
  28. package/dist/bin.js +7 -0
  29. package/dist/bin.js.map +1 -0
  30. package/dist/main.d.ts +5 -0
  31. package/dist/main.d.ts.map +1 -0
  32. package/dist/main.js +47 -0
  33. package/dist/main.js.map +1 -0
  34. package/package.json +67 -0
  35. package/src/JsonSchemaGenerator.ts +94 -0
  36. package/src/OpenApiGenerator.ts +309 -0
  37. package/src/OpenApiPatch.ts +514 -0
  38. package/src/OpenApiTransformer.ts +954 -0
  39. package/src/ParsedOperation.ts +43 -0
  40. package/src/Utils.ts +50 -0
  41. package/src/bin.ts +10 -0
  42. package/src/main.ts +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiTransformer.js","names":["Layer","Predicate","ServiceMap","Utils","OpenApiTransformer","Service","computeImportRequirements","operations","eventStream","octetStream","op","sseSchema","binaryResponse","requiresStreaming","requirements","httpClientMethodNames","get","put","post","delete","options","head","patch","trace","makeTransformerSchema","operationsToInterface","_importName","name","methods","push","operationToMethod","operationToSseMethod","operationToBinaryMethod","join","clientErrorSource","operation","args","pathIds","length","spreadElementsInto","map","id","params","key","paramsOptional","type","payload","hasOptions","success","successSchemas","size","Array","from","values","schema","errors","errorSchemas","jsdoc","toComment","description","methodKey","generic","parameters","returnType","_name","operationsToImpl","importName","implMethods","operationToImpl","operationToSseImpl","operationToBinaryImpl","helpers","commonSource","sseRequestSource","binaryRequestSource","pipeline","paramsAccessor","resolveParamsAccessor","urlParams","props","param","headers","payloadVarName","payloadFormData","decodes","singleSuccessCode","forEach","status","statusCode","startsWith","voidSchemas","configAccessor","resolveConfigAccessor","method","pathTemplate","of","imports","toTypes","toImplementation","layerTransformerSchema","sync","makeTransformerTs","sseRequestSourceTs","binaryRequestSourceTs","payloadAccessor","successCodesRaw","keys","successCodes","_","JSON","stringify","errorCodes","Object","fromEntries","entries","layerTransformerTs","rootKey","configKey","isNotUndefined","paramsKey","isUndefined"],"sources":["../src/OpenApiTransformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import type * as Types from "effect/Types";
2
+ import type { OpenAPISpecMethodName } from "effect/unstable/httpapi/OpenApi";
3
+ export interface ParsedOperation {
4
+ readonly id: string;
5
+ readonly method: OpenAPISpecMethodName;
6
+ readonly description: string | undefined;
7
+ readonly params?: string;
8
+ readonly paramsOptional: boolean;
9
+ readonly urlParams: ReadonlyArray<string>;
10
+ readonly headers: ReadonlyArray<string>;
11
+ readonly cookies: ReadonlyArray<string>;
12
+ readonly payload?: string;
13
+ readonly payloadFormData: boolean;
14
+ readonly pathIds: ReadonlyArray<string>;
15
+ readonly pathTemplate: string;
16
+ readonly successSchemas: ReadonlyMap<string, string>;
17
+ readonly errorSchemas: ReadonlyMap<string, string>;
18
+ readonly voidSchemas: ReadonlySet<string>;
19
+ readonly sseSchema?: string;
20
+ readonly binaryResponse: boolean;
21
+ }
22
+ export declare const makeDeepMutable: (options: {
23
+ readonly id: string;
24
+ readonly method: OpenAPISpecMethodName;
25
+ readonly pathIds: Array<string>;
26
+ readonly pathTemplate: string;
27
+ readonly description: string | undefined;
28
+ }) => Types.DeepMutable<ParsedOperation>;
29
+ //# sourceMappingURL=ParsedOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedOperation.d.ts","sourceRoot":"","sources":["../src/ParsedOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAEzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAE3B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;CACjC;AAED,eAAO,MAAM,eAAe,GAAI,SAAS;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CACzC,KAAG,KAAK,CAAC,WAAW,CAAC,eAAe,CAWnC,CAAA"}
@@ -0,0 +1,13 @@
1
+ export const makeDeepMutable = options => ({
2
+ ...options,
3
+ urlParams: [],
4
+ headers: [],
5
+ cookies: [],
6
+ payloadFormData: false,
7
+ successSchemas: new Map(),
8
+ errorSchemas: new Map(),
9
+ voidSchemas: new Set(),
10
+ paramsOptional: true,
11
+ binaryResponse: false
12
+ });
13
+ //# sourceMappingURL=ParsedOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParsedOperation.js","names":["makeDeepMutable","options","urlParams","headers","cookies","payloadFormData","successSchemas","Map","errorSchemas","voidSchemas","Set","paramsOptional","binaryResponse"],"sources":["../src/ParsedOperation.ts"],"sourcesContent":[null],"mappings":"AAyBA,OAAO,MAAMA,eAAe,GAAIC,OAM/B,KAA0C;EACzC,GAAGA,OAAO;EACVC,SAAS,EAAE,EAAE;EACbC,OAAO,EAAE,EAAE;EACXC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,IAAIC,GAAG,EAAE;EACzBC,YAAY,EAAE,IAAID,GAAG,EAAE;EACvBE,WAAW,EAAE,IAAIC,GAAG,EAAE;EACtBC,cAAc,EAAE,IAAI;EACpBC,cAAc,EAAE;CACjB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ export declare const camelize: (self: string) => string;
2
+ export declare const identifier: (operationId: string) => Capitalize<string>;
3
+ export declare const nonEmptyString: (a: unknown) => string | undefined;
4
+ export declare const toComment: (self: string | undefined) => string;
5
+ export declare const spreadElementsInto: <A>(source: Array<A>, destination: Array<A>) => void;
6
+ //# sourceMappingURL=Utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,MAqBvC,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,uBAA6C,CAAA;AAE3F,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,MAAM,GAAG,SAOpD,CAAA;AAED,eAAO,MAAM,SAAS,sCAMpB,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,KAAG,IAI/E,CAAA"}
package/dist/Utils.js ADDED
@@ -0,0 +1,42 @@
1
+ import * as String from "effect/String";
2
+ import * as UndefinedOr from "effect/UndefinedOr";
3
+ export const camelize = self => {
4
+ let str = "";
5
+ let hadSymbol = false;
6
+ for (let i = 0; i < self.length; i++) {
7
+ const charCode = self.charCodeAt(i);
8
+ if (charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122) {
9
+ str += hadSymbol ? self[i].toUpperCase() : self[i];
10
+ hadSymbol = false;
11
+ } else if (charCode >= 48 && charCode <= 57) {
12
+ if (str.length > 0) {
13
+ str += self[i];
14
+ hadSymbol = true;
15
+ }
16
+ } else if (str.length > 0) {
17
+ hadSymbol = true;
18
+ }
19
+ }
20
+ return str;
21
+ };
22
+ export const identifier = operationId => String.capitalize(camelize(operationId));
23
+ export const nonEmptyString = a => {
24
+ if (typeof a === "string") {
25
+ const trimmed = String.trim(a);
26
+ if (String.isNonEmpty(trimmed)) {
27
+ return trimmed;
28
+ }
29
+ }
30
+ };
31
+ export const toComment = /*#__PURE__*/UndefinedOr.match({
32
+ onUndefined: () => "",
33
+ onDefined: description => `/**
34
+ * ${description.replace(/\*\//g, " * /").split("\n").join("\n* ")}
35
+ */\n`
36
+ });
37
+ export const spreadElementsInto = (source, destination) => {
38
+ for (let i = 0; i < source.length; i++) {
39
+ destination.push(source[i]);
40
+ }
41
+ };
42
+ //# sourceMappingURL=Utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.js","names":["String","UndefinedOr","camelize","self","str","hadSymbol","i","length","charCode","charCodeAt","toUpperCase","identifier","operationId","capitalize","nonEmptyString","a","trimmed","trim","isNonEmpty","toComment","match","onUndefined","onDefined","description","replace","split","join","spreadElementsInto","source","destination","push"],"sources":["../src/Utils.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AAEjD,OAAO,MAAMC,QAAQ,GAAIC,IAAY,IAAY;EAC/C,IAAIC,GAAG,GAAG,EAAE;EACZ,IAAIC,SAAS,GAAG,KAAK;EACrB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,MAAME,QAAQ,GAAGL,IAAI,CAACM,UAAU,CAACH,CAAC,CAAC;IACnC,IACGE,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,IAChCA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,GAAI,EACnC;MACAJ,GAAG,IAAIC,SAAS,GAAGF,IAAI,CAACG,CAAC,CAAC,CAACI,WAAW,EAAE,GAAGP,IAAI,CAACG,CAAC,CAAC;MAClDD,SAAS,GAAG,KAAK;IACnB,CAAC,MAAM,IAAIG,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,EAAE;MAC3C,IAAIJ,GAAG,CAACG,MAAM,GAAG,CAAC,EAAE;QAClBH,GAAG,IAAID,IAAI,CAACG,CAAC,CAAC;QACdD,SAAS,GAAG,IAAI;MAClB;IACF,CAAC,MAAM,IAAID,GAAG,CAACG,MAAM,GAAG,CAAC,EAAE;MACzBF,SAAS,GAAG,IAAI;IAClB;EACF;EACA,OAAOD,GAAG;AACZ,CAAC;AAED,OAAO,MAAMO,UAAU,GAAIC,WAAmB,IAAKZ,MAAM,CAACa,UAAU,CAACX,QAAQ,CAACU,WAAW,CAAC,CAAC;AAE3F,OAAO,MAAME,cAAc,GAAIC,CAAU,IAAwB;EAC/D,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;IACzB,MAAMC,OAAO,GAAGhB,MAAM,CAACiB,IAAI,CAACF,CAAC,CAAC;IAC9B,IAAIf,MAAM,CAACkB,UAAU,CAACF,OAAO,CAAC,EAAE;MAC9B,OAAOA,OAAO;IAChB;EACF;AACF,CAAC;AAED,OAAO,MAAMG,SAAS,gBAAGlB,WAAW,CAACmB,KAAK,CAAC;EACzCC,WAAW,EAAEA,CAAA,KAAM,EAAE;EACrBC,SAAS,EAAGC,WAAmB,IAC7B;IACAA,WAAW,CAACC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;;CAEhE,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGA,CAAIC,MAAgB,EAAEC,WAAqB,KAAU;EACrF,KAAK,IAAIvB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,MAAM,CAACrB,MAAM,EAAED,CAAC,EAAE,EAAE;IACtCuB,WAAW,CAACC,IAAI,CAACF,MAAM,CAACtB,CAAC,CAAC,CAAC;EAC7B;AACF,CAAC","ignoreList":[]}
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
3
+ import * as NodeServices from "@effect/platform-node/NodeServices";
4
+ import * as Effect from "effect/Effect";
5
+ import { run } from "./main.js";
6
+ run.pipe(Effect.provide(NodeServices.layer), NodeRuntime.runMain);
7
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","names":["NodeRuntime","NodeServices","Effect","run","pipe","provide","layer","runMain"],"sources":["../src/bin.ts"],"sourcesContent":[null],"mappings":";AACA,OAAO,KAAKA,WAAW,MAAM,mCAAmC;AAChE,OAAO,KAAKC,YAAY,MAAM,oCAAoC;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,GAAG,QAAQ,WAAW;AAE/BA,GAAG,CAACC,IAAI,CACNF,MAAM,CAACG,OAAO,CAACJ,YAAY,CAACK,KAAK,CAAC,EAClCN,WAAW,CAACO,OAAO,CACpB","ignoreList":[]}
package/dist/main.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as CliError from "effect/unstable/cli/CliError";
3
+ import * as Command from "effect/unstable/cli/Command";
4
+ export declare const run: Effect.Effect<void, CliError.CliError, Command.Environment>;
5
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AA6DtD,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAE1E,CAAA"}
package/dist/main.js ADDED
@@ -0,0 +1,47 @@
1
+ import * as Console from "effect/Console";
2
+ import * as Effect from "effect/Effect";
3
+ import * as CliError from "effect/unstable/cli/CliError";
4
+ import * as Command from "effect/unstable/cli/Command";
5
+ import * as Flag from "effect/unstable/cli/Flag";
6
+ import * as OpenApiGenerator from "./OpenApiGenerator.js";
7
+ import * as OpenApiPatch from "./OpenApiPatch.js";
8
+ const spec = /*#__PURE__*/Flag.fileParse("spec").pipe(/*#__PURE__*/Flag.withAlias("s"), /*#__PURE__*/Flag.withDescription("The OpenAPI spec file to generate the client from"));
9
+ const name = /*#__PURE__*/Flag.string("name").pipe(/*#__PURE__*/Flag.withAlias("n"), /*#__PURE__*/Flag.withDescription("The name of the generated client"), /*#__PURE__*/Flag.withDefault("Client"));
10
+ const typeOnly = /*#__PURE__*/Flag.boolean("type-only").pipe(/*#__PURE__*/Flag.withAlias("t"), /*#__PURE__*/Flag.withDescription("Generate a type-only client without schemas"));
11
+ const patch = /*#__PURE__*/Flag.string("patch").pipe(/*#__PURE__*/Flag.withAlias("p"), /*#__PURE__*/Flag.withDescription("JSON patch to apply to OpenAPI spec before generation. " + "Can be a file path (.json, .yaml, .yml) or inline JSON array. " + "Multiple patches are applied in order."), /*#__PURE__*/Flag.between(0, Infinity));
12
+ const root = /*#__PURE__*/Command.make("openapigen", {
13
+ spec,
14
+ typeOnly,
15
+ name,
16
+ patch
17
+ }).pipe(/*#__PURE__*/Command.withHandler(/*#__PURE__*/Effect.fnUntraced(function* ({
18
+ name,
19
+ spec,
20
+ typeOnly,
21
+ patch
22
+ }) {
23
+ let patchedSpec = spec;
24
+ if (patch.length > 0) {
25
+ const parsedPatches = yield* Effect.forEach(patch, input => OpenApiPatch.parsePatchInput(input).pipe(Effect.map(p => ({
26
+ source: input,
27
+ patch: p
28
+ })), Effect.mapError(error => new CliError.UserError({
29
+ cause: error
30
+ }))));
31
+ patchedSpec = yield* OpenApiPatch.applyPatches(parsedPatches, patchedSpec).pipe(Effect.mapError(error => new CliError.UserError({
32
+ cause: error
33
+ })));
34
+ }
35
+ const generator = yield* OpenApiGenerator.OpenApiGenerator;
36
+ const source = yield* generator.generate(patchedSpec, {
37
+ name,
38
+ typeOnly
39
+ });
40
+ return yield* Console.log(source);
41
+ })), /*#__PURE__*/Command.provide(({
42
+ typeOnly
43
+ }) => typeOnly ? OpenApiGenerator.layerTransformerTs : OpenApiGenerator.layerTransformerSchema));
44
+ export const run = /*#__PURE__*/Command.run(root, {
45
+ version: "0.0.0"
46
+ });
47
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","names":["Console","Effect","CliError","Command","Flag","OpenApiGenerator","OpenApiPatch","spec","fileParse","pipe","withAlias","withDescription","name","string","withDefault","typeOnly","boolean","patch","between","Infinity","root","make","withHandler","fnUntraced","patchedSpec","length","parsedPatches","forEach","input","parsePatchInput","map","p","source","mapError","error","UserError","cause","applyPatches","generator","generate","log","provide","layerTransformerTs","layerTransformerSchema","run","version"],"sources":["../src/main.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,8BAA8B;AACxD,OAAO,KAAKC,OAAO,MAAM,6BAA6B;AACtD,OAAO,KAAKC,IAAI,MAAM,0BAA0B;AAEhD,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AACzD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD,MAAMC,IAAI,gBAAGH,IAAI,CAACI,SAAS,CAAC,MAAM,CAAC,CAACC,IAAI,cACtCL,IAAI,CAACM,SAAS,CAAC,GAAG,CAAC,eACnBN,IAAI,CAACO,eAAe,CAAC,mDAAmD,CAAC,CAC1E;AAED,MAAMC,IAAI,gBAAGR,IAAI,CAACS,MAAM,CAAC,MAAM,CAAC,CAACJ,IAAI,cACnCL,IAAI,CAACM,SAAS,CAAC,GAAG,CAAC,eACnBN,IAAI,CAACO,eAAe,CAAC,kCAAkC,CAAC,eACxDP,IAAI,CAACU,WAAW,CAAC,QAAQ,CAAC,CAC3B;AAED,MAAMC,QAAQ,gBAAGX,IAAI,CAACY,OAAO,CAAC,WAAW,CAAC,CAACP,IAAI,cAC7CL,IAAI,CAACM,SAAS,CAAC,GAAG,CAAC,eACnBN,IAAI,CAACO,eAAe,CAAC,6CAA6C,CAAC,CACpE;AAED,MAAMM,KAAK,gBAAGb,IAAI,CAACS,MAAM,CAAC,OAAO,CAAC,CAACJ,IAAI,cACrCL,IAAI,CAACM,SAAS,CAAC,GAAG,CAAC,eACnBN,IAAI,CAACO,eAAe,CAClB,yDAAyD,GACvD,gEAAgE,GAChE,wCAAwC,CAC3C,eACDP,IAAI,CAACc,OAAO,CAAC,CAAC,EAAEC,QAAQ,CAAC,CAC1B;AAED,MAAMC,IAAI,gBAAGjB,OAAO,CAACkB,IAAI,CAAC,YAAY,EAAE;EAAEd,IAAI;EAAEQ,QAAQ;EAAEH,IAAI;EAAEK;AAAK,CAAE,CAAC,CAACR,IAAI,cAC3EN,OAAO,CAACmB,WAAW,cAACrB,MAAM,CAACsB,UAAU,CAAC,WAAU;EAAEX,IAAI;EAAEL,IAAI;EAAEQ,QAAQ;EAAEE;AAAK,CAAE;EAC7E,IAAIO,WAAW,GAAgBjB,IAAmB;EAElD,IAAIU,KAAK,CAACQ,MAAM,GAAG,CAAC,EAAE;IACpB,MAAMC,aAAa,GAAG,OAAOzB,MAAM,CAAC0B,OAAO,CACzCV,KAAK,EACJW,KAAK,IACJtB,YAAY,CAACuB,eAAe,CAACD,KAAK,CAAC,CAACnB,IAAI,CACtCR,MAAM,CAAC6B,GAAG,CAAEC,CAAC,KAAM;MAAEC,MAAM,EAAEJ,KAAK;MAAEX,KAAK,EAAEc;IAAC,CAAE,CAAC,CAAC,EAChD9B,MAAM,CAACgC,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,QAAQ,CAACiC,SAAS,CAAC;MAAEC,KAAK,EAAEF;IAAK,CAAE,CAAC,CAAC,CACrE,CACJ;IACDV,WAAW,GAAG,OAAOlB,YAAY,CAAC+B,YAAY,CAACX,aAAa,EAAEF,WAAW,CAAC,CAACf,IAAI,CAC7ER,MAAM,CAACgC,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,QAAQ,CAACiC,SAAS,CAAC;MAAEC,KAAK,EAAEF;IAAK,CAAE,CAAC,CAAC,CACrE;EACH;EAEA,MAAMI,SAAS,GAAG,OAAOjC,gBAAgB,CAACA,gBAAgB;EAC1D,MAAM2B,MAAM,GAAG,OAAOM,SAAS,CAACC,QAAQ,CAACf,WAAqC,EAAE;IAAEZ,IAAI;IAAEG;EAAQ,CAAE,CAAC;EACnG,OAAO,OAAOf,OAAO,CAACwC,GAAG,CAACR,MAAM,CAAC;AACnC,CAAC,CAAC,CAAC,eACH7B,OAAO,CAACsC,OAAO,CAAC,CAAC;EAAE1B;AAAQ,CAAE,KAC3BA,QAAQ,GACJV,gBAAgB,CAACqC,kBAAkB,GACnCrC,gBAAgB,CAACsC,sBAAsB,CAC5C,CACF;AAED,OAAO,MAAMC,GAAG,gBAAgEzC,OAAO,CAACyC,GAAG,CAACxB,IAAI,EAAE;EAChGyB,OAAO,EAAE;CACV,CAAC","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@effect/openapi-generator",
3
+ "type": "module",
4
+ "version": "4.0.0-beta.0",
5
+ "license": "MIT",
6
+ "description": "Generate Effect Schema types and HTTP clients from OpenAPI specifications",
7
+ "homepage": "https://effect.website",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Effect-TS/effect-smol.git",
11
+ "directory": "packages/tools/openapi-generator"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/Effect-TS/effect-smol/issues"
15
+ },
16
+ "tags": [
17
+ "typescript",
18
+ "openapi",
19
+ "codegen"
20
+ ],
21
+ "keywords": [
22
+ "typescript",
23
+ "openapi",
24
+ "codegen"
25
+ ],
26
+ "bin": {
27
+ "openapigen": "./dist/bin.js"
28
+ },
29
+ "sideEffects": [],
30
+ "exports": {
31
+ "./package.json": "./package.json",
32
+ "./*": "./dist/*.js",
33
+ "./bin": null,
34
+ "./main": null
35
+ },
36
+ "files": [
37
+ "src/**/*.ts",
38
+ "dist/**/*.js",
39
+ "dist/**/*.js.map",
40
+ "dist/**/*.d.ts",
41
+ "dist/**/*.d.ts.map"
42
+ ],
43
+ "publishConfig": {
44
+ "access": "public",
45
+ "provenance": true
46
+ },
47
+ "peerDependencies": {
48
+ "@effect/platform-node": "^4.0.0-beta.0",
49
+ "effect": "^4.0.0-beta.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/swagger2openapi": "^7.0.4",
53
+ "json-schema-typed": "^8.0.2",
54
+ "openapi-typescript": "^7.10.1",
55
+ "swagger2openapi": "^7.0.8",
56
+ "yaml": "^2.8.2",
57
+ "effect": "^4.0.0-beta.0"
58
+ },
59
+ "scripts": {
60
+ "build": "tsc -b tsconfig.json && pnpm babel",
61
+ "build:tsgo": "tsgo -b tsconfig.json && pnpm babel",
62
+ "babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
63
+ "check": "tsc -b tsconfig.json",
64
+ "test": "vitest",
65
+ "coverage": "vitest --coverage"
66
+ }
67
+ }
@@ -0,0 +1,94 @@
1
+ import * as Arr from "effect/Array"
2
+ import * as JsonSchema from "effect/JsonSchema"
3
+ import * as Rec from "effect/Record"
4
+ import * as SchemaRepresentation from "effect/SchemaRepresentation"
5
+
6
+ export function make() {
7
+ const store: Record<string, JsonSchema.JsonSchema> = {}
8
+
9
+ function addSchema(name: string, schema: JsonSchema.JsonSchema): string {
10
+ if (name in store) {
11
+ throw new Error(`Schema ${name} already exists`)
12
+ }
13
+ store[name] = schema
14
+ return name
15
+ }
16
+
17
+ function generate(
18
+ source: "openapi-3.0" | "openapi-3.1",
19
+ components: JsonSchema.Definitions,
20
+ typeOnly: boolean,
21
+ options?: {
22
+ readonly onEnter?: ((js: JsonSchema.JsonSchema) => JsonSchema.JsonSchema) | undefined
23
+ }
24
+ ) {
25
+ const nameMap: Array<string> = []
26
+ const schemas: Array<JsonSchema.JsonSchema> = []
27
+
28
+ const definitions: JsonSchema.Definitions = Rec.map(
29
+ components,
30
+ (js) => fromSchemaOpenApi(js).schema
31
+ )
32
+
33
+ for (const [name, js] of Object.entries(store)) {
34
+ nameMap.push(name)
35
+ schemas.push(fromSchemaOpenApi(js).schema)
36
+ }
37
+
38
+ if (Arr.isArrayNonEmpty(schemas)) {
39
+ const multiDocument: SchemaRepresentation.MultiDocument = SchemaRepresentation.fromJsonSchemaMultiDocument({
40
+ dialect: "draft-2020-12",
41
+ schemas,
42
+ definitions
43
+ }, {
44
+ onEnter(js) {
45
+ const out = { ...js }
46
+ if (out.type === "object" && out.additionalProperties === undefined) {
47
+ out.additionalProperties = false
48
+ }
49
+ return options?.onEnter?.(out) ?? out
50
+ }
51
+ })
52
+
53
+ const codeDocument = SchemaRepresentation.toCodeDocument(multiDocument)
54
+
55
+ const nonRecursives = codeDocument.references.nonRecursives.map(({ $ref, code }) => renderSchema($ref, code))
56
+ const recursives = Object.entries(codeDocument.references.recursives).map(([$ref, code]) =>
57
+ renderSchema($ref, code)
58
+ )
59
+ const codes = codeDocument.codes.map((code, i) => renderSchema(nameMap[i], code))
60
+
61
+ const s = render("non-recursive definitions", nonRecursives) +
62
+ render("recursive definitions", recursives) +
63
+ render("schemas", codes)
64
+
65
+ return s
66
+ } else {
67
+ return ""
68
+ }
69
+
70
+ function fromSchemaOpenApi(jsonSchema: JsonSchema.JsonSchema) {
71
+ switch (source) {
72
+ case "openapi-3.1":
73
+ return JsonSchema.fromSchemaOpenApi3_1(jsonSchema)
74
+ case "openapi-3.0":
75
+ return JsonSchema.fromSchemaOpenApi3_0(jsonSchema)
76
+ }
77
+ }
78
+
79
+ function renderSchema($ref: string, code: SchemaRepresentation.Code) {
80
+ const strings = [`export type ${$ref} = ${code.Type}`]
81
+ if (!typeOnly) {
82
+ strings.push(`export const ${$ref} = ${code.runtime}`)
83
+ }
84
+ return strings.join("\n")
85
+ }
86
+
87
+ function render(title: string, as: ReadonlyArray<string>) {
88
+ if (as.length === 0) return ""
89
+ return "// " + title + "\n" + as.join("\n") + "\n"
90
+ }
91
+ }
92
+
93
+ return { addSchema, generate } as const
94
+ }