@idlizer/core 2.1.10-arktscgen-3a → 2.1.10-arktscgen-5

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 (65) hide show
  1. package/build/lib/src/Language.d.ts +0 -1
  2. package/build/lib/src/Language.js +0 -2
  3. package/build/lib/src/LanguageWriters/ArgConvertors.d.ts +15 -2
  4. package/build/lib/src/LanguageWriters/ArgConvertors.js +75 -19
  5. package/build/lib/src/LanguageWriters/LanguageWriter.d.ts +14 -2
  6. package/build/lib/src/LanguageWriters/LanguageWriter.js +12 -4
  7. package/build/lib/src/LanguageWriters/convertors/CJConvertors.d.ts +0 -1
  8. package/build/lib/src/LanguageWriters/convertors/CJConvertors.js +2 -4
  9. package/build/lib/src/LanguageWriters/convertors/CppConvertors.d.ts +7 -7
  10. package/build/lib/src/LanguageWriters/convertors/CppConvertors.js +37 -23
  11. package/build/lib/src/LanguageWriters/convertors/KotlinConvertors.js +9 -5
  12. package/build/lib/src/LanguageWriters/convertors/TSConvertors.d.ts +4 -4
  13. package/build/lib/src/LanguageWriters/convertors/TSConvertors.js +73 -30
  14. package/build/lib/src/LanguageWriters/index.d.ts +2 -2
  15. package/build/lib/src/LanguageWriters/index.js +8 -13
  16. package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.d.ts +4 -0
  17. package/build/lib/src/LanguageWriters/writers/CJLanguageWriter.js +24 -16
  18. package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.d.ts +2 -0
  19. package/build/lib/src/LanguageWriters/writers/CppLanguageWriter.js +7 -1
  20. package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.d.ts +1 -2
  21. package/build/lib/src/LanguageWriters/writers/ETSLanguageWriter.js +0 -6
  22. package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.d.ts +2 -0
  23. package/build/lib/src/LanguageWriters/writers/JavaLanguageWriter.js +11 -0
  24. package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.d.ts +8 -0
  25. package/build/lib/src/LanguageWriters/writers/KotlinLanguageWriter.js +75 -27
  26. package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.d.ts +2 -0
  27. package/build/lib/src/LanguageWriters/writers/TsLanguageWriter.js +38 -12
  28. package/build/lib/src/LibraryInterface.d.ts +0 -1
  29. package/build/lib/src/config.d.ts +760 -0
  30. package/build/lib/src/config.js +7 -0
  31. package/build/lib/src/formatter.js +5 -2
  32. package/build/lib/src/from-idl/DtsPrinter.js +3 -3
  33. package/build/lib/src/from-idl/common.js +2 -2
  34. package/build/lib/src/from-idl/deserialize.d.ts +3 -7
  35. package/build/lib/src/from-idl/deserialize.js +65 -39
  36. package/build/lib/src/from-idl/parser.d.ts +1 -1
  37. package/build/lib/src/from-idl/parser.js +29 -20
  38. package/build/lib/src/idl.d.ts +12 -1
  39. package/build/lib/src/idl.js +73 -11
  40. package/build/lib/src/index.d.ts +3 -5
  41. package/build/lib/src/index.js +3 -5
  42. package/build/lib/src/inheritance.d.ts +0 -2
  43. package/build/lib/src/inheritance.js +0 -17
  44. package/build/lib/src/languageSpecificKeywords.js +1 -1
  45. package/build/lib/src/peer-generation/ConflictingDeclarations.d.ts +6 -0
  46. package/build/lib/src/peer-generation/ConflictingDeclarations.js +43 -0
  47. package/build/lib/src/peer-generation/LayoutManager.d.ts +2 -0
  48. package/build/lib/src/peer-generation/LayoutManager.js +15 -0
  49. package/build/lib/src/peer-generation/Materialized.d.ts +2 -0
  50. package/build/lib/src/peer-generation/Materialized.js +14 -1
  51. package/build/lib/src/peer-generation/PeerLibrary.d.ts +0 -3
  52. package/build/lib/src/peer-generation/PeerLibrary.js +63 -38
  53. package/build/lib/src/peer-generation/idl/IdlNameConvertor.d.ts +6 -0
  54. package/build/lib/src/peer-generation/idl/IdlNameConvertor.js +15 -3
  55. package/build/lib/src/peer-generation/isMaterialized.js +1 -1
  56. package/build/lib/src/peer-generation/modules.d.ts +2 -0
  57. package/build/lib/src/peer-generation/modules.js +14 -1
  58. package/build/lib/src/transformers/GenericTransformer.js +70 -5
  59. package/build/lib/src/transformers/NullTransformer.d.ts +0 -1
  60. package/build/lib/src/transformers/NullTransformer.js +1 -2
  61. package/build/lib/src/transformers/OnSerializeTransformer.d.ts +3 -0
  62. package/build/lib/src/transformers/OnSerializeTransformer.js +19 -0
  63. package/build/lib/src/util.d.ts +10 -39
  64. package/build/lib/src/util.js +56 -371
  65. package/package.json +45 -49
