@notjustcoders/ioc-arise 1.1.16 → 1.1.18

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 (34) hide show
  1. package/dist/analyser/ast-parser.d.ts +13 -0
  2. package/dist/analyser/ast-parser.d.ts.map +1 -1
  3. package/dist/analyser/ast-parser.js +430 -0
  4. package/dist/analyser/ast-parser.js.map +1 -1
  5. package/dist/analyser/factory-analyzer.d.ts +13 -0
  6. package/dist/analyser/factory-analyzer.d.ts.map +1 -0
  7. package/dist/analyser/factory-analyzer.js +184 -0
  8. package/dist/analyser/factory-analyzer.js.map +1 -0
  9. package/dist/analyser/index.d.ts +6 -1
  10. package/dist/analyser/index.d.ts.map +1 -1
  11. package/dist/analyser/index.js +9 -0
  12. package/dist/analyser/index.js.map +1 -1
  13. package/dist/analyser/project-analyzer.d.ts +8 -2
  14. package/dist/analyser/project-analyzer.d.ts.map +1 -1
  15. package/dist/analyser/project-analyzer.js +7 -1
  16. package/dist/analyser/project-analyzer.js.map +1 -1
  17. package/dist/analyser/value-analyzer.d.ts +10 -0
  18. package/dist/analyser/value-analyzer.d.ts.map +1 -0
  19. package/dist/analyser/value-analyzer.js +81 -0
  20. package/dist/analyser/value-analyzer.js.map +1 -0
  21. package/dist/commands/generate.d.ts.map +1 -1
  22. package/dist/commands/generate.js +9 -3
  23. package/dist/commands/generate.js.map +1 -1
  24. package/dist/generator/ioc-container-generator.d.ts +6 -2
  25. package/dist/generator/ioc-container-generator.d.ts.map +1 -1
  26. package/dist/generator/ioc-container-generator.js +137 -11
  27. package/dist/generator/ioc-container-generator.js.map +1 -1
  28. package/dist/generator/type-declaration-generator.d.ts +3 -2
  29. package/dist/generator/type-declaration-generator.d.ts.map +1 -1
  30. package/dist/generator/type-declaration-generator.js +94 -6
  31. package/dist/generator/type-declaration-generator.js.map +1 -1
  32. package/dist/types.d.ts +24 -0
  33. package/dist/types.d.ts.map +1 -1
  34. package/package.json +12 -11
@@ -14,5 +14,18 @@ export declare class ASTParser {
14
14
  extractTypeAliases(root: any): Map<string, string>;
15
15
  extractImportMappings(root: any): Map<string, string>;
16
16
  extractInterfaces(root: any): string[];
17
+ findAllFunctions(root: any): any[];
18
+ extractFunctionName(functionNode: any): string | undefined;
19
+ extractFunctionParameters(functionNode: any): ConstructorParameter[];
20
+ extractObjectTypeProperties(functionNode: any, paramName: string): {
21
+ name: string;
22
+ type: string;
23
+ }[];
24
+ extractFunctionReturnType(functionNode: any): string | undefined;
25
+ isExportedFunction(functionNode: any): boolean;
26
+ findAllExportedValues(root: any): any[];
27
+ extractValueName(valueNode: any): string | undefined;
28
+ extractValueType(valueNode: any): string | undefined;
29
+ isExportedValue(valueNode: any): boolean;
17
30
  }
18
31
  //# sourceMappingURL=ast-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhE,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYhC,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQnD,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQ7C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA0BhC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuBpD,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIxD,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAI1D,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAMxC,4BAA4B,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB,EAAE;IA+EpE,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAgE5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc;IAIlG,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAgClD,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA2DrD,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE;CA8CvC"}
1
+ {"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAMhE,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYhC,iCAAiC,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQnD,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAQ7C,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA0BhC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuBpD,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIxD,sBAAsB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAI1D,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAMxC,4BAA4B,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB,EAAE;IA+EpE,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAgE5D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc;IAIlG,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAgClD,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA2DrD,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE;IA+CtC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IA2FlC,mBAAmB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAuE1D,yBAAyB,CAAC,YAAY,EAAE,GAAG,GAAG,oBAAoB,EAAE;IAuEpE,2BAA2B,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IAsCnG,yBAAyB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAiBhE,kBAAkB,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO;IA0B9C,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE;IAwDvC,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAkCpD,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IA8CpD,eAAe,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;CA6BzC"}
@@ -323,6 +323,436 @@ class ASTParser {
323
323
  logger_1.Logger.debug(`Final interfaces:`, { interfaces });
324
324
  return interfaces;
325
325
  }
