@rightcapital/phpdoc-parser 0.6.2-renovate-lock-file-maintenance.2572.1.0 → 0.6.2
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/package.json +5 -4
- package/dist/index.d.ts +0 -85
- package/dist/index.js +0 -182
- package/dist/phpdoc-parser/ast/abstract-node-visitor.d.ts +0 -8
- package/dist/phpdoc-parser/ast/abstract-node-visitor.js +0 -18
- package/dist/phpdoc-parser/ast/base-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/base-node.js +0 -27
- package/dist/phpdoc-parser/ast/comment.d.ts +0 -7
- package/dist/phpdoc-parser/ast/comment.js +0 -14
- package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.js +0 -21
- package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.js +0 -17
- package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.d.ts +0 -5
- package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.js +0 -13
- package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.js +0 -17
- package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.js +0 -17
- package/dist/phpdoc-parser/ast/const-expr/const-expr-node.d.ts +0 -23
- package/dist/phpdoc-parser/ast/const-expr/const-expr-node.js +0 -40
- package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.d.ts +0 -5
- package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.js +0 -13
- package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.d.ts +0 -11
- package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.js +0 -48
- package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.d.ts +0 -5
- package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.js +0 -13
- package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.js +0 -21
- package/dist/phpdoc-parser/ast/node-traverser.d.ts +0 -11
- package/dist/phpdoc-parser/ast/node-traverser.js +0 -216
- package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.d.ts +0 -5
- package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.js +0 -14
- package/dist/phpdoc-parser/ast/node-visitor.d.ts +0 -11
- package/dist/phpdoc-parser/ast/node-visitor.js +0 -2
- package/dist/phpdoc-parser/ast/node.d.ts +0 -6
- package/dist/phpdoc-parser/ast/node.js +0 -2
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.d.ts +0 -13
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.js +0 -24
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.d.ts +0 -13
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.js +0 -24
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.d.ts +0 -12
- package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.js +0 -23
- package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.js +0 -17
- package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.js +0 -17
- package/dist/phpdoc-parser/ast/php-doc/helpers.d.ts +0 -48
- package/dist/phpdoc-parser/ast/php-doc/helpers.js +0 -99
- package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.js +0 -33
- package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.d.ts +0 -15
- package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.js +0 -27
- package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.d.ts +0 -13
- package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.js +0 -27
- package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/param-closure-this-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/param-closure-this-tag-value-node.js +0 -19
- package/dist/phpdoc-parser/ast/php-doc/param-immediately-invoked-callable-tag-value-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/php-doc/param-immediately-invoked-callable-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/param-later-invoked-callable-tag-value-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/php-doc/param-later-invoked-callable-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.js +0 -19
- package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.d.ts +0 -12
- package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.js +0 -28
- package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.d.ts +0 -4
- package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.js +0 -10
- package/dist/phpdoc-parser/ast/php-doc/php-doc-node.d.ts +0 -36
- package/dist/phpdoc-parser/ast/php-doc/php-doc-node.js +0 -111
- package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.d.ts +0 -4
- package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.js +0 -10
- package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.js +0 -17
- package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.js +0 -19
- package/dist/phpdoc-parser/ast/php-doc/pure-unless-callable-is-impure-tag-value-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/php-doc/pure-unless-callable-is-impure-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/require-extends-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/require-extends-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/require-implements-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/require-implements-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/sealed-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/sealed-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.d.ts +0 -12
- package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.js +0 -26
- package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.js +0 -22
- package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.js +0 -22
- package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.d.ts +0 -9
- package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.js +0 -18
- package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.js +0 -19
- package/dist/phpdoc-parser/ast/type/array-shape-item-node.d.ts +0 -13
- package/dist/phpdoc-parser/ast/type/array-shape-item-node.js +0 -22
- package/dist/phpdoc-parser/ast/type/array-shape-node.d.ts +0 -20
- package/dist/phpdoc-parser/ast/type/array-shape-node.js +0 -41
- package/dist/phpdoc-parser/ast/type/array-shape-unsealed-type-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/type/array-shape-unsealed-type-node.js +0 -21
- package/dist/phpdoc-parser/ast/type/array-type-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/type/array-type-node.js +0 -25
- package/dist/phpdoc-parser/ast/type/callable-type-node.d.ts +0 -13
- package/dist/phpdoc-parser/ast/type/callable-type-node.js +0 -26
- package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.d.ts +0 -11
- package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.js +0 -26
- package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.d.ts +0 -11
- package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.js +0 -21
- package/dist/phpdoc-parser/ast/type/conditional-type-node.d.ts +0 -11
- package/dist/phpdoc-parser/ast/type/conditional-type-node.js +0 -21
- package/dist/phpdoc-parser/ast/type/const-type-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/type/const-type-node.js +0 -17
- package/dist/phpdoc-parser/ast/type/generic-type-node.d.ts +0 -15
- package/dist/phpdoc-parser/ast/type/generic-type-node.js +0 -37
- package/dist/phpdoc-parser/ast/type/identifier-type-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/type/identifier-type-node.js +0 -17
- package/dist/phpdoc-parser/ast/type/intersection-type-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/type/intersection-type-node.js +0 -25
- package/dist/phpdoc-parser/ast/type/invalid-type-node.d.ts +0 -10
- package/dist/phpdoc-parser/ast/type/invalid-type-node.js +0 -29
- package/dist/phpdoc-parser/ast/type/nullable-type-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/type/nullable-type-node.js +0 -17
- package/dist/phpdoc-parser/ast/type/object-shape-item-node.d.ts +0 -11
- package/dist/phpdoc-parser/ast/type/object-shape-item-node.js +0 -22
- package/dist/phpdoc-parser/ast/type/object-shape-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/type/object-shape-node.js +0 -17
- package/dist/phpdoc-parser/ast/type/offset-access-type-node.d.ts +0 -8
- package/dist/phpdoc-parser/ast/type/offset-access-type-node.js +0 -26
- package/dist/phpdoc-parser/ast/type/this-type-node.d.ts +0 -5
- package/dist/phpdoc-parser/ast/type/this-type-node.js +0 -13
- package/dist/phpdoc-parser/ast/type/type-node.d.ts +0 -40
- package/dist/phpdoc-parser/ast/type/type-node.js +0 -64
- package/dist/phpdoc-parser/ast/type/union-type-node.d.ts +0 -7
- package/dist/phpdoc-parser/ast/type/union-type-node.js +0 -25
- package/dist/phpdoc-parser/ast/types.d.ts +0 -14
- package/dist/phpdoc-parser/ast/types.js +0 -19
- package/dist/phpdoc-parser/lexer/lexer.d.ts +0 -82
- package/dist/phpdoc-parser/lexer/lexer.js +0 -146
- package/dist/phpdoc-parser/parser/const-expr-parser.d.ts +0 -14
- package/dist/phpdoc-parser/parser/const-expr-parser.js +0 -132
- package/dist/phpdoc-parser/parser/node-collecting-visitor.d.ts +0 -7
- package/dist/phpdoc-parser/parser/node-collecting-visitor.js +0 -15
- package/dist/phpdoc-parser/parser/parser-exception.d.ts +0 -16
- package/dist/phpdoc-parser/parser/parser-exception.js +0 -44
- package/dist/phpdoc-parser/parser/php-doc-parser.d.ts +0 -49
- package/dist/phpdoc-parser/parser/php-doc-parser.js +0 -604
- package/dist/phpdoc-parser/parser/string-unescaper.d.ts +0 -6
- package/dist/phpdoc-parser/parser/string-unescaper.js +0 -41
- package/dist/phpdoc-parser/parser/token-iterator.d.ts +0 -44
- package/dist/phpdoc-parser/parser/token-iterator.js +0 -243
- package/dist/phpdoc-parser/parser/type-parser.d.ts +0 -47
- package/dist/phpdoc-parser/parser/type-parser.js +0 -706
- package/dist/phpdoc-parser/parser-config.d.ts +0 -10
- package/dist/phpdoc-parser/parser-config.js +0 -12
- package/dist/phpdoc-parser/printer/diff-elem.d.ts +0 -12
- package/dist/phpdoc-parser/printer/diff-elem.js +0 -19
- package/dist/phpdoc-parser/printer/differ.d.ts +0 -10
- package/dist/phpdoc-parser/printer/differ.js +0 -111
- package/dist/phpdoc-parser/printer/printer.d.ts +0 -20
- package/dist/phpdoc-parser/printer/printer.js +0 -612
- package/dist/phpdoc-parser/transpiler/helpers.d.ts +0 -10
- package/dist/phpdoc-parser/transpiler/helpers.js +0 -73
- package/dist/phpdoc-parser/transpiler/php-doc-to-typescript-type-transpiler.d.ts +0 -26
- package/dist/phpdoc-parser/transpiler/php-doc-to-typescript-type-transpiler.js +0 -122
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConstExprNullNode = void 0;
|
|
4
|
-
const const_expr_node_1 = require("./const-expr-node");
|
|
5
|
-
class ConstExprNullNode extends const_expr_node_1.ConstExprNode {
|
|
6
|
-
toString() {
|
|
7
|
-
return 'null';
|
|
8
|
-
}
|
|
9
|
-
getNodeType() {
|
|
10
|
-
return 'ConstExprNullNode';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ConstExprNullNode = ConstExprNullNode;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ConstExprNode } from './const-expr-node';
|
|
2
|
-
export declare class ConstExprStringNode extends ConstExprNode {
|
|
3
|
-
value: string;
|
|
4
|
-
quoteType: number;
|
|
5
|
-
static readonly SINGLE_QUOTED = 1;
|
|
6
|
-
static readonly DOUBLE_QUOTED = 2;
|
|
7
|
-
constructor(value: string, quoteType: number);
|
|
8
|
-
toString(): string;
|
|
9
|
-
private escapeDoubleQuotedString;
|
|
10
|
-
getNodeType(): string;
|
|
11
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConstExprStringNode = void 0;
|
|
4
|
-
const const_expr_node_1 = require("./const-expr-node");
|
|
5
|
-
class ConstExprStringNode extends const_expr_node_1.ConstExprNode {
|
|
6
|
-
constructor(value, quoteType) {
|
|
7
|
-
super();
|
|
8
|
-
this.value = value;
|
|
9
|
-
this.quoteType = quoteType;
|
|
10
|
-
}
|
|
11
|
-
toString() {
|
|
12
|
-
if (this.quoteType === ConstExprStringNode.SINGLE_QUOTED) {
|
|
13
|
-
return `'${this.value.replace(/[\\']/g, '\\$&')}'`;
|
|
14
|
-
}
|
|
15
|
-
return `"${this.escapeDoubleQuotedString()}"`;
|
|
16
|
-
}
|
|
17
|
-
escapeDoubleQuotedString() {
|
|
18
|
-
let escaped = this.value.replace(/["\n\r\t\x0B\f\v\\$]/g, '\\$&');
|
|
19
|
-
const regexes = [
|
|
20
|
-
/[\x00-\x08\x0E-\x1F]/g,
|
|
21
|
-
/[\xC0-\xC1]/g,
|
|
22
|
-
/[\xF5-\xFF]/g,
|
|
23
|
-
/\xE0[\x80-\x9F]/g,
|
|
24
|
-
/\xF0[\x80-\x8F]/g,
|
|
25
|
-
/[\xC2-\xDF](?![\x80-\xBF])/g,
|
|
26
|
-
/[\xE0-\xEF](?![\x80-\xBF]{2})/g,
|
|
27
|
-
/[\xF0-\xF4](?![\x80-\xBF]{3})/g,
|
|
28
|
-
/(?<=[\x00-\x7F\xF5-\xFF])[\x80-\xBF]/g,
|
|
29
|
-
/(?<![\xC2-\xDF]|[\xE0-\xEF]|[\xE0-\xEF][\x80-\xBF]|[\xF0-\xF4]|[\xF0-\xF4][\x80-\xBF]|[\xF0-\xF4][\x80-\xBF]{2})[\x80-\xBF]/g,
|
|
30
|
-
/(?<=[\xE0-\xEF])[\x80-\xBF](?![\x80-\xBF])/g,
|
|
31
|
-
/(?<=[\xF0-\xF4])[\x80-\xBF](?![\x80-\xBF]{2})/g,
|
|
32
|
-
/(?<=[\xF0-\xF4][\x80-\xBF])[\x80-\xBF](?![\x80-\xBF])/g,
|
|
33
|
-
];
|
|
34
|
-
for (const regex of regexes) {
|
|
35
|
-
escaped = escaped.replace(regex, (match) => {
|
|
36
|
-
const hex = match.charCodeAt(0).toString(16);
|
|
37
|
-
return `\\x${'0'.repeat(2 - hex.length) + hex}`;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return escaped;
|
|
41
|
-
}
|
|
42
|
-
getNodeType() {
|
|
43
|
-
return 'ConstExprStringNode';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.ConstExprStringNode = ConstExprStringNode;
|
|
47
|
-
ConstExprStringNode.SINGLE_QUOTED = 1;
|
|
48
|
-
ConstExprStringNode.DOUBLE_QUOTED = 2;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConstExprTrueNode = void 0;
|
|
4
|
-
const const_expr_node_1 = require("./const-expr-node");
|
|
5
|
-
class ConstExprTrueNode extends const_expr_node_1.ConstExprNode {
|
|
6
|
-
toString() {
|
|
7
|
-
return 'true';
|
|
8
|
-
}
|
|
9
|
-
getNodeType() {
|
|
10
|
-
return 'ConstExprTrueNode';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ConstExprTrueNode = ConstExprTrueNode;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConstFetchNode = void 0;
|
|
4
|
-
const const_expr_node_1 = require("./const-expr-node");
|
|
5
|
-
class ConstFetchNode extends const_expr_node_1.ConstExprNode {
|
|
6
|
-
constructor(className, name) {
|
|
7
|
-
super();
|
|
8
|
-
this.className = className;
|
|
9
|
-
this.name = name;
|
|
10
|
-
}
|
|
11
|
-
toString() {
|
|
12
|
-
if (this.className === '') {
|
|
13
|
-
return this.name;
|
|
14
|
-
}
|
|
15
|
-
return `${this.className}::${this.name}`;
|
|
16
|
-
}
|
|
17
|
-
getNodeType() {
|
|
18
|
-
return 'ConstFetchNode';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.ConstFetchNode = ConstFetchNode;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Node } from './node';
|
|
2
|
-
import type { NodeVisitor } from './node-visitor';
|
|
3
|
-
export declare class NodeTraverser {
|
|
4
|
-
private visitors;
|
|
5
|
-
private stopTraversal;
|
|
6
|
-
constructor(visitors: NodeVisitor[]);
|
|
7
|
-
traverse(nodes: Node[]): Node[];
|
|
8
|
-
private traverseNode;
|
|
9
|
-
private traverseArray;
|
|
10
|
-
private ensureReplacementReasonable;
|
|
11
|
-
}
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeTraverser = void 0;
|
|
4
|
-
const base_node_1 = require("./base-node");
|
|
5
|
-
const const_expr_node_1 = require("./const-expr/const-expr-node");
|
|
6
|
-
const php_doc_child_node_1 = require("./php-doc/php-doc-child-node");
|
|
7
|
-
const php_doc_tag_value_node_1 = require("./php-doc/php-doc-tag-value-node");
|
|
8
|
-
const type_node_1 = require("./type/type-node");
|
|
9
|
-
class NodeTraverser {
|
|
10
|
-
constructor(visitors) {
|
|
11
|
-
this.visitors = visitors;
|
|
12
|
-
}
|
|
13
|
-
traverse(nodes) {
|
|
14
|
-
this.stopTraversal = false;
|
|
15
|
-
for (const visitor of this.visitors) {
|
|
16
|
-
const returned = visitor.beforeTraverse(nodes);
|
|
17
|
-
if (returned !== null) {
|
|
18
|
-
nodes = returned;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
nodes = this.traverseArray(nodes);
|
|
22
|
-
for (const visitor of this.visitors) {
|
|
23
|
-
const returned = visitor.afterTraverse(nodes);
|
|
24
|
-
if (returned !== null) {
|
|
25
|
-
nodes = returned;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return nodes;
|
|
29
|
-
}
|
|
30
|
-
traverseNode(node) {
|
|
31
|
-
const subNodeNames = Object.keys(node);
|
|
32
|
-
for (const name of subNodeNames) {
|
|
33
|
-
if (name === 'attributes') {
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
let subNode = node[name];
|
|
37
|
-
if (Array.isArray(subNode)) {
|
|
38
|
-
subNode = this.traverseArray(subNode);
|
|
39
|
-
if (this.stopTraversal) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else if (subNode instanceof base_node_1.BaseNode) {
|
|
44
|
-
let traverseChildren = true;
|
|
45
|
-
let breakVisitorIndex = null;
|
|
46
|
-
for (let visitorIndex = 0; visitorIndex < this.visitors.length; ++visitorIndex) {
|
|
47
|
-
const visitor = this.visitors[visitorIndex];
|
|
48
|
-
const enterNodeResult = visitor.enterNode(subNode);
|
|
49
|
-
if (enterNodeResult === null) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
switch (enterNodeResult) {
|
|
53
|
-
case 1:
|
|
54
|
-
traverseChildren = false;
|
|
55
|
-
break;
|
|
56
|
-
case 4:
|
|
57
|
-
traverseChildren = false;
|
|
58
|
-
breakVisitorIndex = visitorIndex;
|
|
59
|
-
break;
|
|
60
|
-
case 2:
|
|
61
|
-
this.stopTraversal = true;
|
|
62
|
-
break;
|
|
63
|
-
default:
|
|
64
|
-
if (enterNodeResult instanceof base_node_1.BaseNode) {
|
|
65
|
-
this.ensureReplacementReasonable(subNode, enterNodeResult);
|
|
66
|
-
subNode = enterNodeResult;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
throw new Error(`enterNode() returned invalid value of type ${typeof enterNodeResult}: value=${JSON.stringify(enterNodeResult, undefined, 2)}`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (this.stopTraversal) {
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (traverseChildren) {
|
|
77
|
-
subNode = this.traverseNode(subNode);
|
|
78
|
-
if (this.stopTraversal) {
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
for (let visitorIndex = 0; visitorIndex < this.visitors.length; ++visitorIndex) {
|
|
83
|
-
const visitor = this.visitors[visitorIndex];
|
|
84
|
-
const leaveNodeResult = visitor.leaveNode(subNode);
|
|
85
|
-
if (leaveNodeResult != null) {
|
|
86
|
-
if (leaveNodeResult instanceof base_node_1.BaseNode) {
|
|
87
|
-
this.ensureReplacementReasonable(subNode, leaveNodeResult);
|
|
88
|
-
subNode = leaveNodeResult;
|
|
89
|
-
}
|
|
90
|
-
else if (leaveNodeResult === 2) {
|
|
91
|
-
this.stopTraversal = true;
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
else if (Array.isArray(leaveNodeResult)) {
|
|
95
|
-
throw new Error('leaveNode() may only return an array ' +
|
|
96
|
-
'if the parent structure is an array');
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
throw new Error(`leaveNode() returned invalid value of type ${typeof leaveNodeResult}`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (breakVisitorIndex === visitorIndex) {
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
node[name] = subNode;
|
|
108
|
-
}
|
|
109
|
-
return node;
|
|
110
|
-
}
|
|
111
|
-
traverseArray(nodes) {
|
|
112
|
-
const doNodes = [];
|
|
113
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
114
|
-
let node = nodes[i];
|
|
115
|
-
if (node instanceof base_node_1.BaseNode) {
|
|
116
|
-
let traverseChildren = true;
|
|
117
|
-
let breakVisitorIndex = null;
|
|
118
|
-
for (let visitorIndex = 0; visitorIndex < this.visitors.length; visitorIndex++) {
|
|
119
|
-
const visitor = this.visitors[visitorIndex];
|
|
120
|
-
const returnVal = visitor.enterNode(node);
|
|
121
|
-
if (returnVal === null) {
|
|
122
|
-
continue;
|
|
123
|
-
}
|
|
124
|
-
if (returnVal instanceof base_node_1.BaseNode) {
|
|
125
|
-
this.ensureReplacementReasonable(node, returnVal);
|
|
126
|
-
node = returnVal;
|
|
127
|
-
}
|
|
128
|
-
else if (Array.isArray(returnVal)) {
|
|
129
|
-
doNodes.push([i, returnVal]);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
else if (returnVal === 3) {
|
|
133
|
-
doNodes.push([i, []]);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
else if (returnVal === 1) {
|
|
137
|
-
traverseChildren = false;
|
|
138
|
-
}
|
|
139
|
-
else if (returnVal === 4) {
|
|
140
|
-
traverseChildren = false;
|
|
141
|
-
breakVisitorIndex = visitorIndex;
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
else if (returnVal === 2) {
|
|
145
|
-
this.stopTraversal = true;
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
throw new Error(`enterNode returned invalid value of type ${typeof returnVal}`);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (traverseChildren) {
|
|
153
|
-
node = this.traverseNode(node);
|
|
154
|
-
if (this.stopTraversal) {
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
for (let visitorIndex = 0; visitorIndex < this.visitors.length; visitorIndex++) {
|
|
159
|
-
const visitor = this.visitors[visitorIndex];
|
|
160
|
-
const returnVal = visitor.leaveNode(node);
|
|
161
|
-
if (returnVal !== null) {
|
|
162
|
-
if (returnVal instanceof base_node_1.BaseNode) {
|
|
163
|
-
this.ensureReplacementReasonable(node, returnVal);
|
|
164
|
-
node = returnVal;
|
|
165
|
-
}
|
|
166
|
-
else if (Array.isArray(returnVal)) {
|
|
167
|
-
doNodes.push([i, returnVal]);
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
else if (returnVal === 3) {
|
|
171
|
-
doNodes.push([i, []]);
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
else if (returnVal === 2) {
|
|
175
|
-
this.stopTraversal = true;
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
throw new Error(`leaveNode returned invalid value of type ${typeof returnVal}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (breakVisitorIndex === visitorIndex) {
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else if (Array.isArray(node)) {
|
|
188
|
-
throw new Error('Invalid node structure: Contains nested arrays');
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (doNodes.length > 0) {
|
|
192
|
-
while (doNodes.length > 0) {
|
|
193
|
-
const [i, replace] = doNodes.pop();
|
|
194
|
-
nodes = [...nodes.slice(0, i), ...replace, ...nodes.slice(i + 1)];
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
return nodes;
|
|
198
|
-
}
|
|
199
|
-
ensureReplacementReasonable(old, newNode) {
|
|
200
|
-
if (old instanceof type_node_1.TypeNode && !(newNode instanceof type_node_1.TypeNode)) {
|
|
201
|
-
throw new Error(`Trying to replace TypeNode with ${newNode.constructor.name}`);
|
|
202
|
-
}
|
|
203
|
-
if (old instanceof const_expr_node_1.ConstExprNode && !(newNode instanceof const_expr_node_1.ConstExprNode)) {
|
|
204
|
-
throw new Error(`Trying to replace ConstExprNode with ${newNode.constructor.name}`);
|
|
205
|
-
}
|
|
206
|
-
if (old instanceof php_doc_child_node_1.PhpDocChildNode &&
|
|
207
|
-
!(newNode instanceof php_doc_child_node_1.PhpDocChildNode)) {
|
|
208
|
-
throw new Error(`Trying to replace PhpDocChildNode with ${newNode.constructor.name}`);
|
|
209
|
-
}
|
|
210
|
-
if (old instanceof php_doc_tag_value_node_1.PhpDocTagValueNode &&
|
|
211
|
-
!(newNode instanceof php_doc_tag_value_node_1.PhpDocTagValueNode)) {
|
|
212
|
-
throw new Error(`Trying to replace PhpDocTagValueNode with ${newNode.constructor.name}`);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
exports.NodeTraverser = NodeTraverser;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CloningVisitor = void 0;
|
|
4
|
-
const lodash_1 = require("lodash");
|
|
5
|
-
const abstract_node_visitor_1 = require("../abstract-node-visitor");
|
|
6
|
-
const types_1 = require("../types");
|
|
7
|
-
class CloningVisitor extends abstract_node_visitor_1.AbstractNodeVisitor {
|
|
8
|
-
enterNode(originalNode) {
|
|
9
|
-
const node = (0, lodash_1.cloneDeep)(originalNode);
|
|
10
|
-
node.setAttribute(types_1.Attribute.ORIGINAL_NODE, originalNode);
|
|
11
|
-
return node;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.CloningVisitor = CloningVisitor;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Node } from './node';
|
|
2
|
-
import type { NodeTraverserState } from './types';
|
|
3
|
-
export type NodeTraverserEnterReturn = Node | Node[] | null | NodeTraverserState;
|
|
4
|
-
export type NodeTraverserLeaveReturn = Node | Node[] | null | NodeTraverserState.REMOVE_NODE | NodeTraverserState.STOP_TRAVERSAL;
|
|
5
|
-
export type NodeTraverserBeforeAfterReturn = Node[] | null;
|
|
6
|
-
export interface NodeVisitor {
|
|
7
|
-
beforeTraverse(nodes: Node[]): NodeTraverserBeforeAfterReturn;
|
|
8
|
-
enterNode(node: Node): NodeTraverserEnterReturn;
|
|
9
|
-
leaveNode(node: Node): NodeTraverserLeaveReturn;
|
|
10
|
-
afterTraverse(nodes: Node[]): NodeTraverserBeforeAfterReturn;
|
|
11
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TypeNode } from '../type/type-node';
|
|
2
|
-
import { PhpDocTagValueNode } from './php-doc-tag-value-node';
|
|
3
|
-
export declare class AssertTagMethodValueNode extends PhpDocTagValueNode {
|
|
4
|
-
type: TypeNode;
|
|
5
|
-
parameter: string;
|
|
6
|
-
method: string;
|
|
7
|
-
isNegated: boolean;
|
|
8
|
-
description: string;
|
|
9
|
-
isEquality: boolean;
|
|
10
|
-
constructor(type: TypeNode, parameter: string, method: string, isNegated: boolean, description: string, isEquality?: boolean);
|
|
11
|
-
toString(): string;
|
|
12
|
-
getNodeType(): string;
|
|
13
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AssertTagMethodValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class AssertTagMethodValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(type, parameter, method, isNegated, description, isEquality = false) {
|
|
7
|
-
super();
|
|
8
|
-
this.type = type;
|
|
9
|
-
this.parameter = parameter;
|
|
10
|
-
this.method = method;
|
|
11
|
-
this.isNegated = isNegated;
|
|
12
|
-
this.description = description;
|
|
13
|
-
this.isEquality = isEquality;
|
|
14
|
-
}
|
|
15
|
-
toString() {
|
|
16
|
-
const isNegated = this.isNegated ? '!' : '';
|
|
17
|
-
const isEquality = this.isEquality ? '=' : '';
|
|
18
|
-
return `${isNegated}${isEquality}${this.type.toString()} ${this.parameter}->${this.method}() ${this.description}`.trim();
|
|
19
|
-
}
|
|
20
|
-
getNodeType() {
|
|
21
|
-
return 'AssertTagMethodValueNode';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.AssertTagMethodValueNode = AssertTagMethodValueNode;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TypeNode } from '../type/type-node';
|
|
2
|
-
import { PhpDocTagValueNode } from './php-doc-tag-value-node';
|
|
3
|
-
export declare class AssertTagPropertyValueNode extends PhpDocTagValueNode {
|
|
4
|
-
type: TypeNode;
|
|
5
|
-
parameter: string;
|
|
6
|
-
property: string;
|
|
7
|
-
isNegated: boolean;
|
|
8
|
-
description: string;
|
|
9
|
-
isEquality: boolean;
|
|
10
|
-
constructor(type: TypeNode, parameter: string, property: string, isNegated: boolean, description: string, isEquality?: boolean);
|
|
11
|
-
toString(): string;
|
|
12
|
-
getNodeType(): string;
|
|
13
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AssertTagPropertyValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class AssertTagPropertyValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(type, parameter, property, isNegated, description, isEquality = false) {
|
|
7
|
-
super();
|
|
8
|
-
this.type = type;
|
|
9
|
-
this.parameter = parameter;
|
|
10
|
-
this.property = property;
|
|
11
|
-
this.isNegated = isNegated;
|
|
12
|
-
this.description = description;
|
|
13
|
-
this.isEquality = isEquality;
|
|
14
|
-
}
|
|
15
|
-
toString() {
|
|
16
|
-
const isNegated = this.isNegated ? '!' : '';
|
|
17
|
-
const isEquality = this.isEquality ? '=' : '';
|
|
18
|
-
return `${isNegated}${isEquality}${this.type.toString()} ${this.parameter}->${this.property} ${this.description}`.trim();
|
|
19
|
-
}
|
|
20
|
-
getNodeType() {
|
|
21
|
-
return 'AssertTagPropertyValueNode';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.AssertTagPropertyValueNode = AssertTagPropertyValueNode;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { TypeNode } from '../type/type-node';
|
|
2
|
-
import { PhpDocTagValueNode } from './php-doc-tag-value-node';
|
|
3
|
-
export declare class AssertTagValueNode extends PhpDocTagValueNode {
|
|
4
|
-
type: TypeNode;
|
|
5
|
-
parameter: string;
|
|
6
|
-
isNegated: boolean;
|
|
7
|
-
isEquality: boolean;
|
|
8
|
-
description: string;
|
|
9
|
-
constructor(type: TypeNode, parameter: string, isNegated: boolean, description: string, isEquality?: boolean);
|
|
10
|
-
toString(): string;
|
|
11
|
-
getNodeType(): string;
|
|
12
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AssertTagValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class AssertTagValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(type, parameter, isNegated, description, isEquality = false) {
|
|
7
|
-
super();
|
|
8
|
-
this.type = type;
|
|
9
|
-
this.parameter = parameter;
|
|
10
|
-
this.isNegated = isNegated;
|
|
11
|
-
this.isEquality = isEquality;
|
|
12
|
-
this.description = description;
|
|
13
|
-
}
|
|
14
|
-
toString() {
|
|
15
|
-
const isNegated = this.isNegated ? '!' : '';
|
|
16
|
-
const isEquality = this.isEquality ? '=' : '';
|
|
17
|
-
return `${isNegated}${isEquality}${this.type.toString()} ${this.parameter} ${this.description}`.trim();
|
|
18
|
-
}
|
|
19
|
-
getNodeType() {
|
|
20
|
-
return 'AssertTagValueNode';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.AssertTagValueNode = AssertTagValueNode;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeprecatedTagValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class DeprecatedTagValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(description) {
|
|
7
|
-
super();
|
|
8
|
-
this.description = description;
|
|
9
|
-
}
|
|
10
|
-
toString() {
|
|
11
|
-
return this.description.trim();
|
|
12
|
-
}
|
|
13
|
-
getNodeType() {
|
|
14
|
-
return 'DeprecatedTagValueNode';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.DeprecatedTagValueNode = DeprecatedTagValueNode;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { GenericTypeNode } from '../type/generic-type-node';
|
|
2
|
-
import { PhpDocTagValueNode } from './php-doc-tag-value-node';
|
|
3
|
-
export declare class ExtendsTagValueNode extends PhpDocTagValueNode {
|
|
4
|
-
type: GenericTypeNode;
|
|
5
|
-
description: string;
|
|
6
|
-
constructor(type: GenericTypeNode, description?: string);
|
|
7
|
-
toString(): string;
|
|
8
|
-
getNodeType(): string;
|
|
9
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtendsTagValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class ExtendsTagValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(type, description = '') {
|
|
7
|
-
super();
|
|
8
|
-
this.type = type;
|
|
9
|
-
this.description = description;
|
|
10
|
-
}
|
|
11
|
-
toString() {
|
|
12
|
-
return `${this.type.toString()} ${this.description}`.trim();
|
|
13
|
-
}
|
|
14
|
-
getNodeType() {
|
|
15
|
-
return 'ExtendsTagValueNode';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.ExtendsTagValueNode = ExtendsTagValueNode;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GenericTagValueNode = void 0;
|
|
4
|
-
const php_doc_tag_value_node_1 = require("./php-doc-tag-value-node");
|
|
5
|
-
class GenericTagValueNode extends php_doc_tag_value_node_1.PhpDocTagValueNode {
|
|
6
|
-
constructor(value) {
|
|
7
|
-
super();
|
|
8
|
-
this.value = value;
|
|
9
|
-
}
|
|
10
|
-
toString() {
|
|
11
|
-
return this.value;
|
|
12
|
-
}
|
|
13
|
-
getNodeType() {
|
|
14
|
-
return 'GenericTagValueNode';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.GenericTagValueNode = GenericTagValueNode;
|