@steedos/odata-v4-parser 2.2.53-beta.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
package/lib/json.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import Utils from "./utils";
2
+ import Lexer from "./lexer";
3
+ export declare namespace ArrayOrObject {
4
+ function complexColInUri(value: Utils.SourceArray, index: number): Lexer.Token;
5
+ function complexInUri(value: Utils.SourceArray, index: number): Lexer.Token;
6
+ function collectionPropertyInUri(value: Utils.SourceArray, index: number): Lexer.Token;
7
+ function primitiveColInUri(value: Utils.SourceArray, index: number): Lexer.Token;
8
+ function complexPropertyInUri(value: Utils.SourceArray, index: number): Lexer.Token;
9
+ function annotationInUri(value: Utils.SourceArray, index: number): Lexer.Token;
10
+ function keyValuePairInUri(value: Utils.SourceArray, index: number, keyFn: Function, valueFn: Function): Lexer.Token;
11
+ function primitivePropertyInUri(value: Utils.SourceArray, index: number): Lexer.Token;
12
+ function navigationPropertyInUri(value: Utils.SourceArray, index: number): Lexer.Token;
13
+ function singleNavPropInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
14
+ function collectionNavPropInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
15
+ function rootExprCol(value: Utils.SourceArray, index: number): Lexer.Token;
16
+ function primitiveLiteralInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
17
+ function stringInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
18
+ function charInJSON(value: Utils.SourceArray, index: number): number;
19
+ function numberInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
20
+ function booleanInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
21
+ function nullInJSON(value: Utils.SourceArray, index: number): Lexer.Token;
22
+ function arrayOrObject(value: Utils.SourceArray, index: number): Lexer.Token;
23
+ }
24
+ export default ArrayOrObject;
package/lib/json.js ADDED
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayOrObject = void 0;
4
+ var utils_1 = require("./utils");
5
+ var lexer_1 = require("./lexer");
6
+ var primitiveLiteral_1 = require("./primitiveLiteral");
7
+ var nameOrIdentifier_1 = require("./nameOrIdentifier");
8
+ var expressions_1 = require("./expressions");
9
+ var ArrayOrObject;
10
+ (function (ArrayOrObject) {
11
+ function complexColInUri(value, index) {
12
+ var begin = lexer_1.default.beginArray(value, index);
13
+ if (begin === index)
14
+ return;
15
+ var start = index;
16
+ index = begin;
17
+ var items = [];
18
+ var token = ArrayOrObject.complexInUri(value, index);
19
+ if (token) {
20
+ while (token) {
21
+ items.push(token);
22
+ index = token.next;
23
+ var end = lexer_1.default.endArray(value, index);
24
+ if (end > index) {
25
+ index = end;
26
+ break;
27
+ }
28
+ else {
29
+ var separator = lexer_1.default.valueSeparator(value, index);
30
+ if (separator === index)
31
+ return;
32
+ index = separator;
33
+ token = ArrayOrObject.complexInUri(value, index);
34
+ if (!token)
35
+ return;
36
+ }
37
+ }
38
+ }
39
+ else {
40
+ var end = lexer_1.default.endArray(value, index);
41
+ if (end === index)
42
+ return;
43
+ index = end;
44
+ }
45
+ return lexer_1.default.tokenize(value, start, index, { items: items }, lexer_1.default.TokenType.Array);
46
+ }
47
+ ArrayOrObject.complexColInUri = complexColInUri;
48
+ function complexInUri(value, index) {
49
+ var begin = lexer_1.default.beginObject(value, index);
50
+ if (begin === index)
51
+ return;
52
+ var start = index;
53
+ index = begin;
54
+ var items = [];
55
+ var token = ArrayOrObject.annotationInUri(value, index) ||
56
+ ArrayOrObject.primitivePropertyInUri(value, index) ||
57
+ ArrayOrObject.complexPropertyInUri(value, index) ||
58
+ ArrayOrObject.collectionPropertyInUri(value, index) ||
59
+ ArrayOrObject.navigationPropertyInUri(value, index);
60
+ if (token) {
61
+ while (token) {
62
+ items.push(token);
63
+ index = token.next;
64
+ var end = lexer_1.default.endObject(value, index);
65
+ if (end > index) {
66
+ index = end;
67
+ break;
68
+ }
69
+ else {
70
+ var separator = lexer_1.default.valueSeparator(value, index);
71
+ if (separator === index)
72
+ return;
73
+ index = separator;
74
+ token = ArrayOrObject.annotationInUri(value, index) ||
75
+ ArrayOrObject.primitivePropertyInUri(value, index) ||
76
+ ArrayOrObject.complexPropertyInUri(value, index) ||
77
+ ArrayOrObject.collectionPropertyInUri(value, index) ||
78
+ ArrayOrObject.navigationPropertyInUri(value, index);
79
+ if (!token)
80
+ return;
81
+ }
82
+ }
83
+ }
84
+ else {
85
+ var end = lexer_1.default.endObject(value, index);
86
+ if (end === index)
87
+ return;
88
+ index = end;
89
+ }
90
+ return lexer_1.default.tokenize(value, start, index, { items: items }, lexer_1.default.TokenType.Object);
91
+ }
92
+ ArrayOrObject.complexInUri = complexInUri;
93
+ function collectionPropertyInUri(value, index) {
94
+ var mark = lexer_1.default.quotationMark(value, index);
95
+ if (mark === index)
96
+ return;
97
+ var start = index;
98
+ index = mark;
99
+ var prop = nameOrIdentifier_1.default.primitiveColProperty(value, index) ||
100
+ nameOrIdentifier_1.default.complexColProperty(value, index);
101
+ if (!prop)
102
+ return;
103
+ index = prop.next;
104
+ mark = lexer_1.default.quotationMark(value, index);
105
+ if (mark === index)
106
+ return;
107
+ index = mark;
108
+ var separator = lexer_1.default.nameSeparator(value, index);
109
+ if (separator === index)
110
+ return;
111
+ index = separator;
112
+ var propValue = prop.type === lexer_1.default.TokenType.PrimitiveCollectionProperty
113
+ ? ArrayOrObject.primitiveColInUri(value, index)
114
+ : ArrayOrObject.complexColInUri(value, index);
115
+ if (!propValue)
116
+ return;
117
+ index = propValue.next;
118
+ return lexer_1.default.tokenize(value, start, index, { key: prop, value: propValue }, lexer_1.default.TokenType.Property);
119
+ }
120
+ ArrayOrObject.collectionPropertyInUri = collectionPropertyInUri;
121
+ function primitiveColInUri(value, index) {
122
+ var begin = lexer_1.default.beginArray(value, index);
123
+ if (begin === index)
124
+ return;
125
+ var start = index;
126
+ index = begin;
127
+ var items = [];
128
+ var token = ArrayOrObject.primitiveLiteralInJSON(value, index);
129
+ if (token) {
130
+ while (token) {
131
+ items.push(token);
132
+ index = token.next;
133
+ var end = lexer_1.default.endArray(value, index);
134
+ if (end > index) {
135
+ index = end;
136
+ break;
137
+ }
138
+ else {
139
+ var separator = lexer_1.default.valueSeparator(value, index);
140
+ if (separator === index)
141
+ return;
142
+ index = separator;
143
+ token = ArrayOrObject.primitiveLiteralInJSON(value, index);
144
+ if (!token)
145
+ return;
146
+ }
147
+ }
148
+ }
149
+ else {
150
+ var end = lexer_1.default.endArray(value, index);
151
+ if (end === index)
152
+ return;
153
+ index = end;
154
+ }
155
+ return lexer_1.default.tokenize(value, start, index, { items: items }, lexer_1.default.TokenType.Array);
156
+ }
157
+ ArrayOrObject.primitiveColInUri = primitiveColInUri;
158
+ function complexPropertyInUri(value, index) {
159
+ var mark = lexer_1.default.quotationMark(value, index);
160
+ if (mark === index)
161
+ return;
162
+ var start = index;
163
+ index = mark;
164
+ var prop = nameOrIdentifier_1.default.complexProperty(value, index);
165
+ if (!prop)
166
+ return;
167
+ index = prop.next;
168
+ mark = lexer_1.default.quotationMark(value, index);
169
+ if (mark === index)
170
+ return;
171
+ index = mark;
172
+ var separator = lexer_1.default.nameSeparator(value, index);
173
+ if (separator === index)
174
+ return;
175
+ index = separator;
176
+ var propValue = ArrayOrObject.complexInUri(value, index);
177
+ if (!propValue)
178
+ return;
179
+ index = propValue.next;
180
+ return lexer_1.default.tokenize(value, start, index, { key: prop, value: propValue }, lexer_1.default.TokenType.Property);
181
+ }
182
+ ArrayOrObject.complexPropertyInUri = complexPropertyInUri;
183
+ function annotationInUri(value, index) {
184
+ var mark = lexer_1.default.quotationMark(value, index);
185
+ if (mark === index)
186
+ return;
187
+ var start = index;
188
+ index = mark;
189
+ var at = lexer_1.default.AT(value, index);
190
+ if (!at)
191
+ return;
192
+ index = at;
193
+ var namespaceNext = nameOrIdentifier_1.default.namespace(value, index);
194
+ if (namespaceNext === index)
195
+ return;
196
+ var namespaceStart = index;
197
+ index = namespaceNext;
198
+ if (value[index] !== 0x2e)
199
+ return;
200
+ index++;
201
+ var term = nameOrIdentifier_1.default.termName(value, index);
202
+ if (!term)
203
+ return;
204
+ index = term.next;
205
+ mark = lexer_1.default.quotationMark(value, index);
206
+ if (mark === index)
207
+ return;
208
+ index = mark;
209
+ var separator = lexer_1.default.nameSeparator(value, index);
210
+ if (separator === index)
211
+ return;
212
+ index = separator;
213
+ var token = ArrayOrObject.complexInUri(value, index) ||
214
+ ArrayOrObject.complexColInUri(value, index) ||
215
+ ArrayOrObject.primitiveLiteralInJSON(value, index) ||
216
+ ArrayOrObject.primitiveColInUri(value, index);
217
+ if (!token)
218
+ return;
219
+ index = token.next;
220
+ return lexer_1.default.tokenize(value, start, index, {
221
+ key: "@" + utils_1.default.stringify(value, namespaceStart, namespaceNext) + "." + term.raw,
222
+ value: token
223
+ }, lexer_1.default.TokenType.Annotation);
224
+ }
225
+ ArrayOrObject.annotationInUri = annotationInUri;
226
+ function keyValuePairInUri(value, index, keyFn, valueFn) {
227
+ var mark = lexer_1.default.quotationMark(value, index);
228
+ if (mark === index)
229
+ return;
230
+ var start = index;
231
+ index = mark;
232
+ var prop = keyFn(value, index);
233
+ if (!prop)
234
+ return;
235
+ index = prop.next;
236
+ mark = lexer_1.default.quotationMark(value, index);
237
+ if (mark === index)
238
+ return;
239
+ index = mark;
240
+ var separator = lexer_1.default.nameSeparator(value, index);
241
+ if (separator === index)
242
+ return;
243
+ index = separator;
244
+ var propValue = valueFn(value, index);
245
+ if (!propValue)
246
+ return;
247
+ index = propValue.next;
248
+ return lexer_1.default.tokenize(value, start, index, { key: prop, value: propValue }, lexer_1.default.TokenType.Property);
249
+ }
250
+ ArrayOrObject.keyValuePairInUri = keyValuePairInUri;
251
+ function primitivePropertyInUri(value, index) {
252
+ return ArrayOrObject.keyValuePairInUri(value, index, nameOrIdentifier_1.default.primitiveProperty, primitiveLiteralInJSON);
253
+ }
254
+ ArrayOrObject.primitivePropertyInUri = primitivePropertyInUri;
255
+ function navigationPropertyInUri(value, index) {
256
+ return ArrayOrObject.singleNavPropInJSON(value, index) ||
257
+ ArrayOrObject.collectionNavPropInJSON(value, index);
258
+ }
259
+ ArrayOrObject.navigationPropertyInUri = navigationPropertyInUri;
260
+ function singleNavPropInJSON(value, index) {
261
+ return ArrayOrObject.keyValuePairInUri(value, index, nameOrIdentifier_1.default.entityNavigationProperty, expressions_1.default.rootExpr);
262
+ }
263
+ ArrayOrObject.singleNavPropInJSON = singleNavPropInJSON;
264
+ function collectionNavPropInJSON(value, index) {
265
+ return ArrayOrObject.keyValuePairInUri(value, index, nameOrIdentifier_1.default.entityColNavigationProperty, rootExprCol);
266
+ }
267
+ ArrayOrObject.collectionNavPropInJSON = collectionNavPropInJSON;
268
+ function rootExprCol(value, index) {
269
+ var begin = lexer_1.default.beginArray(value, index);
270
+ if (begin === index)
271
+ return;
272
+ var start = index;
273
+ index = begin;
274
+ var items = [];
275
+ var token = expressions_1.default.rootExpr(value, index);
276
+ if (token) {
277
+ while (token) {
278
+ items.push(token);
279
+ index = token.next;
280
+ var end = lexer_1.default.endArray(value, index);
281
+ if (end > index) {
282
+ index = end;
283
+ break;
284
+ }
285
+ else {
286
+ var separator = lexer_1.default.valueSeparator(value, index);
287
+ if (separator === index)
288
+ return;
289
+ index = separator;
290
+ token = expressions_1.default.rootExpr(value, index);
291
+ if (!token)
292
+ return;
293
+ }
294
+ }
295
+ }
296
+ else {
297
+ var end = lexer_1.default.endArray(value, index);
298
+ if (end === index)
299
+ return;
300
+ index = end;
301
+ }
302
+ return lexer_1.default.tokenize(value, start, index, { items: items }, lexer_1.default.TokenType.Array);
303
+ }
304
+ ArrayOrObject.rootExprCol = rootExprCol;
305
+ function primitiveLiteralInJSON(value, index) {
306
+ return ArrayOrObject.stringInJSON(value, index) ||
307
+ ArrayOrObject.numberInJSON(value, index) ||
308
+ ArrayOrObject.booleanInJSON(value, index) ||
309
+ ArrayOrObject.nullInJSON(value, index);
310
+ }
311
+ ArrayOrObject.primitiveLiteralInJSON = primitiveLiteralInJSON;
312
+ function stringInJSON(value, index) {
313
+ var mark = lexer_1.default.quotationMark(value, index);
314
+ if (mark === index)
315
+ return;
316
+ var start = index;
317
+ index = mark;
318
+ var char = ArrayOrObject.charInJSON(value, index);
319
+ while (char > index) {
320
+ index = char;
321
+ char = ArrayOrObject.charInJSON(value, index);
322
+ }
323
+ mark = lexer_1.default.quotationMark(value, index);
324
+ if (mark === index)
325
+ return;
326
+ index = mark;
327
+ return lexer_1.default.tokenize(value, start, index, "string", lexer_1.default.TokenType.Literal);
328
+ }
329
+ ArrayOrObject.stringInJSON = stringInJSON;
330
+ function charInJSON(value, index) {
331
+ var escape = lexer_1.default.escape(value, index);
332
+ if (escape > index) {
333
+ if (utils_1.default.equals(value, escape, "%2F"))
334
+ return escape + 3;
335
+ if (utils_1.default.equals(value, escape, "/") ||
336
+ utils_1.default.equals(value, escape, "b") ||
337
+ utils_1.default.equals(value, escape, "f") ||
338
+ utils_1.default.equals(value, escape, "n") ||
339
+ utils_1.default.equals(value, escape, "r") ||
340
+ utils_1.default.equals(value, escape, "t"))
341
+ return escape + 1;
342
+ if (utils_1.default.equals(value, escape, "u") &&
343
+ utils_1.default.required(value, escape + 1, lexer_1.default.HEXDIG, 4, 4))
344
+ return escape + 5;
345
+ var escapeNext = lexer_1.default.escape(value, escape);
346
+ if (escapeNext > escape)
347
+ return escapeNext;
348
+ var mark = lexer_1.default.quotationMark(value, escape);
349
+ if (mark > escape)
350
+ return mark;
351
+ }
352
+ else {
353
+ var mark = lexer_1.default.quotationMark(value, index);
354
+ if (mark === index)
355
+ return index + 1;
356
+ }
357
+ }
358
+ ArrayOrObject.charInJSON = charInJSON;
359
+ function numberInJSON(value, index) {
360
+ var token = primitiveLiteral_1.default.doubleValue(value, index) ||
361
+ primitiveLiteral_1.default.int64Value(value, index);
362
+ if (token) {
363
+ token.value = "number";
364
+ return token;
365
+ }
366
+ }
367
+ ArrayOrObject.numberInJSON = numberInJSON;
368
+ function booleanInJSON(value, index) {
369
+ if (utils_1.default.equals(value, index, "true"))
370
+ return lexer_1.default.tokenize(value, index, index + 4, "boolean", lexer_1.default.TokenType.Literal);
371
+ if (utils_1.default.equals(value, index, "false"))
372
+ return lexer_1.default.tokenize(value, index, index + 5, "boolean", lexer_1.default.TokenType.Literal);
373
+ }
374
+ ArrayOrObject.booleanInJSON = booleanInJSON;
375
+ function nullInJSON(value, index) {
376
+ if (utils_1.default.equals(value, index, "null"))
377
+ return lexer_1.default.tokenize(value, index, index + 4, "null", lexer_1.default.TokenType.Literal);
378
+ }
379
+ ArrayOrObject.nullInJSON = nullInJSON;
380
+ function arrayOrObject(value, index) {
381
+ var token = ArrayOrObject.complexColInUri(value, index) ||
382
+ ArrayOrObject.complexInUri(value, index) ||
383
+ ArrayOrObject.rootExprCol(value, index) ||
384
+ ArrayOrObject.primitiveColInUri(value, index);
385
+ if (token)
386
+ return lexer_1.default.tokenize(value, index, token.next, token, lexer_1.default.TokenType.ArrayOrObject);
387
+ }
388
+ ArrayOrObject.arrayOrObject = arrayOrObject;
389
+ })(ArrayOrObject = exports.ArrayOrObject || (exports.ArrayOrObject = {}));
390
+ exports.default = ArrayOrObject;
391
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}