@rightcapital/phpdoc-parser 0.3.3-feature-add-basic-ci.7.0 → 0.3.3-feature-add-basic-ci.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/index.d.ts +73 -0
  2. package/dist/index.js +0 -1
  3. package/dist/phpdoc-parser/ast/abstract-node-visitor.d.ts +8 -0
  4. package/dist/phpdoc-parser/ast/abstract-node-visitor.js +18 -0
  5. package/dist/phpdoc-parser/ast/base-node.d.ts +10 -0
  6. package/dist/phpdoc-parser/ast/base-node.js +27 -0
  7. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.d.ts +8 -0
  8. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.js +21 -0
  9. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.d.ts +8 -0
  10. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.js +17 -0
  11. package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.d.ts +5 -0
  12. package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.js +13 -0
  13. package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.d.ts +7 -0
  14. package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.js +17 -0
  15. package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.d.ts +7 -0
  16. package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.js +17 -0
  17. package/dist/phpdoc-parser/ast/const-expr/const-expr-node.d.ts +25 -0
  18. package/dist/phpdoc-parser/ast/const-expr/const-expr-node.js +43 -0
  19. package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.d.ts +5 -0
  20. package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.js +13 -0
  21. package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.d.ts +7 -0
  22. package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.js +17 -0
  23. package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.d.ts +5 -0
  24. package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.js +13 -0
  25. package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.d.ts +8 -0
  26. package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.js +21 -0
  27. package/dist/phpdoc-parser/ast/const-expr/quote-aware-const-expr-string-node.d.ts +10 -0
  28. package/dist/phpdoc-parser/ast/const-expr/quote-aware-const-expr-string-node.js +47 -0
  29. package/dist/phpdoc-parser/ast/node-traverser.d.ts +11 -0
  30. package/dist/phpdoc-parser/ast/node-traverser.js +216 -0
  31. package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.d.ts +5 -0
  32. package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.js +14 -0
  33. package/dist/phpdoc-parser/ast/node-visitor.d.ts +11 -0
  34. package/dist/phpdoc-parser/ast/node-visitor.js +2 -0
  35. package/dist/phpdoc-parser/ast/node.d.ts +6 -0
  36. package/dist/phpdoc-parser/ast/node.js +2 -0
  37. package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.d.ts +13 -0
  38. package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.js +24 -0
  39. package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.d.ts +13 -0
  40. package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.js +24 -0
  41. package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.d.ts +12 -0
  42. package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.js +23 -0
  43. package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.d.ts +7 -0
  44. package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.js +17 -0
  45. package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.d.ts +9 -0
  46. package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.js +18 -0
  47. package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.d.ts +7 -0
  48. package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.js +17 -0
  49. package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.d.ts +9 -0
  50. package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.js +18 -0
  51. package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.d.ts +10 -0
  52. package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.js +33 -0
  53. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.d.ts +15 -0
  54. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.js +27 -0
  55. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.d.ts +13 -0
  56. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.js +27 -0
  57. package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.d.ts +9 -0
  58. package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.js +18 -0
  59. package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.d.ts +10 -0
  60. package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.js +19 -0
  61. package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.d.ts +12 -0
  62. package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.js +28 -0
  63. package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.d.ts +4 -0
  64. package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.js +10 -0
  65. package/dist/phpdoc-parser/ast/php-doc/php-doc-node.d.ts +32 -0
  66. package/dist/phpdoc-parser/ast/php-doc/php-doc-node.js +97 -0
  67. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.d.ts +56 -0
  68. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.js +90 -0
  69. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.d.ts +4 -0
  70. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.js +10 -0
  71. package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.d.ts +7 -0
  72. package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.js +17 -0
  73. package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.d.ts +10 -0
  74. package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.js +19 -0
  75. package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.d.ts +9 -0
  76. package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.js +18 -0
  77. package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.d.ts +9 -0
  78. package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.js +18 -0
  79. package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.d.ts +11 -0
  80. package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.js +24 -0
  81. package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.d.ts +9 -0
  82. package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.js +18 -0
  83. package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.d.ts +10 -0
  84. package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.js +22 -0
  85. package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.d.ts +9 -0
  86. package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.js +18 -0
  87. package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.d.ts +10 -0
  88. package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.js +22 -0
  89. package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.d.ts +9 -0
  90. package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.js +18 -0
  91. package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.d.ts +10 -0
  92. package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.js +19 -0
  93. package/dist/phpdoc-parser/ast/type/array-shape-item-node.d.ts +12 -0
  94. package/dist/phpdoc-parser/ast/type/array-shape-item-node.js +22 -0
  95. package/dist/phpdoc-parser/ast/type/array-shape-node.d.ts +14 -0
  96. package/dist/phpdoc-parser/ast/type/array-shape-node.js +31 -0
  97. package/dist/phpdoc-parser/ast/type/array-type-node.d.ts +7 -0
  98. package/dist/phpdoc-parser/ast/type/array-type-node.js +25 -0
  99. package/dist/phpdoc-parser/ast/type/callable-type-node.d.ts +11 -0
  100. package/dist/phpdoc-parser/ast/type/callable-type-node.js +24 -0
  101. package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.d.ts +11 -0
  102. package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.js +26 -0
  103. package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.d.ts +11 -0
  104. package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.js +21 -0
  105. package/dist/phpdoc-parser/ast/type/conditional-type-node.d.ts +11 -0
  106. package/dist/phpdoc-parser/ast/type/conditional-type-node.js +21 -0
  107. package/dist/phpdoc-parser/ast/type/const-type-node.d.ts +8 -0
  108. package/dist/phpdoc-parser/ast/type/const-type-node.js +17 -0
  109. package/dist/phpdoc-parser/ast/type/generic-type-node.d.ts +15 -0
  110. package/dist/phpdoc-parser/ast/type/generic-type-node.js +37 -0
  111. package/dist/phpdoc-parser/ast/type/identifier-type-node.d.ts +7 -0
  112. package/dist/phpdoc-parser/ast/type/identifier-type-node.js +17 -0
  113. package/dist/phpdoc-parser/ast/type/intersection-type-node.d.ts +7 -0
  114. package/dist/phpdoc-parser/ast/type/intersection-type-node.js +25 -0
  115. package/dist/phpdoc-parser/ast/type/invalid-type-node.d.ts +10 -0
  116. package/dist/phpdoc-parser/ast/type/invalid-type-node.js +29 -0
  117. package/dist/phpdoc-parser/ast/type/nullable-type-node.d.ts +7 -0
  118. package/dist/phpdoc-parser/ast/type/nullable-type-node.js +17 -0
  119. package/dist/phpdoc-parser/ast/type/object-shape-item-node.d.ts +11 -0
  120. package/dist/phpdoc-parser/ast/type/object-shape-item-node.js +22 -0
  121. package/dist/phpdoc-parser/ast/type/object-shape-node.d.ts +8 -0
  122. package/dist/phpdoc-parser/ast/type/object-shape-node.js +17 -0
  123. package/dist/phpdoc-parser/ast/type/offset-access-type-node.d.ts +8 -0
  124. package/dist/phpdoc-parser/ast/type/offset-access-type-node.js +26 -0
  125. package/dist/phpdoc-parser/ast/type/this-type-node.d.ts +5 -0
  126. package/dist/phpdoc-parser/ast/type/this-type-node.js +13 -0
  127. package/dist/phpdoc-parser/ast/type/type-node.d.ts +40 -0
  128. package/dist/phpdoc-parser/ast/type/type-node.js +64 -0
  129. package/dist/phpdoc-parser/ast/type/union-type-node.d.ts +7 -0
  130. package/dist/phpdoc-parser/ast/type/union-type-node.js +25 -0
  131. package/dist/phpdoc-parser/ast/types.d.ts +13 -0
  132. package/dist/phpdoc-parser/ast/types.js +18 -0
  133. package/dist/phpdoc-parser/lexer/lexer.d.ts +46 -0
  134. package/dist/phpdoc-parser/lexer/lexer.js +143 -0
  135. package/dist/phpdoc-parser/parser/const-expr-parser.d.ts +16 -0
  136. package/dist/phpdoc-parser/parser/const-expr-parser.js +146 -0
  137. package/dist/phpdoc-parser/parser/node-collecting-visitor.d.ts +7 -0
  138. package/dist/phpdoc-parser/parser/node-collecting-visitor.js +15 -0
  139. package/dist/phpdoc-parser/parser/parser-exception.d.ts +16 -0
  140. package/dist/phpdoc-parser/parser/parser-exception.js +44 -0
  141. package/dist/phpdoc-parser/parser/php-doc-parser.d.ts +47 -0
  142. package/dist/phpdoc-parser/parser/php-doc-parser.js +558 -0
  143. package/dist/phpdoc-parser/parser/string-unescaper.d.ts +6 -0
  144. package/dist/phpdoc-parser/parser/string-unescaper.js +41 -0
  145. package/dist/phpdoc-parser/parser/token-iterator.d.ts +40 -0
  146. package/dist/phpdoc-parser/parser/token-iterator.js +215 -0
  147. package/dist/phpdoc-parser/parser/type-parser.d.ts +41 -0
  148. package/dist/phpdoc-parser/parser/type-parser.js +576 -0
  149. package/dist/phpdoc-parser/printer/diff-elem.d.ts +12 -0
  150. package/dist/phpdoc-parser/printer/diff-elem.js +19 -0
  151. package/dist/phpdoc-parser/printer/differ.d.ts +10 -0
  152. package/dist/phpdoc-parser/printer/differ.js +111 -0
  153. package/dist/phpdoc-parser/printer/printer.d.ts +20 -0
  154. package/dist/phpdoc-parser/printer/printer.js +612 -0
  155. package/package.json +2 -2
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Differ = void 0;
4
+ const diff_elem_1 = require("./diff-elem");
5
+ class Differ {
6
+ constructor(isEqual) {
7
+ this.isEqual = isEqual;
8
+ }
9
+ diff(old, newElements) {
10
+ const [trace, x, y] = this.calculateTrace(old, newElements);
11
+ return this.extractDiff(trace, x, y, old, newElements);
12
+ }
13
+ diffWithReplacements(old, newElements) {
14
+ return this.coalesceReplacements(this.diff(old, newElements));
15
+ }
16
+ calculateTrace(old, newElements) {
17
+ const n = old.length;
18
+ const m = newElements.length;
19
+ const max = n + m;
20
+ const v = { 1: 0 };
21
+ const trace = [];
22
+ for (let d = 0; d <= max; d++) {
23
+ trace.push(Object.assign({}, v));
24
+ for (let k = -d; k <= d; k += 2) {
25
+ let x;
26
+ if (k === -d || (k !== d && v[k - 1] < v[k + 1])) {
27
+ x = v[k + 1];
28
+ }
29
+ else {
30
+ x = v[k - 1] + 1;
31
+ }
32
+ let y = x - k;
33
+ while (x < n && y < m && this.isEqual(old[x], newElements[y])) {
34
+ x++;
35
+ y++;
36
+ }
37
+ v[k] = x;
38
+ if (x >= n && y >= m) {
39
+ return [trace, x, y];
40
+ }
41
+ }
42
+ }
43
+ throw new Error('Should not happen');
44
+ }
45
+ extractDiff(trace, x, y, old, newElements) {
46
+ const result = [];
47
+ for (let d = trace.length - 1; d >= 0; d--) {
48
+ const v = trace[d];
49
+ const k = x - y;
50
+ let prevK;
51
+ if (k === -d || (k !== d && v[k - 1] < v[k + 1])) {
52
+ prevK = k + 1;
53
+ }
54
+ else {
55
+ prevK = k - 1;
56
+ }
57
+ const prevX = v[prevK];
58
+ const prevY = prevX - prevK;
59
+ while (x > prevX && y > prevY) {
60
+ result.push(new diff_elem_1.DiffElem(diff_elem_1.DiffElemType.KEEP, old[x - 1], newElements[y - 1]));
61
+ x--;
62
+ y--;
63
+ }
64
+ if (d === 0) {
65
+ break;
66
+ }
67
+ while (x > prevX) {
68
+ result.push(new diff_elem_1.DiffElem(diff_elem_1.DiffElemType.REMOVE, old[x - 1], null));
69
+ x--;
70
+ }
71
+ while (y > prevY) {
72
+ result.push(new diff_elem_1.DiffElem(diff_elem_1.DiffElemType.ADD, null, newElements[y - 1]));
73
+ y--;
74
+ }
75
+ }
76
+ return result.reverse();
77
+ }
78
+ coalesceReplacements(diff) {
79
+ const newDiff = [];
80
+ const c = diff.length;
81
+ for (let i = 0; i < c; i++) {
82
+ const diffType = diff[i].type;
83
+ if (diffType !== diff_elem_1.DiffElemType.REMOVE) {
84
+ newDiff.push(diff[i]);
85
+ continue;
86
+ }
87
+ let j = i;
88
+ while (j < c && diff[j].type === diff_elem_1.DiffElemType.REMOVE) {
89
+ j++;
90
+ }
91
+ let k = j;
92
+ while (k < c && diff[k].type === diff_elem_1.DiffElemType.ADD) {
93
+ k++;
94
+ }
95
+ if (j - i === k - j) {
96
+ const len = j - i;
97
+ for (let n = 0; n < len; n++) {
98
+ newDiff.push(new diff_elem_1.DiffElem(diff_elem_1.DiffElemType.REPLACE, diff[i + n].old, diff[j + n].new));
99
+ }
100
+ }
101
+ else {
102
+ for (; i < k; i++) {
103
+ newDiff.push(diff[i]);
104
+ }
105
+ }
106
+ i = k - 1;
107
+ }
108
+ return newDiff;
109
+ }
110
+ }
111
+ exports.Differ = Differ;
@@ -0,0 +1,20 @@
1
+ import { BaseNode } from '../ast/base-node';
2
+ import { PhpDocNode } from '../ast/php-doc/php-doc-node';
3
+ import { TokenIterator } from '../parser/token-iterator';
4
+ export declare class Printer {
5
+ private differ;
6
+ private listInsertionMap;
7
+ private emptyListInsertionMap;
8
+ private parenthesesMap;
9
+ private parenthesesListMap;
10
+ printFormatPreserving(node: PhpDocNode, originalNode: PhpDocNode, originalTokens: TokenIterator): string;
11
+ print(node: BaseNode): string;
12
+ private printTagValue;
13
+ private printType;
14
+ private wrapInParentheses;
15
+ private printOffsetAccessType;
16
+ private printConstExpr;
17
+ private printArrayFormatPreserving;
18
+ private isMultiline;
19
+ private printNodeFormatPreserving;
20
+ }