@@ -14,137 +14,13 @@
14
14
  */
15
15
  import * as path from 'path';
16
16
  import * as fs from "fs";
17
- import * as ts from "typescript";
18
17
  import * as idl from "./idl";
19
18
  import { Language } from './Language';
20
- import { isInExternalModule } from './peer-generation/modules';
19
+ import { getModuleFor, isInExternalModule } from './peer-generation/modules';
21
20
  import { getInternalClassName, getInternalClassQualifiedName } from './peer-generation/Materialized';
22
- /** True if this is visible outside this file, false otherwise */
23
- export function isNodePublic(node) {
24
- return (ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Public) !== 0;
25
- }
26
- export function nameOrNull(name) {
27
- if (name == undefined)
28
- return undefined;
29
- if (ts.isIdentifier(name)) {
30
- return ts.idText(name);
31
- }
32
- return undefined;
33
- }
34
- export function isNamedDeclaration(node) {
35
- return ("name" in node);
36
- }
37
- export function asString(node) {
38
- if (node === undefined)
39
- return "undefined node";
40
- if (ts.isIdentifier(node))
41
- return ts.idText(node);
42
- if (ts.isQualifiedName(node))
43
- return `${identName(node.left)}.${identName(node.right)}`;
44
- if (ts.isStringLiteral(node))
45
- return node.text;
46
- if (ts.isTypeReferenceNode(node))
47
- return `${ts.SyntaxKind[node.kind]}(${asString(node.typeName)})`;
48
- if (ts.isImportTypeNode(node))
49
- return `${ts.SyntaxKind[node.kind]}(${asString(node.qualifier)})`;
50
- if (isNamedDeclaration(node)) {
51
- if (node.name === undefined) {
52
- return `${ts.SyntaxKind[node.kind]}(undefined name)`;
53
- }
54
- else {
55
- return `${ts.SyntaxKind[node.kind]}(${asString(node.name)})`;
56
- }
57
- }
58
- else {
59
- return `${ts.SyntaxKind[node.kind]}`;
60
- }
61
- }
62
21
  export function arrayAt(array, index) {
63
22
  return array ? array[index >= 0 ? index : array.length + index] : undefined;
64
23
  }
