@fibery/expression-utils 9.6.0 → 9.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +2 -1
- package/lib/src/context-variables.d.ts +4 -5
- package/lib/src/context-variables.js +29 -11
- package/lib/src/context-variables.js.map +1 -1
- package/lib/src/fieldExpressionVisitorTypeAware.js +6 -5
- package/lib/src/fieldExpressionVisitorTypeAware.js.map +1 -1
- package/lib/src/filter-expression/index.js.map +1 -1
- package/lib/src/filter-expression/operator-utils.d.ts +6 -1
- package/lib/src/filter-expression/operator-utils.js +19 -8
- package/lib/src/filter-expression/operator-utils.js.map +1 -1
- package/lib/src/filter-expression/operators.d.ts +9 -2
- package/lib/src/filter-expression/operators.js +78 -27
- package/lib/src/filter-expression/operators.js.map +1 -1
- package/lib/src/filter-expression/pattern-match.d.ts +2 -2
- package/lib/src/filter-expression/pattern-match.js +14 -11
- package/lib/src/filter-expression/pattern-match.js.map +1 -1
- package/lib/src/filter-expression/patternMatchPlaceholders.d.ts +14 -8
- package/lib/src/filter-expression/patternMatchPlaceholders.js +17 -7
- package/lib/src/filter-expression/patternMatchPlaceholders.js.map +1 -1
- package/lib/src/filter-expression/patternToExpression.js +1 -5
- package/lib/src/filter-expression/patternToExpression.js.map +1 -1
- package/lib/src/params-placeholders.d.ts +1 -1
- package/lib/src/params-placeholders.js +6 -5
- package/lib/src/params-placeholders.js.map +1 -1
- package/lib/src/types.d.ts +35 -11
- package/lib/src/utils.d.ts +14 -15
- package/lib/src/utils.js +33 -34
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visitors.d.ts +8 -8
- package/lib/src/visitors.js +11 -8
- package/lib/src/visitors.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patternToExpression.js","sourceRoot":"","sources":["../../../src/filter-expression/patternToExpression.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patternToExpression.js","sourceRoot":"","sources":["../../../src/filter-expression/patternToExpression.js"],"names":[],"mappings":";;;AAAA,gEAA8F;AAEvF,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;IACxF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAC7C,IAAI,WAAW,CAAC,EAAE,KAAK,4CAA4C,EAAE,CAAC;YACpE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,IAAI,WAAW,CAAC,EAAE,KAAK,uCAAuC,EAAE,CAAC;YACtE,MAAM,aAAa,GAAG,8CAAwB,CAAC,KAAK,CAAC,IAAI,IAAA,kDAA4B,EAAC,KAAK,CAAC,KAAK,IAAI,CAAC;YACtG,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,WAAW,CAAC,EAAE,KAAK,0CAA0C,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAC,GAAG,IAAA,2BAAmB,EAC3D,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,MAAM,GAAG,EAAC,GAAG,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;YACrC,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,uCAAuC;YACvC,MAAM,EAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAC,GAAG,IAAA,2BAAmB,EAC9E,WAAW,CAAC,UAAU,CAAC,EACvB,gBAAgB,EAChB,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,MAAM,EAAC,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAC,GAAG,IAAA,2BAAmB,EAC5E,WAAW,CAAC,SAAS,CAAC,EACtB,gBAAgB,EAChB,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,MAAM,GAAG,EAAC,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAC,CAAC;YACtD,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,UAAU,EAAE,gBAAgB;gBAC5B,SAAS,EAAE,eAAe;gBAC1B,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;aAClC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;AAC9B,CAAC,CAAC;AAlDW,QAAA,mBAAmB,uBAkD9B"}
|
|
@@ -46,7 +46,7 @@ type RelativeDateInfo = {
|
|
|
46
46
|
export declare const getRelativeMomentDate: ({ isStartOfInterval, unitForStart, amount, unit, isBeforeNow, }: Omit<RelativeDateInfo, "isDateTime">) => moment.Moment;
|
|
47
47
|
export declare const getRelativeDateValue: ({ isStartOfInterval, unitForStart, amount, unit, isBeforeNow, isDateTime, }: RelativeDateInfo) => string;
|
|
48
48
|
export declare const toRelativeDatePlaceholder: ({ isStartOfInterval, unitForStart, amount, unit, isBeforeNow, isDateTime, }: RelativeDateInfo) => string;
|
|
49
|
-
export declare const parseRelativeDatePlaceholder: (placeholder:
|
|
49
|
+
export declare const parseRelativeDatePlaceholder: (placeholder: unknown) => RelativeDateInfo | null;
|
|
50
50
|
export declare function replacePlaceholdersInParams(params: Record<string, $TSFixMe> | null | undefined): Record<string, $TSFixMe> | null | undefined;
|
|
51
51
|
export declare const dateToDateTimeIntervalLookup: Record<string, {
|
|
52
52
|
start: string;
|
|
@@ -5,7 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.dateToDateTimeIntervalLookup = exports.parseRelativeDatePlaceholder = exports.toRelativeDatePlaceholder = exports.getRelativeDateValue = exports.getRelativeMomentDate = exports.mapDynamicParams = exports.whereParamPrefix = exports.getFieldIdFromDynamicParam = exports.isDynamicFilterParam = exports.dynamicFilterParamPrefix = exports.paramsPlaceholdersLookup = exports.yearFromNowEndDateTimeParamPlaceholder = exports.yearFromNowStartDateTimeParamPlaceholder = exports.yearAgoEndDateTimeParamPlaceholder = exports.yearAgoStartDateTimeParamPlaceholder = exports.monthFromNowEndDateTimeParamPlaceholder = exports.monthFromNowStartDateTimeParamPlaceholder = exports.monthAgoEndDateTimeParamPlaceholder = exports.monthAgoStartDateTimeParamPlaceholder = exports.weekFromNowEndDateTimeParamPlaceholder = exports.weekFromNowStartDateTimeParamPlaceholder = exports.weekAgoEndDateTimeParamPlaceholder = exports.weekAgoStartDateTimeParamPlaceholder = exports.yesterdayEndDateTimeParamPlaceholder = exports.yesterdayStartDateTimeParamPlaceholder = exports.tomorrowEndDateTimeParamPlaceholder = exports.tomorrowStartDateTimeParamPlaceholder = exports.todayEndDateTimeParamPlaceholder = exports.todayStartDateTimeParamPlaceholder = exports.yearFromNowDateParamPlaceholder = exports.yearAgoDateParamPlaceholder = exports.monthFromNowDateParamPlaceholder = exports.monthAgoDateParamPlaceholder = exports.weekFromNowDateParamPlaceholder = exports.weekAgoDateParamPlaceholder = exports.yesterdayDateParamPlaceholder = exports.tomorrowDateParamPlaceholder = exports.todayDateParamPlaceholder = exports.formulaNowDateTimeParamPlaceholder = exports.formulaTodayDateParamPlaceholder = void 0;
|
|
7
7
|
exports.replacePlaceholdersInParams = replacePlaceholdersInParams;
|
|
8
|
-
const
|
|
8
|
+
const isString_1 = __importDefault(require("lodash/isString"));
|
|
9
|
+
const mapValues_1 = __importDefault(require("lodash/mapValues"));
|
|
9
10
|
const moment_1 = __importDefault(require("moment"));
|
|
10
11
|
const serializeDate = (momentDate) => {
|
|
11
12
|
return momentDate.format("YYYY-MM-DD");
|
|
@@ -84,16 +85,16 @@ const mapDynamicParams = (params, onDynamicParam) => {
|
|
|
84
85
|
return params;
|
|
85
86
|
}
|
|
86
87
|
return Object.fromEntries(Object.entries(params).map(([key, value]) => {
|
|
87
|
-
if (
|
|
88
|
+
if (Array.isArray(value)) {
|
|
88
89
|
return [
|
|
89
90
|
key,
|
|
90
91
|
value.map((v) => {
|
|
91
|
-
return
|
|
92
|
+
return (0, isString_1.default)(v) && (0, exports.isDynamicFilterParam)(v) ? onDynamicParam(v) : v;
|
|
92
93
|
}),
|
|
93
94
|
];
|
|
94
95
|
}
|
|
95
96
|
else {
|
|
96
|
-
return [key,
|
|
97
|
+
return [key, (0, isString_1.default)(value) && (0, exports.isDynamicFilterParam)(value) ? onDynamicParam(value) : value];
|
|
97
98
|
}
|
|
98
99
|
}));
|
|
99
100
|
};
|
|
@@ -152,7 +153,7 @@ const parseRelativeDatePlaceholder = (placeholder) => {
|
|
|
152
153
|
exports.parseRelativeDatePlaceholder = parseRelativeDatePlaceholder;
|
|
153
154
|
function replacePlaceholdersInParams(params) {
|
|
154
155
|
return (params &&
|
|
155
|
-
|
|
156
|
+
(0, mapValues_1.default)(params, (value, key) => {
|
|
156
157
|
const replaceFn = exports.paramsPlaceholdersLookup[key];
|
|
157
158
|
if (replaceFn) {
|
|
158
159
|
return replaceFn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params-placeholders.js","sourceRoot":"","sources":["../../src/params-placeholders.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"params-placeholders.js","sourceRoot":"","sources":["../../src/params-placeholders.ts"],"names":[],"mappings":"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"}
|
package/lib/src/types.d.ts
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { $TSFixMe } from "./tsfixme";
|
|
2
|
-
type
|
|
3
|
-
export type
|
|
4
|
-
type
|
|
5
|
-
export type
|
|
2
|
+
export type MultiFieldAccess = [string, string];
|
|
3
|
+
export type FieldExpression = Array<string | MultiFieldAccess>;
|
|
4
|
+
export type FunctionCallExpression = [string, ...Expression[]];
|
|
5
|
+
export type FromRootExpression = ["q/from-root", ...FieldExpression[]];
|
|
6
|
+
/**
|
|
7
|
+
* The full union of all expression forms.
|
|
8
|
+
*
|
|
9
|
+
* Use type guards (isFieldExpression, isFunctionCallExpression, etc.) to narrow.
|
|
10
|
+
*
|
|
11
|
+
* Note: FieldExpression, FunctionCallExpression, FromRootExpression are all subtypes
|
|
12
|
+
* of Expression[] and listed explicitly for readability. SubQuery is a separate type.
|
|
13
|
+
*/
|
|
14
|
+
export type Expression = string | Expression[] | FieldExpression | FunctionCallExpression | FromRootExpression;
|
|
6
15
|
export type OrderBy = Array<[Expression, string]>;
|
|
7
16
|
export type QueryLimit = number | "q/no-limit";
|
|
17
|
+
export type Select = Record<string, Expression | Record<string, Expression>>;
|
|
8
18
|
export type Query = {
|
|
9
19
|
"q/from": string;
|
|
10
|
-
"q/select"?: Select;
|
|
20
|
+
"q/select"?: Expression | Select;
|
|
11
21
|
"q/offset"?: number;
|
|
12
22
|
"q/order-by"?: OrderBy;
|
|
13
23
|
"q/limit"?: QueryLimit;
|
|
14
24
|
"q/where"?: Expression;
|
|
15
25
|
};
|
|
16
26
|
export type SubQuery = {
|
|
17
|
-
"q/from":
|
|
18
|
-
"q/select"?: Select;
|
|
27
|
+
"q/from": FieldExpression;
|
|
28
|
+
"q/select"?: Expression | Select;
|
|
19
29
|
"q/offset"?: number;
|
|
20
30
|
"q/order-by"?: OrderBy;
|
|
21
31
|
"q/limit"?: QueryLimit;
|
|
@@ -29,13 +39,27 @@ export type FunctionsMeta = Record<string, {
|
|
|
29
39
|
}>;
|
|
30
40
|
export type ExpressionVisitor = {
|
|
31
41
|
visitVariableExpression?: (expression: string, visitor?: ExpressionVisitor) => any;
|
|
32
|
-
visitFunctionCallExpression?: (expression:
|
|
33
|
-
visitFromRootFieldExpression?: (expression:
|
|
34
|
-
visitFieldExpression?: (expression:
|
|
42
|
+
visitFunctionCallExpression?: (expression: FunctionCallExpression, visitor?: ExpressionVisitor) => any;
|
|
43
|
+
visitFromRootFieldExpression?: (expression: FromRootExpression, visitor?: ExpressionVisitor) => any;
|
|
44
|
+
visitFieldExpression?: (expression: FieldExpression, visitor?: ExpressionVisitor) => any;
|
|
35
45
|
visitOrderByExpression?: (orderByExpression: OrderBy, visitor?: ExpressionVisitor) => any;
|
|
36
46
|
visitQueryExpression?: (subQueryExpression: SubQuery, visitor?: ExpressionVisitor) => any;
|
|
37
|
-
visitExpression?: (expression: Expression |
|
|
47
|
+
visitExpression?: (expression: Expression | OrderBy, visitor?: ExpressionVisitor) => any;
|
|
38
48
|
[key: string]: $TSFixMe;
|
|
39
49
|
};
|
|
40
50
|
export type ExpressionVisitorWithDefault = Required<ExpressionVisitor>;
|
|
51
|
+
type FiberyIdentity = {
|
|
52
|
+
"fibery/id": string;
|
|
53
|
+
};
|
|
54
|
+
type FiberyAutocompletes = {
|
|
55
|
+
"fibery/public-id"?: string;
|
|
56
|
+
"fibery/rank"?: number;
|
|
57
|
+
__NOTHING_INTERESTING__TitleField__?: string;
|
|
58
|
+
};
|
|
59
|
+
export type FiberyObject = FiberyIdentity & FiberyAutocompletes & {
|
|
60
|
+
[field: string]: unknown;
|
|
61
|
+
};
|
|
62
|
+
export type FiberyObjectYOLO = FiberyIdentity & FiberyAutocompletes & {
|
|
63
|
+
[field: string]: $TSFixMe;
|
|
64
|
+
};
|
|
41
65
|
export {};
|
package/lib/src/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Expression, ExpressionVisitor, ExpressionVisitorWithDefault, OrderBy, SubQuery } from "./types";
|
|
1
|
+
import { Expression, ExpressionVisitor, ExpressionVisitorWithDefault, FieldExpression, FromRootExpression, FunctionCallExpression, MultiFieldAccess, OrderBy, SubQuery } from "./types";
|
|
2
2
|
import { FieldObject, TypeObject } from "@fibery/schema";
|
|
3
3
|
export declare const assertIsValidExpression: (expression: Expression) => void;
|
|
4
4
|
export declare const textTypes: string[];
|
|
@@ -15,37 +15,36 @@ export declare const isDateType: (type: string) => type is "fibery/date" | "fibe
|
|
|
15
15
|
export declare const isDateTimeType: (type: string) => type is "fibery/date-time" | "fibery/date-time-range";
|
|
16
16
|
export declare const isSingleDateType: (type: string) => type is "fibery/date" | "fibery/date-time";
|
|
17
17
|
export declare const isRangeType: (type: string) => type is "fibery/date-range" | "fibery/date-time-range";
|
|
18
|
-
export declare const isFunctionCallExpression: (expression: Expression |
|
|
18
|
+
export declare const isFunctionCallExpression: (expression: Expression | OrderBy | SubQuery) => expression is FunctionCallExpression;
|
|
19
19
|
export declare const fromRootKeyword = "q/from-root";
|
|
20
|
-
export declare const isFromRootFieldExpression: (expression: Expression |
|
|
20
|
+
export declare const isFromRootFieldExpression: (expression: Expression | OrderBy | SubQuery) => expression is FromRootExpression;
|
|
21
21
|
export declare const isDateRangeFunctionExpression: (expression: Expression) => boolean;
|
|
22
22
|
export declare const isCollectionFunctionExpression: (expression: Expression) => boolean;
|
|
23
|
-
export declare const isAccessFunctionExpression: (
|
|
23
|
+
export declare const isAccessFunctionExpression: (expression: Expression) => boolean;
|
|
24
24
|
export declare const isBinaryExpression: (expression: Expression) => boolean;
|
|
25
25
|
export declare const isNaryExpression: (expression: Expression) => boolean;
|
|
26
|
-
export declare const isVariableExpression: (expression: Expression |
|
|
27
|
-
export declare const isMultiFieldAccess: (expression: Expression | string) =>
|
|
28
|
-
export declare const isMultiFieldExpression: (expression: Expression |
|
|
29
|
-
export declare const isFieldExpression: (expression: Expression |
|
|
30
|
-
export declare const isQueryExpression: (expression: Expression |
|
|
26
|
+
export declare const isVariableExpression: (expression: Expression | OrderBy | SubQuery | null) => expression is string;
|
|
27
|
+
export declare const isMultiFieldAccess: (expression: Expression | string) => expression is MultiFieldAccess;
|
|
28
|
+
export declare const isMultiFieldExpression: (expression: Expression | OrderBy | SubQuery) => expression is FieldExpression;
|
|
29
|
+
export declare const isFieldExpression: (expression: Expression | OrderBy | SubQuery) => expression is FieldExpression;
|
|
30
|
+
export declare const isQueryExpression: (expression: Expression | OrderBy | SubQuery | null) => expression is SubQuery;
|
|
31
31
|
export declare const getFieldObjectsByFieldExpression: ({ typeObject, expression, }: {
|
|
32
32
|
typeObject: TypeObject;
|
|
33
|
-
expression:
|
|
33
|
+
expression: FieldExpression;
|
|
34
34
|
}) => FieldObject[];
|
|
35
|
-
export declare const isFieldExpressionValid: ({ typeObject, expression }: {
|
|
35
|
+
export declare const isFieldExpressionValid: ({ typeObject, expression, }: {
|
|
36
36
|
typeObject: TypeObject;
|
|
37
|
-
expression:
|
|
37
|
+
expression: FieldExpression;
|
|
38
38
|
}) => boolean;
|
|
39
39
|
export declare const getFieldObjectByFieldExpression: (x: {
|
|
40
40
|
typeObject: TypeObject;
|
|
41
|
-
expression:
|
|
41
|
+
expression: FieldExpression;
|
|
42
42
|
}) => FieldObject;
|
|
43
43
|
export declare const getFieldObjects: (expression: Expression, typeObject: TypeObject) => FieldObject[];
|
|
44
|
-
export declare const getFieldObjectsPrevValueAware: (expression: Expression, typeObject: TypeObject) => FieldObject[];
|
|
45
44
|
/** @deprecated
|
|
46
45
|
* This method checks few expression forms, that we do not generate on frontend anymore(field-access shortcut, direct value as parameter).
|
|
47
46
|
* I'm afraid to replace it with implementation based on visitor everywhere, as visitors don't allow such expression forms and I don't want to extend visitor with those forms.
|
|
48
47
|
* If you need this method in new places, consider implementing same logic on visitors and use it.
|
|
49
48
|
**/
|
|
50
|
-
export declare const extractFieldExpressions: (expression: Expression) =>
|
|
49
|
+
export declare const extractFieldExpressions: (expression: Expression) => FieldExpression[];
|
|
51
50
|
export declare const createExpressionVisitor: (visitor: ExpressionVisitor) => ExpressionVisitorWithDefault;
|
package/lib/src/utils.js
CHANGED
|
@@ -3,11 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createExpressionVisitor = exports.extractFieldExpressions = exports.
|
|
6
|
+
exports.createExpressionVisitor = exports.extractFieldExpressions = exports.getFieldObjects = exports.getFieldObjectByFieldExpression = exports.isFieldExpressionValid = exports.getFieldObjectsByFieldExpression = exports.isQueryExpression = exports.isFieldExpression = exports.isMultiFieldExpression = exports.isMultiFieldAccess = exports.isVariableExpression = exports.isNaryExpression = exports.isBinaryExpression = exports.isAccessFunctionExpression = exports.isCollectionFunctionExpression = exports.isDateRangeFunctionExpression = exports.isFromRootFieldExpression = exports.fromRootKeyword = exports.isFunctionCallExpression = exports.isRangeType = exports.isSingleDateType = exports.isDateTimeType = exports.isDateType = exports.mathOperators = exports.relationalOperators = exports.logicalOperators = exports.firstLastFunctions = exports.dateRangeFunctions = exports.numberTypes = exports.convertableDateTypes = exports.dateRangeTypes = exports.dateTypes = exports.textTypes = exports.assertIsValidExpression = void 0;
|
|
7
7
|
const trace_1 = require("@fibery/helpers/utils/trace");
|
|
8
|
-
const
|
|
8
|
+
const isObject_1 = __importDefault(require("lodash/isObject"));
|
|
9
|
+
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
10
|
+
const isString_1 = __importDefault(require("lodash/isString"));
|
|
11
|
+
const last_1 = __importDefault(require("lodash/last"));
|
|
12
|
+
const mapValues_1 = __importDefault(require("lodash/mapValues"));
|
|
13
|
+
const uniqBy_1 = __importDefault(require("lodash/uniqBy"));
|
|
9
14
|
const errors_1 = require("./errors");
|
|
10
|
-
const context_variables_1 = require("./context-variables");
|
|
11
15
|
const assertIsValidExpression = (expression) => {
|
|
12
16
|
(0, trace_1.assert)(Array.isArray(expression), "expression must be array", { expression });
|
|
13
17
|
(0, trace_1.assert)(expression.length > 0, "empty expression does not make any sense");
|
|
@@ -76,7 +80,7 @@ const isFunctionCallExpression = (expression) => {
|
|
|
76
80
|
return false;
|
|
77
81
|
}
|
|
78
82
|
const firstElement = expression[0];
|
|
79
|
-
if (!
|
|
83
|
+
if (!(0, isString_1.default)(firstElement)) {
|
|
80
84
|
return false;
|
|
81
85
|
}
|
|
82
86
|
return (firstElement.startsWith("q/") ||
|
|
@@ -84,42 +88,44 @@ const isFunctionCallExpression = (expression) => {
|
|
|
84
88
|
};
|
|
85
89
|
exports.isFunctionCallExpression = isFunctionCallExpression;
|
|
86
90
|
exports.fromRootKeyword = "q/from-root";
|
|
87
|
-
const isFromRootFieldExpression = (expression) =>
|
|
91
|
+
const isFromRootFieldExpression = (expression) => Array.isArray(expression) && expression[0] === exports.fromRootKeyword;
|
|
88
92
|
exports.isFromRootFieldExpression = isFromRootFieldExpression;
|
|
89
|
-
const isDateRangeFunctionExpression = (expression) => (expression
|
|
93
|
+
const isDateRangeFunctionExpression = (expression) => Array.isArray(expression) &&
|
|
94
|
+
(expression.length === 2 || expression.length === 3) &&
|
|
90
95
|
exports.dateRangeFunctions.has(expression[0]) &&
|
|
91
96
|
(0, exports.isFieldExpression)(expression[1]);
|
|
92
97
|
exports.isDateRangeFunctionExpression = isDateRangeFunctionExpression;
|
|
93
|
-
const isCollectionFunctionExpression = (expression) =>
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
const isCollectionFunctionExpression = (expression) => Array.isArray(expression) &&
|
|
99
|
+
(expression.length === 2 || expression.length === 3) &&
|
|
100
|
+
collectionOps.has(expression[0]);
|
|
96
101
|
exports.isCollectionFunctionExpression = isCollectionFunctionExpression;
|
|
97
|
-
const isAccessFunctionExpression = (
|
|
102
|
+
const isAccessFunctionExpression = (expression) => Array.isArray(expression) &&
|
|
103
|
+
expression.length === 2 &&
|
|
104
|
+
expression[0] === "q/access?" &&
|
|
105
|
+
(0, exports.isFieldExpression)(expression[1]);
|
|
98
106
|
exports.isAccessFunctionExpression = isAccessFunctionExpression;
|
|
99
|
-
const isBinaryExpression = (expression) => expression.length === 3 && binaryOperations.has(expression[0]);
|
|
107
|
+
const isBinaryExpression = (expression) => Array.isArray(expression) && expression.length === 3 && binaryOperations.has(expression[0]);
|
|
100
108
|
exports.isBinaryExpression = isBinaryExpression;
|
|
101
|
-
const isNaryExpression = (expression) => expression.length > 1 && exports.logicalOperators.has(expression[0]);
|
|
109
|
+
const isNaryExpression = (expression) => Array.isArray(expression) && expression.length > 1 && exports.logicalOperators.has(expression[0]);
|
|
102
110
|
exports.isNaryExpression = isNaryExpression;
|
|
103
|
-
const isVariableExpression = (expression) =>
|
|
111
|
+
const isVariableExpression = (expression) => (0, isString_1.default)(expression) && expression.startsWith("$");
|
|
104
112
|
exports.isVariableExpression = isVariableExpression;
|
|
105
|
-
const isMultiFieldAccess = (expression) =>
|
|
113
|
+
const isMultiFieldAccess = (expression) => Array.isArray(expression) &&
|
|
106
114
|
expression.length === 2 &&
|
|
107
115
|
!(0, exports.isFunctionCallExpression)(expression) &&
|
|
108
|
-
expression.every((x) =>
|
|
116
|
+
expression.every((x) => (0, isString_1.default)(x));
|
|
109
117
|
exports.isMultiFieldAccess = isMultiFieldAccess;
|
|
110
118
|
const isMultiFieldExpression = (expression) => Array.isArray(expression) &&
|
|
111
119
|
!(0, exports.isFunctionCallExpression)(expression) &&
|
|
112
120
|
expression.some((x) => (0, exports.isMultiFieldAccess)(x)) &&
|
|
113
|
-
expression.every((x) => !(0, exports.isVariableExpression)(x) &&
|
|
114
|
-
!binaryOperations.has(x) &&
|
|
115
|
-
(lodash_1.default.isString(x) || (0, exports.isMultiFieldAccess)(x)));
|
|
121
|
+
expression.every((x) => !(0, exports.isVariableExpression)(x) && !((0, isString_1.default)(x) && binaryOperations.has(x)) && ((0, isString_1.default)(x) || (0, exports.isMultiFieldAccess)(x)));
|
|
116
122
|
exports.isMultiFieldExpression = isMultiFieldExpression;
|
|
117
123
|
const isFieldExpression = (expression) => Array.isArray(expression) &&
|
|
118
124
|
!(0, exports.isFunctionCallExpression)(expression) &&
|
|
119
|
-
expression.every((x) => !(0, exports.isVariableExpression)(x) &&
|
|
125
|
+
expression.every((x) => !(0, exports.isVariableExpression)(x) && (0, isString_1.default)(x));
|
|
120
126
|
exports.isFieldExpression = isFieldExpression;
|
|
121
127
|
const isQueryExpression = (expression) => {
|
|
122
|
-
if (
|
|
128
|
+
if ((0, isObject_1.default)(expression) && "q/from" in expression) {
|
|
123
129
|
const fromExpression = expression["q/from"];
|
|
124
130
|
//asc: fromExpression === null for denormalizeSelect for reference collection case
|
|
125
131
|
return (fromExpression === null ||
|
|
@@ -140,7 +146,7 @@ const collectFieldExpressions = (memo, expression) => {
|
|
|
140
146
|
/* empty */
|
|
141
147
|
}
|
|
142
148
|
else {
|
|
143
|
-
if (
|
|
149
|
+
if ((0, isString_1.default)(part)) {
|
|
144
150
|
// field path shortcut
|
|
145
151
|
memo.push([part]);
|
|
146
152
|
}
|
|
@@ -153,8 +159,7 @@ const collectFieldExpressions = (memo, expression) => {
|
|
|
153
159
|
else if ((0, exports.isFieldExpression)(expression) || (0, exports.isMultiFieldExpression)(expression)) {
|
|
154
160
|
memo.push(expression);
|
|
155
161
|
}
|
|
156
|
-
else if (expression["q/from"] &&
|
|
157
|
-
(0, exports.isFieldExpression)(expression["q/from"])) {
|
|
162
|
+
else if (expression["q/from"] && (0, exports.isFieldExpression)(expression["q/from"])) {
|
|
158
163
|
const innerMemo = [];
|
|
159
164
|
expression["q/select"] &&
|
|
160
165
|
collectFieldExpressions(innerMemo, expression["q/select"]);
|
|
@@ -189,7 +194,7 @@ const getFieldObjectsByFieldExpression = ({ typeObject, expression, }) => {
|
|
|
189
194
|
return fieldObjects;
|
|
190
195
|
};
|
|
191
196
|
exports.getFieldObjectsByFieldExpression = getFieldObjectsByFieldExpression;
|
|
192
|
-
const isFieldExpressionValid = ({ typeObject, expression }) => {
|
|
197
|
+
const isFieldExpressionValid = ({ typeObject, expression, }) => {
|
|
193
198
|
(0, exports.assertIsValidExpression)(expression);
|
|
194
199
|
return Boolean(expression.reduce((typeObject, fieldOrMultiFieldAccess) => {
|
|
195
200
|
if (!typeObject) {
|
|
@@ -218,8 +223,7 @@ const isFieldExpressionValid = ({ typeObject, expression }) => {
|
|
|
218
223
|
}, typeObject));
|
|
219
224
|
};
|
|
220
225
|
exports.isFieldExpressionValid = isFieldExpressionValid;
|
|
221
|
-
const getFieldObjectByFieldExpression = (x
|
|
222
|
-
) => lodash_1.default.last((0, exports.getFieldObjectsByFieldExpression)(x));
|
|
226
|
+
const getFieldObjectByFieldExpression = (x) => (0, last_1.default)((0, exports.getFieldObjectsByFieldExpression)(x));
|
|
223
227
|
exports.getFieldObjectByFieldExpression = getFieldObjectByFieldExpression;
|
|
224
228
|
const getFieldObjects = (expression, typeObject) => {
|
|
225
229
|
const fieldExpression = (0, exports.extractFieldExpressions)(expression)[0];
|
|
@@ -229,11 +233,6 @@ const getFieldObjects = (expression, typeObject) => {
|
|
|
229
233
|
});
|
|
230
234
|
};
|
|
231
235
|
exports.getFieldObjects = getFieldObjects;
|
|
232
|
-
const getFieldObjectsPrevValueAware = (expression, typeObject) => {
|
|
233
|
-
const isPreviousAccess = (0, exports.isFieldExpression)(expression) && expression[0] === context_variables_1.previousTriggeredEntityContextVariableId;
|
|
234
|
-
return (0, exports.getFieldObjects)(isPreviousAccess ? lodash_1.default.drop(expression, 1) : expression, typeObject);
|
|
235
|
-
};
|
|
236
|
-
exports.getFieldObjectsPrevValueAware = getFieldObjectsPrevValueAware;
|
|
237
236
|
/** @deprecated
|
|
238
237
|
* This method checks few expression forms, that we do not generate on frontend anymore(field-access shortcut, direct value as parameter).
|
|
239
238
|
* I'm afraid to replace it with implementation based on visitor everywhere, as visitors don't allow such expression forms and I don't want to extend visitor with those forms.
|
|
@@ -242,7 +241,7 @@ exports.getFieldObjectsPrevValueAware = getFieldObjectsPrevValueAware;
|
|
|
242
241
|
const extractFieldExpressions = (expression) => {
|
|
243
242
|
const memo = [];
|
|
244
243
|
collectFieldExpressions(memo, expression);
|
|
245
|
-
return
|
|
244
|
+
return (0, uniqBy_1.default)(memo, (x) => x.join(","));
|
|
246
245
|
};
|
|
247
246
|
exports.extractFieldExpressions = extractFieldExpressions;
|
|
248
247
|
const createExpressionVisitor = (visitor) => {
|
|
@@ -272,8 +271,8 @@ const createExpressionVisitor = (visitor) => {
|
|
|
272
271
|
: null),
|
|
273
272
|
...(selectExpression
|
|
274
273
|
? {
|
|
275
|
-
"q/select":
|
|
276
|
-
?
|
|
274
|
+
"q/select": (0, isPlainObject_1.default)(selectExpression)
|
|
275
|
+
? (0, mapValues_1.default)(selectExpression, (val) => visitorWithDefault.visitExpression(val))
|
|
277
276
|
: visitorWithDefault.visitExpression(selectExpression),
|
|
278
277
|
}
|
|
279
278
|
: null),
|
package/lib/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/src/visitors.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { fieldAccessVisitorTypeAware } from "./fieldExpressionVisitorTypeAware";
|
|
2
2
|
import { TypeObject } from "@fibery/schema";
|
|
3
|
-
import { Expression,
|
|
3
|
+
import { Expression, FieldExpression } from "./types";
|
|
4
4
|
type OnFieldNotFoundInNamesTerms = (params: {
|
|
5
|
-
fieldExpressionInNamesTerms:
|
|
5
|
+
fieldExpressionInNamesTerms: FieldExpression;
|
|
6
6
|
fieldId: string;
|
|
7
7
|
currentTypeObject: TypeObject | null;
|
|
8
|
-
expression:
|
|
8
|
+
expression: FieldExpression;
|
|
9
9
|
}) => {
|
|
10
10
|
currentTypeObject: TypeObject | null;
|
|
11
|
-
fieldExpressionInNamesTerms:
|
|
11
|
+
fieldExpressionInNamesTerms: FieldExpression;
|
|
12
12
|
};
|
|
13
13
|
type OnFieldNotFoundInIdsTerms = (params: {
|
|
14
|
-
fieldExpressionInIdsTerms:
|
|
14
|
+
fieldExpressionInIdsTerms: FieldExpression;
|
|
15
15
|
field: string;
|
|
16
16
|
currentTypeObject: TypeObject | null;
|
|
17
|
-
expression:
|
|
17
|
+
expression: FieldExpression;
|
|
18
18
|
}) => {
|
|
19
19
|
currentTypeObject: TypeObject | null;
|
|
20
|
-
fieldExpressionInIdsTerms:
|
|
20
|
+
fieldExpressionInIdsTerms: FieldExpression;
|
|
21
21
|
};
|
|
22
22
|
export declare const replaceIdsWithNamesVisitor: (typeObject: TypeObject, onFieldNotFound?: OnFieldNotFoundInNamesTerms) => Required<import("./types").ExpressionVisitor>;
|
|
23
23
|
export declare const replaceNamesWithIdsVisitor: (typeObject: TypeObject, onFieldNotFound?: OnFieldNotFoundInIdsTerms) => Required<import("./types").ExpressionVisitor>;
|
|
@@ -25,7 +25,7 @@ export declare const deleteExpressionsWithNotFoundFieldsVisitor: (typeObject: Ty
|
|
|
25
25
|
export declare const expressionContainsAggregation: (expression: Expression) => boolean;
|
|
26
26
|
export declare const UNKNOWN_EXPRESSION_TYPE = "unknown";
|
|
27
27
|
export declare const getExpressionType: ({ expression, typeObject, functionsMeta, onFieldNotFound, returnRefTypeInsteadOfId, }: {
|
|
28
|
-
expression: Expression
|
|
28
|
+
expression: Expression;
|
|
29
29
|
typeObject: TypeObject;
|
|
30
30
|
functionsMeta: Record<string, {
|
|
31
31
|
overloads: {
|
package/lib/src/visitors.js
CHANGED
|
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.fieldAccessVisitorTypeAware = exports.getExpressionType = exports.UNKNOWN_EXPRESSION_TYPE = exports.expressionContainsAggregation = exports.deleteExpressionsWithNotFoundFieldsVisitor = exports.replaceNamesWithIdsVisitor = exports.replaceIdsWithNamesVisitor = void 0;
|
|
7
7
|
/* eslint-disable max-lines */
|
|
8
|
-
const
|
|
8
|
+
const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
|
|
9
|
+
const mapValues_1 = __importDefault(require("lodash/mapValues"));
|
|
10
|
+
const pickBy_1 = __importDefault(require("lodash/pickBy"));
|
|
9
11
|
const fieldExpressionVisitorTypeAware_1 = require("./fieldExpressionVisitorTypeAware");
|
|
10
12
|
Object.defineProperty(exports, "fieldAccessVisitorTypeAware", { enumerable: true, get: function () { return fieldExpressionVisitorTypeAware_1.fieldAccessVisitorTypeAware; } });
|
|
11
13
|
const utils_1 = require("./utils");
|
|
@@ -69,9 +71,8 @@ const fieldExpressionVisitor = (typeObject, visitFieldExpression, replacedExpres
|
|
|
69
71
|
...subQueryExpression,
|
|
70
72
|
...{
|
|
71
73
|
"q/from": visitor.visitFieldExpression(fromExpression),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
? lodash_1.default.mapValues(selectExpression, (val) => subQueryVisitor.visitExpression(val))
|
|
74
|
+
"q/select": (0, isPlainObject_1.default)(selectExpression)
|
|
75
|
+
? (0, mapValues_1.default)(selectExpression, (val) => subQueryVisitor.visitExpression(val))
|
|
75
76
|
: subQueryVisitor.visitExpression(selectExpression),
|
|
76
77
|
},
|
|
77
78
|
...(whereExpression ? { "q/where": subQueryVisitor.visitExpression(whereExpression) } : null),
|
|
@@ -118,7 +119,10 @@ const visitFieldExpressionForReplaceNamesWithIdsVisitor = ({ expression, typeObj
|
|
|
118
119
|
}
|
|
119
120
|
return {
|
|
120
121
|
currentTypeObject: nextTypeObject,
|
|
121
|
-
fieldExpressionInIdsTerms: [
|
|
122
|
+
fieldExpressionInIdsTerms: [
|
|
123
|
+
...fieldExpressionInIdsTerms,
|
|
124
|
+
[fieldObject.id, nextTypeObject.id],
|
|
125
|
+
],
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
else if (currentTypeObject && Object.hasOwn(currentTypeObject.fieldObjectsByName, field)) {
|
|
@@ -195,7 +199,7 @@ const deleteExpressionsWithNotFoundFieldsVisitor = (typeObject) => {
|
|
|
195
199
|
: null, typeObject);
|
|
196
200
|
if (subQueryTypeObject) {
|
|
197
201
|
const subQueryVisitor = (0, exports.deleteExpressionsWithNotFoundFieldsVisitor)(subQueryTypeObject);
|
|
198
|
-
const subQueryExpressionNew =
|
|
202
|
+
const subQueryExpressionNew = (0, pickBy_1.default)({
|
|
199
203
|
...subQueryExpression,
|
|
200
204
|
...{
|
|
201
205
|
"q/from": visitor.visitFieldExpression(fromExpression),
|
|
@@ -224,7 +228,6 @@ const expressionContainsAggregation = (expression) => {
|
|
|
224
228
|
const visitor = (0, utils_1.createExpressionVisitor)({
|
|
225
229
|
visitQueryExpression: (queryExpression) => {
|
|
226
230
|
const { "q/select": selectExpression } = queryExpression;
|
|
227
|
-
//"select" can have a non-object form, which is not reflected in types right now.
|
|
228
231
|
if ((0, utils_1.isCollectionFunctionExpression)(selectExpression)) {
|
|
229
232
|
result = true;
|
|
230
233
|
}
|
|
@@ -335,7 +338,7 @@ const getExpressionTypeInternal = ({ expression, typeObject, functionsMeta, onFi
|
|
|
335
338
|
if (!fromTypeObject) {
|
|
336
339
|
result = null;
|
|
337
340
|
}
|
|
338
|
-
if (
|
|
341
|
+
if ((0, isPlainObject_1.default)(selectExpression)) {
|
|
339
342
|
if (Object.values(selectExpression).length !== 1) {
|
|
340
343
|
throw new Error(`Can't determine type of query expression ${JSON.stringify(expression)}`);
|
|
341
344
|
}
|