hldesigner 0.0.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/FileSaver.min-b57403e6.js +103 -0
- package/_commonjsHelpers-e7ea1525.js +36 -0
- package/_plugin-vue_export-helper-dad06003.js +9 -0
- package/affix-widget-94198099.js +38 -0
- package/anchor-link-widget-919ac0ee.js +5 -0
- package/anchor-link-widget.vue_vue_type_script_setup_true_name_anchor-link-widget_lang-7df7e7c1.js +35 -0
- package/anchor-widget-77003871.js +57 -0
- package/auto-complete-widget-8d76ea70.js +74 -0
- package/avatar-widget-3cd63f01.js +38 -0
- package/backtop-widget-6fc3db98.js +38 -0
- package/badge-widget-f36a769c.js +44 -0
- package/baseImp-8c4be88e.js +11050 -0
- package/breadcrumb-widget-422a9d28.js +79 -0
- package/button-widget-918dde3f.js +48 -0
- package/cache-widget-a1637f5f.js +53 -0
- package/card-widget-2db8e9d4.js +112 -0
- package/carousel-widget-838cc8c9.js +75 -0
- package/cascader-widget-42482528.js +97 -0
- package/chart-widget-ac07a466.js +44285 -0
- package/checkbox-widget-ee1fcb0c.js +79 -0
- package/clipboard-fc4d858d.js +497 -0
- package/code-cf4fbc89.js +82 -0
- package/collapse-widget-1a93bdb5.js +89 -0
- package/color-picker-widget-e893711a.js +56 -0
- package/common-editor-76ac2e32.js +24 -0
- package/common-editor.vue_vue_type_script_setup_true_name_common-editor_lang-634a504e.js +25 -0
- package/configItem-6bfa74e0.js +113 -0
- package/cont-cell-widget-42f96421.js +8 -0
- package/cont-cell-widget.vue_vue_type_script_setup_true_name_cont-cell-widget_lang-d3be593a.js +59 -0
- package/cont-widget-9dda9135.js +42 -0
- package/content-wrapper-20c559ac.js +14 -0
- package/content-wrapper.vue_vue_type_script_setup_true_lang-4a97c453.js +37 -0
- package/customClass-editor-9088a8cf.js +43 -0
- package/date-picker-range-widget-b9287f93.js +72 -0
- package/date-picker-widget-21595fd5.js +78 -0
- package/default-slot-widget-fc87ed0a.js +24 -0
- package/default-slot-widget.vue_vue_type_script_setup_true_name_default-slot-widget_lang-0fb8e1cc.js +59 -0
- package/descriptions-widget-33a02f1a.js +83 -0
- package/designer.es.js +42 -0
- package/designer.style.css +11 -0
- package/designer.umd.js +161882 -0
- package/dialog-5e196819.js +124 -0
- package/dialog-widget-22714c34.js +33 -0
- package/divider-widget-adf656f2.js +38 -0
- package/drag-wrapper-f9fb1533.js +259 -0
- package/drawer-widget-404cb6db.js +33 -0
- package/dropdown-widget-a4a1e2f7.js +92 -0
- package/editor-wrapper-e6b30023.js +779 -0
- package/emitter-2b9b9409.js +53 -0
- package/empty-widget-c53b07dd.js +64 -0
- package/enum-type-255ade69.js +543 -0
- package/enum-type-287a50b6.js +2054 -0
- package/expression-ea95606e.js +2181 -0
- package/feedback-widget-c041b474.js +26 -0
- package/feedback-widget.vue_vue_type_script_setup_true_name_feedback-widget_lang-efe168a5.js +82 -0
- package/field-base-5547436d.js +7 -0
- package/field-editor-3e1ce4f3.js +69 -0
- package/file-upload-widget-941b9493.js +98 -0
- package/form-item-wrapper-8039c512.js +113 -0
- package/form-widget-98a02c28.js +184 -0
- package/grid-col-widget-3ea371ea.js +8 -0
- package/grid-col-widget.vue_vue_type_script_setup_true_name_grid-col-widget_lang-f40c8e16.js +41 -0
- package/grid-widget-f0635d43.js +43 -0
- package/html-text-widget-c440e86d.js +50 -0
- package/icon-2bb9fa65.js +129 -0
- package/iframe-widget-37ef665f.js +77 -0
- package/image-widget-871d5987.js +64 -0
- package/import-config-1eb9a66b.js +13156 -0
- package/index-0a2f2997.js +225 -0
- package/index-12505eec.js +42 -0
- package/index-18720c06.js +138 -0
- package/index-188b745d.js +132 -0
- package/index-28f32a55.js +216 -0
- package/index-2936e7cf.js +3265 -0
- package/index-2d29f8d3.js +7233 -0
- package/index-3d5d5fac.js +23 -0
- package/index-50c3e002.js +227 -0
- package/index-6a276ef7.js +131 -0
- package/index-6d56f058.js +45 -0
- package/index-7b38fd82.js +330 -0
- package/index-7c2a8e33.js +17993 -0
- package/index-7fa591e3.js +4817 -0
- package/index-82f2c56a.js +135 -0
- package/index-8713c192.js +344 -0
- package/index-8d537d38.js +2393 -0
- package/index-9fd4a537.js +99 -0
- package/index-ad538d7e.js +832 -0
- package/index-c1b1f59f.js +88 -0
- package/index-d6fa09d6.js +39 -0
- package/index-db2305dc.js +117 -0
- package/index-ddd23411.js +4884 -0
- package/index-e795786b.js +119 -0
- package/index-f146282d.js +1356 -0
- package/index-f849ef29.js +216 -0
- package/index-ffbcbc43.js +65 -0
- package/input-number-widget-64f89b9d.js +66 -0
- package/input-widget-0fe7c3d7.js +71 -0
- package/install-designer-bed2e18a.js +4752 -0
- package/item-4be3cb5b.js +34 -0
- package/item-ddbdee11.js +24 -0
- package/itemDetail-b31192a5.js +43 -0
- package/label-wrapper-91b95fb0.js +12 -0
- package/label-wrapper.vue_vue_type_style_index_0_lang-0a7f6bdd.js +80 -0
- package/link-widget-0f2bb61c.js +56 -0
- package/ltable-col-widget-9f26b93d.js +8 -0
- package/ltable-col-widget.vue_vue_type_script_setup_true_name_ltable-col-widget_lang-639ee976.js +256 -0
- package/ltable-widget-b78a72ee.js +69 -0
- package/menu-widget-15fdd710.js +96 -0
- package/model-widget-3f2b1368.js +122 -0
- package/multirow-e1e1205c.js +292 -0
- package/multirow-widget copy-671ebd9c.js +858 -0
- package/multirow-widget-d256cac6.js +694 -0
- package/name-editor-05685151.js +104 -0
- package/optionItem-0ac4a3ae.js +4667 -0
- package/package.json +13 -0
- package/pagination-widget-31a7301d.js +81 -0
- package/picture-upload-widget-46ea42a0.js +102 -0
- package/postcss-2c4d92ea.js +2285 -0
- package/progress-widget-fc1f9557.js +52 -0
- package/property-base-e63e2f28.js +78 -0
- package/propresult-8fdf23e2.js +22 -0
- package/radio-widget-fbc63c11.js +79 -0
- package/range-widget-b0882319.js +74 -0
- package/rate-widget-9719ca7d.js +56 -0
- package/reg-editor.vue_vue_type_script_setup_true_lang-56504fb0.js +61 -0
- package/result-widget-925a5426.js +67 -0
- package/rich-editor-widget-426f0b19.js +77 -0
- package/router-widget-209f0eb1.js +54 -0
- package/schemaData-ab87bd49.js +333 -0
- package/select-widget-0b560a2f.js +288 -0
- package/setView-de8aaf40.js +84 -0
- package/sfc-10e3d29c.js +2570 -0
- package/share-editor-27d43940.js +448 -0
- package/share-event-dd8ff2ba.js +26 -0
- package/share-field-451430de.js +690 -0
- package/share-file-124a4d83.js +121 -0
- package/size-editor-ea05760c.js +92 -0
- package/slider-widget-fb4efa96.js +62 -0
- package/slot-04a83a27.js +17 -0
- package/static-text-widget-2efdd909.js +51 -0
- package/steps-widget-6f283f21.js +91 -0
- package/subMenu-widget-77e295cb.js +16 -0
- package/subMenu-widget.vue_vue_type_script_setup_true_lang-b051a10e.js +69 -0
- package/switch-widget-f1120b6c.js +56 -0
- package/tab-pane-widget-99c21615.js +8 -0
- package/tab-pane-widget.vue_vue_type_script_setup_true_name_tab-pane-widget_lang-bc962788.js +35 -0
- package/table-col-widget-d6d5d21f.js +23 -0
- package/table-col-widget.vue_vue_type_script_setup_true_name_table-col-widget_lang-2efa4d60.js +80 -0
- package/table-widget-9b8d9798.js +163 -0
- package/tabs-widget-88393072.js +68 -0
- package/tag-widget-33c17c06.js +38 -0
- package/target-code-48e9d055.js +33 -0
- package/target-datasource-35dfcb1d.js +221 -0
- package/target-link-3ffd0149.js +126 -0
- package/target-saveForm-012b7de1.js +136 -0
- package/target-widget-3d7f6104.js +59 -0
- package/target-window-7556d301.js +54 -0
- package/template-c30585f4.js +251740 -0
- package/text-widget-8b5ece83.js +38 -0
- package/textarea-widget-e7c1d9ed.js +56 -0
- package/time-picker-range-widget-b8dfcc3b.js +58 -0
- package/time-picker-widget-73bde0a3.js +57 -0
- package/time-select-widget-08008b76.js +57 -0
- package/tmpl-widget-7d245d41.js +92 -0
- package/tooltip-wrapper-2922e49e.js +31 -0
- package/tree-select-widget-67231123.js +94 -0
- package/tree-widget-ab91165f.js +90 -0
- package/uuid-39f0308a.js +196 -0
- package/value-editor-27783d6c.js +89 -0
- package/vue3-sfc-loader-b70bdce4.js +34688 -0
- package/widget-base-4c2d6265.js +27 -0
- package/widget-wrapper.vue_vue_type_script_setup_true_name_form-item-wrapper_lang-bbe0cabe.js +277 -0
- package/wrapper-widget-5702502d.js +78 -0
|
@@ -0,0 +1,4817 @@
|
|
|
1
|
+
import { c as pt } from "./_commonjsHelpers-e7ea1525.js";
|
|
2
|
+
import { j as je } from "./baseImp-8c4be88e.js";
|
|
3
|
+
var We = {}, ir = {
|
|
4
|
+
get exports() {
|
|
5
|
+
return We;
|
|
6
|
+
},
|
|
7
|
+
set exports(r) {
|
|
8
|
+
We = r;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
/*! jsonpath 1.1.1 */
|
|
12
|
+
(function(r, i) {
|
|
13
|
+
(function(n) {
|
|
14
|
+
r.exports = n();
|
|
15
|
+
})(function() {
|
|
16
|
+
return function n(o, h, s) {
|
|
17
|
+
function c(C, m) {
|
|
18
|
+
if (!h[C]) {
|
|
19
|
+
if (!o[C]) {
|
|
20
|
+
var p = typeof je == "function" && je;
|
|
21
|
+
if (!m && p)
|
|
22
|
+
return p(C, !0);
|
|
23
|
+
if (x)
|
|
24
|
+
return x(C, !0);
|
|
25
|
+
var y = new Error("Cannot find module '" + C + "'");
|
|
26
|
+
throw y.code = "MODULE_NOT_FOUND", y;
|
|
27
|
+
}
|
|
28
|
+
var F = h[C] = { exports: {} };
|
|
29
|
+
o[C][0].call(F.exports, function(d) {
|
|
30
|
+
var E = o[C][1][d];
|
|
31
|
+
return c(E || d);
|
|
32
|
+
}, F, F.exports, n, o, h, s);
|
|
33
|
+
}
|
|
34
|
+
return h[C].exports;
|
|
35
|
+
}
|
|
36
|
+
for (var x = typeof je == "function" && je, v = 0; v < s.length; v++)
|
|
37
|
+
c(s[v]);
|
|
38
|
+
return c;
|
|
39
|
+
}({ "./aesprim": [function(n, o, h) {
|
|
40
|
+
(function(s, c) {
|
|
41
|
+
c(typeof h < "u" ? h : s.esprima = {});
|
|
42
|
+
})(this, function(s) {
|
|
43
|
+
var c, x, v, C, m, p, y, F, d, E, u, S, B, D, a, f, b, g;
|
|
44
|
+
c = {
|
|
45
|
+
BooleanLiteral: 1,
|
|
46
|
+
EOF: 2,
|
|
47
|
+
Identifier: 3,
|
|
48
|
+
Keyword: 4,
|
|
49
|
+
NullLiteral: 5,
|
|
50
|
+
NumericLiteral: 6,
|
|
51
|
+
Punctuator: 7,
|
|
52
|
+
StringLiteral: 8,
|
|
53
|
+
RegularExpression: 9
|
|
54
|
+
}, x = {}, x[c.BooleanLiteral] = "Boolean", x[c.EOF] = "<end>", x[c.Identifier] = "Identifier", x[c.Keyword] = "Keyword", x[c.NullLiteral] = "Null", x[c.NumericLiteral] = "Numeric", x[c.Punctuator] = "Punctuator", x[c.StringLiteral] = "String", x[c.RegularExpression] = "RegularExpression", v = [
|
|
55
|
+
"(",
|
|
56
|
+
"{",
|
|
57
|
+
"[",
|
|
58
|
+
"in",
|
|
59
|
+
"typeof",
|
|
60
|
+
"instanceof",
|
|
61
|
+
"new",
|
|
62
|
+
"return",
|
|
63
|
+
"case",
|
|
64
|
+
"delete",
|
|
65
|
+
"throw",
|
|
66
|
+
"void",
|
|
67
|
+
// assignment operators
|
|
68
|
+
"=",
|
|
69
|
+
"+=",
|
|
70
|
+
"-=",
|
|
71
|
+
"*=",
|
|
72
|
+
"/=",
|
|
73
|
+
"%=",
|
|
74
|
+
"<<=",
|
|
75
|
+
">>=",
|
|
76
|
+
">>>=",
|
|
77
|
+
"&=",
|
|
78
|
+
"|=",
|
|
79
|
+
"^=",
|
|
80
|
+
",",
|
|
81
|
+
// binary/unary operators
|
|
82
|
+
"+",
|
|
83
|
+
"-",
|
|
84
|
+
"*",
|
|
85
|
+
"/",
|
|
86
|
+
"%",
|
|
87
|
+
"++",
|
|
88
|
+
"--",
|
|
89
|
+
"<<",
|
|
90
|
+
">>",
|
|
91
|
+
">>>",
|
|
92
|
+
"&",
|
|
93
|
+
"|",
|
|
94
|
+
"^",
|
|
95
|
+
"!",
|
|
96
|
+
"~",
|
|
97
|
+
"&&",
|
|
98
|
+
"||",
|
|
99
|
+
"?",
|
|
100
|
+
":",
|
|
101
|
+
"===",
|
|
102
|
+
"==",
|
|
103
|
+
">=",
|
|
104
|
+
"<=",
|
|
105
|
+
"<",
|
|
106
|
+
">",
|
|
107
|
+
"!=",
|
|
108
|
+
"!=="
|
|
109
|
+
], C = {
|
|
110
|
+
AssignmentExpression: "AssignmentExpression",
|
|
111
|
+
ArrayExpression: "ArrayExpression",
|
|
112
|
+
BlockStatement: "BlockStatement",
|
|
113
|
+
BinaryExpression: "BinaryExpression",
|
|
114
|
+
BreakStatement: "BreakStatement",
|
|
115
|
+
CallExpression: "CallExpression",
|
|
116
|
+
CatchClause: "CatchClause",
|
|
117
|
+
ConditionalExpression: "ConditionalExpression",
|
|
118
|
+
ContinueStatement: "ContinueStatement",
|
|
119
|
+
DoWhileStatement: "DoWhileStatement",
|
|
120
|
+
DebuggerStatement: "DebuggerStatement",
|
|
121
|
+
EmptyStatement: "EmptyStatement",
|
|
122
|
+
ExpressionStatement: "ExpressionStatement",
|
|
123
|
+
ForStatement: "ForStatement",
|
|
124
|
+
ForInStatement: "ForInStatement",
|
|
125
|
+
FunctionDeclaration: "FunctionDeclaration",
|
|
126
|
+
FunctionExpression: "FunctionExpression",
|
|
127
|
+
Identifier: "Identifier",
|
|
128
|
+
IfStatement: "IfStatement",
|
|
129
|
+
Literal: "Literal",
|
|
130
|
+
LabeledStatement: "LabeledStatement",
|
|
131
|
+
LogicalExpression: "LogicalExpression",
|
|
132
|
+
MemberExpression: "MemberExpression",
|
|
133
|
+
NewExpression: "NewExpression",
|
|
134
|
+
ObjectExpression: "ObjectExpression",
|
|
135
|
+
Program: "Program",
|
|
136
|
+
Property: "Property",
|
|
137
|
+
ReturnStatement: "ReturnStatement",
|
|
138
|
+
SequenceExpression: "SequenceExpression",
|
|
139
|
+
SwitchStatement: "SwitchStatement",
|
|
140
|
+
SwitchCase: "SwitchCase",
|
|
141
|
+
ThisExpression: "ThisExpression",
|
|
142
|
+
ThrowStatement: "ThrowStatement",
|
|
143
|
+
TryStatement: "TryStatement",
|
|
144
|
+
UnaryExpression: "UnaryExpression",
|
|
145
|
+
UpdateExpression: "UpdateExpression",
|
|
146
|
+
VariableDeclaration: "VariableDeclaration",
|
|
147
|
+
VariableDeclarator: "VariableDeclarator",
|
|
148
|
+
WhileStatement: "WhileStatement",
|
|
149
|
+
WithStatement: "WithStatement"
|
|
150
|
+
}, m = {
|
|
151
|
+
Data: 1,
|
|
152
|
+
Get: 2,
|
|
153
|
+
Set: 4
|
|
154
|
+
}, p = {
|
|
155
|
+
UnexpectedToken: "Unexpected token %0",
|
|
156
|
+
UnexpectedNumber: "Unexpected number",
|
|
157
|
+
UnexpectedString: "Unexpected string",
|
|
158
|
+
UnexpectedIdentifier: "Unexpected identifier",
|
|
159
|
+
UnexpectedReserved: "Unexpected reserved word",
|
|
160
|
+
UnexpectedEOS: "Unexpected end of input",
|
|
161
|
+
NewlineAfterThrow: "Illegal newline after throw",
|
|
162
|
+
InvalidRegExp: "Invalid regular expression",
|
|
163
|
+
UnterminatedRegExp: "Invalid regular expression: missing /",
|
|
164
|
+
InvalidLHSInAssignment: "Invalid left-hand side in assignment",
|
|
165
|
+
InvalidLHSInForIn: "Invalid left-hand side in for-in",
|
|
166
|
+
MultipleDefaultsInSwitch: "More than one default clause in switch statement",
|
|
167
|
+
NoCatchOrFinally: "Missing catch or finally after try",
|
|
168
|
+
UnknownLabel: "Undefined label '%0'",
|
|
169
|
+
Redeclaration: "%0 '%1' has already been declared",
|
|
170
|
+
IllegalContinue: "Illegal continue statement",
|
|
171
|
+
IllegalBreak: "Illegal break statement",
|
|
172
|
+
IllegalReturn: "Illegal return statement",
|
|
173
|
+
StrictModeWith: "Strict mode code may not include a with statement",
|
|
174
|
+
StrictCatchVariable: "Catch variable may not be eval or arguments in strict mode",
|
|
175
|
+
StrictVarName: "Variable name may not be eval or arguments in strict mode",
|
|
176
|
+
StrictParamName: "Parameter name eval or arguments is not allowed in strict mode",
|
|
177
|
+
StrictParamDupe: "Strict mode function may not have duplicate parameter names",
|
|
178
|
+
StrictFunctionName: "Function name may not be eval or arguments in strict mode",
|
|
179
|
+
StrictOctalLiteral: "Octal literals are not allowed in strict mode.",
|
|
180
|
+
StrictDelete: "Delete of an unqualified identifier in strict mode.",
|
|
181
|
+
StrictDuplicateProperty: "Duplicate data property in object literal not allowed in strict mode",
|
|
182
|
+
AccessorDataProperty: "Object literal may not have data and accessor property with the same name",
|
|
183
|
+
AccessorGetSet: "Object literal may not have multiple get/set accessors with the same name",
|
|
184
|
+
StrictLHSAssignment: "Assignment to eval or arguments is not allowed in strict mode",
|
|
185
|
+
StrictLHSPostfix: "Postfix increment/decrement may not have eval or arguments operand in strict mode",
|
|
186
|
+
StrictLHSPrefix: "Prefix increment/decrement may not have eval or arguments operand in strict mode",
|
|
187
|
+
StrictReservedWord: "Use of future reserved word in strict mode"
|
|
188
|
+
}, y = {
|
|
189
|
+
NonAsciiIdentifierStart: new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),
|
|
190
|
+
NonAsciiIdentifierPart: new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")
|
|
191
|
+
};
|
|
192
|
+
function I(e, t) {
|
|
193
|
+
if (!e)
|
|
194
|
+
throw new Error("ASSERT: " + t);
|
|
195
|
+
}
|
|
196
|
+
function M(e) {
|
|
197
|
+
return e >= 48 && e <= 57;
|
|
198
|
+
}
|
|
199
|
+
function z(e) {
|
|
200
|
+
return "0123456789abcdefABCDEF".indexOf(e) >= 0;
|
|
201
|
+
}
|
|
202
|
+
function T(e) {
|
|
203
|
+
return "01234567".indexOf(e) >= 0;
|
|
204
|
+
}
|
|
205
|
+
function N(e) {
|
|
206
|
+
return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e >= 5760 && [5760, 6158, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(e) >= 0;
|
|
207
|
+
}
|
|
208
|
+
function U(e) {
|
|
209
|
+
return e === 10 || e === 13 || e === 8232 || e === 8233;
|
|
210
|
+
}
|
|
211
|
+
function q(e) {
|
|
212
|
+
return e == 64 || e === 36 || e === 95 || e >= 65 && e <= 90 || e >= 97 && e <= 122 || e === 92 || e >= 128 && y.NonAsciiIdentifierStart.test(String.fromCharCode(e));
|
|
213
|
+
}
|
|
214
|
+
function V(e) {
|
|
215
|
+
return e === 36 || e === 95 || e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 48 && e <= 57 || e === 92 || e >= 128 && y.NonAsciiIdentifierPart.test(String.fromCharCode(e));
|
|
216
|
+
}
|
|
217
|
+
function fe(e) {
|
|
218
|
+
switch (e) {
|
|
219
|
+
case "class":
|
|
220
|
+
case "enum":
|
|
221
|
+
case "export":
|
|
222
|
+
case "extends":
|
|
223
|
+
case "import":
|
|
224
|
+
case "super":
|
|
225
|
+
return !0;
|
|
226
|
+
default:
|
|
227
|
+
return !1;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
function re(e) {
|
|
231
|
+
switch (e) {
|
|
232
|
+
case "implements":
|
|
233
|
+
case "interface":
|
|
234
|
+
case "package":
|
|
235
|
+
case "private":
|
|
236
|
+
case "protected":
|
|
237
|
+
case "public":
|
|
238
|
+
case "static":
|
|
239
|
+
case "yield":
|
|
240
|
+
case "let":
|
|
241
|
+
return !0;
|
|
242
|
+
default:
|
|
243
|
+
return !1;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function ee(e) {
|
|
247
|
+
return e === "eval" || e === "arguments";
|
|
248
|
+
}
|
|
249
|
+
function pe(e) {
|
|
250
|
+
if (E && re(e))
|
|
251
|
+
return !0;
|
|
252
|
+
switch (e.length) {
|
|
253
|
+
case 2:
|
|
254
|
+
return e === "if" || e === "in" || e === "do";
|
|
255
|
+
case 3:
|
|
256
|
+
return e === "var" || e === "for" || e === "new" || e === "try" || e === "let";
|
|
257
|
+
case 4:
|
|
258
|
+
return e === "this" || e === "else" || e === "case" || e === "void" || e === "with" || e === "enum";
|
|
259
|
+
case 5:
|
|
260
|
+
return e === "while" || e === "break" || e === "catch" || e === "throw" || e === "const" || e === "yield" || e === "class" || e === "super";
|
|
261
|
+
case 6:
|
|
262
|
+
return e === "return" || e === "typeof" || e === "delete" || e === "switch" || e === "export" || e === "import";
|
|
263
|
+
case 7:
|
|
264
|
+
return e === "default" || e === "finally" || e === "extends";
|
|
265
|
+
case 8:
|
|
266
|
+
return e === "function" || e === "continue" || e === "debugger";
|
|
267
|
+
case 10:
|
|
268
|
+
return e === "instanceof";
|
|
269
|
+
default:
|
|
270
|
+
return !1;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
function ce(e, t, l, A, k) {
|
|
274
|
+
var O;
|
|
275
|
+
I(typeof l == "number", "Comment must have valid position"), !(b.lastCommentStart >= l) && (b.lastCommentStart = l, O = {
|
|
276
|
+
type: e,
|
|
277
|
+
value: t
|
|
278
|
+
}, g.range && (O.range = [l, A]), g.loc && (O.loc = k), g.comments.push(O), g.attachComment && (g.leadingComments.push(O), g.trailingComments.push(O)));
|
|
279
|
+
}
|
|
280
|
+
function he(e) {
|
|
281
|
+
var t, l, A, k;
|
|
282
|
+
for (t = u - e, l = {
|
|
283
|
+
start: {
|
|
284
|
+
line: S,
|
|
285
|
+
column: u - B - e
|
|
286
|
+
}
|
|
287
|
+
}; u < D; )
|
|
288
|
+
if (A = d.charCodeAt(u), ++u, U(A)) {
|
|
289
|
+
g.comments && (k = d.slice(t + e, u - 1), l.end = {
|
|
290
|
+
line: S,
|
|
291
|
+
column: u - B - 1
|
|
292
|
+
}, ce("Line", k, t, u - 1, l)), A === 13 && d.charCodeAt(u) === 10 && ++u, ++S, B = u;
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
g.comments && (k = d.slice(t + e, u), l.end = {
|
|
296
|
+
line: S,
|
|
297
|
+
column: u - B
|
|
298
|
+
}, ce("Line", k, t, u, l));
|
|
299
|
+
}
|
|
300
|
+
function Ne() {
|
|
301
|
+
var e, t, l, A;
|
|
302
|
+
for (g.comments && (e = u - 2, t = {
|
|
303
|
+
start: {
|
|
304
|
+
line: S,
|
|
305
|
+
column: u - B - 2
|
|
306
|
+
}
|
|
307
|
+
}); u < D; )
|
|
308
|
+
if (l = d.charCodeAt(u), U(l))
|
|
309
|
+
l === 13 && d.charCodeAt(u + 1) === 10 && ++u, ++S, ++u, B = u, u >= D && $({}, p.UnexpectedToken, "ILLEGAL");
|
|
310
|
+
else if (l === 42) {
|
|
311
|
+
if (d.charCodeAt(u + 1) === 47) {
|
|
312
|
+
++u, ++u, g.comments && (A = d.slice(e + 2, u - 2), t.end = {
|
|
313
|
+
line: S,
|
|
314
|
+
column: u - B
|
|
315
|
+
}, ce("Block", A, e, u, t));
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
++u;
|
|
319
|
+
} else
|
|
320
|
+
++u;
|
|
321
|
+
$({}, p.UnexpectedToken, "ILLEGAL");
|
|
322
|
+
}
|
|
323
|
+
function _() {
|
|
324
|
+
var e, t;
|
|
325
|
+
for (t = u === 0; u < D; )
|
|
326
|
+
if (e = d.charCodeAt(u), N(e))
|
|
327
|
+
++u;
|
|
328
|
+
else if (U(e))
|
|
329
|
+
++u, e === 13 && d.charCodeAt(u) === 10 && ++u, ++S, B = u, t = !0;
|
|
330
|
+
else if (e === 47)
|
|
331
|
+
if (e = d.charCodeAt(u + 1), e === 47)
|
|
332
|
+
++u, ++u, he(2), t = !0;
|
|
333
|
+
else if (e === 42)
|
|
334
|
+
++u, ++u, Ne();
|
|
335
|
+
else
|
|
336
|
+
break;
|
|
337
|
+
else if (t && e === 45)
|
|
338
|
+
if (d.charCodeAt(u + 1) === 45 && d.charCodeAt(u + 2) === 62)
|
|
339
|
+
u += 3, he(3);
|
|
340
|
+
else
|
|
341
|
+
break;
|
|
342
|
+
else if (e === 60)
|
|
343
|
+
if (d.slice(u + 1, u + 4) === "!--")
|
|
344
|
+
++u, ++u, ++u, ++u, he(4);
|
|
345
|
+
else
|
|
346
|
+
break;
|
|
347
|
+
else
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
function w(e) {
|
|
351
|
+
var t, l, A, k = 0;
|
|
352
|
+
for (l = e === "u" ? 4 : 2, t = 0; t < l; ++t)
|
|
353
|
+
if (u < D && z(d[u]))
|
|
354
|
+
A = d[u++], k = k * 16 + "0123456789abcdef".indexOf(A.toLowerCase());
|
|
355
|
+
else
|
|
356
|
+
return "";
|
|
357
|
+
return String.fromCharCode(k);
|
|
358
|
+
}
|
|
359
|
+
function P() {
|
|
360
|
+
var e, t;
|
|
361
|
+
for (e = d.charCodeAt(u++), t = String.fromCharCode(e), e === 92 && (d.charCodeAt(u) !== 117 && $({}, p.UnexpectedToken, "ILLEGAL"), ++u, e = w("u"), (!e || e === "\\" || !q(e.charCodeAt(0))) && $({}, p.UnexpectedToken, "ILLEGAL"), t = e); u < D && (e = d.charCodeAt(u), !!V(e)); )
|
|
362
|
+
++u, t += String.fromCharCode(e), e === 92 && (t = t.substr(0, t.length - 1), d.charCodeAt(u) !== 117 && $({}, p.UnexpectedToken, "ILLEGAL"), ++u, e = w("u"), (!e || e === "\\" || !V(e.charCodeAt(0))) && $({}, p.UnexpectedToken, "ILLEGAL"), t += e);
|
|
363
|
+
return t;
|
|
364
|
+
}
|
|
365
|
+
function Q() {
|
|
366
|
+
var e, t;
|
|
367
|
+
for (e = u++; u < D; ) {
|
|
368
|
+
if (t = d.charCodeAt(u), t === 92)
|
|
369
|
+
return u = e, P();
|
|
370
|
+
if (V(t))
|
|
371
|
+
++u;
|
|
372
|
+
else
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
375
|
+
return d.slice(e, u);
|
|
376
|
+
}
|
|
377
|
+
function ie() {
|
|
378
|
+
var e, t, l;
|
|
379
|
+
return e = u, t = d.charCodeAt(u) === 92 ? P() : Q(), t.length === 1 ? l = c.Identifier : pe(t) ? l = c.Keyword : t === "null" ? l = c.NullLiteral : t === "true" || t === "false" ? l = c.BooleanLiteral : l = c.Identifier, {
|
|
380
|
+
type: l,
|
|
381
|
+
value: t,
|
|
382
|
+
lineNumber: S,
|
|
383
|
+
lineStart: B,
|
|
384
|
+
start: e,
|
|
385
|
+
end: u
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
function G() {
|
|
389
|
+
var e = u, t = d.charCodeAt(u), l, A = d[u], k, O, H;
|
|
390
|
+
switch (t) {
|
|
391
|
+
case 46:
|
|
392
|
+
case 40:
|
|
393
|
+
case 41:
|
|
394
|
+
case 59:
|
|
395
|
+
case 44:
|
|
396
|
+
case 123:
|
|
397
|
+
case 125:
|
|
398
|
+
case 91:
|
|
399
|
+
case 93:
|
|
400
|
+
case 58:
|
|
401
|
+
case 63:
|
|
402
|
+
case 126:
|
|
403
|
+
return ++u, g.tokenize && (t === 40 ? g.openParenToken = g.tokens.length : t === 123 && (g.openCurlyToken = g.tokens.length)), {
|
|
404
|
+
type: c.Punctuator,
|
|
405
|
+
value: String.fromCharCode(t),
|
|
406
|
+
lineNumber: S,
|
|
407
|
+
lineStart: B,
|
|
408
|
+
start: e,
|
|
409
|
+
end: u
|
|
410
|
+
};
|
|
411
|
+
default:
|
|
412
|
+
if (l = d.charCodeAt(u + 1), l === 61)
|
|
413
|
+
switch (t) {
|
|
414
|
+
case 43:
|
|
415
|
+
case 45:
|
|
416
|
+
case 47:
|
|
417
|
+
case 60:
|
|
418
|
+
case 62:
|
|
419
|
+
case 94:
|
|
420
|
+
case 124:
|
|
421
|
+
case 37:
|
|
422
|
+
case 38:
|
|
423
|
+
case 42:
|
|
424
|
+
return u += 2, {
|
|
425
|
+
type: c.Punctuator,
|
|
426
|
+
value: String.fromCharCode(t) + String.fromCharCode(l),
|
|
427
|
+
lineNumber: S,
|
|
428
|
+
lineStart: B,
|
|
429
|
+
start: e,
|
|
430
|
+
end: u
|
|
431
|
+
};
|
|
432
|
+
case 33:
|
|
433
|
+
case 61:
|
|
434
|
+
return u += 2, d.charCodeAt(u) === 61 && ++u, {
|
|
435
|
+
type: c.Punctuator,
|
|
436
|
+
value: d.slice(e, u),
|
|
437
|
+
lineNumber: S,
|
|
438
|
+
lineStart: B,
|
|
439
|
+
start: e,
|
|
440
|
+
end: u
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
if (H = d.substr(u, 4), H === ">>>=")
|
|
445
|
+
return u += 4, {
|
|
446
|
+
type: c.Punctuator,
|
|
447
|
+
value: H,
|
|
448
|
+
lineNumber: S,
|
|
449
|
+
lineStart: B,
|
|
450
|
+
start: e,
|
|
451
|
+
end: u
|
|
452
|
+
};
|
|
453
|
+
if (O = H.substr(0, 3), O === ">>>" || O === "<<=" || O === ">>=")
|
|
454
|
+
return u += 3, {
|
|
455
|
+
type: c.Punctuator,
|
|
456
|
+
value: O,
|
|
457
|
+
lineNumber: S,
|
|
458
|
+
lineStart: B,
|
|
459
|
+
start: e,
|
|
460
|
+
end: u
|
|
461
|
+
};
|
|
462
|
+
if (k = O.substr(0, 2), A === k[1] && "+-<>&|".indexOf(A) >= 0 || k === "=>")
|
|
463
|
+
return u += 2, {
|
|
464
|
+
type: c.Punctuator,
|
|
465
|
+
value: k,
|
|
466
|
+
lineNumber: S,
|
|
467
|
+
lineStart: B,
|
|
468
|
+
start: e,
|
|
469
|
+
end: u
|
|
470
|
+
};
|
|
471
|
+
if ("<>=!+-*%&|^/".indexOf(A) >= 0)
|
|
472
|
+
return ++u, {
|
|
473
|
+
type: c.Punctuator,
|
|
474
|
+
value: A,
|
|
475
|
+
lineNumber: S,
|
|
476
|
+
lineStart: B,
|
|
477
|
+
start: e,
|
|
478
|
+
end: u
|
|
479
|
+
};
|
|
480
|
+
$({}, p.UnexpectedToken, "ILLEGAL");
|
|
481
|
+
}
|
|
482
|
+
function K(e) {
|
|
483
|
+
for (var t = ""; u < D && z(d[u]); )
|
|
484
|
+
t += d[u++];
|
|
485
|
+
return t.length === 0 && $({}, p.UnexpectedToken, "ILLEGAL"), q(d.charCodeAt(u)) && $({}, p.UnexpectedToken, "ILLEGAL"), {
|
|
486
|
+
type: c.NumericLiteral,
|
|
487
|
+
value: parseInt("0x" + t, 16),
|
|
488
|
+
lineNumber: S,
|
|
489
|
+
lineStart: B,
|
|
490
|
+
start: e,
|
|
491
|
+
end: u
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
function Z(e) {
|
|
495
|
+
for (var t = "0" + d[u++]; u < D && T(d[u]); )
|
|
496
|
+
t += d[u++];
|
|
497
|
+
return (q(d.charCodeAt(u)) || M(d.charCodeAt(u))) && $({}, p.UnexpectedToken, "ILLEGAL"), {
|
|
498
|
+
type: c.NumericLiteral,
|
|
499
|
+
value: parseInt(t, 8),
|
|
500
|
+
octal: !0,
|
|
501
|
+
lineNumber: S,
|
|
502
|
+
lineStart: B,
|
|
503
|
+
start: e,
|
|
504
|
+
end: u
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
function te() {
|
|
508
|
+
var e, t, l;
|
|
509
|
+
if (l = d[u], I(
|
|
510
|
+
M(l.charCodeAt(0)) || l === ".",
|
|
511
|
+
"Numeric literal must start with a decimal digit or a decimal point"
|
|
512
|
+
), t = u, e = "", l !== ".") {
|
|
513
|
+
if (e = d[u++], l = d[u], e === "0") {
|
|
514
|
+
if (l === "x" || l === "X")
|
|
515
|
+
return ++u, K(t);
|
|
516
|
+
if (T(l))
|
|
517
|
+
return Z(t);
|
|
518
|
+
l && M(l.charCodeAt(0)) && $({}, p.UnexpectedToken, "ILLEGAL");
|
|
519
|
+
}
|
|
520
|
+
for (; M(d.charCodeAt(u)); )
|
|
521
|
+
e += d[u++];
|
|
522
|
+
l = d[u];
|
|
523
|
+
}
|
|
524
|
+
if (l === ".") {
|
|
525
|
+
for (e += d[u++]; M(d.charCodeAt(u)); )
|
|
526
|
+
e += d[u++];
|
|
527
|
+
l = d[u];
|
|
528
|
+
}
|
|
529
|
+
if (l === "e" || l === "E")
|
|
530
|
+
if (e += d[u++], l = d[u], (l === "+" || l === "-") && (e += d[u++]), M(d.charCodeAt(u)))
|
|
531
|
+
for (; M(d.charCodeAt(u)); )
|
|
532
|
+
e += d[u++];
|
|
533
|
+
else
|
|
534
|
+
$({}, p.UnexpectedToken, "ILLEGAL");
|
|
535
|
+
return q(d.charCodeAt(u)) && $({}, p.UnexpectedToken, "ILLEGAL"), {
|
|
536
|
+
type: c.NumericLiteral,
|
|
537
|
+
value: parseFloat(e),
|
|
538
|
+
lineNumber: S,
|
|
539
|
+
lineStart: B,
|
|
540
|
+
start: t,
|
|
541
|
+
end: u
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
function Ee() {
|
|
545
|
+
var e = "", t, l, A, k, O, H, J = !1, oe, ae;
|
|
546
|
+
for (oe = S, ae = B, t = d[u], I(
|
|
547
|
+
t === "'" || t === '"',
|
|
548
|
+
"String literal must starts with a quote"
|
|
549
|
+
), l = u, ++u; u < D; )
|
|
550
|
+
if (A = d[u++], A === t) {
|
|
551
|
+
t = "";
|
|
552
|
+
break;
|
|
553
|
+
} else if (A === "\\")
|
|
554
|
+
if (A = d[u++], !A || !U(A.charCodeAt(0)))
|
|
555
|
+
switch (A) {
|
|
556
|
+
case "u":
|
|
557
|
+
case "x":
|
|
558
|
+
H = u, O = w(A), O ? e += O : (u = H, e += A);
|
|
559
|
+
break;
|
|
560
|
+
case "n":
|
|
561
|
+
e += `
|
|
562
|
+
`;
|
|
563
|
+
break;
|
|
564
|
+
case "r":
|
|
565
|
+
e += "\r";
|
|
566
|
+
break;
|
|
567
|
+
case "t":
|
|
568
|
+
e += " ";
|
|
569
|
+
break;
|
|
570
|
+
case "b":
|
|
571
|
+
e += "\b";
|
|
572
|
+
break;
|
|
573
|
+
case "f":
|
|
574
|
+
e += "\f";
|
|
575
|
+
break;
|
|
576
|
+
case "v":
|
|
577
|
+
e += "\v";
|
|
578
|
+
break;
|
|
579
|
+
default:
|
|
580
|
+
T(A) ? (k = "01234567".indexOf(A), k !== 0 && (J = !0), u < D && T(d[u]) && (J = !0, k = k * 8 + "01234567".indexOf(d[u++]), "0123".indexOf(A) >= 0 && u < D && T(d[u]) && (k = k * 8 + "01234567".indexOf(d[u++]))), e += String.fromCharCode(k)) : e += A;
|
|
581
|
+
break;
|
|
582
|
+
}
|
|
583
|
+
else
|
|
584
|
+
++S, A === "\r" && d[u] === `
|
|
585
|
+
` && ++u, B = u;
|
|
586
|
+
else {
|
|
587
|
+
if (U(A.charCodeAt(0)))
|
|
588
|
+
break;
|
|
589
|
+
e += A;
|
|
590
|
+
}
|
|
591
|
+
return t !== "" && $({}, p.UnexpectedToken, "ILLEGAL"), {
|
|
592
|
+
type: c.StringLiteral,
|
|
593
|
+
value: e,
|
|
594
|
+
octal: J,
|
|
595
|
+
startLineNumber: oe,
|
|
596
|
+
startLineStart: ae,
|
|
597
|
+
lineNumber: S,
|
|
598
|
+
lineStart: B,
|
|
599
|
+
start: l,
|
|
600
|
+
end: u
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
function De(e, t) {
|
|
604
|
+
var l;
|
|
605
|
+
try {
|
|
606
|
+
l = new RegExp(e, t);
|
|
607
|
+
} catch {
|
|
608
|
+
$({}, p.InvalidRegExp);
|
|
609
|
+
}
|
|
610
|
+
return l;
|
|
611
|
+
}
|
|
612
|
+
function $e() {
|
|
613
|
+
var e, t, l, A, k;
|
|
614
|
+
for (e = d[u], I(e === "/", "Regular expression literal must start with a slash"), t = d[u++], l = !1, A = !1; u < D; )
|
|
615
|
+
if (e = d[u++], t += e, e === "\\")
|
|
616
|
+
e = d[u++], U(e.charCodeAt(0)) && $({}, p.UnterminatedRegExp), t += e;
|
|
617
|
+
else if (U(e.charCodeAt(0)))
|
|
618
|
+
$({}, p.UnterminatedRegExp);
|
|
619
|
+
else if (l)
|
|
620
|
+
e === "]" && (l = !1);
|
|
621
|
+
else if (e === "/") {
|
|
622
|
+
A = !0;
|
|
623
|
+
break;
|
|
624
|
+
} else
|
|
625
|
+
e === "[" && (l = !0);
|
|
626
|
+
return A || $({}, p.UnterminatedRegExp), k = t.substr(1, t.length - 2), {
|
|
627
|
+
value: k,
|
|
628
|
+
literal: t
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
function we() {
|
|
632
|
+
var e, t, l, A;
|
|
633
|
+
for (t = "", l = ""; u < D && (e = d[u], !!V(e.charCodeAt(0))); )
|
|
634
|
+
if (++u, e === "\\" && u < D)
|
|
635
|
+
if (e = d[u], e === "u") {
|
|
636
|
+
if (++u, A = u, e = w("u"), e)
|
|
637
|
+
for (l += e, t += "\\u"; A < u; ++A)
|
|
638
|
+
t += d[A];
|
|
639
|
+
else
|
|
640
|
+
u = A, l += "u", t += "\\u";
|
|
641
|
+
W({}, p.UnexpectedToken, "ILLEGAL");
|
|
642
|
+
} else
|
|
643
|
+
t += "\\", W({}, p.UnexpectedToken, "ILLEGAL");
|
|
644
|
+
else
|
|
645
|
+
l += e, t += e;
|
|
646
|
+
return {
|
|
647
|
+
value: l,
|
|
648
|
+
literal: t
|
|
649
|
+
};
|
|
650
|
+
}
|
|
651
|
+
function Re() {
|
|
652
|
+
var e, t, l, A;
|
|
653
|
+
return f = null, _(), e = u, t = $e(), l = we(), A = De(t.value, l.value), g.tokenize ? {
|
|
654
|
+
type: c.RegularExpression,
|
|
655
|
+
value: A,
|
|
656
|
+
lineNumber: S,
|
|
657
|
+
lineStart: B,
|
|
658
|
+
start: e,
|
|
659
|
+
end: u
|
|
660
|
+
} : {
|
|
661
|
+
literal: t.literal + l.literal,
|
|
662
|
+
value: A,
|
|
663
|
+
start: e,
|
|
664
|
+
end: u
|
|
665
|
+
};
|
|
666
|
+
}
|
|
667
|
+
function Ce() {
|
|
668
|
+
var e, t, l, A;
|
|
669
|
+
return _(), e = u, t = {
|
|
670
|
+
start: {
|
|
671
|
+
line: S,
|
|
672
|
+
column: u - B
|
|
673
|
+
}
|
|
674
|
+
}, l = Re(), t.end = {
|
|
675
|
+
line: S,
|
|
676
|
+
column: u - B
|
|
677
|
+
}, g.tokenize || (g.tokens.length > 0 && (A = g.tokens[g.tokens.length - 1], A.range[0] === e && A.type === "Punctuator" && (A.value === "/" || A.value === "/=") && g.tokens.pop()), g.tokens.push({
|
|
678
|
+
type: "RegularExpression",
|
|
679
|
+
value: l.literal,
|
|
680
|
+
range: [e, u],
|
|
681
|
+
loc: t
|
|
682
|
+
})), l;
|
|
683
|
+
}
|
|
684
|
+
function At(e) {
|
|
685
|
+
return e.type === c.Identifier || e.type === c.Keyword || e.type === c.BooleanLiteral || e.type === c.NullLiteral;
|
|
686
|
+
}
|
|
687
|
+
function vt() {
|
|
688
|
+
var e, t;
|
|
689
|
+
if (e = g.tokens[g.tokens.length - 1], !e)
|
|
690
|
+
return Ce();
|
|
691
|
+
if (e.type === "Punctuator") {
|
|
692
|
+
if (e.value === "]")
|
|
693
|
+
return G();
|
|
694
|
+
if (e.value === ")")
|
|
695
|
+
return t = g.tokens[g.openParenToken - 1], t && t.type === "Keyword" && (t.value === "if" || t.value === "while" || t.value === "for" || t.value === "with") ? Ce() : G();
|
|
696
|
+
if (e.value === "}") {
|
|
697
|
+
if (g.tokens[g.openCurlyToken - 3] && g.tokens[g.openCurlyToken - 3].type === "Keyword") {
|
|
698
|
+
if (t = g.tokens[g.openCurlyToken - 4], !t)
|
|
699
|
+
return G();
|
|
700
|
+
} else if (g.tokens[g.openCurlyToken - 4] && g.tokens[g.openCurlyToken - 4].type === "Keyword") {
|
|
701
|
+
if (t = g.tokens[g.openCurlyToken - 5], !t)
|
|
702
|
+
return Ce();
|
|
703
|
+
} else
|
|
704
|
+
return G();
|
|
705
|
+
return v.indexOf(t.value) >= 0 ? G() : Ce();
|
|
706
|
+
}
|
|
707
|
+
return Ce();
|
|
708
|
+
}
|
|
709
|
+
return e.type === "Keyword" ? Ce() : G();
|
|
710
|
+
}
|
|
711
|
+
function He() {
|
|
712
|
+
var e;
|
|
713
|
+
return _(), u >= D ? {
|
|
714
|
+
type: c.EOF,
|
|
715
|
+
lineNumber: S,
|
|
716
|
+
lineStart: B,
|
|
717
|
+
start: u,
|
|
718
|
+
end: u
|
|
719
|
+
} : (e = d.charCodeAt(u), q(e) ? ie() : e === 40 || e === 41 || e === 59 ? G() : e === 39 || e === 34 ? Ee() : e === 46 ? M(d.charCodeAt(u + 1)) ? te() : G() : M(e) ? te() : g.tokenize && e === 47 ? vt() : G());
|
|
720
|
+
}
|
|
721
|
+
function et() {
|
|
722
|
+
var e, t, l;
|
|
723
|
+
return _(), e = {
|
|
724
|
+
start: {
|
|
725
|
+
line: S,
|
|
726
|
+
column: u - B
|
|
727
|
+
}
|
|
728
|
+
}, t = He(), e.end = {
|
|
729
|
+
line: S,
|
|
730
|
+
column: u - B
|
|
731
|
+
}, t.type !== c.EOF && (l = d.slice(t.start, t.end), g.tokens.push({
|
|
732
|
+
type: x[t.type],
|
|
733
|
+
value: l,
|
|
734
|
+
range: [t.start, t.end],
|
|
735
|
+
loc: e
|
|
736
|
+
})), t;
|
|
737
|
+
}
|
|
738
|
+
function j() {
|
|
739
|
+
var e;
|
|
740
|
+
return e = f, u = e.end, S = e.lineNumber, B = e.lineStart, f = typeof g.tokens < "u" ? et() : He(), u = e.end, S = e.lineNumber, B = e.lineStart, e;
|
|
741
|
+
}
|
|
742
|
+
function ze() {
|
|
743
|
+
var e, t, l;
|
|
744
|
+
e = u, t = S, l = B, f = typeof g.tokens < "u" ? et() : He(), u = e, S = t, B = l;
|
|
745
|
+
}
|
|
746
|
+
function tt(e, t) {
|
|
747
|
+
this.line = e, this.column = t;
|
|
748
|
+
}
|
|
749
|
+
function bt(e, t, l, A) {
|
|
750
|
+
this.start = new tt(e, t), this.end = new tt(l, A);
|
|
751
|
+
}
|
|
752
|
+
F = {
|
|
753
|
+
name: "SyntaxTree",
|
|
754
|
+
processComment: function(e) {
|
|
755
|
+
var t, l;
|
|
756
|
+
if (!(e.type === C.Program && e.body.length > 0)) {
|
|
757
|
+
for (g.trailingComments.length > 0 ? g.trailingComments[0].range[0] >= e.range[1] ? (l = g.trailingComments, g.trailingComments = []) : g.trailingComments.length = 0 : g.bottomRightStack.length > 0 && g.bottomRightStack[g.bottomRightStack.length - 1].trailingComments && g.bottomRightStack[g.bottomRightStack.length - 1].trailingComments[0].range[0] >= e.range[1] && (l = g.bottomRightStack[g.bottomRightStack.length - 1].trailingComments, delete g.bottomRightStack[g.bottomRightStack.length - 1].trailingComments); g.bottomRightStack.length > 0 && g.bottomRightStack[g.bottomRightStack.length - 1].range[0] >= e.range[0]; )
|
|
758
|
+
t = g.bottomRightStack.pop();
|
|
759
|
+
t ? t.leadingComments && t.leadingComments[t.leadingComments.length - 1].range[1] <= e.range[0] && (e.leadingComments = t.leadingComments, delete t.leadingComments) : g.leadingComments.length > 0 && g.leadingComments[g.leadingComments.length - 1].range[1] <= e.range[0] && (e.leadingComments = g.leadingComments, g.leadingComments = []), l && (e.trailingComments = l), g.bottomRightStack.push(e);
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
markEnd: function(e, t) {
|
|
763
|
+
return g.range && (e.range = [t.start, u]), g.loc && (e.loc = new bt(
|
|
764
|
+
t.startLineNumber === void 0 ? t.lineNumber : t.startLineNumber,
|
|
765
|
+
t.start - (t.startLineStart === void 0 ? t.lineStart : t.startLineStart),
|
|
766
|
+
S,
|
|
767
|
+
u - B
|
|
768
|
+
), this.postProcess(e)), g.attachComment && this.processComment(e), e;
|
|
769
|
+
},
|
|
770
|
+
postProcess: function(e) {
|
|
771
|
+
return g.source && (e.loc.source = g.source), e;
|
|
772
|
+
},
|
|
773
|
+
createArrayExpression: function(e) {
|
|
774
|
+
return {
|
|
775
|
+
type: C.ArrayExpression,
|
|
776
|
+
elements: e
|
|
777
|
+
};
|
|
778
|
+
},
|
|
779
|
+
createAssignmentExpression: function(e, t, l) {
|
|
780
|
+
return {
|
|
781
|
+
type: C.AssignmentExpression,
|
|
782
|
+
operator: e,
|
|
783
|
+
left: t,
|
|
784
|
+
right: l
|
|
785
|
+
};
|
|
786
|
+
},
|
|
787
|
+
createBinaryExpression: function(e, t, l) {
|
|
788
|
+
var A = e === "||" || e === "&&" ? C.LogicalExpression : C.BinaryExpression;
|
|
789
|
+
return {
|
|
790
|
+
type: A,
|
|
791
|
+
operator: e,
|
|
792
|
+
left: t,
|
|
793
|
+
right: l
|
|
794
|
+
};
|
|
795
|
+
},
|
|
796
|
+
createBlockStatement: function(e) {
|
|
797
|
+
return {
|
|
798
|
+
type: C.BlockStatement,
|
|
799
|
+
body: e
|
|
800
|
+
};
|
|
801
|
+
},
|
|
802
|
+
createBreakStatement: function(e) {
|
|
803
|
+
return {
|
|
804
|
+
type: C.BreakStatement,
|
|
805
|
+
label: e
|
|
806
|
+
};
|
|
807
|
+
},
|
|
808
|
+
createCallExpression: function(e, t) {
|
|
809
|
+
return {
|
|
810
|
+
type: C.CallExpression,
|
|
811
|
+
callee: e,
|
|
812
|
+
arguments: t
|
|
813
|
+
};
|
|
814
|
+
},
|
|
815
|
+
createCatchClause: function(e, t) {
|
|
816
|
+
return {
|
|
817
|
+
type: C.CatchClause,
|
|
818
|
+
param: e,
|
|
819
|
+
body: t
|
|
820
|
+
};
|
|
821
|
+
},
|
|
822
|
+
createConditionalExpression: function(e, t, l) {
|
|
823
|
+
return {
|
|
824
|
+
type: C.ConditionalExpression,
|
|
825
|
+
test: e,
|
|
826
|
+
consequent: t,
|
|
827
|
+
alternate: l
|
|
828
|
+
};
|
|
829
|
+
},
|
|
830
|
+
createContinueStatement: function(e) {
|
|
831
|
+
return {
|
|
832
|
+
type: C.ContinueStatement,
|
|
833
|
+
label: e
|
|
834
|
+
};
|
|
835
|
+
},
|
|
836
|
+
createDebuggerStatement: function() {
|
|
837
|
+
return {
|
|
838
|
+
type: C.DebuggerStatement
|
|
839
|
+
};
|
|
840
|
+
},
|
|
841
|
+
createDoWhileStatement: function(e, t) {
|
|
842
|
+
return {
|
|
843
|
+
type: C.DoWhileStatement,
|
|
844
|
+
body: e,
|
|
845
|
+
test: t
|
|
846
|
+
};
|
|
847
|
+
},
|
|
848
|
+
createEmptyStatement: function() {
|
|
849
|
+
return {
|
|
850
|
+
type: C.EmptyStatement
|
|
851
|
+
};
|
|
852
|
+
},
|
|
853
|
+
createExpressionStatement: function(e) {
|
|
854
|
+
return {
|
|
855
|
+
type: C.ExpressionStatement,
|
|
856
|
+
expression: e
|
|
857
|
+
};
|
|
858
|
+
},
|
|
859
|
+
createForStatement: function(e, t, l, A) {
|
|
860
|
+
return {
|
|
861
|
+
type: C.ForStatement,
|
|
862
|
+
init: e,
|
|
863
|
+
test: t,
|
|
864
|
+
update: l,
|
|
865
|
+
body: A
|
|
866
|
+
};
|
|
867
|
+
},
|
|
868
|
+
createForInStatement: function(e, t, l) {
|
|
869
|
+
return {
|
|
870
|
+
type: C.ForInStatement,
|
|
871
|
+
left: e,
|
|
872
|
+
right: t,
|
|
873
|
+
body: l,
|
|
874
|
+
each: !1
|
|
875
|
+
};
|
|
876
|
+
},
|
|
877
|
+
createFunctionDeclaration: function(e, t, l, A) {
|
|
878
|
+
return {
|
|
879
|
+
type: C.FunctionDeclaration,
|
|
880
|
+
id: e,
|
|
881
|
+
params: t,
|
|
882
|
+
defaults: l,
|
|
883
|
+
body: A,
|
|
884
|
+
rest: null,
|
|
885
|
+
generator: !1,
|
|
886
|
+
expression: !1
|
|
887
|
+
};
|
|
888
|
+
},
|
|
889
|
+
createFunctionExpression: function(e, t, l, A) {
|
|
890
|
+
return {
|
|
891
|
+
type: C.FunctionExpression,
|
|
892
|
+
id: e,
|
|
893
|
+
params: t,
|
|
894
|
+
defaults: l,
|
|
895
|
+
body: A,
|
|
896
|
+
rest: null,
|
|
897
|
+
generator: !1,
|
|
898
|
+
expression: !1
|
|
899
|
+
};
|
|
900
|
+
},
|
|
901
|
+
createIdentifier: function(e) {
|
|
902
|
+
return {
|
|
903
|
+
type: C.Identifier,
|
|
904
|
+
name: e
|
|
905
|
+
};
|
|
906
|
+
},
|
|
907
|
+
createIfStatement: function(e, t, l) {
|
|
908
|
+
return {
|
|
909
|
+
type: C.IfStatement,
|
|
910
|
+
test: e,
|
|
911
|
+
consequent: t,
|
|
912
|
+
alternate: l
|
|
913
|
+
};
|
|
914
|
+
},
|
|
915
|
+
createLabeledStatement: function(e, t) {
|
|
916
|
+
return {
|
|
917
|
+
type: C.LabeledStatement,
|
|
918
|
+
label: e,
|
|
919
|
+
body: t
|
|
920
|
+
};
|
|
921
|
+
},
|
|
922
|
+
createLiteral: function(e) {
|
|
923
|
+
return {
|
|
924
|
+
type: C.Literal,
|
|
925
|
+
value: e.value,
|
|
926
|
+
raw: d.slice(e.start, e.end)
|
|
927
|
+
};
|
|
928
|
+
},
|
|
929
|
+
createMemberExpression: function(e, t, l) {
|
|
930
|
+
return {
|
|
931
|
+
type: C.MemberExpression,
|
|
932
|
+
computed: e === "[",
|
|
933
|
+
object: t,
|
|
934
|
+
property: l
|
|
935
|
+
};
|
|
936
|
+
},
|
|
937
|
+
createNewExpression: function(e, t) {
|
|
938
|
+
return {
|
|
939
|
+
type: C.NewExpression,
|
|
940
|
+
callee: e,
|
|
941
|
+
arguments: t
|
|
942
|
+
};
|
|
943
|
+
},
|
|
944
|
+
createObjectExpression: function(e) {
|
|
945
|
+
return {
|
|
946
|
+
type: C.ObjectExpression,
|
|
947
|
+
properties: e
|
|
948
|
+
};
|
|
949
|
+
},
|
|
950
|
+
createPostfixExpression: function(e, t) {
|
|
951
|
+
return {
|
|
952
|
+
type: C.UpdateExpression,
|
|
953
|
+
operator: e,
|
|
954
|
+
argument: t,
|
|
955
|
+
prefix: !1
|
|
956
|
+
};
|
|
957
|
+
},
|
|
958
|
+
createProgram: function(e) {
|
|
959
|
+
return {
|
|
960
|
+
type: C.Program,
|
|
961
|
+
body: e
|
|
962
|
+
};
|
|
963
|
+
},
|
|
964
|
+
createProperty: function(e, t, l) {
|
|
965
|
+
return {
|
|
966
|
+
type: C.Property,
|
|
967
|
+
key: t,
|
|
968
|
+
value: l,
|
|
969
|
+
kind: e
|
|
970
|
+
};
|
|
971
|
+
},
|
|
972
|
+
createReturnStatement: function(e) {
|
|
973
|
+
return {
|
|
974
|
+
type: C.ReturnStatement,
|
|
975
|
+
argument: e
|
|
976
|
+
};
|
|
977
|
+
},
|
|
978
|
+
createSequenceExpression: function(e) {
|
|
979
|
+
return {
|
|
980
|
+
type: C.SequenceExpression,
|
|
981
|
+
expressions: e
|
|
982
|
+
};
|
|
983
|
+
},
|
|
984
|
+
createSwitchCase: function(e, t) {
|
|
985
|
+
return {
|
|
986
|
+
type: C.SwitchCase,
|
|
987
|
+
test: e,
|
|
988
|
+
consequent: t
|
|
989
|
+
};
|
|
990
|
+
},
|
|
991
|
+
createSwitchStatement: function(e, t) {
|
|
992
|
+
return {
|
|
993
|
+
type: C.SwitchStatement,
|
|
994
|
+
discriminant: e,
|
|
995
|
+
cases: t
|
|
996
|
+
};
|
|
997
|
+
},
|
|
998
|
+
createThisExpression: function() {
|
|
999
|
+
return {
|
|
1000
|
+
type: C.ThisExpression
|
|
1001
|
+
};
|
|
1002
|
+
},
|
|
1003
|
+
createThrowStatement: function(e) {
|
|
1004
|
+
return {
|
|
1005
|
+
type: C.ThrowStatement,
|
|
1006
|
+
argument: e
|
|
1007
|
+
};
|
|
1008
|
+
},
|
|
1009
|
+
createTryStatement: function(e, t, l, A) {
|
|
1010
|
+
return {
|
|
1011
|
+
type: C.TryStatement,
|
|
1012
|
+
block: e,
|
|
1013
|
+
guardedHandlers: t,
|
|
1014
|
+
handlers: l,
|
|
1015
|
+
finalizer: A
|
|
1016
|
+
};
|
|
1017
|
+
},
|
|
1018
|
+
createUnaryExpression: function(e, t) {
|
|
1019
|
+
return e === "++" || e === "--" ? {
|
|
1020
|
+
type: C.UpdateExpression,
|
|
1021
|
+
operator: e,
|
|
1022
|
+
argument: t,
|
|
1023
|
+
prefix: !0
|
|
1024
|
+
} : {
|
|
1025
|
+
type: C.UnaryExpression,
|
|
1026
|
+
operator: e,
|
|
1027
|
+
argument: t,
|
|
1028
|
+
prefix: !0
|
|
1029
|
+
};
|
|
1030
|
+
},
|
|
1031
|
+
createVariableDeclaration: function(e, t) {
|
|
1032
|
+
return {
|
|
1033
|
+
type: C.VariableDeclaration,
|
|
1034
|
+
declarations: e,
|
|
1035
|
+
kind: t
|
|
1036
|
+
};
|
|
1037
|
+
},
|
|
1038
|
+
createVariableDeclarator: function(e, t) {
|
|
1039
|
+
return {
|
|
1040
|
+
type: C.VariableDeclarator,
|
|
1041
|
+
id: e,
|
|
1042
|
+
init: t
|
|
1043
|
+
};
|
|
1044
|
+
},
|
|
1045
|
+
createWhileStatement: function(e, t) {
|
|
1046
|
+
return {
|
|
1047
|
+
type: C.WhileStatement,
|
|
1048
|
+
test: e,
|
|
1049
|
+
body: t
|
|
1050
|
+
};
|
|
1051
|
+
},
|
|
1052
|
+
createWithStatement: function(e, t) {
|
|
1053
|
+
return {
|
|
1054
|
+
type: C.WithStatement,
|
|
1055
|
+
object: e,
|
|
1056
|
+
body: t
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1059
|
+
};
|
|
1060
|
+
function Oe() {
|
|
1061
|
+
var e, t, l, A;
|
|
1062
|
+
return e = u, t = S, l = B, _(), A = S !== t, u = e, S = t, B = l, A;
|
|
1063
|
+
}
|
|
1064
|
+
function $(e, t) {
|
|
1065
|
+
var l, A = Array.prototype.slice.call(arguments, 2), k = t.replace(
|
|
1066
|
+
/%(\d)/g,
|
|
1067
|
+
function(O, H) {
|
|
1068
|
+
return I(H < A.length, "Message reference must be in range"), A[H];
|
|
1069
|
+
}
|
|
1070
|
+
);
|
|
1071
|
+
throw typeof e.lineNumber == "number" ? (l = new Error("Line " + e.lineNumber + ": " + k), l.index = e.start, l.lineNumber = e.lineNumber, l.column = e.start - B + 1) : (l = new Error("Line " + S + ": " + k), l.index = u, l.lineNumber = S, l.column = u - B + 1), l.description = k, l;
|
|
1072
|
+
}
|
|
1073
|
+
function W() {
|
|
1074
|
+
try {
|
|
1075
|
+
$.apply(null, arguments);
|
|
1076
|
+
} catch (e) {
|
|
1077
|
+
if (g.errors)
|
|
1078
|
+
g.errors.push(e);
|
|
1079
|
+
else
|
|
1080
|
+
throw e;
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
function ge(e) {
|
|
1084
|
+
if (e.type === c.EOF && $(e, p.UnexpectedEOS), e.type === c.NumericLiteral && $(e, p.UnexpectedNumber), e.type === c.StringLiteral && $(e, p.UnexpectedString), e.type === c.Identifier && $(e, p.UnexpectedIdentifier), e.type === c.Keyword) {
|
|
1085
|
+
if (fe(e.value))
|
|
1086
|
+
$(e, p.UnexpectedReserved);
|
|
1087
|
+
else if (E && re(e.value)) {
|
|
1088
|
+
W(e, p.StrictReservedWord);
|
|
1089
|
+
return;
|
|
1090
|
+
}
|
|
1091
|
+
$(e, p.UnexpectedToken, e.value);
|
|
1092
|
+
}
|
|
1093
|
+
$(e, p.UnexpectedToken, e.value);
|
|
1094
|
+
}
|
|
1095
|
+
function L(e) {
|
|
1096
|
+
var t = j();
|
|
1097
|
+
(t.type !== c.Punctuator || t.value !== e) && ge(t);
|
|
1098
|
+
}
|
|
1099
|
+
function ne(e) {
|
|
1100
|
+
var t = j();
|
|
1101
|
+
(t.type !== c.Keyword || t.value !== e) && ge(t);
|
|
1102
|
+
}
|
|
1103
|
+
function R(e) {
|
|
1104
|
+
return f.type === c.Punctuator && f.value === e;
|
|
1105
|
+
}
|
|
1106
|
+
function se(e) {
|
|
1107
|
+
return f.type === c.Keyword && f.value === e;
|
|
1108
|
+
}
|
|
1109
|
+
function Ft() {
|
|
1110
|
+
var e;
|
|
1111
|
+
return f.type !== c.Punctuator ? !1 : (e = f.value, e === "=" || e === "*=" || e === "/=" || e === "%=" || e === "+=" || e === "-=" || e === "<<=" || e === ">>=" || e === ">>>=" || e === "&=" || e === "^=" || e === "|=");
|
|
1112
|
+
}
|
|
1113
|
+
function Ae() {
|
|
1114
|
+
var e;
|
|
1115
|
+
if (d.charCodeAt(u) === 59 || R(";")) {
|
|
1116
|
+
j();
|
|
1117
|
+
return;
|
|
1118
|
+
}
|
|
1119
|
+
e = S, _(), S === e && f.type !== c.EOF && !R("}") && ge(f);
|
|
1120
|
+
}
|
|
1121
|
+
function Le(e) {
|
|
1122
|
+
return e.type === C.Identifier || e.type === C.MemberExpression;
|
|
1123
|
+
}
|
|
1124
|
+
function Ct() {
|
|
1125
|
+
var e = [], t;
|
|
1126
|
+
for (t = f, L("["); !R("]"); )
|
|
1127
|
+
R(",") ? (j(), e.push(null)) : (e.push(me()), R("]") || L(","));
|
|
1128
|
+
return j(), a.markEnd(a.createArrayExpression(e), t);
|
|
1129
|
+
}
|
|
1130
|
+
function qe(e, t) {
|
|
1131
|
+
var l, A, k;
|
|
1132
|
+
return l = E, k = f, A = Xe(), t && E && ee(e[0].name) && W(t, p.StrictParamName), E = l, a.markEnd(a.createFunctionExpression(null, e, [], A), k);
|
|
1133
|
+
}
|
|
1134
|
+
function Me() {
|
|
1135
|
+
var e, t;
|
|
1136
|
+
return t = f, e = j(), e.type === c.StringLiteral || e.type === c.NumericLiteral ? (E && e.octal && W(e, p.StrictOctalLiteral), a.markEnd(a.createLiteral(e), t)) : a.markEnd(a.createIdentifier(e.value), t);
|
|
1137
|
+
}
|
|
1138
|
+
function Dt() {
|
|
1139
|
+
var e, t, l, A, k, O;
|
|
1140
|
+
if (e = f, O = f, e.type === c.Identifier)
|
|
1141
|
+
return l = Me(), e.value === "get" && !R(":") ? (t = Me(), L("("), L(")"), A = qe([]), a.markEnd(a.createProperty("get", t, A), O)) : e.value === "set" && !R(":") ? (t = Me(), L("("), e = f, e.type !== c.Identifier ? (L(")"), W(e, p.UnexpectedToken, e.value), A = qe([])) : (k = [be()], L(")"), A = qe(k, e)), a.markEnd(a.createProperty("set", t, A), O)) : (L(":"), A = me(), a.markEnd(a.createProperty("init", l, A), O));
|
|
1142
|
+
if (e.type === c.EOF || e.type === c.Punctuator)
|
|
1143
|
+
ge(e);
|
|
1144
|
+
else
|
|
1145
|
+
return t = Me(), L(":"), A = me(), a.markEnd(a.createProperty("init", t, A), O);
|
|
1146
|
+
}
|
|
1147
|
+
function xt() {
|
|
1148
|
+
var e = [], t, l, A, k, O = {}, H = String, J;
|
|
1149
|
+
for (J = f, L("{"); !R("}"); )
|
|
1150
|
+
t = Dt(), t.key.type === C.Identifier ? l = t.key.name : l = H(t.key.value), k = t.kind === "init" ? m.Data : t.kind === "get" ? m.Get : m.Set, A = "$" + l, Object.prototype.hasOwnProperty.call(O, A) ? (O[A] === m.Data ? E && k === m.Data ? W({}, p.StrictDuplicateProperty) : k !== m.Data && W({}, p.AccessorDataProperty) : k === m.Data ? W({}, p.AccessorDataProperty) : O[A] & k && W({}, p.AccessorGetSet), O[A] |= k) : O[A] = k, e.push(t), R("}") || L(",");
|
|
1151
|
+
return L("}"), a.markEnd(a.createObjectExpression(e), J);
|
|
1152
|
+
}
|
|
1153
|
+
function St() {
|
|
1154
|
+
var e;
|
|
1155
|
+
return L("("), e = ue(), L(")"), e;
|
|
1156
|
+
}
|
|
1157
|
+
function rt() {
|
|
1158
|
+
var e, t, l, A;
|
|
1159
|
+
if (R("("))
|
|
1160
|
+
return St();
|
|
1161
|
+
if (R("["))
|
|
1162
|
+
return Ct();
|
|
1163
|
+
if (R("{"))
|
|
1164
|
+
return xt();
|
|
1165
|
+
if (e = f.type, A = f, e === c.Identifier)
|
|
1166
|
+
l = a.createIdentifier(j().value);
|
|
1167
|
+
else if (e === c.StringLiteral || e === c.NumericLiteral)
|
|
1168
|
+
E && f.octal && W(f, p.StrictOctalLiteral), l = a.createLiteral(j());
|
|
1169
|
+
else if (e === c.Keyword) {
|
|
1170
|
+
if (se("function"))
|
|
1171
|
+
return Zt();
|
|
1172
|
+
se("this") ? (j(), l = a.createThisExpression()) : ge(j());
|
|
1173
|
+
} else
|
|
1174
|
+
e === c.BooleanLiteral ? (t = j(), t.value = t.value === "true", l = a.createLiteral(t)) : e === c.NullLiteral ? (t = j(), t.value = null, l = a.createLiteral(t)) : R("/") || R("/=") ? (typeof g.tokens < "u" ? l = a.createLiteral(Ce()) : l = a.createLiteral(Re()), ze()) : ge(j());
|
|
1175
|
+
return a.markEnd(l, A);
|
|
1176
|
+
}
|
|
1177
|
+
function nt() {
|
|
1178
|
+
var e = [];
|
|
1179
|
+
if (L("("), !R(")"))
|
|
1180
|
+
for (; u < D && (e.push(me()), !R(")")); )
|
|
1181
|
+
L(",");
|
|
1182
|
+
return L(")"), e;
|
|
1183
|
+
}
|
|
1184
|
+
function _t() {
|
|
1185
|
+
var e, t;
|
|
1186
|
+
return t = f, e = j(), At(e) || ge(e), a.markEnd(a.createIdentifier(e.value), t);
|
|
1187
|
+
}
|
|
1188
|
+
function it() {
|
|
1189
|
+
return L("."), _t();
|
|
1190
|
+
}
|
|
1191
|
+
function ut() {
|
|
1192
|
+
var e;
|
|
1193
|
+
return L("["), e = ue(), L("]"), e;
|
|
1194
|
+
}
|
|
1195
|
+
function at() {
|
|
1196
|
+
var e, t, l;
|
|
1197
|
+
return l = f, ne("new"), e = Bt(), t = R("(") ? nt() : [], a.markEnd(a.createNewExpression(e, t), l);
|
|
1198
|
+
}
|
|
1199
|
+
function kt() {
|
|
1200
|
+
var e, t, l, A, k;
|
|
1201
|
+
for (k = f, e = b.allowIn, b.allowIn = !0, t = se("new") ? at() : rt(), b.allowIn = e; ; ) {
|
|
1202
|
+
if (R("."))
|
|
1203
|
+
A = it(), t = a.createMemberExpression(".", t, A);
|
|
1204
|
+
else if (R("("))
|
|
1205
|
+
l = nt(), t = a.createCallExpression(t, l);
|
|
1206
|
+
else if (R("["))
|
|
1207
|
+
A = ut(), t = a.createMemberExpression("[", t, A);
|
|
1208
|
+
else
|
|
1209
|
+
break;
|
|
1210
|
+
a.markEnd(t, k);
|
|
1211
|
+
}
|
|
1212
|
+
return t;
|
|
1213
|
+
}
|
|
1214
|
+
function Bt() {
|
|
1215
|
+
var e, t, l, A;
|
|
1216
|
+
for (A = f, e = b.allowIn, t = se("new") ? at() : rt(), b.allowIn = e; R(".") || R("["); )
|
|
1217
|
+
R("[") ? (l = ut(), t = a.createMemberExpression("[", t, l)) : (l = it(), t = a.createMemberExpression(".", t, l)), a.markEnd(t, A);
|
|
1218
|
+
return t;
|
|
1219
|
+
}
|
|
1220
|
+
function st() {
|
|
1221
|
+
var e, t, l = f;
|
|
1222
|
+
return e = kt(), f.type === c.Punctuator && (R("++") || R("--")) && !Oe() && (E && e.type === C.Identifier && ee(e.name) && W({}, p.StrictLHSPostfix), Le(e) || W({}, p.InvalidLHSInAssignment), t = j(), e = a.markEnd(a.createPostfixExpression(t.value, e), l)), e;
|
|
1223
|
+
}
|
|
1224
|
+
function xe() {
|
|
1225
|
+
var e, t, l;
|
|
1226
|
+
return f.type !== c.Punctuator && f.type !== c.Keyword ? t = st() : R("++") || R("--") ? (l = f, e = j(), t = xe(), E && t.type === C.Identifier && ee(t.name) && W({}, p.StrictLHSPrefix), Le(t) || W({}, p.InvalidLHSInAssignment), t = a.createUnaryExpression(e.value, t), t = a.markEnd(t, l)) : R("+") || R("-") || R("~") || R("!") ? (l = f, e = j(), t = xe(), t = a.createUnaryExpression(e.value, t), t = a.markEnd(t, l)) : se("delete") || se("void") || se("typeof") ? (l = f, e = j(), t = xe(), t = a.createUnaryExpression(e.value, t), t = a.markEnd(t, l), E && t.operator === "delete" && t.argument.type === C.Identifier && W({}, p.StrictDelete)) : t = st(), t;
|
|
1227
|
+
}
|
|
1228
|
+
function ot(e, t) {
|
|
1229
|
+
var l = 0;
|
|
1230
|
+
if (e.type !== c.Punctuator && e.type !== c.Keyword)
|
|
1231
|
+
return 0;
|
|
1232
|
+
switch (e.value) {
|
|
1233
|
+
case "||":
|
|
1234
|
+
l = 1;
|
|
1235
|
+
break;
|
|
1236
|
+
case "&&":
|
|
1237
|
+
l = 2;
|
|
1238
|
+
break;
|
|
1239
|
+
case "|":
|
|
1240
|
+
l = 3;
|
|
1241
|
+
break;
|
|
1242
|
+
case "^":
|
|
1243
|
+
l = 4;
|
|
1244
|
+
break;
|
|
1245
|
+
case "&":
|
|
1246
|
+
l = 5;
|
|
1247
|
+
break;
|
|
1248
|
+
case "==":
|
|
1249
|
+
case "!=":
|
|
1250
|
+
case "===":
|
|
1251
|
+
case "!==":
|
|
1252
|
+
l = 6;
|
|
1253
|
+
break;
|
|
1254
|
+
case "<":
|
|
1255
|
+
case ">":
|
|
1256
|
+
case "<=":
|
|
1257
|
+
case ">=":
|
|
1258
|
+
case "instanceof":
|
|
1259
|
+
l = 7;
|
|
1260
|
+
break;
|
|
1261
|
+
case "in":
|
|
1262
|
+
l = t ? 7 : 0;
|
|
1263
|
+
break;
|
|
1264
|
+
case "<<":
|
|
1265
|
+
case ">>":
|
|
1266
|
+
case ">>>":
|
|
1267
|
+
l = 8;
|
|
1268
|
+
break;
|
|
1269
|
+
case "+":
|
|
1270
|
+
case "-":
|
|
1271
|
+
l = 9;
|
|
1272
|
+
break;
|
|
1273
|
+
case "*":
|
|
1274
|
+
case "/":
|
|
1275
|
+
case "%":
|
|
1276
|
+
l = 11;
|
|
1277
|
+
break;
|
|
1278
|
+
}
|
|
1279
|
+
return l;
|
|
1280
|
+
}
|
|
1281
|
+
function wt() {
|
|
1282
|
+
var e, t, l, A, k, O, H, J, oe, ae;
|
|
1283
|
+
if (e = f, oe = xe(), A = f, k = ot(A, b.allowIn), k === 0)
|
|
1284
|
+
return oe;
|
|
1285
|
+
for (A.prec = k, j(), t = [e, f], H = xe(), O = [oe, A, H]; (k = ot(f, b.allowIn)) > 0; ) {
|
|
1286
|
+
for (; O.length > 2 && k <= O[O.length - 2].prec; )
|
|
1287
|
+
H = O.pop(), J = O.pop().value, oe = O.pop(), l = a.createBinaryExpression(J, oe, H), t.pop(), e = t[t.length - 1], a.markEnd(l, e), O.push(l);
|
|
1288
|
+
A = j(), A.prec = k, O.push(A), t.push(f), l = xe(), O.push(l);
|
|
1289
|
+
}
|
|
1290
|
+
for (ae = O.length - 1, l = O[ae], t.pop(); ae > 1; )
|
|
1291
|
+
l = a.createBinaryExpression(O[ae - 1].value, O[ae - 2], l), ae -= 2, e = t.pop(), a.markEnd(l, e);
|
|
1292
|
+
return l;
|
|
1293
|
+
}
|
|
1294
|
+
function Ot() {
|
|
1295
|
+
var e, t, l, A, k;
|
|
1296
|
+
return k = f, e = wt(), R("?") && (j(), t = b.allowIn, b.allowIn = !0, l = me(), b.allowIn = t, L(":"), A = me(), e = a.createConditionalExpression(e, l, A), a.markEnd(e, k)), e;
|
|
1297
|
+
}
|
|
1298
|
+
function me() {
|
|
1299
|
+
var e, t, l, A, k;
|
|
1300
|
+
return e = f, k = f, A = t = Ot(), Ft() && (Le(t) || W({}, p.InvalidLHSInAssignment), E && t.type === C.Identifier && ee(t.name) && W(e, p.StrictLHSAssignment), e = j(), l = me(), A = a.markEnd(a.createAssignmentExpression(e.value, t, l), k)), A;
|
|
1301
|
+
}
|
|
1302
|
+
function ue() {
|
|
1303
|
+
var e, t = f;
|
|
1304
|
+
if (e = me(), R(",")) {
|
|
1305
|
+
for (e = a.createSequenceExpression([e]); u < D && R(","); )
|
|
1306
|
+
j(), e.expressions.push(me());
|
|
1307
|
+
a.markEnd(e, t);
|
|
1308
|
+
}
|
|
1309
|
+
return e;
|
|
1310
|
+
}
|
|
1311
|
+
function It() {
|
|
1312
|
+
for (var e = [], t; u < D && !(R("}") || (t = Ie(), typeof t > "u")); )
|
|
1313
|
+
e.push(t);
|
|
1314
|
+
return e;
|
|
1315
|
+
}
|
|
1316
|
+
function Ue() {
|
|
1317
|
+
var e, t;
|
|
1318
|
+
return t = f, L("{"), e = It(), L("}"), a.markEnd(a.createBlockStatement(e), t);
|
|
1319
|
+
}
|
|
1320
|
+
function be() {
|
|
1321
|
+
var e, t;
|
|
1322
|
+
return t = f, e = j(), e.type !== c.Identifier && ge(e), a.markEnd(a.createIdentifier(e.value), t);
|
|
1323
|
+
}
|
|
1324
|
+
function Pt(e) {
|
|
1325
|
+
var t = null, l, A;
|
|
1326
|
+
return A = f, l = be(), E && ee(l.name) && W({}, p.StrictVarName), e === "const" ? (L("="), t = me()) : R("=") && (j(), t = me()), a.markEnd(a.createVariableDeclarator(l, t), A);
|
|
1327
|
+
}
|
|
1328
|
+
function Ge(e) {
|
|
1329
|
+
var t = [];
|
|
1330
|
+
do {
|
|
1331
|
+
if (t.push(Pt(e)), !R(","))
|
|
1332
|
+
break;
|
|
1333
|
+
j();
|
|
1334
|
+
} while (u < D);
|
|
1335
|
+
return t;
|
|
1336
|
+
}
|
|
1337
|
+
function Tt() {
|
|
1338
|
+
var e;
|
|
1339
|
+
return ne("var"), e = Ge(), Ae(), a.createVariableDeclaration(e, "var");
|
|
1340
|
+
}
|
|
1341
|
+
function Nt(e) {
|
|
1342
|
+
var t, l;
|
|
1343
|
+
return l = f, ne(e), t = Ge(e), Ae(), a.markEnd(a.createVariableDeclaration(t, e), l);
|
|
1344
|
+
}
|
|
1345
|
+
function Rt() {
|
|
1346
|
+
return L(";"), a.createEmptyStatement();
|
|
1347
|
+
}
|
|
1348
|
+
function Lt() {
|
|
1349
|
+
var e = ue();
|
|
1350
|
+
return Ae(), a.createExpressionStatement(e);
|
|
1351
|
+
}
|
|
1352
|
+
function Mt() {
|
|
1353
|
+
var e, t, l;
|
|
1354
|
+
return ne("if"), L("("), e = ue(), L(")"), t = ve(), se("else") ? (j(), l = ve()) : l = null, a.createIfStatement(e, t, l);
|
|
1355
|
+
}
|
|
1356
|
+
function Ut() {
|
|
1357
|
+
var e, t, l;
|
|
1358
|
+
return ne("do"), l = b.inIteration, b.inIteration = !0, e = ve(), b.inIteration = l, ne("while"), L("("), t = ue(), L(")"), R(";") && j(), a.createDoWhileStatement(e, t);
|
|
1359
|
+
}
|
|
1360
|
+
function jt() {
|
|
1361
|
+
var e, t, l;
|
|
1362
|
+
return ne("while"), L("("), e = ue(), L(")"), l = b.inIteration, b.inIteration = !0, t = ve(), b.inIteration = l, a.createWhileStatement(e, t);
|
|
1363
|
+
}
|
|
1364
|
+
function $t() {
|
|
1365
|
+
var e, t, l;
|
|
1366
|
+
return l = f, e = j(), t = Ge(), a.markEnd(a.createVariableDeclaration(t, e.value), l);
|
|
1367
|
+
}
|
|
1368
|
+
function Ht() {
|
|
1369
|
+
var e, t, l, A, k, O, H;
|
|
1370
|
+
return e = t = l = null, ne("for"), L("("), R(";") ? j() : (se("var") || se("let") ? (b.allowIn = !1, e = $t(), b.allowIn = !0, e.declarations.length === 1 && se("in") && (j(), A = e, k = ue(), e = null)) : (b.allowIn = !1, e = ue(), b.allowIn = !0, se("in") && (Le(e) || W({}, p.InvalidLHSInForIn), j(), A = e, k = ue(), e = null)), typeof A > "u" && L(";")), typeof A > "u" && (R(";") || (t = ue()), L(";"), R(")") || (l = ue())), L(")"), H = b.inIteration, b.inIteration = !0, O = ve(), b.inIteration = H, typeof A > "u" ? a.createForStatement(e, t, l, O) : a.createForInStatement(A, k, O);
|
|
1371
|
+
}
|
|
1372
|
+
function zt() {
|
|
1373
|
+
var e = null, t;
|
|
1374
|
+
return ne("continue"), d.charCodeAt(u) === 59 ? (j(), b.inIteration || $({}, p.IllegalContinue), a.createContinueStatement(null)) : Oe() ? (b.inIteration || $({}, p.IllegalContinue), a.createContinueStatement(null)) : (f.type === c.Identifier && (e = be(), t = "$" + e.name, Object.prototype.hasOwnProperty.call(b.labelSet, t) || $({}, p.UnknownLabel, e.name)), Ae(), e === null && !b.inIteration && $({}, p.IllegalContinue), a.createContinueStatement(e));
|
|
1375
|
+
}
|
|
1376
|
+
function qt() {
|
|
1377
|
+
var e = null, t;
|
|
1378
|
+
return ne("break"), d.charCodeAt(u) === 59 ? (j(), b.inIteration || b.inSwitch || $({}, p.IllegalBreak), a.createBreakStatement(null)) : Oe() ? (b.inIteration || b.inSwitch || $({}, p.IllegalBreak), a.createBreakStatement(null)) : (f.type === c.Identifier && (e = be(), t = "$" + e.name, Object.prototype.hasOwnProperty.call(b.labelSet, t) || $({}, p.UnknownLabel, e.name)), Ae(), e === null && !(b.inIteration || b.inSwitch) && $({}, p.IllegalBreak), a.createBreakStatement(e));
|
|
1379
|
+
}
|
|
1380
|
+
function Gt() {
|
|
1381
|
+
var e = null;
|
|
1382
|
+
return ne("return"), b.inFunctionBody || W({}, p.IllegalReturn), d.charCodeAt(u) === 32 && q(d.charCodeAt(u + 1)) ? (e = ue(), Ae(), a.createReturnStatement(e)) : Oe() ? a.createReturnStatement(null) : (R(";") || !R("}") && f.type !== c.EOF && (e = ue()), Ae(), a.createReturnStatement(e));
|
|
1383
|
+
}
|
|
1384
|
+
function Xt() {
|
|
1385
|
+
var e, t;
|
|
1386
|
+
return E && (_(), W({}, p.StrictModeWith)), ne("with"), L("("), e = ue(), L(")"), t = ve(), a.createWithStatement(e, t);
|
|
1387
|
+
}
|
|
1388
|
+
function Kt() {
|
|
1389
|
+
var e, t = [], l, A;
|
|
1390
|
+
for (A = f, se("default") ? (j(), e = null) : (ne("case"), e = ue()), L(":"); u < D && !(R("}") || se("default") || se("case")); )
|
|
1391
|
+
l = ve(), t.push(l);
|
|
1392
|
+
return a.markEnd(a.createSwitchCase(e, t), A);
|
|
1393
|
+
}
|
|
1394
|
+
function Wt() {
|
|
1395
|
+
var e, t, l, A, k;
|
|
1396
|
+
if (ne("switch"), L("("), e = ue(), L(")"), L("{"), t = [], R("}"))
|
|
1397
|
+
return j(), a.createSwitchStatement(e, t);
|
|
1398
|
+
for (A = b.inSwitch, b.inSwitch = !0, k = !1; u < D && !R("}"); )
|
|
1399
|
+
l = Kt(), l.test === null && (k && $({}, p.MultipleDefaultsInSwitch), k = !0), t.push(l);
|
|
1400
|
+
return b.inSwitch = A, L("}"), a.createSwitchStatement(e, t);
|
|
1401
|
+
}
|
|
1402
|
+
function Vt() {
|
|
1403
|
+
var e;
|
|
1404
|
+
return ne("throw"), Oe() && $({}, p.NewlineAfterThrow), e = ue(), Ae(), a.createThrowStatement(e);
|
|
1405
|
+
}
|
|
1406
|
+
function Jt() {
|
|
1407
|
+
var e, t, l;
|
|
1408
|
+
return l = f, ne("catch"), L("("), R(")") && ge(f), e = be(), E && ee(e.name) && W({}, p.StrictCatchVariable), L(")"), t = Ue(), a.markEnd(a.createCatchClause(e, t), l);
|
|
1409
|
+
}
|
|
1410
|
+
function Qt() {
|
|
1411
|
+
var e, t = [], l = null;
|
|
1412
|
+
return ne("try"), e = Ue(), se("catch") && t.push(Jt()), se("finally") && (j(), l = Ue()), t.length === 0 && !l && $({}, p.NoCatchOrFinally), a.createTryStatement(e, [], t, l);
|
|
1413
|
+
}
|
|
1414
|
+
function Yt() {
|
|
1415
|
+
return ne("debugger"), Ae(), a.createDebuggerStatement();
|
|
1416
|
+
}
|
|
1417
|
+
function ve() {
|
|
1418
|
+
var e = f.type, t, l, A, k;
|
|
1419
|
+
if (e === c.EOF && ge(f), e === c.Punctuator && f.value === "{")
|
|
1420
|
+
return Ue();
|
|
1421
|
+
if (k = f, e === c.Punctuator)
|
|
1422
|
+
switch (f.value) {
|
|
1423
|
+
case ";":
|
|
1424
|
+
return a.markEnd(Rt(), k);
|
|
1425
|
+
case "(":
|
|
1426
|
+
return a.markEnd(Lt(), k);
|
|
1427
|
+
}
|
|
1428
|
+
if (e === c.Keyword)
|
|
1429
|
+
switch (f.value) {
|
|
1430
|
+
case "break":
|
|
1431
|
+
return a.markEnd(qt(), k);
|
|
1432
|
+
case "continue":
|
|
1433
|
+
return a.markEnd(zt(), k);
|
|
1434
|
+
case "debugger":
|
|
1435
|
+
return a.markEnd(Yt(), k);
|
|
1436
|
+
case "do":
|
|
1437
|
+
return a.markEnd(Ut(), k);
|
|
1438
|
+
case "for":
|
|
1439
|
+
return a.markEnd(Ht(), k);
|
|
1440
|
+
case "function":
|
|
1441
|
+
return a.markEnd(ct(), k);
|
|
1442
|
+
case "if":
|
|
1443
|
+
return a.markEnd(Mt(), k);
|
|
1444
|
+
case "return":
|
|
1445
|
+
return a.markEnd(Gt(), k);
|
|
1446
|
+
case "switch":
|
|
1447
|
+
return a.markEnd(Wt(), k);
|
|
1448
|
+
case "throw":
|
|
1449
|
+
return a.markEnd(Vt(), k);
|
|
1450
|
+
case "try":
|
|
1451
|
+
return a.markEnd(Qt(), k);
|
|
1452
|
+
case "var":
|
|
1453
|
+
return a.markEnd(Tt(), k);
|
|
1454
|
+
case "while":
|
|
1455
|
+
return a.markEnd(jt(), k);
|
|
1456
|
+
case "with":
|
|
1457
|
+
return a.markEnd(Xt(), k);
|
|
1458
|
+
}
|
|
1459
|
+
return t = ue(), t.type === C.Identifier && R(":") ? (j(), A = "$" + t.name, Object.prototype.hasOwnProperty.call(b.labelSet, A) && $({}, p.Redeclaration, "Label", t.name), b.labelSet[A] = !0, l = ve(), delete b.labelSet[A], a.markEnd(a.createLabeledStatement(t, l), k)) : (Ae(), a.markEnd(a.createExpressionStatement(t), k));
|
|
1460
|
+
}
|
|
1461
|
+
function Xe() {
|
|
1462
|
+
var e, t = [], l, A, k, O, H, J, oe, ae;
|
|
1463
|
+
for (ae = f, L("{"); u < D && !(f.type !== c.StringLiteral || (l = f, e = Ie(), t.push(e), e.expression.type !== C.Literal)); )
|
|
1464
|
+
A = d.slice(l.start + 1, l.end - 1), A === "use strict" ? (E = !0, k && W(k, p.StrictOctalLiteral)) : !k && l.octal && (k = l);
|
|
1465
|
+
for (O = b.labelSet, H = b.inIteration, J = b.inSwitch, oe = b.inFunctionBody, b.labelSet = {}, b.inIteration = !1, b.inSwitch = !1, b.inFunctionBody = !0; u < D && !(R("}") || (e = Ie(), typeof e > "u")); )
|
|
1466
|
+
t.push(e);
|
|
1467
|
+
return L("}"), b.labelSet = O, b.inIteration = H, b.inSwitch = J, b.inFunctionBody = oe, a.markEnd(a.createBlockStatement(t), ae);
|
|
1468
|
+
}
|
|
1469
|
+
function lt(e) {
|
|
1470
|
+
var t, l = [], A, k, O, H, J;
|
|
1471
|
+
if (L("("), !R(")"))
|
|
1472
|
+
for (O = {}; u < D && (A = f, t = be(), H = "$" + A.value, E ? (ee(A.value) && (k = A, J = p.StrictParamName), Object.prototype.hasOwnProperty.call(O, H) && (k = A, J = p.StrictParamDupe)) : e || (ee(A.value) ? (e = A, J = p.StrictParamName) : re(A.value) ? (e = A, J = p.StrictReservedWord) : Object.prototype.hasOwnProperty.call(O, H) && (e = A, J = p.StrictParamDupe)), l.push(t), O[H] = !0, !R(")")); )
|
|
1473
|
+
L(",");
|
|
1474
|
+
return L(")"), {
|
|
1475
|
+
params: l,
|
|
1476
|
+
stricted: k,
|
|
1477
|
+
firstRestricted: e,
|
|
1478
|
+
message: J
|
|
1479
|
+
};
|
|
1480
|
+
}
|
|
1481
|
+
function ct() {
|
|
1482
|
+
var e, t = [], l, A, k, O, H, J, oe, ae;
|
|
1483
|
+
return ae = f, ne("function"), A = f, e = be(), E ? ee(A.value) && W(A, p.StrictFunctionName) : ee(A.value) ? (H = A, J = p.StrictFunctionName) : re(A.value) && (H = A, J = p.StrictReservedWord), O = lt(H), t = O.params, k = O.stricted, H = O.firstRestricted, O.message && (J = O.message), oe = E, l = Xe(), E && H && $(H, J), E && k && W(k, J), E = oe, a.markEnd(a.createFunctionDeclaration(e, t, [], l), ae);
|
|
1484
|
+
}
|
|
1485
|
+
function Zt() {
|
|
1486
|
+
var e, t = null, l, A, k, O, H = [], J, oe, ae;
|
|
1487
|
+
return ae = f, ne("function"), R("(") || (e = f, t = be(), E ? ee(e.value) && W(e, p.StrictFunctionName) : ee(e.value) ? (A = e, k = p.StrictFunctionName) : re(e.value) && (A = e, k = p.StrictReservedWord)), O = lt(A), H = O.params, l = O.stricted, A = O.firstRestricted, O.message && (k = O.message), oe = E, J = Xe(), E && A && $(A, k), E && l && W(l, k), E = oe, a.markEnd(a.createFunctionExpression(t, H, [], J), ae);
|
|
1488
|
+
}
|
|
1489
|
+
function Ie() {
|
|
1490
|
+
if (f.type === c.Keyword)
|
|
1491
|
+
switch (f.value) {
|
|
1492
|
+
case "const":
|
|
1493
|
+
case "let":
|
|
1494
|
+
return Nt(f.value);
|
|
1495
|
+
case "function":
|
|
1496
|
+
return ct();
|
|
1497
|
+
default:
|
|
1498
|
+
return ve();
|
|
1499
|
+
}
|
|
1500
|
+
if (f.type !== c.EOF)
|
|
1501
|
+
return ve();
|
|
1502
|
+
}
|
|
1503
|
+
function er() {
|
|
1504
|
+
for (var e, t = [], l, A, k; u < D && (l = f, !(l.type !== c.StringLiteral || (e = Ie(), t.push(e), e.expression.type !== C.Literal))); )
|
|
1505
|
+
A = d.slice(l.start + 1, l.end - 1), A === "use strict" ? (E = !0, k && W(k, p.StrictOctalLiteral)) : !k && l.octal && (k = l);
|
|
1506
|
+
for (; u < D && (e = Ie(), !(typeof e > "u")); )
|
|
1507
|
+
t.push(e);
|
|
1508
|
+
return t;
|
|
1509
|
+
}
|
|
1510
|
+
function tr() {
|
|
1511
|
+
var e, t;
|
|
1512
|
+
return _(), ze(), t = f, E = !1, e = er(), a.markEnd(a.createProgram(e), t);
|
|
1513
|
+
}
|
|
1514
|
+
function ft() {
|
|
1515
|
+
var e, t, l, A = [];
|
|
1516
|
+
for (e = 0; e < g.tokens.length; ++e)
|
|
1517
|
+
t = g.tokens[e], l = {
|
|
1518
|
+
type: t.type,
|
|
1519
|
+
value: t.value
|
|
1520
|
+
}, g.range && (l.range = t.range), g.loc && (l.loc = t.loc), A.push(l);
|
|
1521
|
+
g.tokens = A;
|
|
1522
|
+
}
|
|
1523
|
+
function rr(e, t) {
|
|
1524
|
+
var l, A, k;
|
|
1525
|
+
l = String, typeof e != "string" && !(e instanceof String) && (e = l(e)), a = F, d = e, u = 0, S = d.length > 0 ? 1 : 0, B = 0, D = d.length, f = null, b = {
|
|
1526
|
+
allowIn: !0,
|
|
1527
|
+
labelSet: {},
|
|
1528
|
+
inFunctionBody: !1,
|
|
1529
|
+
inIteration: !1,
|
|
1530
|
+
inSwitch: !1,
|
|
1531
|
+
lastCommentStart: -1
|
|
1532
|
+
}, g = {}, t = t || {}, t.tokens = !0, g.tokens = [], g.tokenize = !0, g.openParenToken = -1, g.openCurlyToken = -1, g.range = typeof t.range == "boolean" && t.range, g.loc = typeof t.loc == "boolean" && t.loc, typeof t.comment == "boolean" && t.comment && (g.comments = []), typeof t.tolerant == "boolean" && t.tolerant && (g.errors = []);
|
|
1533
|
+
try {
|
|
1534
|
+
if (ze(), f.type === c.EOF)
|
|
1535
|
+
return g.tokens;
|
|
1536
|
+
for (A = j(); f.type !== c.EOF; )
|
|
1537
|
+
try {
|
|
1538
|
+
A = j();
|
|
1539
|
+
} catch (O) {
|
|
1540
|
+
if (A = f, g.errors) {
|
|
1541
|
+
g.errors.push(O);
|
|
1542
|
+
break;
|
|
1543
|
+
} else
|
|
1544
|
+
throw O;
|
|
1545
|
+
}
|
|
1546
|
+
ft(), k = g.tokens, typeof g.comments < "u" && (k.comments = g.comments), typeof g.errors < "u" && (k.errors = g.errors);
|
|
1547
|
+
} catch (O) {
|
|
1548
|
+
throw O;
|
|
1549
|
+
} finally {
|
|
1550
|
+
g = {};
|
|
1551
|
+
}
|
|
1552
|
+
return k;
|
|
1553
|
+
}
|
|
1554
|
+
function nr(e, t) {
|
|
1555
|
+
var l, A;
|
|
1556
|
+
A = String, typeof e != "string" && !(e instanceof String) && (e = A(e)), a = F, d = e, u = 0, S = d.length > 0 ? 1 : 0, B = 0, D = d.length, f = null, b = {
|
|
1557
|
+
allowIn: !0,
|
|
1558
|
+
labelSet: {},
|
|
1559
|
+
inFunctionBody: !1,
|
|
1560
|
+
inIteration: !1,
|
|
1561
|
+
inSwitch: !1,
|
|
1562
|
+
lastCommentStart: -1
|
|
1563
|
+
}, g = {}, typeof t < "u" && (g.range = typeof t.range == "boolean" && t.range, g.loc = typeof t.loc == "boolean" && t.loc, g.attachComment = typeof t.attachComment == "boolean" && t.attachComment, g.loc && t.source !== null && t.source !== void 0 && (g.source = A(t.source)), typeof t.tokens == "boolean" && t.tokens && (g.tokens = []), typeof t.comment == "boolean" && t.comment && (g.comments = []), typeof t.tolerant == "boolean" && t.tolerant && (g.errors = []), g.attachComment && (g.range = !0, g.comments = [], g.bottomRightStack = [], g.trailingComments = [], g.leadingComments = []));
|
|
1564
|
+
try {
|
|
1565
|
+
l = tr(), typeof g.comments < "u" && (l.comments = g.comments), typeof g.tokens < "u" && (ft(), l.tokens = g.tokens), typeof g.errors < "u" && (l.errors = g.errors);
|
|
1566
|
+
} catch (k) {
|
|
1567
|
+
throw k;
|
|
1568
|
+
} finally {
|
|
1569
|
+
g = {};
|
|
1570
|
+
}
|
|
1571
|
+
return l;
|
|
1572
|
+
}
|
|
1573
|
+
s.version = "1.2.2", s.tokenize = rr, s.parse = nr, s.Syntax = function() {
|
|
1574
|
+
var e, t = {};
|
|
1575
|
+
typeof Object.create == "function" && (t = /* @__PURE__ */ Object.create(null));
|
|
1576
|
+
for (e in C)
|
|
1577
|
+
C.hasOwnProperty(e) && (t[e] = C[e]);
|
|
1578
|
+
return typeof Object.freeze == "function" && Object.freeze(t), t;
|
|
1579
|
+
}();
|
|
1580
|
+
});
|
|
1581
|
+
}, {}], 1: [function(n, o, h) {
|
|
1582
|
+
(function(s) {
|
|
1583
|
+
var c = function() {
|
|
1584
|
+
var x = {
|
|
1585
|
+
trace: function() {
|
|
1586
|
+
},
|
|
1587
|
+
yy: {},
|
|
1588
|
+
symbols_: { error: 2, JSON_PATH: 3, DOLLAR: 4, PATH_COMPONENTS: 5, LEADING_CHILD_MEMBER_EXPRESSION: 6, PATH_COMPONENT: 7, MEMBER_COMPONENT: 8, SUBSCRIPT_COMPONENT: 9, CHILD_MEMBER_COMPONENT: 10, DESCENDANT_MEMBER_COMPONENT: 11, DOT: 12, MEMBER_EXPRESSION: 13, DOT_DOT: 14, STAR: 15, IDENTIFIER: 16, SCRIPT_EXPRESSION: 17, INTEGER: 18, END: 19, CHILD_SUBSCRIPT_COMPONENT: 20, DESCENDANT_SUBSCRIPT_COMPONENT: 21, "[": 22, SUBSCRIPT: 23, "]": 24, SUBSCRIPT_EXPRESSION: 25, SUBSCRIPT_EXPRESSION_LIST: 26, SUBSCRIPT_EXPRESSION_LISTABLE: 27, ",": 28, STRING_LITERAL: 29, ARRAY_SLICE: 30, FILTER_EXPRESSION: 31, QQ_STRING: 32, Q_STRING: 33, $accept: 0, $end: 1 },
|
|
1589
|
+
terminals_: { 2: "error", 4: "DOLLAR", 12: "DOT", 14: "DOT_DOT", 15: "STAR", 16: "IDENTIFIER", 17: "SCRIPT_EXPRESSION", 18: "INTEGER", 19: "END", 22: "[", 24: "]", 28: ",", 30: "ARRAY_SLICE", 31: "FILTER_EXPRESSION", 32: "QQ_STRING", 33: "Q_STRING" },
|
|
1590
|
+
productions_: [0, [3, 1], [3, 2], [3, 1], [3, 2], [5, 1], [5, 2], [7, 1], [7, 1], [8, 1], [8, 1], [10, 2], [6, 1], [11, 2], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [9, 1], [9, 1], [20, 3], [21, 4], [23, 1], [23, 1], [26, 1], [26, 3], [27, 1], [27, 1], [27, 1], [25, 1], [25, 1], [25, 1], [29, 1], [29, 1]],
|
|
1591
|
+
performAction: function(y, F, d, E, u, S, B) {
|
|
1592
|
+
E.ast || (E.ast = v, v.initialize());
|
|
1593
|
+
var D = S.length - 1;
|
|
1594
|
+
switch (u) {
|
|
1595
|
+
case 1:
|
|
1596
|
+
return E.ast.set({ expression: { type: "root", value: S[D] } }), E.ast.unshift(), E.ast.yield();
|
|
1597
|
+
case 2:
|
|
1598
|
+
return E.ast.set({ expression: { type: "root", value: S[D - 1] } }), E.ast.unshift(), E.ast.yield();
|
|
1599
|
+
case 3:
|
|
1600
|
+
return E.ast.unshift(), E.ast.yield();
|
|
1601
|
+
case 4:
|
|
1602
|
+
return E.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: S[D - 1] } }), E.ast.unshift(), E.ast.yield();
|
|
1603
|
+
case 5:
|
|
1604
|
+
break;
|
|
1605
|
+
case 6:
|
|
1606
|
+
break;
|
|
1607
|
+
case 7:
|
|
1608
|
+
E.ast.set({ operation: "member" }), E.ast.push();
|
|
1609
|
+
break;
|
|
1610
|
+
case 8:
|
|
1611
|
+
E.ast.set({ operation: "subscript" }), E.ast.push();
|
|
1612
|
+
break;
|
|
1613
|
+
case 9:
|
|
1614
|
+
E.ast.set({ scope: "child" });
|
|
1615
|
+
break;
|
|
1616
|
+
case 10:
|
|
1617
|
+
E.ast.set({ scope: "descendant" });
|
|
1618
|
+
break;
|
|
1619
|
+
case 11:
|
|
1620
|
+
break;
|
|
1621
|
+
case 12:
|
|
1622
|
+
E.ast.set({ scope: "child", operation: "member" });
|
|
1623
|
+
break;
|
|
1624
|
+
case 13:
|
|
1625
|
+
break;
|
|
1626
|
+
case 14:
|
|
1627
|
+
E.ast.set({ expression: { type: "wildcard", value: S[D] } });
|
|
1628
|
+
break;
|
|
1629
|
+
case 15:
|
|
1630
|
+
E.ast.set({ expression: { type: "identifier", value: S[D] } });
|
|
1631
|
+
break;
|
|
1632
|
+
case 16:
|
|
1633
|
+
E.ast.set({ expression: { type: "script_expression", value: S[D] } });
|
|
1634
|
+
break;
|
|
1635
|
+
case 17:
|
|
1636
|
+
E.ast.set({ expression: { type: "numeric_literal", value: parseInt(S[D]) } });
|
|
1637
|
+
break;
|
|
1638
|
+
case 18:
|
|
1639
|
+
break;
|
|
1640
|
+
case 19:
|
|
1641
|
+
E.ast.set({ scope: "child" });
|
|
1642
|
+
break;
|
|
1643
|
+
case 20:
|
|
1644
|
+
E.ast.set({ scope: "descendant" });
|
|
1645
|
+
break;
|
|
1646
|
+
case 21:
|
|
1647
|
+
break;
|
|
1648
|
+
case 22:
|
|
1649
|
+
break;
|
|
1650
|
+
case 23:
|
|
1651
|
+
break;
|
|
1652
|
+
case 24:
|
|
1653
|
+
S[D].length > 1 ? E.ast.set({ expression: { type: "union", value: S[D] } }) : this.$ = S[D];
|
|
1654
|
+
break;
|
|
1655
|
+
case 25:
|
|
1656
|
+
this.$ = [S[D]];
|
|
1657
|
+
break;
|
|
1658
|
+
case 26:
|
|
1659
|
+
this.$ = S[D - 2].concat(S[D]);
|
|
1660
|
+
break;
|
|
1661
|
+
case 27:
|
|
1662
|
+
this.$ = { expression: { type: "numeric_literal", value: parseInt(S[D]) } }, E.ast.set(this.$);
|
|
1663
|
+
break;
|
|
1664
|
+
case 28:
|
|
1665
|
+
this.$ = { expression: { type: "string_literal", value: S[D] } }, E.ast.set(this.$);
|
|
1666
|
+
break;
|
|
1667
|
+
case 29:
|
|
1668
|
+
this.$ = { expression: { type: "slice", value: S[D] } }, E.ast.set(this.$);
|
|
1669
|
+
break;
|
|
1670
|
+
case 30:
|
|
1671
|
+
this.$ = { expression: { type: "wildcard", value: S[D] } }, E.ast.set(this.$);
|
|
1672
|
+
break;
|
|
1673
|
+
case 31:
|
|
1674
|
+
this.$ = { expression: { type: "script_expression", value: S[D] } }, E.ast.set(this.$);
|
|
1675
|
+
break;
|
|
1676
|
+
case 32:
|
|
1677
|
+
this.$ = { expression: { type: "filter_expression", value: S[D] } }, E.ast.set(this.$);
|
|
1678
|
+
break;
|
|
1679
|
+
case 33:
|
|
1680
|
+
this.$ = S[D];
|
|
1681
|
+
break;
|
|
1682
|
+
case 34:
|
|
1683
|
+
this.$ = S[D];
|
|
1684
|
+
break;
|
|
1685
|
+
}
|
|
1686
|
+
},
|
|
1687
|
+
table: [{ 3: 1, 4: [1, 2], 6: 3, 13: 4, 15: [1, 5], 16: [1, 6], 17: [1, 7], 18: [1, 8], 19: [1, 9] }, { 1: [3] }, { 1: [2, 1], 5: 10, 7: 11, 8: 12, 9: 13, 10: 14, 11: 15, 12: [1, 18], 14: [1, 19], 20: 16, 21: 17, 22: [1, 20] }, { 1: [2, 3], 5: 21, 7: 11, 8: 12, 9: 13, 10: 14, 11: 15, 12: [1, 18], 14: [1, 19], 20: 16, 21: 17, 22: [1, 20] }, { 1: [2, 12], 12: [2, 12], 14: [2, 12], 22: [2, 12] }, { 1: [2, 14], 12: [2, 14], 14: [2, 14], 22: [2, 14] }, { 1: [2, 15], 12: [2, 15], 14: [2, 15], 22: [2, 15] }, { 1: [2, 16], 12: [2, 16], 14: [2, 16], 22: [2, 16] }, { 1: [2, 17], 12: [2, 17], 14: [2, 17], 22: [2, 17] }, { 1: [2, 18], 12: [2, 18], 14: [2, 18], 22: [2, 18] }, { 1: [2, 2], 7: 22, 8: 12, 9: 13, 10: 14, 11: 15, 12: [1, 18], 14: [1, 19], 20: 16, 21: 17, 22: [1, 20] }, { 1: [2, 5], 12: [2, 5], 14: [2, 5], 22: [2, 5] }, { 1: [2, 7], 12: [2, 7], 14: [2, 7], 22: [2, 7] }, { 1: [2, 8], 12: [2, 8], 14: [2, 8], 22: [2, 8] }, { 1: [2, 9], 12: [2, 9], 14: [2, 9], 22: [2, 9] }, { 1: [2, 10], 12: [2, 10], 14: [2, 10], 22: [2, 10] }, { 1: [2, 19], 12: [2, 19], 14: [2, 19], 22: [2, 19] }, { 1: [2, 20], 12: [2, 20], 14: [2, 20], 22: [2, 20] }, { 13: 23, 15: [1, 5], 16: [1, 6], 17: [1, 7], 18: [1, 8], 19: [1, 9] }, { 13: 24, 15: [1, 5], 16: [1, 6], 17: [1, 7], 18: [1, 8], 19: [1, 9], 22: [1, 25] }, { 15: [1, 29], 17: [1, 30], 18: [1, 33], 23: 26, 25: 27, 26: 28, 27: 32, 29: 34, 30: [1, 35], 31: [1, 31], 32: [1, 36], 33: [1, 37] }, { 1: [2, 4], 7: 22, 8: 12, 9: 13, 10: 14, 11: 15, 12: [1, 18], 14: [1, 19], 20: 16, 21: 17, 22: [1, 20] }, { 1: [2, 6], 12: [2, 6], 14: [2, 6], 22: [2, 6] }, { 1: [2, 11], 12: [2, 11], 14: [2, 11], 22: [2, 11] }, { 1: [2, 13], 12: [2, 13], 14: [2, 13], 22: [2, 13] }, { 15: [1, 29], 17: [1, 30], 18: [1, 33], 23: 38, 25: 27, 26: 28, 27: 32, 29: 34, 30: [1, 35], 31: [1, 31], 32: [1, 36], 33: [1, 37] }, { 24: [1, 39] }, { 24: [2, 23] }, { 24: [2, 24], 28: [1, 40] }, { 24: [2, 30] }, { 24: [2, 31] }, { 24: [2, 32] }, { 24: [2, 25], 28: [2, 25] }, { 24: [2, 27], 28: [2, 27] }, { 24: [2, 28], 28: [2, 28] }, { 24: [2, 29], 28: [2, 29] }, { 24: [2, 33], 28: [2, 33] }, { 24: [2, 34], 28: [2, 34] }, { 24: [1, 41] }, { 1: [2, 21], 12: [2, 21], 14: [2, 21], 22: [2, 21] }, { 18: [1, 33], 27: 42, 29: 34, 30: [1, 35], 32: [1, 36], 33: [1, 37] }, { 1: [2, 22], 12: [2, 22], 14: [2, 22], 22: [2, 22] }, { 24: [2, 26], 28: [2, 26] }],
|
|
1688
|
+
defaultActions: { 27: [2, 23], 29: [2, 30], 30: [2, 31], 31: [2, 32] },
|
|
1689
|
+
parseError: function(y, F) {
|
|
1690
|
+
if (F.recoverable)
|
|
1691
|
+
this.trace(y);
|
|
1692
|
+
else
|
|
1693
|
+
throw new Error(y);
|
|
1694
|
+
},
|
|
1695
|
+
parse: function(y) {
|
|
1696
|
+
var F = this, d = [0], E = [null], u = [], S = this.table, B = "", D = 0, a = 0, f = 2, b = 1, g = u.slice.call(arguments, 1);
|
|
1697
|
+
this.lexer.setInput(y), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, typeof this.lexer.yylloc > "u" && (this.lexer.yylloc = {});
|
|
1698
|
+
var I = this.lexer.yylloc;
|
|
1699
|
+
u.push(I);
|
|
1700
|
+
var M = this.lexer.options && this.lexer.options.ranges;
|
|
1701
|
+
typeof this.yy.parseError == "function" ? this.parseError = this.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
|
|
1702
|
+
function z() {
|
|
1703
|
+
var he;
|
|
1704
|
+
return he = F.lexer.lex() || b, typeof he != "number" && (he = F.symbols_[he] || he), he;
|
|
1705
|
+
}
|
|
1706
|
+
for (var T, N, U, q, V = {}, fe, re, ee, pe; ; ) {
|
|
1707
|
+
if (N = d[d.length - 1], this.defaultActions[N] ? U = this.defaultActions[N] : ((T === null || typeof T > "u") && (T = z()), U = S[N] && S[N][T]), typeof U > "u" || !U.length || !U[0]) {
|
|
1708
|
+
var ce = "";
|
|
1709
|
+
pe = [];
|
|
1710
|
+
for (fe in S[N])
|
|
1711
|
+
this.terminals_[fe] && fe > f && pe.push("'" + this.terminals_[fe] + "'");
|
|
1712
|
+
this.lexer.showPosition ? ce = "Parse error on line " + (D + 1) + `:
|
|
1713
|
+
` + this.lexer.showPosition() + `
|
|
1714
|
+
Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[T] || T) + "'" : ce = "Parse error on line " + (D + 1) + ": Unexpected " + (T == b ? "end of input" : "'" + (this.terminals_[T] || T) + "'"), this.parseError(ce, {
|
|
1715
|
+
text: this.lexer.match,
|
|
1716
|
+
token: this.terminals_[T] || T,
|
|
1717
|
+
line: this.lexer.yylineno,
|
|
1718
|
+
loc: I,
|
|
1719
|
+
expected: pe
|
|
1720
|
+
});
|
|
1721
|
+
}
|
|
1722
|
+
if (U[0] instanceof Array && U.length > 1)
|
|
1723
|
+
throw new Error("Parse Error: multiple actions possible at state: " + N + ", token: " + T);
|
|
1724
|
+
switch (U[0]) {
|
|
1725
|
+
case 1:
|
|
1726
|
+
d.push(T), E.push(this.lexer.yytext), u.push(this.lexer.yylloc), d.push(U[1]), T = null, a = this.lexer.yyleng, B = this.lexer.yytext, D = this.lexer.yylineno, I = this.lexer.yylloc;
|
|
1727
|
+
break;
|
|
1728
|
+
case 2:
|
|
1729
|
+
if (re = this.productions_[U[1]][1], V.$ = E[E.length - re], V._$ = {
|
|
1730
|
+
first_line: u[u.length - (re || 1)].first_line,
|
|
1731
|
+
last_line: u[u.length - 1].last_line,
|
|
1732
|
+
first_column: u[u.length - (re || 1)].first_column,
|
|
1733
|
+
last_column: u[u.length - 1].last_column
|
|
1734
|
+
}, M && (V._$.range = [
|
|
1735
|
+
u[u.length - (re || 1)].range[0],
|
|
1736
|
+
u[u.length - 1].range[1]
|
|
1737
|
+
]), q = this.performAction.apply(V, [
|
|
1738
|
+
B,
|
|
1739
|
+
a,
|
|
1740
|
+
D,
|
|
1741
|
+
this.yy,
|
|
1742
|
+
U[1],
|
|
1743
|
+
E,
|
|
1744
|
+
u
|
|
1745
|
+
].concat(g)), typeof q < "u")
|
|
1746
|
+
return q;
|
|
1747
|
+
re && (d = d.slice(0, -1 * re * 2), E = E.slice(0, -1 * re), u = u.slice(0, -1 * re)), d.push(this.productions_[U[1]][0]), E.push(V.$), u.push(V._$), ee = S[d[d.length - 2]][d[d.length - 1]], d.push(ee);
|
|
1748
|
+
break;
|
|
1749
|
+
case 3:
|
|
1750
|
+
return !0;
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
return !0;
|
|
1754
|
+
}
|
|
1755
|
+
}, v = {
|
|
1756
|
+
initialize: function() {
|
|
1757
|
+
this._nodes = [], this._node = {}, this._stash = [];
|
|
1758
|
+
},
|
|
1759
|
+
set: function(p) {
|
|
1760
|
+
for (var y in p)
|
|
1761
|
+
this._node[y] = p[y];
|
|
1762
|
+
return this._node;
|
|
1763
|
+
},
|
|
1764
|
+
node: function(p) {
|
|
1765
|
+
return arguments.length && (this._node = p), this._node;
|
|
1766
|
+
},
|
|
1767
|
+
push: function() {
|
|
1768
|
+
this._nodes.push(this._node), this._node = {};
|
|
1769
|
+
},
|
|
1770
|
+
unshift: function() {
|
|
1771
|
+
this._nodes.unshift(this._node), this._node = {};
|
|
1772
|
+
},
|
|
1773
|
+
yield: function() {
|
|
1774
|
+
var p = this._nodes;
|
|
1775
|
+
return this.initialize(), p;
|
|
1776
|
+
}
|
|
1777
|
+
}, C = function() {
|
|
1778
|
+
var p = {
|
|
1779
|
+
EOF: 1,
|
|
1780
|
+
parseError: function(F, d) {
|
|
1781
|
+
if (this.yy.parser)
|
|
1782
|
+
this.yy.parser.parseError(F, d);
|
|
1783
|
+
else
|
|
1784
|
+
throw new Error(F);
|
|
1785
|
+
},
|
|
1786
|
+
// resets the lexer, sets new input
|
|
1787
|
+
setInput: function(y) {
|
|
1788
|
+
return this._input = y, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
|
|
1789
|
+
first_line: 1,
|
|
1790
|
+
first_column: 0,
|
|
1791
|
+
last_line: 1,
|
|
1792
|
+
last_column: 0
|
|
1793
|
+
}, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
|
|
1794
|
+
},
|
|
1795
|
+
// consumes and returns one char from the input
|
|
1796
|
+
input: function() {
|
|
1797
|
+
var y = this._input[0];
|
|
1798
|
+
this.yytext += y, this.yyleng++, this.offset++, this.match += y, this.matched += y;
|
|
1799
|
+
var F = y.match(/(?:\r\n?|\n).*/g);
|
|
1800
|
+
return F ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), y;
|
|
1801
|
+
},
|
|
1802
|
+
// unshifts one char (or a string) into the input
|
|
1803
|
+
unput: function(y) {
|
|
1804
|
+
var F = y.length, d = y.split(/(?:\r\n?|\n)/g);
|
|
1805
|
+
this._input = y + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - F - 1), this.offset -= F;
|
|
1806
|
+
var E = this.match.split(/(?:\r\n?|\n)/g);
|
|
1807
|
+
this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), d.length - 1 && (this.yylineno -= d.length - 1);
|
|
1808
|
+
var u = this.yylloc.range;
|
|
1809
|
+
return this.yylloc = {
|
|
1810
|
+
first_line: this.yylloc.first_line,
|
|
1811
|
+
last_line: this.yylineno + 1,
|
|
1812
|
+
first_column: this.yylloc.first_column,
|
|
1813
|
+
last_column: d ? (d.length === E.length ? this.yylloc.first_column : 0) + E[E.length - d.length].length - d[0].length : this.yylloc.first_column - F
|
|
1814
|
+
}, this.options.ranges && (this.yylloc.range = [u[0], u[0] + this.yyleng - F]), this.yyleng = this.yytext.length, this;
|
|
1815
|
+
},
|
|
1816
|
+
// When called from action, caches matched text and appends it on next action
|
|
1817
|
+
more: function() {
|
|
1818
|
+
return this._more = !0, this;
|
|
1819
|
+
},
|
|
1820
|
+
// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
|
|
1821
|
+
reject: function() {
|
|
1822
|
+
if (this.options.backtrack_lexer)
|
|
1823
|
+
this._backtrack = !0;
|
|
1824
|
+
else
|
|
1825
|
+
return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
1826
|
+
` + this.showPosition(), {
|
|
1827
|
+
text: "",
|
|
1828
|
+
token: null,
|
|
1829
|
+
line: this.yylineno
|
|
1830
|
+
});
|
|
1831
|
+
return this;
|
|
1832
|
+
},
|
|
1833
|
+
// retain first n characters of the match
|
|
1834
|
+
less: function(y) {
|
|
1835
|
+
this.unput(this.match.slice(y));
|
|
1836
|
+
},
|
|
1837
|
+
// displays already matched input, i.e. for error messages
|
|
1838
|
+
pastInput: function() {
|
|
1839
|
+
var y = this.matched.substr(0, this.matched.length - this.match.length);
|
|
1840
|
+
return (y.length > 20 ? "..." : "") + y.substr(-20).replace(/\n/g, "");
|
|
1841
|
+
},
|
|
1842
|
+
// displays upcoming input, i.e. for error messages
|
|
1843
|
+
upcomingInput: function() {
|
|
1844
|
+
var y = this.match;
|
|
1845
|
+
return y.length < 20 && (y += this._input.substr(0, 20 - y.length)), (y.substr(0, 20) + (y.length > 20 ? "..." : "")).replace(/\n/g, "");
|
|
1846
|
+
},
|
|
1847
|
+
// displays the character position where the lexing error occurred, i.e. for error messages
|
|
1848
|
+
showPosition: function() {
|
|
1849
|
+
var y = this.pastInput(), F = new Array(y.length + 1).join("-");
|
|
1850
|
+
return y + this.upcomingInput() + `
|
|
1851
|
+
` + F + "^";
|
|
1852
|
+
},
|
|
1853
|
+
// test the lexed token: return FALSE when not a match, otherwise return token
|
|
1854
|
+
test_match: function(y, F) {
|
|
1855
|
+
var d, E, u;
|
|
1856
|
+
if (this.options.backtrack_lexer && (u = {
|
|
1857
|
+
yylineno: this.yylineno,
|
|
1858
|
+
yylloc: {
|
|
1859
|
+
first_line: this.yylloc.first_line,
|
|
1860
|
+
last_line: this.last_line,
|
|
1861
|
+
first_column: this.yylloc.first_column,
|
|
1862
|
+
last_column: this.yylloc.last_column
|
|
1863
|
+
},
|
|
1864
|
+
yytext: this.yytext,
|
|
1865
|
+
match: this.match,
|
|
1866
|
+
matches: this.matches,
|
|
1867
|
+
matched: this.matched,
|
|
1868
|
+
yyleng: this.yyleng,
|
|
1869
|
+
offset: this.offset,
|
|
1870
|
+
_more: this._more,
|
|
1871
|
+
_input: this._input,
|
|
1872
|
+
yy: this.yy,
|
|
1873
|
+
conditionStack: this.conditionStack.slice(0),
|
|
1874
|
+
done: this.done
|
|
1875
|
+
}, this.options.ranges && (u.yylloc.range = this.yylloc.range.slice(0))), E = y[0].match(/(?:\r\n?|\n).*/g), E && (this.yylineno += E.length), this.yylloc = {
|
|
1876
|
+
first_line: this.yylloc.last_line,
|
|
1877
|
+
last_line: this.yylineno + 1,
|
|
1878
|
+
first_column: this.yylloc.last_column,
|
|
1879
|
+
last_column: E ? E[E.length - 1].length - E[E.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + y[0].length
|
|
1880
|
+
}, this.yytext += y[0], this.match += y[0], this.matches = y, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(y[0].length), this.matched += y[0], d = this.performAction.call(this, this.yy, this, F, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), d)
|
|
1881
|
+
return d;
|
|
1882
|
+
if (this._backtrack) {
|
|
1883
|
+
for (var S in u)
|
|
1884
|
+
this[S] = u[S];
|
|
1885
|
+
return !1;
|
|
1886
|
+
}
|
|
1887
|
+
return !1;
|
|
1888
|
+
},
|
|
1889
|
+
// return next match in input
|
|
1890
|
+
next: function() {
|
|
1891
|
+
if (this.done)
|
|
1892
|
+
return this.EOF;
|
|
1893
|
+
this._input || (this.done = !0);
|
|
1894
|
+
var y, F, d, E;
|
|
1895
|
+
this._more || (this.yytext = "", this.match = "");
|
|
1896
|
+
for (var u = this._currentRules(), S = 0; S < u.length; S++)
|
|
1897
|
+
if (d = this._input.match(this.rules[u[S]]), d && (!F || d[0].length > F[0].length)) {
|
|
1898
|
+
if (F = d, E = S, this.options.backtrack_lexer) {
|
|
1899
|
+
if (y = this.test_match(d, u[S]), y !== !1)
|
|
1900
|
+
return y;
|
|
1901
|
+
if (this._backtrack) {
|
|
1902
|
+
F = !1;
|
|
1903
|
+
continue;
|
|
1904
|
+
} else
|
|
1905
|
+
return !1;
|
|
1906
|
+
} else if (!this.options.flex)
|
|
1907
|
+
break;
|
|
1908
|
+
}
|
|
1909
|
+
return F ? (y = this.test_match(F, u[E]), y !== !1 ? y : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
|
|
1910
|
+
` + this.showPosition(), {
|
|
1911
|
+
text: "",
|
|
1912
|
+
token: null,
|
|
1913
|
+
line: this.yylineno
|
|
1914
|
+
});
|
|
1915
|
+
},
|
|
1916
|
+
// return next match that has a token
|
|
1917
|
+
lex: function() {
|
|
1918
|
+
var F = this.next();
|
|
1919
|
+
return F || this.lex();
|
|
1920
|
+
},
|
|
1921
|
+
// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
|
|
1922
|
+
begin: function(F) {
|
|
1923
|
+
this.conditionStack.push(F);
|
|
1924
|
+
},
|
|
1925
|
+
// pop the previously active lexer condition state off the condition stack
|
|
1926
|
+
popState: function() {
|
|
1927
|
+
var F = this.conditionStack.length - 1;
|
|
1928
|
+
return F > 0 ? this.conditionStack.pop() : this.conditionStack[0];
|
|
1929
|
+
},
|
|
1930
|
+
// produce the lexer rule set which is active for the currently active lexer condition state
|
|
1931
|
+
_currentRules: function() {
|
|
1932
|
+
return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
|
|
1933
|
+
},
|
|
1934
|
+
// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
|
|
1935
|
+
topState: function(F) {
|
|
1936
|
+
return F = this.conditionStack.length - 1 - Math.abs(F || 0), F >= 0 ? this.conditionStack[F] : "INITIAL";
|
|
1937
|
+
},
|
|
1938
|
+
// alias for begin(condition)
|
|
1939
|
+
pushState: function(F) {
|
|
1940
|
+
this.begin(F);
|
|
1941
|
+
},
|
|
1942
|
+
// return the number of states currently on the stack
|
|
1943
|
+
stateStackSize: function() {
|
|
1944
|
+
return this.conditionStack.length;
|
|
1945
|
+
},
|
|
1946
|
+
options: {},
|
|
1947
|
+
performAction: function(F, d, E, u) {
|
|
1948
|
+
switch (E) {
|
|
1949
|
+
case 0:
|
|
1950
|
+
return 4;
|
|
1951
|
+
case 1:
|
|
1952
|
+
return 14;
|
|
1953
|
+
case 2:
|
|
1954
|
+
return 12;
|
|
1955
|
+
case 3:
|
|
1956
|
+
return 15;
|
|
1957
|
+
case 4:
|
|
1958
|
+
return 16;
|
|
1959
|
+
case 5:
|
|
1960
|
+
return 22;
|
|
1961
|
+
case 6:
|
|
1962
|
+
return 24;
|
|
1963
|
+
case 7:
|
|
1964
|
+
return 28;
|
|
1965
|
+
case 8:
|
|
1966
|
+
return 30;
|
|
1967
|
+
case 9:
|
|
1968
|
+
return 18;
|
|
1969
|
+
case 10:
|
|
1970
|
+
return d.yytext = d.yytext.substr(1, d.yyleng - 2), 32;
|
|
1971
|
+
case 11:
|
|
1972
|
+
return d.yytext = d.yytext.substr(1, d.yyleng - 2), 33;
|
|
1973
|
+
case 12:
|
|
1974
|
+
return 17;
|
|
1975
|
+
case 13:
|
|
1976
|
+
return 31;
|
|
1977
|
+
}
|
|
1978
|
+
},
|
|
1979
|
+
rules: [/^(?:\$)/, /^(?:\.\.)/, /^(?:\.)/, /^(?:\*)/, /^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/, /^(?:\[)/, /^(?:\])/, /^(?:,)/, /^(?:((-?(?:0|[1-9][0-9]*)))?\:((-?(?:0|[1-9][0-9]*)))?(\:((-?(?:0|[1-9][0-9]*)))?)?)/, /^(?:(-?(?:0|[1-9][0-9]*)))/, /^(?:"(?:\\["bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^"\\])*")/, /^(?:'(?:\\['bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^'\\])*')/, /^(?:\(.+?\)(?=\]))/, /^(?:\?\(.+?\)(?=\]))/],
|
|
1980
|
+
conditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], inclusive: !0 } }
|
|
1981
|
+
};
|
|
1982
|
+
return p;
|
|
1983
|
+
}();
|
|
1984
|
+
x.lexer = C;
|
|
1985
|
+
function m() {
|
|
1986
|
+
this.yy = {};
|
|
1987
|
+
}
|
|
1988
|
+
return m.prototype = x, x.Parser = m, new m();
|
|
1989
|
+
}();
|
|
1990
|
+
typeof n < "u" && typeof h < "u" && (h.parser = c, h.Parser = c.Parser, h.parse = function() {
|
|
1991
|
+
return c.parse.apply(c, arguments);
|
|
1992
|
+
}, h.main = function(v) {
|
|
1993
|
+
v[1] || (console.log("Usage: " + v[0] + " FILE"), s.exit(1));
|
|
1994
|
+
var C = n("fs").readFileSync(n("path").normalize(v[1]), "utf8");
|
|
1995
|
+
return h.parser.parse(C);
|
|
1996
|
+
}, typeof o < "u" && n.main === o && h.main(s.argv.slice(1)));
|
|
1997
|
+
}).call(this, n("_process"));
|
|
1998
|
+
}, { _process: 14, fs: 12, path: 13 }], 2: [function(n, o, h) {
|
|
1999
|
+
o.exports = {
|
|
2000
|
+
identifier: "[a-zA-Z_]+[a-zA-Z0-9_]*",
|
|
2001
|
+
integer: "-?(?:0|[1-9][0-9]*)",
|
|
2002
|
+
qq_string: '"(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^"\\\\])*"',
|
|
2003
|
+
q_string: "'(?:\\\\['bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^'\\\\])*'"
|
|
2004
|
+
};
|
|
2005
|
+
}, {}], 3: [function(n, o, h) {
|
|
2006
|
+
var s = n("./dict"), c = n("fs"), x = {
|
|
2007
|
+
lex: {
|
|
2008
|
+
macros: {
|
|
2009
|
+
esc: "\\\\",
|
|
2010
|
+
int: s.integer
|
|
2011
|
+
},
|
|
2012
|
+
rules: [
|
|
2013
|
+
["\\$", "return 'DOLLAR'"],
|
|
2014
|
+
["\\.\\.", "return 'DOT_DOT'"],
|
|
2015
|
+
["\\.", "return 'DOT'"],
|
|
2016
|
+
["\\*", "return 'STAR'"],
|
|
2017
|
+
[s.identifier, "return 'IDENTIFIER'"],
|
|
2018
|
+
["\\[", "return '['"],
|
|
2019
|
+
["\\]", "return ']'"],
|
|
2020
|
+
[",", "return ','"],
|
|
2021
|
+
["({int})?\\:({int})?(\\:({int})?)?", "return 'ARRAY_SLICE'"],
|
|
2022
|
+
["{int}", "return 'INTEGER'"],
|
|
2023
|
+
[s.qq_string, "yytext = yytext.substr(1,yyleng-2); return 'QQ_STRING';"],
|
|
2024
|
+
[s.q_string, "yytext = yytext.substr(1,yyleng-2); return 'Q_STRING';"],
|
|
2025
|
+
["\\(.+?\\)(?=\\])", "return 'SCRIPT_EXPRESSION'"],
|
|
2026
|
+
["\\?\\(.+?\\)(?=\\])", "return 'FILTER_EXPRESSION'"]
|
|
2027
|
+
]
|
|
2028
|
+
},
|
|
2029
|
+
start: "JSON_PATH",
|
|
2030
|
+
bnf: {
|
|
2031
|
+
JSON_PATH: [
|
|
2032
|
+
["DOLLAR", 'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],
|
|
2033
|
+
["DOLLAR PATH_COMPONENTS", 'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],
|
|
2034
|
+
["LEADING_CHILD_MEMBER_EXPRESSION", "yy.ast.unshift(); return yy.ast.yield()"],
|
|
2035
|
+
["LEADING_CHILD_MEMBER_EXPRESSION PATH_COMPONENTS", 'yy.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: $1 }}); yy.ast.unshift(); return yy.ast.yield()']
|
|
2036
|
+
],
|
|
2037
|
+
PATH_COMPONENTS: [
|
|
2038
|
+
["PATH_COMPONENT", ""],
|
|
2039
|
+
["PATH_COMPONENTS PATH_COMPONENT", ""]
|
|
2040
|
+
],
|
|
2041
|
+
PATH_COMPONENT: [
|
|
2042
|
+
["MEMBER_COMPONENT", 'yy.ast.set({ operation: "member" }); yy.ast.push()'],
|
|
2043
|
+
["SUBSCRIPT_COMPONENT", 'yy.ast.set({ operation: "subscript" }); yy.ast.push() ']
|
|
2044
|
+
],
|
|
2045
|
+
MEMBER_COMPONENT: [
|
|
2046
|
+
["CHILD_MEMBER_COMPONENT", 'yy.ast.set({ scope: "child" })'],
|
|
2047
|
+
["DESCENDANT_MEMBER_COMPONENT", 'yy.ast.set({ scope: "descendant" })']
|
|
2048
|
+
],
|
|
2049
|
+
CHILD_MEMBER_COMPONENT: [
|
|
2050
|
+
["DOT MEMBER_EXPRESSION", ""]
|
|
2051
|
+
],
|
|
2052
|
+
LEADING_CHILD_MEMBER_EXPRESSION: [
|
|
2053
|
+
["MEMBER_EXPRESSION", 'yy.ast.set({ scope: "child", operation: "member" })']
|
|
2054
|
+
],
|
|
2055
|
+
DESCENDANT_MEMBER_COMPONENT: [
|
|
2056
|
+
["DOT_DOT MEMBER_EXPRESSION", ""]
|
|
2057
|
+
],
|
|
2058
|
+
MEMBER_EXPRESSION: [
|
|
2059
|
+
["STAR", 'yy.ast.set({ expression: { type: "wildcard", value: $1 } })'],
|
|
2060
|
+
["IDENTIFIER", 'yy.ast.set({ expression: { type: "identifier", value: $1 } })'],
|
|
2061
|
+
["SCRIPT_EXPRESSION", 'yy.ast.set({ expression: { type: "script_expression", value: $1 } })'],
|
|
2062
|
+
["INTEGER", 'yy.ast.set({ expression: { type: "numeric_literal", value: parseInt($1) } })'],
|
|
2063
|
+
["END", ""]
|
|
2064
|
+
],
|
|
2065
|
+
SUBSCRIPT_COMPONENT: [
|
|
2066
|
+
["CHILD_SUBSCRIPT_COMPONENT", 'yy.ast.set({ scope: "child" })'],
|
|
2067
|
+
["DESCENDANT_SUBSCRIPT_COMPONENT", 'yy.ast.set({ scope: "descendant" })']
|
|
2068
|
+
],
|
|
2069
|
+
CHILD_SUBSCRIPT_COMPONENT: [
|
|
2070
|
+
["[ SUBSCRIPT ]", ""]
|
|
2071
|
+
],
|
|
2072
|
+
DESCENDANT_SUBSCRIPT_COMPONENT: [
|
|
2073
|
+
["DOT_DOT [ SUBSCRIPT ]", ""]
|
|
2074
|
+
],
|
|
2075
|
+
SUBSCRIPT: [
|
|
2076
|
+
["SUBSCRIPT_EXPRESSION", ""],
|
|
2077
|
+
["SUBSCRIPT_EXPRESSION_LIST", '$1.length > 1? yy.ast.set({ expression: { type: "union", value: $1 } }) : $$ = $1']
|
|
2078
|
+
],
|
|
2079
|
+
SUBSCRIPT_EXPRESSION_LIST: [
|
|
2080
|
+
["SUBSCRIPT_EXPRESSION_LISTABLE", "$$ = [$1]"],
|
|
2081
|
+
["SUBSCRIPT_EXPRESSION_LIST , SUBSCRIPT_EXPRESSION_LISTABLE", "$$ = $1.concat($3)"]
|
|
2082
|
+
],
|
|
2083
|
+
SUBSCRIPT_EXPRESSION_LISTABLE: [
|
|
2084
|
+
["INTEGER", '$$ = { expression: { type: "numeric_literal", value: parseInt($1) } }; yy.ast.set($$)'],
|
|
2085
|
+
["STRING_LITERAL", '$$ = { expression: { type: "string_literal", value: $1 } }; yy.ast.set($$)'],
|
|
2086
|
+
["ARRAY_SLICE", '$$ = { expression: { type: "slice", value: $1 } }; yy.ast.set($$)']
|
|
2087
|
+
],
|
|
2088
|
+
SUBSCRIPT_EXPRESSION: [
|
|
2089
|
+
["STAR", '$$ = { expression: { type: "wildcard", value: $1 } }; yy.ast.set($$)'],
|
|
2090
|
+
["SCRIPT_EXPRESSION", '$$ = { expression: { type: "script_expression", value: $1 } }; yy.ast.set($$)'],
|
|
2091
|
+
["FILTER_EXPRESSION", '$$ = { expression: { type: "filter_expression", value: $1 } }; yy.ast.set($$)']
|
|
2092
|
+
],
|
|
2093
|
+
STRING_LITERAL: [
|
|
2094
|
+
["QQ_STRING", "$$ = $1"],
|
|
2095
|
+
["Q_STRING", "$$ = $1"]
|
|
2096
|
+
]
|
|
2097
|
+
}
|
|
2098
|
+
};
|
|
2099
|
+
c.readFileSync && (x.moduleInclude = c.readFileSync(n.resolve("../include/module.js")), x.actionInclude = c.readFileSync(n.resolve("../include/action.js"))), o.exports = x;
|
|
2100
|
+
}, { "./dict": 2, fs: 12 }], 4: [function(n, o, h) {
|
|
2101
|
+
var s = n("./aesprim"), c = n("./slice"), x = n("static-eval"), v = n("underscore").uniq, C = function() {
|
|
2102
|
+
return this.initialize.apply(this, arguments);
|
|
2103
|
+
};
|
|
2104
|
+
C.prototype.initialize = function() {
|
|
2105
|
+
this.traverse = F(!0), this.descend = F();
|
|
2106
|
+
}, C.prototype.keys = Object.keys, C.prototype.resolve = function(D) {
|
|
2107
|
+
var a = [D.operation, D.scope, D.expression.type].join("-"), f = this._fns[a];
|
|
2108
|
+
if (!f)
|
|
2109
|
+
throw new Error("couldn't resolve key: " + a);
|
|
2110
|
+
return f.bind(this);
|
|
2111
|
+
}, C.prototype.register = function(D, a) {
|
|
2112
|
+
if (!a instanceof Function)
|
|
2113
|
+
throw new Error("handler must be a function");
|
|
2114
|
+
this._fns[D] = a;
|
|
2115
|
+
}, C.prototype._fns = {
|
|
2116
|
+
"member-child-identifier": function(D, a) {
|
|
2117
|
+
var f = D.expression.value, b = a.value;
|
|
2118
|
+
if (b instanceof Object && f in b)
|
|
2119
|
+
return [{ value: b[f], path: a.path.concat(f) }];
|
|
2120
|
+
},
|
|
2121
|
+
"member-descendant-identifier": E(function(D, a, f) {
|
|
2122
|
+
return D == f;
|
|
2123
|
+
}),
|
|
2124
|
+
"subscript-child-numeric_literal": d(function(D, a, f) {
|
|
2125
|
+
return D === f;
|
|
2126
|
+
}),
|
|
2127
|
+
"member-child-numeric_literal": d(function(D, a, f) {
|
|
2128
|
+
return String(D) === String(f);
|
|
2129
|
+
}),
|
|
2130
|
+
"subscript-descendant-numeric_literal": E(function(D, a, f) {
|
|
2131
|
+
return D === f;
|
|
2132
|
+
}),
|
|
2133
|
+
"member-child-wildcard": d(function() {
|
|
2134
|
+
return !0;
|
|
2135
|
+
}),
|
|
2136
|
+
"member-descendant-wildcard": E(function() {
|
|
2137
|
+
return !0;
|
|
2138
|
+
}),
|
|
2139
|
+
"subscript-descendant-wildcard": E(function() {
|
|
2140
|
+
return !0;
|
|
2141
|
+
}),
|
|
2142
|
+
"subscript-child-wildcard": d(function() {
|
|
2143
|
+
return !0;
|
|
2144
|
+
}),
|
|
2145
|
+
"subscript-child-slice": function(D, a) {
|
|
2146
|
+
if (p(a.value)) {
|
|
2147
|
+
var f = D.expression.value.split(":").map(B), b = a.value.map(function(g, I) {
|
|
2148
|
+
return { value: g, path: a.path.concat(I) };
|
|
2149
|
+
});
|
|
2150
|
+
return c.apply(null, [b].concat(f));
|
|
2151
|
+
}
|
|
2152
|
+
},
|
|
2153
|
+
"subscript-child-union": function(D, a) {
|
|
2154
|
+
var f = [];
|
|
2155
|
+
return D.expression.value.forEach(function(b) {
|
|
2156
|
+
var g = { operation: "subscript", scope: "child", expression: b.expression }, I = this.resolve(g), M = I(g, a);
|
|
2157
|
+
M && (f = f.concat(M));
|
|
2158
|
+
}, this), S(f);
|
|
2159
|
+
},
|
|
2160
|
+
"subscript-descendant-union": function(D, a, f) {
|
|
2161
|
+
var b = n(".."), g = this, I = [], M = b.nodes(a, "$..*").slice(1);
|
|
2162
|
+
return M.forEach(function(z) {
|
|
2163
|
+
I.length >= f || D.expression.value.forEach(function(T) {
|
|
2164
|
+
var N = { operation: "subscript", scope: "child", expression: T.expression }, U = g.resolve(N), q = U(N, z);
|
|
2165
|
+
I = I.concat(q);
|
|
2166
|
+
});
|
|
2167
|
+
}), S(I);
|
|
2168
|
+
},
|
|
2169
|
+
"subscript-child-filter_expression": function(D, a, f) {
|
|
2170
|
+
var b = D.expression.value.slice(2, -1), g = s.parse(b).body[0].expression, I = function(M, z) {
|
|
2171
|
+
return u(g, { "@": z });
|
|
2172
|
+
};
|
|
2173
|
+
return this.descend(a, null, I, f);
|
|
2174
|
+
},
|
|
2175
|
+
"subscript-descendant-filter_expression": function(D, a, f) {
|
|
2176
|
+
var b = D.expression.value.slice(2, -1), g = s.parse(b).body[0].expression, I = function(M, z) {
|
|
2177
|
+
return u(g, { "@": z });
|
|
2178
|
+
};
|
|
2179
|
+
return this.traverse(a, null, I, f);
|
|
2180
|
+
},
|
|
2181
|
+
"subscript-child-script_expression": function(D, a) {
|
|
2182
|
+
var f = D.expression.value.slice(1, -1);
|
|
2183
|
+
return m(a, f, "$[{{value}}]");
|
|
2184
|
+
},
|
|
2185
|
+
"member-child-script_expression": function(D, a) {
|
|
2186
|
+
var f = D.expression.value.slice(1, -1);
|
|
2187
|
+
return m(a, f, "$.{{value}}");
|
|
2188
|
+
},
|
|
2189
|
+
"member-descendant-script_expression": function(D, a) {
|
|
2190
|
+
var f = D.expression.value.slice(1, -1);
|
|
2191
|
+
return m(a, f, "$..value");
|
|
2192
|
+
}
|
|
2193
|
+
}, C.prototype._fns["subscript-child-string_literal"] = C.prototype._fns["member-child-identifier"], C.prototype._fns["member-descendant-numeric_literal"] = C.prototype._fns["subscript-descendant-string_literal"] = C.prototype._fns["member-descendant-identifier"];
|
|
2194
|
+
function m(D, a, f) {
|
|
2195
|
+
var b = n("./index"), g = s.parse(a).body[0].expression, I = u(g, { "@": D.value }), M = f.replace(/\{\{\s*value\s*\}\}/g, I), z = b.nodes(D.value, M);
|
|
2196
|
+
return z.forEach(function(T) {
|
|
2197
|
+
T.path = D.path.concat(T.path.slice(1));
|
|
2198
|
+
}), z;
|
|
2199
|
+
}
|
|
2200
|
+
function p(D) {
|
|
2201
|
+
return Array.isArray(D);
|
|
2202
|
+
}
|
|
2203
|
+
function y(D) {
|
|
2204
|
+
return D && !(D instanceof Array) && D instanceof Object;
|
|
2205
|
+
}
|
|
2206
|
+
function F(D) {
|
|
2207
|
+
return function(a, f, b, g) {
|
|
2208
|
+
var I = a.value, M = a.path, z = [], T = function(N, U) {
|
|
2209
|
+
p(N) ? (N.forEach(function(q, V) {
|
|
2210
|
+
z.length >= g || b(V, q, f) && z.push({ path: U.concat(V), value: q });
|
|
2211
|
+
}), N.forEach(function(q, V) {
|
|
2212
|
+
z.length >= g || D && T(q, U.concat(V));
|
|
2213
|
+
})) : y(N) && (this.keys(N).forEach(function(q) {
|
|
2214
|
+
z.length >= g || b(q, N[q], f) && z.push({ path: U.concat(q), value: N[q] });
|
|
2215
|
+
}), this.keys(N).forEach(function(q) {
|
|
2216
|
+
z.length >= g || D && T(N[q], U.concat(q));
|
|
2217
|
+
}));
|
|
2218
|
+
}.bind(this);
|
|
2219
|
+
return T(I, M), z;
|
|
2220
|
+
};
|
|
2221
|
+
}
|
|
2222
|
+
function d(D) {
|
|
2223
|
+
return function(a, f, b) {
|
|
2224
|
+
return this.descend(f, a.expression.value, D, b);
|
|
2225
|
+
};
|
|
2226
|
+
}
|
|
2227
|
+
function E(D) {
|
|
2228
|
+
return function(a, f, b) {
|
|
2229
|
+
return this.traverse(f, a.expression.value, D, b);
|
|
2230
|
+
};
|
|
2231
|
+
}
|
|
2232
|
+
function u() {
|
|
2233
|
+
try {
|
|
2234
|
+
return x.apply(this, arguments);
|
|
2235
|
+
} catch {
|
|
2236
|
+
}
|
|
2237
|
+
}
|
|
2238
|
+
function S(D) {
|
|
2239
|
+
return D = D.filter(function(a) {
|
|
2240
|
+
return a;
|
|
2241
|
+
}), v(
|
|
2242
|
+
D,
|
|
2243
|
+
function(a) {
|
|
2244
|
+
return a.path.map(function(f) {
|
|
2245
|
+
return String(f).replace("-", "--");
|
|
2246
|
+
}).join("-");
|
|
2247
|
+
}
|
|
2248
|
+
);
|
|
2249
|
+
}
|
|
2250
|
+
function B(D) {
|
|
2251
|
+
var a = String(D);
|
|
2252
|
+
return a.match(/^-?[0-9]+$/) ? parseInt(a) : null;
|
|
2253
|
+
}
|
|
2254
|
+
o.exports = C;
|
|
2255
|
+
}, { "..": "jsonpath", "./aesprim": "./aesprim", "./index": 5, "./slice": 7, "static-eval": 15, underscore: 12 }], 5: [function(n, o, h) {
|
|
2256
|
+
var s = n("assert"), c = n("./dict"), x = n("./parser"), v = n("./handlers"), C = function() {
|
|
2257
|
+
this.initialize.apply(this, arguments);
|
|
2258
|
+
};
|
|
2259
|
+
C.prototype.initialize = function() {
|
|
2260
|
+
this.parser = new x(), this.handlers = new v();
|
|
2261
|
+
}, C.prototype.parse = function(y) {
|
|
2262
|
+
return s.ok(m(y), "we need a path"), this.parser.parse(y);
|
|
2263
|
+
}, C.prototype.parent = function(y, F) {
|
|
2264
|
+
s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path");
|
|
2265
|
+
var d = this.nodes(y, F)[0];
|
|
2266
|
+
return d.path.pop(), this.value(y, d.path);
|
|
2267
|
+
}, C.prototype.apply = function(y, F, d) {
|
|
2268
|
+
s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path"), s.equal(typeof d, "function", "fn needs to be function");
|
|
2269
|
+
var E = this.nodes(y, F).sort(function(u, S) {
|
|
2270
|
+
return S.path.length - u.path.length;
|
|
2271
|
+
});
|
|
2272
|
+
return E.forEach(function(u) {
|
|
2273
|
+
var S = u.path.pop(), B = this.value(y, this.stringify(u.path)), D = u.value = d.call(y, B[S]);
|
|
2274
|
+
B[S] = D;
|
|
2275
|
+
}, this), E;
|
|
2276
|
+
}, C.prototype.value = function(y, F, d) {
|
|
2277
|
+
if (s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path"), arguments.length >= 3) {
|
|
2278
|
+
var E = this.nodes(y, F).shift();
|
|
2279
|
+
if (!E)
|
|
2280
|
+
return this._vivify(y, F, d);
|
|
2281
|
+
var u = E.path.slice(-1).shift(), S = this.parent(y, this.stringify(E.path));
|
|
2282
|
+
S[u] = d;
|
|
2283
|
+
}
|
|
2284
|
+
return this.query(y, this.stringify(F), 1).shift();
|
|
2285
|
+
}, C.prototype._vivify = function(y, F, d) {
|
|
2286
|
+
var E = this;
|
|
2287
|
+
s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path");
|
|
2288
|
+
var u = this.parser.parse(F).map(function(B) {
|
|
2289
|
+
return B.expression.value;
|
|
2290
|
+
}), S = function(B, D) {
|
|
2291
|
+
var a = B.pop(), f = E.value(y, B);
|
|
2292
|
+
f || (S(B.concat(), typeof a == "string" ? {} : []), f = E.value(y, B)), f[a] = D;
|
|
2293
|
+
};
|
|
2294
|
+
return S(u, d), this.query(y, F)[0];
|
|
2295
|
+
}, C.prototype.query = function(y, F, d) {
|
|
2296
|
+
s.ok(y instanceof Object, "obj needs to be an object"), s.ok(m(F), "we need a path");
|
|
2297
|
+
var E = this.nodes(y, F, d).map(function(u) {
|
|
2298
|
+
return u.value;
|
|
2299
|
+
});
|
|
2300
|
+
return E;
|
|
2301
|
+
}, C.prototype.paths = function(y, F, d) {
|
|
2302
|
+
s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path");
|
|
2303
|
+
var E = this.nodes(y, F, d).map(function(u) {
|
|
2304
|
+
return u.path;
|
|
2305
|
+
});
|
|
2306
|
+
return E;
|
|
2307
|
+
}, C.prototype.nodes = function(y, F, d) {
|
|
2308
|
+
if (s.ok(y instanceof Object, "obj needs to be an object"), s.ok(F, "we need a path"), d === 0)
|
|
2309
|
+
return [];
|
|
2310
|
+
var E = this.parser.parse(F), u = this.handlers, S = [{ path: ["$"], value: y }], B = [];
|
|
2311
|
+
return E.length && E[0].expression.type == "root" && E.shift(), E.length ? (E.forEach(function(D, a) {
|
|
2312
|
+
if (!(B.length >= d)) {
|
|
2313
|
+
var f = u.resolve(D), b = [];
|
|
2314
|
+
S.forEach(function(g) {
|
|
2315
|
+
if (!(B.length >= d)) {
|
|
2316
|
+
var I = f(D, g, d);
|
|
2317
|
+
a == E.length - 1 ? B = B.concat(I || []) : b = b.concat(I || []);
|
|
2318
|
+
}
|
|
2319
|
+
}), S = b;
|
|
2320
|
+
}
|
|
2321
|
+
}), d ? B.slice(0, d) : B) : S;
|
|
2322
|
+
}, C.prototype.stringify = function(y) {
|
|
2323
|
+
s.ok(y, "we need a path");
|
|
2324
|
+
var F = "$", d = {
|
|
2325
|
+
"descendant-member": "..{{value}}",
|
|
2326
|
+
"child-member": ".{{value}}",
|
|
2327
|
+
"descendant-subscript": "..[{{value}}]",
|
|
2328
|
+
"child-subscript": "[{{value}}]"
|
|
2329
|
+
};
|
|
2330
|
+
return y = this._normalize(y), y.forEach(function(E) {
|
|
2331
|
+
if (E.expression.type != "root") {
|
|
2332
|
+
var u = [E.scope, E.operation].join("-"), S = d[u], B;
|
|
2333
|
+
if (E.expression.type == "string_literal" ? B = JSON.stringify(E.expression.value) : B = E.expression.value, !S)
|
|
2334
|
+
throw new Error("couldn't find template " + u);
|
|
2335
|
+
F += S.replace(/{{value}}/, B);
|
|
2336
|
+
}
|
|
2337
|
+
}), F;
|
|
2338
|
+
}, C.prototype._normalize = function(y) {
|
|
2339
|
+
if (s.ok(y, "we need a path"), typeof y == "string")
|
|
2340
|
+
return this.parser.parse(y);
|
|
2341
|
+
if (Array.isArray(y) && typeof y[0] == "string") {
|
|
2342
|
+
var F = [{ expression: { type: "root", value: "$" } }];
|
|
2343
|
+
return y.forEach(function(d, E) {
|
|
2344
|
+
if (!(d == "$" && E === 0))
|
|
2345
|
+
if (typeof d == "string" && d.match("^" + c.identifier + "$"))
|
|
2346
|
+
F.push({
|
|
2347
|
+
operation: "member",
|
|
2348
|
+
scope: "child",
|
|
2349
|
+
expression: { value: d, type: "identifier" }
|
|
2350
|
+
});
|
|
2351
|
+
else {
|
|
2352
|
+
var u = typeof d == "number" ? "numeric_literal" : "string_literal";
|
|
2353
|
+
F.push({
|
|
2354
|
+
operation: "subscript",
|
|
2355
|
+
scope: "child",
|
|
2356
|
+
expression: { value: d, type: u }
|
|
2357
|
+
});
|
|
2358
|
+
}
|
|
2359
|
+
}), F;
|
|
2360
|
+
} else if (Array.isArray(y) && typeof y[0] == "object")
|
|
2361
|
+
return y;
|
|
2362
|
+
throw new Error("couldn't understand path " + y);
|
|
2363
|
+
};
|
|
2364
|
+
function m(y) {
|
|
2365
|
+
return Object.prototype.toString.call(y) == "[object String]";
|
|
2366
|
+
}
|
|
2367
|
+
C.Handlers = v, C.Parser = x;
|
|
2368
|
+
var p = new C();
|
|
2369
|
+
p.JSONPath = C, o.exports = p;
|
|
2370
|
+
}, { "./dict": 2, "./handlers": 4, "./parser": 6, assert: 8 }], 6: [function(n, o, h) {
|
|
2371
|
+
var s = n("./grammar"), c = n("../generated/parser"), x = function() {
|
|
2372
|
+
var v = new c.Parser(), C = v.parseError;
|
|
2373
|
+
return v.yy.parseError = function() {
|
|
2374
|
+
v.yy.ast && v.yy.ast.initialize(), C.apply(v, arguments);
|
|
2375
|
+
}, v;
|
|
2376
|
+
};
|
|
2377
|
+
x.grammar = s, o.exports = x;
|
|
2378
|
+
}, { "../generated/parser": 1, "./grammar": 3 }], 7: [function(n, o, h) {
|
|
2379
|
+
o.exports = function(c, x, v, C) {
|
|
2380
|
+
if (typeof x == "string")
|
|
2381
|
+
throw new Error("start cannot be a string");
|
|
2382
|
+
if (typeof v == "string")
|
|
2383
|
+
throw new Error("end cannot be a string");
|
|
2384
|
+
if (typeof C == "string")
|
|
2385
|
+
throw new Error("step cannot be a string");
|
|
2386
|
+
var m = c.length;
|
|
2387
|
+
if (C === 0)
|
|
2388
|
+
throw new Error("step cannot be zero");
|
|
2389
|
+
if (C = C ? s(C) : 1, x = x < 0 ? m + x : x, v = v < 0 ? m + v : v, x = s(x === 0 ? 0 : x || (C > 0 ? 0 : m - 1)), v = s(v === 0 ? 0 : v || (C > 0 ? m : -1)), x = C > 0 ? Math.max(0, x) : Math.min(m, x), v = C > 0 ? Math.min(v, m) : Math.max(-1, v), C > 0 && v <= x)
|
|
2390
|
+
return [];
|
|
2391
|
+
if (C < 0 && x <= v)
|
|
2392
|
+
return [];
|
|
2393
|
+
for (var p = [], y = x; y != v && !(C < 0 && y <= v || C > 0 && y >= v); y += C)
|
|
2394
|
+
p.push(c[y]);
|
|
2395
|
+
return p;
|
|
2396
|
+
};
|
|
2397
|
+
function s(c) {
|
|
2398
|
+
return String(c).match(/^[0-9]+$/) ? parseInt(c) : Number.isFinite(c) ? parseInt(c, 10) : 0;
|
|
2399
|
+
}
|
|
2400
|
+
}, {}], 8: [function(n, o, h) {
|
|
2401
|
+
var s = n("util/"), c = Array.prototype.slice, x = Object.prototype.hasOwnProperty, v = o.exports = F;
|
|
2402
|
+
v.AssertionError = function(f) {
|
|
2403
|
+
this.name = "AssertionError", this.actual = f.actual, this.expected = f.expected, this.operator = f.operator, f.message ? (this.message = f.message, this.generatedMessage = !1) : (this.message = p(this), this.generatedMessage = !0);
|
|
2404
|
+
var b = f.stackStartFunction || y;
|
|
2405
|
+
if (Error.captureStackTrace)
|
|
2406
|
+
Error.captureStackTrace(this, b);
|
|
2407
|
+
else {
|
|
2408
|
+
var g = new Error();
|
|
2409
|
+
if (g.stack) {
|
|
2410
|
+
var I = g.stack, M = b.name, z = I.indexOf(`
|
|
2411
|
+
` + M);
|
|
2412
|
+
if (z >= 0) {
|
|
2413
|
+
var T = I.indexOf(`
|
|
2414
|
+
`, z + 1);
|
|
2415
|
+
I = I.substring(T + 1);
|
|
2416
|
+
}
|
|
2417
|
+
this.stack = I;
|
|
2418
|
+
}
|
|
2419
|
+
}
|
|
2420
|
+
}, s.inherits(v.AssertionError, Error);
|
|
2421
|
+
function C(a, f) {
|
|
2422
|
+
return s.isUndefined(f) ? "" + f : s.isNumber(f) && !isFinite(f) || s.isFunction(f) || s.isRegExp(f) ? f.toString() : f;
|
|
2423
|
+
}
|
|
2424
|
+
function m(a, f) {
|
|
2425
|
+
return s.isString(a) ? a.length < f ? a : a.slice(0, f) : a;
|
|
2426
|
+
}
|
|
2427
|
+
function p(a) {
|
|
2428
|
+
return m(JSON.stringify(a.actual, C), 128) + " " + a.operator + " " + m(JSON.stringify(a.expected, C), 128);
|
|
2429
|
+
}
|
|
2430
|
+
function y(a, f, b, g, I) {
|
|
2431
|
+
throw new v.AssertionError({
|
|
2432
|
+
message: b,
|
|
2433
|
+
actual: a,
|
|
2434
|
+
expected: f,
|
|
2435
|
+
operator: g,
|
|
2436
|
+
stackStartFunction: I
|
|
2437
|
+
});
|
|
2438
|
+
}
|
|
2439
|
+
v.fail = y;
|
|
2440
|
+
function F(a, f) {
|
|
2441
|
+
a || y(a, !0, f, "==", v.ok);
|
|
2442
|
+
}
|
|
2443
|
+
v.ok = F, v.equal = function(f, b, g) {
|
|
2444
|
+
f != b && y(f, b, g, "==", v.equal);
|
|
2445
|
+
}, v.notEqual = function(f, b, g) {
|
|
2446
|
+
f == b && y(f, b, g, "!=", v.notEqual);
|
|
2447
|
+
}, v.deepEqual = function(f, b, g) {
|
|
2448
|
+
d(f, b) || y(f, b, g, "deepEqual", v.deepEqual);
|
|
2449
|
+
};
|
|
2450
|
+
function d(a, f) {
|
|
2451
|
+
if (a === f)
|
|
2452
|
+
return !0;
|
|
2453
|
+
if (s.isBuffer(a) && s.isBuffer(f)) {
|
|
2454
|
+
if (a.length != f.length)
|
|
2455
|
+
return !1;
|
|
2456
|
+
for (var b = 0; b < a.length; b++)
|
|
2457
|
+
if (a[b] !== f[b])
|
|
2458
|
+
return !1;
|
|
2459
|
+
return !0;
|
|
2460
|
+
} else
|
|
2461
|
+
return s.isDate(a) && s.isDate(f) ? a.getTime() === f.getTime() : s.isRegExp(a) && s.isRegExp(f) ? a.source === f.source && a.global === f.global && a.multiline === f.multiline && a.lastIndex === f.lastIndex && a.ignoreCase === f.ignoreCase : !s.isObject(a) && !s.isObject(f) ? a == f : u(a, f);
|
|
2462
|
+
}
|
|
2463
|
+
function E(a) {
|
|
2464
|
+
return Object.prototype.toString.call(a) == "[object Arguments]";
|
|
2465
|
+
}
|
|
2466
|
+
function u(a, f) {
|
|
2467
|
+
if (s.isNullOrUndefined(a) || s.isNullOrUndefined(f) || a.prototype !== f.prototype)
|
|
2468
|
+
return !1;
|
|
2469
|
+
if (s.isPrimitive(a) || s.isPrimitive(f))
|
|
2470
|
+
return a === f;
|
|
2471
|
+
var b = E(a), g = E(f);
|
|
2472
|
+
if (b && !g || !b && g)
|
|
2473
|
+
return !1;
|
|
2474
|
+
if (b)
|
|
2475
|
+
return a = c.call(a), f = c.call(f), d(a, f);
|
|
2476
|
+
var I = D(a), M = D(f), z, T;
|
|
2477
|
+
if (I.length != M.length)
|
|
2478
|
+
return !1;
|
|
2479
|
+
for (I.sort(), M.sort(), T = I.length - 1; T >= 0; T--)
|
|
2480
|
+
if (I[T] != M[T])
|
|
2481
|
+
return !1;
|
|
2482
|
+
for (T = I.length - 1; T >= 0; T--)
|
|
2483
|
+
if (z = I[T], !d(a[z], f[z]))
|
|
2484
|
+
return !1;
|
|
2485
|
+
return !0;
|
|
2486
|
+
}
|
|
2487
|
+
v.notDeepEqual = function(f, b, g) {
|
|
2488
|
+
d(f, b) && y(f, b, g, "notDeepEqual", v.notDeepEqual);
|
|
2489
|
+
}, v.strictEqual = function(f, b, g) {
|
|
2490
|
+
f !== b && y(f, b, g, "===", v.strictEqual);
|
|
2491
|
+
}, v.notStrictEqual = function(f, b, g) {
|
|
2492
|
+
f === b && y(f, b, g, "!==", v.notStrictEqual);
|
|
2493
|
+
};
|
|
2494
|
+
function S(a, f) {
|
|
2495
|
+
return !a || !f ? !1 : Object.prototype.toString.call(f) == "[object RegExp]" ? f.test(a) : a instanceof f ? !0 : f.call({}, a) === !0;
|
|
2496
|
+
}
|
|
2497
|
+
function B(a, f, b, g) {
|
|
2498
|
+
var I;
|
|
2499
|
+
s.isString(b) && (g = b, b = null);
|
|
2500
|
+
try {
|
|
2501
|
+
f();
|
|
2502
|
+
} catch (M) {
|
|
2503
|
+
I = M;
|
|
2504
|
+
}
|
|
2505
|
+
if (g = (b && b.name ? " (" + b.name + ")." : ".") + (g ? " " + g : "."), a && !I && y(I, b, "Missing expected exception" + g), !a && S(I, b) && y(I, b, "Got unwanted exception" + g), a && I && b && !S(I, b) || !a && I)
|
|
2506
|
+
throw I;
|
|
2507
|
+
}
|
|
2508
|
+
v.throws = function(a, f, b) {
|
|
2509
|
+
B.apply(this, [!0].concat(c.call(arguments)));
|
|
2510
|
+
}, v.doesNotThrow = function(a, f) {
|
|
2511
|
+
B.apply(this, [!1].concat(c.call(arguments)));
|
|
2512
|
+
}, v.ifError = function(a) {
|
|
2513
|
+
if (a)
|
|
2514
|
+
throw a;
|
|
2515
|
+
};
|
|
2516
|
+
var D = Object.keys || function(a) {
|
|
2517
|
+
var f = [];
|
|
2518
|
+
for (var b in a)
|
|
2519
|
+
x.call(a, b) && f.push(b);
|
|
2520
|
+
return f;
|
|
2521
|
+
};
|
|
2522
|
+
}, { "util/": 11 }], 9: [function(n, o, h) {
|
|
2523
|
+
typeof Object.create == "function" ? o.exports = function(c, x) {
|
|
2524
|
+
c.super_ = x, c.prototype = Object.create(x.prototype, {
|
|
2525
|
+
constructor: {
|
|
2526
|
+
value: c,
|
|
2527
|
+
enumerable: !1,
|
|
2528
|
+
writable: !0,
|
|
2529
|
+
configurable: !0
|
|
2530
|
+
}
|
|
2531
|
+
});
|
|
2532
|
+
} : o.exports = function(c, x) {
|
|
2533
|
+
c.super_ = x;
|
|
2534
|
+
var v = function() {
|
|
2535
|
+
};
|
|
2536
|
+
v.prototype = x.prototype, c.prototype = new v(), c.prototype.constructor = c;
|
|
2537
|
+
};
|
|
2538
|
+
}, {}], 10: [function(n, o, h) {
|
|
2539
|
+
o.exports = function(c) {
|
|
2540
|
+
return c && typeof c == "object" && typeof c.copy == "function" && typeof c.fill == "function" && typeof c.readUInt8 == "function";
|
|
2541
|
+
};
|
|
2542
|
+
}, {}], 11: [function(n, o, h) {
|
|
2543
|
+
(function(s, c) {
|
|
2544
|
+
var x = /%[sdj%]/g;
|
|
2545
|
+
h.format = function(_) {
|
|
2546
|
+
if (!M(_)) {
|
|
2547
|
+
for (var w = [], P = 0; P < arguments.length; P++)
|
|
2548
|
+
w.push(m(arguments[P]));
|
|
2549
|
+
return w.join(" ");
|
|
2550
|
+
}
|
|
2551
|
+
for (var P = 1, Q = arguments, ie = Q.length, G = String(_).replace(x, function(Z) {
|
|
2552
|
+
if (Z === "%%")
|
|
2553
|
+
return "%";
|
|
2554
|
+
if (P >= ie)
|
|
2555
|
+
return Z;
|
|
2556
|
+
switch (Z) {
|
|
2557
|
+
case "%s":
|
|
2558
|
+
return String(Q[P++]);
|
|
2559
|
+
case "%d":
|
|
2560
|
+
return Number(Q[P++]);
|
|
2561
|
+
case "%j":
|
|
2562
|
+
try {
|
|
2563
|
+
return JSON.stringify(Q[P++]);
|
|
2564
|
+
} catch {
|
|
2565
|
+
return "[Circular]";
|
|
2566
|
+
}
|
|
2567
|
+
default:
|
|
2568
|
+
return Z;
|
|
2569
|
+
}
|
|
2570
|
+
}), K = Q[P]; P < ie; K = Q[++P])
|
|
2571
|
+
b(K) || !U(K) ? G += " " + K : G += " " + m(K);
|
|
2572
|
+
return G;
|
|
2573
|
+
}, h.deprecate = function(_, w) {
|
|
2574
|
+
if (T(c.process))
|
|
2575
|
+
return function() {
|
|
2576
|
+
return h.deprecate(_, w).apply(this, arguments);
|
|
2577
|
+
};
|
|
2578
|
+
if (s.noDeprecation === !0)
|
|
2579
|
+
return _;
|
|
2580
|
+
var P = !1;
|
|
2581
|
+
function Q() {
|
|
2582
|
+
if (!P) {
|
|
2583
|
+
if (s.throwDeprecation)
|
|
2584
|
+
throw new Error(w);
|
|
2585
|
+
s.traceDeprecation ? console.trace(w) : console.error(w), P = !0;
|
|
2586
|
+
}
|
|
2587
|
+
return _.apply(this, arguments);
|
|
2588
|
+
}
|
|
2589
|
+
return Q;
|
|
2590
|
+
};
|
|
2591
|
+
var v = {}, C;
|
|
2592
|
+
h.debuglog = function(_) {
|
|
2593
|
+
if (T(C) && (C = s.env.NODE_DEBUG || ""), _ = _.toUpperCase(), !v[_])
|
|
2594
|
+
if (new RegExp("\\b" + _ + "\\b", "i").test(C)) {
|
|
2595
|
+
var w = s.pid;
|
|
2596
|
+
v[_] = function() {
|
|
2597
|
+
var P = h.format.apply(h, arguments);
|
|
2598
|
+
console.error("%s %d: %s", _, w, P);
|
|
2599
|
+
};
|
|
2600
|
+
} else
|
|
2601
|
+
v[_] = function() {
|
|
2602
|
+
};
|
|
2603
|
+
return v[_];
|
|
2604
|
+
};
|
|
2605
|
+
function m(_, w) {
|
|
2606
|
+
var P = {
|
|
2607
|
+
seen: [],
|
|
2608
|
+
stylize: y
|
|
2609
|
+
};
|
|
2610
|
+
return arguments.length >= 3 && (P.depth = arguments[2]), arguments.length >= 4 && (P.colors = arguments[3]), f(w) ? P.showHidden = w : w && h._extend(P, w), T(P.showHidden) && (P.showHidden = !1), T(P.depth) && (P.depth = 2), T(P.colors) && (P.colors = !1), T(P.customInspect) && (P.customInspect = !0), P.colors && (P.stylize = p), d(P, _, P.depth);
|
|
2611
|
+
}
|
|
2612
|
+
h.inspect = m, m.colors = {
|
|
2613
|
+
bold: [1, 22],
|
|
2614
|
+
italic: [3, 23],
|
|
2615
|
+
underline: [4, 24],
|
|
2616
|
+
inverse: [7, 27],
|
|
2617
|
+
white: [37, 39],
|
|
2618
|
+
grey: [90, 39],
|
|
2619
|
+
black: [30, 39],
|
|
2620
|
+
blue: [34, 39],
|
|
2621
|
+
cyan: [36, 39],
|
|
2622
|
+
green: [32, 39],
|
|
2623
|
+
magenta: [35, 39],
|
|
2624
|
+
red: [31, 39],
|
|
2625
|
+
yellow: [33, 39]
|
|
2626
|
+
}, m.styles = {
|
|
2627
|
+
special: "cyan",
|
|
2628
|
+
number: "yellow",
|
|
2629
|
+
boolean: "yellow",
|
|
2630
|
+
undefined: "grey",
|
|
2631
|
+
null: "bold",
|
|
2632
|
+
string: "green",
|
|
2633
|
+
date: "magenta",
|
|
2634
|
+
// "name": intentionally not styling
|
|
2635
|
+
regexp: "red"
|
|
2636
|
+
};
|
|
2637
|
+
function p(_, w) {
|
|
2638
|
+
var P = m.styles[w];
|
|
2639
|
+
return P ? "\x1B[" + m.colors[P][0] + "m" + _ + "\x1B[" + m.colors[P][1] + "m" : _;
|
|
2640
|
+
}
|
|
2641
|
+
function y(_, w) {
|
|
2642
|
+
return _;
|
|
2643
|
+
}
|
|
2644
|
+
function F(_) {
|
|
2645
|
+
var w = {};
|
|
2646
|
+
return _.forEach(function(P, Q) {
|
|
2647
|
+
w[P] = !0;
|
|
2648
|
+
}), w;
|
|
2649
|
+
}
|
|
2650
|
+
function d(_, w, P) {
|
|
2651
|
+
if (_.customInspect && w && fe(w.inspect) && // Filter out the util module, it's inspect function is special
|
|
2652
|
+
w.inspect !== h.inspect && // Also filter out any prototype objects using the circular check.
|
|
2653
|
+
!(w.constructor && w.constructor.prototype === w)) {
|
|
2654
|
+
var Q = w.inspect(P, _);
|
|
2655
|
+
return M(Q) || (Q = d(_, Q, P)), Q;
|
|
2656
|
+
}
|
|
2657
|
+
var ie = E(_, w);
|
|
2658
|
+
if (ie)
|
|
2659
|
+
return ie;
|
|
2660
|
+
var G = Object.keys(w), K = F(G);
|
|
2661
|
+
if (_.showHidden && (G = Object.getOwnPropertyNames(w)), V(w) && (G.indexOf("message") >= 0 || G.indexOf("description") >= 0))
|
|
2662
|
+
return u(w);
|
|
2663
|
+
if (G.length === 0) {
|
|
2664
|
+
if (fe(w)) {
|
|
2665
|
+
var Z = w.name ? ": " + w.name : "";
|
|
2666
|
+
return _.stylize("[Function" + Z + "]", "special");
|
|
2667
|
+
}
|
|
2668
|
+
if (N(w))
|
|
2669
|
+
return _.stylize(RegExp.prototype.toString.call(w), "regexp");
|
|
2670
|
+
if (q(w))
|
|
2671
|
+
return _.stylize(Date.prototype.toString.call(w), "date");
|
|
2672
|
+
if (V(w))
|
|
2673
|
+
return u(w);
|
|
2674
|
+
}
|
|
2675
|
+
var te = "", Ee = !1, De = ["{", "}"];
|
|
2676
|
+
if (a(w) && (Ee = !0, De = ["[", "]"]), fe(w)) {
|
|
2677
|
+
var $e = w.name ? ": " + w.name : "";
|
|
2678
|
+
te = " [Function" + $e + "]";
|
|
2679
|
+
}
|
|
2680
|
+
if (N(w) && (te = " " + RegExp.prototype.toString.call(w)), q(w) && (te = " " + Date.prototype.toUTCString.call(w)), V(w) && (te = " " + u(w)), G.length === 0 && (!Ee || w.length == 0))
|
|
2681
|
+
return De[0] + te + De[1];
|
|
2682
|
+
if (P < 0)
|
|
2683
|
+
return N(w) ? _.stylize(RegExp.prototype.toString.call(w), "regexp") : _.stylize("[Object]", "special");
|
|
2684
|
+
_.seen.push(w);
|
|
2685
|
+
var we;
|
|
2686
|
+
return Ee ? we = S(_, w, P, K, G) : we = G.map(function(Re) {
|
|
2687
|
+
return B(_, w, P, K, Re, Ee);
|
|
2688
|
+
}), _.seen.pop(), D(we, te, De);
|
|
2689
|
+
}
|
|
2690
|
+
function E(_, w) {
|
|
2691
|
+
if (T(w))
|
|
2692
|
+
return _.stylize("undefined", "undefined");
|
|
2693
|
+
if (M(w)) {
|
|
2694
|
+
var P = "'" + JSON.stringify(w).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
|
|
2695
|
+
return _.stylize(P, "string");
|
|
2696
|
+
}
|
|
2697
|
+
if (I(w))
|
|
2698
|
+
return _.stylize("" + w, "number");
|
|
2699
|
+
if (f(w))
|
|
2700
|
+
return _.stylize("" + w, "boolean");
|
|
2701
|
+
if (b(w))
|
|
2702
|
+
return _.stylize("null", "null");
|
|
2703
|
+
}
|
|
2704
|
+
function u(_) {
|
|
2705
|
+
return "[" + Error.prototype.toString.call(_) + "]";
|
|
2706
|
+
}
|
|
2707
|
+
function S(_, w, P, Q, ie) {
|
|
2708
|
+
for (var G = [], K = 0, Z = w.length; K < Z; ++K)
|
|
2709
|
+
Ne(w, String(K)) ? G.push(B(
|
|
2710
|
+
_,
|
|
2711
|
+
w,
|
|
2712
|
+
P,
|
|
2713
|
+
Q,
|
|
2714
|
+
String(K),
|
|
2715
|
+
!0
|
|
2716
|
+
)) : G.push("");
|
|
2717
|
+
return ie.forEach(function(te) {
|
|
2718
|
+
te.match(/^\d+$/) || G.push(B(
|
|
2719
|
+
_,
|
|
2720
|
+
w,
|
|
2721
|
+
P,
|
|
2722
|
+
Q,
|
|
2723
|
+
te,
|
|
2724
|
+
!0
|
|
2725
|
+
));
|
|
2726
|
+
}), G;
|
|
2727
|
+
}
|
|
2728
|
+
function B(_, w, P, Q, ie, G) {
|
|
2729
|
+
var K, Z, te;
|
|
2730
|
+
if (te = Object.getOwnPropertyDescriptor(w, ie) || { value: w[ie] }, te.get ? te.set ? Z = _.stylize("[Getter/Setter]", "special") : Z = _.stylize("[Getter]", "special") : te.set && (Z = _.stylize("[Setter]", "special")), Ne(Q, ie) || (K = "[" + ie + "]"), Z || (_.seen.indexOf(te.value) < 0 ? (b(P) ? Z = d(_, te.value, null) : Z = d(_, te.value, P - 1), Z.indexOf(`
|
|
2731
|
+
`) > -1 && (G ? Z = Z.split(`
|
|
2732
|
+
`).map(function(Ee) {
|
|
2733
|
+
return " " + Ee;
|
|
2734
|
+
}).join(`
|
|
2735
|
+
`).substr(2) : Z = `
|
|
2736
|
+
` + Z.split(`
|
|
2737
|
+
`).map(function(Ee) {
|
|
2738
|
+
return " " + Ee;
|
|
2739
|
+
}).join(`
|
|
2740
|
+
`))) : Z = _.stylize("[Circular]", "special")), T(K)) {
|
|
2741
|
+
if (G && ie.match(/^\d+$/))
|
|
2742
|
+
return Z;
|
|
2743
|
+
K = JSON.stringify("" + ie), K.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (K = K.substr(1, K.length - 2), K = _.stylize(K, "name")) : (K = K.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), K = _.stylize(K, "string"));
|
|
2744
|
+
}
|
|
2745
|
+
return K + ": " + Z;
|
|
2746
|
+
}
|
|
2747
|
+
function D(_, w, P) {
|
|
2748
|
+
var Q = _.reduce(function(ie, G) {
|
|
2749
|
+
return G.indexOf(`
|
|
2750
|
+
`) >= 0, ie + G.replace(/\u001b\[\d\d?m/g, "").length + 1;
|
|
2751
|
+
}, 0);
|
|
2752
|
+
return Q > 60 ? P[0] + (w === "" ? "" : w + `
|
|
2753
|
+
`) + " " + _.join(`,
|
|
2754
|
+
`) + " " + P[1] : P[0] + w + " " + _.join(", ") + " " + P[1];
|
|
2755
|
+
}
|
|
2756
|
+
function a(_) {
|
|
2757
|
+
return Array.isArray(_);
|
|
2758
|
+
}
|
|
2759
|
+
h.isArray = a;
|
|
2760
|
+
function f(_) {
|
|
2761
|
+
return typeof _ == "boolean";
|
|
2762
|
+
}
|
|
2763
|
+
h.isBoolean = f;
|
|
2764
|
+
function b(_) {
|
|
2765
|
+
return _ === null;
|
|
2766
|
+
}
|
|
2767
|
+
h.isNull = b;
|
|
2768
|
+
function g(_) {
|
|
2769
|
+
return _ == null;
|
|
2770
|
+
}
|
|
2771
|
+
h.isNullOrUndefined = g;
|
|
2772
|
+
function I(_) {
|
|
2773
|
+
return typeof _ == "number";
|
|
2774
|
+
}
|
|
2775
|
+
h.isNumber = I;
|
|
2776
|
+
function M(_) {
|
|
2777
|
+
return typeof _ == "string";
|
|
2778
|
+
}
|
|
2779
|
+
h.isString = M;
|
|
2780
|
+
function z(_) {
|
|
2781
|
+
return typeof _ == "symbol";
|
|
2782
|
+
}
|
|
2783
|
+
h.isSymbol = z;
|
|
2784
|
+
function T(_) {
|
|
2785
|
+
return _ === void 0;
|
|
2786
|
+
}
|
|
2787
|
+
h.isUndefined = T;
|
|
2788
|
+
function N(_) {
|
|
2789
|
+
return U(_) && ee(_) === "[object RegExp]";
|
|
2790
|
+
}
|
|
2791
|
+
h.isRegExp = N;
|
|
2792
|
+
function U(_) {
|
|
2793
|
+
return typeof _ == "object" && _ !== null;
|
|
2794
|
+
}
|
|
2795
|
+
h.isObject = U;
|
|
2796
|
+
function q(_) {
|
|
2797
|
+
return U(_) && ee(_) === "[object Date]";
|
|
2798
|
+
}
|
|
2799
|
+
h.isDate = q;
|
|
2800
|
+
function V(_) {
|
|
2801
|
+
return U(_) && (ee(_) === "[object Error]" || _ instanceof Error);
|
|
2802
|
+
}
|
|
2803
|
+
h.isError = V;
|
|
2804
|
+
function fe(_) {
|
|
2805
|
+
return typeof _ == "function";
|
|
2806
|
+
}
|
|
2807
|
+
h.isFunction = fe;
|
|
2808
|
+
function re(_) {
|
|
2809
|
+
return _ === null || typeof _ == "boolean" || typeof _ == "number" || typeof _ == "string" || typeof _ == "symbol" || // ES6 symbol
|
|
2810
|
+
typeof _ > "u";
|
|
2811
|
+
}
|
|
2812
|
+
h.isPrimitive = re, h.isBuffer = n("./support/isBuffer");
|
|
2813
|
+
function ee(_) {
|
|
2814
|
+
return Object.prototype.toString.call(_);
|
|
2815
|
+
}
|
|
2816
|
+
function pe(_) {
|
|
2817
|
+
return _ < 10 ? "0" + _.toString(10) : _.toString(10);
|
|
2818
|
+
}
|
|
2819
|
+
var ce = [
|
|
2820
|
+
"Jan",
|
|
2821
|
+
"Feb",
|
|
2822
|
+
"Mar",
|
|
2823
|
+
"Apr",
|
|
2824
|
+
"May",
|
|
2825
|
+
"Jun",
|
|
2826
|
+
"Jul",
|
|
2827
|
+
"Aug",
|
|
2828
|
+
"Sep",
|
|
2829
|
+
"Oct",
|
|
2830
|
+
"Nov",
|
|
2831
|
+
"Dec"
|
|
2832
|
+
];
|
|
2833
|
+
function he() {
|
|
2834
|
+
var _ = new Date(), w = [
|
|
2835
|
+
pe(_.getHours()),
|
|
2836
|
+
pe(_.getMinutes()),
|
|
2837
|
+
pe(_.getSeconds())
|
|
2838
|
+
].join(":");
|
|
2839
|
+
return [_.getDate(), ce[_.getMonth()], w].join(" ");
|
|
2840
|
+
}
|
|
2841
|
+
h.log = function() {
|
|
2842
|
+
console.log("%s - %s", he(), h.format.apply(h, arguments));
|
|
2843
|
+
}, h.inherits = n("inherits"), h._extend = function(_, w) {
|
|
2844
|
+
if (!w || !U(w))
|
|
2845
|
+
return _;
|
|
2846
|
+
for (var P = Object.keys(w), Q = P.length; Q--; )
|
|
2847
|
+
_[P[Q]] = w[P[Q]];
|
|
2848
|
+
return _;
|
|
2849
|
+
};
|
|
2850
|
+
function Ne(_, w) {
|
|
2851
|
+
return Object.prototype.hasOwnProperty.call(_, w);
|
|
2852
|
+
}
|
|
2853
|
+
}).call(this, n("_process"), typeof pt < "u" ? pt : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
2854
|
+
}, { "./support/isBuffer": 10, _process: 14, inherits: 9 }], 12: [function(n, o, h) {
|
|
2855
|
+
}, {}], 13: [function(n, o, h) {
|
|
2856
|
+
(function(s) {
|
|
2857
|
+
function c(m, p) {
|
|
2858
|
+
for (var y = 0, F = m.length - 1; F >= 0; F--) {
|
|
2859
|
+
var d = m[F];
|
|
2860
|
+
d === "." ? m.splice(F, 1) : d === ".." ? (m.splice(F, 1), y++) : y && (m.splice(F, 1), y--);
|
|
2861
|
+
}
|
|
2862
|
+
if (p)
|
|
2863
|
+
for (; y--; y)
|
|
2864
|
+
m.unshift("..");
|
|
2865
|
+
return m;
|
|
2866
|
+
}
|
|
2867
|
+
h.resolve = function() {
|
|
2868
|
+
for (var m = "", p = !1, y = arguments.length - 1; y >= -1 && !p; y--) {
|
|
2869
|
+
var F = y >= 0 ? arguments[y] : s.cwd();
|
|
2870
|
+
if (typeof F != "string")
|
|
2871
|
+
throw new TypeError("Arguments to path.resolve must be strings");
|
|
2872
|
+
if (!F)
|
|
2873
|
+
continue;
|
|
2874
|
+
m = F + "/" + m, p = F.charAt(0) === "/";
|
|
2875
|
+
}
|
|
2876
|
+
return m = c(v(m.split("/"), function(d) {
|
|
2877
|
+
return !!d;
|
|
2878
|
+
}), !p).join("/"), (p ? "/" : "") + m || ".";
|
|
2879
|
+
}, h.normalize = function(m) {
|
|
2880
|
+
var p = h.isAbsolute(m), y = C(m, -1) === "/";
|
|
2881
|
+
return m = c(v(m.split("/"), function(F) {
|
|
2882
|
+
return !!F;
|
|
2883
|
+
}), !p).join("/"), !m && !p && (m = "."), m && y && (m += "/"), (p ? "/" : "") + m;
|
|
2884
|
+
}, h.isAbsolute = function(m) {
|
|
2885
|
+
return m.charAt(0) === "/";
|
|
2886
|
+
}, h.join = function() {
|
|
2887
|
+
var m = Array.prototype.slice.call(arguments, 0);
|
|
2888
|
+
return h.normalize(v(m, function(p, y) {
|
|
2889
|
+
if (typeof p != "string")
|
|
2890
|
+
throw new TypeError("Arguments to path.join must be strings");
|
|
2891
|
+
return p;
|
|
2892
|
+
}).join("/"));
|
|
2893
|
+
}, h.relative = function(m, p) {
|
|
2894
|
+
m = h.resolve(m).substr(1), p = h.resolve(p).substr(1);
|
|
2895
|
+
function y(D) {
|
|
2896
|
+
for (var a = 0; a < D.length && D[a] === ""; a++)
|
|
2897
|
+
;
|
|
2898
|
+
for (var f = D.length - 1; f >= 0 && D[f] === ""; f--)
|
|
2899
|
+
;
|
|
2900
|
+
return a > f ? [] : D.slice(a, f - a + 1);
|
|
2901
|
+
}
|
|
2902
|
+
for (var F = y(m.split("/")), d = y(p.split("/")), E = Math.min(F.length, d.length), u = E, S = 0; S < E; S++)
|
|
2903
|
+
if (F[S] !== d[S]) {
|
|
2904
|
+
u = S;
|
|
2905
|
+
break;
|
|
2906
|
+
}
|
|
2907
|
+
for (var B = [], S = u; S < F.length; S++)
|
|
2908
|
+
B.push("..");
|
|
2909
|
+
return B = B.concat(d.slice(u)), B.join("/");
|
|
2910
|
+
}, h.sep = "/", h.delimiter = ":", h.dirname = function(m) {
|
|
2911
|
+
if (typeof m != "string" && (m = m + ""), m.length === 0)
|
|
2912
|
+
return ".";
|
|
2913
|
+
for (var p = m.charCodeAt(0), y = p === 47, F = -1, d = !0, E = m.length - 1; E >= 1; --E)
|
|
2914
|
+
if (p = m.charCodeAt(E), p === 47) {
|
|
2915
|
+
if (!d) {
|
|
2916
|
+
F = E;
|
|
2917
|
+
break;
|
|
2918
|
+
}
|
|
2919
|
+
} else
|
|
2920
|
+
d = !1;
|
|
2921
|
+
return F === -1 ? y ? "/" : "." : y && F === 1 ? "/" : m.slice(0, F);
|
|
2922
|
+
};
|
|
2923
|
+
function x(m) {
|
|
2924
|
+
typeof m != "string" && (m = m + "");
|
|
2925
|
+
var p = 0, y = -1, F = !0, d;
|
|
2926
|
+
for (d = m.length - 1; d >= 0; --d)
|
|
2927
|
+
if (m.charCodeAt(d) === 47) {
|
|
2928
|
+
if (!F) {
|
|
2929
|
+
p = d + 1;
|
|
2930
|
+
break;
|
|
2931
|
+
}
|
|
2932
|
+
} else
|
|
2933
|
+
y === -1 && (F = !1, y = d + 1);
|
|
2934
|
+
return y === -1 ? "" : m.slice(p, y);
|
|
2935
|
+
}
|
|
2936
|
+
h.basename = function(m, p) {
|
|
2937
|
+
var y = x(m);
|
|
2938
|
+
return p && y.substr(-1 * p.length) === p && (y = y.substr(0, y.length - p.length)), y;
|
|
2939
|
+
}, h.extname = function(m) {
|
|
2940
|
+
typeof m != "string" && (m = m + "");
|
|
2941
|
+
for (var p = -1, y = 0, F = -1, d = !0, E = 0, u = m.length - 1; u >= 0; --u) {
|
|
2942
|
+
var S = m.charCodeAt(u);
|
|
2943
|
+
if (S === 47) {
|
|
2944
|
+
if (!d) {
|
|
2945
|
+
y = u + 1;
|
|
2946
|
+
break;
|
|
2947
|
+
}
|
|
2948
|
+
continue;
|
|
2949
|
+
}
|
|
2950
|
+
F === -1 && (d = !1, F = u + 1), S === 46 ? p === -1 ? p = u : E !== 1 && (E = 1) : p !== -1 && (E = -1);
|
|
2951
|
+
}
|
|
2952
|
+
return p === -1 || F === -1 || // We saw a non-dot character immediately before the dot
|
|
2953
|
+
E === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
2954
|
+
E === 1 && p === F - 1 && p === y + 1 ? "" : m.slice(p, F);
|
|
2955
|
+
};
|
|
2956
|
+
function v(m, p) {
|
|
2957
|
+
if (m.filter)
|
|
2958
|
+
return m.filter(p);
|
|
2959
|
+
for (var y = [], F = 0; F < m.length; F++)
|
|
2960
|
+
p(m[F], F, m) && y.push(m[F]);
|
|
2961
|
+
return y;
|
|
2962
|
+
}
|
|
2963
|
+
var C = "ab".substr(-1) === "b" ? function(m, p, y) {
|
|
2964
|
+
return m.substr(p, y);
|
|
2965
|
+
} : function(m, p, y) {
|
|
2966
|
+
return p < 0 && (p = m.length + p), m.substr(p, y);
|
|
2967
|
+
};
|
|
2968
|
+
}).call(this, n("_process"));
|
|
2969
|
+
}, { _process: 14 }], 14: [function(n, o, h) {
|
|
2970
|
+
var s = o.exports = {}, c, x;
|
|
2971
|
+
function v() {
|
|
2972
|
+
throw new Error("setTimeout has not been defined");
|
|
2973
|
+
}
|
|
2974
|
+
function C() {
|
|
2975
|
+
throw new Error("clearTimeout has not been defined");
|
|
2976
|
+
}
|
|
2977
|
+
(function() {
|
|
2978
|
+
try {
|
|
2979
|
+
typeof setTimeout == "function" ? c = setTimeout : c = v;
|
|
2980
|
+
} catch {
|
|
2981
|
+
c = v;
|
|
2982
|
+
}
|
|
2983
|
+
try {
|
|
2984
|
+
typeof clearTimeout == "function" ? x = clearTimeout : x = C;
|
|
2985
|
+
} catch {
|
|
2986
|
+
x = C;
|
|
2987
|
+
}
|
|
2988
|
+
})();
|
|
2989
|
+
function m(a) {
|
|
2990
|
+
if (c === setTimeout)
|
|
2991
|
+
return setTimeout(a, 0);
|
|
2992
|
+
if ((c === v || !c) && setTimeout)
|
|
2993
|
+
return c = setTimeout, setTimeout(a, 0);
|
|
2994
|
+
try {
|
|
2995
|
+
return c(a, 0);
|
|
2996
|
+
} catch {
|
|
2997
|
+
try {
|
|
2998
|
+
return c.call(null, a, 0);
|
|
2999
|
+
} catch {
|
|
3000
|
+
return c.call(this, a, 0);
|
|
3001
|
+
}
|
|
3002
|
+
}
|
|
3003
|
+
}
|
|
3004
|
+
function p(a) {
|
|
3005
|
+
if (x === clearTimeout)
|
|
3006
|
+
return clearTimeout(a);
|
|
3007
|
+
if ((x === C || !x) && clearTimeout)
|
|
3008
|
+
return x = clearTimeout, clearTimeout(a);
|
|
3009
|
+
try {
|
|
3010
|
+
return x(a);
|
|
3011
|
+
} catch {
|
|
3012
|
+
try {
|
|
3013
|
+
return x.call(null, a);
|
|
3014
|
+
} catch {
|
|
3015
|
+
return x.call(this, a);
|
|
3016
|
+
}
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
3019
|
+
var y = [], F = !1, d, E = -1;
|
|
3020
|
+
function u() {
|
|
3021
|
+
!F || !d || (F = !1, d.length ? y = d.concat(y) : E = -1, y.length && S());
|
|
3022
|
+
}
|
|
3023
|
+
function S() {
|
|
3024
|
+
if (!F) {
|
|
3025
|
+
var a = m(u);
|
|
3026
|
+
F = !0;
|
|
3027
|
+
for (var f = y.length; f; ) {
|
|
3028
|
+
for (d = y, y = []; ++E < f; )
|
|
3029
|
+
d && d[E].run();
|
|
3030
|
+
E = -1, f = y.length;
|
|
3031
|
+
}
|
|
3032
|
+
d = null, F = !1, p(a);
|
|
3033
|
+
}
|
|
3034
|
+
}
|
|
3035
|
+
s.nextTick = function(a) {
|
|
3036
|
+
var f = new Array(arguments.length - 1);
|
|
3037
|
+
if (arguments.length > 1)
|
|
3038
|
+
for (var b = 1; b < arguments.length; b++)
|
|
3039
|
+
f[b - 1] = arguments[b];
|
|
3040
|
+
y.push(new B(a, f)), y.length === 1 && !F && m(S);
|
|
3041
|
+
};
|
|
3042
|
+
function B(a, f) {
|
|
3043
|
+
this.fun = a, this.array = f;
|
|
3044
|
+
}
|
|
3045
|
+
B.prototype.run = function() {
|
|
3046
|
+
this.fun.apply(null, this.array);
|
|
3047
|
+
}, s.title = "browser", s.browser = !0, s.env = {}, s.argv = [], s.version = "", s.versions = {};
|
|
3048
|
+
function D() {
|
|
3049
|
+
}
|
|
3050
|
+
s.on = D, s.addListener = D, s.once = D, s.off = D, s.removeListener = D, s.removeAllListeners = D, s.emit = D, s.prependListener = D, s.prependOnceListener = D, s.listeners = function(a) {
|
|
3051
|
+
return [];
|
|
3052
|
+
}, s.binding = function(a) {
|
|
3053
|
+
throw new Error("process.binding is not supported");
|
|
3054
|
+
}, s.cwd = function() {
|
|
3055
|
+
return "/";
|
|
3056
|
+
}, s.chdir = function(a) {
|
|
3057
|
+
throw new Error("process.chdir is not supported");
|
|
3058
|
+
}, s.umask = function() {
|
|
3059
|
+
return 0;
|
|
3060
|
+
};
|
|
3061
|
+
}, {}], 15: [function(n, o, h) {
|
|
3062
|
+
var s = n("escodegen").generate;
|
|
3063
|
+
o.exports = function(c, x) {
|
|
3064
|
+
x || (x = {});
|
|
3065
|
+
var v = {}, C = function m(p, y) {
|
|
3066
|
+
if (p.type === "Literal")
|
|
3067
|
+
return p.value;
|
|
3068
|
+
if (p.type === "UnaryExpression") {
|
|
3069
|
+
var F = m(p.argument);
|
|
3070
|
+
return p.operator === "+" ? +F : p.operator === "-" ? -F : p.operator === "~" ? ~F : p.operator === "!" ? !F : v;
|
|
3071
|
+
} else if (p.type === "ArrayExpression") {
|
|
3072
|
+
for (var d = [], E = 0, u = p.elements.length; E < u; E++) {
|
|
3073
|
+
var S = m(p.elements[E]);
|
|
3074
|
+
if (S === v)
|
|
3075
|
+
return v;
|
|
3076
|
+
d.push(S);
|
|
3077
|
+
}
|
|
3078
|
+
return d;
|
|
3079
|
+
} else if (p.type === "ObjectExpression") {
|
|
3080
|
+
for (var B = {}, E = 0; E < p.properties.length; E++) {
|
|
3081
|
+
var D = p.properties[E], a = D.value === null ? D.value : m(D.value);
|
|
3082
|
+
if (a === v)
|
|
3083
|
+
return v;
|
|
3084
|
+
B[D.key.value || D.key.name] = a;
|
|
3085
|
+
}
|
|
3086
|
+
return B;
|
|
3087
|
+
} else if (p.type === "BinaryExpression" || p.type === "LogicalExpression") {
|
|
3088
|
+
var u = m(p.left);
|
|
3089
|
+
if (u === v)
|
|
3090
|
+
return v;
|
|
3091
|
+
var f = m(p.right);
|
|
3092
|
+
if (f === v)
|
|
3093
|
+
return v;
|
|
3094
|
+
var b = p.operator;
|
|
3095
|
+
return b === "==" ? u == f : b === "===" ? u === f : b === "!=" ? u != f : b === "!==" ? u !== f : b === "+" ? u + f : b === "-" ? u - f : b === "*" ? u * f : b === "/" ? u / f : b === "%" ? u % f : b === "<" ? u < f : b === "<=" ? u <= f : b === ">" ? u > f : b === ">=" ? u >= f : b === "|" ? u | f : b === "&" ? u & f : b === "^" ? u ^ f : b === "&&" ? u && f : b === "||" ? u || f : v;
|
|
3096
|
+
} else {
|
|
3097
|
+
if (p.type === "Identifier")
|
|
3098
|
+
return {}.hasOwnProperty.call(x, p.name) ? x[p.name] : v;
|
|
3099
|
+
if (p.type === "ThisExpression")
|
|
3100
|
+
return {}.hasOwnProperty.call(x, "this") ? x.this : v;
|
|
3101
|
+
if (p.type === "CallExpression") {
|
|
3102
|
+
var g = m(p.callee);
|
|
3103
|
+
if (g === v || typeof g != "function")
|
|
3104
|
+
return v;
|
|
3105
|
+
var I = p.callee.object ? m(p.callee.object) : v;
|
|
3106
|
+
I === v && (I = null);
|
|
3107
|
+
for (var M = [], E = 0, u = p.arguments.length; E < u; E++) {
|
|
3108
|
+
var S = m(p.arguments[E]);
|
|
3109
|
+
if (S === v)
|
|
3110
|
+
return v;
|
|
3111
|
+
M.push(S);
|
|
3112
|
+
}
|
|
3113
|
+
return g.apply(I, M);
|
|
3114
|
+
} else if (p.type === "MemberExpression") {
|
|
3115
|
+
var B = m(p.object);
|
|
3116
|
+
if (B === v || typeof B == "function")
|
|
3117
|
+
return v;
|
|
3118
|
+
if (p.property.type === "Identifier")
|
|
3119
|
+
return B[p.property.name];
|
|
3120
|
+
var D = m(p.property);
|
|
3121
|
+
return D === v ? v : B[D];
|
|
3122
|
+
} else if (p.type === "ConditionalExpression") {
|
|
3123
|
+
var F = m(p.test);
|
|
3124
|
+
return F === v ? v : m(F ? p.consequent : p.alternate);
|
|
3125
|
+
} else if (p.type === "ExpressionStatement") {
|
|
3126
|
+
var F = m(p.expression);
|
|
3127
|
+
return F === v ? v : F;
|
|
3128
|
+
} else {
|
|
3129
|
+
if (p.type === "ReturnStatement")
|
|
3130
|
+
return m(p.argument);
|
|
3131
|
+
if (p.type === "FunctionExpression") {
|
|
3132
|
+
var z = p.body.body, T = {};
|
|
3133
|
+
Object.keys(x).forEach(function(ce) {
|
|
3134
|
+
T[ce] = x[ce];
|
|
3135
|
+
});
|
|
3136
|
+
for (var E = 0; E < p.params.length; E++) {
|
|
3137
|
+
var N = p.params[E];
|
|
3138
|
+
if (N.type == "Identifier")
|
|
3139
|
+
x[N.name] = null;
|
|
3140
|
+
else
|
|
3141
|
+
return v;
|
|
3142
|
+
}
|
|
3143
|
+
for (var E in z)
|
|
3144
|
+
if (m(z[E]) === v)
|
|
3145
|
+
return v;
|
|
3146
|
+
x = T;
|
|
3147
|
+
var U = Object.keys(x), q = U.map(function(ce) {
|
|
3148
|
+
return x[ce];
|
|
3149
|
+
});
|
|
3150
|
+
return Function(U.join(", "), "return " + s(p)).apply(null, q);
|
|
3151
|
+
} else if (p.type === "TemplateLiteral") {
|
|
3152
|
+
for (var V = "", E = 0; E < p.expressions.length; E++)
|
|
3153
|
+
V += m(p.quasis[E]), V += m(p.expressions[E]);
|
|
3154
|
+
return V += m(p.quasis[E]), V;
|
|
3155
|
+
} else if (p.type === "TaggedTemplateExpression") {
|
|
3156
|
+
var fe = m(p.tag), re = p.quasi, ee = re.quasis.map(m), pe = re.expressions.map(m);
|
|
3157
|
+
return fe.apply(null, [ee].concat(pe));
|
|
3158
|
+
} else
|
|
3159
|
+
return p.type === "TemplateElement" ? p.value.cooked : v;
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
3162
|
+
}(c);
|
|
3163
|
+
return C === v ? void 0 : C;
|
|
3164
|
+
};
|
|
3165
|
+
}, { escodegen: 12 }], jsonpath: [function(n, o, h) {
|
|
3166
|
+
o.exports = n("./lib/index");
|
|
3167
|
+
}, { "./lib/index": 5 }] }, {}, ["jsonpath"])("jsonpath");
|
|
3168
|
+
});
|
|
3169
|
+
})(ir);
|
|
3170
|
+
function ur(r, i, n) {
|
|
3171
|
+
return i = Pe(i), pr(r, Ye() ? Reflect.construct(i, n || [], Pe(r).constructor) : i.apply(r, n));
|
|
3172
|
+
}
|
|
3173
|
+
function mt(r, i, n) {
|
|
3174
|
+
if (Ye())
|
|
3175
|
+
return Reflect.construct.apply(null, arguments);
|
|
3176
|
+
var o = [null];
|
|
3177
|
+
o.push.apply(o, i);
|
|
3178
|
+
var h = new (r.bind.apply(r, o))();
|
|
3179
|
+
return n && Te(h, n.prototype), h;
|
|
3180
|
+
}
|
|
3181
|
+
function Ye() {
|
|
3182
|
+
try {
|
|
3183
|
+
var r = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
|
|
3184
|
+
}));
|
|
3185
|
+
} catch {
|
|
3186
|
+
}
|
|
3187
|
+
return (Ye = function() {
|
|
3188
|
+
return !!r;
|
|
3189
|
+
})();
|
|
3190
|
+
}
|
|
3191
|
+
function ht(r, i) {
|
|
3192
|
+
var n = Object.keys(r);
|
|
3193
|
+
if (Object.getOwnPropertySymbols) {
|
|
3194
|
+
var o = Object.getOwnPropertySymbols(r);
|
|
3195
|
+
i && (o = o.filter(function(h) {
|
|
3196
|
+
return Object.getOwnPropertyDescriptor(r, h).enumerable;
|
|
3197
|
+
})), n.push.apply(n, o);
|
|
3198
|
+
}
|
|
3199
|
+
return n;
|
|
3200
|
+
}
|
|
3201
|
+
function ar(r) {
|
|
3202
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
3203
|
+
var n = arguments[i] != null ? arguments[i] : {};
|
|
3204
|
+
i % 2 ? ht(Object(n), !0).forEach(function(o) {
|
|
3205
|
+
or(r, o, n[o]);
|
|
3206
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(n)) : ht(Object(n)).forEach(function(o) {
|
|
3207
|
+
Object.defineProperty(r, o, Object.getOwnPropertyDescriptor(n, o));
|
|
3208
|
+
});
|
|
3209
|
+
}
|
|
3210
|
+
return r;
|
|
3211
|
+
}
|
|
3212
|
+
function sr(r, i) {
|
|
3213
|
+
if (typeof r != "object" || !r)
|
|
3214
|
+
return r;
|
|
3215
|
+
var n = r[Symbol.toPrimitive];
|
|
3216
|
+
if (n !== void 0) {
|
|
3217
|
+
var o = n.call(r, i || "default");
|
|
3218
|
+
if (typeof o != "object")
|
|
3219
|
+
return o;
|
|
3220
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
3221
|
+
}
|
|
3222
|
+
return (i === "string" ? String : Number)(r);
|
|
3223
|
+
}
|
|
3224
|
+
function Et(r) {
|
|
3225
|
+
var i = sr(r, "string");
|
|
3226
|
+
return typeof i == "symbol" ? i : i + "";
|
|
3227
|
+
}
|
|
3228
|
+
function ye(r) {
|
|
3229
|
+
return ye = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(i) {
|
|
3230
|
+
return typeof i;
|
|
3231
|
+
} : function(i) {
|
|
3232
|
+
return i && typeof Symbol == "function" && i.constructor === Symbol && i !== Symbol.prototype ? "symbol" : typeof i;
|
|
3233
|
+
}, ye(r);
|
|
3234
|
+
}
|
|
3235
|
+
function ke(r, i) {
|
|
3236
|
+
if (!(r instanceof i))
|
|
3237
|
+
throw new TypeError("Cannot call a class as a function");
|
|
3238
|
+
}
|
|
3239
|
+
function yt(r, i) {
|
|
3240
|
+
for (var n = 0; n < i.length; n++) {
|
|
3241
|
+
var o = i[n];
|
|
3242
|
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(r, Et(o.key), o);
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
function Be(r, i, n) {
|
|
3246
|
+
return i && yt(r.prototype, i), n && yt(r, n), Object.defineProperty(r, "prototype", {
|
|
3247
|
+
writable: !1
|
|
3248
|
+
}), r;
|
|
3249
|
+
}
|
|
3250
|
+
function or(r, i, n) {
|
|
3251
|
+
return i = Et(i), i in r ? Object.defineProperty(r, i, {
|
|
3252
|
+
value: n,
|
|
3253
|
+
enumerable: !0,
|
|
3254
|
+
configurable: !0,
|
|
3255
|
+
writable: !0
|
|
3256
|
+
}) : r[i] = n, r;
|
|
3257
|
+
}
|
|
3258
|
+
function lr(r, i) {
|
|
3259
|
+
if (typeof i != "function" && i !== null)
|
|
3260
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
3261
|
+
r.prototype = Object.create(i && i.prototype, {
|
|
3262
|
+
constructor: {
|
|
3263
|
+
value: r,
|
|
3264
|
+
writable: !0,
|
|
3265
|
+
configurable: !0
|
|
3266
|
+
}
|
|
3267
|
+
}), Object.defineProperty(r, "prototype", {
|
|
3268
|
+
writable: !1
|
|
3269
|
+
}), i && Te(r, i);
|
|
3270
|
+
}
|
|
3271
|
+
function Pe(r) {
|
|
3272
|
+
return Pe = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(n) {
|
|
3273
|
+
return n.__proto__ || Object.getPrototypeOf(n);
|
|
3274
|
+
}, Pe(r);
|
|
3275
|
+
}
|
|
3276
|
+
function Te(r, i) {
|
|
3277
|
+
return Te = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, h) {
|
|
3278
|
+
return o.__proto__ = h, o;
|
|
3279
|
+
}, Te(r, i);
|
|
3280
|
+
}
|
|
3281
|
+
function cr(r) {
|
|
3282
|
+
try {
|
|
3283
|
+
return Function.toString.call(r).indexOf("[native code]") !== -1;
|
|
3284
|
+
} catch {
|
|
3285
|
+
return typeof r == "function";
|
|
3286
|
+
}
|
|
3287
|
+
}
|
|
3288
|
+
function Ve(r) {
|
|
3289
|
+
var i = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
|
|
3290
|
+
return Ve = function(o) {
|
|
3291
|
+
if (o === null || !cr(o))
|
|
3292
|
+
return o;
|
|
3293
|
+
if (typeof o != "function")
|
|
3294
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
3295
|
+
if (typeof i < "u") {
|
|
3296
|
+
if (i.has(o))
|
|
3297
|
+
return i.get(o);
|
|
3298
|
+
i.set(o, h);
|
|
3299
|
+
}
|
|
3300
|
+
function h() {
|
|
3301
|
+
return mt(o, arguments, Pe(this).constructor);
|
|
3302
|
+
}
|
|
3303
|
+
return h.prototype = Object.create(o.prototype, {
|
|
3304
|
+
constructor: {
|
|
3305
|
+
value: h,
|
|
3306
|
+
enumerable: !1,
|
|
3307
|
+
writable: !0,
|
|
3308
|
+
configurable: !0
|
|
3309
|
+
}
|
|
3310
|
+
}), Te(h, o);
|
|
3311
|
+
}, Ve(r);
|
|
3312
|
+
}
|
|
3313
|
+
function fr(r) {
|
|
3314
|
+
if (r === void 0)
|
|
3315
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
3316
|
+
return r;
|
|
3317
|
+
}
|
|
3318
|
+
function pr(r, i) {
|
|
3319
|
+
if (i && (typeof i == "object" || typeof i == "function"))
|
|
3320
|
+
return i;
|
|
3321
|
+
if (i !== void 0)
|
|
3322
|
+
throw new TypeError("Derived constructors may only return object or undefined");
|
|
3323
|
+
return fr(r);
|
|
3324
|
+
}
|
|
3325
|
+
function Ze(r) {
|
|
3326
|
+
return hr(r) || yr(r) || gt(r) || dr();
|
|
3327
|
+
}
|
|
3328
|
+
function hr(r) {
|
|
3329
|
+
if (Array.isArray(r))
|
|
3330
|
+
return Je(r);
|
|
3331
|
+
}
|
|
3332
|
+
function yr(r) {
|
|
3333
|
+
if (typeof Symbol < "u" && r[Symbol.iterator] != null || r["@@iterator"] != null)
|
|
3334
|
+
return Array.from(r);
|
|
3335
|
+
}
|
|
3336
|
+
function gt(r, i) {
|
|
3337
|
+
if (r) {
|
|
3338
|
+
if (typeof r == "string")
|
|
3339
|
+
return Je(r, i);
|
|
3340
|
+
var n = Object.prototype.toString.call(r).slice(8, -1);
|
|
3341
|
+
if (n === "Object" && r.constructor && (n = r.constructor.name), n === "Map" || n === "Set")
|
|
3342
|
+
return Array.from(r);
|
|
3343
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
3344
|
+
return Je(r, i);
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
function Je(r, i) {
|
|
3348
|
+
(i == null || i > r.length) && (i = r.length);
|
|
3349
|
+
for (var n = 0, o = new Array(i); n < i; n++)
|
|
3350
|
+
o[n] = r[n];
|
|
3351
|
+
return o;
|
|
3352
|
+
}
|
|
3353
|
+
function dr() {
|
|
3354
|
+
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3355
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
3356
|
+
}
|
|
3357
|
+
function mr(r, i) {
|
|
3358
|
+
var n = typeof Symbol < "u" && r[Symbol.iterator] || r["@@iterator"];
|
|
3359
|
+
if (!n) {
|
|
3360
|
+
if (Array.isArray(r) || (n = gt(r)) || i && r && typeof r.length == "number") {
|
|
3361
|
+
n && (r = n);
|
|
3362
|
+
var o = 0, h = function() {
|
|
3363
|
+
};
|
|
3364
|
+
return {
|
|
3365
|
+
s: h,
|
|
3366
|
+
n: function() {
|
|
3367
|
+
return o >= r.length ? {
|
|
3368
|
+
done: !0
|
|
3369
|
+
} : {
|
|
3370
|
+
done: !1,
|
|
3371
|
+
value: r[o++]
|
|
3372
|
+
};
|
|
3373
|
+
},
|
|
3374
|
+
e: function(v) {
|
|
3375
|
+
throw v;
|
|
3376
|
+
},
|
|
3377
|
+
f: h
|
|
3378
|
+
};
|
|
3379
|
+
}
|
|
3380
|
+
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
3381
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
3382
|
+
}
|
|
3383
|
+
var s = !0, c = !1, x;
|
|
3384
|
+
return {
|
|
3385
|
+
s: function() {
|
|
3386
|
+
n = n.call(r);
|
|
3387
|
+
},
|
|
3388
|
+
n: function() {
|
|
3389
|
+
var v = n.next();
|
|
3390
|
+
return s = v.done, v;
|
|
3391
|
+
},
|
|
3392
|
+
e: function(v) {
|
|
3393
|
+
c = !0, x = v;
|
|
3394
|
+
},
|
|
3395
|
+
f: function() {
|
|
3396
|
+
try {
|
|
3397
|
+
!s && n.return != null && n.return();
|
|
3398
|
+
} finally {
|
|
3399
|
+
if (c)
|
|
3400
|
+
throw x;
|
|
3401
|
+
}
|
|
3402
|
+
}
|
|
3403
|
+
};
|
|
3404
|
+
}
|
|
3405
|
+
var Er = /* @__PURE__ */ function() {
|
|
3406
|
+
function r() {
|
|
3407
|
+
ke(this, r);
|
|
3408
|
+
}
|
|
3409
|
+
return Be(r, [{
|
|
3410
|
+
key: "add",
|
|
3411
|
+
value: (
|
|
3412
|
+
/**
|
|
3413
|
+
* @callback HookCallback
|
|
3414
|
+
* @this {*|Jsep} this
|
|
3415
|
+
* @param {Jsep} env
|
|
3416
|
+
* @returns: void
|
|
3417
|
+
*/
|
|
3418
|
+
/**
|
|
3419
|
+
* Adds the given callback to the list of callbacks for the given hook.
|
|
3420
|
+
*
|
|
3421
|
+
* The callback will be invoked when the hook it is registered for is run.
|
|
3422
|
+
*
|
|
3423
|
+
* One callback function can be registered to multiple hooks and the same hook multiple times.
|
|
3424
|
+
*
|
|
3425
|
+
* @param {string|object} name The name of the hook, or an object of callbacks keyed by name
|
|
3426
|
+
* @param {HookCallback|boolean} callback The callback function which is given environment variables.
|
|
3427
|
+
* @param {?boolean} [first=false] Will add the hook to the top of the list (defaults to the bottom)
|
|
3428
|
+
* @public
|
|
3429
|
+
*/
|
|
3430
|
+
function(n, o, h) {
|
|
3431
|
+
if (typeof arguments[0] != "string")
|
|
3432
|
+
for (var s in arguments[0])
|
|
3433
|
+
this.add(s, arguments[0][s], arguments[1]);
|
|
3434
|
+
else
|
|
3435
|
+
(Array.isArray(n) ? n : [n]).forEach(function(c) {
|
|
3436
|
+
this[c] = this[c] || [], o && this[c][h ? "unshift" : "push"](o);
|
|
3437
|
+
}, this);
|
|
3438
|
+
}
|
|
3439
|
+
)
|
|
3440
|
+
/**
|
|
3441
|
+
* Runs a hook invoking all registered callbacks with the given environment variables.
|
|
3442
|
+
*
|
|
3443
|
+
* Callbacks will be invoked synchronously and in the order in which they were registered.
|
|
3444
|
+
*
|
|
3445
|
+
* @param {string} name The name of the hook.
|
|
3446
|
+
* @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
|
|
3447
|
+
* @public
|
|
3448
|
+
*/
|
|
3449
|
+
}, {
|
|
3450
|
+
key: "run",
|
|
3451
|
+
value: function(n, o) {
|
|
3452
|
+
this[n] = this[n] || [], this[n].forEach(function(h) {
|
|
3453
|
+
h.call(o && o.context ? o.context : o, o);
|
|
3454
|
+
});
|
|
3455
|
+
}
|
|
3456
|
+
}]);
|
|
3457
|
+
}(), gr = /* @__PURE__ */ function() {
|
|
3458
|
+
function r(i) {
|
|
3459
|
+
ke(this, r), this.jsep = i, this.registered = {};
|
|
3460
|
+
}
|
|
3461
|
+
return Be(r, [{
|
|
3462
|
+
key: "register",
|
|
3463
|
+
value: function() {
|
|
3464
|
+
for (var n = this, o = arguments.length, h = new Array(o), s = 0; s < o; s++)
|
|
3465
|
+
h[s] = arguments[s];
|
|
3466
|
+
h.forEach(function(c) {
|
|
3467
|
+
if (ye(c) !== "object" || !c.name || !c.init)
|
|
3468
|
+
throw new Error("Invalid JSEP plugin format");
|
|
3469
|
+
n.registered[c.name] || (c.init(n.jsep), n.registered[c.name] = c);
|
|
3470
|
+
});
|
|
3471
|
+
}
|
|
3472
|
+
}]);
|
|
3473
|
+
}(), de = /* @__PURE__ */ function() {
|
|
3474
|
+
function r(i) {
|
|
3475
|
+
ke(this, r), this.expr = i, this.index = 0;
|
|
3476
|
+
}
|
|
3477
|
+
return Be(r, [{
|
|
3478
|
+
key: "char",
|
|
3479
|
+
get: (
|
|
3480
|
+
// ==================== END CONFIG ============================
|
|
3481
|
+
/**
|
|
3482
|
+
* @returns {string}
|
|
3483
|
+
*/
|
|
3484
|
+
function() {
|
|
3485
|
+
return this.expr.charAt(this.index);
|
|
3486
|
+
}
|
|
3487
|
+
)
|
|
3488
|
+
/**
|
|
3489
|
+
* @returns {number}
|
|
3490
|
+
*/
|
|
3491
|
+
}, {
|
|
3492
|
+
key: "code",
|
|
3493
|
+
get: function() {
|
|
3494
|
+
return this.expr.charCodeAt(this.index);
|
|
3495
|
+
}
|
|
3496
|
+
}, {
|
|
3497
|
+
key: "throwError",
|
|
3498
|
+
value: (
|
|
3499
|
+
/**
|
|
3500
|
+
* throw error at index of the expression
|
|
3501
|
+
* @param {string} message
|
|
3502
|
+
* @throws
|
|
3503
|
+
*/
|
|
3504
|
+
function(n) {
|
|
3505
|
+
var o = new Error(n + " at character " + this.index);
|
|
3506
|
+
throw o.index = this.index, o.description = n, o;
|
|
3507
|
+
}
|
|
3508
|
+
)
|
|
3509
|
+
/**
|
|
3510
|
+
* Run a given hook
|
|
3511
|
+
* @param {string} name
|
|
3512
|
+
* @param {jsep.Expression|false} [node]
|
|
3513
|
+
* @returns {?jsep.Expression}
|
|
3514
|
+
*/
|
|
3515
|
+
}, {
|
|
3516
|
+
key: "runHook",
|
|
3517
|
+
value: function(n, o) {
|
|
3518
|
+
if (r.hooks[n]) {
|
|
3519
|
+
var h = {
|
|
3520
|
+
context: this,
|
|
3521
|
+
node: o
|
|
3522
|
+
};
|
|
3523
|
+
return r.hooks.run(n, h), h.node;
|
|
3524
|
+
}
|
|
3525
|
+
return o;
|
|
3526
|
+
}
|
|
3527
|
+
/**
|
|
3528
|
+
* Runs a given hook until one returns a node
|
|
3529
|
+
* @param {string} name
|
|
3530
|
+
* @returns {?jsep.Expression}
|
|
3531
|
+
*/
|
|
3532
|
+
}, {
|
|
3533
|
+
key: "searchHook",
|
|
3534
|
+
value: function(n) {
|
|
3535
|
+
if (r.hooks[n]) {
|
|
3536
|
+
var o = {
|
|
3537
|
+
context: this
|
|
3538
|
+
};
|
|
3539
|
+
return r.hooks[n].find(function(h) {
|
|
3540
|
+
return h.call(o.context, o), o.node;
|
|
3541
|
+
}), o.node;
|
|
3542
|
+
}
|
|
3543
|
+
}
|
|
3544
|
+
/**
|
|
3545
|
+
* Push `index` up to the next non-space character
|
|
3546
|
+
*/
|
|
3547
|
+
}, {
|
|
3548
|
+
key: "gobbleSpaces",
|
|
3549
|
+
value: function() {
|
|
3550
|
+
for (var n = this.code; n === r.SPACE_CODE || n === r.TAB_CODE || n === r.LF_CODE || n === r.CR_CODE; )
|
|
3551
|
+
n = this.expr.charCodeAt(++this.index);
|
|
3552
|
+
this.runHook("gobble-spaces");
|
|
3553
|
+
}
|
|
3554
|
+
/**
|
|
3555
|
+
* Top-level method to parse all expressions and returns compound or single node
|
|
3556
|
+
* @returns {jsep.Expression}
|
|
3557
|
+
*/
|
|
3558
|
+
}, {
|
|
3559
|
+
key: "parse",
|
|
3560
|
+
value: function() {
|
|
3561
|
+
this.runHook("before-all");
|
|
3562
|
+
var n = this.gobbleExpressions(), o = n.length === 1 ? n[0] : {
|
|
3563
|
+
type: r.COMPOUND,
|
|
3564
|
+
body: n
|
|
3565
|
+
};
|
|
3566
|
+
return this.runHook("after-all", o);
|
|
3567
|
+
}
|
|
3568
|
+
/**
|
|
3569
|
+
* top-level parser (but can be reused within as well)
|
|
3570
|
+
* @param {number} [untilICode]
|
|
3571
|
+
* @returns {jsep.Expression[]}
|
|
3572
|
+
*/
|
|
3573
|
+
}, {
|
|
3574
|
+
key: "gobbleExpressions",
|
|
3575
|
+
value: function(n) {
|
|
3576
|
+
for (var o = [], h, s; this.index < this.expr.length; )
|
|
3577
|
+
if (h = this.code, h === r.SEMCOL_CODE || h === r.COMMA_CODE)
|
|
3578
|
+
this.index++;
|
|
3579
|
+
else if (s = this.gobbleExpression())
|
|
3580
|
+
o.push(s);
|
|
3581
|
+
else if (this.index < this.expr.length) {
|
|
3582
|
+
if (h === n)
|
|
3583
|
+
break;
|
|
3584
|
+
this.throwError('Unexpected "' + this.char + '"');
|
|
3585
|
+
}
|
|
3586
|
+
return o;
|
|
3587
|
+
}
|
|
3588
|
+
/**
|
|
3589
|
+
* The main parsing function.
|
|
3590
|
+
* @returns {?jsep.Expression}
|
|
3591
|
+
*/
|
|
3592
|
+
}, {
|
|
3593
|
+
key: "gobbleExpression",
|
|
3594
|
+
value: function() {
|
|
3595
|
+
var n = this.searchHook("gobble-expression") || this.gobbleBinaryExpression();
|
|
3596
|
+
return this.gobbleSpaces(), this.runHook("after-expression", n);
|
|
3597
|
+
}
|
|
3598
|
+
/**
|
|
3599
|
+
* Search for the operation portion of the string (e.g. `+`, `===`)
|
|
3600
|
+
* Start by taking the longest possible binary operations (3 characters: `===`, `!==`, `>>>`)
|
|
3601
|
+
* and move down from 3 to 2 to 1 character until a matching binary operation is found
|
|
3602
|
+
* then, return that binary operation
|
|
3603
|
+
* @returns {string|boolean}
|
|
3604
|
+
*/
|
|
3605
|
+
}, {
|
|
3606
|
+
key: "gobbleBinaryOp",
|
|
3607
|
+
value: function() {
|
|
3608
|
+
this.gobbleSpaces();
|
|
3609
|
+
for (var n = this.expr.substr(this.index, r.max_binop_len), o = n.length; o > 0; ) {
|
|
3610
|
+
if (r.binary_ops.hasOwnProperty(n) && (!r.isIdentifierStart(this.code) || this.index + n.length < this.expr.length && !r.isIdentifierPart(this.expr.charCodeAt(this.index + n.length))))
|
|
3611
|
+
return this.index += o, n;
|
|
3612
|
+
n = n.substr(0, --o);
|
|
3613
|
+
}
|
|
3614
|
+
return !1;
|
|
3615
|
+
}
|
|
3616
|
+
/**
|
|
3617
|
+
* This function is responsible for gobbling an individual expression,
|
|
3618
|
+
* e.g. `1`, `1+2`, `a+(b*2)-Math.sqrt(2)`
|
|
3619
|
+
* @returns {?jsep.BinaryExpression}
|
|
3620
|
+
*/
|
|
3621
|
+
}, {
|
|
3622
|
+
key: "gobbleBinaryExpression",
|
|
3623
|
+
value: function() {
|
|
3624
|
+
var n, o, h, s, c, x, v, C, m;
|
|
3625
|
+
if (x = this.gobbleToken(), !x || (o = this.gobbleBinaryOp(), !o))
|
|
3626
|
+
return x;
|
|
3627
|
+
for (c = {
|
|
3628
|
+
value: o,
|
|
3629
|
+
prec: r.binaryPrecedence(o),
|
|
3630
|
+
right_a: r.right_associative.has(o)
|
|
3631
|
+
}, v = this.gobbleToken(), v || this.throwError("Expected expression after " + o), s = [x, c, v]; o = this.gobbleBinaryOp(); ) {
|
|
3632
|
+
if (h = r.binaryPrecedence(o), h === 0) {
|
|
3633
|
+
this.index -= o.length;
|
|
3634
|
+
break;
|
|
3635
|
+
}
|
|
3636
|
+
c = {
|
|
3637
|
+
value: o,
|
|
3638
|
+
prec: h,
|
|
3639
|
+
right_a: r.right_associative.has(o)
|
|
3640
|
+
}, m = o;
|
|
3641
|
+
for (var p = function(F) {
|
|
3642
|
+
return c.right_a && F.right_a ? h > F.prec : h <= F.prec;
|
|
3643
|
+
}; s.length > 2 && p(s[s.length - 2]); )
|
|
3644
|
+
v = s.pop(), o = s.pop().value, x = s.pop(), n = {
|
|
3645
|
+
type: r.BINARY_EXP,
|
|
3646
|
+
operator: o,
|
|
3647
|
+
left: x,
|
|
3648
|
+
right: v
|
|
3649
|
+
}, s.push(n);
|
|
3650
|
+
n = this.gobbleToken(), n || this.throwError("Expected expression after " + m), s.push(c, n);
|
|
3651
|
+
}
|
|
3652
|
+
for (C = s.length - 1, n = s[C]; C > 1; )
|
|
3653
|
+
n = {
|
|
3654
|
+
type: r.BINARY_EXP,
|
|
3655
|
+
operator: s[C - 1].value,
|
|
3656
|
+
left: s[C - 2],
|
|
3657
|
+
right: n
|
|
3658
|
+
}, C -= 2;
|
|
3659
|
+
return n;
|
|
3660
|
+
}
|
|
3661
|
+
/**
|
|
3662
|
+
* An individual part of a binary expression:
|
|
3663
|
+
* e.g. `foo.bar(baz)`, `1`, `"abc"`, `(a % 2)` (because it's in parenthesis)
|
|
3664
|
+
* @returns {boolean|jsep.Expression}
|
|
3665
|
+
*/
|
|
3666
|
+
}, {
|
|
3667
|
+
key: "gobbleToken",
|
|
3668
|
+
value: function() {
|
|
3669
|
+
var n, o, h, s;
|
|
3670
|
+
if (this.gobbleSpaces(), s = this.searchHook("gobble-token"), s)
|
|
3671
|
+
return this.runHook("after-token", s);
|
|
3672
|
+
if (n = this.code, r.isDecimalDigit(n) || n === r.PERIOD_CODE)
|
|
3673
|
+
return this.gobbleNumericLiteral();
|
|
3674
|
+
if (n === r.SQUOTE_CODE || n === r.DQUOTE_CODE)
|
|
3675
|
+
s = this.gobbleStringLiteral();
|
|
3676
|
+
else if (n === r.OBRACK_CODE)
|
|
3677
|
+
s = this.gobbleArray();
|
|
3678
|
+
else {
|
|
3679
|
+
for (o = this.expr.substr(this.index, r.max_unop_len), h = o.length; h > 0; ) {
|
|
3680
|
+
if (r.unary_ops.hasOwnProperty(o) && (!r.isIdentifierStart(this.code) || this.index + o.length < this.expr.length && !r.isIdentifierPart(this.expr.charCodeAt(this.index + o.length)))) {
|
|
3681
|
+
this.index += h;
|
|
3682
|
+
var c = this.gobbleToken();
|
|
3683
|
+
return c || this.throwError("missing unaryOp argument"), this.runHook("after-token", {
|
|
3684
|
+
type: r.UNARY_EXP,
|
|
3685
|
+
operator: o,
|
|
3686
|
+
argument: c,
|
|
3687
|
+
prefix: !0
|
|
3688
|
+
});
|
|
3689
|
+
}
|
|
3690
|
+
o = o.substr(0, --h);
|
|
3691
|
+
}
|
|
3692
|
+
r.isIdentifierStart(n) ? (s = this.gobbleIdentifier(), r.literals.hasOwnProperty(s.name) ? s = {
|
|
3693
|
+
type: r.LITERAL,
|
|
3694
|
+
value: r.literals[s.name],
|
|
3695
|
+
raw: s.name
|
|
3696
|
+
} : s.name === r.this_str && (s = {
|
|
3697
|
+
type: r.THIS_EXP
|
|
3698
|
+
})) : n === r.OPAREN_CODE && (s = this.gobbleGroup());
|
|
3699
|
+
}
|
|
3700
|
+
return s ? (s = this.gobbleTokenProperty(s), this.runHook("after-token", s)) : this.runHook("after-token", !1);
|
|
3701
|
+
}
|
|
3702
|
+
/**
|
|
3703
|
+
* Gobble properties of of identifiers/strings/arrays/groups.
|
|
3704
|
+
* e.g. `foo`, `bar.baz`, `foo['bar'].baz`
|
|
3705
|
+
* It also gobbles function calls:
|
|
3706
|
+
* e.g. `Math.acos(obj.angle)`
|
|
3707
|
+
* @param {jsep.Expression} node
|
|
3708
|
+
* @returns {jsep.Expression}
|
|
3709
|
+
*/
|
|
3710
|
+
}, {
|
|
3711
|
+
key: "gobbleTokenProperty",
|
|
3712
|
+
value: function(n) {
|
|
3713
|
+
this.gobbleSpaces();
|
|
3714
|
+
for (var o = this.code; o === r.PERIOD_CODE || o === r.OBRACK_CODE || o === r.OPAREN_CODE || o === r.QUMARK_CODE; ) {
|
|
3715
|
+
var h = void 0;
|
|
3716
|
+
if (o === r.QUMARK_CODE) {
|
|
3717
|
+
if (this.expr.charCodeAt(this.index + 1) !== r.PERIOD_CODE)
|
|
3718
|
+
break;
|
|
3719
|
+
h = !0, this.index += 2, this.gobbleSpaces(), o = this.code;
|
|
3720
|
+
}
|
|
3721
|
+
this.index++, o === r.OBRACK_CODE ? (n = {
|
|
3722
|
+
type: r.MEMBER_EXP,
|
|
3723
|
+
computed: !0,
|
|
3724
|
+
object: n,
|
|
3725
|
+
property: this.gobbleExpression()
|
|
3726
|
+
}, this.gobbleSpaces(), o = this.code, o !== r.CBRACK_CODE && this.throwError("Unclosed ["), this.index++) : o === r.OPAREN_CODE ? n = {
|
|
3727
|
+
type: r.CALL_EXP,
|
|
3728
|
+
arguments: this.gobbleArguments(r.CPAREN_CODE),
|
|
3729
|
+
callee: n
|
|
3730
|
+
} : (o === r.PERIOD_CODE || h) && (h && this.index--, this.gobbleSpaces(), n = {
|
|
3731
|
+
type: r.MEMBER_EXP,
|
|
3732
|
+
computed: !1,
|
|
3733
|
+
object: n,
|
|
3734
|
+
property: this.gobbleIdentifier()
|
|
3735
|
+
}), h && (n.optional = !0), this.gobbleSpaces(), o = this.code;
|
|
3736
|
+
}
|
|
3737
|
+
return n;
|
|
3738
|
+
}
|
|
3739
|
+
/**
|
|
3740
|
+
* Parse simple numeric literals: `12`, `3.4`, `.5`. Do this by using a string to
|
|
3741
|
+
* keep track of everything in the numeric literal and then calling `parseFloat` on that string
|
|
3742
|
+
* @returns {jsep.Literal}
|
|
3743
|
+
*/
|
|
3744
|
+
}, {
|
|
3745
|
+
key: "gobbleNumericLiteral",
|
|
3746
|
+
value: function() {
|
|
3747
|
+
for (var n = "", o, h; r.isDecimalDigit(this.code); )
|
|
3748
|
+
n += this.expr.charAt(this.index++);
|
|
3749
|
+
if (this.code === r.PERIOD_CODE)
|
|
3750
|
+
for (n += this.expr.charAt(this.index++); r.isDecimalDigit(this.code); )
|
|
3751
|
+
n += this.expr.charAt(this.index++);
|
|
3752
|
+
if (o = this.char, o === "e" || o === "E") {
|
|
3753
|
+
for (n += this.expr.charAt(this.index++), o = this.char, (o === "+" || o === "-") && (n += this.expr.charAt(this.index++)); r.isDecimalDigit(this.code); )
|
|
3754
|
+
n += this.expr.charAt(this.index++);
|
|
3755
|
+
r.isDecimalDigit(this.expr.charCodeAt(this.index - 1)) || this.throwError("Expected exponent (" + n + this.char + ")");
|
|
3756
|
+
}
|
|
3757
|
+
return h = this.code, r.isIdentifierStart(h) ? this.throwError("Variable names cannot start with a number (" + n + this.char + ")") : (h === r.PERIOD_CODE || n.length === 1 && n.charCodeAt(0) === r.PERIOD_CODE) && this.throwError("Unexpected period"), {
|
|
3758
|
+
type: r.LITERAL,
|
|
3759
|
+
value: parseFloat(n),
|
|
3760
|
+
raw: n
|
|
3761
|
+
};
|
|
3762
|
+
}
|
|
3763
|
+
/**
|
|
3764
|
+
* Parses a string literal, staring with single or double quotes with basic support for escape codes
|
|
3765
|
+
* e.g. `"hello world"`, `'this is\nJSEP'`
|
|
3766
|
+
* @returns {jsep.Literal}
|
|
3767
|
+
*/
|
|
3768
|
+
}, {
|
|
3769
|
+
key: "gobbleStringLiteral",
|
|
3770
|
+
value: function() {
|
|
3771
|
+
for (var n = "", o = this.index, h = this.expr.charAt(this.index++), s = !1; this.index < this.expr.length; ) {
|
|
3772
|
+
var c = this.expr.charAt(this.index++);
|
|
3773
|
+
if (c === h) {
|
|
3774
|
+
s = !0;
|
|
3775
|
+
break;
|
|
3776
|
+
} else if (c === "\\")
|
|
3777
|
+
switch (c = this.expr.charAt(this.index++), c) {
|
|
3778
|
+
case "n":
|
|
3779
|
+
n += `
|
|
3780
|
+
`;
|
|
3781
|
+
break;
|
|
3782
|
+
case "r":
|
|
3783
|
+
n += "\r";
|
|
3784
|
+
break;
|
|
3785
|
+
case "t":
|
|
3786
|
+
n += " ";
|
|
3787
|
+
break;
|
|
3788
|
+
case "b":
|
|
3789
|
+
n += "\b";
|
|
3790
|
+
break;
|
|
3791
|
+
case "f":
|
|
3792
|
+
n += "\f";
|
|
3793
|
+
break;
|
|
3794
|
+
case "v":
|
|
3795
|
+
n += "\v";
|
|
3796
|
+
break;
|
|
3797
|
+
default:
|
|
3798
|
+
n += c;
|
|
3799
|
+
}
|
|
3800
|
+
else
|
|
3801
|
+
n += c;
|
|
3802
|
+
}
|
|
3803
|
+
return s || this.throwError('Unclosed quote after "' + n + '"'), {
|
|
3804
|
+
type: r.LITERAL,
|
|
3805
|
+
value: n,
|
|
3806
|
+
raw: this.expr.substring(o, this.index)
|
|
3807
|
+
};
|
|
3808
|
+
}
|
|
3809
|
+
/**
|
|
3810
|
+
* Gobbles only identifiers
|
|
3811
|
+
* e.g.: `foo`, `_value`, `$x1`
|
|
3812
|
+
* Also, this function checks if that identifier is a literal:
|
|
3813
|
+
* (e.g. `true`, `false`, `null`) or `this`
|
|
3814
|
+
* @returns {jsep.Identifier}
|
|
3815
|
+
*/
|
|
3816
|
+
}, {
|
|
3817
|
+
key: "gobbleIdentifier",
|
|
3818
|
+
value: function() {
|
|
3819
|
+
var n = this.code, o = this.index;
|
|
3820
|
+
for (r.isIdentifierStart(n) ? this.index++ : this.throwError("Unexpected " + this.char); this.index < this.expr.length && (n = this.code, r.isIdentifierPart(n)); )
|
|
3821
|
+
this.index++;
|
|
3822
|
+
return {
|
|
3823
|
+
type: r.IDENTIFIER,
|
|
3824
|
+
name: this.expr.slice(o, this.index)
|
|
3825
|
+
};
|
|
3826
|
+
}
|
|
3827
|
+
/**
|
|
3828
|
+
* Gobbles a list of arguments within the context of a function call
|
|
3829
|
+
* or array literal. This function also assumes that the opening character
|
|
3830
|
+
* `(` or `[` has already been gobbled, and gobbles expressions and commas
|
|
3831
|
+
* until the terminator character `)` or `]` is encountered.
|
|
3832
|
+
* e.g. `foo(bar, baz)`, `my_func()`, or `[bar, baz]`
|
|
3833
|
+
* @param {number} termination
|
|
3834
|
+
* @returns {jsep.Expression[]}
|
|
3835
|
+
*/
|
|
3836
|
+
}, {
|
|
3837
|
+
key: "gobbleArguments",
|
|
3838
|
+
value: function(n) {
|
|
3839
|
+
for (var o = [], h = !1, s = 0; this.index < this.expr.length; ) {
|
|
3840
|
+
this.gobbleSpaces();
|
|
3841
|
+
var c = this.code;
|
|
3842
|
+
if (c === n) {
|
|
3843
|
+
h = !0, this.index++, n === r.CPAREN_CODE && s && s >= o.length && this.throwError("Unexpected token " + String.fromCharCode(n));
|
|
3844
|
+
break;
|
|
3845
|
+
} else if (c === r.COMMA_CODE) {
|
|
3846
|
+
if (this.index++, s++, s !== o.length) {
|
|
3847
|
+
if (n === r.CPAREN_CODE)
|
|
3848
|
+
this.throwError("Unexpected token ,");
|
|
3849
|
+
else if (n === r.CBRACK_CODE)
|
|
3850
|
+
for (var x = o.length; x < s; x++)
|
|
3851
|
+
o.push(null);
|
|
3852
|
+
}
|
|
3853
|
+
} else if (o.length !== s && s !== 0)
|
|
3854
|
+
this.throwError("Expected comma");
|
|
3855
|
+
else {
|
|
3856
|
+
var v = this.gobbleExpression();
|
|
3857
|
+
(!v || v.type === r.COMPOUND) && this.throwError("Expected comma"), o.push(v);
|
|
3858
|
+
}
|
|
3859
|
+
}
|
|
3860
|
+
return h || this.throwError("Expected " + String.fromCharCode(n)), o;
|
|
3861
|
+
}
|
|
3862
|
+
/**
|
|
3863
|
+
* Responsible for parsing a group of things within parentheses `()`
|
|
3864
|
+
* that have no identifier in front (so not a function call)
|
|
3865
|
+
* This function assumes that it needs to gobble the opening parenthesis
|
|
3866
|
+
* and then tries to gobble everything within that parenthesis, assuming
|
|
3867
|
+
* that the next thing it should see is the close parenthesis. If not,
|
|
3868
|
+
* then the expression probably doesn't have a `)`
|
|
3869
|
+
* @returns {boolean|jsep.Expression}
|
|
3870
|
+
*/
|
|
3871
|
+
}, {
|
|
3872
|
+
key: "gobbleGroup",
|
|
3873
|
+
value: function() {
|
|
3874
|
+
this.index++;
|
|
3875
|
+
var n = this.gobbleExpressions(r.CPAREN_CODE);
|
|
3876
|
+
if (this.code === r.CPAREN_CODE)
|
|
3877
|
+
return this.index++, n.length === 1 ? n[0] : n.length ? {
|
|
3878
|
+
type: r.SEQUENCE_EXP,
|
|
3879
|
+
expressions: n
|
|
3880
|
+
} : !1;
|
|
3881
|
+
this.throwError("Unclosed (");
|
|
3882
|
+
}
|
|
3883
|
+
/**
|
|
3884
|
+
* Responsible for parsing Array literals `[1, 2, 3]`
|
|
3885
|
+
* This function assumes that it needs to gobble the opening bracket
|
|
3886
|
+
* and then tries to gobble the expressions as arguments.
|
|
3887
|
+
* @returns {jsep.ArrayExpression}
|
|
3888
|
+
*/
|
|
3889
|
+
}, {
|
|
3890
|
+
key: "gobbleArray",
|
|
3891
|
+
value: function() {
|
|
3892
|
+
return this.index++, {
|
|
3893
|
+
type: r.ARRAY_EXP,
|
|
3894
|
+
elements: this.gobbleArguments(r.CBRACK_CODE)
|
|
3895
|
+
};
|
|
3896
|
+
}
|
|
3897
|
+
}], [{
|
|
3898
|
+
key: "version",
|
|
3899
|
+
get: (
|
|
3900
|
+
/**
|
|
3901
|
+
* @returns {string}
|
|
3902
|
+
*/
|
|
3903
|
+
function() {
|
|
3904
|
+
return "1.3.8";
|
|
3905
|
+
}
|
|
3906
|
+
)
|
|
3907
|
+
/**
|
|
3908
|
+
* @returns {string}
|
|
3909
|
+
*/
|
|
3910
|
+
}, {
|
|
3911
|
+
key: "toString",
|
|
3912
|
+
value: function() {
|
|
3913
|
+
return "JavaScript Expression Parser (JSEP) v" + r.version;
|
|
3914
|
+
}
|
|
3915
|
+
}, {
|
|
3916
|
+
key: "addUnaryOp",
|
|
3917
|
+
value: (
|
|
3918
|
+
// ==================== CONFIG ================================
|
|
3919
|
+
/**
|
|
3920
|
+
* @method addUnaryOp
|
|
3921
|
+
* @param {string} op_name The name of the unary op to add
|
|
3922
|
+
* @returns {Jsep}
|
|
3923
|
+
*/
|
|
3924
|
+
function(n) {
|
|
3925
|
+
return r.max_unop_len = Math.max(n.length, r.max_unop_len), r.unary_ops[n] = 1, r;
|
|
3926
|
+
}
|
|
3927
|
+
)
|
|
3928
|
+
/**
|
|
3929
|
+
* @method jsep.addBinaryOp
|
|
3930
|
+
* @param {string} op_name The name of the binary op to add
|
|
3931
|
+
* @param {number} precedence The precedence of the binary op (can be a float). Higher number = higher precedence
|
|
3932
|
+
* @param {boolean} [isRightAssociative=false] whether operator is right-associative
|
|
3933
|
+
* @returns {Jsep}
|
|
3934
|
+
*/
|
|
3935
|
+
}, {
|
|
3936
|
+
key: "addBinaryOp",
|
|
3937
|
+
value: function(n, o, h) {
|
|
3938
|
+
return r.max_binop_len = Math.max(n.length, r.max_binop_len), r.binary_ops[n] = o, h ? r.right_associative.add(n) : r.right_associative.delete(n), r;
|
|
3939
|
+
}
|
|
3940
|
+
/**
|
|
3941
|
+
* @method addIdentifierChar
|
|
3942
|
+
* @param {string} char The additional character to treat as a valid part of an identifier
|
|
3943
|
+
* @returns {Jsep}
|
|
3944
|
+
*/
|
|
3945
|
+
}, {
|
|
3946
|
+
key: "addIdentifierChar",
|
|
3947
|
+
value: function(n) {
|
|
3948
|
+
return r.additional_identifier_chars.add(n), r;
|
|
3949
|
+
}
|
|
3950
|
+
/**
|
|
3951
|
+
* @method addLiteral
|
|
3952
|
+
* @param {string} literal_name The name of the literal to add
|
|
3953
|
+
* @param {*} literal_value The value of the literal
|
|
3954
|
+
* @returns {Jsep}
|
|
3955
|
+
*/
|
|
3956
|
+
}, {
|
|
3957
|
+
key: "addLiteral",
|
|
3958
|
+
value: function(n, o) {
|
|
3959
|
+
return r.literals[n] = o, r;
|
|
3960
|
+
}
|
|
3961
|
+
/**
|
|
3962
|
+
* @method removeUnaryOp
|
|
3963
|
+
* @param {string} op_name The name of the unary op to remove
|
|
3964
|
+
* @returns {Jsep}
|
|
3965
|
+
*/
|
|
3966
|
+
}, {
|
|
3967
|
+
key: "removeUnaryOp",
|
|
3968
|
+
value: function(n) {
|
|
3969
|
+
return delete r.unary_ops[n], n.length === r.max_unop_len && (r.max_unop_len = r.getMaxKeyLen(r.unary_ops)), r;
|
|
3970
|
+
}
|
|
3971
|
+
/**
|
|
3972
|
+
* @method removeAllUnaryOps
|
|
3973
|
+
* @returns {Jsep}
|
|
3974
|
+
*/
|
|
3975
|
+
}, {
|
|
3976
|
+
key: "removeAllUnaryOps",
|
|
3977
|
+
value: function() {
|
|
3978
|
+
return r.unary_ops = {}, r.max_unop_len = 0, r;
|
|
3979
|
+
}
|
|
3980
|
+
/**
|
|
3981
|
+
* @method removeIdentifierChar
|
|
3982
|
+
* @param {string} char The additional character to stop treating as a valid part of an identifier
|
|
3983
|
+
* @returns {Jsep}
|
|
3984
|
+
*/
|
|
3985
|
+
}, {
|
|
3986
|
+
key: "removeIdentifierChar",
|
|
3987
|
+
value: function(n) {
|
|
3988
|
+
return r.additional_identifier_chars.delete(n), r;
|
|
3989
|
+
}
|
|
3990
|
+
/**
|
|
3991
|
+
* @method removeBinaryOp
|
|
3992
|
+
* @param {string} op_name The name of the binary op to remove
|
|
3993
|
+
* @returns {Jsep}
|
|
3994
|
+
*/
|
|
3995
|
+
}, {
|
|
3996
|
+
key: "removeBinaryOp",
|
|
3997
|
+
value: function(n) {
|
|
3998
|
+
return delete r.binary_ops[n], n.length === r.max_binop_len && (r.max_binop_len = r.getMaxKeyLen(r.binary_ops)), r.right_associative.delete(n), r;
|
|
3999
|
+
}
|
|
4000
|
+
/**
|
|
4001
|
+
* @method removeAllBinaryOps
|
|
4002
|
+
* @returns {Jsep}
|
|
4003
|
+
*/
|
|
4004
|
+
}, {
|
|
4005
|
+
key: "removeAllBinaryOps",
|
|
4006
|
+
value: function() {
|
|
4007
|
+
return r.binary_ops = {}, r.max_binop_len = 0, r;
|
|
4008
|
+
}
|
|
4009
|
+
/**
|
|
4010
|
+
* @method removeLiteral
|
|
4011
|
+
* @param {string} literal_name The name of the literal to remove
|
|
4012
|
+
* @returns {Jsep}
|
|
4013
|
+
*/
|
|
4014
|
+
}, {
|
|
4015
|
+
key: "removeLiteral",
|
|
4016
|
+
value: function(n) {
|
|
4017
|
+
return delete r.literals[n], r;
|
|
4018
|
+
}
|
|
4019
|
+
/**
|
|
4020
|
+
* @method removeAllLiterals
|
|
4021
|
+
* @returns {Jsep}
|
|
4022
|
+
*/
|
|
4023
|
+
}, {
|
|
4024
|
+
key: "removeAllLiterals",
|
|
4025
|
+
value: function() {
|
|
4026
|
+
return r.literals = {}, r;
|
|
4027
|
+
}
|
|
4028
|
+
}, {
|
|
4029
|
+
key: "parse",
|
|
4030
|
+
value: function(n) {
|
|
4031
|
+
return new r(n).parse();
|
|
4032
|
+
}
|
|
4033
|
+
/**
|
|
4034
|
+
* Get the longest key length of any object
|
|
4035
|
+
* @param {object} obj
|
|
4036
|
+
* @returns {number}
|
|
4037
|
+
*/
|
|
4038
|
+
}, {
|
|
4039
|
+
key: "getMaxKeyLen",
|
|
4040
|
+
value: function(n) {
|
|
4041
|
+
return Math.max.apply(Math, [0].concat(Ze(Object.keys(n).map(function(o) {
|
|
4042
|
+
return o.length;
|
|
4043
|
+
}))));
|
|
4044
|
+
}
|
|
4045
|
+
/**
|
|
4046
|
+
* `ch` is a character code in the next three functions
|
|
4047
|
+
* @param {number} ch
|
|
4048
|
+
* @returns {boolean}
|
|
4049
|
+
*/
|
|
4050
|
+
}, {
|
|
4051
|
+
key: "isDecimalDigit",
|
|
4052
|
+
value: function(n) {
|
|
4053
|
+
return n >= 48 && n <= 57;
|
|
4054
|
+
}
|
|
4055
|
+
/**
|
|
4056
|
+
* Returns the precedence of a binary operator or `0` if it isn't a binary operator. Can be float.
|
|
4057
|
+
* @param {string} op_val
|
|
4058
|
+
* @returns {number}
|
|
4059
|
+
*/
|
|
4060
|
+
}, {
|
|
4061
|
+
key: "binaryPrecedence",
|
|
4062
|
+
value: function(n) {
|
|
4063
|
+
return r.binary_ops[n] || 0;
|
|
4064
|
+
}
|
|
4065
|
+
/**
|
|
4066
|
+
* Looks for start of identifier
|
|
4067
|
+
* @param {number} ch
|
|
4068
|
+
* @returns {boolean}
|
|
4069
|
+
*/
|
|
4070
|
+
}, {
|
|
4071
|
+
key: "isIdentifierStart",
|
|
4072
|
+
value: function(n) {
|
|
4073
|
+
return n >= 65 && n <= 90 || // A...Z
|
|
4074
|
+
n >= 97 && n <= 122 || // a...z
|
|
4075
|
+
n >= 128 && !r.binary_ops[String.fromCharCode(n)] || // any non-ASCII that is not an operator
|
|
4076
|
+
r.additional_identifier_chars.has(String.fromCharCode(n));
|
|
4077
|
+
}
|
|
4078
|
+
/**
|
|
4079
|
+
* @param {number} ch
|
|
4080
|
+
* @returns {boolean}
|
|
4081
|
+
*/
|
|
4082
|
+
}, {
|
|
4083
|
+
key: "isIdentifierPart",
|
|
4084
|
+
value: function(n) {
|
|
4085
|
+
return r.isIdentifierStart(n) || r.isDecimalDigit(n);
|
|
4086
|
+
}
|
|
4087
|
+
}]);
|
|
4088
|
+
}(), Ar = new Er();
|
|
4089
|
+
Object.assign(de, {
|
|
4090
|
+
hooks: Ar,
|
|
4091
|
+
plugins: new gr(de),
|
|
4092
|
+
// Node Types
|
|
4093
|
+
// ----------
|
|
4094
|
+
// This is the full set of types that any JSEP node can be.
|
|
4095
|
+
// Store them here to save space when minified
|
|
4096
|
+
COMPOUND: "Compound",
|
|
4097
|
+
SEQUENCE_EXP: "SequenceExpression",
|
|
4098
|
+
IDENTIFIER: "Identifier",
|
|
4099
|
+
MEMBER_EXP: "MemberExpression",
|
|
4100
|
+
LITERAL: "Literal",
|
|
4101
|
+
THIS_EXP: "ThisExpression",
|
|
4102
|
+
CALL_EXP: "CallExpression",
|
|
4103
|
+
UNARY_EXP: "UnaryExpression",
|
|
4104
|
+
BINARY_EXP: "BinaryExpression",
|
|
4105
|
+
ARRAY_EXP: "ArrayExpression",
|
|
4106
|
+
TAB_CODE: 9,
|
|
4107
|
+
LF_CODE: 10,
|
|
4108
|
+
CR_CODE: 13,
|
|
4109
|
+
SPACE_CODE: 32,
|
|
4110
|
+
PERIOD_CODE: 46,
|
|
4111
|
+
// '.'
|
|
4112
|
+
COMMA_CODE: 44,
|
|
4113
|
+
// ','
|
|
4114
|
+
SQUOTE_CODE: 39,
|
|
4115
|
+
// single quote
|
|
4116
|
+
DQUOTE_CODE: 34,
|
|
4117
|
+
// double quotes
|
|
4118
|
+
OPAREN_CODE: 40,
|
|
4119
|
+
// (
|
|
4120
|
+
CPAREN_CODE: 41,
|
|
4121
|
+
// )
|
|
4122
|
+
OBRACK_CODE: 91,
|
|
4123
|
+
// [
|
|
4124
|
+
CBRACK_CODE: 93,
|
|
4125
|
+
// ]
|
|
4126
|
+
QUMARK_CODE: 63,
|
|
4127
|
+
// ?
|
|
4128
|
+
SEMCOL_CODE: 59,
|
|
4129
|
+
// ;
|
|
4130
|
+
COLON_CODE: 58,
|
|
4131
|
+
// :
|
|
4132
|
+
// Operations
|
|
4133
|
+
// ----------
|
|
4134
|
+
// Use a quickly-accessible map to store all of the unary operators
|
|
4135
|
+
// Values are set to `1` (it really doesn't matter)
|
|
4136
|
+
unary_ops: {
|
|
4137
|
+
"-": 1,
|
|
4138
|
+
"!": 1,
|
|
4139
|
+
"~": 1,
|
|
4140
|
+
"+": 1
|
|
4141
|
+
},
|
|
4142
|
+
// Also use a map for the binary operations but set their values to their
|
|
4143
|
+
// binary precedence for quick reference (higher number = higher precedence)
|
|
4144
|
+
// see [Order of operations](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)
|
|
4145
|
+
binary_ops: {
|
|
4146
|
+
"||": 1,
|
|
4147
|
+
"&&": 2,
|
|
4148
|
+
"|": 3,
|
|
4149
|
+
"^": 4,
|
|
4150
|
+
"&": 5,
|
|
4151
|
+
"==": 6,
|
|
4152
|
+
"!=": 6,
|
|
4153
|
+
"===": 6,
|
|
4154
|
+
"!==": 6,
|
|
4155
|
+
"<": 7,
|
|
4156
|
+
">": 7,
|
|
4157
|
+
"<=": 7,
|
|
4158
|
+
">=": 7,
|
|
4159
|
+
"<<": 8,
|
|
4160
|
+
">>": 8,
|
|
4161
|
+
">>>": 8,
|
|
4162
|
+
"+": 9,
|
|
4163
|
+
"-": 9,
|
|
4164
|
+
"*": 10,
|
|
4165
|
+
"/": 10,
|
|
4166
|
+
"%": 10
|
|
4167
|
+
},
|
|
4168
|
+
// sets specific binary_ops as right-associative
|
|
4169
|
+
right_associative: /* @__PURE__ */ new Set(),
|
|
4170
|
+
// Additional valid identifier chars, apart from a-z, A-Z and 0-9 (except on the starting char)
|
|
4171
|
+
additional_identifier_chars: /* @__PURE__ */ new Set(["$", "_"]),
|
|
4172
|
+
// Literals
|
|
4173
|
+
// ----------
|
|
4174
|
+
// Store the values to return for the various literals we may encounter
|
|
4175
|
+
literals: {
|
|
4176
|
+
true: !0,
|
|
4177
|
+
false: !1,
|
|
4178
|
+
null: null
|
|
4179
|
+
},
|
|
4180
|
+
// Except for `this`, which is special. This could be changed to something like `'self'` as well
|
|
4181
|
+
this_str: "this"
|
|
4182
|
+
});
|
|
4183
|
+
de.max_unop_len = de.getMaxKeyLen(de.unary_ops);
|
|
4184
|
+
de.max_binop_len = de.getMaxKeyLen(de.binary_ops);
|
|
4185
|
+
var _e = function(i) {
|
|
4186
|
+
return new de(i).parse();
|
|
4187
|
+
}, vr = Object.getOwnPropertyNames(de);
|
|
4188
|
+
vr.forEach(function(r) {
|
|
4189
|
+
_e[r] === void 0 && r !== "prototype" && (_e[r] = de[r]);
|
|
4190
|
+
});
|
|
4191
|
+
_e.Jsep = de;
|
|
4192
|
+
var br = "ConditionalExpression", Fr = {
|
|
4193
|
+
name: "ternary",
|
|
4194
|
+
init: function(i) {
|
|
4195
|
+
i.hooks.add("after-expression", function(o) {
|
|
4196
|
+
if (o.node && this.code === i.QUMARK_CODE) {
|
|
4197
|
+
this.index++;
|
|
4198
|
+
var h = o.node, s = this.gobbleExpression();
|
|
4199
|
+
if (s || this.throwError("Expected expression"), this.gobbleSpaces(), this.code === i.COLON_CODE) {
|
|
4200
|
+
this.index++;
|
|
4201
|
+
var c = this.gobbleExpression();
|
|
4202
|
+
if (c || this.throwError("Expected expression"), o.node = {
|
|
4203
|
+
type: br,
|
|
4204
|
+
test: h,
|
|
4205
|
+
consequent: s,
|
|
4206
|
+
alternate: c
|
|
4207
|
+
}, h.operator && i.binary_ops[h.operator] <= 0.9) {
|
|
4208
|
+
for (var x = h; x.right.operator && i.binary_ops[x.right.operator] <= 0.9; )
|
|
4209
|
+
x = x.right;
|
|
4210
|
+
o.node.test = x.right, x.right = o.node, o.node = h;
|
|
4211
|
+
}
|
|
4212
|
+
} else
|
|
4213
|
+
this.throwError("Expected :");
|
|
4214
|
+
}
|
|
4215
|
+
});
|
|
4216
|
+
}
|
|
4217
|
+
};
|
|
4218
|
+
_e.plugins.register(Fr);
|
|
4219
|
+
var dt = 47, Cr = 92, Dr = {
|
|
4220
|
+
name: "regex",
|
|
4221
|
+
init: function(i) {
|
|
4222
|
+
i.hooks.add("gobble-token", function(o) {
|
|
4223
|
+
if (this.code === dt) {
|
|
4224
|
+
for (var h = ++this.index, s = !1; this.index < this.expr.length; ) {
|
|
4225
|
+
if (this.code === dt && !s) {
|
|
4226
|
+
for (var c = this.expr.slice(h, this.index), x = ""; ++this.index < this.expr.length; ) {
|
|
4227
|
+
var v = this.code;
|
|
4228
|
+
if (v >= 97 && v <= 122 || v >= 65 && v <= 90 || v >= 48 && v <= 57)
|
|
4229
|
+
x += this.char;
|
|
4230
|
+
else
|
|
4231
|
+
break;
|
|
4232
|
+
}
|
|
4233
|
+
var C = void 0;
|
|
4234
|
+
try {
|
|
4235
|
+
C = new RegExp(c, x);
|
|
4236
|
+
} catch (m) {
|
|
4237
|
+
this.throwError(m.message);
|
|
4238
|
+
}
|
|
4239
|
+
return o.node = {
|
|
4240
|
+
type: i.LITERAL,
|
|
4241
|
+
value: C,
|
|
4242
|
+
raw: this.expr.slice(h - 1, this.index)
|
|
4243
|
+
}, o.node = this.gobbleTokenProperty(o.node), o.node;
|
|
4244
|
+
}
|
|
4245
|
+
this.code === i.OBRACK_CODE ? s = !0 : s && this.code === i.CBRACK_CODE && (s = !1), this.index += this.code === Cr ? 2 : 1;
|
|
4246
|
+
}
|
|
4247
|
+
this.throwError("Unclosed Regex");
|
|
4248
|
+
}
|
|
4249
|
+
});
|
|
4250
|
+
}
|
|
4251
|
+
}, Ke = 43, xr = 45, Se = {
|
|
4252
|
+
name: "assignment",
|
|
4253
|
+
assignmentOperators: /* @__PURE__ */ new Set(["=", "*=", "**=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|="]),
|
|
4254
|
+
updateOperators: [Ke, xr],
|
|
4255
|
+
assignmentPrecedence: 0.9,
|
|
4256
|
+
init: function(i) {
|
|
4257
|
+
var n = [i.IDENTIFIER, i.MEMBER_EXP];
|
|
4258
|
+
Se.assignmentOperators.forEach(function(h) {
|
|
4259
|
+
return i.addBinaryOp(h, Se.assignmentPrecedence, !0);
|
|
4260
|
+
}), i.hooks.add("gobble-token", function(s) {
|
|
4261
|
+
var c = this, x = this.code;
|
|
4262
|
+
Se.updateOperators.some(function(v) {
|
|
4263
|
+
return v === x && v === c.expr.charCodeAt(c.index + 1);
|
|
4264
|
+
}) && (this.index += 2, s.node = {
|
|
4265
|
+
type: "UpdateExpression",
|
|
4266
|
+
operator: x === Ke ? "++" : "--",
|
|
4267
|
+
argument: this.gobbleTokenProperty(this.gobbleIdentifier()),
|
|
4268
|
+
prefix: !0
|
|
4269
|
+
}, (!s.node.argument || !n.includes(s.node.argument.type)) && this.throwError("Unexpected ".concat(s.node.operator)));
|
|
4270
|
+
}), i.hooks.add("after-token", function(s) {
|
|
4271
|
+
var c = this;
|
|
4272
|
+
if (s.node) {
|
|
4273
|
+
var x = this.code;
|
|
4274
|
+
Se.updateOperators.some(function(v) {
|
|
4275
|
+
return v === x && v === c.expr.charCodeAt(c.index + 1);
|
|
4276
|
+
}) && (n.includes(s.node.type) || this.throwError("Unexpected ".concat(s.node.operator)), this.index += 2, s.node = {
|
|
4277
|
+
type: "UpdateExpression",
|
|
4278
|
+
operator: x === Ke ? "++" : "--",
|
|
4279
|
+
argument: s.node,
|
|
4280
|
+
prefix: !1
|
|
4281
|
+
});
|
|
4282
|
+
}
|
|
4283
|
+
}), i.hooks.add("after-expression", function(s) {
|
|
4284
|
+
s.node && o(s.node);
|
|
4285
|
+
});
|
|
4286
|
+
function o(h) {
|
|
4287
|
+
Se.assignmentOperators.has(h.operator) ? (h.type = "AssignmentExpression", o(h.left), o(h.right)) : h.operator || Object.values(h).forEach(function(s) {
|
|
4288
|
+
s && ye(s) === "object" && o(s);
|
|
4289
|
+
});
|
|
4290
|
+
}
|
|
4291
|
+
}
|
|
4292
|
+
}, le = Object.prototype.hasOwnProperty;
|
|
4293
|
+
function Fe(r, i) {
|
|
4294
|
+
return r = r.slice(), r.push(i), r;
|
|
4295
|
+
}
|
|
4296
|
+
function Qe(r, i) {
|
|
4297
|
+
return i = i.slice(), i.unshift(r), i;
|
|
4298
|
+
}
|
|
4299
|
+
var Sr = /* @__PURE__ */ function(r) {
|
|
4300
|
+
function i(n) {
|
|
4301
|
+
var o;
|
|
4302
|
+
return ke(this, i), o = ur(this, i, ['JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)']), o.avoidNew = !0, o.value = n, o.name = "NewError", o;
|
|
4303
|
+
}
|
|
4304
|
+
return lr(i, r), Be(i);
|
|
4305
|
+
}(/* @__PURE__ */ Ve(Error));
|
|
4306
|
+
function X(r, i, n, o, h) {
|
|
4307
|
+
if (!(this instanceof X))
|
|
4308
|
+
try {
|
|
4309
|
+
return new X(r, i, n, o, h);
|
|
4310
|
+
} catch (v) {
|
|
4311
|
+
if (!v.avoidNew)
|
|
4312
|
+
throw v;
|
|
4313
|
+
return v.value;
|
|
4314
|
+
}
|
|
4315
|
+
typeof r == "string" && (h = o, o = n, n = i, i = r, r = null);
|
|
4316
|
+
var s = r && ye(r) === "object";
|
|
4317
|
+
if (r = r || {}, this.json = r.json || n, this.path = r.path || i, this.resultType = r.resultType || "value", this.flatten = r.flatten || !1, this.wrap = le.call(r, "wrap") ? r.wrap : !0, this.sandbox = r.sandbox || {}, this.eval = r.eval === void 0 ? "safe" : r.eval, this.ignoreEvalErrors = typeof r.ignoreEvalErrors > "u" ? !1 : r.ignoreEvalErrors, this.parent = r.parent || null, this.parentProperty = r.parentProperty || null, this.callback = r.callback || o || null, this.otherTypeCallback = r.otherTypeCallback || h || function() {
|
|
4318
|
+
throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.");
|
|
4319
|
+
}, r.autostart !== !1) {
|
|
4320
|
+
var c = {
|
|
4321
|
+
path: s ? r.path : i
|
|
4322
|
+
};
|
|
4323
|
+
s ? "json" in r && (c.json = r.json) : c.json = n;
|
|
4324
|
+
var x = this.evaluate(c);
|
|
4325
|
+
if (!x || ye(x) !== "object")
|
|
4326
|
+
throw new Sr(x);
|
|
4327
|
+
return x;
|
|
4328
|
+
}
|
|
4329
|
+
}
|
|
4330
|
+
X.prototype.evaluate = function(r, i, n, o) {
|
|
4331
|
+
var h = this, s = this.parent, c = this.parentProperty, x = this.flatten, v = this.wrap;
|
|
4332
|
+
if (this.currResultType = this.resultType, this.currEval = this.eval, this.currSandbox = this.sandbox, n = n || this.callback, this.currOtherTypeCallback = o || this.otherTypeCallback, i = i || this.json, r = r || this.path, r && ye(r) === "object" && !Array.isArray(r)) {
|
|
4333
|
+
if (!r.path && r.path !== "")
|
|
4334
|
+
throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');
|
|
4335
|
+
if (!le.call(r, "json"))
|
|
4336
|
+
throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');
|
|
4337
|
+
var C = r;
|
|
4338
|
+
i = C.json, x = le.call(r, "flatten") ? r.flatten : x, this.currResultType = le.call(r, "resultType") ? r.resultType : this.currResultType, this.currSandbox = le.call(r, "sandbox") ? r.sandbox : this.currSandbox, v = le.call(r, "wrap") ? r.wrap : v, this.currEval = le.call(r, "eval") ? r.eval : this.currEval, n = le.call(r, "callback") ? r.callback : n, this.currOtherTypeCallback = le.call(r, "otherTypeCallback") ? r.otherTypeCallback : this.currOtherTypeCallback, s = le.call(r, "parent") ? r.parent : s, c = le.call(r, "parentProperty") ? r.parentProperty : c, r = r.path;
|
|
4339
|
+
}
|
|
4340
|
+
if (s = s || null, c = c || null, Array.isArray(r) && (r = X.toPathString(r)), !(!r && r !== "" || !i)) {
|
|
4341
|
+
var m = X.toPathArray(r);
|
|
4342
|
+
m[0] === "$" && m.length > 1 && m.shift(), this._hasParentSelector = null;
|
|
4343
|
+
var p = this._trace(m, i, ["$"], s, c, n).filter(function(y) {
|
|
4344
|
+
return y && !y.isParentSelector;
|
|
4345
|
+
});
|
|
4346
|
+
return p.length ? !v && p.length === 1 && !p[0].hasArrExpr ? this._getPreferredOutput(p[0]) : p.reduce(function(y, F) {
|
|
4347
|
+
var d = h._getPreferredOutput(F);
|
|
4348
|
+
return x && Array.isArray(d) ? y = y.concat(d) : y.push(d), y;
|
|
4349
|
+
}, []) : v ? [] : void 0;
|
|
4350
|
+
}
|
|
4351
|
+
};
|
|
4352
|
+
X.prototype._getPreferredOutput = function(r) {
|
|
4353
|
+
var i = this.currResultType;
|
|
4354
|
+
switch (i) {
|
|
4355
|
+
case "all": {
|
|
4356
|
+
var n = Array.isArray(r.path) ? r.path : X.toPathArray(r.path);
|
|
4357
|
+
return r.pointer = X.toPointer(n), r.path = typeof r.path == "string" ? r.path : X.toPathString(r.path), r;
|
|
4358
|
+
}
|
|
4359
|
+
case "value":
|
|
4360
|
+
case "parent":
|
|
4361
|
+
case "parentProperty":
|
|
4362
|
+
return r[i];
|
|
4363
|
+
case "path":
|
|
4364
|
+
return X.toPathString(r[i]);
|
|
4365
|
+
case "pointer":
|
|
4366
|
+
return X.toPointer(r.path);
|
|
4367
|
+
default:
|
|
4368
|
+
throw new TypeError("Unknown result type");
|
|
4369
|
+
}
|
|
4370
|
+
};
|
|
4371
|
+
X.prototype._handleCallback = function(r, i, n) {
|
|
4372
|
+
if (i) {
|
|
4373
|
+
var o = this._getPreferredOutput(r);
|
|
4374
|
+
r.path = typeof r.path == "string" ? r.path : X.toPathString(r.path), i(o, n, r);
|
|
4375
|
+
}
|
|
4376
|
+
};
|
|
4377
|
+
X.prototype._trace = function(r, i, n, o, h, s, c, x) {
|
|
4378
|
+
var v = this, C;
|
|
4379
|
+
if (!r.length)
|
|
4380
|
+
return C = {
|
|
4381
|
+
path: n,
|
|
4382
|
+
value: i,
|
|
4383
|
+
parent: o,
|
|
4384
|
+
parentProperty: h,
|
|
4385
|
+
hasArrExpr: c
|
|
4386
|
+
}, this._handleCallback(C, s, "value"), C;
|
|
4387
|
+
var m = r[0], p = r.slice(1), y = [];
|
|
4388
|
+
function F(N) {
|
|
4389
|
+
Array.isArray(N) ? N.forEach(function(U) {
|
|
4390
|
+
y.push(U);
|
|
4391
|
+
}) : y.push(N);
|
|
4392
|
+
}
|
|
4393
|
+
if ((typeof m != "string" || x) && i && le.call(i, m))
|
|
4394
|
+
F(this._trace(p, i[m], Fe(n, m), i, m, s, c));
|
|
4395
|
+
else if (m === "*")
|
|
4396
|
+
this._walk(i, function(N) {
|
|
4397
|
+
F(v._trace(p, i[N], Fe(n, N), i, N, s, !0, !0));
|
|
4398
|
+
});
|
|
4399
|
+
else if (m === "..")
|
|
4400
|
+
F(this._trace(p, i, n, o, h, s, c)), this._walk(i, function(N) {
|
|
4401
|
+
ye(i[N]) === "object" && F(v._trace(r.slice(), i[N], Fe(n, N), i, N, s, !0));
|
|
4402
|
+
});
|
|
4403
|
+
else {
|
|
4404
|
+
if (m === "^")
|
|
4405
|
+
return this._hasParentSelector = !0, {
|
|
4406
|
+
path: n.slice(0, -1),
|
|
4407
|
+
expr: p,
|
|
4408
|
+
isParentSelector: !0
|
|
4409
|
+
};
|
|
4410
|
+
if (m === "~")
|
|
4411
|
+
return C = {
|
|
4412
|
+
path: Fe(n, m),
|
|
4413
|
+
value: h,
|
|
4414
|
+
parent: o,
|
|
4415
|
+
parentProperty: null
|
|
4416
|
+
}, this._handleCallback(C, s, "property"), C;
|
|
4417
|
+
if (m === "$")
|
|
4418
|
+
F(this._trace(p, i, n, null, null, s, c));
|
|
4419
|
+
else if (/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(m))
|
|
4420
|
+
F(this._slice(m, p, i, n, o, h, s));
|
|
4421
|
+
else if (m.indexOf("?(") === 0) {
|
|
4422
|
+
if (this.currEval === !1)
|
|
4423
|
+
throw new Error("Eval [?(expr)] prevented in JSONPath expression.");
|
|
4424
|
+
var d = m.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/, "$1"), E = /@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])?((?:[\0->@-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))(?!(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])\)\])['\]]/g.exec(d);
|
|
4425
|
+
E ? this._walk(i, function(N) {
|
|
4426
|
+
var U = [E[2]], q = E[1] ? i[N][E[1]] : i[N], V = v._trace(U, q, n, o, h, s, !0);
|
|
4427
|
+
V.length > 0 && F(v._trace(p, i[N], Fe(n, N), i, N, s, !0));
|
|
4428
|
+
}) : this._walk(i, function(N) {
|
|
4429
|
+
v._eval(d, i[N], N, n, o, h) && F(v._trace(p, i[N], Fe(n, N), i, N, s, !0));
|
|
4430
|
+
});
|
|
4431
|
+
} else if (m[0] === "(") {
|
|
4432
|
+
if (this.currEval === !1)
|
|
4433
|
+
throw new Error("Eval [(expr)] prevented in JSONPath expression.");
|
|
4434
|
+
F(this._trace(Qe(this._eval(m, i, n[n.length - 1], n.slice(0, -1), o, h), p), i, n, o, h, s, c));
|
|
4435
|
+
} else if (m[0] === "@") {
|
|
4436
|
+
var u = !1, S = m.slice(1, -2);
|
|
4437
|
+
switch (S) {
|
|
4438
|
+
case "scalar":
|
|
4439
|
+
(!i || !["object", "function"].includes(ye(i))) && (u = !0);
|
|
4440
|
+
break;
|
|
4441
|
+
case "boolean":
|
|
4442
|
+
case "string":
|
|
4443
|
+
case "undefined":
|
|
4444
|
+
case "function":
|
|
4445
|
+
ye(i) === S && (u = !0);
|
|
4446
|
+
break;
|
|
4447
|
+
case "integer":
|
|
4448
|
+
Number.isFinite(i) && !(i % 1) && (u = !0);
|
|
4449
|
+
break;
|
|
4450
|
+
case "number":
|
|
4451
|
+
Number.isFinite(i) && (u = !0);
|
|
4452
|
+
break;
|
|
4453
|
+
case "nonFinite":
|
|
4454
|
+
typeof i == "number" && !Number.isFinite(i) && (u = !0);
|
|
4455
|
+
break;
|
|
4456
|
+
case "object":
|
|
4457
|
+
i && ye(i) === S && (u = !0);
|
|
4458
|
+
break;
|
|
4459
|
+
case "array":
|
|
4460
|
+
Array.isArray(i) && (u = !0);
|
|
4461
|
+
break;
|
|
4462
|
+
case "other":
|
|
4463
|
+
u = this.currOtherTypeCallback(i, n, o, h);
|
|
4464
|
+
break;
|
|
4465
|
+
case "null":
|
|
4466
|
+
i === null && (u = !0);
|
|
4467
|
+
break;
|
|
4468
|
+
default:
|
|
4469
|
+
throw new TypeError("Unknown value type " + S);
|
|
4470
|
+
}
|
|
4471
|
+
if (u)
|
|
4472
|
+
return C = {
|
|
4473
|
+
path: n,
|
|
4474
|
+
value: i,
|
|
4475
|
+
parent: o,
|
|
4476
|
+
parentProperty: h
|
|
4477
|
+
}, this._handleCallback(C, s, "value"), C;
|
|
4478
|
+
} else if (m[0] === "`" && i && le.call(i, m.slice(1))) {
|
|
4479
|
+
var B = m.slice(1);
|
|
4480
|
+
F(this._trace(p, i[B], Fe(n, B), i, B, s, c, !0));
|
|
4481
|
+
} else if (m.includes(",")) {
|
|
4482
|
+
var D = m.split(","), a = mr(D), f;
|
|
4483
|
+
try {
|
|
4484
|
+
for (a.s(); !(f = a.n()).done; ) {
|
|
4485
|
+
var b = f.value;
|
|
4486
|
+
F(this._trace(Qe(b, p), i, n, o, h, s, !0));
|
|
4487
|
+
}
|
|
4488
|
+
} catch (N) {
|
|
4489
|
+
a.e(N);
|
|
4490
|
+
} finally {
|
|
4491
|
+
a.f();
|
|
4492
|
+
}
|
|
4493
|
+
} else
|
|
4494
|
+
!x && i && le.call(i, m) && F(this._trace(p, i[m], Fe(n, m), i, m, s, c, !0));
|
|
4495
|
+
}
|
|
4496
|
+
if (this._hasParentSelector)
|
|
4497
|
+
for (var g = 0; g < y.length; g++) {
|
|
4498
|
+
var I = y[g];
|
|
4499
|
+
if (I && I.isParentSelector) {
|
|
4500
|
+
var M = this._trace(I.expr, i, I.path, o, h, s, c);
|
|
4501
|
+
if (Array.isArray(M)) {
|
|
4502
|
+
y[g] = M[0];
|
|
4503
|
+
for (var z = M.length, T = 1; T < z; T++)
|
|
4504
|
+
g++, y.splice(g, 0, M[T]);
|
|
4505
|
+
} else
|
|
4506
|
+
y[g] = M;
|
|
4507
|
+
}
|
|
4508
|
+
}
|
|
4509
|
+
return y;
|
|
4510
|
+
};
|
|
4511
|
+
X.prototype._walk = function(r, i) {
|
|
4512
|
+
if (Array.isArray(r))
|
|
4513
|
+
for (var n = r.length, o = 0; o < n; o++)
|
|
4514
|
+
i(o);
|
|
4515
|
+
else
|
|
4516
|
+
r && ye(r) === "object" && Object.keys(r).forEach(function(h) {
|
|
4517
|
+
i(h);
|
|
4518
|
+
});
|
|
4519
|
+
};
|
|
4520
|
+
X.prototype._slice = function(r, i, n, o, h, s, c) {
|
|
4521
|
+
if (Array.isArray(n)) {
|
|
4522
|
+
var x = n.length, v = r.split(":"), C = v[2] && Number.parseInt(v[2]) || 1, m = v[0] && Number.parseInt(v[0]) || 0, p = v[1] && Number.parseInt(v[1]) || x;
|
|
4523
|
+
m = m < 0 ? Math.max(0, m + x) : Math.min(x, m), p = p < 0 ? Math.max(0, p + x) : Math.min(x, p);
|
|
4524
|
+
for (var y = [], F = m; F < p; F += C) {
|
|
4525
|
+
var d = this._trace(Qe(F, i), n, o, h, s, c, !0);
|
|
4526
|
+
d.forEach(function(E) {
|
|
4527
|
+
y.push(E);
|
|
4528
|
+
});
|
|
4529
|
+
}
|
|
4530
|
+
return y;
|
|
4531
|
+
}
|
|
4532
|
+
};
|
|
4533
|
+
X.prototype._eval = function(r, i, n, o, h, s) {
|
|
4534
|
+
var c = this;
|
|
4535
|
+
this.currSandbox._$_parentProperty = s, this.currSandbox._$_parent = h, this.currSandbox._$_property = n, this.currSandbox._$_root = this.json, this.currSandbox._$_v = i;
|
|
4536
|
+
var x = r.includes("@path");
|
|
4537
|
+
x && (this.currSandbox._$_path = X.toPathString(o.concat([n])));
|
|
4538
|
+
var v = this.currEval + "Script:" + r;
|
|
4539
|
+
if (!X.cache[v]) {
|
|
4540
|
+
var C = r.replace(/@parentProperty/g, "_$_parentProperty").replace(/@parent/g, "_$_parent").replace(/@property/g, "_$_property").replace(/@root/g, "_$_root").replace(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/g, "_$_v$1");
|
|
4541
|
+
if (x && (C = C.replace(/@path/g, "_$_path")), this.currEval === "safe" || this.currEval === !0 || this.currEval === void 0)
|
|
4542
|
+
X.cache[v] = new this.safeVm.Script(C);
|
|
4543
|
+
else if (this.currEval === "native")
|
|
4544
|
+
X.cache[v] = new this.vm.Script(C);
|
|
4545
|
+
else if (typeof this.currEval == "function" && this.currEval.prototype && le.call(this.currEval.prototype, "runInNewContext")) {
|
|
4546
|
+
var m = this.currEval;
|
|
4547
|
+
X.cache[v] = new m(C);
|
|
4548
|
+
} else if (typeof this.currEval == "function")
|
|
4549
|
+
X.cache[v] = {
|
|
4550
|
+
runInNewContext: function(y) {
|
|
4551
|
+
return c.currEval(C, y);
|
|
4552
|
+
}
|
|
4553
|
+
};
|
|
4554
|
+
else
|
|
4555
|
+
throw new TypeError('Unknown "eval" property "'.concat(this.currEval, '"'));
|
|
4556
|
+
}
|
|
4557
|
+
try {
|
|
4558
|
+
return X.cache[v].runInNewContext(this.currSandbox);
|
|
4559
|
+
} catch (p) {
|
|
4560
|
+
if (this.ignoreEvalErrors)
|
|
4561
|
+
return !1;
|
|
4562
|
+
throw new Error("jsonPath: " + p.message + ": " + r);
|
|
4563
|
+
}
|
|
4564
|
+
};
|
|
4565
|
+
X.cache = {};
|
|
4566
|
+
X.toPathString = function(r) {
|
|
4567
|
+
for (var i = r, n = i.length, o = "$", h = 1; h < n; h++)
|
|
4568
|
+
/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(i[h]) || (o += /^[\*0-9]+$/.test(i[h]) ? "[" + i[h] + "]" : "['" + i[h] + "']");
|
|
4569
|
+
return o;
|
|
4570
|
+
};
|
|
4571
|
+
X.toPointer = function(r) {
|
|
4572
|
+
for (var i = r, n = i.length, o = "", h = 1; h < n; h++)
|
|
4573
|
+
/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(i[h]) || (o += "/" + i[h].toString().replace(/~/g, "~0").replace(/\//g, "~1"));
|
|
4574
|
+
return o;
|
|
4575
|
+
};
|
|
4576
|
+
X.toPathArray = function(r) {
|
|
4577
|
+
var i = X.cache;
|
|
4578
|
+
if (i[r])
|
|
4579
|
+
return i[r].concat();
|
|
4580
|
+
var n = [], o = r.replace(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/g, ";$&;").replace(/['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))['\]](?!(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])\])/g, function(s, c) {
|
|
4581
|
+
return "[#" + (n.push(c) - 1) + "]";
|
|
4582
|
+
}).replace(/\[["']((?:[\0-&\(-\\\^-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)["']\]/g, function(s, c) {
|
|
4583
|
+
return "['" + c.replace(/\./g, "%@%").replace(/~/g, "%%@@%%") + "']";
|
|
4584
|
+
}).replace(/~/g, ";~;").replace(/["']?\.["']?(?!(?:[\0-Z\\-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*\])|\[["']?/g, ";").replace(/%@%/g, ".").replace(/%%@@%%/g, "~").replace(/(?:;)?(\^+)(?:;)?/g, function(s, c) {
|
|
4585
|
+
return ";" + c.split("").join(";") + ";";
|
|
4586
|
+
}).replace(/;;;|;;/g, ";..;").replace(/;$|'?\]|'$/g, ""), h = o.split(";").map(function(s) {
|
|
4587
|
+
var c = s.match(/#([0-9]+)/);
|
|
4588
|
+
return !c || !c[1] ? s : n[c[1]];
|
|
4589
|
+
});
|
|
4590
|
+
return i[r] = h, i[r].concat();
|
|
4591
|
+
};
|
|
4592
|
+
var _r = function(i, n, o) {
|
|
4593
|
+
for (var h = i.length, s = 0; s < h; s++) {
|
|
4594
|
+
var c = i[s];
|
|
4595
|
+
o(c) && n.push(i.splice(s--, 1)[0]);
|
|
4596
|
+
}
|
|
4597
|
+
};
|
|
4598
|
+
_e.plugins.register(Dr, Se);
|
|
4599
|
+
var Y = {
|
|
4600
|
+
/**
|
|
4601
|
+
* @param {jsep.Expression} ast
|
|
4602
|
+
* @param {Record<string, any>} subs
|
|
4603
|
+
*/
|
|
4604
|
+
evalAst: function(i, n) {
|
|
4605
|
+
switch (i.type) {
|
|
4606
|
+
case "BinaryExpression":
|
|
4607
|
+
case "LogicalExpression":
|
|
4608
|
+
return Y.evalBinaryExpression(i, n);
|
|
4609
|
+
case "Compound":
|
|
4610
|
+
return Y.evalCompound(i, n);
|
|
4611
|
+
case "ConditionalExpression":
|
|
4612
|
+
return Y.evalConditionalExpression(i, n);
|
|
4613
|
+
case "Identifier":
|
|
4614
|
+
return Y.evalIdentifier(i, n);
|
|
4615
|
+
case "Literal":
|
|
4616
|
+
return Y.evalLiteral(i, n);
|
|
4617
|
+
case "MemberExpression":
|
|
4618
|
+
return Y.evalMemberExpression(i, n);
|
|
4619
|
+
case "UnaryExpression":
|
|
4620
|
+
return Y.evalUnaryExpression(i, n);
|
|
4621
|
+
case "ArrayExpression":
|
|
4622
|
+
return Y.evalArrayExpression(i, n);
|
|
4623
|
+
case "CallExpression":
|
|
4624
|
+
return Y.evalCallExpression(i, n);
|
|
4625
|
+
case "AssignmentExpression":
|
|
4626
|
+
return Y.evalAssignmentExpression(i, n);
|
|
4627
|
+
default:
|
|
4628
|
+
throw SyntaxError("Unexpected expression", i);
|
|
4629
|
+
}
|
|
4630
|
+
},
|
|
4631
|
+
evalBinaryExpression: function(i, n) {
|
|
4632
|
+
var o = {
|
|
4633
|
+
"||": function(s, c) {
|
|
4634
|
+
return s || c();
|
|
4635
|
+
},
|
|
4636
|
+
"&&": function(s, c) {
|
|
4637
|
+
return s && c();
|
|
4638
|
+
},
|
|
4639
|
+
"|": function(s, c) {
|
|
4640
|
+
return s | c();
|
|
4641
|
+
},
|
|
4642
|
+
"^": function(s, c) {
|
|
4643
|
+
return s ^ c();
|
|
4644
|
+
},
|
|
4645
|
+
"&": function(s, c) {
|
|
4646
|
+
return s & c();
|
|
4647
|
+
},
|
|
4648
|
+
// eslint-disable-next-line eqeqeq
|
|
4649
|
+
"==": function(s, c) {
|
|
4650
|
+
return s == c();
|
|
4651
|
+
},
|
|
4652
|
+
// eslint-disable-next-line eqeqeq
|
|
4653
|
+
"!=": function(s, c) {
|
|
4654
|
+
return s != c();
|
|
4655
|
+
},
|
|
4656
|
+
"===": function(s, c) {
|
|
4657
|
+
return s === c();
|
|
4658
|
+
},
|
|
4659
|
+
"!==": function(s, c) {
|
|
4660
|
+
return s !== c();
|
|
4661
|
+
},
|
|
4662
|
+
"<": function(s, c) {
|
|
4663
|
+
return s < c();
|
|
4664
|
+
},
|
|
4665
|
+
">": function(s, c) {
|
|
4666
|
+
return s > c();
|
|
4667
|
+
},
|
|
4668
|
+
"<=": function(s, c) {
|
|
4669
|
+
return s <= c();
|
|
4670
|
+
},
|
|
4671
|
+
">=": function(s, c) {
|
|
4672
|
+
return s >= c();
|
|
4673
|
+
},
|
|
4674
|
+
"<<": function(s, c) {
|
|
4675
|
+
return s << c();
|
|
4676
|
+
},
|
|
4677
|
+
">>": function(s, c) {
|
|
4678
|
+
return s >> c();
|
|
4679
|
+
},
|
|
4680
|
+
">>>": function(s, c) {
|
|
4681
|
+
return s >>> c();
|
|
4682
|
+
},
|
|
4683
|
+
"+": function(s, c) {
|
|
4684
|
+
return s + c();
|
|
4685
|
+
},
|
|
4686
|
+
"-": function(s, c) {
|
|
4687
|
+
return s - c();
|
|
4688
|
+
},
|
|
4689
|
+
"*": function(s, c) {
|
|
4690
|
+
return s * c();
|
|
4691
|
+
},
|
|
4692
|
+
"/": function(s, c) {
|
|
4693
|
+
return s / c();
|
|
4694
|
+
},
|
|
4695
|
+
"%": function(s, c) {
|
|
4696
|
+
return s % c();
|
|
4697
|
+
}
|
|
4698
|
+
}[i.operator](Y.evalAst(i.left, n), function() {
|
|
4699
|
+
return Y.evalAst(i.right, n);
|
|
4700
|
+
});
|
|
4701
|
+
return o;
|
|
4702
|
+
},
|
|
4703
|
+
evalCompound: function(i, n) {
|
|
4704
|
+
for (var o, h = 0; h < i.body.length; h++) {
|
|
4705
|
+
i.body[h].type === "Identifier" && ["var", "let", "const"].includes(i.body[h].name) && i.body[h + 1] && i.body[h + 1].type === "AssignmentExpression" && (h += 1);
|
|
4706
|
+
var s = i.body[h];
|
|
4707
|
+
o = Y.evalAst(s, n);
|
|
4708
|
+
}
|
|
4709
|
+
return o;
|
|
4710
|
+
},
|
|
4711
|
+
evalConditionalExpression: function(i, n) {
|
|
4712
|
+
return Y.evalAst(i.test, n) ? Y.evalAst(i.consequent, n) : Y.evalAst(i.alternate, n);
|
|
4713
|
+
},
|
|
4714
|
+
evalIdentifier: function(i, n) {
|
|
4715
|
+
if (i.name in n)
|
|
4716
|
+
return n[i.name];
|
|
4717
|
+
throw ReferenceError("".concat(i.name, " is not defined"));
|
|
4718
|
+
},
|
|
4719
|
+
evalLiteral: function(i) {
|
|
4720
|
+
return i.value;
|
|
4721
|
+
},
|
|
4722
|
+
evalMemberExpression: function(i, n) {
|
|
4723
|
+
var o = i.computed ? Y.evalAst(i.property) : i.property.name, h = Y.evalAst(i.object, n), s = h[o];
|
|
4724
|
+
return typeof s == "function" ? s.bind(h) : s;
|
|
4725
|
+
},
|
|
4726
|
+
evalUnaryExpression: function(i, n) {
|
|
4727
|
+
var o = {
|
|
4728
|
+
"-": function(s) {
|
|
4729
|
+
return -Y.evalAst(s, n);
|
|
4730
|
+
},
|
|
4731
|
+
"!": function(s) {
|
|
4732
|
+
return !Y.evalAst(s, n);
|
|
4733
|
+
},
|
|
4734
|
+
"~": function(s) {
|
|
4735
|
+
return ~Y.evalAst(s, n);
|
|
4736
|
+
},
|
|
4737
|
+
// eslint-disable-next-line no-implicit-coercion
|
|
4738
|
+
"+": function(s) {
|
|
4739
|
+
return +Y.evalAst(s, n);
|
|
4740
|
+
}
|
|
4741
|
+
}[i.operator](i.argument);
|
|
4742
|
+
return o;
|
|
4743
|
+
},
|
|
4744
|
+
evalArrayExpression: function(i, n) {
|
|
4745
|
+
return i.elements.map(function(o) {
|
|
4746
|
+
return Y.evalAst(o, n);
|
|
4747
|
+
});
|
|
4748
|
+
},
|
|
4749
|
+
evalCallExpression: function(i, n) {
|
|
4750
|
+
var o = i.arguments.map(function(s) {
|
|
4751
|
+
return Y.evalAst(s, n);
|
|
4752
|
+
}), h = Y.evalAst(i.callee, n);
|
|
4753
|
+
return h.apply(void 0, Ze(o));
|
|
4754
|
+
},
|
|
4755
|
+
evalAssignmentExpression: function(i, n) {
|
|
4756
|
+
if (i.left.type !== "Identifier")
|
|
4757
|
+
throw SyntaxError("Invalid left-hand side in assignment");
|
|
4758
|
+
var o = i.left.name, h = Y.evalAst(i.right, n);
|
|
4759
|
+
return n[o] = h, n[o];
|
|
4760
|
+
}
|
|
4761
|
+
}, kr = /* @__PURE__ */ function() {
|
|
4762
|
+
function r(i) {
|
|
4763
|
+
ke(this, r), this.code = i, this.ast = _e(this.code);
|
|
4764
|
+
}
|
|
4765
|
+
return Be(r, [{
|
|
4766
|
+
key: "runInNewContext",
|
|
4767
|
+
value: function(n) {
|
|
4768
|
+
var o = ar({}, n);
|
|
4769
|
+
return Y.evalAst(this.ast, o);
|
|
4770
|
+
}
|
|
4771
|
+
}]);
|
|
4772
|
+
}(), Br = /* @__PURE__ */ function() {
|
|
4773
|
+
function r(i) {
|
|
4774
|
+
ke(this, r), this.code = i;
|
|
4775
|
+
}
|
|
4776
|
+
return Be(r, [{
|
|
4777
|
+
key: "runInNewContext",
|
|
4778
|
+
value: function(n) {
|
|
4779
|
+
var o = this.code, h = Object.keys(n), s = [];
|
|
4780
|
+
_r(h, s, function(m) {
|
|
4781
|
+
return typeof n[m] == "function";
|
|
4782
|
+
});
|
|
4783
|
+
var c = h.map(function(m) {
|
|
4784
|
+
return n[m];
|
|
4785
|
+
}), x = s.reduce(function(m, p) {
|
|
4786
|
+
var y = n[p].toString();
|
|
4787
|
+
return /function/.test(y) || (y = "function " + y), "var " + p + "=" + y + ";" + m;
|
|
4788
|
+
}, "");
|
|
4789
|
+
o = x + o, !/(["'])use strict\1/.test(o) && !h.includes("arguments") && (o = "var arguments = undefined;" + o), o = o.replace(/;[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*$/, "");
|
|
4790
|
+
var v = o.lastIndexOf(";"), C = v > -1 ? o.slice(0, v + 1) + " return " + o.slice(v + 1) : " return " + o;
|
|
4791
|
+
return mt(Function, h.concat([C])).apply(void 0, Ze(c));
|
|
4792
|
+
}
|
|
4793
|
+
}]);
|
|
4794
|
+
}();
|
|
4795
|
+
X.prototype.vm = {
|
|
4796
|
+
Script: Br
|
|
4797
|
+
};
|
|
4798
|
+
X.prototype.safeVm = {
|
|
4799
|
+
Script: kr
|
|
4800
|
+
};
|
|
4801
|
+
const Ir = (r, i) => {
|
|
4802
|
+
if (!i || !r)
|
|
4803
|
+
return null;
|
|
4804
|
+
if (r.indexOf("$") == -1 && r.indexOf(".") == -1)
|
|
4805
|
+
return i == null ? void 0 : i[r];
|
|
4806
|
+
var n = We.query(i, r);
|
|
4807
|
+
return r.endsWith("]") ? n : n[0];
|
|
4808
|
+
}, Pr = (r, i) => {
|
|
4809
|
+
if (!i || !r)
|
|
4810
|
+
return null;
|
|
4811
|
+
var n = X({ json: i, path: r });
|
|
4812
|
+
return n;
|
|
4813
|
+
};
|
|
4814
|
+
export {
|
|
4815
|
+
Ir as a,
|
|
4816
|
+
Pr as q
|
|
4817
|
+
};
|