@notjustcoders/ioc-arise 1.1.17 → 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.
@@ -23,5 +23,9 @@ export declare class ASTParser {
23
23
  }[];
24
24
  extractFunctionReturnType(functionNode: any): string | undefined;
25
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;
26
30
  }
27
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;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;CAyB/C"}
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"}
@@ -606,6 +606,153 @@ class ASTParser {
606
606
  return false;
607
607
  }
608
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
+ }
609
756
  }
610
757
  exports.ASTParser = ASTParser;
611
758
  //# sourceMappingURL=ast-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,yCAAoC;AAEpC,yDAAsD;AACtD,4CAAyC;AAIzC,MAAa,SAAS;IACpB,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,SAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,2BAAY,CAAC,aAAa,CAC9B,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,iCAAiC,CAAC,IAAS;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE;gBACJ,OAAO,EAAE,4CAA4C;aACtD;SACF,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CAAC,IAAS;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE;gBACJ,OAAO,EAAE,sCAAsC;aAChD;SACF,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAS;QACtB,kCAAkC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE;gBACJ,IAAI,EAAE,mBAAmB;aAC1B;SACF,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE;gBACJ,OAAO,EAAE,8BAA8B;aACxC;SACF,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE;gBACJ,OAAO,EAAE,qCAAqC;aAC/C;SACF,CAAC,CAAC;QAEH,4BAA4B;QAC5B,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,EAAE,GAAG,uBAAuB,CAAC,CAAC;IAC7E,CAAC;IAED,gBAAgB,CAAC,SAAc;QAC7B,eAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAEzG,iDAAiD;QACjD,IAAI,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,eAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,sDAAsD;QACtD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,eAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB,CAAC,SAAc;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,SAAc;QACnC,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,eAAe,CAAC,SAAc;QAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4BAA4B,CAAC,SAAc;QACzC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC;gBACzC,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,cAAc;iBACtB;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,gBAAgB,CAAC,MAAM,oBAAoB,CAAC,CAAC;YAEnE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE5C,gDAAgD;YAChD,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC;gBAC7C,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;iBAC1B;aACF,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAEvC,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,CAAC;YAElE,eAAM,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAE3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnC,eAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBAE3C,iDAAiD;gBACjD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAE/F,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC;oBAE5D,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,UAAU,EAAE,CAAC,CAAC,QAAQ;wBACtB,cAAc,EAAE,cAAgE;qBACjF,CAAC,CAAC;oBAEH,eAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,IAAI,MAAM,GAAG,CAAC,CAAC;gBAC5G,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,IAAS;QAC5B,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEtD,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAC;YAE1D,8BAA8B;YAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACrC,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;iBAC1B;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,iBAAiB,CAAC,MAAM,6BAA6B,CAAC,CAAC;YAE7E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,eAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;gBAE7C,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClE,eAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;oBACrD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACvE,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAmB,CAAC;wBAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;wBACrC,eAAM,CAAC,KAAK,CAAC,uBAAuB,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;wBAE3F,uEAAuE;wBACvE,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;4BAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;4BACrC,eAAM,CAAC,KAAK,CAAC,qBAAqB,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;4BAErF,6CAA6C;4BAC7C,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gCAClD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gCACnD,eAAM,CAAC,KAAK,CAAC,uDAAuD,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCAC7F,eAAM,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;gCACnD,IAAI,SAAS,EAAE,CAAC;oCACd,eAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,OAAO,KAAK,EAAE,CAAC,CAAC;oCACvE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oCAClC,MAAM,CAAC,0CAA0C;gCACnD,CAAC;qCAAM,CAAC;oCACN,eAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;gCACtE,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,WAAwC;QAC/E,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,IAAS;QAC1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,IAAI,CAAC;YACH,qDAAqD;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;iBACzB;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,MAAM,0BAA0B,CAAC,CAAC;YAEnE,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBACrC,eAAM,CAAC,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;gBAEhD,qDAAqD;gBACrD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACtF,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;oBACvC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/C,eAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qBAAqB,CAAC,IAAS;QAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;iBACzB;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,MAAM,gCAAgC,CAAC,CAAC;YAEzE,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBACrC,eAAM,CAAC,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;gBAEjD,sBAAsB;gBACtB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC9D,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAEzB,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEhC,mCAAmC;gBACnC,+CAA+C;gBAC/C,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC9E,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;wBACnC,yBAAyB;wBACzB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC3D,IAAI,UAAU,EAAE,CAAC;4BACf,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC;4BACvC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;4BAC7C,eAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,UAAU,EAAE,CAAC,CAAC;wBAChE,CAAC;6BAAM,CAAC;4BACN,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;4BACxC,eAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,OAAO,UAAU,EAAE,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACvE,IAAI,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBAC5C,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;oBAC9C,eAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,OAAO,UAAU,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,IAAS;QACzB,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;gBAClC,IAAI,EAAE;oBACJ,IAAI,EAAE,uBAAuB;iBAC9B;aACF,CAAC,CAAC;YAEH,eAAM,CAAC,KAAK,CAAC,SAAS,cAAc,CAAC,MAAM,yBAAyB,CAAC,CAAC;YAEtE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC3C,eAAM,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;gBAEjD,qCAAqC;gBACrC,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACnF,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAExC,6CAA6C;oBAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC;wBACxC,IAAI,EAAE;4BACJ,IAAI,EAAE,kBAAkB;yBACzB;qBACF,CAAC,CAAC;oBAGH,0DAA0D;oBAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC/B,eAAM,CAAC,KAAK,CAAC,0BAA0B,aAAa,SAAS,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACN,eAAM,CAAC,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,IAAS;QACxB,MAAM,SAAS,GAAU,EAAE,CAAC;QAE5B,IAAI,CAAC;YACH,4CAA4C;YAC5C,+CAA+C;YAC/C,IAAI,oBAAoB,GAAU,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC;oBAClC,IAAI,EAAE;wBACJ,IAAI,EAAE,sBAAsB;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC9D,CAAC;YAED,0DAA0D;YAC1D,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;oBACrC,IAAI,EAAE;wBACJ,OAAO,EAAE,0CAA0C;qBACpD;iBACF,CAAC,CAAC;gBACH,eAAM,CAAC,KAAK,CAAC,SAAS,iBAAiB,CAAC,MAAM,iCAAiC,CAAC,CAAC;gBACjF,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;oBACrC,yCAAyC;oBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE;wBACzD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;wBACzB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;oBACpD,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,eAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAChE,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;oBACpC,IAAI,EAAE;wBACJ,OAAO,EAAE,mCAAmC;qBAC7C;iBACF,CAAC,CAAC;gBACH,eAAM,CAAC,KAAK,CAAC,SAAS,gBAAgB,CAAC,MAAM,gCAAgC,CAAC,CAAC;gBAC/E,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7B,sDAAsD;oBACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC/B,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE;4BACzD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;4BACzB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;wBACpD,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,eAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC/D,CAAC;YAED,2DAA2D;YAC3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACxC,IAAI,EAAE;oBACJ,IAAI,EAAE,sBAAsB;iBAC7B;aACF,CAAC,CAAC;YAEH,uDAAuD;YACvD,MAAM,cAAc,GAAU,EAAE,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/B,6CAA6C;gBAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACxF,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,SAAS,oBAAoB,CAAC,MAAM,8BAA8B,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;YACxH,OAAO,CAAC,GAAG,oBAAoB,EAAE,GAAG,cAAc,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,YAAiB;QACnC,IAAI,CAAC;YACH,6BAA6B;YAC7B,IAAI,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;YACzD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,2CAA2C;YAC3C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEzC,8DAA8D;YAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;iBACnB;aACF,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC/B,oDAAoD;gBACpD,wCAAwC;gBACxC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAC5E,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,4FAA4F;YAC5F,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC9F,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;YAED,sEAAsE;YACtE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,sBAAsB;iBAC7B;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;oBAClC,IAAI,EAAE;wBACJ,IAAI,EAAE,qBAAqB;qBAC5B;iBACF,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACxC,IAAI,EAAE;4BACJ,IAAI,EAAE,YAAY;yBACnB;qBACF,CAAC,CAAC;oBACH,IAAI,aAAa,EAAE,CAAC;wBAClB,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC5F,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,YAAiB;QACzC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC1C,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;iBAC1B;aACF,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAEvC,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC9C,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,CAAC;YAElE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnC,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;gBAEpD,iFAAiF;gBACjF,qFAAqF;gBACrF,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAChE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC;oBAC5C,wDAAwD;oBACxD,oEAAoE;oBACpE,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzD,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,UAAU,EAAE,CAAC,CAAC,QAAQ;qBACvB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACnE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,gBAAgB,CAAC;oBAClD,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBACjB,UAAU,EAAE,CAAC,CAAC,QAAQ;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2BAA2B,CAAC,YAAiB,EAAE,SAAiB;QAC9D,MAAM,UAAU,GAAqC,EAAE,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEzC,kFAAkF;YAClF,qDAAqD;YACrD,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,GAAG,SAAS,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE/C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,iDAAiD;YACjD,iDAAiD;YACjD,sFAAsF;YACtF,MAAM,eAAe,GAAG,oBAAoB,CAAC;YAC7C,IAAI,SAAS,CAAC;YAEd,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/D,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBACzB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,yBAAyB,CAAC,YAAiB;QACzC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEzC,wCAAwC;YACxC,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACnF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,YAAiB;QAClC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YACzC,oDAAoD;YACpD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,2DAA2D;YAC3D,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,OAAO,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzB,KAAK,EAAE,CAAC;YACV,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAlrBD,8BAkrBC"}
