@idlizer/core 2.1.10-arktscgen-7 → 2.1.10-arktscgen-10
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/build/lib/src/IndentedPrinter.js +2 -2
- package/build/lib/src/Language.d.ts +1 -0
- package/build/lib/src/Language.js +8 -0
- package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +47 -3
- package/build/lib/src/LanguageWriters/ArgConvertors.js +216 -19
- package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +12 -4
- package/build/lib/src/LanguageWriters/LanguageWriter.js +28 -3
- package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +6 -2
- package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +7 -1
- package/build/lib/src/LanguageWriters/convertors/ETSConvertors.js +3 -0
- package/build/lib/src/LanguageWriters/convertors/InteropConvertors.js +4 -0
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.d.ts +10 -5
- package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +138 -51
- package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +5 -1
- package/build/lib/src/LanguageWriters/index.d.ts +1 -2
- package/build/lib/src/LanguageWriters/index.js +17 -3
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +5 -3
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/CLikeLanguageWriter.js +5 -3
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +2 -1
- package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +8 -3
- package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +4 -10
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +6 -4
- package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +59 -42
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +1 -1
- package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +5 -3
- package/build/lib/src/LibraryInterface.d.ts +6 -0
- package/build/lib/src/LibraryInterface.js +22 -1
- package/build/lib/src/from-idl/DtsPrinter.d.ts +3 -2
- package/build/lib/src/from-idl/DtsPrinter.js +9 -6
- package/build/lib/src/from-idl/parser.d.ts +1 -1
- package/build/lib/src/from-idl/parser.js +3 -3
- package/build/lib/src/idl/builders.d.ts +36 -1
- package/build/lib/src/idl/builders.js +62 -2
- package/build/lib/src/idl/dump.d.ts +3 -0
- package/build/lib/src/idl/dump.js +22 -4
- package/build/lib/src/idl/index.d.ts +0 -1
- package/build/lib/src/idl/index.js +0 -1
- package/build/lib/src/idl/node.d.ts +1 -0
- package/build/lib/src/idl/node.js +1 -0
- package/build/lib/src/idl/stdlib.d.ts +1 -0
- package/build/lib/src/idl/stdlib.js +1 -0
- package/build/lib/src/idl/utils.d.ts +4 -3
- package/build/lib/src/idl/utils.js +26 -13
- package/build/lib/src/idl/visitors.js +24 -104
- package/build/lib/src/index.d.ts +4 -1
- package/build/lib/src/index.js +4 -1
- package/build/lib/src/peer-generation/Extractors.d.ts +7 -0
- package/build/lib/src/peer-generation/Extractors.js +40 -0
- package/build/lib/src/peer-generation/Initializers.d.ts +5 -0
- package/build/lib/src/peer-generation/Initializers.js +28 -0
- package/build/lib/src/peer-generation/Materialized.d.ts +0 -4
- package/build/lib/src/peer-generation/Materialized.js +13 -24
- package/build/lib/src/peer-generation/PeerLibrary.d.ts +1 -0
- package/build/lib/src/peer-generation/PeerLibrary.js +54 -3
- package/build/lib/src/peer-generation/PeerMethod.d.ts +1 -0
- package/build/lib/src/peer-generation/PeerMethod.js +1 -0
- package/build/lib/src/peer-generation/idl/common.d.ts +0 -2
- package/build/lib/src/peer-generation/idl/common.js +3 -25
- package/build/lib/src/peer-generation/isMaterialized.d.ts +4 -0
- package/build/lib/src/peer-generation/isMaterialized.js +12 -0
- package/build/lib/src/peer-generation/unions.d.ts +1 -27
- package/build/lib/src/peer-generation/unions.js +1 -99
- package/build/lib/src/transformers/FqnTransformer.js +26 -2
- package/build/lib/src/transformers/GenericTransformer.d.ts +0 -2
- package/build/lib/src/transformers/GenericTransformer.js +20 -20
- package/build/lib/src/transformers/IdlTransformer.js +14 -0
- package/build/lib/src/transformers/NullTransformer.js +16 -3
- package/build/lib/src/transformers/OnSerializeTransformer.js +14 -0
- package/build/lib/src/transformers/ThrowsTransformer.d.ts +3 -0
- package/build/lib/src/transformers/ThrowsTransformer.js +51 -0
- package/build/lib/src/transformers/transformUtils.d.ts +7 -0
- package/build/lib/src/transformers/transformUtils.js +55 -0
- package/build/lib/src/util.d.ts +0 -15
- package/build/lib/src/util.js +2 -73
- package/package.json +11 -5
|
@@ -45,6 +45,7 @@ export const IDLFunctionType = createPrimitiveType('Function');
|
|
|
45
45
|
export const IDLCustomObjectType = createPrimitiveType('CustomObject');
|
|
46
46
|
export const IDLInteropReturnBufferType = createPrimitiveType('InteropReturnBuffer');
|
|
47
47
|
export const IDLNullTypeName = "idlize.stdlib.Null";
|
|
48
|
+
export const IDLThrowsTypeName = "idlize.stdlib.Throws";
|
|
48
49
|
export function isUndefinedType(type) {
|
|
49
50
|
return isPrimitiveType(type) && type.name === IDLUndefinedType.name;
|
|
50
51
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { stringOrNone } from "../util";
|
|
2
2
|
import { QNPattern } from "./discriminators";
|
|
3
3
|
import { IDLNode, IDLNamedNode, IDLType, IDLEntry, IDLReferenceType, IDLContainerType, IDLSignature, IDLParameter, IDLEnum, IDLFile } from "./node";
|
|
4
|
+
import { Language } from "../Language";
|
|
4
5
|
export declare function entityToType(entity: IDLNode): IDLType;
|
|
5
6
|
export declare function forceAsNamedNode(type: IDLNode): IDLNamedNode;
|
|
6
7
|
export declare function isEqualByQualifedName(a?: IDLNamedNode, b?: IDLNamedNode, pattern?: QNPattern): boolean;
|
|
@@ -12,9 +13,6 @@ export declare function decomposeQualifiedName(type: IDLReferenceType): [string
|
|
|
12
13
|
export declare function qualifiedNameStartsWith(node: IDLNode | string[], template: string[]): boolean;
|
|
13
14
|
export declare function maybeUnwrapOptionalType(type: IDLType): IDLType;
|
|
14
15
|
export declare function maybeOptional(type: IDLType, optional?: boolean): IDLType;
|
|
15
|
-
export declare const DebugUtils: {
|
|
16
|
-
debugPrintType: (type: IDLType) => string;
|
|
17
|
-
};
|
|
18
16
|
export declare function asPromise(type?: IDLType): IDLContainerType | undefined;
|
|
19
17
|
export declare function transformMethodsAsync2ReturnPromise(entry: IDLEntry): void;
|
|
20
18
|
export declare function transformMethodsReturnPromise2Async(entry: IDLEntry): void;
|
|
@@ -41,4 +39,7 @@ export declare function hasTypeParameters(entry: IDLEntry): boolean;
|
|
|
41
39
|
export declare function isGeneric(entry: IDLEntry): entry is IDLEntry & {
|
|
42
40
|
typeParameters?: string[];
|
|
43
41
|
};
|
|
42
|
+
export declare function snakeToLowCamelNode(node: IDLEntry): string;
|
|
43
|
+
export declare function entryToFunctionName(_language: Language, declaration: IDLEntry, prefix: string, postfix: string): string;
|
|
44
|
+
export declare function isInNamespace(node: IDLEntry): boolean;
|
|
44
45
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
15
|
+
import { basename } from "node:path";
|
|
16
|
+
import { capitalize } from "../util";
|
|
17
|
+
import { createOptionalType, createContainerType, createReferenceType, IDLVoidType, IDLStringType } from "./builders";
|
|
18
|
+
import { isNamedNode, getQualifiedName, getFQName, isOptionalType, isContainerType, IDLContainerUtils, isNamespace, isInPackage, isType, isEntry, isTypeParameterType, isInterface, isTypedef, isCallback, isMethod, isCallable, getExtAttribute, hasExtAttribute, getNamespacesPathFor } from "./discriminators";
|
|
18
19
|
import { IDLKind, IDLExtendedAttributes } from "./node";
|
|
19
|
-
import { IDLVoidType, IDLStringType } from "./stdlib";
|
|
20
20
|
import { forEachChild, forEachFunction } from "./visitors";
|
|
21
21
|
export function entityToType(entity) {
|
|
22
22
|
if (isType(entity)) {
|
|
@@ -83,15 +83,6 @@ export function maybeOptional(type, optional = false) {
|
|
|
83
83
|
}
|
|
84
84
|
return type;
|
|
85
85
|
}
|
|
86
|
-
export const DebugUtils = {
|
|
87
|
-
debugPrintType: (type) => {
|
|
88
|
-
const filename = type.fileName ? `, fileName: '${type.fileName}'` : "";
|
|
89
|
-
if (isContainerType(type)) {
|
|
90
|
-
return `[IDLType, name: '${printType(type)}', kind: '${IDLKind[type.kind]}', elements: [${type.elementType.map(DebugUtils.debugPrintType).join(', ')}]${filename}]`;
|
|
91
|
-
}
|
|
92
|
-
return `[IDLType, name: '${printType(type)}', kind: '${IDLKind[type.kind]}'${filename}]`;
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
86
|
export function asPromise(type) {
|
|
96
87
|
if (!type)
|
|
97
88
|
return undefined;
|
|
@@ -212,4 +203,26 @@ export function isGeneric(entry) {
|
|
|
212
203
|
|| isMethod(entry)
|
|
213
204
|
|| isCallable(entry);
|
|
214
205
|
}
|
|
206
|
+
export function snakeToLowCamelNode(node) {
|
|
207
|
+
if (!node.fileName) {
|
|
208
|
+
throw new Error("Invalid Convert");
|
|
209
|
+
}
|
|
210
|
+
const classname = basename(node.fileName).replace(".idl", "").replace(".d.ts", "");
|
|
211
|
+
return classname
|
|
212
|
+
.split('_')
|
|
213
|
+
.filter(word => word !== '')
|
|
214
|
+
.map((word, index) => {
|
|
215
|
+
if (index === 0) {
|
|
216
|
+
return word.toLowerCase();
|
|
217
|
+
}
|
|
218
|
+
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
219
|
+
})
|
|
220
|
+
.join('');
|
|
221
|
+
}
|
|
222
|
+
export function entryToFunctionName(_language, declaration, prefix, postfix) {
|
|
223
|
+
return `${prefix}${getQualifiedName(declaration, "package.namespace.name").split('.').map(capitalize).join('')}${postfix}`;
|
|
224
|
+
}
|
|
225
|
+
export function isInNamespace(node) {
|
|
226
|
+
return getNamespacesPathFor(node).length > 0;
|
|
227
|
+
}
|
|
215
228
|
//# sourceMappingURL=utils.js.map
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
import { generateSyntheticUnionName } from "
|
|
16
|
-
import { createInterface, createFile, createNamespace, createMethod, createCallable, createCallback, createConstructor, createUnionType, createOptionalType, createConstant, createEnum, createEnumMember, createProperty, createParameter, createTypedef, createContainerType, createReferenceType, createImport, createTypeParameterReference, createVersion } from "./builders";
|
|
15
|
+
import { createInterface, createFile, createNamespace, createMethod, createCallable, createCallback, createConstructor, createUnionType, createOptionalType, createConstant, createEnum, createEnumMember, createProperty, createParameter, createTypedef, createContainerType, createReferenceType, createImport, createTypeParameterReference, createVersion, generateSyntheticUnionName } from "./builders";
|
|
17
16
|
import { isType, isNamespace, isInterface, isMethod, isCallback, isTypedef, isEnum, isImport, isVersion, isConstant, isConstructor, isProperty, isCallable, isFile, isReferenceType, isParameter, isUnionType, isOptionalType, isEnumMember, isPrimitiveType, isContainerType, isTypeParameterType } from "./discriminators";
|
|
18
17
|
import { IDLKind } from "./node";
|
|
19
18
|
export function forEachChild(node, cbEnter, cbLeave) {
|
|
@@ -199,9 +198,10 @@ export function updateEachChild(node, op, cbLeave) {
|
|
|
199
198
|
return node;
|
|
200
199
|
}
|
|
201
200
|
export function cloneNodeInitializer(other) {
|
|
201
|
+
var _a;
|
|
202
202
|
return {
|
|
203
203
|
documentation: other.documentation,
|
|
204
|
-
extendedAttributes: other.extendedAttributes,
|
|
204
|
+
extendedAttributes: (_a = other.extendedAttributes) === null || _a === void 0 ? void 0 : _a.map(it => { return Object.assign({}, it); }),
|
|
205
205
|
fileName: other.fileName,
|
|
206
206
|
nameLocation: other.nameLocation,
|
|
207
207
|
nodeLocation: other.nodeLocation,
|
|
@@ -392,7 +392,7 @@ export function linkParentBack(node) {
|
|
|
392
392
|
return node;
|
|
393
393
|
}
|
|
394
394
|
export function clone(node) {
|
|
395
|
-
var _a, _b, _c, _d
|
|
395
|
+
var _a, _b, _c, _d;
|
|
396
396
|
const make = (newnode) => {
|
|
397
397
|
if (node.nodeLocation) {
|
|
398
398
|
newnode.nodeLocation = node.nodeLocation;
|
|
@@ -409,51 +409,27 @@ export function clone(node) {
|
|
|
409
409
|
switch (node.kind) {
|
|
410
410
|
case IDLKind.Interface: {
|
|
411
411
|
const entry = get(node);
|
|
412
|
-
return make(createInterface(entry.name, entry.subkind, (_a = entry.inheritance) === null || _a === void 0 ? void 0 : _a.map(clone), (_b = entry.constructors) === null || _b === void 0 ? void 0 : _b.map(clone), entry.constants.map(clone), entry.properties.map(clone), entry.methods.map(clone), entry.callables.map(clone), (_c = entry.typeParameters) === null || _c === void 0 ? void 0 : _c.map(it => it),
|
|
413
|
-
documentation: node.documentation,
|
|
414
|
-
extendedAttributes: (_d = node.extendedAttributes) === null || _d === void 0 ? void 0 : _d.slice(),
|
|
415
|
-
fileName: node.fileName
|
|
416
|
-
}));
|
|
412
|
+
return make(createInterface(entry.name, entry.subkind, (_a = entry.inheritance) === null || _a === void 0 ? void 0 : _a.map(clone), (_b = entry.constructors) === null || _b === void 0 ? void 0 : _b.map(clone), entry.constants.map(clone), entry.properties.map(clone), entry.methods.map(clone), entry.callables.map(clone), (_c = entry.typeParameters) === null || _c === void 0 ? void 0 : _c.map(it => it), cloneNodeInitializer(node)));
|
|
417
413
|
}
|
|
418
414
|
case IDLKind.Import: {
|
|
419
415
|
const entry = get(node);
|
|
420
|
-
return make(createImport(entry.clause, entry.name,
|
|
421
|
-
documentation: entry.documentation,
|
|
422
|
-
extendedAttributes: (_e = entry.extendedAttributes) === null || _e === void 0 ? void 0 : _e.slice(),
|
|
423
|
-
fileName: entry.fileName
|
|
424
|
-
}));
|
|
416
|
+
return make(createImport(entry.clause, entry.name, cloneNodeInitializer(entry)));
|
|
425
417
|
}
|
|
426
418
|
case IDLKind.Callback: {
|
|
427
419
|
const entry = get(node);
|
|
428
|
-
return make(createCallback(entry.name, entry.parameters.map(clone), clone(entry.returnType),
|
|
429
|
-
documentation: entry.documentation,
|
|
430
|
-
extendedAttributes: (_f = entry.extendedAttributes) === null || _f === void 0 ? void 0 : _f.slice(),
|
|
431
|
-
fileName: entry.fileName
|
|
432
|
-
}, entry.typeParameters));
|
|
420
|
+
return make(createCallback(entry.name, entry.parameters.map(clone), clone(entry.returnType), cloneNodeInitializer(entry), entry.typeParameters));
|
|
433
421
|
}
|
|
434
422
|
case IDLKind.Const: {
|
|
435
423
|
const entry = get(node);
|
|
436
|
-
return make(createConstant(entry.name, clone(entry.type), entry.value,
|
|
437
|
-
documentation: entry.documentation,
|
|
438
|
-
extendedAttributes: (_g = entry.extendedAttributes) === null || _g === void 0 ? void 0 : _g.slice(),
|
|
439
|
-
fileName: entry.fileName
|
|
440
|
-
}));
|
|
424
|
+
return make(createConstant(entry.name, clone(entry.type), entry.value, cloneNodeInitializer(entry)));
|
|
441
425
|
}
|
|
442
426
|
case IDLKind.Property: {
|
|
443
427
|
const entry = get(node);
|
|
444
|
-
return make(createProperty(entry.name, clone(entry.type), entry.isReadonly, entry.isStatic, entry.isOptional,
|
|
445
|
-
documentation: entry.documentation,
|
|
446
|
-
extendedAttributes: (_h = entry.extendedAttributes) === null || _h === void 0 ? void 0 : _h.slice(),
|
|
447
|
-
fileName: entry.fileName
|
|
448
|
-
}));
|
|
428
|
+
return make(createProperty(entry.name, clone(entry.type), entry.isReadonly, entry.isStatic, entry.isOptional, cloneNodeInitializer(entry)));
|
|
449
429
|
}
|
|
450
430
|
case IDLKind.Parameter: {
|
|
451
431
|
const entry = get(node);
|
|
452
|
-
return make(createParameter(entry.name, clone(entry.type), entry.isOptional, entry.isVariadic,
|
|
453
|
-
documentation: entry.documentation,
|
|
454
|
-
extendedAttributes: (_j = entry.extendedAttributes) === null || _j === void 0 ? void 0 : _j.slice(),
|
|
455
|
-
fileName: entry.fileName
|
|
456
|
-
}));
|
|
432
|
+
return make(createParameter(entry.name, clone(entry.type), entry.isOptional, entry.isVariadic, cloneNodeInitializer(entry)));
|
|
457
433
|
}
|
|
458
434
|
case IDLKind.Method: {
|
|
459
435
|
const entry = get(node);
|
|
@@ -462,38 +438,22 @@ export function clone(node) {
|
|
|
462
438
|
isFree: entry.isFree,
|
|
463
439
|
isOptional: entry.isOptional,
|
|
464
440
|
isStatic: entry.isStatic
|
|
465
|
-
},
|
|
466
|
-
documentation: entry.documentation,
|
|
467
|
-
extendedAttributes: (_k = entry.extendedAttributes) === null || _k === void 0 ? void 0 : _k.slice(),
|
|
468
|
-
fileName: entry.fileName
|
|
469
|
-
}, entry.typeParameters));
|
|
441
|
+
}, cloneNodeInitializer(entry), entry.typeParameters));
|
|
470
442
|
}
|
|
471
443
|
case IDLKind.Callable: {
|
|
472
444
|
const entry = get(node);
|
|
473
445
|
return make(createCallable(entry.name, entry.parameters.map(clone), clone(entry.returnType), {
|
|
474
446
|
isAsync: entry.isAsync,
|
|
475
447
|
isStatic: entry.isStatic
|
|
476
|
-
},
|
|
477
|
-
documentation: entry.documentation,
|
|
478
|
-
extendedAttributes: (_l = entry.extendedAttributes) === null || _l === void 0 ? void 0 : _l.slice(),
|
|
479
|
-
fileName: entry.documentation
|
|
480
|
-
}, entry.typeParameters));
|
|
448
|
+
}, cloneNodeInitializer(entry), entry.typeParameters));
|
|
481
449
|
}
|
|
482
450
|
case IDLKind.Constructor: {
|
|
483
451
|
const entry = get(node);
|
|
484
|
-
return make(createConstructor(entry.parameters.map(clone), entry.returnType ? clone(entry.returnType) : undefined,
|
|
485
|
-
documentation: entry.documentation,
|
|
486
|
-
extendedAttributes: (_m = entry.extendedAttributes) === null || _m === void 0 ? void 0 : _m.slice(),
|
|
487
|
-
fileName: entry.fileName
|
|
488
|
-
}));
|
|
452
|
+
return make(createConstructor(entry.parameters.map(clone), entry.returnType ? clone(entry.returnType) : undefined, cloneNodeInitializer(entry)));
|
|
489
453
|
}
|
|
490
454
|
case IDLKind.Enum: {
|
|
491
455
|
const entry = get(node);
|
|
492
|
-
const cloned = createEnum(entry.name, entry.elements.map(clone),
|
|
493
|
-
documentation: entry.documentation,
|
|
494
|
-
extendedAttributes: (_o = entry.extendedAttributes) === null || _o === void 0 ? void 0 : _o.slice(),
|
|
495
|
-
fileName: entry.fileName
|
|
496
|
-
});
|
|
456
|
+
const cloned = createEnum(entry.name, entry.elements.map(clone), cloneNodeInitializer(entry));
|
|
497
457
|
cloned.elements.forEach(it => {
|
|
498
458
|
it.parent = cloned;
|
|
499
459
|
});
|
|
@@ -501,86 +461,46 @@ export function clone(node) {
|
|
|
501
461
|
}
|
|
502
462
|
case IDLKind.EnumMember: {
|
|
503
463
|
const entry = get(node);
|
|
504
|
-
return make(createEnumMember(entry.name, entry.parent, clone(entry.type), entry.initializer,
|
|
505
|
-
documentation: entry.documentation,
|
|
506
|
-
extendedAttributes: (_p = entry.extendedAttributes) === null || _p === void 0 ? void 0 : _p.slice(),
|
|
507
|
-
fileName: entry.fileName
|
|
508
|
-
}));
|
|
464
|
+
return make(createEnumMember(entry.name, entry.parent, clone(entry.type), entry.initializer, cloneNodeInitializer(entry)));
|
|
509
465
|
}
|
|
510
466
|
case IDLKind.Typedef: {
|
|
511
467
|
const entry = get(node);
|
|
512
|
-
return make(createTypedef(entry.name, clone(entry.type), entry.typeParameters,
|
|
513
|
-
documentation: entry.documentation,
|
|
514
|
-
extendedAttributes: (_q = entry.extendedAttributes) === null || _q === void 0 ? void 0 : _q.slice(),
|
|
515
|
-
fileName: entry.fileName
|
|
516
|
-
}));
|
|
468
|
+
return make(createTypedef(entry.name, clone(entry.type), entry.typeParameters, cloneNodeInitializer(entry)));
|
|
517
469
|
}
|
|
518
470
|
case IDLKind.PrimitiveType: {
|
|
519
471
|
return node;
|
|
520
472
|
}
|
|
521
473
|
case IDLKind.ContainerType: {
|
|
522
474
|
const type = get(node);
|
|
523
|
-
return make(createContainerType(type.containerKind, type.elementType.map(clone),
|
|
524
|
-
documentation: type.documentation,
|
|
525
|
-
extendedAttributes: (_r = type.extendedAttributes) === null || _r === void 0 ? void 0 : _r.slice(),
|
|
526
|
-
fileName: type.fileName
|
|
527
|
-
}));
|
|
475
|
+
return make(createContainerType(type.containerKind, type.elementType.map(clone), cloneNodeInitializer(type)));
|
|
528
476
|
}
|
|
529
477
|
case IDLKind.ReferenceType: {
|
|
530
478
|
const type = get(node);
|
|
531
|
-
return make(createReferenceType(type.name, (
|
|
532
|
-
documentation: type.documentation,
|
|
533
|
-
extendedAttributes: (_t = type.extendedAttributes) === null || _t === void 0 ? void 0 : _t.slice(),
|
|
534
|
-
fileName: type.fileName
|
|
535
|
-
}));
|
|
479
|
+
return make(createReferenceType(type.name, (_d = type.typeArguments) === null || _d === void 0 ? void 0 : _d.map(clone), cloneNodeInitializer(type)));
|
|
536
480
|
}
|
|
537
481
|
case IDLKind.UnionType: {
|
|
538
482
|
const type = get(node);
|
|
539
|
-
return make(createUnionType(type.types.map(clone), type.name,
|
|
540
|
-
documentation: type.documentation,
|
|
541
|
-
extendedAttributes: (_u = type.extendedAttributes) === null || _u === void 0 ? void 0 : _u.slice(),
|
|
542
|
-
fileName: type.fileName
|
|
543
|
-
}));
|
|
483
|
+
return make(createUnionType(type.types.map(clone), type.name, cloneNodeInitializer(type)));
|
|
544
484
|
}
|
|
545
485
|
case IDLKind.TypeParameterType: {
|
|
546
486
|
const type = get(node);
|
|
547
|
-
return make(createTypeParameterReference(type.name,
|
|
548
|
-
documentation: type.documentation,
|
|
549
|
-
extendedAttributes: (_v = type.extendedAttributes) === null || _v === void 0 ? void 0 : _v.slice(),
|
|
550
|
-
fileName: type.fileName
|
|
551
|
-
}));
|
|
487
|
+
return make(createTypeParameterReference(type.name, cloneNodeInitializer(type)));
|
|
552
488
|
}
|
|
553
489
|
case IDLKind.OptionalType: {
|
|
554
490
|
const type = get(node);
|
|
555
|
-
return make(createOptionalType(clone(type.type),
|
|
556
|
-
documentation: type.documentation,
|
|
557
|
-
extendedAttributes: (_w = type.extendedAttributes) === null || _w === void 0 ? void 0 : _w.slice(),
|
|
558
|
-
fileName: type.fileName
|
|
559
|
-
}));
|
|
491
|
+
return make(createOptionalType(clone(type.type), cloneNodeInitializer(type)));
|
|
560
492
|
}
|
|
561
493
|
case IDLKind.Version: {
|
|
562
494
|
const entry = get(node);
|
|
563
|
-
return make(createVersion(entry.value,
|
|
564
|
-
documentation: entry.documentation,
|
|
565
|
-
extendedAttributes: (_x = entry.extendedAttributes) === null || _x === void 0 ? void 0 : _x.slice(),
|
|
566
|
-
fileName: entry.fileName
|
|
567
|
-
}));
|
|
495
|
+
return make(createVersion(entry.value, cloneNodeInitializer(entry)));
|
|
568
496
|
}
|
|
569
497
|
case IDLKind.Namespace: {
|
|
570
498
|
const ns = get(node);
|
|
571
|
-
return make(createNamespace(ns.name, ns.members.map(clone),
|
|
572
|
-
documentation: ns.documentation,
|
|
573
|
-
extendedAttributes: (_y = ns.extendedAttributes) === null || _y === void 0 ? void 0 : _y.slice(),
|
|
574
|
-
fileName: ns.fileName
|
|
575
|
-
}));
|
|
499
|
+
return make(createNamespace(ns.name, ns.members.map(clone), cloneNodeInitializer(ns)));
|
|
576
500
|
}
|
|
577
501
|
case IDLKind.File: {
|
|
578
502
|
const file = get(node);
|
|
579
|
-
return make(createFile(file.entries.map(clone), file.fileName, file.packageClause,
|
|
580
|
-
documentation: file.documentation,
|
|
581
|
-
extendedAttributes: (_z = file.extendedAttributes) === null || _z === void 0 ? void 0 : _z.slice(),
|
|
582
|
-
fileName: file.fileName
|
|
583
|
-
}));
|
|
503
|
+
return make(createFile(file.entries.map(clone), file.fileName, file.packageClause, cloneNodeInitializer(file)));
|
|
584
504
|
}
|
|
585
505
|
}
|
|
586
506
|
}
|
package/build/lib/src/index.d.ts
CHANGED
|
@@ -46,12 +46,15 @@ export * from "./peer-generation/isEnumType";
|
|
|
46
46
|
export * from "./peer-generation/unions";
|
|
47
47
|
export * from "./peer-generation/getSuperType";
|
|
48
48
|
export * from "./peer-generation/ConflictingDeclarations";
|
|
49
|
-
export * from "./peer-generation/
|
|
49
|
+
export * from "./peer-generation/Extractors";
|
|
50
|
+
export * from "./peer-generation/Initializers";
|
|
50
51
|
export * from "./transformers/FqnTransformer";
|
|
51
52
|
export * from "./transformers/GenericTransformer";
|
|
52
53
|
export * from "./transformers/NullTransformer";
|
|
54
|
+
export * from "./transformers/ThrowsTransformer";
|
|
53
55
|
export * from "./transformers/OnSerializeTransformer";
|
|
54
56
|
export * from "./transformers/IdlTransformer";
|
|
57
|
+
export * from "./transformers/transformUtils";
|
|
55
58
|
export * from "./LanguageWriters";
|
|
56
59
|
export * from "./peer-generation/ReferenceResolver";
|
|
57
60
|
export * from "./peer-generation/idl/common";
|
package/build/lib/src/index.js
CHANGED
|
@@ -60,12 +60,15 @@ export * from "./peer-generation/isEnumType";
|
|
|
60
60
|
export * from "./peer-generation/unions";
|
|
61
61
|
export * from "./peer-generation/getSuperType";
|
|
62
62
|
export * from "./peer-generation/ConflictingDeclarations";
|
|
63
|
-
export * from "./peer-generation/
|
|
63
|
+
export * from "./peer-generation/Extractors";
|
|
64
|
+
export * from "./peer-generation/Initializers";
|
|
64
65
|
export * from "./transformers/FqnTransformer";
|
|
65
66
|
export * from "./transformers/GenericTransformer";
|
|
66
67
|
export * from "./transformers/NullTransformer";
|
|
68
|
+
export * from "./transformers/ThrowsTransformer";
|
|
67
69
|
export * from "./transformers/OnSerializeTransformer";
|
|
68
70
|
export * from "./transformers/IdlTransformer";
|
|
71
|
+
export * from "./transformers/transformUtils";
|
|
69
72
|
export * from "./LanguageWriters";
|
|
70
73
|
export * from "./peer-generation/ReferenceResolver";
|
|
71
74
|
export * from "./peer-generation/idl/common";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
import { getQualifiedName } from "../idl";
|
|
16
|
+
import { Language } from "../Language";
|
|
17
|
+
import { capitalize } from "../util";
|
|
18
|
+
import { getInternalClassName, getInternalClassQualifiedName } from "./isMaterialized";
|
|
19
|
+
import { isInExternalModule } from "./modules";
|
|
20
|
+
function getExtractorClass(target, toPtr = true) {
|
|
21
|
+
if (isInExternalModule(target)) {
|
|
22
|
+
const qualifiedName = getQualifiedName(target, "namespace.name");
|
|
23
|
+
const name = qualifiedName.split(`.`).map(it => capitalize(it)).join("");
|
|
24
|
+
return name;
|
|
25
|
+
}
|
|
26
|
+
return toPtr ? "Peer" : "";
|
|
27
|
+
}
|
|
28
|
+
export function getExtractor(target, lang, toPtr = true) {
|
|
29
|
+
const receiver = isInExternalModule(target)
|
|
30
|
+
? `extractors`
|
|
31
|
+
: toPtr
|
|
32
|
+
? undefined // TBD: update to MaterializedBase when import is updated
|
|
33
|
+
: (lang == Language.CJ || lang == Language.KOTLIN)
|
|
34
|
+
? getInternalClassName(target.name)
|
|
35
|
+
: getInternalClassQualifiedName(target, "namespace.name", lang);
|
|
36
|
+
const extractorClass = getExtractorClass(target, toPtr);
|
|
37
|
+
const method = toPtr ? `to${extractorClass}Ptr` : `from${extractorClass}Ptr`;
|
|
38
|
+
return { receiver, method };
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=Extractors.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IDLEntry } from "../idl";
|
|
2
|
+
import { Language } from "../Language";
|
|
3
|
+
export declare function getInitializerFeature(lang: Language): string;
|
|
4
|
+
export declare function getInitializerDefaultValue(decl: IDLEntry, lang: Language): string;
|
|
5
|
+
//# sourceMappingURL=Initializers.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
import { getFQName, isProperty } from "../idl";
|
|
16
|
+
export function getInitializerFeature(lang) {
|
|
17
|
+
// TBD: update code for KT and CJ
|
|
18
|
+
return "initializers";
|
|
19
|
+
}
|
|
20
|
+
export function getInitializerDefaultValue(decl, lang) {
|
|
21
|
+
const parent = decl.parent;
|
|
22
|
+
const fqn = parent && isProperty(decl)
|
|
23
|
+
? `${getFQName(parent)}NS.${decl.name}`
|
|
24
|
+
: getFQName(decl);
|
|
25
|
+
// TBD: update code for KT and CJ
|
|
26
|
+
return `${getInitializerFeature(lang)}.${fqn}`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Initializers.js.map
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as idl from '../idl';
|
|
2
|
-
import { Language } from '../Language';
|
|
3
2
|
import { ArgConvertor } from '../LanguageWriters/ArgConvertors';
|
|
4
3
|
import { Field, Method } from '../LanguageWriters/LanguageWriter';
|
|
5
4
|
import { PeerClassBase } from './PeerClass';
|
|
@@ -56,7 +55,4 @@ export declare class MaterializedClass implements PeerClassBase {
|
|
|
56
55
|
isGlobalScope(): boolean;
|
|
57
56
|
}
|
|
58
57
|
export declare function createDestroyPeerMethod(clazz: MaterializedClass): MaterializedMethod | undefined;
|
|
59
|
-
export declare function getInternalClassName(name: string): string;
|
|
60
|
-
export declare function getInternalClassQualifiedName(target: idl.IDLEntry, pattern?: idl.QNPattern, language?: Language): string;
|
|
61
|
-
export declare function getMaterializedFileName(name: string): string;
|
|
62
58
|
//# sourceMappingURL=Materialized.d.ts.map
|
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
import * as idl from '../idl';
|
|
16
|
-
import { copyMethod, FieldModifier, Method, MethodModifier, NamedMethodSignature } from '../LanguageWriters/LanguageWriter';
|
|
17
|
-
import {
|
|
18
|
-
import { qualifiedName } from './idl/common';
|
|
16
|
+
import { copyMethod, FieldModifier, Method, METHOD_ACCESS_MODIFIERS, MethodModifier, NamedMethodSignature } from '../LanguageWriters/LanguageWriter';
|
|
17
|
+
import { getInternalClassName } from './isMaterialized';
|
|
19
18
|
import { PeerMethod, PeerMethodSignature } from './PeerMethod';
|
|
20
19
|
export class MaterializedField {
|
|
21
20
|
constructor(field, argConvertor, outArgConvertor, isNullableOriginalTypeField, extraMethodName = undefined) {
|
|
@@ -63,18 +62,18 @@ export class MaterializedMethod extends PeerMethod {
|
|
|
63
62
|
getPrivateMethod(asProtected = false) {
|
|
64
63
|
var _a, _b;
|
|
65
64
|
let privateMethod = this;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
modifiers: ((_b = this.method.modifiers) !== null && _b !== void 0 ? _b : [])
|
|
70
|
-
.filter(it => it !== MethodModifier.PUBLIC)
|
|
71
|
-
.filter(it => it !== MethodModifier.OVERRIDE)
|
|
72
|
-
.filter(it => !asProtected || (it !== MethodModifier.PRIVATE))
|
|
73
|
-
.concat([asProtected ? MethodModifier.PROTECTED : MethodModifier.PRIVATE])
|
|
74
|
-
})
|
|
75
|
-
});
|
|
65
|
+
const neededModifier = asProtected ? MethodModifier.PROTECTED : MethodModifier.PRIVATE;
|
|
66
|
+
if ((_a = privateMethod.method.modifiers) === null || _a === void 0 ? void 0 : _a.includes(neededModifier)) {
|
|
67
|
+
return privateMethod;
|
|
76
68
|
}
|
|
77
|
-
return
|
|
69
|
+
return copyMaterializedMethod(this, {
|
|
70
|
+
method: copyMethod(this.method, {
|
|
71
|
+
modifiers: ((_b = this.method.modifiers) !== null && _b !== void 0 ? _b : [])
|
|
72
|
+
.filter(it => !METHOD_ACCESS_MODIFIERS.has(it))
|
|
73
|
+
.filter(it => it !== MethodModifier.OVERRIDE)
|
|
74
|
+
.concat([neededModifier])
|
|
75
|
+
})
|
|
76
|
+
});
|
|
78
77
|
}
|
|
79
78
|
withReturnType(returnType) {
|
|
80
79
|
const s = this.method.signature;
|
|
@@ -127,14 +126,4 @@ export function createDestroyPeerMethod(clazz) {
|
|
|
127
126
|
}
|
|
128
127
|
return new MaterializedMethod(undefined, new PeerMethodSignature(PeerMethodSignature.DESTROY, '%NEVER_USED$', [], idl.IDLVoidType, clazz.decl), idl.getQualifiedName(clazz.decl, "namespace.name").split('.').join('_'), clazz.getImplementationName(), idl.IDLVoidType, false, PeerMethodSignature.DESTROY, new Method(PeerMethodSignature.DESTROY, new NamedMethodSignature(idl.IDLVoidType, [idl.createReferenceType(clazz.decl)], ['peer'])));
|
|
129
128
|
}
|
|
130
|
-
export function getInternalClassName(name) {
|
|
131
|
-
return `${name}Internal`;
|
|
132
|
-
}
|
|
133
|
-
export function getInternalClassQualifiedName(target, pattern = "package.namespace.name", language) {
|
|
134
|
-
return getInternalClassName(qualifiedName(target, language !== null && language !== void 0 ? language : ".", pattern));
|
|
135
|
-
}
|
|
136
|
-
export function getMaterializedFileName(name) {
|
|
137
|
-
const pascalCase = name.split('_').map(x => capitalize(x)).join('');
|
|
138
|
-
return `Ark${pascalCase}Materialized`;
|
|
139
|
-
}
|
|
140
129
|
//# sourceMappingURL=Materialized.js.map
|
|
@@ -10297,4 +10297,5 @@ export declare const ArkDate: idl.IDLPrimitiveType;
|
|
|
10297
10297
|
export declare const ArkCustomObject: idl.IDLPrimitiveType;
|
|
10298
10298
|
export declare function cleanPrefix(name: string, prefix: string): string;
|
|
10299
10299
|
export declare function forceTypedefAsResource(resolver: ReferenceResolver, type: idl.IDLType, decl: idl.IDLTypedef): boolean;
|
|
10300
|
+
export declare function toDeclaration(type: idl.IDLType | idl.IDLEntry, resolver: ReferenceResolver): idl.IDLEntry | idl.IDLType;
|
|
10300
10301
|
//# sourceMappingURL=PeerLibrary.d.ts.map
|
|
@@ -16,7 +16,7 @@ import { warn } from 'console';
|
|
|
16
16
|
import * as idl from '../idl';
|
|
17
17
|
import { Language } from '../Language';
|
|
18
18
|
import { createLanguageWriter } from '../LanguageWriters';
|
|
19
|
-
import { BufferConvertor, CallbackConvertor, DateConvertor, MapConvertor, PointerConvertor, TupleConvertor, TypeAliasConvertor, AggregateConvertor, StringConvertor, ArrayConvertor, FunctionConvertor, OptionConvertor, NumberConvertor, NumericConvertor, CustomTypeConvertor, UnionConvertor, MaterializedClassConvertor, BooleanConvertor, EnumConvertor, UndefinedConvertor, VoidConvertor, ImportTypeConvertor, InterfaceConvertor, BigIntToU64Convertor, ObjectConvertor, TransformOnSerializeConvertor, } from "../LanguageWriters/ArgConvertors";
|
|
19
|
+
import { BufferConvertor, CallbackConvertor, DateConvertor, MapConvertor, PointerConvertor, TupleConvertor, TypeAliasConvertor, AggregateConvertor, StringConvertor, ArrayConvertor, FunctionConvertor, OptionConvertor, NumberConvertor, NumericConvertor, CustomTypeConvertor, UnionConvertor, MaterializedClassConvertor, BooleanConvertor, EnumConvertor, UndefinedConvertor, VoidConvertor, ImportTypeConvertor, InterfaceConvertor, BigIntToU64Convertor, ObjectConvertor, TransformOnSerializeConvertor, ThrowsConvertor, } from "../LanguageWriters/ArgConvertors";
|
|
20
20
|
import { StructureNameConvertor } from '../LanguageWriters/convertors/CppConvertors';
|
|
21
21
|
import { CJTypeNameConvertor } from '../LanguageWriters/convertors/CJConvertors';
|
|
22
22
|
import { CppConvertor } from '../LanguageWriters/convertors/CppConvertors';
|
|
@@ -31,7 +31,7 @@ import { generatorConfiguration } from '../config';
|
|
|
31
31
|
import { KotlinTypeNameConvertor } from '../LanguageWriters/convertors/KotlinConvertors';
|
|
32
32
|
import { toIdlType } from '../from-idl/deserialize';
|
|
33
33
|
import { createCachedReferenceResolver } from './ReferenceResolver';
|
|
34
|
-
import {
|
|
34
|
+
import { maybeRestoreThrows } from '../transformers/transformUtils';
|
|
35
35
|
export const lenses = {
|
|
36
36
|
globals: lib.lens(lib.select.files())
|
|
37
37
|
.pipe(lib.select.nodes())
|
|
@@ -248,8 +248,9 @@ export class PeerLibrary {
|
|
|
248
248
|
throw new Error(`Unexpected declaration ${declaration.kind}`);
|
|
249
249
|
}
|
|
250
250
|
if (idl.hasExtAttribute(declaration, idl.IDLExtendedAttributes.TransformOnSerialize)) {
|
|
251
|
+
const sourceType = type;
|
|
251
252
|
const targetType = toIdlType("", idl.getExtAttribute(declaration, idl.IDLExtendedAttributes.TransformOnSerialize));
|
|
252
|
-
return new TransformOnSerializeConvertor(param, this, declaration, targetType);
|
|
253
|
+
return new TransformOnSerializeConvertor(param, this, declaration, sourceType, targetType);
|
|
253
254
|
}
|
|
254
255
|
if (idl.isEnum(declaration)) {
|
|
255
256
|
return new EnumConvertor(param, declaration);
|
|
@@ -266,6 +267,9 @@ export class PeerLibrary {
|
|
|
266
267
|
return new TypeAliasConvertor(this, param, declaration);
|
|
267
268
|
}
|
|
268
269
|
if (idl.isInterface(declaration)) {
|
|
270
|
+
if (maybeRestoreThrows(declaration, this)) {
|
|
271
|
+
return new ThrowsConvertor(this, param, declaration);
|
|
272
|
+
}
|
|
269
273
|
if (generatorConfiguration().forceResource.includes(declaration.name)) {
|
|
270
274
|
return new ObjectConvertor(param, type);
|
|
271
275
|
}
|
|
@@ -338,4 +342,51 @@ function isCyclicTypeDef(resolver, decl) {
|
|
|
338
342
|
});
|
|
339
343
|
return foundCycle;
|
|
340
344
|
}
|
|
345
|
+
export function toDeclaration(type, resolver) {
|
|
346
|
+
switch (type) {
|
|
347
|
+
case idl.IDLAnyType: return ArkCustomObject;
|
|
348
|
+
case idl.IDLVoidType: return idl.IDLVoidType;
|
|
349
|
+
case idl.IDLUndefinedType: return idl.IDLUndefinedType;
|
|
350
|
+
case idl.IDLUnknownType: return ArkCustomObject;
|
|
351
|
+
// case idl.IDLObjectType: return ArkCustomObject
|
|
352
|
+
}
|
|
353
|
+
const typeName = idl.isNamedNode(type) ? type.name : undefined;
|
|
354
|
+
switch (typeName) {
|
|
355
|
+
case "object":
|
|
356
|
+
case "Object": return idl.IDLObjectType;
|
|
357
|
+
}
|
|
358
|
+
if (idl.isReferenceType(type)) {
|
|
359
|
+
// TODO: remove all this!
|
|
360
|
+
if (type.name === 'Date') {
|
|
361
|
+
return ArkDate;
|
|
362
|
+
}
|
|
363
|
+
if (type.name === 'AnimationRange') {
|
|
364
|
+
return ArkCustomObject;
|
|
365
|
+
}
|
|
366
|
+
if (type.name === 'Function') {
|
|
367
|
+
return ArkFunction;
|
|
368
|
+
}
|
|
369
|
+
if (type.name === 'Optional') {
|
|
370
|
+
return toDeclaration(type.typeArguments[0], resolver);
|
|
371
|
+
}
|
|
372
|
+
const decl = resolver.resolveTypeReference(type);
|
|
373
|
+
if (!decl) {
|
|
374
|
+
warn(`undeclared type ${idl.DebugUtils.debugPrintType(type)}`);
|
|
375
|
+
}
|
|
376
|
+
if (decl && idl.isTypedef(decl) && forceTypedefAsResource(resolver, type, decl)) {
|
|
377
|
+
return idl.IDLObjectType;
|
|
378
|
+
}
|
|
379
|
+
if (decl && idl.hasExtAttribute(decl, idl.IDLExtendedAttributes.TransformOnSerialize)) {
|
|
380
|
+
const type = toIdlType("", idl.getExtAttribute(decl, idl.IDLExtendedAttributes.TransformOnSerialize));
|
|
381
|
+
return toDeclaration(type, resolver);
|
|
382
|
+
}
|
|
383
|
+
return !decl ? ArkCustomObject // assume some builtin type
|
|
384
|
+
: idl.isTypedef(decl) ? toDeclaration(decl.type, resolver)
|
|
385
|
+
: decl;
|
|
386
|
+
}
|
|
387
|
+
if (isImportAttr(type)) {
|
|
388
|
+
return ArkCustomObject;
|
|
389
|
+
}
|
|
390
|
+
return type;
|
|
391
|
+
}
|
|
341
392
|
//# sourceMappingURL=PeerLibrary.js.map
|
|
@@ -24,6 +24,7 @@ export declare class PeerMethodSignature {
|
|
|
24
24
|
static mangleOverloadedName(decl: idl.IDLConstructor | idl.IDLMethod | idl.IDLCallable | idl.IDLProperty): OverloadInfo;
|
|
25
25
|
static get CTOR(): string;
|
|
26
26
|
static get GET_FINALIZER(): string;
|
|
27
|
+
static get CALL_HOLDER(): string;
|
|
27
28
|
static get DESTROY(): string;
|
|
28
29
|
}
|
|
29
30
|
export declare class PeerMethod {
|
|
@@ -77,6 +77,7 @@ export class PeerMethodSignature {
|
|
|
77
77
|
}
|
|
78
78
|
static get CTOR() { return "construct"; }
|
|
79
79
|
static get GET_FINALIZER() { return "getFinalizer"; }
|
|
80
|
+
static get CALL_HOLDER() { return "callHolder"; }
|
|
80
81
|
static get DESTROY() { return "destroyPeer"; }
|
|
81
82
|
}
|
|
82
83
|
export class PeerMethod {
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import * as idl from "../../idl";
|
|
2
2
|
import { Language } from "../../Language";
|
|
3
3
|
import { IdlNameConvertor } from "../../LanguageWriters";
|
|
4
|
-
export declare function generateSyntheticIdlNodeName(type: idl.IDLType): string;
|
|
5
4
|
export declare function qualifiedName(decl: idl.IDLNode, languageOrDelimiter: Language | string, pattern: idl.QNPattern): string;
|
|
6
5
|
export declare function collapseTypes(types: idl.IDLType[], name?: string): idl.IDLType;
|
|
7
6
|
export declare function generifiedTypeName(refType: idl.IDLReferenceType, nameConvertor: IdlNameConvertor, refName?: string): string;
|
|
8
7
|
export declare function sanitizeGenerics(genericDeclarationString: string): string;
|
|
9
|
-
export declare function generateSyntheticUnionName(types: idl.IDLType[]): string;
|
|
10
8
|
export declare function generateSyntheticFunctionParameterName(parameter: idl.IDLParameter): string;
|
|
11
9
|
export declare function generateSyntheticFunctionName(parameters: idl.IDLParameter[], returnType: idl.IDLType, options?: {
|
|
12
10
|
isAsync?: boolean;
|