@ir-kit/openapi-kotlin 2.0.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.
- package/README.md +13 -13
- package/dist/ast/index.d.ts +152 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +159 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/generate.d.ts +1 -1
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +13 -27
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ir/identifiers.d.ts +7 -0
- package/dist/ir/identifiers.d.ts.map +1 -1
- package/dist/ir/identifiers.js +92 -3
- package/dist/ir/identifiers.js.map +1 -1
- package/dist/ir/impl/body.d.ts +4 -3
- package/dist/ir/impl/body.d.ts.map +1 -1
- package/dist/ir/impl/body.js +36 -37
- package/dist/ir/impl/body.js.map +1 -1
- package/dist/ir/impl/decode.d.ts +3 -2
- package/dist/ir/impl/decode.d.ts.map +1 -1
- package/dist/ir/impl/decode.js +16 -16
- package/dist/ir/impl/decode.js.map +1 -1
- package/dist/ir/impl/headers.d.ts +1 -1
- package/dist/ir/impl/headers.d.ts.map +1 -1
- package/dist/ir/impl/headers.js +3 -3
- package/dist/ir/impl/headers.js.map +1 -1
- package/dist/ir/impl/index.d.ts +5 -2
- package/dist/ir/impl/index.d.ts.map +1 -1
- package/dist/ir/impl/index.js +6 -7
- package/dist/ir/impl/index.js.map +1 -1
- package/dist/ir/impl/request.d.ts +6 -6
- package/dist/ir/impl/request.d.ts.map +1 -1
- package/dist/ir/impl/request.js +18 -8
- package/dist/ir/impl/request.js.map +1 -1
- package/dist/ir/impl/serializer.d.ts +4 -2
- package/dist/ir/impl/serializer.d.ts.map +1 -1
- package/dist/ir/impl/serializer.js +41 -60
- package/dist/ir/impl/serializer.js.map +1 -1
- package/dist/ir/impl/url.d.ts +1 -1
- package/dist/ir/impl/url.d.ts.map +1 -1
- package/dist/ir/impl/url.js +4 -4
- package/dist/ir/impl/url.js.map +1 -1
- package/dist/ir/index.d.ts +1 -1
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/index.js +1 -1
- package/dist/ir/index.js.map +1 -1
- package/dist/ir/operation/body.d.ts +1 -1
- package/dist/ir/operation/body.d.ts.map +1 -1
- package/dist/ir/operation/body.js +3 -3
- package/dist/ir/operation/body.js.map +1 -1
- package/dist/ir/operation/params.d.ts +1 -1
- package/dist/ir/operation/params.d.ts.map +1 -1
- package/dist/ir/operation/params.js +3 -3
- package/dist/ir/operation/params.js.map +1 -1
- package/dist/ir/operation/response.d.ts +3 -1
- package/dist/ir/operation/response.d.ts.map +1 -1
- package/dist/ir/operation/response.js +3 -4
- package/dist/ir/operation/response.js.map +1 -1
- package/dist/ir/operation/signature.d.ts +4 -2
- package/dist/ir/operation/signature.d.ts.map +1 -1
- package/dist/ir/operation/signature.js +5 -4
- package/dist/ir/operation/signature.js.map +1 -1
- package/dist/ir/operations.d.ts +7 -1
- package/dist/ir/operations.d.ts.map +1 -1
- package/dist/ir/operations.js +14 -17
- package/dist/ir/operations.js.map +1 -1
- package/dist/ir/runtime/index.d.ts +1 -1
- package/dist/ir/runtime/index.d.ts.map +1 -1
- package/dist/ir/runtime/index.js +1 -1
- package/dist/ir/runtime/index.js.map +1 -1
- package/dist/ir/runtime/templates.d.ts +1 -21
- package/dist/ir/runtime/templates.d.ts.map +1 -1
- package/dist/ir/runtime/templates.js +24 -428
- package/dist/ir/runtime/templates.js.map +1 -1
- package/dist/ir/schema.d.ts +3 -5
- package/dist/ir/schema.d.ts.map +1 -1
- package/dist/ir/schema.js +25 -37
- package/dist/ir/schema.js.map +1 -1
- package/dist/ir/type/context.d.ts +1 -1
- package/dist/ir/type/context.d.ts.map +1 -1
- package/dist/ir/type/index.d.ts +5 -3
- package/dist/ir/type/index.d.ts.map +1 -1
- package/dist/ir/type/index.js +12 -8
- package/dist/ir/type/index.js.map +1 -1
- package/dist/ir/type/primitive.d.ts +1 -1
- package/dist/ir/type/primitive.d.ts.map +1 -1
- package/dist/ir/type/primitive.js +1 -1
- package/dist/ir/type/primitive.js.map +1 -1
- package/dist/ir/type-ops.d.ts +2 -2
- package/dist/ir/type-ops.d.ts.map +1 -1
- package/dist/ir/type-ops.js +13 -17
- package/dist/ir/type-ops.js.map +1 -1
- package/dist/kt-compiler/index.d.ts +3 -6
- package/dist/kt-compiler/index.d.ts.map +1 -1
- package/dist/kt-compiler/index.js +7 -22
- package/dist/kt-compiler/index.js.map +1 -1
- package/dist/project/build.d.ts +1 -1
- package/dist/project/build.d.ts.map +1 -1
- package/dist/project/build.js +6 -8
- package/dist/project/build.js.map +1 -1
- package/dist/project/imports.d.ts +12 -12
- package/dist/project/imports.d.ts.map +1 -1
- package/dist/project/imports.js +60 -138
- package/dist/project/imports.js.map +1 -1
- package/dist/project/layout.d.ts +1 -1
- package/dist/project/layout.d.ts.map +1 -1
- package/dist/project/layout.js +1 -3
- package/dist/project/layout.js.map +1 -1
- package/package.json +12 -10
- package/runtime/APIClient.kt +140 -0
- package/runtime/APIError.kt +42 -0
- package/runtime/APIInterceptors.kt +14 -0
- package/runtime/APIKeyLocation.kt +7 -0
- package/runtime/Auth.kt +86 -0
- package/runtime/MultipartFormBody.kt +41 -0
- package/runtime/QueryStyle.kt +12 -0
- package/runtime/RequestOptions.kt +29 -0
- package/runtime/URLEncoding.kt +45 -0
- package/dist/kt-compiler/decl/class.d.ts +0 -6
- package/dist/kt-compiler/decl/class.d.ts.map +0 -1
- package/dist/kt-compiler/decl/class.js +0 -38
- package/dist/kt-compiler/decl/class.js.map +0 -1
- package/dist/kt-compiler/decl/dataClass.d.ts +0 -3
- package/dist/kt-compiler/decl/dataClass.d.ts.map +0 -1
- package/dist/kt-compiler/decl/dataClass.js +0 -18
- package/dist/kt-compiler/decl/dataClass.js.map +0 -1
- package/dist/kt-compiler/decl/enum.d.ts +0 -3
- package/dist/kt-compiler/decl/enum.d.ts.map +0 -1
- package/dist/kt-compiler/decl/enum.js +0 -32
- package/dist/kt-compiler/decl/enum.js.map +0 -1
- package/dist/kt-compiler/decl/fun.d.ts +0 -11
- package/dist/kt-compiler/decl/fun.d.ts.map +0 -1
- package/dist/kt-compiler/decl/fun.js +0 -69
- package/dist/kt-compiler/decl/fun.js.map +0 -1
- package/dist/kt-compiler/decl/index.d.ts +0 -13
- package/dist/kt-compiler/decl/index.d.ts.map +0 -1
- package/dist/kt-compiler/decl/index.js +0 -39
- package/dist/kt-compiler/decl/index.js.map +0 -1
- package/dist/kt-compiler/decl/interface.d.ts +0 -3
- package/dist/kt-compiler/decl/interface.d.ts.map +0 -1
- package/dist/kt-compiler/decl/interface.js +0 -15
- package/dist/kt-compiler/decl/interface.js.map +0 -1
- package/dist/kt-compiler/decl/object.d.ts +0 -3
- package/dist/kt-compiler/decl/object.d.ts.map +0 -1
- package/dist/kt-compiler/decl/object.js +0 -19
- package/dist/kt-compiler/decl/object.js.map +0 -1
- package/dist/kt-compiler/decl/prop.d.ts +0 -20
- package/dist/kt-compiler/decl/prop.d.ts.map +0 -1
- package/dist/kt-compiler/decl/prop.js +0 -42
- package/dist/kt-compiler/decl/prop.js.map +0 -1
- package/dist/kt-compiler/decl/sealedClass.d.ts +0 -3
- package/dist/kt-compiler/decl/sealedClass.d.ts.map +0 -1
- package/dist/kt-compiler/decl/sealedClass.js +0 -32
- package/dist/kt-compiler/decl/sealedClass.js.map +0 -1
- package/dist/kt-compiler/decl/topLevel.d.ts +0 -3
- package/dist/kt-compiler/decl/topLevel.d.ts.map +0 -1
- package/dist/kt-compiler/decl/topLevel.js +0 -5
- package/dist/kt-compiler/decl/topLevel.js.map +0 -1
- package/dist/kt-compiler/decl/typeAlias.d.ts +0 -3
- package/dist/kt-compiler/decl/typeAlias.d.ts.map +0 -1
- package/dist/kt-compiler/decl/typeAlias.js +0 -6
- package/dist/kt-compiler/decl/typeAlias.js.map +0 -1
- package/dist/kt-compiler/expr.d.ts +0 -4
- package/dist/kt-compiler/expr.d.ts.map +0 -1
- package/dist/kt-compiler/expr.js +0 -123
- package/dist/kt-compiler/expr.js.map +0 -1
- package/dist/kt-compiler/format.d.ts +0 -20
- package/dist/kt-compiler/format.d.ts.map +0 -1
- package/dist/kt-compiler/format.js +0 -27
- package/dist/kt-compiler/format.js.map +0 -1
- package/dist/kt-compiler/stmt.d.ts +0 -4
- package/dist/kt-compiler/stmt.d.ts.map +0 -1
- package/dist/kt-compiler/stmt.js +0 -72
- package/dist/kt-compiler/stmt.js.map +0 -1
- package/dist/kt-compiler/type.d.ts +0 -3
- package/dist/kt-compiler/type.d.ts.map +0 -1
- package/dist/kt-compiler/type.js +0 -28
- package/dist/kt-compiler/type.js.map +0 -1
- package/dist/kt-dsl/decl/class.d.ts +0 -50
- package/dist/kt-dsl/decl/class.d.ts.map +0 -1
- package/dist/kt-dsl/decl/class.js +0 -33
- package/dist/kt-dsl/decl/class.js.map +0 -1
- package/dist/kt-dsl/decl/dataClass.d.ts +0 -36
- package/dist/kt-dsl/decl/dataClass.d.ts.map +0 -1
- package/dist/kt-dsl/decl/dataClass.js +0 -25
- package/dist/kt-dsl/decl/dataClass.js.map +0 -1
- package/dist/kt-dsl/decl/enum.d.ts +0 -60
- package/dist/kt-dsl/decl/enum.d.ts.map +0 -1
- package/dist/kt-dsl/decl/enum.js +0 -38
- package/dist/kt-dsl/decl/enum.js.map +0 -1
- package/dist/kt-dsl/decl/index.d.ts +0 -11
- package/dist/kt-dsl/decl/index.d.ts.map +0 -1
- package/dist/kt-dsl/decl/index.js +0 -11
- package/dist/kt-dsl/decl/index.js.map +0 -1
- package/dist/kt-dsl/decl/interface.d.ts +0 -33
- package/dist/kt-dsl/decl/interface.d.ts.map +0 -1
- package/dist/kt-dsl/decl/interface.js +0 -24
- package/dist/kt-dsl/decl/interface.js.map +0 -1
- package/dist/kt-dsl/decl/object.d.ts +0 -34
- package/dist/kt-dsl/decl/object.d.ts.map +0 -1
- package/dist/kt-dsl/decl/object.js +0 -24
- package/dist/kt-dsl/decl/object.js.map +0 -1
- package/dist/kt-dsl/decl/prop.d.ts +0 -47
- package/dist/kt-dsl/decl/prop.d.ts.map +0 -1
- package/dist/kt-dsl/decl/prop.js +0 -28
- package/dist/kt-dsl/decl/prop.js.map +0 -1
- package/dist/kt-dsl/decl/sealedClass.d.ts +0 -68
- package/dist/kt-dsl/decl/sealedClass.d.ts.map +0 -1
- package/dist/kt-dsl/decl/sealedClass.js +0 -52
- package/dist/kt-dsl/decl/sealedClass.js.map +0 -1
- package/dist/kt-dsl/decl/topLevel.d.ts +0 -19
- package/dist/kt-dsl/decl/topLevel.d.ts.map +0 -1
- package/dist/kt-dsl/decl/topLevel.js +0 -17
- package/dist/kt-dsl/decl/topLevel.js.map +0 -1
- package/dist/kt-dsl/decl/typeAlias.d.ts +0 -23
- package/dist/kt-dsl/decl/typeAlias.d.ts.map +0 -1
- package/dist/kt-dsl/decl/typeAlias.js +0 -18
- package/dist/kt-dsl/decl/typeAlias.js.map +0 -1
- package/dist/kt-dsl/decl/types.d.ts +0 -10
- package/dist/kt-dsl/decl/types.d.ts.map +0 -1
- package/dist/kt-dsl/decl/types.js +0 -2
- package/dist/kt-dsl/decl/types.js.map +0 -1
- package/dist/kt-dsl/expr/access.d.ts +0 -48
- package/dist/kt-dsl/expr/access.d.ts.map +0 -1
- package/dist/kt-dsl/expr/access.js +0 -59
- package/dist/kt-dsl/expr/access.js.map +0 -1
- package/dist/kt-dsl/expr/call.d.ts +0 -38
- package/dist/kt-dsl/expr/call.d.ts.map +0 -1
- package/dist/kt-dsl/expr/call.js +0 -38
- package/dist/kt-dsl/expr/call.js.map +0 -1
- package/dist/kt-dsl/expr/index.d.ts +0 -7
- package/dist/kt-dsl/expr/index.d.ts.map +0 -1
- package/dist/kt-dsl/expr/index.js +0 -7
- package/dist/kt-dsl/expr/index.js.map +0 -1
- package/dist/kt-dsl/expr/literal.d.ts +0 -100
- package/dist/kt-dsl/expr/literal.d.ts.map +0 -1
- package/dist/kt-dsl/expr/literal.js +0 -108
- package/dist/kt-dsl/expr/literal.js.map +0 -1
- package/dist/kt-dsl/expr/misc.d.ts +0 -45
- package/dist/kt-dsl/expr/misc.d.ts.map +0 -1
- package/dist/kt-dsl/expr/misc.js +0 -63
- package/dist/kt-dsl/expr/misc.js.map +0 -1
- package/dist/kt-dsl/expr/op.d.ts +0 -25
- package/dist/kt-dsl/expr/op.d.ts.map +0 -1
- package/dist/kt-dsl/expr/op.js +0 -24
- package/dist/kt-dsl/expr/op.js.map +0 -1
- package/dist/kt-dsl/expr/types.d.ts +0 -93
- package/dist/kt-dsl/expr/types.d.ts.map +0 -1
- package/dist/kt-dsl/expr/types.js +0 -2
- package/dist/kt-dsl/expr/types.js.map +0 -1
- package/dist/kt-dsl/file.d.ts +0 -14
- package/dist/kt-dsl/file.d.ts.map +0 -1
- package/dist/kt-dsl/file.js +0 -9
- package/dist/kt-dsl/file.js.map +0 -1
- package/dist/kt-dsl/fun.d.ts +0 -73
- package/dist/kt-dsl/fun.d.ts.map +0 -1
- package/dist/kt-dsl/fun.js +0 -50
- package/dist/kt-dsl/fun.js.map +0 -1
- package/dist/kt-dsl/index.d.ts +0 -8
- package/dist/kt-dsl/index.d.ts.map +0 -1
- package/dist/kt-dsl/index.js +0 -8
- package/dist/kt-dsl/index.js.map +0 -1
- package/dist/kt-dsl/stmt/binding.d.ts +0 -56
- package/dist/kt-dsl/stmt/binding.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/binding.js +0 -70
- package/dist/kt-dsl/stmt/binding.js.map +0 -1
- package/dist/kt-dsl/stmt/control.d.ts +0 -80
- package/dist/kt-dsl/stmt/control.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/control.js +0 -77
- package/dist/kt-dsl/stmt/control.js.map +0 -1
- package/dist/kt-dsl/stmt/index.d.ts +0 -4
- package/dist/kt-dsl/stmt/index.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/index.js +0 -4
- package/dist/kt-dsl/stmt/index.js.map +0 -1
- package/dist/kt-dsl/stmt/types.d.ts +0 -62
- package/dist/kt-dsl/stmt/types.d.ts.map +0 -1
- package/dist/kt-dsl/stmt/types.js +0 -2
- package/dist/kt-dsl/stmt/types.js.map +0 -1
- package/dist/kt-dsl/type/builders.d.ts +0 -75
- package/dist/kt-dsl/type/builders.d.ts.map +0 -1
- package/dist/kt-dsl/type/builders.js +0 -83
- package/dist/kt-dsl/type/builders.js.map +0 -1
- package/dist/kt-dsl/type/index.d.ts +0 -3
- package/dist/kt-dsl/type/index.d.ts.map +0 -1
- package/dist/kt-dsl/type/index.js +0 -3
- package/dist/kt-dsl/type/index.js.map +0 -1
- package/dist/kt-dsl/type/types.d.ts +0 -25
- package/dist/kt-dsl/type/types.d.ts.map +0 -1
- package/dist/kt-dsl/type/types.js +0 -2
- package/dist/kt-dsl/type/types.js.map +0 -1
- package/dist/kt-dsl/visibility.d.ts +0 -2
- package/dist/kt-dsl/visibility.d.ts.map +0 -1
- package/dist/kt-dsl/visibility.js +0 -2
- package/dist/kt-dsl/visibility.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"topLevel.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/topLevel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAEzD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"topLevel.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/topLevel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeAlias.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/typeAlias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAErD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeAlias.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/typeAlias.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACvF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/expr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKpE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmD3C;AAqDD,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAqBxE"}
|
package/dist/kt-compiler/expr.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { INDENT, isSimpleIdent } from "./format.js";
|
|
2
|
-
import { printStmt } from "./stmt.js";
|
|
3
|
-
import { printType } from "./type.js";
|
|
4
|
-
export function printExpr(e) {
|
|
5
|
-
switch (e.kind) {
|
|
6
|
-
case "ident":
|
|
7
|
-
return e.name;
|
|
8
|
-
case "this":
|
|
9
|
-
return "this";
|
|
10
|
-
case "str":
|
|
11
|
-
return printStringLiteral(e.value);
|
|
12
|
-
case "int":
|
|
13
|
-
return String(e.value);
|
|
14
|
-
case "long":
|
|
15
|
-
return `${String(e.value)}L`;
|
|
16
|
-
case "double": {
|
|
17
|
-
const s = String(e.value);
|
|
18
|
-
return s.includes(".") ? s : `${s}.0`;
|
|
19
|
-
}
|
|
20
|
-
case "bool":
|
|
21
|
-
return e.value ? "true" : "false";
|
|
22
|
-
case "null":
|
|
23
|
-
return "null";
|
|
24
|
-
case "underscore":
|
|
25
|
-
return "_";
|
|
26
|
-
case "interp":
|
|
27
|
-
return printInterp(e.parts);
|
|
28
|
-
case "listLit":
|
|
29
|
-
return `listOf(${e.items.map(printExpr).join(", ")})`;
|
|
30
|
-
case "mapLit":
|
|
31
|
-
return e.pairs.length === 0
|
|
32
|
-
? "mapOf()"
|
|
33
|
-
: `mapOf(${e.pairs.map(([k, v]) => `${printExpr(k)} to ${printExpr(v)}`).join(", ")})`;
|
|
34
|
-
case "member":
|
|
35
|
-
return `${printExpr(e.on)}.${e.name}`;
|
|
36
|
-
case "safeMember":
|
|
37
|
-
return `${printExpr(e.on)}?.${e.name}`;
|
|
38
|
-
case "index":
|
|
39
|
-
return `${printExpr(e.on)}[${printExpr(e.index)}]`;
|
|
40
|
-
case "notNull":
|
|
41
|
-
return `${printExpr(e.on)}!!`;
|
|
42
|
-
case "call":
|
|
43
|
-
return printCall(e);
|
|
44
|
-
case "binOp":
|
|
45
|
-
return `${printExpr(e.left)} ${e.op} ${printExpr(e.right)}`;
|
|
46
|
-
case "lambda":
|
|
47
|
-
return printLambda(e);
|
|
48
|
-
case "range":
|
|
49
|
-
return `${printExpr(e.low)} ${e.halfOpen ? "until" : ".."} ${printExpr(e.high)}`;
|
|
50
|
-
case "cast":
|
|
51
|
-
return `${printExpr(e.expr)} ${e.safe ? "as?" : "as"} ${printType(e.type)}`;
|
|
52
|
-
case "typeRef":
|
|
53
|
-
return `${printType(e.type)}::class`;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function printStringLiteral(s) {
|
|
57
|
-
// Kotlin strings: same as JSON for the basic forms, but `$` is also
|
|
58
|
-
// significant inside a `"…"` literal because of string templates, so
|
|
59
|
-
// we escape it too.
|
|
60
|
-
return JSON.stringify(s).replace(/\$/g, "\\$");
|
|
61
|
-
}
|
|
62
|
-
function escapeForKotlinTemplate(s) {
|
|
63
|
-
return s
|
|
64
|
-
.replace(/\\/g, "\\\\")
|
|
65
|
-
.replace(/"/g, '\\"')
|
|
66
|
-
.replace(/\n/g, "\\n")
|
|
67
|
-
.replace(/\r/g, "\\r")
|
|
68
|
-
.replace(/\t/g, "\\t")
|
|
69
|
-
.replace(/\$/g, "\\$");
|
|
70
|
-
}
|
|
71
|
-
function printInterp(parts) {
|
|
72
|
-
const inner = parts
|
|
73
|
-
.map((p) => {
|
|
74
|
-
if (typeof p === "string")
|
|
75
|
-
return escapeForKotlinTemplate(p);
|
|
76
|
-
// Bare-identifier shorthand: `$ident` is preferred to `${ident}`
|
|
77
|
-
// when the identifier is unambiguous.
|
|
78
|
-
if (p.kind === "ident" && isSimpleIdent(p.name))
|
|
79
|
-
return `$${p.name}`;
|
|
80
|
-
return `\${${printExpr(p)}}`;
|
|
81
|
-
})
|
|
82
|
-
.join("");
|
|
83
|
-
return `"${inner}"`;
|
|
84
|
-
}
|
|
85
|
-
function printCall(e) {
|
|
86
|
-
const typeArgs = e.typeArgs && e.typeArgs.length > 0
|
|
87
|
-
? `<${e.typeArgs.map(printType).join(", ")}>`
|
|
88
|
-
: "";
|
|
89
|
-
const args = e.args
|
|
90
|
-
.map((a) => a.label === undefined
|
|
91
|
-
? printExpr(a.expr)
|
|
92
|
-
: `${a.label} = ${printExpr(a.expr)}`)
|
|
93
|
-
.join(", ");
|
|
94
|
-
// When a call has no positional args and a trailing lambda, the
|
|
95
|
-
// empty parens are omitted: `client.execute { ... }`.
|
|
96
|
-
const head = e.args.length > 0 || !e.trailingLambda
|
|
97
|
-
? `${printExpr(e.callee)}${typeArgs}(${args})`
|
|
98
|
-
: `${printExpr(e.callee)}${typeArgs}`;
|
|
99
|
-
return e.trailingLambda ? `${head} ${printLambda(e.trailingLambda)}` : head;
|
|
100
|
-
}
|
|
101
|
-
export function printLambda(c, indent = "") {
|
|
102
|
-
if (c.body.length === 1) {
|
|
103
|
-
const only = c.body[0];
|
|
104
|
-
const params = c.params.length === 0 ? "" : `${c.params.join(", ")} -> `;
|
|
105
|
-
if (only.kind === "returnExpr" || only.kind === "expr") {
|
|
106
|
-
const expr = only.kind === "returnExpr"
|
|
107
|
-
? only.expr
|
|
108
|
-
: only.expr;
|
|
109
|
-
return `{ ${params}${printExpr(expr)} }`;
|
|
110
|
-
}
|
|
111
|
-
if (only.kind === "assign") {
|
|
112
|
-
return `{ ${params}${printExpr(only.target)} = ${printExpr(only.value)} }`;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
if (c.body.length === 0) {
|
|
116
|
-
return c.params.length === 0 ? "{}" : `{ ${c.params.join(", ")} -> }`;
|
|
117
|
-
}
|
|
118
|
-
const stmts = c.body.map((s) => printStmt(s, indent + INDENT)).join("\n");
|
|
119
|
-
if (c.params.length === 0)
|
|
120
|
-
return `{\n${stmts}\n${indent}}`;
|
|
121
|
-
return `{ ${c.params.join(", ")} ->\n${stmts}\n${indent}}`;
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=expr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/kt-compiler/expr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { KtVisibility } from "../kt-dsl/visibility.js";
|
|
2
|
-
export declare const INDENT = " ";
|
|
3
|
-
/**
|
|
4
|
-
* Kotlin's default visibility is `public`, but `public` is a valid
|
|
5
|
-
* keyword and emitting it explicitly keeps the generated source
|
|
6
|
-
* unambiguous when reading. `internal` / `private` / `protected`
|
|
7
|
-
* always need to be explicit.
|
|
8
|
-
*/
|
|
9
|
-
export declare const visibilityPrefix: (v: KtVisibility) => string;
|
|
10
|
-
export declare const superTypeTail: (superTypes: ReadonlyArray<string>,
|
|
11
|
-
/** Render the first super-type as a constructor invocation
|
|
12
|
-
* (`Super()`) — needed for sealed-class subclasses. */
|
|
13
|
-
parenFirst?: boolean) => string;
|
|
14
|
-
export declare const indented: (lines: ReadonlyArray<string>, indent: string) => string;
|
|
15
|
-
/**
|
|
16
|
-
* True when `name` is a bare identifier safe to render after `$` in
|
|
17
|
-
* a string template without `${...}` braces.
|
|
18
|
-
*/
|
|
19
|
-
export declare const isSimpleIdent: (name: string) => boolean;
|
|
20
|
-
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,eAAO,MAAM,MAAM,SAAS,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,YAAY,KAAG,MAAiB,CAAC;AAErE,eAAO,MAAM,aAAa,GACxB,YAAY,aAAa,CAAC,MAAM,CAAC;AACjC;wDACwD;AACxD,oBAAkB,KACjB,MAKF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,aAAa,CAAC,MAAM,CAAC,EAC5B,QAAQ,MAAM,KACb,MAAsD,CAAC;AAI1D;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OACjB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export const INDENT = " ";
|
|
2
|
-
/**
|
|
3
|
-
* Kotlin's default visibility is `public`, but `public` is a valid
|
|
4
|
-
* keyword and emitting it explicitly keeps the generated source
|
|
5
|
-
* unambiguous when reading. `internal` / `private` / `protected`
|
|
6
|
-
* always need to be explicit.
|
|
7
|
-
*/
|
|
8
|
-
export const visibilityPrefix = (v) => `${v} `;
|
|
9
|
-
export const superTypeTail = (superTypes,
|
|
10
|
-
/** Render the first super-type as a constructor invocation
|
|
11
|
-
* (`Super()`) — needed for sealed-class subclasses. */
|
|
12
|
-
parenFirst = false) => {
|
|
13
|
-
if (superTypes.length === 0)
|
|
14
|
-
return "";
|
|
15
|
-
if (!parenFirst)
|
|
16
|
-
return ` : ${superTypes.join(", ")}`;
|
|
17
|
-
const [head, ...rest] = superTypes;
|
|
18
|
-
return ` : ${head}()${rest.length > 0 ? `, ${rest.join(", ")}` : ""}`;
|
|
19
|
-
};
|
|
20
|
-
export const indented = (lines, indent) => lines.map((l) => `${indent}${l}`).join("\n");
|
|
21
|
-
const KOTLIN_IDENT_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
22
|
-
/**
|
|
23
|
-
* True when `name` is a bare identifier safe to render after `$` in
|
|
24
|
-
* a string template without `${...}` braces.
|
|
25
|
-
*/
|
|
26
|
-
export const isSimpleIdent = (name) => KOTLIN_IDENT_RE.test(name);
|
|
27
|
-
//# sourceMappingURL=format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/kt-compiler/format.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAAiC;AACjC;wDACwD;AACxD,UAAU,GAAG,KAAK,EACV,EAAE;IACV,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IACnC,OAAO,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAA4B,EAC5B,MAAc,EACN,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CACrD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stmt.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/stmt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKtD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAmChE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,MAAM,EAAE,MAAM,GACb,MAAM,CAIR"}
|
package/dist/kt-compiler/stmt.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { printExpr } from "./expr.js";
|
|
2
|
-
import { INDENT } from "./format.js";
|
|
3
|
-
import { printType } from "./type.js";
|
|
4
|
-
export function printStmt(s, indent = "") {
|
|
5
|
-
switch (s.kind) {
|
|
6
|
-
case "val": {
|
|
7
|
-
const type = s.type ? `: ${printType(s.type)}` : "";
|
|
8
|
-
return `${indent}val ${s.name}${type} = ${printExpr(s.expr)}`;
|
|
9
|
-
}
|
|
10
|
-
case "var": {
|
|
11
|
-
const type = s.type ? `: ${printType(s.type)}` : "";
|
|
12
|
-
return `${indent}var ${s.name}${type} = ${printExpr(s.expr)}`;
|
|
13
|
-
}
|
|
14
|
-
case "assign":
|
|
15
|
-
return `${indent}${printExpr(s.target)} = ${printExpr(s.value)}`;
|
|
16
|
-
case "expr":
|
|
17
|
-
return `${indent}${printExpr(s.expr)}`;
|
|
18
|
-
case "returnExpr":
|
|
19
|
-
// Marker for single-expression bodies. The decl-printer recognizes
|
|
20
|
-
// it and renders `= expr` instead of `{ expr }`. When emitted at
|
|
21
|
-
// statement scope (e.g. inside a block), we treat it as a plain
|
|
22
|
-
// `return expr` for safety.
|
|
23
|
-
return `${indent}return ${printExpr(s.expr)}`;
|
|
24
|
-
case "return":
|
|
25
|
-
return s.expr === undefined
|
|
26
|
-
? `${indent}return`
|
|
27
|
-
: `${indent}return ${printExpr(s.expr)}`;
|
|
28
|
-
case "throw":
|
|
29
|
-
return `${indent}throw ${printExpr(s.expr)}`;
|
|
30
|
-
case "if":
|
|
31
|
-
return printIf(s, indent);
|
|
32
|
-
case "when":
|
|
33
|
-
return printWhen(s, indent);
|
|
34
|
-
case "tryCatch":
|
|
35
|
-
return printTryCatch(s, indent);
|
|
36
|
-
case "forIn":
|
|
37
|
-
return `${indent}for (${s.name} in ${printExpr(s.source)}) ${printBlock(s.body, indent)}`;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export function printBlock(body, indent) {
|
|
41
|
-
if (body.length === 0)
|
|
42
|
-
return "{}";
|
|
43
|
-
const inner = body.map((s) => printStmt(s, indent + INDENT)).join("\n");
|
|
44
|
-
return `{\n${inner}\n${indent}}`;
|
|
45
|
-
}
|
|
46
|
-
function printIf(s, indent) {
|
|
47
|
-
const head = `${indent}if (${printExpr(s.cond)}) ${printBlock(s.then, indent)}`;
|
|
48
|
-
if (!s.else_)
|
|
49
|
-
return head;
|
|
50
|
-
return `${head} else ${printBlock(s.else_, indent)}`;
|
|
51
|
-
}
|
|
52
|
-
function printWhen(s, indent) {
|
|
53
|
-
const head = s.on === undefined ? "when" : `when (${printExpr(s.on)})`;
|
|
54
|
-
const lines = [`${indent}${head} {`];
|
|
55
|
-
for (const c of s.cases) {
|
|
56
|
-
const patterns = c.patterns.map(printExpr).join(", ");
|
|
57
|
-
lines.push(`${indent}${INDENT}${patterns} -> ${printBlock(c.body, indent + INDENT)}`);
|
|
58
|
-
}
|
|
59
|
-
if (s.default_) {
|
|
60
|
-
lines.push(`${indent}${INDENT}else -> ${printBlock(s.default_, indent + INDENT)}`);
|
|
61
|
-
}
|
|
62
|
-
lines.push(`${indent}}`);
|
|
63
|
-
return lines.join("\n");
|
|
64
|
-
}
|
|
65
|
-
function printTryCatch(s, indent) {
|
|
66
|
-
const body = printBlock(s.body, indent);
|
|
67
|
-
const catches = s.catches
|
|
68
|
-
.map((c) => ` catch (${c.name}: ${printType(c.type)}) ${printBlock(c.body, indent)}`)
|
|
69
|
-
.join("");
|
|
70
|
-
return `${indent}try ${body}${catches}`;
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=stmt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stmt.js","sourceRoot":"","sources":["../../src/kt-compiler/stmt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA2B3C"}
|
package/dist/kt-compiler/type.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export function printType(t) {
|
|
2
|
-
switch (t.kind) {
|
|
3
|
-
case "primitive":
|
|
4
|
-
return t.name;
|
|
5
|
-
case "list":
|
|
6
|
-
return `List<${printType(t.element)}>`;
|
|
7
|
-
case "map":
|
|
8
|
-
return `Map<${printType(t.key)}, ${printType(t.value)}>`;
|
|
9
|
-
case "ref": {
|
|
10
|
-
const args = t.args && t.args.length > 0
|
|
11
|
-
? `<${t.args.map(printType).join(", ")}>`
|
|
12
|
-
: "";
|
|
13
|
-
return `${t.name}${args}`;
|
|
14
|
-
}
|
|
15
|
-
case "nullable":
|
|
16
|
-
// Function-type `?` needs parens so the optional binds to the
|
|
17
|
-
// whole function, not its return type.
|
|
18
|
-
return t.inner.kind === "func"
|
|
19
|
-
? `(${printType(t.inner)})?`
|
|
20
|
-
: `${printType(t.inner)}?`;
|
|
21
|
-
case "func": {
|
|
22
|
-
const params = `(${t.params.map(printType).join(", ")})`;
|
|
23
|
-
const suspend = t.suspend ? "suspend " : "";
|
|
24
|
-
return `${suspend}${params} -> ${printType(t.returnType)}`;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kt-compiler/type.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,QAAQ,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3D,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACzC,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,UAAU;YACb,8DAA8D;YAC9D,uCAAuC;YACvC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAC5B,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;gBAC5B,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACzD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { KtFun, KtFunParam } from "../fun.js";
|
|
2
|
-
import type { KtStmt } from "../stmt/types.js";
|
|
3
|
-
import type { KtVisibility } from "../visibility.js";
|
|
4
|
-
import type { KtAnnotation, KtProp } from "./prop.js";
|
|
5
|
-
export type KtClassModifier = "open" | "abstract" | "final";
|
|
6
|
-
export interface KtClass {
|
|
7
|
-
kind: "class";
|
|
8
|
-
name: string;
|
|
9
|
-
visibility: KtVisibility;
|
|
10
|
-
modifiers: ReadonlyArray<KtClassModifier>;
|
|
11
|
-
annotations: ReadonlyArray<KtAnnotation>;
|
|
12
|
-
/** Primary-constructor parameters that are NOT also props (rare in Kotlin SDK code). */
|
|
13
|
-
ctorParams: ReadonlyArray<KtFunParam>;
|
|
14
|
-
superTypes: ReadonlyArray<string>;
|
|
15
|
-
properties: ReadonlyArray<KtProp>;
|
|
16
|
-
funs: ReadonlyArray<KtFun>;
|
|
17
|
-
/** `init { ... }` block contents — runs after primary-ctor binding. */
|
|
18
|
-
initBlock?: ReadonlyArray<KtStmt>;
|
|
19
|
-
runtime?: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Top-level class. Default modifier is `final` (Kotlin's default — no
|
|
23
|
-
* explicit keyword printed). Pass `["open"]` to allow subclassing.
|
|
24
|
-
*
|
|
25
|
-
* Property-style class members:
|
|
26
|
-
* - props with `inPrimary: true` go into the primary constructor
|
|
27
|
-
* parameter list as `val name: T` / `var name: T`.
|
|
28
|
-
* - props without `inPrimary` are emitted in the body.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```kotlin
|
|
32
|
-
* // ktClass({ name: "ApiClient",
|
|
33
|
-
* // properties: [ktProp({ name: "baseUrl", type: ktString, inPrimary: true })],
|
|
34
|
-
* // funs: [...] })
|
|
35
|
-
* // → public class ApiClient(public val baseUrl: String) { … }
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare function ktClass(opts: {
|
|
39
|
-
name: string;
|
|
40
|
-
properties?: ReadonlyArray<KtProp>;
|
|
41
|
-
funs?: ReadonlyArray<KtFun>;
|
|
42
|
-
ctorParams?: ReadonlyArray<KtFunParam>;
|
|
43
|
-
superTypes?: ReadonlyArray<string>;
|
|
44
|
-
modifiers?: ReadonlyArray<KtClassModifier>;
|
|
45
|
-
annotations?: ReadonlyArray<KtAnnotation>;
|
|
46
|
-
initBlock?: ReadonlyArray<KtStmt>;
|
|
47
|
-
visibility?: KtVisibility;
|
|
48
|
-
runtime?: boolean;
|
|
49
|
-
}): KtClass;
|
|
50
|
-
//# sourceMappingURL=class.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,wFAAwF;IACxF,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,uEAAuE;IACvE,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAcV"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Top-level class. Default modifier is `final` (Kotlin's default — no
|
|
3
|
-
* explicit keyword printed). Pass `["open"]` to allow subclassing.
|
|
4
|
-
*
|
|
5
|
-
* Property-style class members:
|
|
6
|
-
* - props with `inPrimary: true` go into the primary constructor
|
|
7
|
-
* parameter list as `val name: T` / `var name: T`.
|
|
8
|
-
* - props without `inPrimary` are emitted in the body.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```kotlin
|
|
12
|
-
* // ktClass({ name: "ApiClient",
|
|
13
|
-
* // properties: [ktProp({ name: "baseUrl", type: ktString, inPrimary: true })],
|
|
14
|
-
* // funs: [...] })
|
|
15
|
-
* // → public class ApiClient(public val baseUrl: String) { … }
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export function ktClass(opts) {
|
|
19
|
-
return {
|
|
20
|
-
kind: "class",
|
|
21
|
-
name: opts.name,
|
|
22
|
-
visibility: opts.visibility ?? "public",
|
|
23
|
-
modifiers: opts.modifiers ?? [],
|
|
24
|
-
annotations: opts.annotations ?? [],
|
|
25
|
-
ctorParams: opts.ctorParams ?? [],
|
|
26
|
-
superTypes: opts.superTypes ?? [],
|
|
27
|
-
properties: opts.properties ?? [],
|
|
28
|
-
funs: opts.funs ?? [],
|
|
29
|
-
initBlock: opts.initBlock,
|
|
30
|
-
runtime: opts.runtime,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/kt-dsl/decl/class.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,IAWvB;IACC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { KtFun } from "../fun.js";
|
|
2
|
-
import type { KtVisibility } from "../visibility.js";
|
|
3
|
-
import type { KtAnnotation, KtProp } from "./prop.js";
|
|
4
|
-
export interface KtDataClass {
|
|
5
|
-
kind: "dataClass";
|
|
6
|
-
name: string;
|
|
7
|
-
visibility: KtVisibility;
|
|
8
|
-
annotations: ReadonlyArray<KtAnnotation>;
|
|
9
|
-
superTypes: ReadonlyArray<string>;
|
|
10
|
-
/** All props live in the primary constructor on a data class. */
|
|
11
|
-
properties: ReadonlyArray<KtProp>;
|
|
12
|
-
funs: ReadonlyArray<KtFun>;
|
|
13
|
-
runtime?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Top-level data class — Kotlin idiom for the equivalent of Swift's
|
|
17
|
-
* `Codable struct`. Properties are emitted in the primary constructor.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```kotlin
|
|
21
|
-
* // ktDataClass({ name: "User", annotations: [ktAnnotation("Serializable")],
|
|
22
|
-
* // properties: [ktProp({ name: "id", type: ktString })] })
|
|
23
|
-
* // → @Serializable
|
|
24
|
-
* // public data class User(val id: String)
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export declare function ktDataClass(opts: {
|
|
28
|
-
name: string;
|
|
29
|
-
properties: ReadonlyArray<KtProp>;
|
|
30
|
-
annotations?: ReadonlyArray<KtAnnotation>;
|
|
31
|
-
superTypes?: ReadonlyArray<string>;
|
|
32
|
-
visibility?: KtVisibility;
|
|
33
|
-
funs?: ReadonlyArray<KtFun>;
|
|
34
|
-
runtime?: boolean;
|
|
35
|
-
}): KtDataClass;
|
|
36
|
-
//# sourceMappingURL=dataClass.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataClass.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/dataClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,iEAAiE;IACjE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,WAAW,CAWd"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Top-level data class — Kotlin idiom for the equivalent of Swift's
|
|
3
|
-
* `Codable struct`. Properties are emitted in the primary constructor.
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```kotlin
|
|
7
|
-
* // ktDataClass({ name: "User", annotations: [ktAnnotation("Serializable")],
|
|
8
|
-
* // properties: [ktProp({ name: "id", type: ktString })] })
|
|
9
|
-
* // → @Serializable
|
|
10
|
-
* // public data class User(val id: String)
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export function ktDataClass(opts) {
|
|
14
|
-
return {
|
|
15
|
-
kind: "dataClass",
|
|
16
|
-
name: opts.name,
|
|
17
|
-
visibility: opts.visibility ?? "public",
|
|
18
|
-
annotations: opts.annotations ?? [],
|
|
19
|
-
superTypes: opts.superTypes ?? [],
|
|
20
|
-
properties: opts.properties,
|
|
21
|
-
funs: opts.funs ?? [],
|
|
22
|
-
runtime: opts.runtime,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=dataClass.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataClass.js","sourceRoot":"","sources":["../../../src/kt-dsl/decl/dataClass.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,IAQ3B;IACC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;QACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { KtFun } from "../fun.js";
|
|
2
|
-
import type { KtVisibility } from "../visibility.js";
|
|
3
|
-
import type { KtAnnotation, KtProp } from "./prop.js";
|
|
4
|
-
export interface KtEnumEntry {
|
|
5
|
-
name: string;
|
|
6
|
-
/**
|
|
7
|
-
* Pre-rendered argument list for the enum entry's primary
|
|
8
|
-
* constructor call, or undefined for entries without args.
|
|
9
|
-
* E.g., for `AVAILABLE("available")` pass `'"available"'`.
|
|
10
|
-
*/
|
|
11
|
-
args?: string;
|
|
12
|
-
annotations?: ReadonlyArray<KtAnnotation>;
|
|
13
|
-
}
|
|
14
|
-
export interface KtEnum {
|
|
15
|
-
kind: "enum";
|
|
16
|
-
name: string;
|
|
17
|
-
visibility: KtVisibility;
|
|
18
|
-
annotations: ReadonlyArray<KtAnnotation>;
|
|
19
|
-
superTypes: ReadonlyArray<string>;
|
|
20
|
-
/** Constructor-level props (e.g. `val raw: String`). */
|
|
21
|
-
properties: ReadonlyArray<KtProp>;
|
|
22
|
-
entries: ReadonlyArray<KtEnumEntry>;
|
|
23
|
-
funs: ReadonlyArray<KtFun>;
|
|
24
|
-
runtime?: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* One entry in an enum class.
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```kotlin
|
|
31
|
-
* // ktEnumEntry("AVAILABLE", '"available"')
|
|
32
|
-
* // → AVAILABLE("available")
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export declare const ktEnumEntry: (name: string, args?: string, annotations?: ReadonlyArray<KtAnnotation>) => KtEnumEntry;
|
|
36
|
-
/**
|
|
37
|
-
* Enum class. Pass `properties` for constructor-level fields (the
|
|
38
|
-
* standard pattern for enum-with-raw-value, e.g. JSON serialization).
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```kotlin
|
|
42
|
-
* // ktEnum({ name: "Status",
|
|
43
|
-
* // properties: [ktProp({ name: "raw", type: ktString, inPrimary: true })],
|
|
44
|
-
* // entries: [ktEnumEntry("AVAILABLE", '"available"')] })
|
|
45
|
-
* // → public enum class Status(public val raw: String) {
|
|
46
|
-
* // AVAILABLE("available"),
|
|
47
|
-
* // }
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare function ktEnum(opts: {
|
|
51
|
-
name: string;
|
|
52
|
-
entries: ReadonlyArray<KtEnumEntry>;
|
|
53
|
-
properties?: ReadonlyArray<KtProp>;
|
|
54
|
-
annotations?: ReadonlyArray<KtAnnotation>;
|
|
55
|
-
superTypes?: ReadonlyArray<string>;
|
|
56
|
-
visibility?: KtVisibility;
|
|
57
|
-
funs?: ReadonlyArray<KtFun>;
|
|
58
|
-
runtime?: boolean;
|
|
59
|
-
}): KtEnum;
|
|
60
|
-
//# sourceMappingURL=enum.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,cAAc,aAAa,CAAC,YAAY,CAAC,KACxC,WAA4C,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAYT"}
|