@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.
- package/LICENSE +21 -0
- package/dist/JsonSchemaGenerator.d.ts +8 -0
- package/dist/JsonSchemaGenerator.d.ts.map +1 -0
- package/dist/JsonSchemaGenerator.js +75 -0
- package/dist/JsonSchemaGenerator.js.map +1 -0
- package/dist/OpenApiGenerator.d.ts +32 -0
- package/dist/OpenApiGenerator.d.ts.map +1 -0
- package/dist/OpenApiGenerator.js +206 -0
- package/dist/OpenApiGenerator.js.map +1 -0
- package/dist/OpenApiPatch.d.ts +296 -0
- package/dist/OpenApiPatch.d.ts.map +1 -0
- package/dist/OpenApiPatch.js +448 -0
- package/dist/OpenApiPatch.js.map +1 -0
- package/dist/OpenApiTransformer.d.ts +24 -0
- package/dist/OpenApiTransformer.d.ts.map +1 -0
- package/dist/OpenApiTransformer.js +740 -0
- package/dist/OpenApiTransformer.js.map +1 -0
- package/dist/ParsedOperation.d.ts +29 -0
- package/dist/ParsedOperation.d.ts.map +1 -0
- package/dist/ParsedOperation.js +13 -0
- package/dist/ParsedOperation.js.map +1 -0
- package/dist/Utils.d.ts +6 -0
- package/dist/Utils.d.ts.map +1 -0
- package/dist/Utils.js +42 -0
- package/dist/Utils.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -0
- package/dist/main.d.ts +5 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +47 -0
- package/dist/main.js.map +1 -0
- package/package.json +67 -0
- package/src/JsonSchemaGenerator.ts +94 -0
- package/src/OpenApiGenerator.ts +309 -0
- package/src/OpenApiPatch.ts +514 -0
- package/src/OpenApiTransformer.ts +954 -0
- package/src/ParsedOperation.ts +43 -0
- package/src/Utils.ts +50 -0
- package/src/bin.ts +10 -0
- 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":[]}
|
package/dist/Utils.d.ts
ADDED
|
@@ -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 @@
|
|
|
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
|
package/dist/bin.js.map
ADDED
|
@@ -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
|
package/dist/main.js.map
ADDED
|
@@ -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":"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","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
|
+
}
|