1
+ {"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/analyser/ast-parser.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { ClassInfo, AnalyzerOptions, FactoryInfo } from '../types';
1
+ import { ClassInfo, AnalyzerOptions, FactoryInfo, ValueInfo } from '../types';
2
2
  export declare function analyzeProject(sourceDir: string, options?: Partial<AnalyzerOptions>): Promise<ClassInfo[]>;
3
3
  export declare function analyzeProjectWithFactories(sourceDir: string, options?: Partial<AnalyzerOptions>): Promise<{
4
4
  classes: ClassInfo[];
5
5
  factories: FactoryInfo[];
6
+ values: ValueInfo[];
6
7
  }>;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAInE,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAQhH;AAED,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAOpK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI9E,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAQhH;AAED,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAOzL"}
@@ -1,12 +1,14 @@
1
- import { AnalyzerOptions, ClassInfo, FactoryInfo } from '../types';
1
+ import { AnalyzerOptions, ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
2
  export declare class ProjectAnalyzer {
3
3
  private fileDiscovery;
4
4
  private classAnalyzer;
5
5
  private factoryAnalyzer;
6
+ private valueAnalyzer;
6
7
  constructor(options: AnalyzerOptions);
7
8
  analyzeProject(): Promise<{
8
9
  classes: ClassInfo[];
9
10
  factories: FactoryInfo[];
11
+ values: ValueInfo[];
10
12
  }>;
11
13
  private validateUniqueInterfaceImplementations;
12
14
  private validateUniqueAbstractClassExtensions;
@@ -1 +1 @@
1
- {"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAQnE,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,EAAE,eAAe;IAM9B,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,SAAS,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAiBnF,OAAO,CAAC,sCAAsC;IA8C9C,OAAO,CAAC,qCAAqC;CA6C9C"}
1
+ {"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAS9E,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,eAAe;IAO9B,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAAC,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAkBxG,OAAO,CAAC,sCAAsC;IA8C9C,OAAO,CAAC,qCAAqC;CA6C9C"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProjectAnalyzer = void 0;
4
4
  const class_analyzer_1 = require("./class-analyzer");
5
5
  const factory_analyzer_1 = require("./factory-analyzer");
6
+ const value_analyzer_1 = require("./value-analyzer");
6
7
  const file_discovery_1 = require("./file-discovery");
7
8
  const errorFactory_1 = require("../errors/errorFactory");
8
9
  const IoCError_1 = require("../errors/IoCError");
@@ -11,17 +12,19 @@ class ProjectAnalyzer {
11
12
  this.fileDiscovery = new file_discovery_1.FileDiscovery(options.sourceDir, options.excludePatterns);
12
13
  this.classAnalyzer = new class_analyzer_1.ClassAnalyzer(options.sourceDir, options.interfacePattern);
13
14
  this.factoryAnalyzer = new factory_analyzer_1.FactoryAnalyzer(options.sourceDir);
15
+ this.valueAnalyzer = new value_analyzer_1.ValueAnalyzer(options.sourceDir);
14
16
  }
15
17
  async analyzeProject() {
16
18
  const tsFiles = await this.fileDiscovery.findTypeScriptFiles();
17
19
  // Analyze all files in a single batch operation for better performance
18
20
  const allClasses = await this.classAnalyzer.analyzeFiles(tsFiles);
19
21
  const allFactories = await this.factoryAnalyzer.analyzeFiles(tsFiles);
22
+ const allValues = await this.valueAnalyzer.analyzeFiles(tsFiles);
20
23
  // Validate that no interface is implemented by multiple classes
21
24
  this.validateUniqueInterfaceImplementations(allClasses);
22
25
  // Validate that no abstract class is extended by multiple classes
23
26
  this.validateUniqueAbstractClassExtensions(allClasses);
24
- return { classes: allClasses, factories: allFactories };
27
+ return { classes: allClasses, factories: allFactories, values: allValues };
25
28
  }
26
29
  validateUniqueInterfaceImplementations(classes) {
27
30
  const interfaceToClassMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-analyzer.js","sourceRoot":"","sources":["../../src/analyser/project-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ValueInfo } from '../types';
2
+ export declare class ValueAnalyzer {
3
+ private astParser;
4
+ private sourceDir;
5
+ constructor(sourceDir: string);
6
+ analyzeFiles(filePaths: string[]): Promise<ValueInfo[]>;
7
+ private analyzeFileFromAST;
8
+ private calculateImportPath;
9
+ }
10
+ //# sourceMappingURL=value-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyser/value-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAKrD,qBAAa,aAAa;IACtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAKvB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YA8B/C,kBAAkB;IA+ChC,OAAO,CAAC,mBAAmB;CAM9B"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValueAnalyzer = void 0;
4
+ const path_1 = require("path");
5
+ const container_1 = require("../container");
6
+ const logger_1 = require("../utils/logger");
7
+ class ValueAnalyzer {
8
+ constructor(sourceDir) {
9
+ this.astParser = container_1.container.astParser;
10
+ this.sourceDir = sourceDir;
11
+ }
12
+ async analyzeFiles(filePaths) {
13
+ const allValues = [];
14
+ const allInterfaces = new Set();
15
+ const fileASTMap = new Map();
16
+ // First pass: Collect interfaces for type checking
17
+ for (const filePath of filePaths) {
18
+ try {
19
+ const root = this.astParser.parseFile(filePath);
20
+ fileASTMap.set(filePath, root);
21
+ const interfaces = this.astParser.extractInterfaces(root);
22
+ interfaces.forEach(interfaceName => allInterfaces.add(interfaceName));
23
+ }
24
+ catch (error) {
25
+ logger_1.Logger.warn(`Warning: Could not parse ${filePath}:`, { error });
26
+ }
27
+ }
28
+ // Second pass: Analyze exported const values
29
+ for (const filePath of filePaths) {
30
+ const root = fileASTMap.get(filePath);
31
+ if (root) {
32
+ const values = await this.analyzeFileFromAST(filePath, root, allInterfaces);
33
+ allValues.push(...values);
34
+ }
35
+ }
36
+ return allValues;
37
+ }
38
+ async analyzeFileFromAST(filePath, root, allInterfaces) {
39
+ const values = [];
40
+ try {
41
+ const exportedValues = this.astParser.findAllExportedValues(root);
42
+ logger_1.Logger.debug(`Found ${exportedValues.length} exported values in ${filePath}`);
43
+ for (const valueNode of exportedValues) {
44
+ const valueName = this.astParser.extractValueName(valueNode);
45
+ if (!valueName) {
46
+ continue;
47
+ }
48
+ const interfaceName = this.astParser.extractValueType(valueNode);
49
+ // Only include values that implement known interfaces
50
+ if (interfaceName && allInterfaces.has(interfaceName)) {
51
+ // Calculate import path
52
+ const importPath = this.calculateImportPath(filePath);
53
+ // Determine token - use interface name if available, otherwise use value name
54
+ const token = interfaceName || valueName;
55
+ // useValue is always singleton
56
+ const scope = 'singleton';
57
+ values.push({
58
+ name: valueName,
59
+ filePath,
60
+ interfaceName,
61
+ importPath,
62
+ scope,
63
+ token,
64
+ });
65
+ }
66
+ }
67
+ }
68
+ catch (error) {
69
+ logger_1.Logger.warn(`Warning: Could not analyze values in ${filePath}:`, { error });
70
+ }
71
+ return values;
72
+ }
73
+ calculateImportPath(filePath) {
74
+ const relativePath = (0, path_1.relative)(this.sourceDir, filePath);
75
+ const pathWithoutExt = relativePath.replace(/\.ts$/, '');
76
+ // Convert to relative import path (./path/to/file)
77
+ return `./${pathWithoutExt}`;
78
+ }
79
+ }
80
+ exports.ValueAnalyzer = ValueAnalyzer;
81
+ //# sourceMappingURL=value-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-analyzer.js","sourceRoot":"","sources":["../../src/analyser/value-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,SAwLxB,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,SA2LxB,CAAC"}
@@ -64,7 +64,7 @@ exports.generateCommand = new commander_1.Command('generate')
64
64
  }
65
65
  logger_1.Logger.custom('🚀', 'Starting analysis...', logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
66
66
  // Analyze the project (including factories)
67
- const { classes, factories } = await (0, analyser_1.analyzeProjectWithFactories)(sourceDir, {
67
+ const { classes, factories, values } = await (0, analyser_1.analyzeProjectWithFactories)(sourceDir, {
68
68
  sourceDir,
69
69
  interfacePattern: mergedOptions.interface,
70
70
  excludePatterns: mergedOptions.exclude
@@ -151,13 +151,16 @@ exports.generateCommand = new commander_1.Command('generate')
151
151
  }
152
152
  // Generate container file
153
153
  logger_1.Logger.custom('🚀', 'Generating container...', logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
154
- generator_1.IoCContainerGenerator.generate(classes, outputPath, moduleGroupedClasses, factories);
154
+ generator_1.IoCContainerGenerator.generate(classes, outputPath, moduleGroupedClasses, factories, values);
155
155
  logger_1.Logger.success('Container generated successfully!');
156
156
  logger_1.Logger.log(logger_1.Logger.colorizeText(` File: ${outputPath}`, logger_1.Logger.getColors().gray));
157
157
  logger_1.Logger.log(logger_1.Logger.colorizeText(` Classes: ${classes.length}`, logger_1.Logger.getColors().gray));
158
158
  if (factories && factories.length > 0) {
159
159
  logger_1.Logger.log(logger_1.Logger.colorizeText(` Factories: ${factories.length}`, logger_1.Logger.getColors().gray));
160
160
  }
161
+ if (values && values.length > 0) {
162
+ logger_1.Logger.log(logger_1.Logger.colorizeText(` Values: ${values.length}`, logger_1.Logger.getColors().gray));
163
+ }
161
164
  if (mergedOptions.verbose) {
162
165
  logger_1.Logger.newline();
163
166
  logger_1.Logger.custom('🎉', 'You can now import and use your container:', logger_1.Logger.getColors().green + logger_1.Logger.getColors().bright);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ClassInfo, FactoryInfo } from '../types';
1
+ import { ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
2
  export declare class IoCContainerGenerator {
3
3
  /**
4
4
  * Generates the IoC container code for the given classes
@@ -6,8 +6,9 @@ export declare class IoCContainerGenerator {
6
6
  * @param outputPath - Path where the container file will be generated
7
7
  * @param moduleGroupedClasses - Optional: Classes grouped by modules
8
8
  * @param factories - Optional: Factory functions to be registered
9
+ * @param values - Optional: Plain object values to be registered with useValue
9
10
  */
10
- static generate(classes: ClassInfo[], outputPath: string, moduleGroupedClasses?: Map<string, ClassInfo[]>, factories?: FactoryInfo[]): void;
11
+ static generate(classes: ClassInfo[], outputPath: string, moduleGroupedClasses?: Map<string, ClassInfo[]>, factories?: FactoryInfo[], values?: ValueInfo[]): void;
11
12
  private static generateFlatCode;
12
13
  private static generateModularFiles;
13
14
  private static generateModuleFile;
@@ -23,5 +24,6 @@ export declare class IoCContainerGenerator {
23
24
  private static checkForNameCollisions;
24
25
  private static generateRegistrations;
25
26
  private static generateFactoryRegistrations;
27
+ private static generateValueRegistrations;
26
28
  }
27
29
  //# sourceMappingURL=ioc-container-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,qBAAqB;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,GAC1B,IAAI;IA4BP,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA6C/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyCnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqCjC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsClC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAgBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IA4D9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA+CpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;CA0D9C"}
1
+ {"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM7D,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,GACrB,IAAI;IA4BP,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA0CnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqCjC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsClC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAgBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IAoF9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA+CpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA2D3C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAuB5C"}
@@ -12,8 +12,9 @@ class IoCContainerGenerator {
12
12
  * @param outputPath - Path where the container file will be generated
13
13
  * @param moduleGroupedClasses - Optional: Classes grouped by modules
14
14
  * @param factories - Optional: Factory functions to be registered
15
+ * @param values - Optional: Plain object values to be registered with useValue
15
16
  */
16
- static generate(classes, outputPath, moduleGroupedClasses, factories) {
17
+ static generate(classes, outputPath, moduleGroupedClasses, factories, values) {
17
18
  // Check for name collisions before generating
18
19
  // If moduleGroupedClasses is provided, check all classes from all modules
19
20
  const allClassesToCheck = moduleGroupedClasses && moduleGroupedClasses.size > 1
@@ -25,20 +26,20 @@ class IoCContainerGenerator {
25
26
  (0, fs_1.mkdirSync)(outputDir, { recursive: true });
26
27
  if (moduleGroupedClasses && moduleGroupedClasses.size > 1) {
27
28
  // Generate modular code with separate files for each module
28
- this.generateModularFiles(moduleGroupedClasses, outputPath, factories);
29
+ this.generateModularFiles(moduleGroupedClasses, outputPath, factories, values);
29
30
  }
30
31
  else {
31
32
  // Generate single flat file
32
- const containerCode = this.generateFlatCode(classes, outputPath, factories);
33
+ const containerCode = this.generateFlatCode(classes, outputPath, factories, values);
33
34
  (0, fs_1.writeFileSync)(outputPath, containerCode);
34
35
  }
35
36
  // Generate type declarations (.d.ts file)
36
37
  const typesPath = outputPath.endsWith('.gen.ts')
37
38
  ? outputPath.replace(/\.gen\.ts$/, '.gen.d.ts')
38
39
  : outputPath.replace(/\.ts$/, '.d.ts');
39
- type_declaration_generator_1.TypeDeclarationGenerator.generate(classes, typesPath, factories);
40
+ type_declaration_generator_1.TypeDeclarationGenerator.generate(classes, typesPath, factories, values);
40
41
  }
41
- static generateFlatCode(classes, outputPath, factories) {
42
+ static generateFlatCode(classes, outputPath, factories, values) {
42
43
  // Collect all interface names to identify which dependencies should use string tokens
43
44
  const interfaceNames = new Set();
44
45
  classes.forEach(cls => {
@@ -57,13 +58,21 @@ class IoCContainerGenerator {
57
58
  }
58
59
  });
59
60
  });
60
- const imports = this.generateImports(classes, outputPath, factories);
61
+ const imports = this.generateImports(classes, outputPath, factories, values);
61
62
  const classRegistrations = this.generateRegistrations(classes, interfaceNames, '', abstractClassNames);
62
63
  const factoryRegistrations = factories && factories.length > 0
63
64
  ? this.generateFactoryRegistrations(factories, interfaceNames, '', abstractClassNames)
64
65
  : '';
66
+ const valueRegistrations = values && values.length > 0
67
+ ? this.generateValueRegistrations(values, '')
68
+ : '';
65
69
  const filename = outputPath.split('/').pop()?.replace(/\.ts$/, '') || 'container.gen';
66
70
  const dtsFilename = outputPath.split('/').pop()?.replace(/\.ts$/, '.d') || 'container.gen.d';
71
+ const allRegistrations = [
72
+ classRegistrations,
73
+ factoryRegistrations,
74
+ valueRegistrations
75
+ ].filter(Boolean).join('\n\n');
67
76
  return `/**
68
77
  * This file is auto-generated by ioc-arise.
69
78
  * Do not modify this file manually.
@@ -74,10 +83,10 @@ ${imports}
74
83
 
75
84
  export const container = new Container<ContainerRegistry>();
76
85
 
77
- ${classRegistrations}${factoryRegistrations ? '\n\n' + factoryRegistrations : ''}
86
+ ${allRegistrations}
78
87
  `;
79
88
  }
80
- static generateModularFiles(moduleGroupedClasses, outputPath, factories) {
89
+ static generateModularFiles(moduleGroupedClasses, outputPath, factories, values) {
81
90
  const outputDir = (0, path_1.dirname)(outputPath);
82
91
  const baseFilename = (0, path_1.basename)(outputPath, '.ts');
83
92
  const modulesDir = (0, path_1.join)(outputDir, 'modules');
@@ -231,7 +240,7 @@ ${registrations};`);
231
240
  return ` .register(${token}, { useClass: ${cls.name}${dependencies}, lifecycle: ${lifecycle} })`;
232
241
  }).join('\n');
233
242
  }
234
- static generateImports(classes, outputPath, factories) {
243
+ static generateImports(classes, outputPath, factories, values) {
235
244
  const outputDir = (0, path_1.dirname)(outputPath);
236
245
  const importStatements = [];
237
246
  const importMap = new Map();
@@ -271,6 +280,25 @@ ${registrations};`);
271
280
  importMap.get(relativePath).add(factory.name);
272
281
  });
273
282
  }
283
+ // Collect value imports
284
+ if (values) {
285
+ values.forEach(value => {
286
+ // Calculate relative path from output file to value file
287
+ let relativePath = (0, path_1.relative)(outputDir, value.filePath);
288
+ // Remove extension (.ts)
289
+ relativePath = relativePath.replace(/\.ts$/, '');
290
+ // Add ./ if it doesn't start with . or /
291
+ if (!relativePath.startsWith('.')) {
292
+ relativePath = `./${relativePath}`;
293
+ }
294
+ // Use forward slashes for imports
295
+ relativePath = relativePath.replace(/\\/g, '/');
296
+ if (!importMap.has(relativePath)) {
297
+ importMap.set(relativePath, new Set());
298
+ }
299
+ importMap.get(relativePath).add(value.name);
300
+ });
301
+ }
274
302
  // Generate import statements
275
303
  for (const [importPath, names] of importMap.entries()) {
276
304
  const namesArray = Array.from(names).sort();
@@ -377,6 +405,24 @@ ${indent}});`;
377
405
  return `${indent}container.register(${token}, {
378
406
  ${indent} useFactory: ${factoryFunction},${dependencies}
379
407
  ${indent} lifecycle: ${lifecycle},
408
+ ${indent}});`;
409
+ }).join('\n\n');
410
+ }
411
+ static generateValueRegistrations(values, indent = '') {
412
+ return values.map(value => {
413
+ // Use token if provided, otherwise use interface name or value name
414
+ const token = value.token
415
+ ? `'${value.token}'`
416
+ : value.interfaceName
417
+ ? `'${value.interfaceName}'`
418
+ : `'${value.name}'`;
419
+ // Determine lifecycle enum value (always singleton for useValue)
420
+ const lifecycle = value.scope === 'singleton'
421
+ ? 'Lifecycle.Singleton'
422
+ : 'Lifecycle.Singleton';
423
+ return `${indent}container.register(${token}, {
424
+ ${indent} useValue: ${value.name},
425
+ ${indent} lifecycle: ${lifecycle},
380
426
  ${indent}});`;
381
427
  }).join('\n\n');
382
428
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { ClassInfo, FactoryInfo } from '../types';
1
+ import { ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
2
  export declare class TypeDeclarationGenerator {
3
- static generate(classes: ClassInfo[], outputPath: string, factories?: FactoryInfo[]): void;
3
+ static generate(classes: ClassInfo[], outputPath: string, factories?: FactoryInfo[], values?: ValueInfo[]): void;
4
4
  private static generateTypeDeclarations;
5
5
  private static generateTypeImports;
6
+ private static findInterfaceLocationForValue;
6
7
  private static findInterfaceLocations;
7
8
  private static generateRegistryInterface;
8
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"type-declaration-generator.d.ts","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,wBAAwB;IACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI;IAU1F,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA4DvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA8DlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiDrC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAmBrC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
1
+ {"version":3,"file":"type-declaration-generator.d.ts","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM7D,qBAAa,wBAAwB;IACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI;IAUhH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAsEvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA6ElC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAwD5C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiDrC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAmBrC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
@@ -5,15 +5,15 @@ const path_1 = require("path");
5
5
  const fs_1 = require("fs");
6
6
  const errorFactory_1 = require("../errors/errorFactory");
7
7
  class TypeDeclarationGenerator {
8
- static generate(classes, outputPath, factories) {
8
+ static generate(classes, outputPath, factories, values) {
9
9
  // Check for name collisions before generating
10
10
  this.checkForNameCollisions(classes);
11
11
  // outputPath already has .d.ts extension from the generator
12
- const typeDeclarations = this.generateTypeDeclarations(classes, outputPath, factories);
12
+ const typeDeclarations = this.generateTypeDeclarations(classes, outputPath, factories, values);
13
13
  (0, fs_1.mkdirSync)((0, path_1.dirname)(outputPath), { recursive: true });
14
14
  (0, fs_1.writeFileSync)(outputPath, typeDeclarations);
15
15
  }
16
- static generateTypeDeclarations(classes, outputPath, factories) {
16
+ static generateTypeDeclarations(classes, outputPath, factories, values) {
17
17
  // Filter classes that have interface implementations or abstract class implementations
18
18
  const interfaceClasses = classes.filter(cls => cls.interfaceName);
19
19
  const abstractClasses = classes.filter(cls => cls.abstractClassName);
@@ -29,7 +29,7 @@ class TypeDeclarationGenerator {
29
29
  export interface ContainerRegistry {}
30
30
  `;
31
31
  }
32
- const typeImports = this.generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories);
32
+ const typeImports = this.generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values);
33
33
  // Build registry entries for interfaces, abstract classes, direct classes, and factories
34
34
  const registryEntries = [];
35
35
  interfaceClasses.forEach(cls => {
@@ -51,6 +51,15 @@ export interface ContainerRegistry {}
51
51
  registryEntries.push(` '${token}': ReturnType<typeof ${factory.name}>;`);
52
52
  });
53
53
  }
54
+ // For values, use the interface name or value name as the token
55
+ if (values) {
56
+ values.forEach(value => {
57
+ const token = value.token || value.interfaceName || value.name;
58
+ // Use the interface type if available, otherwise use typeof valueName
59
+ const type = value.interfaceName || `typeof ${value.name}`;
60
+ registryEntries.push(` '${token}': ${type};`);
61
+ });
62
+ }
54
63
  return `/**
55
64
  * This file is auto-generated by ioc-arise.
56
65
  * Do not modify this file manually.
@@ -64,7 +73,7 @@ ${registryEntries.join('\n')}
64
73
  }
65
74
  `;
66
75
  }
67
- static generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories) {
76
+ static generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values) {
68
77
  const outputDir = (0, path_1.dirname)(outputPath);
69
78
  const imports = [];
70
79
  // Build a map of interface names to their actual file paths by searching the source
@@ -109,8 +118,67 @@ ${registryEntries.join('\n')}
109
118
  imports.push(`import { ${factory.name} } from '${relativePath}';`);
110
119
  });
111
120
  }
121
+ // Import interface types for values (we don't need to import the values themselves in .d.ts)
122
+ if (values) {
123
+ values.forEach(value => {
124
+ // Only import the interface type, not the value itself
125
+ if (value.interfaceName) {
126
+ // Find interface location by checking imports in the value file
127
+ const interfacePath = this.findInterfaceLocationForValue(value, outputDir);
128
+ if (interfacePath) {
129
+ imports.push(`import type { ${value.interfaceName} } from '${interfacePath}';`);
130
+ }
131
+ }
132
+ });
133
+ }
112
134
  return imports.join('\n');
113
135
  }
