@ir-kit/openapi-kotlin 2.1.0 → 3.0.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.
@@ -17,21 +17,17 @@ export type KtFunModifier = "override" | "open" | "abstract" | "suspend";
17
17
  export declare const ktString: KtType;
18
18
  export declare const ktInt: KtType;
19
19
  export declare const ktLong: KtType;
20
- export declare const ktShort: KtType;
21
- export declare const ktByte: KtType;
22
20
  export declare const ktDouble: KtType;
23
21
  export declare const ktFloat: KtType;
24
22
  export declare const ktBoolean: KtType;
25
23
  export declare const ktUnit: KtType;
26
24
  export declare const ktAny: KtType;
27
25
  export declare const ktJsonElement: KtType;
28
- export declare const ktNothing: KtType;
29
26
  export declare const ktByteArray: KtType;
30
27
  export declare const ktNullable: (inner: KtType) => KtType;
31
28
  export declare const ktList: (element: KtType) => KtType;
32
29
  export declare const ktMap: (key: KtType, value: KtType) => KtType;
33
30
  export declare const ktRef: (name: string, args?: ReadonlyArray<KtType>) => KtType;
34
- export declare const ktFunc: (params: ReadonlyArray<KtType>, returnType: KtType) => KtType;
35
31
  /** `Pet` for `Pet` / `Pair<Pet, Response>`; `undefined` for composites. */
36
32
  export declare const typeName: (t: KtType) => string | undefined;
37
33
  export declare const typeArgs: (t: KtType) => ReadonlyArray<KtType>;
@@ -40,12 +36,8 @@ export declare const ktIdent: (name: string) => KtExpr;
40
36
  export declare const ktMember: (on: KtExpr, name: string) => KtExpr;
41
37
  export declare const ktSafeMember: (on: KtExpr, name: string) => KtExpr;
42
38
  export declare const ktIndex: (on: KtExpr, index: KtExpr) => KtExpr;
43
- export declare const ktNotNull: (on: KtExpr) => KtExpr;
44
- export declare const ktThis: KtExpr;
45
39
  export declare const ktStr: (value: string) => KtExpr;
46
40
  export declare const ktIntLit: (value: number) => KtExpr;
47
- export declare const ktLongLit: (value: number) => KtExpr;
48
- export declare const ktDoubleLit: (value: number) => KtExpr;
49
41
  export declare const ktBoolLit: (value: boolean) => KtExpr;
50
42
  export declare const ktNull: KtExpr;
51
43
  export declare const ktInterp: (parts: ReadonlyArray<string | KtExpr>) => KtExpr;
@@ -53,11 +45,8 @@ export declare const ktListLit: (items: ReadonlyArray<KtExpr>) => KtExpr;
53
45
  export declare const ktArg: (expression: KtExpr, name?: string) => KtCallArg;
54
46
  export declare const ktCall: (callee: KtExpr, args?: ReadonlyArray<KtCallArg>, trailingLambda?: KtLambdaExpr, typeArgs?: ReadonlyArray<KtType>) => KtExpr;
55
47
  export declare const ktLambda: (params: ReadonlyArray<string>, body: ReadonlyArray<KtStmt>) => KtLambdaExpr;
56
- export declare const ktAs: (expr: KtExpr, type: KtType) => KtExpr;
57
- export declare const ktAsSafe: (expr: KtExpr, type: KtType) => KtExpr;
58
48
  type BinOp = "==" | "!=" | "<" | "<=" | ">" | ">=" | "&&" | "||" | "+";
59
49
  export declare const ktBinOp: (op: BinOp, left: KtExpr, right: KtExpr) => KtExpr;
60
- export declare const ktEq: (l: KtExpr, r: KtExpr) => KtExpr;
61
50
  export declare const ktNe: (l: KtExpr, r: KtExpr) => KtExpr;
62
51
  export declare const ktElvis: (l: KtExpr, r: KtExpr) => KtExpr;
63
52
  export declare const ktVal: (name: string, expr: KtExpr, type?: KtType) => KtStmt;
