@idlizer/core 2.1.9-arktscgen-5 → 2.1.9-arktscgen-8

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.
Files changed (58) hide show
  1. package/build/lib/src/Language.d.ts +0 -1
  2. package/build/lib/src/Language.js +7 -8
  3. package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +4 -15
  4. package/build/lib/src/LanguageWriters/ArgConvertors.js +103 -102
  5. package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +8 -30
  6. package/build/lib/src/LanguageWriters/LanguageWriter.js +15 -67
  7. package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +2 -2
  8. package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.d.ts +17 -1
  9. package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +121 -6
  10. package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +6 -0
  11. package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +1 -2
  12. package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +3 -19
  13. package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +0 -5
  14. package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +0 -9
  15. package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +3 -5
  16. package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +9 -22
  17. package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +6 -9
  18. package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +23 -66
  19. package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +1 -7
  20. package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +4 -14
  21. package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +11 -8
  22. package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +116 -27
  23. package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +4 -5
  24. package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +10 -26
  25. package/build/lib/src/config.d.ts +336 -1
  26. package/build/lib/src/config.js +11 -3
  27. package/build/lib/src/diagnosticmessages.d.ts +45 -0
  28. package/build/lib/src/diagnosticmessages.js +66 -0
  29. package/build/lib/src/diagnostictypes.d.ts +140 -0
  30. package/build/lib/src/diagnostictypes.js +72 -0
  31. package/build/lib/src/formatter.d.ts +3 -0
  32. package/build/lib/src/formatter.js +98 -0
  33. package/build/lib/src/from-idl/deserialize.d.ts +1 -0
  34. package/build/lib/src/from-idl/deserialize.js +107 -5
  35. package/build/lib/src/idl.d.ts +7 -0
  36. package/build/lib/src/idl.js +15 -3
  37. package/build/lib/src/index.d.ts +7 -1
  38. package/build/lib/src/index.js +7 -1
  39. package/build/lib/src/peer-generation/Materialized.d.ts +4 -20
  40. package/build/lib/src/peer-generation/Materialized.js +9 -62
  41. package/build/lib/src/peer-generation/PeerClass.d.ts +0 -2
  42. package/build/lib/src/peer-generation/PeerClass.js +4 -6
  43. package/build/lib/src/peer-generation/PeerLibrary.js +1 -5
  44. package/build/lib/src/peer-generation/PeerMethod.d.ts +25 -27
  45. package/build/lib/src/peer-generation/PeerMethod.js +83 -93
  46. package/build/lib/src/peer-generation/idl/common.js +1 -1
  47. package/build/lib/src/peer-generation/isMaterialized.js +0 -4
  48. package/build/lib/src/peer-generation/modules.d.ts +1 -0
  49. package/build/lib/src/peer-generation/modules.js +4 -0
  50. package/build/lib/src/peer-generation/unions.d.ts +0 -2
  51. package/build/lib/src/peer-generation/unions.js +3 -23
  52. package/build/lib/src/transformers/FqnTransformer.d.ts +4 -0
  53. package/build/lib/src/transformers/FqnTransformer.js +17 -0
  54. package/build/lib/src/transformers/GenericTransformer.d.ts +8 -0
  55. package/build/lib/src/transformers/GenericTransformer.js +141 -0
  56. package/build/lib/src/util.d.ts +4 -2
  57. package/build/lib/src/util.js +21 -12
  58. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import * as idl from '../../idl';
2
2
  import { Language } from '../../Language';
3
3
  import { IndentedPrinter } from "../../IndentedPrinter";
4
- import { DelegationCall, FieldModifier, LambdaExpression, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, Method, MethodModifier, MethodSignature, NamedMethodSignature, ObjectArgs, ReturnStatement } from "../LanguageWriter";
4
+ import { DelegationCall, FieldModifier, LambdaExpression, LanguageExpression, LanguageStatement, LanguageWriter, MakeAssignOptions, MakeCastOptions, Method, MethodModifier, MethodSignature, ObjectArgs, ReturnStatement } from "../LanguageWriter";
5
5
  import { ArgConvertor } from "../ArgConvertors";
