karakum 1.0.0-alpha.8 → 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 CHANGED
@@ -14,7 +14,7 @@ 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.8"
17
+ id("io.github.sgrishchenko.karakum") version "1.0.0-alpha.9"
18
18
  }
19
19
  ```
20
20
 
@@ -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 `operator fun ${(0, render_1.ifPresent)(typeParameters, it => `<${it}>`)} invoke(${parameters})${(0, render_1.ifPresent)(returnType, it => `: ${it}`)}`;
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,gBAAgB,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,EAAE,CAAA;QACtI,CAAC;KACJ,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
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" | "inline";
5
+ strategy: "function" | "lambda";
6
6
  template: (parameters: string, signature: Signature) => string;
7
7
  }
8
8
  export interface ParameterDeclarationConfiguration {
9
- strategy: "function" | "lambda" | "inline";
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" || strategy === "inline") {
27
- let signatures = expandUnions(initialSignature, context);
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":"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"}
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,EAAE;QACzB,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAE1D,OAAO,UAAU;aACZ,GAAG,CAAC,SAAS,CAAC,EAAE;YACb,MAAM,UAAU,GAAG,SAAS;iBACvB,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAE;gBAClC,OAAO,wCAAwC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;oBACxE,QAAQ;oBACR,IAAI;oBACJ,QAAQ;iBACX,CAAC,CAAA;YACN,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAA;YAEf,OAAO,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAC1C,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAA;KACpB;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;aAC7B,GAAG,CAAC,SAAS,CAAC,EAAE;YACb,OAAO,wCAAwC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;gBACxE,QAAQ;gBACR,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,QAAQ,EAAE,KAAK;aAClB,CAAC,CAAA;QACN,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEf,OAAO,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;KAChD;IAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAA;AAC1E,CAAC,CAAA;AA5CY,QAAA,4BAA4B,gCA4CxC;AAED,MAAM,wCAAwC,GAAG,CAC7C,IAA0B,EAC1B,OAAyB,EACzB,MAAc,EACd,aAAgD,EAClD,EAAE;IACA,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,aAAa,CAAA;IAEtC,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAuB,6CAAuB,CAAC,CAAA;IACjG,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAoB,uCAAoB,CAAC,CAAA;IAExF,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,cAAc,KAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA,CAAA;IACvE,IAAI,CAAC,aAAa,KAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA,CAAA;IAErE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,IAAI,IAAI,GAAG,cAAc,KAAK,CAAC;QAC3B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,cAAc,EAAE,CAAA;IAE9B,IAAI,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;SAAM;QACH,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC7C;IAED,IAAI,YAAoB,CAAA;IAExB,IAAI,IAAI,EAAE;QACN,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;KAC9B;SAAM;QACH,YAAY,GAAG,gCAAgC,CAAA;KAClD;IAED,IAAI,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAClC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;SAC7D;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,YAAY,CAAC,CAAA;SACxE;KACJ;IAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAA;IAEzE,IAAI,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;IACrC,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,uBAAuB;IACvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA;IAE3E,IACI,QAAQ,KAAK,QAAQ;WAClB,IAAI,CAAC,aAAa;WAClB,YAAY;WACZ,CAAC,IAAA,gDAAsB,EAAC,YAAY,CAAC,EAC1C;QACE,QAAQ,GAAG,IAAI,CAAA;QACf,cAAc,GAAG,IAAI,CAAA;KACxB;IAED,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACjN,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAA8B,EAAE,EAAE;IACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;KACtC,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACjB,SAAoB,EACpB,OAAyB,EACd,EAAE;IACb,MAAM,iBAAiB,GAAG,CAAC,SAAS,CAAC,CAAA;IAErC,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAuB,6CAAuB,CAAC,CAAA;IAEjG,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE;QAC9E,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE;YACtF,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;YACnD,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;YAE7D,IAAI,IAAI,IAAI,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;gBAClC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAEjC,MAAM,mBAAmB,GAAgB,EAAE,CAAA;gBAE3C,MAAM,QAAQ,GAAG,IAAA,6CAAmB,EAAC,IAAI,CAAC,CAAA;gBAE1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC9B,IAAI,IAAA,wCAAc,EAAC,OAAO,CAAC,EAAE;wBACzB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,SAAS,CAAC,IAAI,CAAC,CAAA;wBACrC,SAAQ;qBACX;oBAED,MAAM,kBAAkB,GAAc,CAAC,GAAG,SAAS,CAAC,CAAA;oBACpD,MAAM,aAAa,GAAG;wBAClB,SAAS;wBACT,IAAI,EAAE,OAAO;wBACb,QAAQ;wBACR,QAAQ;qBACX,CAAA;oBACD,kBAAkB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;oBAC3D,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;iBAC/C;gBAED,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAA;aACtE;SACJ;KACJ;IAED,OAAO,iBAAiB,CAAA;AAC5B,CAAC,CAAA"}
package/build/index.d.ts CHANGED
@@ -10,7 +10,6 @@ export { configurationServiceKey, type ConfigurationService } from "./converter/
10
10
  export { typeScriptServiceKey, type TypeScriptService } from "./converter/plugins/TypeScriptPlugin";
11
11
  export { inheritanceModifierServiceKey, type InheritanceModifierService } from "./converter/plugins/InheritanceModifierPlugin";
12
12
  export { type ParameterDeclarationsConfiguration, convertParameterDeclarations } from "./converter/plugins/convertParameterDeclaration";
13
- export { convertCallableInterfaceDeclaration } from "./converter/plugins/controversial/convertCallableInterfaceDeclaration";
14
13
  export type { Render } from "./converter/render";
15
14
  export { ifPresent } from "./converter/render";
16
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.convertCallableInterfaceDeclaration = exports.convertParameterDeclarations = exports.inheritanceModifierServiceKey = exports.typeScriptServiceKey = exports.configurationServiceKey = exports.checkCoverageServiceKey = exports.createSimplePlugin = void 0;
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
@@ -1 +1 @@
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;AAGhC,wBAAwB;AACxB,6HAE8E;AAD1E,0JAAA,mCAAmC,OAAA;AAKvC,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"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "karakum",
3
- "version": "1.0.0-alpha.8",
3
+ "version": "1.0.0-alpha.9",
4
4
  "description": "Converter of TypeScript declaration files to Kotlin declarations",
5
5
  "keywords": [
6
6
  "kotlin",
@@ -1,4 +0,0 @@
1
- import ts from "typescript";
2
- import { SimpleConverterPlugin } from "../../plugin";
3
- export declare const convertCallableInterfaceDeclaration: import("../../plugin").ConverterPlugin<ts.Node>;
4
- export declare const convertCallSignature: SimpleConverterPlugin;
@@ -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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"}