@openrewrite/rewrite 8.67.0 → 8.67.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/java/tree.d.ts +7 -1
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +13 -3
- package/dist/java/tree.js.map +1 -1
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +200 -44
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/cleanup/index.d.ts +2 -0
- package/dist/javascript/cleanup/index.d.ts.map +1 -0
- package/dist/javascript/cleanup/index.js +21 -0
- package/dist/javascript/cleanup/index.js.map +1 -0
- package/dist/javascript/cleanup/use-object-property-shorthand.d.ts +22 -0
- package/dist/javascript/cleanup/use-object-property-shorthand.d.ts.map +1 -0
- package/dist/javascript/cleanup/use-object-property-shorthand.js +144 -0
- package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -0
- package/dist/javascript/comparator.d.ts +8 -0
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +12 -0
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/dependency-workspace.d.ts +1 -0
- package/dist/javascript/dependency-workspace.d.ts.map +1 -1
- package/dist/javascript/dependency-workspace.js +44 -0
- package/dist/javascript/dependency-workspace.js.map +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +21 -1
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/print.d.ts +1 -0
- package/dist/javascript/print.d.ts.map +1 -1
- package/dist/javascript/print.js +8 -0
- package/dist/javascript/print.js.map +1 -1
- package/dist/javascript/rpc.js +14 -0
- package/dist/javascript/rpc.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts +7 -0
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +10 -0
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +17 -16
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +56 -28
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/tree.d.ts +9 -0
- package/dist/javascript/tree.d.ts.map +1 -1
- package/dist/javascript/tree.js +1 -0
- package/dist/javascript/tree.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +13 -1
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +215 -8
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/javascript/visitor.d.ts +1 -0
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/javascript/visitor.js +11 -0
- package/dist/javascript/visitor.js.map +1 -1
- package/dist/json/parser.js +18 -2
- package/dist/json/parser.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/java/tree.ts +7 -1
- package/src/javascript/add-import.ts +211 -53
- package/src/javascript/cleanup/index.ts +17 -0
- package/src/javascript/cleanup/use-object-property-shorthand.ts +154 -0
- package/src/javascript/comparator.ts +11 -0
- package/src/javascript/dependency-workspace.ts +52 -0
- package/src/javascript/parser.ts +23 -1
- package/src/javascript/print.ts +7 -0
- package/src/javascript/rpc.ts +12 -0
- package/src/javascript/templating/pattern.ts +11 -0
- package/src/javascript/templating/rewrite.ts +19 -18
- package/src/javascript/templating/types.ts +60 -28
- package/src/javascript/tree.ts +10 -0
- package/src/javascript/type-mapping.ts +239 -9
- package/src/javascript/visitor.ts +10 -0
- package/src/json/parser.ts +16 -2
|
@@ -532,6 +532,30 @@ export interface RewriteRule {
|
|
|
532
532
|
*/
|
|
533
533
|
orElse(alternative: RewriteRule): RewriteRule;
|
|
534
534
|
}
|
|
535
|
+
/**
|
|
536
|
+
* Context for preMatch predicate - only has cursor, no captures yet.
|
|
537
|
+
*/
|
|
538
|
+
export interface PreMatchContext {
|
|
539
|
+
/**
|
|
540
|
+
* The cursor pointing to the node being considered for matching.
|
|
541
|
+
* Allows navigating the AST (parent, root, etc.).
|
|
542
|
+
*/
|
|
543
|
+
cursor: Cursor;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Context for postMatch predicate - has cursor and captured values.
|
|
547
|
+
*/
|
|
548
|
+
export interface PostMatchContext {
|
|
549
|
+
/**
|
|
550
|
+
* The cursor pointing to the matched node.
|
|
551
|
+
* Allows navigating the AST (parent, root, etc.).
|
|
552
|
+
*/
|
|
553
|
+
cursor: Cursor;
|
|
554
|
+
/**
|
|
555
|
+
* Values captured during pattern matching.
|
|
556
|
+
*/
|
|
557
|
+
captures: CaptureMap;
|
|
558
|
+
}
|
|
535
559
|
/**
|
|
536
560
|
* Configuration for a replacement rule.
|
|
537
561
|
*/
|
|
@@ -539,54 +563,51 @@ export interface RewriteConfig {
|
|
|
539
563
|
before: Pattern | Pattern[];
|
|
540
564
|
after: Template | ((match: MatchResult) => Template);
|
|
541
565
|
/**
|
|
542
|
-
* Optional
|
|
543
|
-
*
|
|
544
|
-
*
|
|
566
|
+
* Optional predicate evaluated BEFORE pattern matching.
|
|
567
|
+
* Use for efficient early filtering based on AST context when captures aren't needed.
|
|
568
|
+
* If this returns false, pattern matching is skipped entirely.
|
|
545
569
|
*
|
|
546
|
-
* @param node The
|
|
547
|
-
* @param
|
|
548
|
-
* @returns true
|
|
570
|
+
* @param node The AST node being considered for matching
|
|
571
|
+
* @param context Context providing cursor for AST navigation
|
|
572
|
+
* @returns true to proceed with pattern matching, false to skip this node
|
|
549
573
|
*
|
|
550
574
|
* @example
|
|
551
575
|
* ```typescript
|
|
552
576
|
* rewrite(() => ({
|
|
553
|
-
* before: pattern`
|
|
554
|
-
* after: template`
|
|
555
|
-
*
|
|
556
|
-
* // Only
|
|
557
|
-
* const method = cursor.firstEnclosing(
|
|
558
|
-
*
|
|
559
|
-
* );
|
|
560
|
-
* return method?.modifiers.some(m => m.type === 'async') || false;
|
|
577
|
+
* before: pattern`console.log(${_('msg')})`,
|
|
578
|
+
* after: template`logger.info(${_('msg')})`,
|
|
579
|
+
* preMatch: (node, {cursor}) => {
|
|
580
|
+
* // Only attempt matching inside functions named 'handleError'
|
|
581
|
+
* const method = cursor.firstEnclosing(isMethodDeclaration);
|
|
582
|
+
* return method?.name.simpleName === 'handleError';
|
|
561
583
|
* }
|
|
562
584
|
* }));
|
|
563
585
|
* ```
|
|
564
586
|
*/
|
|
565
|
-
|
|
587
|
+
preMatch?: (node: J, context: PreMatchContext) => boolean | Promise<boolean>;
|
|
566
588
|
/**
|
|
567
|
-
* Optional
|
|
568
|
-
*
|
|
569
|
-
*
|
|
589
|
+
* Optional predicate evaluated AFTER pattern matching succeeds.
|
|
590
|
+
* Use when you need access to captured values to decide whether to apply the transformation.
|
|
591
|
+
* If this returns false, the transformation is not applied.
|
|
570
592
|
*
|
|
571
593
|
* @param node The matched AST node
|
|
572
|
-
* @param
|
|
573
|
-
* @returns true
|
|
594
|
+
* @param context Context providing cursor for AST navigation and captured values
|
|
595
|
+
* @returns true to apply the transformation, false to skip
|
|
574
596
|
*
|
|
575
597
|
* @example
|
|
576
598
|
* ```typescript
|
|
577
599
|
* rewrite(() => ({
|
|
578
|
-
* before: pattern
|
|
579
|
-
* after: template
|
|
580
|
-
*
|
|
581
|
-
* //
|
|
582
|
-
*
|
|
583
|
-
*
|
|
584
|
-
* ) !== undefined;
|
|
600
|
+
* before: pattern`${_('a')} + ${_('b')}`,
|
|
601
|
+
* after: template`${_('b')} + ${_('a')}`,
|
|
602
|
+
* postMatch: (node, {cursor, captures}) => {
|
|
603
|
+
* // Only swap if 'a' is a literal number
|
|
604
|
+
* const a = captures.get('a');
|
|
605
|
+
* return a?.kind === J.Kind.Literal && typeof a.value === 'number';
|
|
585
606
|
* }
|
|
586
607
|
* }));
|
|
587
608
|
* ```
|
|
588
609
|
*/
|
|
589
|
-
|
|
610
|
+
postMatch?: (node: J, context: PostMatchContext) => boolean | Promise<boolean>;
|
|
590
611
|
}
|
|
591
612
|
/**
|
|
592
613
|
* Options for debugging pattern matching.
|
|
@@ -679,6 +700,13 @@ export interface MatchResult {
|
|
|
679
700
|
*/
|
|
680
701
|
get(capture: string): any;
|
|
681
702
|
get<T>(capture: Capture<T>): T | undefined;
|
|
703
|
+
/**
|
|
704
|
+
* Checks if a capture has been matched.
|
|
705
|
+
*
|
|
706
|
+
* @param capture The capture name (string) or Capture object
|
|
707
|
+
* @returns true if the capture exists in the match result
|
|
708
|
+
*/
|
|
709
|
+
has(capture: Capture | string): boolean;
|
|
682
710
|
}
|
|
683
711
|
/**
|
|
684
712
|
* Result of a pattern match attempt with debug information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ export declare namespace JS {
|
|
|
56
56
|
readonly PropertyAssignment: "org.openrewrite.javascript.tree.JS$PropertyAssignment";
|
|
57
57
|
readonly SatisfiesExpression: "org.openrewrite.javascript.tree.JS$SatisfiesExpression";
|
|
58
58
|
readonly ScopedVariableDeclarations: "org.openrewrite.javascript.tree.JS$ScopedVariableDeclarations";
|
|
59
|
+
readonly Shebang: "org.openrewrite.javascript.tree.JS$Shebang";
|
|
59
60
|
readonly StatementExpression: "org.openrewrite.javascript.tree.JS$StatementExpression";
|
|
60
61
|
readonly TaggedTemplateExpression: "org.openrewrite.javascript.tree.JS$TaggedTemplateExpression";
|
|
61
62
|
readonly TemplateExpression: "org.openrewrite.javascript.tree.JS$TemplateExpression";
|
|
@@ -380,6 +381,14 @@ export declare namespace JS {
|
|
|
380
381
|
readonly modifiers: J.Modifier[];
|
|
381
382
|
readonly variables: J.RightPadded<J>[];
|
|
382
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Represents a shebang line at the beginning of a script.
|
|
386
|
+
* @example #!/usr/bin/env node
|
|
387
|
+
*/
|
|
388
|
+
interface Shebang extends JS, Statement {
|
|
389
|
+
readonly kind: typeof Kind.Shebang;
|
|
390
|
+
readonly text: string;
|
|
391
|
+
}
|
|
383
392
|
/**
|
|
384
393
|
* Represents a statement used as an expression. The example shows a function expressions.
|
|
385
394
|
* @example const greet = function (name: string) : string { return name; };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EACH,UAAU,EACV,CAAC,EAED,UAAU,EACV,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,kBAAkB,EAErB,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,EAAG,SAAQ,CAAC;CAC5B;AAED,yBAAiB,EAAE,CAAC;IACT,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsEP,CAAC;IAEX,SAAgB,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,IAAI,UAAU,CAE5D;IAED;;;;OAIG;IACH,UAAiB,eAAgB,SAAQ,EAAE,EAAE,UAAU;QACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;KACzB;IAED;;;OAGG;IACH,UAAiB,KAAM,SAAQ,EAAE,EAAE,UAAU;QACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;KAC9B;IAED;;;OAGG;IACH,UAAiB,aAAc,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;QACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QACzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC;QAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC;KAC5C;IAED;;;OAGG;IACH,UAAiB,EAAG,SAAQ,EAAE,EAAE,UAAU,EAAE,SAAS;QACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,KAAM,SAAQ,EAAE,EAAE,UAAU;QACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,MAAO,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU;QACrD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;IAED;;;OAGG;IACH,UAAiB,mBAAoB,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU;QAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;IAED;;;OAGG;IACH,UAAiB,2BAA4B,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACzE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,2BAA2B,CAAC;QACvD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAClB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC;QAC3C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACjD;IAED;;;OAGG;IACH,UAAiB,SAAU,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACvD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,UAAW,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,MAAO,SAAQ,EAAE,EAAE,SAAS;QACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACnD;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE;QACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;KACvC;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE,EAAE,UAAU;QAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,EAAE,EAAE,UAAU,EAAE,SAAS;QAC9D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,gBAAiB,SAAQ,EAAE;QACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC5C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;QACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAC7C;IAED,UAAiB,gBAAgB,CAAC;QAC9B,WAAkB,KAAK;YACnB,IAAI,SAAS;YACb,MAAM,WAAW;SACpB;KACJ;IAED;;;OAGG;IACH,UAAiB,oBAAqB,SAAQ,EAAE;QAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;KACzB;IAED;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,EAAE,EAAE,SAAS;QAClD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KAC5C;IAED;;;OAGG;IACH,UAAiB,MAAO,SAAQ,EAAE,EAAE,UAAU,EAAE,SAAS;QACrD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED,UAAiB,MAAM,CAAC;QACpB,WAAkB,IAAI;YAClB,EAAE,OAAO;YACT,cAAc,mBAAmB;YACjC,iBAAiB,sBAAsB;YACvC,EAAE,OAAO;YACT,gBAAgB,qBAAqB;YACrC,KAAK,UAAU;SAClB;KACJ;IAED;;;OAGG;IACH,UAAiB,WAAY,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACzD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;KACd;IAGD;;;OAGG;IACH,UAAiB,UAAW,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC;QACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED,UAAiB,UAAU,CAAC;QACxB;;;WAGG;QACH,UAAiB,aAAc,SAAQ,EAAE,EAAE,SAAS;YAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC;YACnD,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SACjD;QAED;;;WAGG;QACH,UAAiB,SAAU,SAAQ,EAAE,EAAE,SAAS;YAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;YAC/C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAChD;KACJ;IAED;;;OAGG;IACH,UAAiB,oBAAqB,SAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB;QACvF,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QAChD,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;QACnC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACnD;IAED;;;OAGG;IACH,UAAiB,kBAAmB,SAAQ,EAAE,EAAE,SAAS,EAAE,SAAS;QAChE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;KACrC;IAED,UAAiB,kBAAkB,CAAC;QAChC,WAAkB,KAAK;YACnB,KAAK,UAAU;YACf,MAAM,WAAW;YACjB,KAAK,UAAU;SAClB;KACJ;IAED;;;OAGG;IACH,UAAiB,mBAAoB,SAAQ,EAAE,EAAE,UAAU;QACvD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvB,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,0BAA2B,SAAQ,EAAE,EAAE,SAAS;QAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,0BAA0B,CAAC;QACtD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C;IAED;;;OAGG;IACH,UAAiB,OAAQ,SAAQ,EAAE,EAAE,SAAS;QAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACzB;IAED;;;OAGG;IACH,UAAiB,mBAAoB,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU;QAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;KACjC;IAED;;;OAGG;IACH,UAAiB,wBAAyB,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU;QACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,kBAAmB,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;QAC3E,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED,UAAiB,kBAAkB,CAAC;QAChC;;;WAGG;QACH,UAAiB,IAAK,SAAQ,EAAE;YAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC;YAClD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;SAC5B;KACJ;IAED;;;OAGG;IACH,UAAiB,KAAM,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,EAAE,EAAE,SAAS,EAAE,SAAS;QAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC;QAC3C,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,MAAO,SAAQ,EAAE,EAAE,UAAU;QAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,kBAAmB,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAChE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAC9C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;IAED;;;OAGG;IACH,UAAiB,mBAAoB,SAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;QAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1D,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED,UAAiB,mBAAmB,CAAC;QACjC,WAAkB,IAAI;YAClB,gBAAgB,qBAAqB;YACrC,GAAG,QAAQ;YACX,EAAE,OAAO;YACT,KAAK,UAAU;YACf,GAAG,QAAQ;SACd;KACJ;IAED;;;OAGG;IACH,UAAiB,iBAAkB,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC/D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAGD,UAAiB,iBAAiB,CAAC;QAC/B;;;WAGG;QACH,UAAiB,SAAU,SAAQ,EAAE;YACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,0BAA0B,CAAC;YACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;SACxB;KACJ;IAED;;;OAGG;IACH,UAAiB,SAAU,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACvD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;QAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,QAAS,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACtD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACpC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;KACrC;IAED;;;OAGG;IACH,UAAiB,oBAAqB,SAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB;QACvF,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QAChD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAClD;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC;QACrC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACjD;IAED,UAAiB,YAAY,CAAC;QAC1B,WAAkB,IAAI;YAClB,QAAQ,aAAa;YACrB,KAAK,UAAU;YACf,MAAM,WAAW;SACpB;KACJ;IAED;;;OAGG;IACH,UAAiB,aAAc,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,KAAM,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ;QAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;;;;OAMG;IACH,UAAiB,YAAa,SAAQ,EAAE,EAAE,UAAU;QAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAC/C;IAED;;;OAGG;IACH,UAAiB,IAAK,SAAQ,EAAE,EAAE,UAAU;QACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAChC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;IAED;;;OAGG;IACH,UAAiB,aAAc,SAAQ,EAAE,EAAE,SAAS;QAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QACzC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED;;;OAGG;IACH,UAAiB,yBAA0B,SAAQ,EAAE,EAAE,SAAS,EAAE,SAAS;QACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,yBAAyB,CAAC;QACrD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,iCAAkC,SAAQ,EAAE,EAAE,SAAS;QACpE,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,iCAAiC,CAAC;QAC7D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC;QAC3C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC;QACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;QACpC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;KACrC;IAED;;;;OAIG;IACH,UAAiB,SAAU,SAAQ,EAAE;QACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC;KAChC;IAED,UAAiB,SAAS,CAAC;QACvB,KAAY,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;KAC/C;IAED;;;OAGG;IACH,UAAiB,SAAU,SAAQ,EAAE;QACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;QACpC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC3C;IAED,UAAiB,SAAS,CAAC;QACvB,KAAY,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;KAC/C;IAED;;;OAGG;IACH,UAAiB,oBAAqB,SAAQ,EAAE,EAAE,SAAS;QACvD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC;QAChD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACrE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;KAC3B;IAED,UAAiB,oBAAoB,CAAC;QAClC,WAAkB,WAAW;YACzB,SAAS,cAAc;YACvB,MAAM,WAAW;YACjB,KAAK,UAAU;SAClB;KACJ;IAED;;;OAGG;IACH,UAAiB,WAAY,SAAQ,EAAE,EAAE,QAAQ;QAC7C,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACvC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,mBAAoB,SAAQ,EAAE,EAAE,SAAS,EAAE,kBAAkB;QAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,cAAe,SAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ;QAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;KACzC;IAED;;;OAGG;IACH,UAAiB,iBAAkB,SAAQ,EAAE,EAAE,SAAS;QACpD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;QACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC1C;IAED;;;;OAIG;IACH,UAAiB,gBAAiB,SAAQ,EAAE,EAAE,SAAS;QACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACjD;IAED;;;OAGG;IACH,UAAiB,YAAa,SAAQ,EAAE;QACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;IAED;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,EAAE;QACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxB;CACJ;AAED,yBAAiB,GAAG,CAAC;IACjB;;;OAGG;IACH,MAAM,MAAM,GAAG,GACX,CAAC,OAAO,GAAG;QACP,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;QAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;QACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;KACzC,CAAC,GACF,CAAC,OAAO,GAAG;QACP,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;QACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,kBAAkB,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACrF,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5F,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC;KACtC,CAAC,CAAC;IAEP,UAAU,OAAQ,SAAQ,EAAE,EAAE,UAAU;QACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;QAC5B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC;KACrE;IAED;;;OAGG;IACH,MAAM,WAAW,SAAU,SAAQ,EAAE;QACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KAC7C;IAED;;;OAGG;IACH,MAAM,WAAW,eAAgB,SAAQ,EAAE;QACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACjD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAA;QACtB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAClD;IAED;;;OAGG;IACH,MAAM,WAAW,kBAAmB,SAAQ,EAAE,EAAE,UAAU;QACtD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACpD,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAClD;IAED;;;OAGG;IACH,MAAM,WAAW,cAAe,SAAQ,EAAE,EAAE,QAAQ;QAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAChD,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KAC7C;;CACJ;AAgCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAElD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAE/E"}
|
package/dist/javascript/tree.js
CHANGED
|
@@ -61,6 +61,7 @@ var JS;
|
|
|
61
61
|
PropertyAssignment: "org.openrewrite.javascript.tree.JS$PropertyAssignment",
|
|
62
62
|
SatisfiesExpression: "org.openrewrite.javascript.tree.JS$SatisfiesExpression",
|
|
63
63
|
ScopedVariableDeclarations: "org.openrewrite.javascript.tree.JS$ScopedVariableDeclarations",
|
|
64
|
+
Shebang: "org.openrewrite.javascript.tree.JS$Shebang",
|
|
64
65
|
StatementExpression: "org.openrewrite.javascript.tree.JS$StatementExpression",
|
|
65
66
|
TaggedTemplateExpression: "org.openrewrite.javascript.tree.JS$TaggedTemplateExpression",
|
|
66
67
|
TemplateExpression: "org.openrewrite.javascript.tree.JS$TemplateExpression",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/javascript/tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,19 @@ export declare class JavaScriptTypeMapping {
|
|
|
13
13
|
private getType;
|
|
14
14
|
private getSignature;
|
|
15
15
|
primitiveType(node: ts.Node): Type.Primitive;
|
|
16
|
-
variableType(node: ts.
|
|
16
|
+
variableType(node: ts.Node): Type.Variable | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Extract the npm module name from a file path.
|
|
19
|
+
* Handles various package manager layouts:
|
|
20
|
+
* - Standard: /path/node_modules/react/index.d.ts -> react
|
|
21
|
+
* - Scoped: /path/node_modules/@types/react/index.d.ts -> react
|
|
22
|
+
* - Scoped with __ encoding: /path/node_modules/@types/testing-library__react/index.d.ts -> @testing-library/react
|
|
23
|
+
* - Nested node_modules: /path/node_modules/pkg/node_modules/dep/index.d.ts -> dep
|
|
24
|
+
* - pnpm: /path/node_modules/.pnpm/react@18.2.0/node_modules/react/index.d.ts -> react
|
|
25
|
+
*
|
|
26
|
+
* @returns The module name, or undefined if not from node_modules
|
|
27
|
+
*/
|
|
28
|
+
private extractModuleNameFromPath;
|
|
17
29
|
/**
|
|
18
30
|
* Helper to create a Type.Method object from common parameters
|
|
19
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;IAoBrC,OAAO,CAAC,OAAO;IAuNf,OAAO,CAAC,YAAY;IA4BpB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;IAQ5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS;IAoKtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAkDjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;IA0TlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6HzB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA4CpC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CA8D/B"}
|
|
@@ -55,6 +55,15 @@ class JavaScriptTypeMapping {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
type(node) {
|
|
58
|
+
// For identifiers, check if this references a variable
|
|
59
|
+
// This enables fieldType attribution for variable references
|
|
60
|
+
if (typescript_1.default.isIdentifier(node)) {
|
|
61
|
+
const variableType = this.variableType(node);
|
|
62
|
+
if (variableType) {
|
|
63
|
+
return variableType;
|
|
64
|
+
}
|
|
65
|
+
// Fall through to regular type checking if not a variable
|
|
66
|
+
}
|
|
58
67
|
let type;
|
|
59
68
|
if (typescript_1.default.isExpression(node)) {
|
|
60
69
|
type = this.checker.getTypeAtLocation(node);
|
|
@@ -103,6 +112,13 @@ class JavaScriptTypeMapping {
|
|
|
103
112
|
if (existing) {
|
|
104
113
|
return existing;
|
|
105
114
|
}
|
|
115
|
+
// TypeScript represents `boolean` as a union of `false | true`, but the union
|
|
116
|
+
// type still has the Boolean flag set. Check this early to return Primitive.Boolean
|
|
117
|
+
// before we process it as a generic union type.
|
|
118
|
+
if (type.flags & typescript_1.default.TypeFlags.Boolean) {
|
|
119
|
+
this.typeCache.set(signature, java_1.Type.Primitive.Boolean);
|
|
120
|
+
return java_1.Type.Primitive.Boolean;
|
|
121
|
+
}
|
|
106
122
|
// Get symbol for later use in type detection
|
|
107
123
|
const symbol = (_b = type.getSymbol) === null || _b === void 0 ? void 0 : _b.call(type);
|
|
108
124
|
// IMPORTANT: Check if this is a type reference to a parameterized type FIRST
|
|
@@ -215,8 +231,7 @@ class JavaScriptTypeMapping {
|
|
|
215
231
|
// so we can just process the resolved type normally (falling through to union handling below).
|
|
216
232
|
// Check for union types (e.g., string | number)
|
|
217
233
|
if (type.flags & typescript_1.default.TypeFlags.Union) {
|
|
218
|
-
|
|
219
|
-
return this.createUnionType(unionType, signature);
|
|
234
|
+
return this.createUnionType(type, signature);
|
|
220
235
|
}
|
|
221
236
|
// Check for intersection types (e.g., A & B)
|
|
222
237
|
if (type.flags & typescript_1.default.TypeFlags.Intersection) {
|
|
@@ -277,15 +292,207 @@ class JavaScriptTypeMapping {
|
|
|
277
292
|
return java_1.Type.isPrimitive(type) ? type : java_1.Type.Primitive.None;
|
|
278
293
|
}
|
|
279
294
|
variableType(node) {
|
|
295
|
+
let symbol;
|
|
296
|
+
let location = node;
|
|
297
|
+
// Get the symbol depending on node type
|
|
280
298
|
if (typescript_1.default.isVariableDeclaration(node)) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
299
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
300
|
+
}
|
|
301
|
+
else if (typescript_1.default.isParameter(node)) {
|
|
302
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
303
|
+
}
|
|
304
|
+
else if (typescript_1.default.isIdentifier(node)) {
|
|
305
|
+
// For identifier references (like 'vi' in 'vi.fn()')
|
|
306
|
+
symbol = this.checker.getSymbolAtLocation(node);
|
|
307
|
+
}
|
|
308
|
+
else if (typescript_1.default.isPropertyDeclaration(node) || typescript_1.default.isPropertySignature(node)) {
|
|
309
|
+
symbol = this.checker.getSymbolAtLocation(node.name);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
// Not a variable/parameter/property we can handle
|
|
313
|
+
return undefined;
|
|
314
|
+
}
|
|
315
|
+
if (!symbol) {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
// Get the variable declaration (resolve aliases if needed)
|
|
319
|
+
let actualSymbol = symbol;
|
|
320
|
+
if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
|
|
321
|
+
actualSymbol = this.checker.getAliasedSymbol(symbol);
|
|
322
|
+
}
|
|
323
|
+
// Check if this symbol represents a variable, parameter, or property
|
|
324
|
+
// Exclude functions, classes, interfaces, namespaces, type aliases
|
|
325
|
+
const isExcluded = actualSymbol.flags & (typescript_1.default.SymbolFlags.Function |
|
|
326
|
+
typescript_1.default.SymbolFlags.Class |
|
|
327
|
+
typescript_1.default.SymbolFlags.Interface |
|
|
328
|
+
typescript_1.default.SymbolFlags.Enum |
|
|
329
|
+
typescript_1.default.SymbolFlags.ValueModule |
|
|
330
|
+
typescript_1.default.SymbolFlags.NamespaceModule |
|
|
331
|
+
typescript_1.default.SymbolFlags.TypeAlias |
|
|
332
|
+
typescript_1.default.SymbolFlags.TypeParameter);
|
|
333
|
+
if (isExcluded) {
|
|
334
|
+
// Not a variable - it's a type, function, class, namespace, etc.
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
337
|
+
const isVariable = actualSymbol.flags & (typescript_1.default.SymbolFlags.Variable |
|
|
338
|
+
typescript_1.default.SymbolFlags.Property |
|
|
339
|
+
typescript_1.default.SymbolFlags.FunctionScopedVariable |
|
|
340
|
+
typescript_1.default.SymbolFlags.BlockScopedVariable);
|
|
341
|
+
if (!isVariable) {
|
|
342
|
+
// Not a variable we recognize
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
// Get the type of the variable
|
|
346
|
+
const variableType = this.checker.getTypeOfSymbolAtLocation(actualSymbol, location);
|
|
347
|
+
const mappedType = this.getType(variableType);
|
|
348
|
+
// Get the owner (declaring type) for the variable
|
|
349
|
+
let ownerType;
|
|
350
|
+
// Check if the variable is imported
|
|
351
|
+
if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
|
|
352
|
+
// For imported variables, find the module specifier
|
|
353
|
+
const declarations = symbol.declarations;
|
|
354
|
+
if (declarations && declarations.length > 0) {
|
|
355
|
+
let importNode = declarations[0];
|
|
356
|
+
// Traverse up to find the ImportDeclaration
|
|
357
|
+
while (importNode && !typescript_1.default.isImportDeclaration(importNode)) {
|
|
358
|
+
importNode = importNode.parent;
|
|
359
|
+
}
|
|
360
|
+
if (importNode && typescript_1.default.isImportDeclaration(importNode)) {
|
|
361
|
+
const importDecl = importNode;
|
|
362
|
+
if (typescript_1.default.isStringLiteral(importDecl.moduleSpecifier)) {
|
|
363
|
+
const moduleSpecifier = importDecl.moduleSpecifier.text;
|
|
364
|
+
// Create a Type.Class representing the module
|
|
365
|
+
ownerType = Object.assign(new NonDraftableType(), {
|
|
366
|
+
kind: java_1.Type.Kind.Class,
|
|
367
|
+
flags: 0,
|
|
368
|
+
classKind: java_1.Type.Class.Kind.Interface,
|
|
369
|
+
fullyQualifiedName: moduleSpecifier,
|
|
370
|
+
typeParameters: [],
|
|
371
|
+
annotations: [],
|
|
372
|
+
interfaces: [],
|
|
373
|
+
members: [],
|
|
374
|
+
methods: [],
|
|
375
|
+
toJSON: function () {
|
|
376
|
+
return java_1.Type.signature(this);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
// For non-imported variables, check if they belong to a class/interface/namespace
|
|
385
|
+
const parentSymbol = actualSymbol.parent;
|
|
386
|
+
if (parentSymbol) {
|
|
387
|
+
const parentType = this.checker.getDeclaredTypeOfSymbol(parentSymbol);
|
|
388
|
+
if (parentType) {
|
|
389
|
+
ownerType = this.getType(parentType);
|
|
390
|
+
// If the parent is a namespace, try to find the module it came from
|
|
391
|
+
// This handles cases like React.forwardRef where the namespace is React
|
|
392
|
+
// but the module is "react"
|
|
393
|
+
if (parentSymbol.flags & typescript_1.default.SymbolFlags.ValueModule ||
|
|
394
|
+
parentSymbol.flags & typescript_1.default.SymbolFlags.NamespaceModule) {
|
|
395
|
+
// Check if this namespace was imported
|
|
396
|
+
const parentDeclarations = parentSymbol.declarations;
|
|
397
|
+
if (parentDeclarations && parentDeclarations.length > 0) {
|
|
398
|
+
const firstDecl = parentDeclarations[0];
|
|
399
|
+
const sourceFile = firstDecl.getSourceFile();
|
|
400
|
+
// If it's from node_modules or a .d.ts file, try to extract the module name
|
|
401
|
+
if (sourceFile.isDeclarationFile) {
|
|
402
|
+
const fileName = sourceFile.fileName;
|
|
403
|
+
const moduleName = this.extractModuleNameFromPath(fileName);
|
|
404
|
+
if (moduleName) {
|
|
405
|
+
// Store the module as the owningClass for now
|
|
406
|
+
// (This is a bit of a hack, but works with the current type system)
|
|
407
|
+
if (java_1.Type.isClass(ownerType)) {
|
|
408
|
+
ownerType.owningClass = Object.assign(new NonDraftableType(), {
|
|
409
|
+
kind: java_1.Type.Kind.Class,
|
|
410
|
+
flags: 0,
|
|
411
|
+
classKind: java_1.Type.Class.Kind.Interface,
|
|
412
|
+
fullyQualifiedName: moduleName,
|
|
413
|
+
typeParameters: [],
|
|
414
|
+
annotations: [],
|
|
415
|
+
interfaces: [],
|
|
416
|
+
members: [],
|
|
417
|
+
methods: [],
|
|
418
|
+
toJSON: function () {
|
|
419
|
+
return java_1.Type.signature(this);
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
// Create the Type.Variable
|
|
431
|
+
const variable = Object.assign(new NonDraftableType(), {
|
|
432
|
+
kind: java_1.Type.Kind.Variable,
|
|
433
|
+
name: actualSymbol.getName(),
|
|
434
|
+
owner: ownerType,
|
|
435
|
+
type: mappedType,
|
|
436
|
+
annotations: [],
|
|
437
|
+
toJSON: function () {
|
|
438
|
+
return java_1.Type.signature(this);
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
return variable;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Extract the npm module name from a file path.
|
|
445
|
+
* Handles various package manager layouts:
|
|
446
|
+
* - Standard: /path/node_modules/react/index.d.ts -> react
|
|
447
|
+
* - Scoped: /path/node_modules/@types/react/index.d.ts -> react
|
|
448
|
+
* - Scoped with __ encoding: /path/node_modules/@types/testing-library__react/index.d.ts -> @testing-library/react
|
|
449
|
+
* - Nested node_modules: /path/node_modules/pkg/node_modules/dep/index.d.ts -> dep
|
|
450
|
+
* - pnpm: /path/node_modules/.pnpm/react@18.2.0/node_modules/react/index.d.ts -> react
|
|
451
|
+
*
|
|
452
|
+
* @returns The module name, or undefined if not from node_modules
|
|
453
|
+
*/
|
|
454
|
+
extractModuleNameFromPath(fileName) {
|
|
455
|
+
if (!fileName.includes('node_modules/')) {
|
|
456
|
+
return undefined;
|
|
457
|
+
}
|
|
458
|
+
// Find the last occurrence of node_modules/ to handle nested dependencies
|
|
459
|
+
// This also correctly handles pnpm's .pnpm structure
|
|
460
|
+
const lastNodeModulesIndex = fileName.lastIndexOf('node_modules/');
|
|
461
|
+
const afterNodeModules = fileName.substring(lastNodeModulesIndex + 'node_modules/'.length);
|
|
462
|
+
// Split by '/' to get path segments
|
|
463
|
+
const segments = afterNodeModules.split('/');
|
|
464
|
+
if (segments.length === 0) {
|
|
465
|
+
return undefined;
|
|
466
|
+
}
|
|
467
|
+
let moduleName;
|
|
468
|
+
// Handle scoped packages (@scope/package)
|
|
469
|
+
if (segments[0].startsWith('@') && segments.length > 1) {
|
|
470
|
+
moduleName = `${segments[0]}/${segments[1]}`;
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
moduleName = segments[0];
|
|
474
|
+
}
|
|
475
|
+
// Skip pnpm's .pnpm directory - it contains versioned package paths
|
|
476
|
+
// In pnpm, the actual package is in: .pnpm/pkg@version/node_modules/pkg
|
|
477
|
+
// So we already handled this by using lastIndexOf above
|
|
478
|
+
if (moduleName === '.pnpm') {
|
|
479
|
+
return undefined;
|
|
480
|
+
}
|
|
481
|
+
// Remove @types/ prefix and decode DefinitelyTyped scoped package encoding
|
|
482
|
+
// DefinitelyTyped encodes scoped packages using __ instead of /
|
|
483
|
+
// Example: @types/testing-library__react -> @testing-library/react
|
|
484
|
+
if (moduleName.startsWith('@types/')) {
|
|
485
|
+
moduleName = moduleName.substring('@types/'.length);
|
|
486
|
+
// Decode __ encoding for scoped packages
|
|
487
|
+
// testing-library__react -> @testing-library/react
|
|
488
|
+
if (moduleName.includes('__')) {
|
|
489
|
+
const parts = moduleName.split('__');
|
|
490
|
+
if (parts.length === 2) {
|
|
491
|
+
moduleName = `@${parts[0]}/${parts[1]}`;
|
|
492
|
+
}
|
|
286
493
|
}
|
|
287
494
|
}
|
|
288
|
-
return
|
|
495
|
+
return moduleName;
|
|
289
496
|
}
|
|
290
497
|
/**
|
|
291
498
|
* Helper to create a Type.Method object from common parameters
|