xlucene-parser 0.59.0 → 1.0.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.
- package/README.md +1 -1
- package/dist/src/cached-parser.d.ts +2 -2
- package/dist/src/cached-parser.d.ts.map +1 -1
- package/dist/src/cached-parser.js +4 -8
- package/dist/src/cached-parser.js.map +1 -1
- package/dist/src/context.d.ts +2 -2
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +17 -47
- package/dist/src/context.js.map +1 -1
- package/dist/src/functions/geo/box.d.ts +1 -1
- package/dist/src/functions/geo/box.d.ts.map +1 -1
- package/dist/src/functions/geo/box.js +10 -12
- package/dist/src/functions/geo/box.js.map +1 -1
- package/dist/src/functions/geo/contains-point.d.ts +1 -1
- package/dist/src/functions/geo/contains-point.d.ts.map +1 -1
- package/dist/src/functions/geo/contains-point.js +10 -12
- package/dist/src/functions/geo/contains-point.js.map +1 -1
- package/dist/src/functions/geo/distance.d.ts +1 -1
- package/dist/src/functions/geo/distance.d.ts.map +1 -1
- package/dist/src/functions/geo/distance.js +10 -12
- package/dist/src/functions/geo/distance.js.map +1 -1
- package/dist/src/functions/geo/polygon.d.ts +1 -1
- package/dist/src/functions/geo/polygon.d.ts.map +1 -1
- package/dist/src/functions/geo/polygon.js +31 -56
- package/dist/src/functions/geo/polygon.js.map +1 -1
- package/dist/src/functions/index.d.ts +1 -1
- package/dist/src/functions/index.d.ts.map +1 -1
- package/dist/src/functions/index.js +14 -21
- package/dist/src/functions/index.js.map +1 -1
- package/dist/src/index.d.ts +5 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -21
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.js +2 -5
- package/dist/src/interfaces.js.map +1 -1
- package/dist/src/parser.d.ts +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +29 -53
- package/dist/src/parser.js.map +1 -1
- package/dist/src/peg-engine.d.ts +28 -19
- package/dist/src/peg-engine.d.ts.map +1 -1
- package/dist/src/peg-engine.js +6677 -4071
- package/dist/src/peg-engine.js.map +1 -1
- package/dist/src/utils.d.ts +2 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +75 -129
- package/dist/src/utils.js.map +1 -1
- package/package.json +8 -6
|
@@ -1,59 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const utils = __importStar(require("@terascope/utils"));
|
|
27
|
-
const t = __importStar(require("@terascope/types"));
|
|
28
|
-
const utils_1 = require("@terascope/utils");
|
|
29
|
-
const utils_2 = require("../../utils");
|
|
1
|
+
import * as utils from '@terascope/utils';
|
|
2
|
+
import { GeoShapeType, ESGeoShapeType, GeoShapeRelation, xLuceneFieldType } from '@terascope/types';
|
|
3
|
+
import { toString, geoRelationFP, validateListCoords, polyHasHoles } from '@terascope/utils';
|
|
4
|
+
import { getFieldValue, logger } from '../../utils.js';
|
|
30
5
|
const compatMapping = {
|
|
31
|
-
[
|
|
32
|
-
[
|
|
6
|
+
[GeoShapeType.Polygon]: ESGeoShapeType.Polygon,
|
|
7
|
+
[GeoShapeType.MultiPolygon]: ESGeoShapeType.MultiPolygon,
|
|
33
8
|
};
|
|
34
|
-
const relations = new Set(Object.values(
|
|
9
|
+
const relations = new Set(Object.values(GeoShapeRelation));
|
|
35
10
|
function validate(params, variables) {
|
|
36
11
|
const geoPointsParam = params.find((node) => node.field === 'points');
|
|
37
12
|
const geoRelationParam = params.find((node) => node.field === 'relation');
|
|
38
13
|
let relation;
|
|
39
14
|
if (geoRelationParam) {
|
|
40
|
-
const geoRelationValue =
|
|
15
|
+
const geoRelationValue = getFieldValue(geoRelationParam.value, variables);
|
|
41
16
|
if (!relations.has(geoRelationValue)) {
|
|
42
17
|
throw new TypeError(`Invalid relation value "${geoRelationValue}"`);
|
|
43
18
|
}
|
|
44
19
|
relation = geoRelationValue;
|
|
45
20
|
}
|
|
46
21
|
else {
|
|
47
|
-
relation =
|
|
22
|
+
relation = GeoShapeRelation.Within;
|
|
48
23
|
}
|
|
49
24
|
if (geoPointsParam == null) {
|
|
50
25
|
throw new TypeError('Invalid geoPolygon query, need to specify a "points" parameter');
|
|
51
26
|
}
|
|
52
27
|
let polygonShape = {
|
|
53
|
-
type:
|
|
28
|
+
type: GeoShapeType.Polygon,
|
|
54
29
|
coordinates: []
|
|
55
30
|
};
|
|
56
|
-
const geoPointsValue =
|
|
31
|
+
const geoPointsValue = getFieldValue(geoPointsParam.value, variables);
|
|
57
32
|
if (utils.isGeoShapePolygon(geoPointsValue) || utils.isGeoShapeMultiPolygon(geoPointsValue)) {
|
|
58
33
|
polygonShape = geoPointsValue;
|
|
59
34
|
}
|
|
@@ -66,7 +41,7 @@ function validate(params, variables) {
|
|
|
66
41
|
const { lat, lon } = utils.parseGeoPoint(value);
|
|
67
42
|
return [lon, lat];
|
|
68
43
|
});
|
|
69
|
-
const coords =
|
|
44
|
+
const coords = validateListCoords(points);
|
|
70
45
|
polygonShape.coordinates = coords;
|
|
71
46
|
}
|
|
72
47
|
return { polygonShape, relation };
|
|
@@ -89,7 +64,7 @@ const geoPolygon = {
|
|
|
89
64
|
}
|
|
90
65
|
const types = utils.uniq(results);
|
|
91
66
|
if (types.length > 1) {
|
|
92
|
-
throw new utils.TSError(`Invalid geoPolygon query against different field types: ${
|
|
67
|
+
throw new utils.TSError(`Invalid geoPolygon query against different field types: ${toString(types)}`, {
|
|
93
68
|
context: { safe: true },
|
|
94
69
|
statusCode: 400
|
|
95
70
|
});
|
|
@@ -100,11 +75,11 @@ const geoPolygon = {
|
|
|
100
75
|
type = typeConfig[node.field];
|
|
101
76
|
// can remove the second check when "geo" if fully deprecated
|
|
102
77
|
}
|
|
103
|
-
const targetIsGeoPoint = type ===
|
|
104
|
-
|| type ===
|
|
78
|
+
const targetIsGeoPoint = type === xLuceneFieldType.GeoPoint
|
|
79
|
+
|| type === xLuceneFieldType.Geo
|
|
105
80
|
|| type === undefined;
|
|
106
|
-
const isDisjoint = relation ===
|
|
107
|
-
if (targetIsGeoPoint &&
|
|
81
|
+
const isDisjoint = relation === GeoShapeRelation.Disjoint;
|
|
82
|
+
if (targetIsGeoPoint && polyHasHoles(polygonShape) && isDisjoint) {
|
|
108
83
|
throw new Error('Invalid argument points, when running a disjoint query with a polygon/multi-polygon with holes, it must be against data of type geo-json');
|
|
109
84
|
}
|
|
110
85
|
function makeESPolyQuery(field, points) {
|
|
@@ -132,7 +107,7 @@ const geoPolygon = {
|
|
|
132
107
|
must_not: []
|
|
133
108
|
}
|
|
134
109
|
};
|
|
135
|
-
if (relation ===
|
|
110
|
+
if (relation === GeoShapeRelation.Disjoint) {
|
|
136
111
|
// we do not want results that the field does not exist
|
|
137
112
|
filter.bool.filter.push({ exists: { field } });
|
|
138
113
|
holes.bool.must_not.push(makeESPolyQuery(field, coordinates[0]));
|
|
@@ -154,8 +129,8 @@ const geoPolygon = {
|
|
|
154
129
|
function esPolyToPointQuery(field) {
|
|
155
130
|
if (utils.isGeoShapePolygon(polygonShape)) {
|
|
156
131
|
const query = makePolygonQuery(field, polygonShape.coordinates);
|
|
157
|
-
if (
|
|
158
|
-
|
|
132
|
+
if (logger.level() === 10)
|
|
133
|
+
logger.trace('built geo polygon to point query', { query });
|
|
159
134
|
return { query };
|
|
160
135
|
}
|
|
161
136
|
if (utils.isGeoShapeMultiPolygon(polygonShape)) {
|
|
@@ -163,20 +138,20 @@ const geoPolygon = {
|
|
|
163
138
|
const query = {
|
|
164
139
|
bool: {}
|
|
165
140
|
};
|
|
166
|
-
if (relation ===
|
|
141
|
+
if (relation === GeoShapeRelation.Disjoint) {
|
|
167
142
|
query.bool.must = dsl;
|
|
168
143
|
}
|
|
169
144
|
else {
|
|
170
145
|
query.bool.should = dsl;
|
|
171
146
|
}
|
|
172
|
-
if (
|
|
173
|
-
|
|
147
|
+
if (logger.level() === 10)
|
|
148
|
+
logger.trace('built geo polygon to point query', { query });
|
|
174
149
|
return { query };
|
|
175
150
|
}
|
|
176
151
|
return { query: {} };
|
|
177
152
|
}
|
|
178
153
|
function esPolyToPolyQuery(field) {
|
|
179
|
-
const esType = compatMapping[polygonShape.type] ||
|
|
154
|
+
const esType = compatMapping[polygonShape.type] || ESGeoShapeType.Polygon;
|
|
180
155
|
const query = {
|
|
181
156
|
geo_shape: {
|
|
182
157
|
[field]: {
|
|
@@ -188,24 +163,24 @@ const geoPolygon = {
|
|
|
188
163
|
}
|
|
189
164
|
}
|
|
190
165
|
};
|
|
191
|
-
if (
|
|
192
|
-
|
|
166
|
+
if (logger.level() === 10)
|
|
167
|
+
logger.trace('built geo polygon to polygon query', { query });
|
|
193
168
|
return { query };
|
|
194
169
|
}
|
|
195
170
|
if (targetIsGeoPoint) {
|
|
196
|
-
if (relation ===
|
|
197
|
-
throw new Error(`Cannot query against geo-points with relation set to "${
|
|
171
|
+
if (relation === GeoShapeRelation.Contains) {
|
|
172
|
+
throw new Error(`Cannot query against geo-points with relation set to "${GeoShapeRelation.Contains}"`);
|
|
198
173
|
}
|
|
199
174
|
return {
|
|
200
|
-
match:
|
|
175
|
+
match: geoRelationFP(polygonShape, relation),
|
|
201
176
|
toElasticsearchQuery: esPolyToPointQuery
|
|
202
177
|
};
|
|
203
178
|
}
|
|
204
179
|
return {
|
|
205
|
-
match:
|
|
180
|
+
match: geoRelationFP(polygonShape, relation),
|
|
206
181
|
toElasticsearchQuery: esPolyToPolyQuery
|
|
207
182
|
};
|
|
208
183
|
}
|
|
209
184
|
};
|
|
210
|
-
|
|
185
|
+
export default geoPolygon;
|
|
211
186
|
//# sourceMappingURL=polygon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/functions/geo/polygon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/functions/geo/polygon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { xLuceneTypeConfig, xLuceneVariables } from '@terascope/types';
|
|
2
|
-
import { FunctionDefinition, FunctionMethods, FunctionNode } from '../interfaces';
|
|
2
|
+
import { FunctionDefinition, FunctionMethods, FunctionNode } from '../interfaces.js';
|
|
3
3
|
export declare enum xLuceneFunction {
|
|
4
4
|
geoDistance = "geoDistance",
|
|
5
5
|
geoBox = "geoBox",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKvE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKvE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErF,oBAAY,eAAe;IACvB,WAAW,gBAAgB;IAC3B,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;CACxC;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAKxE,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;IAC3D,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;CAClC,GAAG,eAAe,CASlB"}
|
|
@@ -1,34 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.initFunction = exports.xLuceneFunctions = exports.xLuceneFunction = void 0;
|
|
7
|
-
const box_1 = __importDefault(require("./geo/box"));
|
|
8
|
-
const distance_1 = __importDefault(require("./geo/distance"));
|
|
9
|
-
const polygon_1 = __importDefault(require("./geo/polygon"));
|
|
10
|
-
const contains_point_1 = __importDefault(require("./geo/contains-point"));
|
|
11
|
-
var xLuceneFunction;
|
|
1
|
+
import geoBoxFn from './geo/box.js';
|
|
2
|
+
import geoDistanceFn from './geo/distance.js';
|
|
3
|
+
import geoPolygonFn from './geo/polygon.js';
|
|
4
|
+
import geoContainsPointFn from './geo/contains-point.js';
|
|
5
|
+
export var xLuceneFunction;
|
|
12
6
|
(function (xLuceneFunction) {
|
|
13
7
|
xLuceneFunction["geoDistance"] = "geoDistance";
|
|
14
8
|
xLuceneFunction["geoBox"] = "geoBox";
|
|
15
9
|
xLuceneFunction["geoPolygon"] = "geoPolygon";
|
|
16
10
|
xLuceneFunction["geoContainsPoint"] = "geoContainsPoint";
|
|
17
|
-
})(xLuceneFunction || (
|
|
18
|
-
|
|
19
|
-
geoDistance:
|
|
20
|
-
geoBox:
|
|
21
|
-
geoPolygon:
|
|
22
|
-
geoContainsPoint:
|
|
11
|
+
})(xLuceneFunction || (xLuceneFunction = {}));
|
|
12
|
+
export const xLuceneFunctions = {
|
|
13
|
+
geoDistance: geoDistanceFn,
|
|
14
|
+
geoBox: geoBoxFn,
|
|
15
|
+
geoPolygon: geoPolygonFn,
|
|
16
|
+
geoContainsPoint: geoContainsPointFn
|
|
23
17
|
};
|
|
24
|
-
function initFunction({ node, variables, type_config }) {
|
|
25
|
-
const fnType =
|
|
18
|
+
export function initFunction({ node, variables, type_config }) {
|
|
19
|
+
const fnType = xLuceneFunctions[node.name];
|
|
26
20
|
if (fnType == null) {
|
|
27
21
|
throw new TypeError(`Unknown xLucene function "${node.name}"`);
|
|
28
22
|
}
|
|
29
23
|
return fnType.create({
|
|
30
|
-
type_config, node, variables: variables
|
|
24
|
+
type_config, node, variables: variables ?? {}
|
|
31
25
|
});
|
|
32
26
|
}
|
|
33
|
-
exports.initFunction = initFunction;
|
|
34
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAGzD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,8CAA2B,CAAA;IAC3B,oCAAiB,CAAA;IACjB,4CAAyB,CAAA;IACzB,wDAAqC,CAAA;AACzC,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAgD;IACzE,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;CACvC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAI1D;IACG,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAiC,CAAC;IAC3E,IAAI,MAAM,IAAI,IAAI,EAAE;QAChB,MAAM,IAAI,SAAS,CAAC,6BAA6B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;KAClE;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE;KAChD,CAAC,CAAC;AACP,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './parser';
|
|
2
|
-
export * from './cached-parser';
|
|
3
|
-
export * from './interfaces';
|
|
4
|
-
export * from './utils';
|
|
5
|
-
export * from './functions';
|
|
1
|
+
export * from './parser.js';
|
|
2
|
+
export * from './cached-parser.js';
|
|
3
|
+
export * from './interfaces.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
|
+
export * from './functions/index.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./parser"), exports);
|
|
18
|
-
__exportStar(require("./cached-parser"), exports);
|
|
19
|
-
__exportStar(require("./interfaces"), exports);
|
|
20
|
-
__exportStar(require("./utils"), exports);
|
|
21
|
-
__exportStar(require("./functions"), exports);
|
|
1
|
+
export * from './parser.js';
|
|
2
|
+
export * from './cached-parser.js';
|
|
3
|
+
export * from './interfaces.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
|
+
export * from './functions/index.js';
|
|
22
6
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC"}
|
package/dist/src/interfaces.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeType = void 0;
|
|
4
|
-
var NodeType;
|
|
1
|
+
export var NodeType;
|
|
5
2
|
(function (NodeType) {
|
|
6
3
|
NodeType["LogicalGroup"] = "logical-group";
|
|
7
4
|
NodeType["FieldGroup"] = "field-group";
|
|
@@ -15,5 +12,5 @@ var NodeType;
|
|
|
15
12
|
NodeType["Empty"] = "empty";
|
|
16
13
|
NodeType["Function"] = "function";
|
|
17
14
|
NodeType["TermList"] = "term-list";
|
|
18
|
-
})(NodeType || (
|
|
15
|
+
})(NodeType || (NodeType = {}));
|
|
19
16
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAChB,0CAA8B,CAAA;IAC9B,sCAA0B,CAAA;IAC1B,uCAA2B,CAAA;IAC3B,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,kCAAsB,CAAA;AAC1B,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB"}
|
package/dist/src/parser.d.ts
CHANGED
package/dist/src/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAOrC;;EAEE;AACF,qBAAa,MAAM;IACf,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;gBAGjC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,EACzB,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI;IA+D1B,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,IAAI;IAsHhF;;MAEE;IACF,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EACjD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,kBAAkB,UAAQ,GACjE,IAAI;IAmCP;;MAEE;IACF,YAAY,CACR,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,KAAK,IAAI,EAClC,kBAAkB,UAAO,GAC1B,IAAI;IAQP;;;MAGE;IACF,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,KAAK,IAAI,GAAG,IAAI;IAsBrF,eAAe,CACX,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACvC,cAAc,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,GACxD,IAAI;IA+DP;;MAEE;IACF,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM;IA8BrD;;MAEE;IACF,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;CAkCjE"}
|
package/dist/src/parser.js
CHANGED
|
@@ -1,43 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.Parser = void 0;
|
|
27
|
-
const utils_1 = require("@terascope/utils");
|
|
28
|
-
const types_1 = require("@terascope/types");
|
|
29
|
-
const peg_engine_1 = require("./peg-engine");
|
|
30
|
-
const i = __importStar(require("./interfaces"));
|
|
31
|
-
const utils = __importStar(require("./utils"));
|
|
1
|
+
import { TSError, trim, isRegExpLike, cloneDeep, unset, get } from '@terascope/utils';
|
|
2
|
+
import { xLuceneFieldType } from '@terascope/types';
|
|
3
|
+
import { parse } from './peg-engine.js';
|
|
4
|
+
import * as i from './interfaces.js';
|
|
5
|
+
import * as utils from './utils.js';
|
|
32
6
|
const termTypes = new Set(utils.termTypes.filter((type) => (type !== i.NodeType.Range && type !== i.NodeType.Function)));
|
|
33
7
|
/**
|
|
34
8
|
* Parse a xLucene query
|
|
35
9
|
*/
|
|
36
|
-
class Parser {
|
|
10
|
+
export class Parser {
|
|
11
|
+
ast;
|
|
12
|
+
query;
|
|
13
|
+
typeConfig;
|
|
14
|
+
filterNilVariables;
|
|
37
15
|
constructor(query, options, _overrideNode) {
|
|
38
|
-
this.query =
|
|
39
|
-
this.filterNilVariables = !!
|
|
40
|
-
this.typeConfig = { ...options
|
|
16
|
+
this.query = trim(query || '');
|
|
17
|
+
this.filterNilVariables = !!options?.filterNilVariables;
|
|
18
|
+
this.typeConfig = { ...options?.type_config };
|
|
41
19
|
if (_overrideNode) {
|
|
42
20
|
this.ast = _overrideNode;
|
|
43
21
|
return;
|
|
@@ -46,13 +24,12 @@ class Parser {
|
|
|
46
24
|
typeConfig: this.typeConfig,
|
|
47
25
|
};
|
|
48
26
|
try {
|
|
49
|
-
this.ast =
|
|
50
|
-
if (options
|
|
27
|
+
this.ast = parse(this.query, { contextArg });
|
|
28
|
+
if (options?.filterNilVariables) {
|
|
51
29
|
if (!options.variables) {
|
|
52
30
|
utils.logger.warn('Parser filtering out undefined variables but no variables were provided. Consider adding variables or not running in "filterNilVariables" mode.');
|
|
53
31
|
}
|
|
54
32
|
this.ast = this.filterNodes(this.ast, (_node) => {
|
|
55
|
-
var _a, _b, _c, _d;
|
|
56
33
|
let type = '';
|
|
57
34
|
let value = '';
|
|
58
35
|
let node = _node;
|
|
@@ -66,13 +43,13 @@ class Parser {
|
|
|
66
43
|
value = node.value.value;
|
|
67
44
|
}
|
|
68
45
|
if (utils.isRange(node)) {
|
|
69
|
-
type =
|
|
70
|
-
value =
|
|
46
|
+
type = node.left.value.type ?? node.right?.value.type;
|
|
47
|
+
value = node.left.value.value ?? node.right?.value.value;
|
|
71
48
|
}
|
|
72
49
|
function keep(nodeType, nodeVariable) {
|
|
73
50
|
if (nodeType !== 'variable')
|
|
74
51
|
return true;
|
|
75
|
-
if (nodeVariable in (
|
|
52
|
+
if (nodeVariable in (options?.variables || {}))
|
|
76
53
|
return true;
|
|
77
54
|
return false;
|
|
78
55
|
}
|
|
@@ -88,14 +65,14 @@ class Parser {
|
|
|
88
65
|
if (err && err.message.includes('Expected ,')) {
|
|
89
66
|
err.message = err.message.replace('Expected ,', 'Expected');
|
|
90
67
|
}
|
|
91
|
-
throw new
|
|
68
|
+
throw new TSError(err, {
|
|
92
69
|
reason: `Failure to parse xLucene query "${this.query}"`,
|
|
93
70
|
});
|
|
94
71
|
}
|
|
95
72
|
}
|
|
96
73
|
filterNodes(ast, fn) {
|
|
97
74
|
const filterNode = (ogNode, parent) => {
|
|
98
|
-
const clone =
|
|
75
|
+
const clone = cloneDeep(ogNode);
|
|
99
76
|
if (utils.isLogicalGroup(clone) || utils.isFieldGroup(clone)) {
|
|
100
77
|
const filtered = clone.flow
|
|
101
78
|
.map((f) => {
|
|
@@ -127,7 +104,7 @@ class Parser {
|
|
|
127
104
|
return;
|
|
128
105
|
})
|
|
129
106
|
.filter(// filter out flows with zero nodes
|
|
130
|
-
(f) => !!
|
|
107
|
+
(f) => !!f?.nodes.filter(Boolean).length);
|
|
131
108
|
if (!filtered.length) {
|
|
132
109
|
return {
|
|
133
110
|
type: i.NodeType.Empty
|
|
@@ -146,11 +123,11 @@ class Parser {
|
|
|
146
123
|
if (clone.right) {
|
|
147
124
|
keepRight = fn(clone.right, clone);
|
|
148
125
|
if (!keepRight) {
|
|
149
|
-
|
|
126
|
+
unset(clone, 'right');
|
|
150
127
|
}
|
|
151
128
|
}
|
|
152
129
|
if (!keepLeft) {
|
|
153
|
-
|
|
130
|
+
unset(clone, 'left');
|
|
154
131
|
if (keepRight && clone.right) {
|
|
155
132
|
clone.left = { ...clone.right, };
|
|
156
133
|
}
|
|
@@ -321,12 +298,12 @@ class Parser {
|
|
|
321
298
|
resolveVariables(variables) {
|
|
322
299
|
const validatedVariables = utils.validateVariables(variables);
|
|
323
300
|
const ast = this.mapNode((node, parent) => {
|
|
324
|
-
const allowNil =
|
|
301
|
+
const allowNil = parent?.type === i.NodeType.Conjunction;
|
|
325
302
|
if (utils.isTermList(node)) {
|
|
326
303
|
return coerceTermList(node, validatedVariables);
|
|
327
304
|
}
|
|
328
305
|
if ('value' in node) {
|
|
329
|
-
return coerceNodeValue(node, validatedVariables,
|
|
306
|
+
return coerceNodeValue(node, validatedVariables, parent?.type === i.NodeType.Function, allowNil);
|
|
330
307
|
}
|
|
331
308
|
if (utils.isRange(node)) {
|
|
332
309
|
coerceRange(node, validatedVariables, allowNil);
|
|
@@ -373,7 +350,6 @@ class Parser {
|
|
|
373
350
|
return mapNode(this.ast);
|
|
374
351
|
}
|
|
375
352
|
}
|
|
376
|
-
exports.Parser = Parser;
|
|
377
353
|
function coerceTermList(node, variables) {
|
|
378
354
|
const values = utils.getFieldValue(node.value, variables);
|
|
379
355
|
return {
|
|
@@ -399,8 +375,8 @@ function coerceNodeValue(node, variables, skipAutoFieldGroup, allowNil, isRange
|
|
|
399
375
|
const coerceFn = allowNil && value == null
|
|
400
376
|
? () => null
|
|
401
377
|
: utils.makeCoerceFn(node.field_type);
|
|
402
|
-
const type =
|
|
403
|
-
const field =
|
|
378
|
+
const type = get(node, 'type');
|
|
379
|
+
const field = get(node, 'field', '');
|
|
404
380
|
if (Array.isArray(value)) {
|
|
405
381
|
if (skipAutoFieldGroup) {
|
|
406
382
|
return {
|
|
@@ -428,7 +404,7 @@ function coerceNodeValue(node, variables, skipAutoFieldGroup, allowNil, isRange
|
|
|
428
404
|
};
|
|
429
405
|
return fieldGroup;
|
|
430
406
|
}
|
|
431
|
-
if (type !== i.NodeType.Regexp &&
|
|
407
|
+
if (type !== i.NodeType.Regexp && isRegExpLike(value)) {
|
|
432
408
|
return {
|
|
433
409
|
type: i.NodeType.Regexp,
|
|
434
410
|
field,
|
|
@@ -440,7 +416,7 @@ function coerceNodeValue(node, variables, skipAutoFieldGroup, allowNil, isRange
|
|
|
440
416
|
}
|
|
441
417
|
};
|
|
442
418
|
}
|
|
443
|
-
if (node.field_type ===
|
|
419
|
+
if (node.field_type === xLuceneFieldType.IPRange) {
|
|
444
420
|
return utils.createIPRangeFromTerm(node, value);
|
|
445
421
|
}
|
|
446
422
|
return {
|
package/dist/src/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
|