65
- export function getComment(sourceFile, node) {
66
- const commentRanges = ts.getLeadingCommentRanges(sourceFile.getFullText(), node.getFullStart());
67
- if (!commentRanges)
68
- return "";
69
- return commentRanges
70
- .map(range => sourceFile.getFullText().slice(range.pos, range.end))
71
- .join("\n");
72
- }
73
- export function getSymbolByNode(typechecker, node) {
74
- return typechecker.getSymbolAtLocation(node);
75
- }
76
- export function getDeclarationsByNode(typechecker, node) {
77
- var _a, _b;
78
- return (_b = (_a = getSymbolByNode(typechecker, node)) === null || _a === void 0 ? void 0 : _a.getDeclarations()) !== null && _b !== void 0 ? _b : [];
79
- }
80
- export function findRealDeclarations(typechecker, node) {
81
- const declarations = getDeclarationsByNode(typechecker, node);
82
- const first = declarations[0];
83
- if (first && ts.isExportAssignment(first)) {
84
- return findRealDeclarations(typechecker, first.expression);
85
- }
86
- else {
87
- return declarations;
88
- }
89
- }
90
- export function getExportedDeclarationNameByDecl(declaration) {
91
- let declName = declaration.name ? ts.idText(declaration.name) : undefined;
92
- let current = declaration;
93
- while (current != undefined && !ts.isSourceFile(current)) {
94
- current = current.parent;
95
- }
96
- let source = current;
97
- let exportedName = declName;
98
- source.forEachChild(it => {
99
- if (ts.isExportDeclaration(it)) {
100
- let clause = it.exportClause;
101
- if (clause && ts.isNamedExportBindings(clause) && ts.isNamedExports(clause)) {
102
- clause.elements.forEach(it => {
103
- let propName = it.propertyName ? ts.idText(it.propertyName) : undefined;
104
- let property = ts.idText(it.name);
105
- if (propName == declName) {
106
- exportedName = property;
107
- }
108
- });
109
- }
110
- }
111
- });
112
- return exportedName;
113
- }
114
- export function getExportedDeclarationNameByNode(typechecker, node) {
115
- let declarations = getDeclarationsByNode(typechecker, node);
116
- if (declarations.length == 0)
117
- return undefined;
118
- return getExportedDeclarationNameByDecl(declarations[0]);
119
- }
120
- function hasModifier(modifierLikes, modifier) {
121
- return (modifierLikes === null || modifierLikes === void 0 ? void 0 : modifierLikes.find(it => it.kind === modifier)) != undefined;
122
- }
123
- export function isReadonly(modifierLikes) {
124
- return hasModifier(modifierLikes, ts.SyntaxKind.ReadonlyKeyword);
125
- }
126
- export function isExport(modifierLikes) {
127
- return hasModifier(modifierLikes, ts.SyntaxKind.ExportKeyword);
128
- }
129
- export function isAbstract(modifierLikes) {
130
- return hasModifier(modifierLikes, ts.SyntaxKind.AbstractKeyword);
131
- }
132
- export function isStatic(modifierLikes) {
133
- return hasModifier(modifierLikes, ts.SyntaxKind.StaticKeyword);
134
- }
135
- export function isAsync(modifierLikes) {
136
- return hasModifier(modifierLikes, ts.SyntaxKind.AsyncKeyword);
137
- }
138
- export function isPrivate(modifierLikes) {
139
- return hasModifier(modifierLikes, ts.SyntaxKind.PrivateKeyword);
140
- }
141
- export function isProtected(modifierLikes) {
142
- return hasModifier(modifierLikes, ts.SyntaxKind.ProtectedKeyword);
143
- }
144
- export function getLineNumberString(sourceFile, position) {
145
- let pos = ts.getLineAndCharacterOfPosition(sourceFile, position);
146
- return `${pos.line + 1}:${pos.character}`;
147
- }
148
24
  export function isDefined(value) {
149
25
  return !!value;
150
26
  }
@@ -191,22 +67,6 @@ export function indentedBy(input, indentedBy) {
191
67
  return "";
192
68
  }
193
69
  }
