@jmespath-community/jmespath 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +176 -0
  3. package/dist/jmespath.esm.js +2267 -0
  4. package/dist/jmespath.esm.min.js +2 -0
  5. package/dist/jmespath.esm.min.js.map +1 -0
  6. package/dist/jmespath.umd.js +2296 -0
  7. package/dist/jmespath.umd.min.js +2 -0
  8. package/dist/jmespath.umd.min.js.map +1 -0
  9. package/dist/lib/AST.type.js +3 -0
  10. package/dist/lib/AST.type.js.map +1 -0
  11. package/dist/lib/JSON.type.js +3 -0
  12. package/dist/lib/JSON.type.js.map +1 -0
  13. package/dist/lib/Lexer.js +306 -0
  14. package/dist/lib/Lexer.js.map +1 -0
  15. package/dist/lib/Lexer.type.js +43 -0
  16. package/dist/lib/Lexer.type.js.map +1 -0
  17. package/dist/lib/Parser.js +406 -0
  18. package/dist/lib/Parser.js.map +1 -0
  19. package/dist/lib/Parser.type.js +3 -0
  20. package/dist/lib/Parser.type.js.map +1 -0
  21. package/dist/lib/Runtime.js +934 -0
  22. package/dist/lib/Runtime.js.map +1 -0
  23. package/dist/lib/Scope.js +29 -0
  24. package/dist/lib/Scope.js.map +1 -0
  25. package/dist/lib/TreeInterpreter.js +291 -0
  26. package/dist/lib/TreeInterpreter.js.map +1 -0
  27. package/dist/lib/index.js +67 -0
  28. package/dist/lib/index.js.map +1 -0
  29. package/dist/lib/utils/index.js +144 -0
  30. package/dist/lib/utils/index.js.map +1 -0
  31. package/dist/lib/utils/strings.js +95 -0
  32. package/dist/lib/utils/strings.js.map +1 -0
  33. package/dist/lib/utils/text.js +43 -0
  34. package/dist/lib/utils/text.js.map +1 -0
  35. package/dist/types/AST.type.d.ts +85 -0
  36. package/dist/types/JSON.type.d.ts +10 -0
  37. package/dist/types/Lexer.d.ts +19 -0
  38. package/dist/types/Lexer.type.d.ts +48 -0
  39. package/dist/types/Parser.d.ts +28 -0
  40. package/dist/types/Parser.type.d.ts +2 -0
  41. package/dist/types/Runtime.d.ts +87 -0
  42. package/dist/types/Scope.d.ts +7 -0
  43. package/dist/types/TreeInterpreter.d.ts +21 -0
  44. package/dist/types/index.d.ts +44 -0
  45. package/dist/types/utils/index.d.ts +16 -0
  46. package/dist/types/utils/strings.d.ts +11 -0
  47. package/dist/types/utils/text.d.ts +11 -0
  48. package/package.json +38 -0
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lexer = exports.basicTokens = void 0;
4
+ const Lexer_type_1 = require("./Lexer.type");
5
+ const index_1 = require("./utils/index");
6
+ exports.basicTokens = {
7
+ '(': Lexer_type_1.Token.TOK_LPAREN,
8
+ ')': Lexer_type_1.Token.TOK_RPAREN,
9
+ '*': Lexer_type_1.Token.TOK_STAR,
10
+ ',': Lexer_type_1.Token.TOK_COMMA,
11
+ '.': Lexer_type_1.Token.TOK_DOT,
12
+ ':': Lexer_type_1.Token.TOK_COLON,
13
+ '@': Lexer_type_1.Token.TOK_CURRENT,
14
+ ['$']: Lexer_type_1.Token.TOK_ROOT,
15
+ ']': Lexer_type_1.Token.TOK_RBRACKET,
16
+ '{': Lexer_type_1.Token.TOK_LBRACE,
17
+ '}': Lexer_type_1.Token.TOK_RBRACE,
18
+ '+': Lexer_type_1.Token.TOK_PLUS,
19
+ '%': Lexer_type_1.Token.TOK_MODULO,
20
+ '\u2212': Lexer_type_1.Token.TOK_MINUS,
21
+ '\u00d7': Lexer_type_1.Token.TOK_MULTIPLY,
22
+ '\u00f7': Lexer_type_1.Token.TOK_DIVIDE,
23
+ };
24
+ const operatorStartToken = {
25
+ '!': true,
26
+ '<': true,
27
+ '=': true,
28
+ '>': true,
29
+ '&': true,
30
+ '|': true,
31
+ '/': true,
32
+ };
33
+ const skipChars = {
34
+ '\t': true,
35
+ '\n': true,
36
+ '\r': true,
37
+ ' ': true,
38
+ };
39
+ class StreamLexer {
40
+ constructor() {
41
+ this._current = 0;
42
+ this._enable_legacy_literals = false;
43
+ }
44
+ tokenize(stream, options) {
45
+ const tokens = [];
46
+ this._current = 0;
47
+ this._enable_legacy_literals = (options === null || options === void 0 ? void 0 : options.enable_legacy_literals) || false;
48
+ let start;
49
+ let identifier;
50
+ let token;
51
+ while (this._current < stream.length) {
52
+ if ((0, index_1.isAlpha)(stream[this._current])) {
53
+ start = this._current;
54
+ identifier = this.consumeUnquotedIdentifier(stream);
55
+ tokens.push({
56
+ start,
57
+ type: Lexer_type_1.Token.TOK_UNQUOTEDIDENTIFIER,
58
+ value: identifier,
59
+ });
60
+ }
61
+ else if (exports.basicTokens[stream[this._current]] !== undefined) {
62
+ tokens.push({
63
+ start: this._current,
64
+ type: exports.basicTokens[stream[this._current]],
65
+ value: stream[this._current],
66
+ });
67
+ this._current += 1;
68
+ }
69
+ else if (stream[this._current] === '-') {
70
+ if (this._current + 1 < stream.length && (0, index_1.isNum)(stream[this._current + 1])) {
71
+ const token = this.consumeNumber(stream);
72
+ token && tokens.push(token);
73
+ }
74
+ else {
75
+ const token = {
76
+ start: this._current,
77
+ type: Lexer_type_1.Token.TOK_MINUS,
78
+ value: '-',
79
+ };
80
+ tokens.push(token);
81
+ this._current += 1;
82
+ }
83
+ }
84
+ else if ((0, index_1.isNum)(stream[this._current])) {
85
+ token = this.consumeNumber(stream);
86
+ tokens.push(token);
87
+ }
88
+ else if (stream[this._current] === '[') {
89
+ token = this.consumeLBracket(stream);
90
+ tokens.push(token);
91
+ }
92
+ else if (stream[this._current] === '"') {
93
+ start = this._current;
94
+ identifier = this.consumeQuotedIdentifier(stream);
95
+ tokens.push({
96
+ start,
97
+ type: Lexer_type_1.Token.TOK_QUOTEDIDENTIFIER,
98
+ value: identifier,
99
+ });
100
+ }
101
+ else if (stream[this._current] === `'`) {
102
+ start = this._current;
103
+ identifier = this.consumeRawStringLiteral(stream);
104
+ tokens.push({
105
+ start,
106
+ type: Lexer_type_1.Token.TOK_LITERAL,
107
+ value: identifier,
108
+ });
109
+ }
110
+ else if (stream[this._current] === '`') {
111
+ start = this._current;
112
+ const literal = this.consumeLiteral(stream);
113
+ tokens.push({
114
+ start,
115
+ type: Lexer_type_1.Token.TOK_LITERAL,
116
+ value: literal,
117
+ });
118
+ }
119
+ else if (operatorStartToken[stream[this._current]] !== undefined) {
120
+ token = this.consumeOperator(stream);
121
+ token && tokens.push(token);
122
+ }
123
+ else if (skipChars[stream[this._current]] !== undefined) {
124
+ this._current += 1;
125
+ }
126
+ else {
127
+ const error = new Error(`Syntax error: unknown character: ${stream[this._current]}`);
128
+ error.name = 'LexerError';
129
+ throw error;
130
+ }
131
+ }
132
+ return tokens;
133
+ }
134
+ consumeUnquotedIdentifier(stream) {
135
+ const start = this._current;
136
+ this._current += 1;
137
+ while (this._current < stream.length && (0, index_1.isAlphaNum)(stream[this._current])) {
138
+ this._current += 1;
139
+ }
140
+ return stream.slice(start, this._current);
141
+ }
142
+ consumeQuotedIdentifier(stream) {
143
+ const start = this._current;
144
+ this._current += 1;
145
+ const maxLength = stream.length;
146
+ while (stream[this._current] !== '"' && this._current < maxLength) {
147
+ let current = this._current;
148
+ if (stream[current] === '\\' && (stream[current + 1] === '\\' || stream[current + 1] === '"')) {
149
+ current += 2;
150
+ }
151
+ else {
152
+ current += 1;
153
+ }
154
+ this._current = current;
155
+ }
156
+ this._current += 1;
157
+ const [value, ok] = this.parseJSON(stream.slice(start, this._current));
158
+ if (!ok) {
159
+ const error = new Error(`syntax: unexpected end of JSON input`);
160
+ error.name = 'LexerError';
161
+ throw error;
162
+ }
163
+ return value;
164
+ }
165
+ consumeRawStringLiteral(stream) {
166
+ const start = this._current;
167
+ this._current += 1;
168
+ const maxLength = stream.length;
169
+ while (stream[this._current] !== `'` && this._current < maxLength) {
170
+ let current = this._current;
171
+ if (stream[current] === '\\' && (stream[current + 1] === '\\' || stream[current + 1] === `'`)) {
172
+ current += 2;
173
+ }
174
+ else {
175
+ current += 1;
176
+ }
177
+ this._current = current;
178
+ }
179
+ this._current += 1;
180
+ const literal = stream.slice(start + 1, this._current - 1);
181
+ return literal.replace(`\\'`, `'`).replace(`\\\\`, `\\`);
182
+ }
183
+ consumeNumber(stream) {
184
+ const start = this._current;
185
+ this._current += 1;
186
+ const maxLength = stream.length;
187
+ while ((0, index_1.isNum)(stream[this._current]) && this._current < maxLength) {
188
+ this._current += 1;
189
+ }
190
+ const value = parseInt(stream.slice(start, this._current), 10);
191
+ return { start, value, type: Lexer_type_1.Token.TOK_NUMBER };
192
+ }
193
+ consumeLBracket(stream) {
194
+ const start = this._current;
195
+ this._current += 1;
196
+ if (stream[this._current] === '?') {
197
+ this._current += 1;
198
+ return { start, type: Lexer_type_1.Token.TOK_FILTER, value: '[?' };
199
+ }
200
+ if (stream[this._current] === ']') {
201
+ this._current += 1;
202
+ return { start, type: Lexer_type_1.Token.TOK_FLATTEN, value: '[]' };
203
+ }
204
+ return { start, type: Lexer_type_1.Token.TOK_LBRACKET, value: '[' };
205
+ }
206
+ consumeOrElse(stream, peek, token, orElse) {
207
+ const start = this._current;
208
+ this._current += 1;
209
+ if (this._current < stream.length && stream[this._current] === peek) {
210
+ this._current += 1;
211
+ return { start: start, type: orElse, value: stream.slice(start, this._current) };
212
+ }
213
+ if (token === Lexer_type_1.Token.TOK_EOF) {
214
+ const error = new Error(`syntax: unknown incomplete token: ${stream[start]}`);
215
+ error.name = 'LexerError';
216
+ throw error;
217
+ }
218
+ return { start: start, type: token, value: stream[start] };
219
+ }
220
+ consumeOperator(stream) {
221
+ const start = this._current;
222
+ const startingChar = stream[start];
223
+ switch (startingChar) {
224
+ case '!':
225
+ return this.consumeOrElse(stream, '=', Lexer_type_1.Token.TOK_NOT, Lexer_type_1.Token.TOK_NE);
226
+ case '<':
227
+ return this.consumeOrElse(stream, '=', Lexer_type_1.Token.TOK_LT, Lexer_type_1.Token.TOK_LTE);
228
+ case '>':
229
+ return this.consumeOrElse(stream, '=', Lexer_type_1.Token.TOK_GT, Lexer_type_1.Token.TOK_GTE);
230
+ case '=':
231
+ return this.consumeOrElse(stream, '=', Lexer_type_1.Token.TOK_EOF, Lexer_type_1.Token.TOK_EQ);
232
+ case '&':
233
+ return this.consumeOrElse(stream, '&', Lexer_type_1.Token.TOK_EXPREF, Lexer_type_1.Token.TOK_AND);
234
+ case '|':
235
+ return this.consumeOrElse(stream, '|', Lexer_type_1.Token.TOK_PIPE, Lexer_type_1.Token.TOK_OR);
236
+ case '/':
237
+ return this.consumeOrElse(stream, '/', Lexer_type_1.Token.TOK_DIVIDE, Lexer_type_1.Token.TOK_DIV);
238
+ }
239
+ }
240
+ consumeLiteral(stream) {
241
+ this._current += 1;
242
+ const start = this._current;
243
+ const maxLength = stream.length;
244
+ while (stream[this._current] !== '`' && this._current < maxLength) {
245
+ let current = this._current;
246
+ if (stream[current] === '\\' && (stream[current + 1] === '\\' || stream[current + 1] === '`')) {
247
+ current += 2;
248
+ }
249
+ else {
250
+ current += 1;
251
+ }
252
+ this._current = current;
253
+ }
254
+ let literalString = stream.slice(start, this._current).trimStart();
255
+ literalString = literalString.replace('\\`', '`');
256
+ let literal = null;
257
+ let ok = false;
258
+ // attempts to detect and parse valid JSON
259
+ if (this.looksLikeJSON(literalString)) {
260
+ [literal, ok] = this.parseJSON(literalString);
261
+ }
262
+ // invalid JSON values should be converted to quoted
263
+ // JSON strings during the JEP-12 deprecation period.
264
+ if (!ok && this._enable_legacy_literals) {
265
+ [literal, ok] = this.parseJSON(`"${literalString}"`);
266
+ }
267
+ if (!ok) {
268
+ const error = new Error(`Syntax error: unexpected end of JSON input or invalid format for a JSON literal: ${stream[this._current]}`);
269
+ error.name = 'LexerError';
270
+ throw error;
271
+ }
272
+ this._current += 1;
273
+ return literal;
274
+ }
275
+ looksLikeJSON(literalString) {
276
+ const startingChars = '[{"';
277
+ const jsonLiterals = ['true', 'false', 'null'];
278
+ const numberLooking = '-0123456789';
279
+ if (literalString === '') {
280
+ return false;
281
+ }
282
+ if (startingChars.includes(literalString[0])) {
283
+ return true;
284
+ }
285
+ if (jsonLiterals.includes(literalString)) {
286
+ return true;
287
+ }
288
+ if (numberLooking.includes(literalString[0])) {
289
+ const [_, ok] = this.parseJSON(literalString);
290
+ return ok;
291
+ }
292
+ return false;
293
+ }
294
+ parseJSON(text) {
295
+ try {
296
+ const json = JSON.parse(text);
297
+ return [json, true];
298
+ }
299
+ catch (_a) {
300
+ return [null, false];
301
+ }
302
+ }
303
+ }
304
+ exports.Lexer = new StreamLexer();
305
+ exports.default = exports.Lexer;
306
+ //# sourceMappingURL=Lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/Lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Token = void 0;
4
+ var Token;
5
+ (function (Token) {
6
+ Token["TOK_EOF"] = "EOF";
7
+ Token["TOK_UNQUOTEDIDENTIFIER"] = "UnquotedIdentifier";
8
+ Token["TOK_QUOTEDIDENTIFIER"] = "QuotedIdentifier";
9
+ Token["TOK_RBRACKET"] = "Rbracket";
10
+ Token["TOK_RPAREN"] = "Rparen";
11
+ Token["TOK_COMMA"] = "Comma";
12
+ Token["TOK_COLON"] = "Colon";
13
+ Token["TOK_RBRACE"] = "Rbrace";
14
+ Token["TOK_NUMBER"] = "Number";
15
+ Token["TOK_CURRENT"] = "Current";
16
+ Token["TOK_ROOT"] = "Root";
17
+ Token["TOK_EXPREF"] = "Expref";
18
+ Token["TOK_PIPE"] = "Pipe";
19
+ Token["TOK_OR"] = "Or";
20
+ Token["TOK_AND"] = "And";
21
+ Token["TOK_EQ"] = "EQ";
22
+ Token["TOK_GT"] = "GT";
23
+ Token["TOK_LT"] = "LT";
24
+ Token["TOK_GTE"] = "GTE";
25
+ Token["TOK_LTE"] = "LTE";
26
+ Token["TOK_NE"] = "NE";
27
+ Token["TOK_PLUS"] = "Plus";
28
+ Token["TOK_MINUS"] = "Minus";
29
+ Token["TOK_MULTIPLY"] = "Multiply";
30
+ Token["TOK_DIVIDE"] = "Divide";
31
+ Token["TOK_MODULO"] = "Modulo";
32
+ Token["TOK_DIV"] = "Div";
33
+ Token["TOK_FLATTEN"] = "Flatten";
34
+ Token["TOK_STAR"] = "Star";
35
+ Token["TOK_FILTER"] = "Filter";
36
+ Token["TOK_DOT"] = "Dot";
37
+ Token["TOK_NOT"] = "Not";
38
+ Token["TOK_LBRACE"] = "Lbrace";
39
+ Token["TOK_LBRACKET"] = "Lbracket";
40
+ Token["TOK_LPAREN"] = "Lparen";
41
+ Token["TOK_LITERAL"] = "Literal";
42
+ })(Token = exports.Token || (exports.Token = {}));
43
+ //# sourceMappingURL=Lexer.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lexer.type.js","sourceRoot":"","sources":["../../src/Lexer.type.ts"],"names":[],"mappings":";;;AAEA,IAAY,KAqCX;AArCD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sDAA6C,CAAA;IAC7C,kDAAyC,CAAA;IACzC,kCAAyB,CAAA;IACzB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,4BAAmB,CAAA;IACnB,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,gCAAuB,CAAA;IACvB,0BAAiB,CAAA;IACjB,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,sBAAa,CAAA;IACb,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,0BAAiB,CAAA;IACjB,4BAAmB,CAAA;IACnB,kCAAyB,CAAA;IACzB,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,gCAAuB,CAAA;IACvB,0BAAiB,CAAA;IACjB,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,kCAAyB,CAAA;IACzB,8BAAqB,CAAA;IACrB,gCAAuB,CAAA;AACzB,CAAC,EArCW,KAAK,GAAL,aAAK,KAAL,aAAK,QAqChB"}