136
+ static findInterfaceLocationForValue(value, outputDir) {
137
+ try {
138
+ // Read the value file to find where the interface is imported from
139
+ const fileContent = (0, fs_1.readFileSync)(value.filePath, 'utf-8');
140
+ // Match: import { InterfaceName } from './path';
141
+ // or: import type { InterfaceName } from './path';
142
+ const importRegex = new RegExp(`import\\s+(?:type\\s+)?\\{[^}]*\\b${value.interfaceName}\\b[^}]*\\}\\s+from\\s+['"]([^'"]+)['"]`, 'g');
143
+ const match = importRegex.exec(fileContent);
144
+ if (match && match[1]) {
145
+ // Found the import path relative to the value file
146
+ const valueDir = (0, path_1.dirname)(value.filePath);
147
+ const interfacePathFromValue = match[1];
148
+ // Resolve the absolute path of the interface file
149
+ const absoluteInterfacePath = (0, path_1.join)(valueDir, interfacePathFromValue);
150
+ const normalizedInterfacePath = absoluteInterfacePath.endsWith('.ts')
151
+ ? absoluteInterfacePath
152
+ : absoluteInterfacePath + '.ts';
153
+ // Check if the file exists
154
+ if ((0, fs_1.existsSync)(normalizedInterfacePath)) {
155
+ // Convert to relative path from output directory
156
+ let relativePath = (0, path_1.relative)(outputDir, normalizedInterfacePath);
157
+ relativePath = relativePath.replace(/\.ts$/, '');
158
+ if (!relativePath.startsWith('.')) {
159
+ relativePath = `./${relativePath}`;
160
+ }
161
+ return relativePath.replace(/\\/g, '/');
162
+ }
163
+ }
164
+ // Fallback: assume interface is in a file named I{InterfaceName}.ts in the same directory
165
+ const valueDir = (0, path_1.dirname)(value.filePath);
166
+ const interfaceFileName = value.interfaceName + '.ts';
167
+ const interfacePath = (0, path_1.join)(valueDir, interfaceFileName);
168
+ if ((0, fs_1.existsSync)(interfacePath)) {
169
+ let relativePath = (0, path_1.relative)(outputDir, interfacePath);
170
+ relativePath = relativePath.replace(/\.ts$/, '');
171
+ if (!relativePath.startsWith('.')) {
172
+ relativePath = `./${relativePath}`;
173
+ }
174
+ return relativePath.replace(/\\/g, '/');
175
+ }
176
+ return null;
177
+ }
178
+ catch (error) {
179
+ return null;
180
+ }
181
+ }
114
182
  static findInterfaceLocations(classes, outputDir) {
115
183
  const interfaceLocations = new Map();
116
184
  const interfaceNames = new Set(classes.filter(c => c.interfaceName).map(c => c.interfaceName));
@@ -1 +1 @@
1
- {"version":3,"file":"type-declaration-generator.js","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-declaration-generator.js","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,6 +35,14 @@ export interface FactoryInfo {
35
35
  type: string;
36
36
  }[];
37
37
  }