194
- export function typeOrUndefined(type) {
195
- var _a;
196
- let needUndefined = true;
197
- if (ts.isUnionTypeNode(type)) {
198
- (_a = type.types) === null || _a === void 0 ? void 0 : _a.forEach(it => {
199
- if (it.kind == ts.SyntaxKind.UndefinedKeyword)
200
- needUndefined = false;
201
- });
202
- }
203
- if (!needUndefined)
204
- return type;
205
- return ts.factory.createUnionTypeNode([
206
- type,
207
- ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword)
208
- ]);
209
- }
210
70
  export function forEachExpanding(array, action) {
211
71
  let i = 0;
212
72
  while (true) {
@@ -216,56 +76,6 @@ export function forEachExpanding(array, action) {
216
76
  i += 1;
217
77
  }
218
78
  }
219
- export function isTypeParamSuitableType(type) {
220
- if (ts.isTypeReferenceNode(type)) {
221
- return !['boolean', 'number', 'string', 'undefined', 'any'].includes(type.typeName.getText());
222
- }
223
- return false;
224
- }
225
- export function heritageTypes(typechecker, clause) {
226
- return clause
227
- .types
228
- .map(it => {
229
- let type = typechecker.getTypeAtLocation(it.expression);
230
- let typeNode = typechecker.typeToTypeNode(type, undefined, ts.NodeBuilderFlags.NoTruncation);
231
- if (typeNode && ts.isTypeReferenceNode(typeNode))
232
- return typeNode;
233
- return undefined;
234
- })
235
- .filter(it => it != undefined);
236
- }
237
- export function heritageDeclarations(typechecker, clause) {
238
- return clause
239
- .types
240
- .map(it => {
241
- var _a;
242
- let decls = getDeclarationsByNode(typechecker, it.expression);
243
- return (_a = decls[0]) !== null && _a !== void 0 ? _a : undefined;
244
- })
245
- .filter(isDefined);
246
- }
247
- export function typeName(type) {
248
- const entityName = typeEntityName(type);
249
- if (!entityName)
250
- return undefined;
251
- if (ts.isIdentifier(entityName))
252
- return ts.idText(entityName);
253
- if (ts.isQualifiedName(entityName)) {
254
- // a.b.c is QualifiedName((QualifiedName a, b), c) so the right one is always an Identifier?
255
- if (!ts.isIdentifier(entityName.right))
256
- throw new Error(`Unexpected right of QualifiedName ${asString(entityName.right)}`);
257
- return ts.idText(entityName.right);
258
- }
259
- }
260
- export function typeEntityName(type) {
261
- if (ts.isTypeReferenceNode(type))
262
- return type.typeName;
263
- if (ts.isTypeQueryNode(type))
264
- return type.exprName;
265
- if (ts.isImportTypeNode(type))
266
- return type.qualifier;
267
- throw new Error("unsupported");
268
- }
269
79
  export function zip(left, right) {
270
80
  if (left.length != right.length)
271
81
  throw new Error("Arrays of different length");
@@ -278,178 +88,6 @@ export function zipStrip(left, right) {
278
88
  }
279
89
  return result;
280
90
  }
281
- export function identNameWithNamespace(node, language) {
282
- let parent = node.parent;
283
- while (parent && !ts.isModuleDeclaration(parent))
284
- parent = parent.parent;
285
- if (parent) {
286
- const separator = language === Language.CPP ? '_' : '.';
287
- return `${identName(parent.name)}${separator}${identName(node)}`;
288
- }
289
- else {
290
- return identName(node);
291
- }
292
- }
293
- export function identName(node) {
294
- if (!node)
295
- return undefined;
296
- if (node.kind == ts.SyntaxKind.AnyKeyword)
297
- return `any`;
298
- if (node.kind == ts.SyntaxKind.ObjectKeyword)
299
- return `object`;
300
- if (node.kind == ts.SyntaxKind.StringKeyword)
301
- return `string`;
302
- if (node.kind == ts.SyntaxKind.BooleanKeyword)
303
- return `boolean`;
304
- if (node.kind == ts.SyntaxKind.BigIntKeyword)
305
- return `bigint`;
306
- if (node.kind == ts.SyntaxKind.NumberKeyword)
307
- return `number`;
308
- if (node.kind == ts.SyntaxKind.VoidKeyword)
309
- return `void`;
310
- if (node.kind == ts.SyntaxKind.UndefinedKeyword)
311
- return `undefined`;
312
- if (ts.isThisTypeNode(node)) {
313
- return 'this';
314
- }
315
- if (ts.isVariableDeclaration(node)) {
316
- return identString(node.name);
317
- }
318
- if (ts.isTypeReferenceNode(node)) {
319
- return identString(node.typeName);
320
- }
321
- if (ts.isArrayTypeNode(node)) {
322
- return `Array`;
323
- }
324
- if (ts.isQualifiedName(node)) {
325
- return identName(node.right);
326
- }
327
- if (ts.isModuleDeclaration(node)) {
328
- return identString(node.name);
329
- }
330
- if (ts.isFunctionDeclaration(node)) {
331
- return identString(node.name);
332
- }
333
- if (ts.isPropertyDeclaration(node)) {
334
- // TODO: mention parent's name
335
- return identString(node.name);
336
- }
337
- if (ts.isInterfaceDeclaration(node)) {
338
- return identString(node.name);
339
- }
340
- if (ts.isClassDeclaration(node)) {
341
- return identString(node.name);
342
- }
343
- if (ts.isMethodDeclaration(node)) {
344
- return identString(node.name);
345
- }
346
- if (ts.isEnumDeclaration(node)) {
347
- return identString(node.name);
348
- }
349
- if (ts.isEnumMember(node)) {
350
- return identString(node.name);
351
- }
352
- if (ts.isComputedPropertyName(node)) {
353
- return identString(node);
354
- }
355
- if (ts.isExportAssignment(node)) {
356
- return node.expression.getText();
357
- }
358
- if (ts.isUnionTypeNode(node)) {
359
- return `UnionType`;
360
- }
361
- if (ts.isFunctionTypeNode(node)) {
362
- return `FunctionType`;
363
- }
364
- if (ts.isIdentifier(node))
365
- return identString(node);
366
- if (ts.isImportTypeNode(node))
367
- return `imported ${identString(node.qualifier)}`;
368
- if (ts.isTypeLiteralNode(node))
369
- return `TypeLiteral`;
370
- if (ts.isTupleTypeNode(node))
371
- return `TupleType`;
372
- if (ts.isIndexSignatureDeclaration(node))
373
- return `IndexSignature`;
374
- if (ts.isIndexedAccessTypeNode(node))
375
- return `IndexedAccess`;
376
- if (ts.isTemplateLiteralTypeNode(node))
377
- return `TemplateLiteral`;
378
- if (ts.isParameter(node))
379
- return `Parameter`;
380
- if (ts.isParenthesizedTypeNode(node))
381
- return identName(node.type);
382
- if (ts.isIntersectionTypeNode(node))
383
- return node.types.map(it => identName(it)).join("&");
384
- if (node.kind === ts.SyntaxKind.UnknownKeyword)
385
- return `UnknownKeyword`;
386
- throw new Error(`Unknown: ${ts.SyntaxKind[node.kind]}`);
387
- }
388
- export function identString(node) {
389
- if (!node)
390
- return undefined;
391
- if (ts.isStringLiteral(node))
392
- return node.text;
393
- if (ts.isNumericLiteral(node))
394
- return node.text;
395
- if (ts.isIdentifier(node))
396
- return ts.idText(node);
397
- if (ts.isQualifiedName(node))
398
- return `${identString(node.left)}.${identName(node.right)}`;
399
- if (ts.isComputedPropertyName(node))
400
- return "<computed property>";
401
- throw new Error("Unknown");
402
- }
403
- export const defaultCompilerOptions = {
404
- target: ts.ScriptTarget.ES5,
405
- module: ts.ModuleKind.CommonJS,
406
- noLib: true,
407
- types: []
408
- };
409
- export function serializerBaseMethods() {
410
- const program = ts.createProgram([
411
- "./utils/ts/SerializerBase.ts",
412
- "./utils/ts/types.ts",
413
- ], defaultCompilerOptions);
414
- const serializerDecl = program.getSourceFiles()
415
- .find(it => it.fileName.includes("SerializerBase"));
416
- // TODO: pack classes with npm package
417
- if (serializerDecl === undefined)
418
- return [];
419
- const methods = [];
420
- visit(serializerDecl);
421
- return methods;
422
- function visit(node) {
423
- if (ts.isSourceFile(node))
424
- node.statements.forEach(visit);
425
- if (ts.isClassDeclaration(node))
426
- node.members.filter(ts.isMethodDeclaration).forEach(visit);
427
- if (ts.isMethodDeclaration(node))
428
- methods.push(node.name.getText(serializerDecl));
429
- }
430
- }
431
- export function getNameWithoutQualifiersRight(node) {
432
- if (!node)
433
- return undefined;
434
- if (ts.isQualifiedName(node)) {
435
- return identName(node.right);
436
- }
437
- if (ts.isIdentifier(node)) {
438
- return identName(node);
439
- }
440
- throw new Error("Impossible");
441
- }
442
- export function getNameWithoutQualifiersLeft(node) {
443
- if (!node)
444
- return undefined;
445
- if (ts.isQualifiedName(node)) {
446
- return identName(node.left);
447
- }
448
- if (ts.isIdentifier(node)) {
449
- return identName(node);
450
- }
451
- throw new Error("Impossible");
452
- }
453
91
  export function snakeCaseToCamelCase(input, tailToLowerCase = false) {
454
92
  return input
455
93
  .split("_")
@@ -550,16 +188,9 @@ export function renameClassToMaterialized(className, language, withFileExtension
550
188
  }
551
189
  return renamed;
552
190
  }
553
- export function importTypeName(type, asType = false) {
554
- return asType ? "object" : identName(type.qualifier);
555
- }
556
191
  export function throwException(message) {
557
192
  throw new Error(message);
558
193
  }
559
- export function className(node) {
560
- var _a;
561
- return (_a = nameOrNull(node.name)) !== null && _a !== void 0 ? _a : throwException(`Nameless component ${asString(node)}`);
562
- }
563
194
  /**
564
195
  * Add a prefix to an enum value which camel case name coincidence
565
196
  * with the the same upper case name for an another enum value
@@ -693,8 +324,12 @@ export function sorted(array, key) {
693
324
  }
694
325
  export function mapLibraryName(node, lang, mapping, prefix = "@") {
695
326
  var _a, _b;
327
+ const module = getModuleFor(node);
328
+ if (module.tsLikePackage !== undefined) {
329
+ return `^` + module.tsLikePackage;
330
+ }
696
331
  const packageName = idl.getPackageName(node);
697
- return (_b = (_a = mapping === null || mapping === void 0 ? void 0 : mapping.get(packageName)) === null || _a === void 0 ? void 0 : _a.get(lang.name)) !== null && _b !== void 0 ? _b : `${prefix}${packageName}`;
332
+ return `^` + ((_b = (_a = mapping === null || mapping === void 0 ? void 0 : mapping.get(packageName)) === null || _a === void 0 ? void 0 : _a.get(lang.name)) !== null && _b !== void 0 ? _b : `${prefix}${packageName}`);
698
333
  }
699
334
  function getExtractorClass(target, toPtr = true) {
700
335
  if (isInExternalModule(target)) {
@@ -716,4 +351,54 @@ export function getExtractor(target, lang, toPtr = true) {
716
351
  const method = toPtr ? `to${extractorClass}Ptr` : `from${extractorClass}Ptr`;
717
352
  return { receiver, method };
718
353
  }
354
+ export function getTransformer(library, from, to) {
355
+ const convertor = library.createTypeNameConvertor(Language.CPP);
356
+ return {
357
+ receiver: "extractors",
358
+ method: `transform_${convertor.convert(from)}_to_${convertor.convert(to)}`
359
+ };
360
+ }
361
+ export function removePoints(s) {
362
+ return s.split(/[\.\-]/g).join('_');
363
+ }
364
+ export function scanDirectory(dir, fileFilter, recursive = false) {
365
+ const dirsToVisit = [path.resolve(dir)];
366
+ const result = [];
367
+ while (dirsToVisit.length > 0) {
368
+ let dir = dirsToVisit.pop();
369
+ let dirents = fs.readdirSync(dir, { withFileTypes: true });
370
+ for (const entry of dirents) {
371
+ const fullPath = path.join(dir, entry.name);
372
+ if (entry.isFile()) {
373
+ if (fileFilter(fullPath)) {
374
+ result.push(fullPath);
375
+ }
376
+ }
377
+ else if (recursive && entry.isDirectory()) {
378
+ dirsToVisit.push(fullPath);
379
+ }
380
+ }
381
+ }
382
+ return result;
383
+ }
384
+ export function scanInputDirs(inputDirs, fileFilter = undefined, recursive = false) {
385
+ if (typeof fileFilter === 'undefined')
386
+ return scanInputDirs(inputDirs, (_) => true, recursive);
387
+ if (typeof fileFilter === 'string')
388
+ return scanInputDirs(inputDirs, (file) => file.endsWith(fileFilter), recursive);
389
+ const resolvedInputDirs = inputDirs.map(dir => path.resolve(dir));
390
+ console.log("Resolved input directories:", resolvedInputDirs);
391
+ return resolvedInputDirs.flatMap(dir => {
392
+ if (fs.existsSync(dir) && fs.statSync(dir).isDirectory()) {
393
+ console.log(`Processing all definitions from directory: ${dir}`);
394
+ return scanDirectory(dir, fileFilter, recursive);
395
+ }
396
+ else {
397
+ console.warn(`Warning: Directory does not exist or is not a directory: ${dir}`);
398
+ return [];
399
+ }
400
+ }).sort((a, b) => {
401
+ return path.basename(a).localeCompare(path.basename(b));
402
+ });
403
+ }
719
404
  //# sourceMappingURL=util.js.map
package/package.json CHANGED
@@ -1,53 +1,49 @@
1
1
  {
2
- "name": "@idlizer/core",
3
- "version": "2.1.10-arktscgen-3a",
4
- "description": "",
5
- "types": "build/lib/src/index.d.ts",
6
- "exports": {
7
- ".": [
8
- "./build/lib/src/index.js"
2
+ "name": "@idlizer/core",
3
+ "version": "2.1.10-arktscgen-5",
4
+ "description": "",
5
+ "types": "build/lib/src/index.d.ts",
6
+ "exports": {
7
+ ".": [
8
+ "./build/lib/src/index.js"
9
+ ],
10
+ "./idl": [
11
+ "./build/lib/src/idl.js"
12
+ ]
13
+ },
14
+ "typesVersions": {
15
+ "*": {
16
+ "idl": [
17
+ "build/lib/src/idl.d.ts"
18
+ ],
19
+ "*": [
20
+ "build/lib/src/index.d.ts"
21
+ ]
22
+ }
23
+ },
24
+ "files": [
25
+ "build/lib/**/*.js",
26
+ "build/lib/**/*.d.ts",
27
+ "webidl2.js/dist/**/*.js",
28
+ "webidl2.js/package.json"
9
29
  ],