326
+ findAllFunctions(root) {
327
+ const functions = [];
328
+ try {
329
+ // Try multiple approaches to find functions
330
+ // Approach 1: Direct function_declaration kind
331
+ let functionDeclarations = [];
332
+ try {
333
+ functionDeclarations = root.findAll({
334
+ rule: {
335
+ kind: 'function_declaration'
336
+ }
337
+ });
338
+ }
339
+ catch (e) {
340
+ logger_1.Logger.debug('Could not find function_declaration by kind');
341
+ }
342
+ // Approach 2: Use pattern matching for exported functions
343
+ try {
344
+ const exportedFunctions = root.findAll({
345
+ rule: {
346
+ pattern: 'export function $NAME($$$PARAMS) $$$BODY'
347
+ }
348
+ });
349
+ logger_1.Logger.debug(`Found ${exportedFunctions.length} exported functions via pattern`);
350
+ for (const func of exportedFunctions) {
351
+ // Check if we already have this function
352
+ const funcRange = func.range();
353
+ const alreadyExists = functionDeclarations.some((f) => {
354
+ const fRange = f.range();
355
+ return fRange.start.line === funcRange.start.line;
356
+ });
357
+ if (!alreadyExists) {
358
+ functionDeclarations.push(func);
359
+ }
360
+ }
361
+ }
362
+ catch (e) {
363
+ logger_1.Logger.debug('Could not find exported functions via pattern');
364
+ }
365
+ // Approach 3: Use pattern for non-exported functions
366
+ try {
367
+ const regularFunctions = root.findAll({
368
+ rule: {
369
+ pattern: 'function $NAME($$$PARAMS) $$$BODY'
370
+ }
371
+ });
372
+ logger_1.Logger.debug(`Found ${regularFunctions.length} regular functions via pattern`);
373
+ for (const func of regularFunctions) {
374
+ const funcText = func.text();
375
+ // Skip if it's already exported (to avoid duplicates)
376
+ if (!funcText.includes('export')) {
377
+ const funcRange = func.range();
378
+ const alreadyExists = functionDeclarations.some((f) => {
379
+ const fRange = f.range();
380
+ return fRange.start.line === funcRange.start.line;
381
+ });
382
+ if (!alreadyExists) {
383
+ functionDeclarations.push(func);
384
+ }
385
+ }
386
+ }
387
+ }
388
+ catch (e) {
389
+ logger_1.Logger.debug('Could not find regular functions via pattern');
390
+ }
391
+ // Find variable declarations that might be arrow functions
392
+ const variableDeclarations = root.findAll({
393
+ rule: {
394
+ kind: 'variable_declaration'
395
+ }
396
+ });
397
+ // Filter variable declarations to find arrow functions
398
+ const arrowFunctions = [];
399
+ for (const varDecl of variableDeclarations) {
400
+ const varText = varDecl.text();
401
+ // Check if it's an arrow function assignment
402
+ if (varText.includes('=>') && (varText.includes('const') || varText.includes('export'))) {
403
+ arrowFunctions.push(varDecl);
404
+ }
405
+ }
406
+ logger_1.Logger.debug(`Found ${functionDeclarations.length} function declarations and ${arrowFunctions.length} arrow functions`);
407
+ return [...functionDeclarations, ...arrowFunctions];
408
+ }
409
+ catch (error) {
410
+ logger_1.Logger.warn('Warning: Could not find functions:', { error });
411
+ return functions;
412
+ }
413
+ }
414
+ extractFunctionName(functionNode) {
415
+ try {
416
+ // Try to get name from match
417
+ let functionName = functionNode.getMatch('NAME')?.text();
418
+ if (functionName) {
419
+ return functionName;
420
+ }
421
+ // Try to extract from function declaration
422
+ const functionText = functionNode.text();
423
+ // First, try to find identifier directly in the function node
424
+ const identifier = functionNode.find({
425
+ rule: {
426
+ kind: 'identifier'
427
+ }
428
+ });
429
+ if (identifier) {
430
+ const name = identifier.text();
431
+ // Make sure it's the function name, not a parameter
432
+ // Function name comes before parameters
433
+ const funcMatch = functionText.match(/function\s+([A-Za-z_][A-Za-z0-9_]*)/);
434
+ if (funcMatch && funcMatch[1] === name) {
435
+ return name;
436
+ }
437
+ }
438
+ // Try regex extraction from function declaration (works for both exported and non-exported)
439
+ const functionMatch = functionText.match(/(?:export\s+)?function\s+([A-Za-z_][A-Za-z0-9_]*)/);
440
+ if (functionMatch) {
441
+ return functionMatch[1];
442
+ }
443
+ // For variable declarations (arrow functions), find the variable name
444
+ const varDecl = functionNode.find({
445
+ rule: {
446
+ kind: 'variable_declaration'
447
+ }
448
+ });
449
+ if (varDecl) {
450
+ const declarators = varDecl.findAll({
451
+ rule: {
452
+ kind: 'variable_declarator'
453
+ }
454
+ });
455
+ if (declarators.length > 0) {
456
+ const varIdentifier = declarators[0].find({
457
+ rule: {
458
+ kind: 'identifier'
459
+ }
460
+ });
461
+ if (varIdentifier) {
462
+ return varIdentifier.text();
463
+ }
464
+ }
465
+ }
466
+ // Try to extract from arrow function using regex
467
+ const arrowMatch = functionText.match(/(?:export\s+)?const\s+([A-Za-z_][A-Za-z0-9_]*)\s*=/);
468
+ if (arrowMatch) {
469
+ return arrowMatch[1];
470
+ }
471
+ return undefined;
472
+ }
473
+ catch (error) {
474
+ logger_1.Logger.warn('Warning: Could not extract function name:', { error });
475
+ return undefined;
476
+ }
477
+ }
478
+ extractFunctionParameters(functionNode) {
479
+ const parameters = [];
480
+ try {
481
+ // Find formal parameters
482
+ const parameterNodes = functionNode.findAll({
483
+ rule: {
484
+ kind: 'formal_parameters'
485
+ }
486
+ });
487
+ if (parameterNodes.length === 0) {
488
+ return parameters;
489
+ }
490
+ const formalParams = parameterNodes[0];
491
+ // Find individual parameters
492
+ const requiredParamNodes = formalParams.findAll({
493
+ rule: {
494
+ kind: 'required_parameter'
495
+ }
496
+ });
497
+ const optionalParamNodes = formalParams.findAll({
498
+ rule: {
499
+ kind: 'optional_parameter'
500
+ }
501
+ });
502
+ const paramNodes = [...requiredParamNodes, ...optionalParamNodes];
503
+ for (const paramNode of paramNodes) {
504
+ const paramText = paramNode.text();
505
+ logger_1.Logger.debug('Function parameter text:', paramText);
506
+ // Try to parse object type parameter FIRST: name: { prop1: Type1, prop2: Type2 }
507
+ // This must come before simple parameter parsing to avoid matching nested properties
508
+ const objectParamMatch = paramText.match(/(\w+)(\?)?\s*:\s*\{/);
509
+ if (objectParamMatch) {
510
+ const [, name, optional] = objectParamMatch;
511
+ // For object types, extract the full object type string
512
+ // Use a more robust regex that handles multi-line and nested braces
513
+ const fullTypeMatch = paramText.match(/:\s*(\{[^}]*\})/s);
514
+ const type = fullTypeMatch ? fullTypeMatch[1] : 'object';
515
+ parameters.push({
516
+ name: name.trim(),
517
+ type: type.trim(),
518
+ isOptional: !!optional,
519
+ });
520
+ continue;
521
+ }
522
+ // Try to parse simple parameter: name: type
523
+ const simpleParamMatch = paramText.match(/(\w+)(\?)?\s*:\s*(\w+)/);
524
+ if (simpleParamMatch) {
525
+ const [, name, optional, type] = simpleParamMatch;
526
+ parameters.push({
527
+ name: name.trim(),
528
+ type: type.trim(),
529
+ isOptional: !!optional,
530
+ });
531
+ }
532
+ }
533
+ }
534
+ catch (error) {
535
+ logger_1.Logger.warn('Warning: Could not extract function parameters:', { error });
536
+ }
537
+ return parameters;
538
+ }
539
+ extractObjectTypeProperties(functionNode, paramName) {
540
+ const properties = [];
541
+ try {
542
+ const functionText = functionNode.text();
543
+ // Find the parameter with the given name - handle both single line and multi-line
544
+ // Pattern: paramName: { prop1: Type1, prop2: Type2 }
545
+ const paramPattern = new RegExp(`${paramName}\\s*:\\s*\\{([^}]+)\\}`, 's');
546
+ const match = functionText.match(paramPattern);
547
+ if (!match || !match[1]) {
548
+ return properties;
549
+ }
550
+ const objectBody = match[1];
551
+ // Extract properties: prop1: Type1, prop2: Type2
552
+ // Handle both single line and multi-line formats
553
+ // Match property name and type (type can be a simple identifier like IUserRepository)
554
+ const propertyPattern = /(\w+)\s*:\s*(\w+)/g;
555
+ let propMatch;
556
+ while ((propMatch = propertyPattern.exec(objectBody)) !== null) {
557
+ if (propMatch[1] && propMatch[2]) {
558
+ properties.push({
559
+ name: propMatch[1].trim(),
560
+ type: propMatch[2].trim(),
561
+ });
562
+ }
563
+ }
564
+ }
565
+ catch (error) {
566
+ logger_1.Logger.warn('Warning: Could not extract object type properties:', { error });
567
+ }
568
+ return properties;
569
+ }
570
+ extractFunctionReturnType(functionNode) {
571
+ try {
572
+ const functionText = functionNode.text();
573
+ // Try to extract return type annotation
574
+ const returnTypeMatch = functionText.match(/:\s*([A-Za-z_][A-Za-z0-9_<>[\],\s]*)/);
575
+ if (returnTypeMatch) {
576
+ return returnTypeMatch[1].trim();
577
+ }
578
+ return undefined;
579
+ }
580
+ catch (error) {
581
+ logger_1.Logger.warn('Warning: Could not extract function return type:', { error });
582
+ return undefined;
583
+ }
584
+ }
585
+ isExportedFunction(functionNode) {
586
+ try {
587
+ const functionText = functionNode.text();
588
+ // Check if the function text itself includes export
589
+ if (functionText.includes('export')) {
590
+ return true;
591
+ }
592
+ // Check parent nodes - exported functions might be wrapped
593
+ let parent = functionNode.parent();
594
+ let depth = 0;
595
+ while (parent && depth < 5) {
596
+ const parentText = parent.text();
597
+ if (parentText.includes('export')) {
598
+ return true;
599
+ }
600
+ parent = parent.parent();
601
+ depth++;
602
+ }
603
+ return false;
604
+ }
605
+ catch (error) {
606
+ return false;
607
+ }
608
+ }
609
+ findAllExportedValues(root) {
610
+ const values = [];
611
+ try {
612
+ // Find variable declarations - try multiple AST node kinds
613
+ let variableDeclarations = [];
614
+ // Try lexical_declaration (for const/let)
615
+ try {
616
+ const lexicalDecls = root.findAll({
617
+ rule: {
618
+ kind: 'lexical_declaration'
619
+ }
620
+ });
621
+ variableDeclarations.push(...lexicalDecls);
622
+ }
623
+ catch (e) {
624
+ logger_1.Logger.debug('Could not find lexical_declaration nodes');
625
+ }
626
+ // Try variable_declaration as fallback
627
+ try {
628
+ const varDecls = root.findAll({
629
+ rule: {
630
+ kind: 'variable_declaration'
631
+ }
632
+ });
633
+ variableDeclarations.push(...varDecls);
634
+ }
635
+ catch (e) {
636
+ logger_1.Logger.debug('Could not find variable_declaration nodes');
637
+ }
638
+ logger_1.Logger.debug(`Found ${variableDeclarations.length} variable declarations`);
639
+ for (const varDecl of variableDeclarations) {
640
+ const varText = varDecl.text();
641
+ // Check if it's a const declaration first
642
+ if (!varText.includes('const ')) {
643
+ continue;
644
+ }
645
+ // Check if it's exported - check the node itself and parent nodes
646
+ const isExported = this.isExportedValue(varDecl);
647
+ if (isExported) {
648
+ values.push(varDecl);
649
+ }
650
+ }
651
+ }
652
+ catch (error) {
653
+ logger_1.Logger.warn('Warning: Could not find exported values:', { error });
654
+ }
655
+ logger_1.Logger.debug(`Returning ${values.length} exported values`);
656
+ return values;
657
+ }
658
+ extractValueName(valueNode) {
659
+ try {
660
+ // Find the variable declarator
661
+ const declarators = valueNode.findAll({
662
+ rule: {
663
+ kind: 'variable_declarator'
664
+ }
665
+ });
666
+ if (declarators.length === 0) {
667
+ return undefined;
668
+ }
669
+ const declarator = declarators[0];
670
+ const identifier = declarator.find({
671
+ rule: {
672
+ kind: 'identifier'
673
+ }
674
+ });
675
+ if (identifier) {
676
+ return identifier.text();
677
+ }
678
+ // Fallback: try to extract from text
679
+ const text = declarator.text();
680
+ const match = text.match(/^(\w+)\s*:/);
681
+ return match ? match[1] : undefined;
682
+ }
683
+ catch (error) {
684
+ logger_1.Logger.warn('Warning: Could not extract value name:', { error });
685
+ return undefined;
686
+ }
687
+ }
688
+ extractValueType(valueNode) {
689
+ try {
690
+ const declarators = valueNode.findAll({
691
+ rule: {
692
+ kind: 'variable_declarator'
693
+ }
694
+ });
695
+ if (declarators.length === 0) {
696
+ return undefined;
697
+ }
698
+ const declarator = declarators[0];
699
+ // Find type annotation
700
+ const typeAnnotation = declarator.find({
701
+ rule: {
702
+ kind: 'type_annotation'
703
+ }
704
+ });
705
+ if (typeAnnotation) {
706
+ // Find the type identifier
707
+ const typeIdentifier = typeAnnotation.find({
708
+ rule: {
709
+ kind: 'type_identifier'
710
+ }
711
+ });
712
+ if (typeIdentifier) {
713
+ return typeIdentifier.text();
714
+ }
715
+ // Try to extract from text
716
+ const typeText = typeAnnotation.text();
717
+ const match = typeText.match(/:\s*(\w+)/);
718
+ return match ? match[1] : undefined;
719
+ }
720
+ return undefined;
721
+ }
722
+ catch (error) {
723
+ logger_1.Logger.warn('Warning: Could not extract value type:', { error });
724
+ return undefined;
725
+ }
726
+ }
727
+ isExportedValue(valueNode) {
728
+ try {
729
+ // Check if the variable declaration itself has export
730
+ const varText = valueNode.text();
731
+ if (varText.includes('export ')) {
732
+ return true;
733
+ }
734
+ // Check parent nodes for export
735
+ let parent = valueNode.parent();
736
+ let depth = 0;
737
+ while (parent && depth < 5) {
738
+ try {
739
+ const parentText = parent.text();
740
+ if (parentText.includes('export ')) {
741
+ return true;
742
+ }
743
+ parent = parent.parent();
744
+ depth++;
745
+ }
746
+ catch (e) {
747
+ break;
748
+ }
749
+ }
750
+ return false;
751
+ }
752
+ catch (error) {
753
+ return false;
754
+ }
755
+ }
326
756
  }
327
757
  exports.ASTParser = ASTParser;
328
758
  //# sourceMappingURL=ast-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { FactoryInfo } from '../types';
2
+ export declare class FactoryAnalyzer {
3
+ private astParser;
4
+ private sourceDir;
5
+ constructor(sourceDir: string);
6
+ analyzeFiles(filePaths: string[]): Promise<FactoryInfo[]>;
7
+ private analyzeFileFromAST;
8
+ private hasFactoryAnnotation;
9
+ private resolveDependencies;
10
+ private resolveDependenciesFromContextProperties;
11
+ private calculateImportPath;
12
+ }
13
+ //# sourceMappingURL=factory-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/factory-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwD,MAAM,UAAU,CAAC;AAM7F,qBAAa,eAAe;IACxB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAKvB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAuCjD,kBAAkB;IA+FhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,wCAAwC;IAgChD,OAAO,CAAC,mBAAmB;CAQ9B"}