karakum 1.0.0-alpha.7 → 1.0.0-alpha.9
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 +6 -2
- package/build/configuration/configuration.d.ts +1 -1
- package/build/converter/annotation.d.ts +3 -0
- package/build/converter/annotation.js +3 -0
- package/build/converter/annotation.js.map +1 -0
- package/build/converter/plugins/{JsNamePlugin.d.ts → AnnotationsPlugin.d.ts} +6 -6
- package/build/converter/plugins/AnnotationsPlugin.js +40 -0
- package/build/converter/plugins/AnnotationsPlugin.js.map +1 -0
- package/build/converter/plugins/convertCallSignature.js +5 -1
- package/build/converter/plugins/convertCallSignature.js.map +1 -1
- package/build/converter/plugins/convertParameterDeclaration.d.ts +2 -2
- package/build/converter/plugins/convertParameterDeclaration.js +2 -20
- package/build/converter/plugins/convertParameterDeclaration.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.js +1 -4
- package/build/index.js.map +1 -1
- package/build/process.d.ts +1 -1
- package/build/process.js +9 -9
- package/build/process.js.map +1 -1
- package/package.json +1 -1
- package/build/converter/plugins/JsNamePlugin.js +0 -39
- package/build/converter/plugins/JsNamePlugin.js.map +0 -1
- package/build/converter/plugins/controversial/convertCallableInterfaceDeclaration.d.ts +0 -4
- package/build/converter/plugins/controversial/convertCallableInterfaceDeclaration.js +0 -78
- package/build/converter/plugins/controversial/convertCallableInterfaceDeclaration.js.map +0 -1
package/README.md
CHANGED
|
@@ -7,13 +7,17 @@ Converter of TypeScript declaration files to Kotlin declarations.
|
|
|
7
7
|
Command line tool and JS API:
|
|
8
8
|
|
|
9
9
|
```shell
|
|
10
|
-
npm install karakum
|
|
10
|
+
npm install karakum typescript -D
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Gradle plugin for Kotlin Gradle projects:
|
|
14
14
|
|
|
15
15
|
```kotlin
|
|
16
16
|
plugins {
|
|
17
|
-
id("io.github.sgrishchenko.karakum") version "1.0.0-alpha.
|
|
17
|
+
id("io.github.sgrishchenko.karakum") version "1.0.0-alpha.9"
|
|
18
18
|
}
|
|
19
19
|
```
|
|
20
|
+
|
|
21
|
+
## Guides
|
|
22
|
+
|
|
23
|
+
* [Basic usage](https://github.com/karakum-team/karakum/blob/master/docs/guides/Basic_usage.md)
|
|
@@ -8,8 +8,8 @@ export type Configuration = {
|
|
|
8
8
|
libraryNameOutputPrefix?: boolean;
|
|
9
9
|
granularity?: "file" | "top-level";
|
|
10
10
|
plugins?: string | string[];
|
|
11
|
+
annotations?: string | string[];
|
|
11
12
|
nameResolvers?: string | string[];
|
|
12
|
-
jsNameResolvers?: string | string[];
|
|
13
13
|
inheritanceModifiers?: string | string[];
|
|
14
14
|
moduleNameMapper?: Record<string, string>;
|
|
15
15
|
packageNameMapper?: Record<string, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../src/converter/annotation.ts"],"names":[],"mappings":""}
|
|
@@ -2,14 +2,14 @@ import { ConverterPlugin } from "../plugin";
|
|
|
2
2
|
import ts from "typescript";
|
|
3
3
|
import { ConverterContext } from "../context";
|
|
4
4
|
import { Render } from "../render";
|
|
5
|
-
import {
|
|
6
|
-
export declare class
|
|
7
|
-
private readonly
|
|
8
|
-
private readonly
|
|
9
|
-
constructor(
|
|
5
|
+
import { Annotation } from "../annotation";
|
|
6
|
+
export declare class AnnotationsPlugin implements ConverterPlugin {
|
|
7
|
+
private readonly coveredAnnotations;
|
|
8
|
+
private readonly annotations;
|
|
9
|
+
constructor(annotations: Annotation[]);
|
|
10
10
|
generate(context: ConverterContext): Record<string, string>;
|
|
11
11
|
render(node: ts.Node, context: ConverterContext, next: Render): string | null;
|
|
12
12
|
setup(context: ConverterContext): void;
|
|
13
13
|
traverse(node: ts.Node, context: ConverterContext): void;
|
|
14
|
-
private
|
|
14
|
+
private resolveAnnotations;
|
|
15
15
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnnotationsPlugin = void 0;
|
|
4
|
+
class AnnotationsPlugin {
|
|
5
|
+
constructor(annotations) {
|
|
6
|
+
this.coveredAnnotations = new Set();
|
|
7
|
+
this.annotations = annotations;
|
|
8
|
+
}
|
|
9
|
+
generate(context) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
render(node, context, next) {
|
|
13
|
+
if (this.coveredAnnotations.has(node))
|
|
14
|
+
return null;
|
|
15
|
+
this.coveredAnnotations.add(node);
|
|
16
|
+
const annotations = this.resolveAnnotations(node, context);
|
|
17
|
+
if (annotations.length > 0) {
|
|
18
|
+
return `
|
|
19
|
+
${annotations.join("\n")}
|
|
20
|
+
${next(node)}
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
setup(context) {
|
|
26
|
+
}
|
|
27
|
+
traverse(node, context) {
|
|
28
|
+
}
|
|
29
|
+
resolveAnnotations(node, context) {
|
|
30
|
+
const annotations = [];
|
|
31
|
+
for (const annotation of this.annotations) {
|
|
32
|
+
const result = annotation(node, context);
|
|
33
|
+
if (result !== null)
|
|
34
|
+
annotations.push(result);
|
|
35
|
+
}
|
|
36
|
+
return annotations;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.AnnotationsPlugin = AnnotationsPlugin;
|
|
40
|
+
//# sourceMappingURL=AnnotationsPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnnotationsPlugin.js","sourceRoot":"","sources":["../../../src/converter/plugins/AnnotationsPlugin.ts"],"names":[],"mappings":";;;AAMA,MAAa,iBAAiB;IAK1B,YAAY,WAAyB;QAJpB,uBAAkB,GAAG,IAAI,GAAG,EAAQ,CAAA;QAKjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAED,QAAQ,CAAC,OAAyB;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAa,EAAE,OAAyB,EAAE,IAAY;QACzD,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAE1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO;EACjB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;EACtB,IAAI,CAAC,IAAI,CAAC;aACC,CAAC;SACL;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,OAAyB;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,OAAyB;IACjD,CAAC;IAEO,kBAAkB,CAAC,IAAU,EAAE,OAAyB;QAC5D,MAAM,WAAW,GAAa,EAAE,CAAA;QAEhC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACvC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAExC,IAAI,MAAM,KAAK,IAAI;gBAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAChD;QAED,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AA9CD,8CA8CC"}
|
|
@@ -20,7 +20,11 @@ exports.convertCallSignature = (0, plugin_1.createSimplePlugin)((node, context,
|
|
|
20
20
|
return (0, convertParameterDeclaration_1.convertParameterDeclarations)(node, context, render, {
|
|
21
21
|
strategy: "function",
|
|
22
22
|
template: parameters => {
|
|
23
|
-
return `
|
|
23
|
+
return `
|
|
24
|
+
@Suppress("DEPRECATION")
|
|
25
|
+
@nativeInvoke
|
|
26
|
+
operator fun ${(0, render_1.ifPresent)(typeParameters, it => `<${it}>`)} invoke(${parameters})${(0, render_1.ifPresent)(returnType, it => `: ${it}`)}
|
|
27
|
+
`;
|
|
24
28
|
}
|
|
25
29
|
});
|
|
26
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertCallSignature.js","sourceRoot":"","sources":["../../../src/converter/plugins/convertCallSignature.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,sCAA6C;AAC7C,sCAAoC;AACpC,+DAAoF;AACpF,+EAA2E;AAE9D,QAAA,oBAAoB,GAAG,IAAA,2BAAkB,EAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;;IAC7E,IAAI,CAAC,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAErD,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAuB,6CAAuB,CAAC,CAAA;IACjG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAEjC,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,CAAC,cAAc,0CACpC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,0CAC3C,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjD,OAAO,IAAA,0DAA4B,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QACvD,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU,CAAC,EAAE;YACnB,OAAO,
|
|
1
|
+
{"version":3,"file":"convertCallSignature.js","sourceRoot":"","sources":["../../../src/converter/plugins/convertCallSignature.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,sCAA6C;AAC7C,sCAAoC;AACpC,+DAAoF;AACpF,+EAA2E;AAE9D,QAAA,oBAAoB,GAAG,IAAA,2BAAkB,EAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;;IAC7E,IAAI,CAAC,oBAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAErD,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAuB,6CAAuB,CAAC,CAAA;IACjG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAEjC,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,CAAC,cAAc,0CACpC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,0CAC3C,IAAI,CAAC,IAAI,CAAC,CAAA;IAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEjD,OAAO,IAAA,0DAA4B,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QACvD,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU,CAAC,EAAE;YACnB,OAAO;;;eAGJ,IAAA,kBAAS,EAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,UAAU,IAAI,IAAA,kBAAS,EAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;aAC3G,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -2,11 +2,11 @@ import ts, { ParameterDeclaration, SignatureDeclarationBase, TypeNode } from "ty
|
|
|
2
2
|
import { ConverterContext } from "../context";
|
|
3
3
|
import { Render } from "../render";
|
|
4
4
|
export interface ParameterDeclarationsConfiguration {
|
|
5
|
-
strategy: "function" | "lambda"
|
|
5
|
+
strategy: "function" | "lambda";
|
|
6
6
|
template: (parameters: string, signature: Signature) => string;
|
|
7
7
|
}
|
|
8
8
|
export interface ParameterDeclarationConfiguration {
|
|
9
|
-
strategy: "function" | "lambda"
|
|
9
|
+
strategy: "function" | "lambda";
|
|
10
10
|
type: TypeNode | undefined;
|
|
11
11
|
nullable: boolean;
|
|
12
12
|
}
|
|
@@ -23,11 +23,8 @@ exports.convertParameterDeclaration = (0, plugin_1.createSimplePlugin)((node, co
|
|
|
23
23
|
const convertParameterDeclarations = (node, context, render, configuration) => {
|
|
24
24
|
const { strategy, template } = configuration;
|
|
25
25
|
const initialSignature = extractSignature(node);
|
|
26
|
-
if (strategy === "function"
|
|
27
|
-
|
|
28
|
-
if (strategy === "inline") {
|
|
29
|
-
signatures = expandOptionals(signatures);
|
|
30
|
-
}
|
|
26
|
+
if (strategy === "function") {
|
|
27
|
+
const signatures = expandUnions(initialSignature, context);
|
|
31
28
|
return signatures
|
|
32
29
|
.map(signature => {
|
|
33
30
|
const parameters = signature
|
|
@@ -144,19 +141,4 @@ const expandUnions = (signature, context) => {
|
|
|
144
141
|
}
|
|
145
142
|
return currentSignatures;
|
|
146
143
|
};
|
|
147
|
-
const expandOptionals = (signatures) => {
|
|
148
|
-
return signatures.flatMap(signature => {
|
|
149
|
-
const optionalIndex = signature.findIndex(parameter => parameter.optional);
|
|
150
|
-
if (optionalIndex !== -1) {
|
|
151
|
-
let parameterCount = signature.length;
|
|
152
|
-
const resultSignatures = [];
|
|
153
|
-
while (parameterCount >= optionalIndex) {
|
|
154
|
-
resultSignatures.push(signature.slice(0, parameterCount));
|
|
155
|
-
parameterCount--;
|
|
156
|
-
}
|
|
157
|
-
return resultSignatures;
|
|
158
|
-
}
|
|
159
|
-
return [signature];
|
|
160
|
-
});
|
|
161
|
-
};
|
|
162
144
|
//# sourceMappingURL=convertParameterDeclaration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertParameterDeclaration.js","sourceRoot":"","sources":["../../../src/converter/plugins/convertParameterDeclaration.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAwF;AACxF,sCAA6C;AAC7C,+DAAoF;AACpF,yDAA2E;AAC3E,uEAAsG;AAwBzF,QAAA,2BAA2B,GAAG,IAAA,2BAAkB,EAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACpF,IAAI,CAAC,oBAAE,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtC,OAAO,wCAAwC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QACnE,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEK,MAAM,4BAA4B,GAAG,CACxC,IAA8B,EAC9B,OAAyB,EACzB,MAAc,EACd,aAAiD,EACnD,EAAE;IACA,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,aAAa,CAAA;IAC1C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAE/C,IAAI,QAAQ,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"convertParameterDeclaration.js","sourceRoot":"","sources":["../../../src/converter/plugins/convertParameterDeclaration.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -2,13 +2,14 @@ export type { Configuration } from "./configuration/configuration";
|
|
|
2
2
|
export type { ConverterContext } from "./converter/context";
|
|
3
3
|
export type { ConverterPlugin, SimpleConverterPlugin } from "./converter/plugin";
|
|
4
4
|
export { createSimplePlugin } from "./converter/plugin";
|
|
5
|
+
export type { Annotation } from "./converter/annotation";
|
|
5
6
|
export type { NameResolver } from "./converter/nameResolver";
|
|
7
|
+
export type { InheritanceModifier } from "./converter/inheritanceModifier";
|
|
6
8
|
export { checkCoverageServiceKey, type CheckCoverageService } from "./converter/plugins/CheckCoveragePlugin";
|
|
7
9
|
export { configurationServiceKey, type ConfigurationService } from "./converter/plugins/ConfigurationPlugin";
|
|
8
10
|
export { typeScriptServiceKey, type TypeScriptService } from "./converter/plugins/TypeScriptPlugin";
|
|
9
11
|
export { inheritanceModifierServiceKey, type InheritanceModifierService } from "./converter/plugins/InheritanceModifierPlugin";
|
|
10
12
|
export { type ParameterDeclarationsConfiguration, convertParameterDeclarations } from "./converter/plugins/convertParameterDeclaration";
|
|
11
|
-
export { convertCallableInterfaceDeclaration } from "./converter/plugins/controversial/convertCallableInterfaceDeclaration";
|
|
12
13
|
export type { Render } from "./converter/render";
|
|
13
14
|
export { ifPresent } from "./converter/render";
|
|
14
15
|
export { traverse } from "./utils/traverse";
|
package/build/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.process = exports.findClosest = exports.traverse = exports.ifPresent = exports.
|
|
3
|
+
exports.process = exports.findClosest = exports.traverse = exports.ifPresent = exports.convertParameterDeclarations = exports.inheritanceModifierServiceKey = exports.typeScriptServiceKey = exports.configurationServiceKey = exports.checkCoverageServiceKey = exports.createSimplePlugin = void 0;
|
|
4
4
|
var plugin_1 = require("./converter/plugin");
|
|
5
5
|
Object.defineProperty(exports, "createSimplePlugin", { enumerable: true, get: function () { return plugin_1.createSimplePlugin; } });
|
|
6
6
|
// plugin services
|
|
@@ -15,9 +15,6 @@ Object.defineProperty(exports, "inheritanceModifierServiceKey", { enumerable: tr
|
|
|
15
15
|
// plugin utils
|
|
16
16
|
var convertParameterDeclaration_1 = require("./converter/plugins/convertParameterDeclaration");
|
|
17
17
|
Object.defineProperty(exports, "convertParameterDeclarations", { enumerable: true, get: function () { return convertParameterDeclaration_1.convertParameterDeclarations; } });
|
|
18
|
-
// controversial plugins
|
|
19
|
-
var convertCallableInterfaceDeclaration_1 = require("./converter/plugins/controversial/convertCallableInterfaceDeclaration");
|
|
20
|
-
Object.defineProperty(exports, "convertCallableInterfaceDeclaration", { enumerable: true, get: function () { return convertCallableInterfaceDeclaration_1.convertCallableInterfaceDeclaration; } });
|
|
21
18
|
var render_1 = require("./converter/render");
|
|
22
19
|
Object.defineProperty(exports, "ifPresent", { enumerable: true, get: function () { return render_1.ifPresent; } });
|
|
23
20
|
// utils
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAQA,6CAAqD;AAA7C,4GAAA,kBAAkB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAQA,6CAAqD;AAA7C,4GAAA,kBAAkB,OAAA;AAW1B,kBAAkB;AAClB,+EAA0G;AAAlG,8HAAA,uBAAuB,OAAA;AAC/B,+EAA0G;AAAlG,8HAAA,uBAAuB,OAAA;AAC/B,yEAAiG;AAAzF,wHAAA,oBAAoB,OAAA;AAC5B,2FAA4H;AAApH,0IAAA,6BAA6B,OAAA;AAErC,eAAe;AACf,+FAGwD;AADpD,2IAAA,4BAA4B,OAAA;AAKhC,6CAA4C;AAApC,mGAAA,SAAS,OAAA;AAEjB,QAAQ;AACR,6CAAyC;AAAjC,oGAAA,QAAQ,OAAA;AAChB,mDAA+C;AAAvC,0GAAA,WAAW,OAAA;AAEnB,qCAAiC;AAAzB,kGAAA,OAAO,OAAA"}
|
package/build/process.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Configuration } from "./configuration/configuration";
|
|
2
2
|
export declare const defaultPluginPatterns: string[];
|
|
3
|
+
export declare const defaultAnnotationPatterns: string[];
|
|
3
4
|
export declare const defaultNameResolverPatterns: string[];
|
|
4
|
-
export declare const defaultJsNameResolverPatterns: string[];
|
|
5
5
|
export declare const defaultInheritanceModifierPatterns: string[];
|
|
6
6
|
export declare const ignoreLibPatterns: string[];
|
|
7
7
|
export declare function process(configuration: Configuration): Promise<void>;
|
package/build/process.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.process = exports.ignoreLibPatterns = exports.defaultInheritanceModifierPatterns = exports.
|
|
38
|
+
exports.process = exports.ignoreLibPatterns = exports.defaultInheritanceModifierPatterns = exports.defaultNameResolverPatterns = exports.defaultAnnotationPatterns = exports.defaultPluginPatterns = void 0;
|
|
39
39
|
const glob_1 = __importDefault(require("glob"));
|
|
40
40
|
const typescript_1 = __importDefault(require("typescript"));
|
|
41
41
|
const path_1 = __importDefault(require("path"));
|
|
@@ -50,16 +50,16 @@ const traverse_1 = require("./utils/traverse");
|
|
|
50
50
|
const minimatch_1 = __importDefault(require("minimatch"));
|
|
51
51
|
const createTargetFile_1 = require("./structure/createTargetFile");
|
|
52
52
|
const render_1 = require("./converter/render");
|
|
53
|
-
const
|
|
53
|
+
const AnnotationsPlugin_1 = require("./converter/plugins/AnnotationsPlugin");
|
|
54
54
|
exports.defaultPluginPatterns = [
|
|
55
55
|
"karakum/plugins/*.js"
|
|
56
56
|
];
|
|
57
|
+
exports.defaultAnnotationPatterns = [
|
|
58
|
+
"karakum/annotations/*.js"
|
|
59
|
+
];
|
|
57
60
|
exports.defaultNameResolverPatterns = [
|
|
58
61
|
"karakum/nameResolvers/*.js"
|
|
59
62
|
];
|
|
60
|
-
exports.defaultJsNameResolverPatterns = [
|
|
61
|
-
"karakum/jsNameResolvers/*.js"
|
|
62
|
-
];
|
|
63
63
|
exports.defaultInheritanceModifierPatterns = [
|
|
64
64
|
"karakum/inheritanceModifiers/*.js"
|
|
65
65
|
];
|
|
@@ -90,7 +90,7 @@ function loadExtensions(name, patterns, defaultValue, loader = extension => exte
|
|
|
90
90
|
}
|
|
91
91
|
function process(configuration) {
|
|
92
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
const { input, output, ignoreInput, ignoreOutput, plugins,
|
|
93
|
+
const { input, output, ignoreInput, ignoreOutput, plugins, annotations, nameResolvers, inheritanceModifiers, compilerOptions, } = configuration;
|
|
94
94
|
const normalizedInput = normalizeGlob(input);
|
|
95
95
|
const normalizedIgnoreInput = normalizeGlob(ignoreInput);
|
|
96
96
|
const normalizedIgnoreOutput = normalizeGlob(ignoreOutput);
|
|
@@ -102,8 +102,8 @@ function process(configuration) {
|
|
|
102
102
|
return plugin;
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
|
+
const customAnnotations = yield loadExtensions("Annotation", annotations, exports.defaultAnnotationPatterns);
|
|
105
106
|
const customNameResolvers = yield loadExtensions("Name Resolver", nameResolvers, exports.defaultNameResolverPatterns);
|
|
106
|
-
const customJsNameResolvers = yield loadExtensions("JsName Resolver", jsNameResolvers, exports.defaultJsNameResolverPatterns);
|
|
107
107
|
const customInheritanceModifiers = yield loadExtensions("Inheritance Modifier", inheritanceModifiers, exports.defaultInheritanceModifierPatterns);
|
|
108
108
|
const rootNames = normalizedInput.flatMap(pattern => glob_1.default.sync(pattern, {
|
|
109
109
|
absolute: true,
|
|
@@ -124,9 +124,9 @@ function process(configuration) {
|
|
|
124
124
|
const context = (0, context_1.createContext)();
|
|
125
125
|
const defaultPlugins = (0, defaultPlugins_1.createPlugins)(sourceFileRoot, configuration, customNameResolvers, customInheritanceModifiers, program);
|
|
126
126
|
const converterPlugins = [
|
|
127
|
-
// it is important to handle comments and
|
|
127
|
+
// it is important to handle comments and annotations at first
|
|
128
128
|
new CommentsPlugin_1.CommentsPlugin(),
|
|
129
|
-
new
|
|
129
|
+
new AnnotationsPlugin_1.AnnotationsPlugin(customAnnotations),
|
|
130
130
|
...customPlugins,
|
|
131
131
|
...defaultPlugins
|
|
132
132
|
];
|
package/build/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAAwB;AACxB,4DAA+C;AAC/C,gDAAwB;AACxB,+CAA8C;AAC9C,4CAAoB;AACpB,iDAAkD;AAClD,+CAA8F;AAC9F,qDAA+C;AAC/C,uEAAkE;AAClE,2EAAsE;AACtE,+CAA0C;AAC1C,0DAAkC;AAClC,mEAA8D;AAC9D,+CAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsNamePlugin = void 0;
|
|
4
|
-
class JsNamePlugin {
|
|
5
|
-
constructor(jsNameResolvers) {
|
|
6
|
-
this.coveredJsNames = new Set();
|
|
7
|
-
this.jsNameResolvers = jsNameResolvers;
|
|
8
|
-
}
|
|
9
|
-
generate(context) {
|
|
10
|
-
return {};
|
|
11
|
-
}
|
|
12
|
-
render(node, context, next) {
|
|
13
|
-
if (this.coveredJsNames.has(node))
|
|
14
|
-
return null;
|
|
15
|
-
this.coveredJsNames.add(node);
|
|
16
|
-
const resolvedName = this.resolveName(node, context);
|
|
17
|
-
if (resolvedName !== null) {
|
|
18
|
-
return `
|
|
19
|
-
@JsName("${resolvedName}")
|
|
20
|
-
${next(node)}
|
|
21
|
-
`;
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
setup(context) {
|
|
26
|
-
}
|
|
27
|
-
traverse(node, context) {
|
|
28
|
-
}
|
|
29
|
-
resolveName(node, context) {
|
|
30
|
-
for (const nameResolver of this.jsNameResolvers) {
|
|
31
|
-
const result = nameResolver(node, context);
|
|
32
|
-
if (result !== null)
|
|
33
|
-
return result;
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.JsNamePlugin = JsNamePlugin;
|
|
39
|
-
//# sourceMappingURL=JsNamePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsNamePlugin.js","sourceRoot":"","sources":["../../../src/converter/plugins/JsNamePlugin.ts"],"names":[],"mappings":";;;AAMA,MAAa,YAAY;IAKrB,YAAY,eAA+B;QAJ1B,mBAAc,GAAG,IAAI,GAAG,EAAQ,CAAA;QAK7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;IAED,QAAQ,CAAC,OAAyB;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAa,EAAE,OAAyB,EAAE,IAAY;QACzD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpD,IAAI,YAAY,KAAK,IAAI,EAAE;YACvB,OAAO;WACR,YAAY;EACrB,IAAI,CAAC,IAAI,CAAC;aACC,CAAC;SACL;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,OAAyB;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,OAAyB;IACjD,CAAC;IAEO,WAAW,CAAC,IAAU,EAAE,OAAyB;QACrD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE;YAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAE1C,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;SACrC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AA5CD,oCA4CC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.convertCallSignature = exports.convertCallableInterfaceDeclaration = void 0;
|
|
27
|
-
const typescript_1 = __importStar(require("typescript"));
|
|
28
|
-
const plugin_1 = require("../../plugin");
|
|
29
|
-
const render_1 = require("../../render");
|
|
30
|
-
const CheckCoveragePlugin_1 = require("../CheckCoveragePlugin");
|
|
31
|
-
const convertParameterDeclaration_1 = require("../convertParameterDeclaration");
|
|
32
|
-
exports.convertCallableInterfaceDeclaration = (0, plugin_1.createSimplePlugin)((node, context, render) => {
|
|
33
|
-
var _a, _b, _c, _d, _e;
|
|
34
|
-
if (typescript_1.default.isInterfaceDeclaration(node)
|
|
35
|
-
&& node.members.filter(it => typescript_1.default.isCallSignatureDeclaration(it)).length > 1) {
|
|
36
|
-
const checkCoverageService = context.lookupService(CheckCoveragePlugin_1.checkCoverageServiceKey);
|
|
37
|
-
checkCoverageService === null || checkCoverageService === void 0 ? void 0 : checkCoverageService.cover(node);
|
|
38
|
-
const exportModifier = (_a = node.modifiers) === null || _a === void 0 ? void 0 : _a.find(it => it.kind === typescript_1.SyntaxKind.ExportKeyword);
|
|
39
|
-
exportModifier && (checkCoverageService === null || checkCoverageService === void 0 ? void 0 : checkCoverageService.cover(exportModifier));
|
|
40
|
-
const name = render(node.name);
|
|
41
|
-
const typeParameters = (_c = (_b = node.typeParameters) === null || _b === void 0 ? void 0 : _b.map(typeParameter => render(typeParameter))) === null || _c === void 0 ? void 0 : _c.join(", ");
|
|
42
|
-
const heritageClauses = (_e = (_d = node.heritageClauses) === null || _d === void 0 ? void 0 : _d.map(heritageClause => render(heritageClause))) === null || _e === void 0 ? void 0 : _e.join(", ");
|
|
43
|
-
const members = node.members
|
|
44
|
-
.map(member => (typescript_1.default.isCallSignatureDeclaration(member)
|
|
45
|
-
? (0, exports.convertCallSignature)(member, context, render)
|
|
46
|
-
: render(node)))
|
|
47
|
-
.join("\n");
|
|
48
|
-
return `
|
|
49
|
-
sealed class ${name}${(0, render_1.ifPresent)(typeParameters, it => `<${it}>`)}${(0, render_1.ifPresent)(heritageClauses, it => ` : ${it}`)} {
|
|
50
|
-
${members}
|
|
51
|
-
}
|
|
52
|
-
`;
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
55
|
-
});
|
|
56
|
-
const convertCallSignature = (node, context, render) => {
|
|
57
|
-
var _a, _b;
|
|
58
|
-
if (!typescript_1.default.isCallSignatureDeclaration(node))
|
|
59
|
-
return null;
|
|
60
|
-
const checkCoverageService = context.lookupService(CheckCoveragePlugin_1.checkCoverageServiceKey);
|
|
61
|
-
checkCoverageService === null || checkCoverageService === void 0 ? void 0 : checkCoverageService.cover(node);
|
|
62
|
-
const typeParameters = (_b = (_a = node.typeParameters) === null || _a === void 0 ? void 0 : _a.map(typeParameter => render(typeParameter))) === null || _b === void 0 ? void 0 : _b.join(", ");
|
|
63
|
-
const returnType = node.type && render(node.type);
|
|
64
|
-
return (0, convertParameterDeclaration_1.convertParameterDeclarations)(node, context, render, {
|
|
65
|
-
strategy: "inline",
|
|
66
|
-
template: (parameters, signature) => {
|
|
67
|
-
const parameterNames = signature
|
|
68
|
-
.map(parameter => render(parameter.parameter.name))
|
|
69
|
-
.join(", ");
|
|
70
|
-
return `
|
|
71
|
-
@Suppress("NOTHING_TO_INLINE")
|
|
72
|
-
inline operator fun ${(0, render_1.ifPresent)(typeParameters, it => `<${it}>`)} invoke(${parameters})${(0, render_1.ifPresent)(returnType, it => `: ${it}`)} = asDynamic()(${parameterNames})
|
|
73
|
-
`;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
exports.convertCallSignature = convertCallSignature;
|
|
78
|
-
//# sourceMappingURL=convertCallableInterfaceDeclaration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convertCallableInterfaceDeclaration.js","sourceRoot":"","sources":["../../../../src/converter/plugins/controversial/convertCallableInterfaceDeclaration.ts"],"names":[],"mappings":"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"}
|