@@ -70,8 +59,6 @@ export declare const ktIf: (cond: KtExpr, then: ReadonlyArray<KtStmt>, else_?: R
70
59
  export declare const ktWhenCase: (patterns: ReadonlyArray<KtExpr>, body: ReadonlyArray<KtStmt>) => KtWhenCase;
71
60
  export declare const ktWhen: (on: KtExpr | undefined, cases: ReadonlyArray<KtWhenCase>, default_?: ReadonlyArray<KtStmt>) => KtStmt;
72
61
  export declare const ktForIn: (name: string, source: KtExpr, body: ReadonlyArray<KtStmt>) => KtStmt;
73
- export declare const ktCatch: (name: string, type: KtType, body: ReadonlyArray<KtStmt>) => KtCatchClause;
74
- export declare const ktTryCatch: (body: ReadonlyArray<KtStmt>, catches: ReadonlyArray<KtCatchClause>) => KtStmt;
75
62
  /** A function parameter as carried on operation signatures. */
76
63
  export interface KtFunParam {
77
64
  name: string;
@@ -138,9 +125,6 @@ export declare function ktClass(opts: DeclOpts & {
138
125
  export declare function ktSealedClass(opts: DeclOpts & {
139
126
  subclasses: ReadonlyArray<KtSealedSubclass>;
140
127
  }): KtDecl;
141
- export declare function ktObject(opts: DeclOpts & {
142
- properties?: ReadonlyArray<KtProp>;
143
- }): KtDecl;
144
128
  export declare function ktInterface(opts: DeclOpts & {
145
129
  funs: ReadonlyArray<KtFun>;
146
130
  }): KtDecl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
package/dist/ast/index.js CHANGED
@@ -7,7 +7,6 @@ const VISIBILITIES = new Set([
7
7
  "private",
8
8
  "protected",
9
9
  ]);
10
- const SIMPLE_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/;
11
10
  /** Verbatim source fragment (defaults, annotation args). */
12
11
  const raw = (text) => f.createIdentifier(text);
13
12
  // Types
@@ -15,21 +14,17 @@ const named = (name) => f.createUserType(name);
15
14
  export const ktString = named("String");
16
15
  export const ktInt = named("Int");
17
16
  export const ktLong = named("Long");
18
- export const ktShort = named("Short");
19
- export const ktByte = named("Byte");
20
17
  export const ktDouble = named("Double");
21
18
  export const ktFloat = named("Float");
22
19
  export const ktBoolean = named("Boolean");
23
20
  export const ktUnit = named("Unit");
24
21
  export const ktAny = named("Any");
25
22
  export const ktJsonElement = named("JsonElement");
26
- export const ktNothing = named("Nothing");
27
23
  export const ktByteArray = named("ByteArray");
28
- export const ktNullable = (inner) => inner.kind === K.NullableType ? inner : f.createNullableType(inner);
24
+ export const ktNullable = (inner) => f.createNullableType(inner);
29
25
  export const ktList = (element) => f.createUserType("List", [element]);
30
26
  export const ktMap = (key, value) => f.createUserType("Map", [key, value]);
31
27
  export const ktRef = (name, args) => f.createUserType(name, args?.length ? args : undefined);
32
- export const ktFunc = (params, returnType) => f.createFunctionType(params.map((type) => ({ type })), returnType);
33
28
  /** `Pet` for `Pet` / `Pair<Pet, Response>`; `undefined` for composites. */
34
29
  export const typeName = (t) => t.kind === K.UserType ? t.name : undefined;
35
30
  export const typeArgs = (t) => t.kind === K.UserType ? (t.typeArguments ?? []) : [];
@@ -39,25 +34,11 @@ export const ktIdent = (name) => f.createIdentifier(name);
39
34
  export const ktMember = (on, name) => f.createNavigationExpression(on, f.createIdentifier(name));
40
35
  export const ktSafeMember = (on, name) => f.createNavigationExpression(on, f.createIdentifier(name), true);
41
36
  export const ktIndex = (on, index) => f.createIndexingExpression(on, [index]);
42
- export const ktNotNull = (on) => f.createPostfixUnaryExpression(on, "!!");
43
- export const ktThis = f.createThisExpression();
44
37
  export const ktStr = (value) => f.createStringLiteral([{ text: value }]);
45
38
  export const ktIntLit = (value) => f.createLiteral(String(value), "int");
46
- export const ktLongLit = (value) => f.createLiteral(`${value}L`, "long");
47
- export const ktDoubleLit = (value) => {
48
- const s = String(value);
49
- return f.createLiteral(s.includes(".") ? s : `${s}.0`, "double");
50
- };
51
39
  export const ktBoolLit = (value) => f.createLiteral(String(value), "boolean");
52
40
  export const ktNull = f.createLiteral("null", "null");
53
- export const ktInterp = (parts) => f.createStringLiteral(parts.map((p) => {
54
- if (typeof p === "string")
55
- return { text: p };
56
- const simple = p.kind !== K.Identifier || SIMPLE_IDENT.test(p.name);
57
- return {
58
- expression: simple ? p : f.createParenthesizedExpression(p),
59
- };
60
- }));
41
+ export const ktInterp = (parts) => f.createStringLiteral(parts.map((p) => (typeof p === "string" ? { text: p } : { expression: p })));
61
42
  export const ktListLit = (items) => ktCall(ktIdent("listOf"), items.map((i) => ktArg(i)));
62
43
  export const ktArg = (expression, name) => ({
63
44
  expression,
@@ -65,10 +46,7 @@ export const ktArg = (expression, name) => ({
65
46
  });
66
47
  export const ktCall = (callee, args = [], trailingLambda, typeArgs) => f.createCallExpression(callee, args, typeArgs?.length ? typeArgs : undefined, trailingLambda);
67
48
  export const ktLambda = (params, body) => f.createLambdaExpression(body, params.map((name) => ({ name })));
68
- export const ktAs = (expr, type) => f.createAsExpression(expr, type);
69
- export const ktAsSafe = (expr, type) => f.createAsExpression(expr, type, true);
70
49
  export const ktBinOp = (op, left, right) => f.createBinaryExpression(left, op, right);
71
- export const ktEq = (l, r) => ktBinOp("==", l, r);
72
50
  export const ktNe = (l, r) => ktBinOp("!=", l, r);
73
51
  export const ktElvis = (l, r) => f.createElvisExpression(l, r);
74
52
  // Statements
@@ -83,11 +61,6 @@ export const ktIf = (cond, then, else_) => f.createIfStatement(cond, block(then)
83
61
  export const ktWhenCase = (patterns, body) => ({ conditions: patterns, body: block(body) });
84
62
  export const ktWhen = (on, cases, default_) => f.createWhenStatement(default_ ? [...cases, { body: block(default_) }] : cases, on);
85
63
  export const ktForIn = (name, source, body) => f.createForStatement([name], source, block(body));
86
- export const ktCatch = (name, type, body) => ({
87
- parameter: f.createParameter(name, type),
88
- body: block(body),
89
- });
90
- export const ktTryCatch = (body, catches) => f.createTryExpression(block(body), catches);
91
64
  export const ktFunParam = (opts) => ({ ...opts });
92
65
  export const ktAnnotation = (name, arg) => f.createAnnotation(name, arg === undefined ? undefined : [ktArg(arg)]);
93
66
  export function ktProp(opts) {
@@ -143,14 +116,6 @@ export function ktSealedClass(opts) {
143
116
  ], [opts.visibility ?? "public", "sealed"], opts.annotations, superTypes(opts.superTypes)),
144
117
  };
145
118
  }
146
- export function ktObject(opts) {
147
- return {
148
- kind: "object",
149
- name: opts.name,
150
- runtime: opts.runtime,
151
- node: f.createObjectDeclaration(opts.name, [...(opts.properties ?? []), ...(opts.funs ?? [])], [opts.visibility ?? "public"], opts.annotations, superTypes(opts.superTypes)),
152
- };
153
- }
154
119
  export function ktInterface(opts) {
155
120
  return {
156
121
  kind: "interface",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type NormalizeOptions } from "@ir-kit/openapi";
1
+ import type { NormalizeOptions } from "@ir-kit/openapi";
2
2
  import { type OperationsOptions } from "./ir/index.js";
3
3
  import { type BuildOptions, type BuiltFile, type GradleOptions } from "./project/index.js";
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAGd,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,KAAK,0BAA0B,GAAG,IAAI,CACpC,iBAAiB,EACjB,qBAAqB,CACtB,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,YAAY,EAClB,0BAA0B;IAC5B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjC,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoD7E"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAGd,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,KAAK,0BAA0B,GAAG,IAAI,CACpC,iBAAiB,EACjB,qBAAqB,CACtB,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,YAAY,EAClB,0BAA0B;IAC5B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjC,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C7E"}
package/dist/generate.js CHANGED
@@ -1,19 +1,13 @@
1
- import { mkdir, rm, writeFile } from "node:fs/promises";
2
- import { dirname, join, resolve } from "node:path";
3
- import { assertSafeOutputDir, defaultProjectName } from "@ir-kit/codegen-core";
4
- import { extractSecuritySchemeNames, } from "@ir-kit/openapi";
1
+ import { resolve } from "node:path";
2
+ import { defaultProjectName, writeOutput } from "@ir-kit/codegen-core";
5
3
  import { loadOpenAPI } from "@ir-kit/openapi-loader";
6
- import { parseSpec } from "@ir-kit/openapi-tools/parse";
4
+ import { parseForCodegen } from "@ir-kit/openapi-tools/parse";
7
5
  import { newTypeNames } from "./ir/identifiers.js";
8
6
  import { aliasesOf, operationsToDecls, schemasToDecls, } from "./ir/index.js";
9
7
  import { buildRuntimeFiles } from "./ir/runtime/index.js";
10
8
  import { buildGradleFile, buildKotlinProject, settingsGradleFile, } from "./project/index.js";
11
9
  export async function generate(opts) {
12
- const bundled = await loadOpenAPI({
13
- input: opts.input,
14
- normalize: opts.normalize,
15
- });
16
- const ir = parseSpec(bundled);
10
+ const { ir, securitySchemeNames } = parseForCodegen(await loadOpenAPI({ input: opts.input, normalize: opts.normalize }));
17
11
  const names = newTypeNames();
18
12
  const schemaDecls = schemasToDecls(ir.components?.schemas ?? {}, names);
19
13
  const opsResult = operationsToDecls(ir.paths, {
@@ -22,7 +16,7 @@ export async function generate(opts) {
22
16
  clientClassName: opts.clientClassName,
23
17
  interfaceOnly: opts.interfaceOnly,
24
18
  openImpl: opts.openImpl,
25
- securitySchemeNames: extractSecuritySchemeNames(bundled),
19
+ securitySchemeNames,
26
20
  names,
27
21
  aliases: new Map(aliasesOf(schemaDecls)),
28
22
  });
@@ -41,15 +35,7 @@ export async function generate(opts) {
41
35
  files.push(buildGradleFile(gradleOpts));
42
36
  files.push(settingsGradleFile(defaultProjectName(out)));
43
37
  }
44
- if (opts.clean !== false) {
45
- assertSafeOutputDir(out);
46
- await rm(out, { recursive: true, force: true });
47
- }
48
- for (const file of files) {
49
- const full = join(out, file.path);
50
- await mkdir(dirname(full), { recursive: true });
51
- await writeFile(full, file.content);
52
- }
38
+ await writeOutput(out, files, { clean: opts.clean });
53
39
  return { files, output: out };
54
40
  }
55
41
  function runtimeSubPackage(rootPkg, dir) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
@@ -69,48 +69,44 @@ function emitMethodWithRawBody(method, mt) {
69
69
  ]));
70
70
  }
71
71
  function emitMultipartBody(schema, method) {
72
- const required = new Set(schema.required ?? []);
73
- const stmts = [
74
- ktVal("multipart", ktCall(ktIdent("MultipartFormBody"), [])),
75
- ];
76
- for (const [propName, propSchema] of Object.entries(schema.properties ?? {})) {
72
+ return emitFieldBody(schema, method, "multipart", "MultipartFormBody", (propName, propSchema, id) => {
77
73
  if (!isSchemaObject(propSchema))
78
- continue;
79
- const id = operationParamIdent(propName);
74
+ return undefined;
80
75
  const isBinary = propSchema.type === "string" && propSchema.format === "binary";
81
- const append = isBinary
82
- ? ktExprStmt(ktCall(ktMember(ktIdent("multipart"), "appendFile"), [
76
+ return isBinary
77
+ ? ktCall(ktMember(ktIdent("multipart"), "appendFile"), [
83
78
  ktArg(ktStr(propName)),
84
79
  ktArg(ktStr(propName)),
85
80
  ktArg(ktIdent(id)),
86
- ]))
87
- : ktExprStmt(ktCall(ktMember(ktIdent("multipart"), "appendText"), [
81
+ ])
82
+ : ktCall(ktMember(ktIdent("multipart"), "appendText"), [
88
83
  ktArg(ktStr(propName)),
89
84
  ktArg(ktInterp([ktIdent(id)])),
90
- ]));
91
- stmts.push(required.has(propName)
92
- ? append
93
- : ktIf(ktNe(ktIdent(id), ktNull), [append]));
94
- }
95
- stmts.push(setMethodWithBody(method, ktCall(ktMember(ktIdent("multipart"), "build"), [])));
96
- return stmts;
85
+ ]);
86
+ });
97
87
  }
98
88
  function emitFormUrlEncodedBody(schema, method) {
89
+ return emitFieldBody(schema, method, "formBuilder", "FormBody.Builder", (propName, _, id) => ktCall(ktMember(ktIdent("formBuilder"), "add"), [
90
+ ktArg(ktStr(propName)),
91
+ ktArg(ktInterp([ktIdent(id)])),
92
+ ]));
93
+ }
94
+ /**
95
+ * Append each property to a `builder` val, guarding optional ones with a
96
+ * null check, then send `builder.build()` as the request body.
97
+ */
98
+ function emitFieldBody(schema, method, builder, builderCtor, append) {
99
99
  const required = new Set(schema.required ?? []);
100
- const stmts = [
101
- ktVal("formBuilder", ktCall(ktIdent("FormBody.Builder"), [])),
102
- ];
103
- for (const propName of Object.keys(schema.properties ?? {})) {
100
+ const stmts = [ktVal(builder, ktCall(ktIdent(builderCtor), []))];
101
+ for (const [propName, propSchema] of Object.entries(schema.properties ?? {})) {
104
102
  const id = operationParamIdent(propName);
105
- const append = ktExprStmt(ktCall(ktMember(ktIdent("formBuilder"), "add"), [
106
- ktArg(ktStr(propName)),
107
- ktArg(ktInterp([ktIdent(id)])),
108
- ]));
109
- stmts.push(required.has(propName)
110
- ? append
111
- : ktIf(ktNe(ktIdent(id), ktNull), [append]));
103
+ const call = append(propName, propSchema, id);
104
+ if (!call)
105
+ continue;
106
+ const stmt = ktExprStmt(call);
107
+ stmts.push(required.has(propName) ? stmt : ktIf(ktNe(ktIdent(id), ktNull), [stmt]));
112
108
  }
113
- stmts.push(setMethodWithBody(method, ktCall(ktMember(ktIdent("formBuilder"), "build"), [])));
109
+ stmts.push(setMethodWithBody(method, ktCall(ktMember(ktIdent(builder), "build"), [])));
114
110
  return stmts;
115
111
  }
116
112
  //# sourceMappingURL=body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/ir/impl/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/ir/impl/body.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAEL,KAAK,MAAM,EAEX,KAAK,MAAM,EAWZ,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;wBAEoB;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB;;mEAE+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,GAAG,SAAS,EACjC,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CA8DlB;AAiFD,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIzB"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAEL,KAAK,MAAM,EAEX,KAAK,MAAM,EAWZ,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;wBAEoB;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB;;mEAE+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,GAAG,SAAS,EACjC,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CAkDlB;AAiFD,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIzB"}
@@ -1,5 +1,5 @@
1
1
  import { pascal } from "@ir-kit/codegen-core";
2
- import { iterOperations } from "@ir-kit/openapi";
2
+ import { groupOperationsByTag } from "@ir-kit/openapi";
3
3
  import { isUnit, ktArg, ktCall, ktExprStmt, ktFun, ktIdent, ktInterface, ktMember, ktRef, ktReturn, ktTopLevelFun, } from "../ast/index.js";
4
4
  import { kotlinTypeIdent, newTypeNames } from "./identifiers.js";
5
5
  import { buildClientClass } from "./impl/index.js";
@@ -16,17 +16,8 @@ export function operationsToDecls(paths, opts = {}) {
16
16
  const clientClassName = opts.clientClassName ?? ((p) => `OkHttp${p}`);
17
17
  const decls = [];
18
18
  const emit = (d) => decls.push(d);
19
- const byTag = new Map();
20
19
  const names = opts.names ?? newTypeNames();
21
- for (const { pathStr, method, op, schemeNames } of iterOperations(paths, opts.securitySchemeNames)) {
22
- const sig = operationSignature(op, method, pathStr, emit, schemeNames, names);
23
- const tag = op.tags?.[0] ?? defaultTag;
24
- const list = byTag.get(tag);
25
- if (list)
26
- list.push(sig);
27
- else
28
- byTag.set(tag, [sig]);
29
- }
20
+ const byTag = groupOperationsByTag(paths, opts.securitySchemeNames, defaultTag, ({ pathStr, method, op, schemeNames }) => operationSignature(op, method, pathStr, emit, schemeNames, names));
30
21
  let needsMultipart = false;
31
22
  let needsAuth = false;
32
23
  for (const [tag, sigs] of byTag) {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,6 @@ import { type KtDecl } from "../ast/index.js";
10
10
  * - object schemas with only `additionalProperties` → typealias to
11
11
  * `Map<String, V>`
12
12
  * - everything else → typealias to the dispatcher's resolved type
13
- *
14
- * Schemas come in as hey-api's `IR.SchemaObject` and are folded to
15
- * canonical {@link Schema} at the boundary.
16
13
  */
17
14
  export declare function schemasToDecls(schemas: Record<string, IR.SchemaObject>, names?: Namespace): KtDecl[];
18
15
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQtD,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EACxC,KAAK,GAAE,SAA0B,GAChC,MAAM,EAAE,CAyDV"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EACxC,KAAK,GAAE,SAA0B,GAChC,MAAM,EAAE,CAgCV"}
package/dist/ir/schema.js CHANGED
@@ -1,4 +1,4 @@
1
- import { fromHeyApi, refName, schemaTypeName, } from "@ir-kit/openapi";
1
+ import { classifyComponents } from "@ir-kit/openapi";
2
2
  import { ktJsonElement, ktMap, ktRef, ktString, ktTypeAlias, } from "../ast/index.js";
3
3
  import { newTypeNames } from "./identifiers.js";
4
4
  import { buildEnumFromIR, buildStruct, schemaToType } from "./type/index.js";
@@ -11,57 +11,32 @@ import { buildEnumFromIR, buildStruct, schemaToType } from "./type/index.js";
11
11
  * - object schemas with only `additionalProperties` → typealias to
12
12
  * `Map<String, V>`
13
13
  * - everything else → typealias to the dispatcher's resolved type
14
- *
15
- * Schemas come in as hey-api's `IR.SchemaObject` and are folded to
16
- * canonical {@link Schema} at the boundary.
17
14
  */
18
15
  export function schemasToDecls(schemas, names = newTypeNames()) {
19
16
  const decls = [];
20
17
  const emit = (d) => decls.push(d);
21
- // Components claim their names before any synthesized inline type.
22
- for (const rawName of Object.keys(schemas))
23
- schemaTypeName(names, rawName);
24
- for (const [rawName, heySchema] of Object.entries(schemas)) {
25
- const name = schemaTypeName(names, rawName);
26
- const schema = fromHeyApi(heySchema);
27
- if (schema.$ref) {
28
- decls.push(ktTypeAlias({
29
- name,
30
- type: ktRef(schemaTypeName(names, refName(schema.$ref))),
31
- }));
32
- continue;
33
- }
34
- const isEnum = Array.isArray(schema.enum) && schema.enum.length > 0;
35
- if (isEnum) {
36
- buildEnumFromIR(name, schema, emit, names);
37
- continue;
38
- }
39
- if (schema.type === "object" && schema.properties) {
40
- decls.push(buildStruct(name, schema, { emit, names }));
41
- continue;
42
- }
43
- if (schema.type === "object") {
44
- const ap = schema.additionalProperties;
45
- const sealed = ap === false;
46
- if (sealed) {
18
+ for (const { name, schema, shape } of classifyComponents(schemas, names)) {
19
+ const ctx = () => ({ emit, names, ownerName: name, propPath: [] });
20
+ switch (shape.kind) {
21
+ case "ref":
22
+ decls.push(ktTypeAlias({ name, type: ktRef(shape.target) }));
23
+ break;
24
+ case "enum":
25
+ buildEnumFromIR(name, schema, emit, names);
26
+ break;
27
+ case "struct":
47
28
  decls.push(buildStruct(name, schema, { emit, names }));
48
- continue;
49
- }
50
- const valueType = ap && typeof ap === "object"
51
- ? schemaToType(ap, { emit, names, ownerName: name, propPath: [] })
52
- : ktJsonElement;
53
- decls.push(ktTypeAlias({ name, type: ktMap(ktString, valueType) }));
54
- continue;
29
+ break;
30
+ case "map":
31
+ decls.push(ktTypeAlias({
32
+ name,
33
+ type: ktMap(ktString, shape.value ? schemaToType(shape.value, ctx()) : ktJsonElement),
34
+ }));
35
+ break;
36
+ case "type":
37
+ decls.push(ktTypeAlias({ name, type: schemaToType(schema, ctx()) }));
38
+ break;
55
39
  }
56
- decls.push(ktTypeAlias({
57
- name,
58
- type: schemaToType(schema, {
59
- emit,
60
- names,
61
- ownerName: name,
62
- propPath: [],
63
- }),
64
- }));
65
40
  }
66
41
  return decls;
67
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/ir/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,aAAa,EACb,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAwC,EACxC,QAAmB,YAAY,EAAE;IAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,KAAK;gBACR,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,MAAM;gBACT,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,KAAK;gBACR,KAAK,CAAC,IAAI,CACR,WAAW,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,KAAK,CACT,QAAQ,EACR,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAC/D;iBACF,CAAC,CACH,CAAC;gBACF,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ir-kit/openapi-kotlin",
3
- "version": "2.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "Generate idiomatic Kotlin (OkHttp + kotlinx-serialization + suspend) client SDKs from an OpenAPI 3.x spec.",
5
5
  "keywords": [
6
6
  "openapi",
@@ -50,20 +50,20 @@
50
50
  "peerDependencies": {
51
51
  "@hey-api/shared": ">=0.3.0",
52
52
  "@hey-api/spec-types": ">=0.2.0",
53
- "@ir-kit/openapi-tools": ">=0.3.1"
53
+ "@ir-kit/openapi-tools": ">=0.4.0"
54
54
  },
55
55
  "dependencies": {
56
- "@ir-kit/codegen-core": "0.2.0",
57
- "@ir-kit/compiler-kotlin": "0.1.0",
58
- "@ir-kit/openapi": "0.4.0",
59
- "@ir-kit/openapi-loader": "0.3.0"
56
+ "@ir-kit/codegen-core": "0.3.0",
57
+ "@ir-kit/openapi": "0.5.0",
58
+ "@ir-kit/compiler-kotlin": "0.1.1",
59
+ "@ir-kit/openapi-loader": "0.4.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@hey-api/shared": "^0.4.2",
62
+ "@hey-api/shared": "^0.5.0",
63
63
  "@hey-api/spec-types": "^0.2.0",
64
64
  "@types/node": "^22",
65
65
  "vitest": "^4.0.0",
66
- "@ir-kit/openapi-tools": "0.3.1",
66
+ "@ir-kit/openapi-tools": "0.4.0",
67
67
  "@ir-kit/tsconfig": "0.0.0"
68
68
  },
69
69
  "engines": {