6
6
  import { IdlNameConvertor } from "../nameConvertor";
7
7
  import { RuntimeType } from "../common";
@@ -65,7 +65,7 @@ export declare class TSLanguageWriter extends LanguageWriter {
65
65
  }, setter?: {
66
66
  method: Method;
67
67
  op: () => void;
68
- }): void;
68
+ }, initExpr?: LanguageExpression): void;
69
69
  writeTypeDeclaration(decl: idl.IDLTypedef): void;
70
70
  writeConstant(constName: string, constType: idl.IDLType, constVal?: string): void;
71
71
  private writeDeclaration;
@@ -74,7 +74,6 @@ export declare class TSLanguageWriter extends LanguageWriter {
74
74
  makeLambda(signature: MethodSignature, body?: LanguageStatement[]): LanguageExpression;
75
75
  makeThrowError(message: string): LanguageStatement;
76
76
  makeReturn(expr: LanguageExpression): LanguageStatement;
77
- makeCheckOptional(optional: LanguageExpression, doStatement: LanguageStatement): LanguageStatement;
78
77
  makeStatement(expr: LanguageExpression): LanguageStatement;
79
78
  makeLoop(counter: string, limit: string, statement?: LanguageStatement): LanguageStatement;
80
79
  makeMapForEach(map: string, key: string, value: string, op: () => void): LanguageStatement;
@@ -84,6 +83,7 @@ export declare class TSLanguageWriter extends LanguageWriter {
84
83
  getObjectAccessor(convertor: ArgConvertor, value: string, args?: ObjectArgs): string;
85
84
  makeUndefined(): LanguageExpression;
86
85
  makeRuntimeType(rt: RuntimeType): LanguageExpression;
86
+ makeDefinedCheck(value: string): LanguageExpression;
87
87
  makeTupleAlloc(option: string): LanguageStatement;
88
88
  makeArrayInit(type: idl.IDLContainerType, size?: number): LanguageExpression;
89
89
  makeClassInit(type: idl.IDLType, paramenters: LanguageExpression[]): LanguageExpression;
@@ -100,7 +100,6 @@ export declare class TSLanguageWriter extends LanguageWriter {
100
100
  castToBoolean(value: string): string;
101
101
  makeCallIsObject(value: string): LanguageExpression;
102
102
  escapeKeyword(keyword: string): string;
103
- makeDiscriminatorConvertor(convertor: ArgConvertor, value: string, index: number): LanguageExpression | undefined;
104
- makeSerializerConstructorSignatures(): NamedMethodSignature[] | undefined;
103
+ discriminate(value: string, index: number, type: idl.IDLType, runtimeTypes: RuntimeType[]): string;
105
104
  }
106
105
  //# sourceMappingURL=TsLanguageWriter.d.ts.map
@@ -16,9 +16,9 @@ import * as idl from '../../idl';
16
16
  import { isOptionalType } from '../../idl';
17
17
  import { Language } from '../../Language';
18
18
  import { IndentedPrinter } from "../../IndentedPrinter";
19
- import { AssignStatement, BlockStatement, CheckOptionalStatement, DelegationType, ExpressionStatement, FieldModifier, IfStatement, LambdaExpression, LanguageWriter, Method, MethodModifier, MethodSignature, NamedMethodSignature, NaryOpExpression, ReturnStatement, StringExpression } from "../LanguageWriter";
19
+ import { AssignStatement, BlockStatement, DelegationType, ExpressionStatement, FieldModifier, IfStatement, LambdaExpression, LanguageWriter, Method, MethodModifier, MethodSignature, NamedMethodSignature, NaryOpExpression, ReturnStatement, StringExpression } from "../LanguageWriter";
20
20
  import { RuntimeType } from "../common";
21
- import { rightmostIndexOf, throwException } from "../../util";
21
+ import { rightmostIndexOf } from "../../util";
22
22
  import { TSKeywords } from '../../languageSpecificKeywords';
23
23
  ////////////////////////////////////////////////////////////////
24
24
  // EXPRESSIONS //
@@ -243,7 +243,7 @@ export class TSLanguageWriter extends LanguageWriter {
243
243
  this.popIndent();
244
244
  this.printer.print(`}`);
245
245
  }
246
- writeProperty(propName, propType, modifiers, getter, setter) {
246
+ writeProperty(propName, propType, modifiers, getter, setter, initExpr) {
247
247
  let isStatic = modifiers.includes(FieldModifier.STATIC);
248
248
  let isMutable = !modifiers.includes(FieldModifier.READONLY);
249
249
  let containerName = propName.concat("_container");
@@ -264,7 +264,7 @@ export class TSLanguageWriter extends LanguageWriter {
264
264
  }
265
265
  }
266
266
  else {
267
- this.writeFieldDeclaration(propName, propType, modifiers, idl.isOptionalType(propType));
267
+ this.writeFieldDeclaration(propName, propType, modifiers, idl.isOptionalType(propType), initExpr);
268
268
  }
269
269
  }
270
270
  writeTypeDeclaration(decl) {
@@ -310,9 +310,6 @@ export class TSLanguageWriter extends LanguageWriter {
310
310
  makeReturn(expr) {
311
311
  return new TSReturnStatement(expr);
312
312
  }
313
- makeCheckOptional(optional, doStatement) {
314
- return new CheckOptionalStatement("undefined", optional, doStatement);
315
- }
316
313
  makeStatement(expr) {
317
314
  return new ExpressionStatement(expr);
318
315
  }
@@ -355,6 +352,9 @@ export class TSLanguageWriter extends LanguageWriter {
355
352
  makeRuntimeType(rt) {
356
353
  return this.makeString(`RuntimeType.${RuntimeType[rt]}`);
357
354
  }
355
+ makeDefinedCheck(value) {
356
+ return this.makeString(`${value} !== undefined`);
357
+ }
358
358
  makeTupleAlloc(option) {
359
359
  return new TsTupleAllocStatement(option);
360
360
  }
@@ -411,25 +411,9 @@ export class TSLanguageWriter extends LanguageWriter {
411
411
  escapeKeyword(keyword) {
412
412
  return TSKeywords.has(keyword) ? keyword + "_" : keyword;
413
413
  }
414
- makeDiscriminatorConvertor(convertor, value, index) {
415
- const convertorNativeType = convertor.nativeType();
416
- const decl = this.resolver.resolveTypeReference(idl.isReferenceType(convertorNativeType)
417
- ? convertorNativeType
418
- : idl.createReferenceType(this.getNodeName(convertorNativeType)));
419
- if (decl === undefined || !idl.isEnum(decl)) {
420
- throwException(`The type reference ${decl === null || decl === void 0 ? void 0 : decl.name} must be Enum`);
421
- }
422
- const ordinal = idl.isStringEnum(decl)
423
- ? this.i32FromEnum(this.makeCast(this.makeString(this.getObjectAccessor(convertor, value)), convertor.idlType), decl)
424
- : this.makeUnionVariantCast(this.getObjectAccessor(convertor, value), this.getNodeName(idl.IDLI32Type), convertor, index);
425
- const { low, high } = idl.extremumOfOrdinals(decl);
426
- return this.discriminatorFromExpressions(value, convertor.runtimeTypes[0], [
427
- this.makeNaryOp(">=", [ordinal, this.makeString(low.toString())]),
428
- this.makeNaryOp("<=", [ordinal, this.makeString(high.toString())])
429
- ]);
430
- }
431
- makeSerializerConstructorSignatures() {
432
- return [new NamedMethodSignature(idl.IDLVoidType, [], [])];
414
+ discriminate(value, index, type, runtimeTypes) {
415
+ const runtimeTypeList = runtimeTypes.map(ty => "RuntimeType." + RuntimeType[ty]).join(", ");
416
+ return `[${runtimeTypeList}].includes(runtimeType(${value}))`;
433
417
  }
434
418
  }
435
419
  //# sourceMappingURL=TsLanguageWriter.js.map