@ir-kit/openapi-kotlin 0.1.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.md +21 -0
- package/README.md +259 -0
- package/dist/generate.d.ts +41 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +64 -0
- package/dist/generate.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/ir/constants.d.ts +6 -0
- package/dist/ir/constants.d.ts.map +1 -0
- package/dist/ir/constants.js +6 -0
- package/dist/ir/constants.js.map +1 -0
- package/dist/ir/identifiers.d.ts +23 -0
- package/dist/ir/identifiers.d.ts.map +1 -0
- package/dist/ir/identifiers.js +71 -0
- package/dist/ir/identifiers.js.map +1 -0
- package/dist/ir/impl/body.d.ts +30 -0
- package/dist/ir/impl/body.d.ts.map +1 -0
- package/dist/ir/impl/body.js +116 -0
- package/dist/ir/impl/body.js.map +1 -0
- package/dist/ir/impl/decode.d.ts +14 -0
- package/dist/ir/impl/decode.d.ts.map +1 -0
- package/dist/ir/impl/decode.js +110 -0
- package/dist/ir/impl/decode.js.map +1 -0
- package/dist/ir/impl/headers.d.ts +8 -0
- package/dist/ir/impl/headers.d.ts.map +1 -0
- package/dist/ir/impl/headers.js +22 -0
- package/dist/ir/impl/headers.js.map +1 -0
- package/dist/ir/impl/index.d.ts +23 -0
- package/dist/ir/impl/index.d.ts.map +1 -0
- package/dist/ir/impl/index.js +141 -0
- package/dist/ir/impl/index.js.map +1 -0
- package/dist/ir/impl/request.d.ts +14 -0
- package/dist/ir/impl/request.d.ts.map +1 -0
- package/dist/ir/impl/request.js +25 -0
- package/dist/ir/impl/request.js.map +1 -0
- package/dist/ir/impl/serializer.d.ts +20 -0
- package/dist/ir/impl/serializer.d.ts.map +1 -0
- package/dist/ir/impl/serializer.js +62 -0
- package/dist/ir/impl/serializer.js.map +1 -0
- package/dist/ir/impl/url.d.ts +16 -0
- package/dist/ir/impl/url.d.ts.map +1 -0
- package/dist/ir/impl/url.js +77 -0
- package/dist/ir/impl/url.js.map +1 -0
- package/dist/ir/index.d.ts +4 -0
- package/dist/ir/index.d.ts.map +1 -0
- package/dist/ir/index.js +3 -0
- package/dist/ir/index.js.map +1 -0
- package/dist/ir/operation/body.d.ts +18 -0
- package/dist/ir/operation/body.d.ts.map +1 -0
- package/dist/ir/operation/body.js +51 -0
- package/dist/ir/operation/body.js.map +1 -0
- package/dist/ir/operation/index.d.ts +7 -0
- package/dist/ir/operation/index.d.ts.map +1 -0
- package/dist/ir/operation/index.js +5 -0
- package/dist/ir/operation/index.js.map +1 -0
- package/dist/ir/operation/params.d.ts +16 -0
- package/dist/ir/operation/params.d.ts.map +1 -0
- package/dist/ir/operation/params.js +28 -0
- package/dist/ir/operation/params.js.map +1 -0
- package/dist/ir/operation/response.d.ts +26 -0
- package/dist/ir/operation/response.d.ts.map +1 -0
- package/dist/ir/operation/response.js +58 -0
- package/dist/ir/operation/response.js.map +1 -0
- package/dist/ir/operation/signature.d.ts +32 -0
- package/dist/ir/operation/signature.d.ts.map +1 -0
- package/dist/ir/operation/signature.js +53 -0
- package/dist/ir/operation/signature.js.map +1 -0
- package/dist/ir/operations.d.ts +43 -0
- package/dist/ir/operations.d.ts.map +1 -0
- package/dist/ir/operations.js +124 -0
- package/dist/ir/operations.js.map +1 -0
- package/dist/ir/runtime/index.d.ts +3 -0
- package/dist/ir/runtime/index.d.ts.map +1 -0
- package/dist/ir/runtime/index.js +2 -0
- package/dist/ir/runtime/index.js.map +1 -0
- package/dist/ir/runtime/templates.d.ts +31 -0
- package/dist/ir/runtime/templates.d.ts.map +1 -0
- package/dist/ir/runtime/templates.js +431 -0
- package/dist/ir/runtime/templates.js.map +1 -0
- package/dist/ir/schema.d.ts +11 -0
- package/dist/ir/schema.d.ts.map +1 -0
- package/dist/ir/schema.js +51 -0
- package/dist/ir/schema.js.map +1 -0
- package/dist/ir/type/context.d.ts +4 -0
- package/dist/ir/type/context.d.ts.map +1 -0
- package/dist/ir/type/context.js +2 -0
- package/dist/ir/type/context.js.map +1 -0
- package/dist/ir/type/index.d.ts +27 -0
- package/dist/ir/type/index.d.ts.map +1 -0
- package/dist/ir/type/index.js +35 -0
- package/dist/ir/type/index.js.map +1 -0
- package/dist/ir/type/primitive.d.ts +9 -0
- package/dist/ir/type/primitive.d.ts.map +1 -0
- package/dist/ir/type/primitive.js +50 -0
- package/dist/ir/type/primitive.js.map +1 -0
- package/dist/ir/type/property-naming.d.ts +26 -0
- package/dist/ir/type/property-naming.d.ts.map +1 -0
- package/dist/ir/type/property-naming.js +27 -0
- package/dist/ir/type/property-naming.js.map +1 -0
- package/dist/ir/type-ops.d.ts +13 -0
- package/dist/ir/type-ops.d.ts.map +1 -0
- package/dist/ir/type-ops.js +80 -0
- package/dist/ir/type-ops.js.map +1 -0
- package/dist/kt-compiler/decl/class.d.ts +6 -0
- package/dist/kt-compiler/decl/class.d.ts.map +1 -0
- package/dist/kt-compiler/decl/class.js +38 -0
- package/dist/kt-compiler/decl/class.js.map +1 -0
- package/dist/kt-compiler/decl/dataClass.d.ts +3 -0
- package/dist/kt-compiler/decl/dataClass.d.ts.map +1 -0
- package/dist/kt-compiler/decl/dataClass.js +18 -0
- package/dist/kt-compiler/decl/dataClass.js.map +1 -0
- package/dist/kt-compiler/decl/enum.d.ts +3 -0
- package/dist/kt-compiler/decl/enum.d.ts.map +1 -0
- package/dist/kt-compiler/decl/enum.js +32 -0
- package/dist/kt-compiler/decl/enum.js.map +1 -0
- package/dist/kt-compiler/decl/fun.d.ts +11 -0
- package/dist/kt-compiler/decl/fun.d.ts.map +1 -0
- package/dist/kt-compiler/decl/fun.js +69 -0
- package/dist/kt-compiler/decl/fun.js.map +1 -0
- package/dist/kt-compiler/decl/index.d.ts +13 -0
- package/dist/kt-compiler/decl/index.d.ts.map +1 -0
- package/dist/kt-compiler/decl/index.js +39 -0
- package/dist/kt-compiler/decl/index.js.map +1 -0
- package/dist/kt-compiler/decl/interface.d.ts +3 -0
- package/dist/kt-compiler/decl/interface.d.ts.map +1 -0
- package/dist/kt-compiler/decl/interface.js +15 -0
- package/dist/kt-compiler/decl/interface.js.map +1 -0
- package/dist/kt-compiler/decl/object.d.ts +3 -0
- package/dist/kt-compiler/decl/object.d.ts.map +1 -0
- package/dist/kt-compiler/decl/object.js +19 -0
- package/dist/kt-compiler/decl/object.js.map +1 -0
- package/dist/kt-compiler/decl/prop.d.ts +20 -0
- package/dist/kt-compiler/decl/prop.d.ts.map +1 -0
- package/dist/kt-compiler/decl/prop.js +42 -0
- package/dist/kt-compiler/decl/prop.js.map +1 -0
- package/dist/kt-compiler/decl/sealedClass.d.ts +3 -0
- package/dist/kt-compiler/decl/sealedClass.d.ts.map +1 -0
- package/dist/kt-compiler/decl/sealedClass.js +32 -0
- package/dist/kt-compiler/decl/sealedClass.js.map +1 -0
- package/dist/kt-compiler/decl/topLevel.d.ts +3 -0
- package/dist/kt-compiler/decl/topLevel.d.ts.map +1 -0
- package/dist/kt-compiler/decl/topLevel.js +5 -0
- package/dist/kt-compiler/decl/topLevel.js.map +1 -0
- package/dist/kt-compiler/decl/typeAlias.d.ts +3 -0
- package/dist/kt-compiler/decl/typeAlias.d.ts.map +1 -0
- package/dist/kt-compiler/decl/typeAlias.js +6 -0
- package/dist/kt-compiler/decl/typeAlias.js.map +1 -0
- package/dist/kt-compiler/expr.d.ts +4 -0
- package/dist/kt-compiler/expr.d.ts.map +1 -0
- package/dist/kt-compiler/expr.js +123 -0
- package/dist/kt-compiler/expr.js.map +1 -0
- package/dist/kt-compiler/format.d.ts +20 -0
- package/dist/kt-compiler/format.d.ts.map +1 -0
- package/dist/kt-compiler/format.js +27 -0
- package/dist/kt-compiler/format.js.map +1 -0
- package/dist/kt-compiler/index.d.ts +7 -0
- package/dist/kt-compiler/index.d.ts.map +1 -0
- package/dist/kt-compiler/index.js +24 -0
- package/dist/kt-compiler/index.js.map +1 -0
- package/dist/kt-compiler/stmt.d.ts +4 -0
- package/dist/kt-compiler/stmt.d.ts.map +1 -0
- package/dist/kt-compiler/stmt.js +72 -0
- package/dist/kt-compiler/stmt.js.map +1 -0
- package/dist/kt-compiler/type.d.ts +3 -0
- package/dist/kt-compiler/type.d.ts.map +1 -0
- package/dist/kt-compiler/type.js +28 -0
- package/dist/kt-compiler/type.js.map +1 -0
- package/dist/kt-dsl/decl/class.d.ts +50 -0
- package/dist/kt-dsl/decl/class.d.ts.map +1 -0
- package/dist/kt-dsl/decl/class.js +33 -0
- package/dist/kt-dsl/decl/class.js.map +1 -0
- package/dist/kt-dsl/decl/dataClass.d.ts +36 -0
- package/dist/kt-dsl/decl/dataClass.d.ts.map +1 -0
- package/dist/kt-dsl/decl/dataClass.js +25 -0
- package/dist/kt-dsl/decl/dataClass.js.map +1 -0
- package/dist/kt-dsl/decl/enum.d.ts +60 -0
- package/dist/kt-dsl/decl/enum.d.ts.map +1 -0
- package/dist/kt-dsl/decl/enum.js +38 -0
- package/dist/kt-dsl/decl/enum.js.map +1 -0
- package/dist/kt-dsl/decl/index.d.ts +11 -0
- package/dist/kt-dsl/decl/index.d.ts.map +1 -0
- package/dist/kt-dsl/decl/index.js +11 -0
- package/dist/kt-dsl/decl/index.js.map +1 -0
- package/dist/kt-dsl/decl/interface.d.ts +33 -0
- package/dist/kt-dsl/decl/interface.d.ts.map +1 -0
- package/dist/kt-dsl/decl/interface.js +24 -0
- package/dist/kt-dsl/decl/interface.js.map +1 -0
- package/dist/kt-dsl/decl/object.d.ts +34 -0
- package/dist/kt-dsl/decl/object.d.ts.map +1 -0
- package/dist/kt-dsl/decl/object.js +24 -0
- package/dist/kt-dsl/decl/object.js.map +1 -0
- package/dist/kt-dsl/decl/prop.d.ts +47 -0
- package/dist/kt-dsl/decl/prop.d.ts.map +1 -0
- package/dist/kt-dsl/decl/prop.js +28 -0
- package/dist/kt-dsl/decl/prop.js.map +1 -0
- package/dist/kt-dsl/decl/sealedClass.d.ts +68 -0
- package/dist/kt-dsl/decl/sealedClass.d.ts.map +1 -0
- package/dist/kt-dsl/decl/sealedClass.js +52 -0
- package/dist/kt-dsl/decl/sealedClass.js.map +1 -0
- package/dist/kt-dsl/decl/topLevel.d.ts +19 -0
- package/dist/kt-dsl/decl/topLevel.d.ts.map +1 -0
- package/dist/kt-dsl/decl/topLevel.js +17 -0
- package/dist/kt-dsl/decl/topLevel.js.map +1 -0
- package/dist/kt-dsl/decl/typeAlias.d.ts +23 -0
- package/dist/kt-dsl/decl/typeAlias.d.ts.map +1 -0
- package/dist/kt-dsl/decl/typeAlias.js +18 -0
- package/dist/kt-dsl/decl/typeAlias.js.map +1 -0
- package/dist/kt-dsl/decl/types.d.ts +10 -0
- package/dist/kt-dsl/decl/types.d.ts.map +1 -0
- package/dist/kt-dsl/decl/types.js +2 -0
- package/dist/kt-dsl/decl/types.js.map +1 -0
- package/dist/kt-dsl/expr/access.d.ts +48 -0
- package/dist/kt-dsl/expr/access.d.ts.map +1 -0
- package/dist/kt-dsl/expr/access.js +59 -0
- package/dist/kt-dsl/expr/access.js.map +1 -0
- package/dist/kt-dsl/expr/call.d.ts +38 -0
- package/dist/kt-dsl/expr/call.d.ts.map +1 -0
- package/dist/kt-dsl/expr/call.js +38 -0
- package/dist/kt-dsl/expr/call.js.map +1 -0
- package/dist/kt-dsl/expr/index.d.ts +7 -0
- package/dist/kt-dsl/expr/index.d.ts.map +1 -0
- package/dist/kt-dsl/expr/index.js +7 -0
- package/dist/kt-dsl/expr/index.js.map +1 -0
- package/dist/kt-dsl/expr/literal.d.ts +100 -0
- package/dist/kt-dsl/expr/literal.d.ts.map +1 -0
- package/dist/kt-dsl/expr/literal.js +108 -0
- package/dist/kt-dsl/expr/literal.js.map +1 -0
- package/dist/kt-dsl/expr/misc.d.ts +45 -0
- package/dist/kt-dsl/expr/misc.d.ts.map +1 -0
- package/dist/kt-dsl/expr/misc.js +63 -0
- package/dist/kt-dsl/expr/misc.js.map +1 -0
- package/dist/kt-dsl/expr/op.d.ts +25 -0
- package/dist/kt-dsl/expr/op.d.ts.map +1 -0
- package/dist/kt-dsl/expr/op.js +24 -0
- package/dist/kt-dsl/expr/op.js.map +1 -0
- package/dist/kt-dsl/expr/types.d.ts +93 -0
- package/dist/kt-dsl/expr/types.d.ts.map +1 -0
- package/dist/kt-dsl/expr/types.js +2 -0
- package/dist/kt-dsl/expr/types.js.map +1 -0
- package/dist/kt-dsl/file.d.ts +14 -0
- package/dist/kt-dsl/file.d.ts.map +1 -0
- package/dist/kt-dsl/file.js +9 -0
- package/dist/kt-dsl/file.js.map +1 -0
- package/dist/kt-dsl/fun.d.ts +73 -0
- package/dist/kt-dsl/fun.d.ts.map +1 -0
- package/dist/kt-dsl/fun.js +50 -0
- package/dist/kt-dsl/fun.js.map +1 -0
- package/dist/kt-dsl/index.d.ts +8 -0
- package/dist/kt-dsl/index.d.ts.map +1 -0
- package/dist/kt-dsl/index.js +8 -0
- package/dist/kt-dsl/index.js.map +1 -0
- package/dist/kt-dsl/stmt/binding.d.ts +56 -0
- package/dist/kt-dsl/stmt/binding.d.ts.map +1 -0
- package/dist/kt-dsl/stmt/binding.js +70 -0
- package/dist/kt-dsl/stmt/binding.js.map +1 -0
- package/dist/kt-dsl/stmt/control.d.ts +80 -0
- package/dist/kt-dsl/stmt/control.d.ts.map +1 -0
- package/dist/kt-dsl/stmt/control.js +77 -0
- package/dist/kt-dsl/stmt/control.js.map +1 -0
- package/dist/kt-dsl/stmt/index.d.ts +4 -0
- package/dist/kt-dsl/stmt/index.d.ts.map +1 -0
- package/dist/kt-dsl/stmt/index.js +4 -0
- package/dist/kt-dsl/stmt/index.js.map +1 -0
- package/dist/kt-dsl/stmt/types.d.ts +62 -0
- package/dist/kt-dsl/stmt/types.d.ts.map +1 -0
- package/dist/kt-dsl/stmt/types.js +2 -0
- package/dist/kt-dsl/stmt/types.js.map +1 -0
- package/dist/kt-dsl/type/builders.d.ts +75 -0
- package/dist/kt-dsl/type/builders.d.ts.map +1 -0
- package/dist/kt-dsl/type/builders.js +83 -0
- package/dist/kt-dsl/type/builders.js.map +1 -0
- package/dist/kt-dsl/type/index.d.ts +3 -0
- package/dist/kt-dsl/type/index.d.ts.map +1 -0
- package/dist/kt-dsl/type/index.js +3 -0
- package/dist/kt-dsl/type/index.js.map +1 -0
- package/dist/kt-dsl/type/types.d.ts +25 -0
- package/dist/kt-dsl/type/types.d.ts.map +1 -0
- package/dist/kt-dsl/type/types.js +2 -0
- package/dist/kt-dsl/type/types.js.map +1 -0
- package/dist/kt-dsl/visibility.d.ts +2 -0
- package/dist/kt-dsl/visibility.d.ts.map +1 -0
- package/dist/kt-dsl/visibility.js +2 -0
- package/dist/kt-dsl/visibility.js.map +1 -0
- package/dist/project/build.d.ts +33 -0
- package/dist/project/build.d.ts.map +1 -0
- package/dist/project/build.js +73 -0
- package/dist/project/build.js.map +1 -0
- package/dist/project/gradle.d.ts +48 -0
- package/dist/project/gradle.d.ts.map +1 -0
- package/dist/project/gradle.js +46 -0
- package/dist/project/gradle.js.map +1 -0
- package/dist/project/imports.d.ts +21 -0
- package/dist/project/imports.d.ts.map +1 -0
- package/dist/project/imports.js +162 -0
- package/dist/project/imports.js.map +1 -0
- package/dist/project/index.d.ts +6 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +3 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/layout.d.ts +30 -0
- package/dist/project/layout.d.ts.map +1 -0
- package/dist/project/layout.js +57 -0
- package/dist/project/layout.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* String literal. The printer escapes embedded quotes / backslashes /
|
|
3
|
+
* control bytes (`\r\n\t`) safely.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```kotlin
|
|
7
|
+
* // ktStr("application/json") → "application/json"
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export const ktStr = (value) => ({ kind: "str", value });
|
|
11
|
+
/**
|
|
12
|
+
* Int literal.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```kotlin
|
|
16
|
+
* // ktIntLit(200) → 200
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export const ktIntLit = (value) => ({ kind: "int", value });
|
|
20
|
+
/**
|
|
21
|
+
* Long literal — renders with the trailing `L` suffix.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```kotlin
|
|
25
|
+
* // ktLongLit(42) → 42L
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export const ktLongLit = (value) => ({ kind: "long", value });
|
|
29
|
+
/**
|
|
30
|
+
* Double literal.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```kotlin
|
|
34
|
+
* // ktDoubleLit(1.5) → 1.5
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export const ktDoubleLit = (value) => ({
|
|
38
|
+
kind: "double",
|
|
39
|
+
value,
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Boolean literal.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```kotlin
|
|
46
|
+
* // ktBoolLit(true) → true
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export const ktBoolLit = (value) => ({ kind: "bool", value });
|
|
50
|
+
/**
|
|
51
|
+
* `null`.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```kotlin
|
|
55
|
+
* // ktNull → null
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export const ktNull = { kind: "null" };
|
|
59
|
+
/**
|
|
60
|
+
* `_` — destructuring wildcard.
|
|
61
|
+
*/
|
|
62
|
+
export const ktUnderscore = { kind: "underscore" };
|
|
63
|
+
/**
|
|
64
|
+
* `this`.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```kotlin
|
|
68
|
+
* // ktThis → this
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export const ktThis = { kind: "this" };
|
|
72
|
+
/**
|
|
73
|
+
* String template (interpolation). Accepts a mix of literal segments
|
|
74
|
+
* and Kotlin expressions; the printer wraps each expression in
|
|
75
|
+
* `${ … }` (or `$ident` when the expression is a bare identifier).
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```kotlin
|
|
79
|
+
* // ktInterp(["Bearer ", ktIdent("token")]) → "Bearer $token"
|
|
80
|
+
* // ktInterp(["url=", ktMember(ktIdent("req"), "url")]) → "url=${req.url}"
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export const ktInterp = (parts) => ({
|
|
84
|
+
kind: "interp",
|
|
85
|
+
parts,
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* `listOf(items...)`.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```kotlin
|
|
92
|
+
* // ktListLit([ktStr("a"), ktStr("b")]) → listOf("a", "b")
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export const ktListLit = (items) => ({
|
|
96
|
+
kind: "listLit",
|
|
97
|
+
items,
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* `mapOf(k to v, …)`.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```kotlin
|
|
104
|
+
* // ktMapLit([[ktStr("k"), ktIntLit(1)]]) → mapOf("k" to 1)
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export const ktMapLit = (pairs) => ({ kind: "mapLit", pairs });
|
|
108
|
+
//# sourceMappingURL=literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../src/kt-dsl/expr/literal.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC;IACrD,IAAI,EAAE,QAAQ;IACd,KAAK;CACN,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAqC,EAAU,EAAE,CAAC,CAAC;IAC1E,IAAI,EAAE,QAAQ;IACd,KAAK;CACN,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAA4B,EAAU,EAAE,CAAC,CAAC;IAClE,IAAI,EAAE,SAAS;IACf,KAAK;CACN,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAA+C,EACvC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { KtType } from "../type/types.js";
|
|
2
|
+
import type { KtExpr } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* `expr as Type` — unconditional cast.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```kotlin
|
|
8
|
+
* // ktAs(ktIdent("any"), ktRef("HttpUrl"))
|
|
9
|
+
* // → any as HttpUrl
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare const ktAs: (expr: KtExpr, type: KtType) => KtExpr;
|
|
13
|
+
/**
|
|
14
|
+
* `expr as? Type` — safe cast, returns null if the cast fails.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```kotlin
|
|
18
|
+
* // ktAsSafe(ktIdent("response"), ktRef("HttpResponse"))
|
|
19
|
+
* // → response as? HttpResponse
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const ktAsSafe: (expr: KtExpr, type: KtType) => KtExpr;
|
|
23
|
+
/**
|
|
24
|
+
* `low until high` — half-open range.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```kotlin
|
|
28
|
+
* // ktUntil(ktIntLit(200), ktIntLit(300)) → 200 until 300
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const ktUntil: (low: KtExpr, high: KtExpr) => KtExpr;
|
|
32
|
+
/**
|
|
33
|
+
* `low..high` — closed range.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ktRange: (low: KtExpr, high: KtExpr) => KtExpr;
|
|
36
|
+
/**
|
|
37
|
+
* Type metaclass reference — `Type::class`.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```kotlin
|
|
41
|
+
* // ktClassRef(ktRef("User")) → User::class
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare const ktClassRef: (type: KtType) => KtExpr;
|
|
45
|
+
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/expr/misc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,MAKhD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,MAKpD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,MAAM,MAAM,KAAG,MAKlD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,MAAM,MAAM,KAAG,MAKlD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAqC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `expr as Type` — unconditional cast.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```kotlin
|
|
6
|
+
* // ktAs(ktIdent("any"), ktRef("HttpUrl"))
|
|
7
|
+
* // → any as HttpUrl
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export const ktAs = (expr, type) => ({
|
|
11
|
+
kind: "cast",
|
|
12
|
+
expr,
|
|
13
|
+
type,
|
|
14
|
+
safe: false,
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* `expr as? Type` — safe cast, returns null if the cast fails.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```kotlin
|
|
21
|
+
* // ktAsSafe(ktIdent("response"), ktRef("HttpResponse"))
|
|
22
|
+
* // → response as? HttpResponse
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export const ktAsSafe = (expr, type) => ({
|
|
26
|
+
kind: "cast",
|
|
27
|
+
expr,
|
|
28
|
+
type,
|
|
29
|
+
safe: true,
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* `low until high` — half-open range.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```kotlin
|
|
36
|
+
* // ktUntil(ktIntLit(200), ktIntLit(300)) → 200 until 300
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export const ktUntil = (low, high) => ({
|
|
40
|
+
kind: "range",
|
|
41
|
+
halfOpen: true,
|
|
42
|
+
low,
|
|
43
|
+
high,
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* `low..high` — closed range.
|
|
47
|
+
*/
|
|
48
|
+
export const ktRange = (low, high) => ({
|
|
49
|
+
kind: "range",
|
|
50
|
+
halfOpen: false,
|
|
51
|
+
low,
|
|
52
|
+
high,
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Type metaclass reference — `Type::class`.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```kotlin
|
|
59
|
+
* // ktClassRef(ktRef("User")) → User::class
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export const ktClassRef = (type) => ({ kind: "typeRef", type });
|
|
63
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/kt-dsl/expr/misc.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,MAAM;IACZ,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC;IAC/D,IAAI,EAAE,MAAM;IACZ,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,IAAI;IACd,GAAG;IACH,IAAI;CACL,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,KAAK;IACf,GAAG;IACH,IAAI;CACL,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { KtBinOpExpr, KtExpr } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Binary operator. Use the named helpers (`ktEq`, `ktNe`, `ktElvis`)
|
|
4
|
+
* where possible.
|
|
5
|
+
*/
|
|
6
|
+
export declare const ktBinOp: (op: KtBinOpExpr["op"], left: KtExpr, right: KtExpr) => KtExpr;
|
|
7
|
+
/**
|
|
8
|
+
* `left == right` (Kotlin structural equality).
|
|
9
|
+
*/
|
|
10
|
+
export declare const ktEq: (l: KtExpr, r: KtExpr) => KtExpr;
|
|
11
|
+
/**
|
|
12
|
+
* `left != right`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ktNe: (l: KtExpr, r: KtExpr) => KtExpr;
|
|
15
|
+
/**
|
|
16
|
+
* Elvis operator — `left ?: right`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```kotlin
|
|
20
|
+
* // ktElvis(ktSafeMember(ktIdent("user"), "name"), ktStr("anonymous"))
|
|
21
|
+
* // → user?.name ?: "anonymous"
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare const ktElvis: (l: KtExpr, r: KtExpr) => KtExpr;
|
|
25
|
+
//# sourceMappingURL=op.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"op.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/expr/op.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,IAAI,WAAW,CAAC,IAAI,CAAC,EACrB,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,MAA8C,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAAwB,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAAwB,CAAC;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAAwB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Binary operator. Use the named helpers (`ktEq`, `ktNe`, `ktElvis`)
|
|
3
|
+
* where possible.
|
|
4
|
+
*/
|
|
5
|
+
export const ktBinOp = (op, left, right) => ({ kind: "binOp", op, left, right });
|
|
6
|
+
/**
|
|
7
|
+
* `left == right` (Kotlin structural equality).
|
|
8
|
+
*/
|
|
9
|
+
export const ktEq = (l, r) => ktBinOp("==", l, r);
|
|
10
|
+
/**
|
|
11
|
+
* `left != right`.
|
|
12
|
+
*/
|
|
13
|
+
export const ktNe = (l, r) => ktBinOp("!=", l, r);
|
|
14
|
+
/**
|
|
15
|
+
* Elvis operator — `left ?: right`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```kotlin
|
|
19
|
+
* // ktElvis(ktSafeMember(ktIdent("user"), "name"), ktStr("anonymous"))
|
|
20
|
+
* // → user?.name ?: "anonymous"
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const ktElvis = (l, r) => ktBinOp("?:", l, r);
|
|
24
|
+
//# sourceMappingURL=op.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"op.js","sourceRoot":"","sources":["../../../src/kt-dsl/expr/op.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,EAAqB,EACrB,IAAY,EACZ,KAAa,EACL,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { KtType } from "../type/types.js";
|
|
2
|
+
export type KtExpr = KtLiteralExpr | KtAccessExpr | KtCallExpr | KtLambdaExpr | KtBinOpExpr | KtRangeExpr | KtCastExpr | {
|
|
3
|
+
kind: "this";
|
|
4
|
+
} | {
|
|
5
|
+
kind: "typeRef";
|
|
6
|
+
type: KtType;
|
|
7
|
+
};
|
|
8
|
+
export interface KtRangeExpr {
|
|
9
|
+
kind: "range";
|
|
10
|
+
/** `until` (`a until b`) is half-open; `..` is closed. */
|
|
11
|
+
halfOpen: boolean;
|
|
12
|
+
low: KtExpr;
|
|
13
|
+
high: KtExpr;
|
|
14
|
+
}
|
|
15
|
+
export interface KtCastExpr {
|
|
16
|
+
kind: "cast";
|
|
17
|
+
expr: KtExpr;
|
|
18
|
+
type: KtType;
|
|
19
|
+
/** `as?` (safe) when true, `as` when false. */
|
|
20
|
+
safe: boolean;
|
|
21
|
+
}
|
|
22
|
+
export type KtLiteralExpr = {
|
|
23
|
+
kind: "str";
|
|
24
|
+
value: string;
|
|
25
|
+
} | {
|
|
26
|
+
kind: "int";
|
|
27
|
+
value: number;
|
|
28
|
+
} | {
|
|
29
|
+
kind: "long";
|
|
30
|
+
value: number;
|
|
31
|
+
} | {
|
|
32
|
+
kind: "double";
|
|
33
|
+
value: number;
|
|
34
|
+
} | {
|
|
35
|
+
kind: "bool";
|
|
36
|
+
value: boolean;
|
|
37
|
+
} | {
|
|
38
|
+
kind: "null";
|
|
39
|
+
} | {
|
|
40
|
+
kind: "underscore";
|
|
41
|
+
} | {
|
|
42
|
+
kind: "interp";
|
|
43
|
+
parts: ReadonlyArray<string | KtExpr>;
|
|
44
|
+
} | {
|
|
45
|
+
kind: "listLit";
|
|
46
|
+
items: ReadonlyArray<KtExpr>;
|
|
47
|
+
} | {
|
|
48
|
+
kind: "mapLit";
|
|
49
|
+
pairs: ReadonlyArray<readonly [KtExpr, KtExpr]>;
|
|
50
|
+
};
|
|
51
|
+
export type KtAccessExpr = {
|
|
52
|
+
kind: "ident";
|
|
53
|
+
name: string;
|
|
54
|
+
} | {
|
|
55
|
+
kind: "member";
|
|
56
|
+
on: KtExpr;
|
|
57
|
+
name: string;
|
|
58
|
+
} | {
|
|
59
|
+
kind: "safeMember";
|
|
60
|
+
on: KtExpr;
|
|
61
|
+
name: string;
|
|
62
|
+
} | {
|
|
63
|
+
kind: "index";
|
|
64
|
+
on: KtExpr;
|
|
65
|
+
index: KtExpr;
|
|
66
|
+
} | {
|
|
67
|
+
kind: "notNull";
|
|
68
|
+
on: KtExpr;
|
|
69
|
+
};
|
|
70
|
+
export interface KtCallArg {
|
|
71
|
+
label?: string;
|
|
72
|
+
expr: KtExpr;
|
|
73
|
+
}
|
|
74
|
+
export interface KtCallExpr {
|
|
75
|
+
kind: "call";
|
|
76
|
+
callee: KtExpr;
|
|
77
|
+
args: ReadonlyArray<KtCallArg>;
|
|
78
|
+
trailingLambda?: KtLambdaExpr;
|
|
79
|
+
/** Generic type args, rendered as `<A, B>` after the callee. */
|
|
80
|
+
typeArgs?: ReadonlyArray<KtType>;
|
|
81
|
+
}
|
|
82
|
+
export interface KtLambdaExpr {
|
|
83
|
+
kind: "lambda";
|
|
84
|
+
params: ReadonlyArray<string>;
|
|
85
|
+
body: ReadonlyArray<import("../stmt/types.js").KtStmt>;
|
|
86
|
+
}
|
|
87
|
+
export interface KtBinOpExpr {
|
|
88
|
+
kind: "binOp";
|
|
89
|
+
op: "==" | "!=" | "<" | "<=" | ">" | ">=" | "&&" | "||" | "?:" | "+";
|
|
90
|
+
left: KtExpr;
|
|
91
|
+
right: KtExpr;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/expr/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kt-dsl/expr/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { KtDecl } from "./decl/types.js";
|
|
2
|
+
export interface KtFile {
|
|
3
|
+
kind: "file";
|
|
4
|
+
/** The Kotlin package this file lives in (e.g. `"com.example.api"`). */
|
|
5
|
+
pkg?: string;
|
|
6
|
+
imports: ReadonlyArray<string>;
|
|
7
|
+
decls: ReadonlyArray<KtDecl>;
|
|
8
|
+
}
|
|
9
|
+
export declare function ktFile(opts: {
|
|
10
|
+
decls: ReadonlyArray<KtDecl>;
|
|
11
|
+
pkg?: string;
|
|
12
|
+
imports?: ReadonlyArray<string>;
|
|
13
|
+
}): KtFile;
|
|
14
|
+
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/kt-dsl/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAC3B,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,MAAM,CAOT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/kt-dsl/file.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,MAAM,CAAC,IAItB;IACC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { KtStmt } from "./stmt/types.js";
|
|
2
|
+
import type { KtType } from "./type/types.js";
|
|
3
|
+
import type { KtVisibility } from "./visibility.js";
|
|
4
|
+
export interface KtFunParam {
|
|
5
|
+
kind: "funParam";
|
|
6
|
+
name: string;
|
|
7
|
+
type: KtType;
|
|
8
|
+
default?: string;
|
|
9
|
+
/** True if this is the receiver of an extension. */
|
|
10
|
+
receiver?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface KtTypeParam {
|
|
13
|
+
name: string;
|
|
14
|
+
bounds?: ReadonlyArray<string>;
|
|
15
|
+
}
|
|
16
|
+
export type KtFunModifier = "override" | "open" | "abstract" | "suspend";
|
|
17
|
+
export interface KtFun {
|
|
18
|
+
kind: "fun";
|
|
19
|
+
name: string;
|
|
20
|
+
visibility: KtVisibility;
|
|
21
|
+
modifiers: ReadonlyArray<KtFunModifier>;
|
|
22
|
+
typeParams: ReadonlyArray<KtTypeParam>;
|
|
23
|
+
params: ReadonlyArray<KtFunParam>;
|
|
24
|
+
returnType: KtType;
|
|
25
|
+
/** Type the function extends (renders as `Receiver.name`). */
|
|
26
|
+
receiver?: KtType;
|
|
27
|
+
body?: ReadonlyArray<KtStmt>;
|
|
28
|
+
doc?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Function parameter.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```kotlin
|
|
35
|
+
* // ktFunParam({ name: "client", type: ktRef("OkHttpClient"), default: "default()" })
|
|
36
|
+
* // → client: OkHttpClient = default()
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function ktFunParam(opts: {
|
|
40
|
+
name: string;
|
|
41
|
+
type: KtType;
|
|
42
|
+
default?: string;
|
|
43
|
+
}): KtFunParam;
|
|
44
|
+
/**
|
|
45
|
+
* Type parameter — `<T : Bound1, Bound2>`.
|
|
46
|
+
*/
|
|
47
|
+
export declare const ktTypeParam: (name: string, bounds?: ReadonlyArray<string>) => KtTypeParam;
|
|
48
|
+
/**
|
|
49
|
+
* Function decl. Omit `body` for abstract / interface members.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```kotlin
|
|
53
|
+
* // ktFun({ name: "execute",
|
|
54
|
+
* // typeParams: [ktTypeParam("T", ["Any"])],
|
|
55
|
+
* // params: [ktFunParam({ name: "request", type: ktRef("Request") })],
|
|
56
|
+
* // returnType: ktRef("T"),
|
|
57
|
+
* // modifiers: ["suspend"],
|
|
58
|
+
* // body: [ktReturn(…)] })
|
|
59
|
+
* // → suspend fun <T : Any> execute(request: Request): T { … }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function ktFun(opts: {
|
|
63
|
+
name: string;
|
|
64
|
+
params: ReadonlyArray<KtFunParam>;
|
|
65
|
+
returnType: KtType;
|
|
66
|
+
modifiers?: ReadonlyArray<KtFunModifier>;
|
|
67
|
+
typeParams?: ReadonlyArray<KtTypeParam>;
|
|
68
|
+
body?: ReadonlyArray<KtStmt>;
|
|
69
|
+
doc?: string;
|
|
70
|
+
visibility?: KtVisibility;
|
|
71
|
+
receiver?: KtType;
|
|
72
|
+
}): KtFun;
|
|
73
|
+
//# sourceMappingURL=fun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fun.d.ts","sourceRoot":"","sources":["../../src/kt-dsl/fun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,UAAU,CAOb;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,SAAS,aAAa,CAAC,MAAM,CAAC,KAC7B,WAAiC,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,KAAK,CAaR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function parameter.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```kotlin
|
|
6
|
+
* // ktFunParam({ name: "client", type: ktRef("OkHttpClient"), default: "default()" })
|
|
7
|
+
* // → client: OkHttpClient = default()
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export function ktFunParam(opts) {
|
|
11
|
+
return {
|
|
12
|
+
kind: "funParam",
|
|
13
|
+
name: opts.name,
|
|
14
|
+
type: opts.type,
|
|
15
|
+
default: opts.default,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Type parameter — `<T : Bound1, Bound2>`.
|
|
20
|
+
*/
|
|
21
|
+
export const ktTypeParam = (name, bounds) => ({ name, bounds });
|
|
22
|
+
/**
|
|
23
|
+
* Function decl. Omit `body` for abstract / interface members.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```kotlin
|
|
27
|
+
* // ktFun({ name: "execute",
|
|
28
|
+
* // typeParams: [ktTypeParam("T", ["Any"])],
|
|
29
|
+
* // params: [ktFunParam({ name: "request", type: ktRef("Request") })],
|
|
30
|
+
* // returnType: ktRef("T"),
|
|
31
|
+
* // modifiers: ["suspend"],
|
|
32
|
+
* // body: [ktReturn(…)] })
|
|
33
|
+
* // → suspend fun <T : Any> execute(request: Request): T { … }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function ktFun(opts) {
|
|
37
|
+
return {
|
|
38
|
+
kind: "fun",
|
|
39
|
+
name: opts.name,
|
|
40
|
+
visibility: opts.visibility ?? "public",
|
|
41
|
+
modifiers: opts.modifiers ?? [],
|
|
42
|
+
typeParams: opts.typeParams ?? [],
|
|
43
|
+
params: opts.params,
|
|
44
|
+
returnType: opts.returnType,
|
|
45
|
+
body: opts.body,
|
|
46
|
+
receiver: opts.receiver,
|
|
47
|
+
doc: opts.doc,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=fun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fun.js","sourceRoot":"","sources":["../../src/kt-dsl/fun.ts"],"names":[],"mappings":"AAkCA;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,IAI1B;IACC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,MAA8B,EACjB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,KAAK,CAAC,IAUrB;IACC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./decl/index.js";
|
|
2
|
+
export * from "./expr/index.js";
|
|
3
|
+
export * from "./file.js";
|
|
4
|
+
export * from "./fun.js";
|
|
5
|
+
export * from "./stmt/index.js";
|
|
6
|
+
export * from "./type/index.js";
|
|
7
|
+
export * from "./visibility.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kt-dsl/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kt-dsl/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { KtExpr } from "../expr/types.js";
|
|
2
|
+
import type { KtType } from "../type/types.js";
|
|
3
|
+
import type { KtStmt } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Immutable binding (`val`).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```kotlin
|
|
9
|
+
* // ktVal("status", ktIntLit(200))
|
|
10
|
+
* // → val status = 200
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare const ktVal: (name: string, expr: KtExpr, type?: KtType) => KtStmt;
|
|
14
|
+
/**
|
|
15
|
+
* Mutable binding (`var`).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```kotlin
|
|
19
|
+
* // ktVar("builder", ktCall(ktIdent("Request.Builder")))
|
|
20
|
+
* // → var builder = Request.Builder()
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const ktVar: (name: string, expr: KtExpr, type?: KtType) => KtStmt;
|
|
24
|
+
/**
|
|
25
|
+
* Assignment to an existing l-value.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```kotlin
|
|
29
|
+
* // ktAssign(ktMember(ktIdent("req"), "method"), ktStr("GET"))
|
|
30
|
+
* // → req.method = "GET"
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const ktAssign: (target: KtExpr, value: KtExpr) => KtStmt;
|
|
34
|
+
/**
|
|
35
|
+
* Bare expression statement (the value is discarded).
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```kotlin
|
|
39
|
+
* // ktExprStmt(ktCall(ktMember(ktIdent("req"), "build"), []))
|
|
40
|
+
* // → req.build()
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare const ktExprStmt: (expr: KtExpr) => KtStmt;
|
|
44
|
+
/**
|
|
45
|
+
* Single-expression body marker — e.g. for property getters or
|
|
46
|
+
* single-expression functions. The printer renders this as `= expr`
|
|
47
|
+
* instead of a braced block when it's the only statement in a body.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```kotlin
|
|
51
|
+
* // ktReturnExpr(ktMember(ktIdent("foo"), "bar"))
|
|
52
|
+
* // → = foo.bar
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare const ktReturnExpr: (expr: KtExpr) => KtStmt;
|
|
56
|
+
//# sourceMappingURL=binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/stmt/binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAKhE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAKhE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAIvD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAG1C,CAAC"}
|