38
+ export interface ValueInfo {
39
+ name: string;
40
+ filePath: string;
41
+ interfaceName?: string;
42
+ importPath: string;
43
+ scope: InjectionScope;
44
+ token?: string;
45
+ }
38
46
  export interface AnalyzerOptions {
39
47
  sourceDir: string;
40
48
  interfacePattern?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notjustcoders/ioc-arise",
3
- "version": "1.1.17",
3
+ "version": "1.1.18",
4
4
  "description": "Arise type-safe IoC containers from your code. Zero overhead, zero coupling.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -46,7 +46,7 @@
46
46
  "commander": "^11.1.0",
47
47
  "glob": "^10.3.10",
48
48
  "minimatch": "^10.0.1",
49
- "@notjustcoders/di-container": "1.0.5"
49
+ "@notjustcoders/di-container": "1.0.6"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/minimatch": "^5.1.2",
@@ -72,6 +72,7 @@
72
72
  "test6:generate": "npm run build && node dist/index.js generate --source examples/duplicate-interfaces-example",
73
73
  "test7:generate": "npm run build && node dist/index.js generate --source examples/name-collision-example",
74
74
  "test8:generate": "npm run build && node dist/index.js generate --source examples/abstract-classes-example",
75
- "test9:generate": "npm run build && node dist/index.js generate --source examples/factory-functions-example"
75
+ "test9:generate": "npm run build && node dist/index.js generate --source examples/factory-functions-example",
76
+ "test10:generate": "npm run build && node dist/index.js generate --source examples/use-value-example"
76
77
  }
77
78
  }