10
- "./idl": [
11
- "./build/lib/src/idl.js"
12
- ]
13
- },
14
- "typesVersions": {
15
- "*": {
16
- "idl": [
17
- "build/lib/src/idl.d.ts"
18
- ],
19
- "*": [
20
- "build/lib/src/index.d.ts"
21
- ]
30
+ "engines": {
31
+ "npm": ">= 8",
32
+ "node": ">= 18"
33
+ },
34
+ "keywords": [],
35
+ "devDependencies": {
36
+ "@koalaui/harness": "1.7.6+devel",
37
+ "@koalaui/ets-tsc": "4.9.5-r5",
38
+ "mocha": "^9.2.2",
39
+ "ts-node": "^10.9.2",
40
+ "typescript": "4.9.5",
41
+ "@types/node": "^18.0.0"
42
+ },
43
+ "scripts": {
44
+ "test": "mocha",
45
+ "clean": "rimraf -g build",
46
+ "compile:self": "tsc -b .",
47
+ "compile": "npm run compile:self"
22
48
  }
23
- },
24
- "files": [
25
- "build/lib/**/*.js",
26
- "build/lib/**/*.d.ts",
27
- "webidl2.js/dist/**/*.js",
28
- "webidl2.js/package.json"
29
- ],
30
- "engines": {
31
- "npm": ">= 8",
32
- "node": ">= 18"
33
- },
34
- "keywords": [],
35
- "dependencies": {
36
- "@koalaui/interop": "1.7.10",
37
- "typescript": "4.9.5",
38
- "@types/node": "^18.0.0"
39
- },
40
- "devDependencies": {
41
- "@koalaui/harness": "1.7.6+devel",
42
- "@koalaui/ets-tsc": "4.9.5-r5",
43
- "@types/mocha": "^9.1.0",
44
- "mocha": "^9.2.2",
45
- "ts-node": "^10.9.2"
46
- },
47
- "scripts": {
48
- "test": "mocha",
49
- "clean": "rimraf -g build",
50
- "compile:self": "tsc -b .",
51
- "compile": "npm run compile:self"
52
- }
53
49
  }