@cubejs-backend/api-gateway 1.1.15 → 1.1.17

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 (39) hide show
  1. package/dist/src/SubscriptionServer.d.ts +2 -2
  2. package/dist/src/SubscriptionServer.d.ts.map +1 -1
  3. package/dist/src/SubscriptionServer.js +1 -1
  4. package/dist/src/SubscriptionServer.js.map +1 -1
  5. package/dist/src/gateway.d.ts +11 -4
  6. package/dist/src/gateway.d.ts.map +1 -1
  7. package/dist/src/gateway.js +93 -38
  8. package/dist/src/gateway.js.map +1 -1
  9. package/dist/src/helpers/prepareAnnotation.d.ts +1 -1
  10. package/dist/src/helpers/prepareAnnotation.d.ts.map +1 -1
  11. package/dist/src/helpers/prepareAnnotation.js.map +1 -1
  12. package/dist/src/helpers/toConfigMap.d.ts +1 -1
  13. package/dist/src/helpers/toConfigMap.js +1 -1
  14. package/dist/src/index.d.ts +1 -0
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/interfaces.d.ts +4 -2
  17. package/dist/src/interfaces.d.ts.map +1 -1
  18. package/dist/src/interfaces.js +2 -1
  19. package/dist/src/interfaces.js.map +1 -1
  20. package/dist/src/query.d.ts.map +1 -1
  21. package/dist/src/query.js +10 -1
  22. package/dist/src/query.js.map +1 -1
  23. package/dist/src/types/query.d.ts +7 -0
  24. package/dist/src/types/query.d.ts.map +1 -1
  25. package/dist/src/types/request.d.ts +2 -1
  26. package/dist/src/types/request.d.ts.map +1 -1
  27. package/dist/src/types/responses.d.ts +34 -0
  28. package/dist/src/types/responses.d.ts.map +1 -0
  29. package/dist/src/types/responses.js +3 -0
  30. package/dist/src/types/responses.js.map +1 -0
  31. package/package.json +5 -5
  32. package/dist/src/helpers/transformData.d.ts +0 -87
  33. package/dist/src/helpers/transformData.d.ts.map +0 -1
  34. package/dist/src/helpers/transformData.js +0 -236
  35. package/dist/src/helpers/transformData.js.map +0 -1
  36. package/dist/src/helpers/transformValue.d.ts +0 -21
  37. package/dist/src/helpers/transformValue.d.ts.map +0 -1
  38. package/dist/src/helpers/transformValue.js +0 -29
  39. package/dist/src/helpers/transformValue.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import type { ConfigItem } from '../helpers/prepareAnnotation';
2
+ import type { NormalizedQuery } from './query';
3
+ import type { QueryType, ResultType } from './strings';
4
+ export type DBResponsePrimitive = null | boolean | number | string;
5
+ export type DBResponseValue = Date | DBResponsePrimitive | {
6
+ value: DBResponsePrimitive;
7
+ };
8
+ export type TransformDataResponse = {
9
+ members: string[];
10
+ dataset: DBResponsePrimitive[][];
11
+ } | {
12
+ [member: string]: DBResponsePrimitive;
13
+ }[];
14
+ /**
15
+ * SQL aliases to cube properties hash map.
16
+ */
17
+ export type AliasToMemberMap = {
18
+ [alias: string]: string;
19
+ };
20
+ export type TransformDataRequest = {
21
+ aliasToMemberNameMap: {
22
+ [alias: string]: string;
23
+ };
24
+ annotation: {
25
+ [member: string]: ConfigItem;
26
+ };
27
+ data: {
28
+ [sqlAlias: string]: unknown;
29
+ }[];
30
+ query: NormalizedQuery;
31
+ queryType: QueryType;
32
+ resType?: ResultType;
33
+ };
34
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/types/responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAC7B,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAET,MAAM,MAAM,eAAe,GACzB,IAAI,GACJ,mBAAmB,GACnB;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,mBAAmB,EAAE,EAAE,CAAA;CACjC,GAAG;IACF,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAA;CACtC,EAAE,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClD,UAAU,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAC7C,IAAI,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACxC,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/types/responses.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/api-gateway",
3
3
  "description": "Cube.js API Gateway",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "1.1.15",
5
+ "version": "1.1.17",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -27,8 +27,8 @@
27
27
  "dist/src/*"
28
28
  ],
29
29
  "dependencies": {
30
- "@cubejs-backend/native": "1.1.15",
31
- "@cubejs-backend/shared": "1.1.12",
30
+ "@cubejs-backend/native": "1.1.17",
31
+ "@cubejs-backend/shared": "1.1.17",
32
32
  "@ungap/structured-clone": "^0.3.4",
33
33
  "body-parser": "^1.19.0",
34
34
  "chrono-node": "^2.6.2",
@@ -43,7 +43,7 @@
43
43
  "jsonwebtoken": "^9.0.2",
44
44
  "jwk-to-pem": "^2.0.4",
45
45
  "moment": "^2.24.0",
46
- "moment-timezone": "^0.5.27",
46
+ "moment-timezone": "^0.5.46",
47
47
  "nexus": "^1.1.0",
48
48
  "node-fetch": "^2.6.1",
49
49
  "ramda": "^0.27.0",
@@ -83,5 +83,5 @@
83
83
  ],
84
84
  "snapshotResolver": "<rootDir>/test/snapshotResolver.js"
85
85
  },
86
- "gitHead": "e55beb1c3d18219a069d66a61d2dc4ccd7ab48c5"
86
+ "gitHead": "d130dbc32b2931ecd1264d44fd8952e6d8f52c94"
87
87
  }
@@ -1,87 +0,0 @@
1
- /**
2
- * @license Apache-2.0
3
- * @copyright Cube Dev, Inc.
4
- * @fileoverview
5
- * transformData function and related types definition.
6
- */
7
- import { ConfigItem } from './prepareAnnotation';
8
- import { DBResponsePrimitive, DBResponseValue } from './transformValue';
9
- import { NormalizedQuery, QueryTimeDimension } from '../types/query';
10
- import { ResultType, QueryType } from '../types/strings';
11
- declare const COMPARE_DATE_RANGE_FIELD = "compareDateRange";
12
- declare const COMPARE_DATE_RANGE_SEPARATOR = " - ";
13
- declare const BLENDING_QUERY_KEY_PREFIX = "time.";
14
- declare const BLENDING_QUERY_RES_SEPARATOR = ".";
15
- declare const MEMBER_SEPARATOR = ".";
16
- /**
17
- * SQL aliases to cube properties hash map.
18
- */
19
- type AliasToMemberMap = {
20
- [alias: string]: string;
21
- };
22
- /**
23
- * Parse date range value from time dimension.
24
- * @internal
25
- */
26
- declare function getDateRangeValue(timeDimensions?: QueryTimeDimension[]): string;
27
- /**
28
- * Parse blending query key from time time dimension.
29
- * @internal
30
- */
31
- declare function getBlendingQueryKey(timeDimensions?: QueryTimeDimension[]): string;
32
- /**
33
- * Parse blending response key from time time dimension.
34
- * @internal
35
- */
36
- declare function getBlendingResponseKey(timeDimensions?: QueryTimeDimension[]): string;
37
- /**
38
- * Parse members names from request/response.
39
- * @internal
40
- */
41
- declare function getMembers(queryType: QueryType, query: NormalizedQuery, dbData: {
42
- [sqlAlias: string]: DBResponseValue;
43
- }[], aliasToMemberNameMap: AliasToMemberMap, annotation: {
44
- [member: string]: ConfigItem;
45
- }): {
46
- [member: string]: string;
47
- };
48
- /**
49
- * Convert DB response object to the compact output format.
50
- * @internal
51
- * @todo should we use transformValue for blending query?
52
- */
53
- declare function getCompactRow(membersToAliasMap: {
54
- [member: string]: string;
55
- }, annotation: {
56
- [member: string]: ConfigItem;
57
- }, queryType: QueryType, members: string[], timeDimensions: QueryTimeDimension[] | undefined, dbRow: {
58
- [sqlAlias: string]: DBResponseValue;
59
- }): DBResponsePrimitive[];
60
- /**
61
- * Convert DB response object to the vanila output format.
62
- * @todo rewrite me please!
63
- * @internal
64
- */
65
- declare function getVanilaRow(aliasToMemberNameMap: AliasToMemberMap, annotation: {
66
- [member: string]: ConfigItem;
67
- }, queryType: QueryType, query: NormalizedQuery, dbRow: {
68
- [sqlAlias: string]: DBResponseValue;
69
- }): {
70
- [member: string]: DBResponsePrimitive;
71
- };
72
- /**
73
- * Transforms queried data array to the output format.
74
- */
75
- declare function transformData(aliasToMemberNameMap: AliasToMemberMap, annotation: {
76
- [member: string]: ConfigItem;
77
- }, data: {
78
- [sqlAlias: string]: unknown;
79
- }[], query: NormalizedQuery, queryType: QueryType, resType?: ResultType): {
80
- members: string[];
81
- dataset: DBResponsePrimitive[][];
82
- } | {
83
- [member: string]: DBResponsePrimitive;
84
- }[];
85
- export default transformData;
86
- export { AliasToMemberMap, COMPARE_DATE_RANGE_FIELD, COMPARE_DATE_RANGE_SEPARATOR, BLENDING_QUERY_KEY_PREFIX, BLENDING_QUERY_RES_SEPARATOR, MEMBER_SEPARATOR, getDateRangeValue, getBlendingQueryKey, getBlendingResponseKey, getMembers, getCompactRow, getVanilaRow, transformData, };
87
- //# sourceMappingURL=transformData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformData.d.ts","sourceRoot":"","sources":["../../../src/helpers/transformData.ts"],"names":[],"mappings":"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"}
@@ -1,236 +0,0 @@
1
- "use strict";
2
- /**
3
- * @license Apache-2.0
4
- * @copyright Cube Dev, Inc.
5
- * @fileoverview
6
- * transformData function and related types definition.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.transformData = exports.getVanilaRow = exports.getCompactRow = exports.getMembers = exports.getBlendingResponseKey = exports.getBlendingQueryKey = exports.getDateRangeValue = exports.MEMBER_SEPARATOR = exports.BLENDING_QUERY_RES_SEPARATOR = exports.BLENDING_QUERY_KEY_PREFIX = exports.COMPARE_DATE_RANGE_SEPARATOR = exports.COMPARE_DATE_RANGE_FIELD = void 0;
13
- const ramda_1 = __importDefault(require("ramda"));
14
- const UserError_1 = require("../UserError");
15
- const transformValue_1 = require("./transformValue");
16
- const enums_1 = require("../types/enums");
17
- const COMPARE_DATE_RANGE_FIELD = 'compareDateRange';
18
- exports.COMPARE_DATE_RANGE_FIELD = COMPARE_DATE_RANGE_FIELD;
19
- const COMPARE_DATE_RANGE_SEPARATOR = ' - ';
20
- exports.COMPARE_DATE_RANGE_SEPARATOR = COMPARE_DATE_RANGE_SEPARATOR;
21
- const BLENDING_QUERY_KEY_PREFIX = 'time.';
22
- exports.BLENDING_QUERY_KEY_PREFIX = BLENDING_QUERY_KEY_PREFIX;
23
- const BLENDING_QUERY_RES_SEPARATOR = '.';
24
- exports.BLENDING_QUERY_RES_SEPARATOR = BLENDING_QUERY_RES_SEPARATOR;
25
- const MEMBER_SEPARATOR = '.';
26
- exports.MEMBER_SEPARATOR = MEMBER_SEPARATOR;
27
- /**
28
- * Parse date range value from time dimension.
29
- * @internal
30
- */
31
- function getDateRangeValue(timeDimensions) {
32
- if (!timeDimensions) {
33
- throw new UserError_1.UserError('QueryTimeDimension should be specified ' +
34
- 'for the compare date range query.');
35
- }
36
- else {
37
- const [dim] = timeDimensions;
38
- if (!dim.dateRange) {
39
- throw new UserError_1.UserError(`${'Inconsistent QueryTimeDimension configuration ' +
40
- 'for the compare date range query, dateRange required: '}${dim}`);
41
- }
42
- else if (typeof dim.dateRange === 'string') {
43
- throw new UserError_1.UserError('Inconsistent dateRange configuration for the ' +
44
- `compare date range query: ${dim.dateRange}`);
45
- }
46
- else {
47
- return dim.dateRange.join(COMPARE_DATE_RANGE_SEPARATOR);
48
- }
49
- }
50
- }
51
- exports.getDateRangeValue = getDateRangeValue;
52
- /**
53
- * Parse blending query key from time time dimension.
54
- * @internal
55
- */
56
- function getBlendingQueryKey(timeDimensions) {
57
- if (!timeDimensions) {
58
- throw new UserError_1.UserError('QueryTimeDimension should be specified ' +
59
- 'for the blending query.');
60
- }
61
- else {
62
- const [dim] = timeDimensions;
63
- if (!dim.granularity) {
64
- throw new UserError_1.UserError('Inconsistent QueryTimeDimension configuration ' +
65
- `for the blending query, granularity required: ${dim}`);
66
- }
67
- else {
68
- return BLENDING_QUERY_KEY_PREFIX + dim.granularity;
69
- }
70
- }
71
- }
72
- exports.getBlendingQueryKey = getBlendingQueryKey;
73
- /**
74
- * Parse blending response key from time time dimension.
75
- * @internal
76
- */
77
- function getBlendingResponseKey(timeDimensions) {
78
- if (!timeDimensions) {
79
- throw new UserError_1.UserError('QueryTimeDimension should be specified ' +
80
- 'for the blending query.');
81
- }
82
- else {
83
- const [dim] = timeDimensions;
84
- if (!dim.granularity) {
85
- throw new UserError_1.UserError('Inconsistent QueryTimeDimension configuration ' +
86
- `for the blending query, granularity required: ${dim}`);
87
- }
88
- else if (!dim.dimension) {
89
- throw new UserError_1.UserError('Inconsistent QueryTimeDimension configuration ' +
90
- `for the blending query, dimension required: ${dim}`);
91
- }
92
- else {
93
- return dim.dimension +
94
- BLENDING_QUERY_RES_SEPARATOR +
95
- dim.granularity;
96
- }
97
- }
98
- }
99
- exports.getBlendingResponseKey = getBlendingResponseKey;
100
- /**
101
- * Parse members names from request/response.
102
- * @internal
103
- */
104
- function getMembers(queryType, query, dbData, aliasToMemberNameMap, annotation) {
105
- const members = {};
106
- if (!dbData.length) {
107
- return members;
108
- }
109
- const columns = Object.keys(dbData[0]);
110
- columns.forEach((column) => {
111
- if (!aliasToMemberNameMap[column] || !annotation[aliasToMemberNameMap[column]]) {
112
- throw new UserError_1.UserError(`You requested hidden member: '${column}'. Please make it visible using \`shown: true\`. ` +
113
- 'Please note primaryKey fields are `shown: false` by ' +
114
- 'default: https://cube.dev/docs/schema/reference/joins#' +
115
- 'setting-a-primary-key.');
116
- }
117
- members[aliasToMemberNameMap[column]] = column;
118
- const path = aliasToMemberNameMap[column]
119
- .split(MEMBER_SEPARATOR);
120
- const calcMember = [path[0], path[1]].join(MEMBER_SEPARATOR);
121
- if (path.length === 3 &&
122
- query.dimensions?.indexOf(calcMember) === -1) {
123
- members[calcMember] = column;
124
- }
125
- });
126
- if (queryType === enums_1.QueryType.COMPARE_DATE_RANGE_QUERY) {
127
- members[COMPARE_DATE_RANGE_FIELD] =
128
- enums_1.QueryType.COMPARE_DATE_RANGE_QUERY;
129
- }
130
- else if (queryType === enums_1.QueryType.BLENDING_QUERY) {
131
- members[getBlendingQueryKey(query.timeDimensions)] =
132
- // @ts-ignore
133
- members[query.timeDimensions[0].dimension];
134
- }
135
- return members;
136
- }
137
- exports.getMembers = getMembers;
138
- /**
139
- * Convert DB response object to the compact output format.
140
- * @internal
141
- * @todo should we use transformValue for blending query?
142
- */
143
- function getCompactRow(membersToAliasMap, annotation, queryType, members, timeDimensions, dbRow) {
144
- const row = [];
145
- members.forEach((m) => {
146
- if (annotation[m]) {
147
- row.push((0, transformValue_1.transformValue)(dbRow[membersToAliasMap[m]], annotation[m].type));
148
- }
149
- });
150
- if (queryType === enums_1.QueryType.COMPARE_DATE_RANGE_QUERY) {
151
- row.push(getDateRangeValue(timeDimensions));
152
- }
153
- else if (queryType === enums_1.QueryType.BLENDING_QUERY) {
154
- row.push(dbRow[membersToAliasMap[getBlendingResponseKey(timeDimensions)]]);
155
- }
156
- return row;
157
- }
158
- exports.getCompactRow = getCompactRow;
159
- /**
160
- * Convert DB response object to the vanila output format.
161
- * @todo rewrite me please!
162
- * @internal
163
- */
164
- function getVanilaRow(aliasToMemberNameMap, annotation, queryType, query, dbRow) {
165
- const row = ramda_1.default.pipe(ramda_1.default.toPairs, ramda_1.default.map(p => {
166
- const memberName = aliasToMemberNameMap[p[0]];
167
- const annotationForMember = annotation[memberName];
168
- if (!annotationForMember) {
169
- throw new UserError_1.UserError(`You requested hidden member: '${p[0]}'. Please make it visible using \`shown: true\`. ` +
170
- 'Please note primaryKey fields are `shown: false` by ' +
171
- 'default: https://cube.dev/docs/schema/reference/joins#' +
172
- 'setting-a-primary-key.');
173
- }
174
- const transformResult = [
175
- memberName,
176
- (0, transformValue_1.transformValue)(p[1], annotationForMember.type)
177
- ];
178
- const path = memberName.split(MEMBER_SEPARATOR);
179
- /**
180
- * Time dimensions without granularity.
181
- * @deprecated
182
- * @todo backward compatibility for referencing
183
- */
184
- const memberNameWithoutGranularity = [path[0], path[1]].join(MEMBER_SEPARATOR);
185
- if (path.length === 3 &&
186
- (query.dimensions || [])
187
- .indexOf(memberNameWithoutGranularity) === -1) {
188
- return [
189
- transformResult,
190
- [
191
- memberNameWithoutGranularity,
192
- transformResult[1]
193
- ]
194
- ];
195
- }
196
- return [transformResult];
197
- }),
198
- // @ts-ignore
199
- ramda_1.default.unnest, ramda_1.default.fromPairs
200
- // @ts-ignore
201
- )(dbRow);
202
- if (queryType === enums_1.QueryType.COMPARE_DATE_RANGE_QUERY) {
203
- return {
204
- ...row,
205
- compareDateRange: getDateRangeValue(query.timeDimensions)
206
- };
207
- }
208
- else if (queryType === enums_1.QueryType.BLENDING_QUERY) {
209
- return {
210
- ...row,
211
- [getBlendingQueryKey(query.timeDimensions)]: row[getBlendingResponseKey(query.timeDimensions)]
212
- };
213
- }
214
- return row;
215
- }
216
- exports.getVanilaRow = getVanilaRow;
217
- /**
218
- * Transforms queried data array to the output format.
219
- */
220
- function transformData(aliasToMemberNameMap, annotation, data, query, queryType, resType) {
221
- const d = data;
222
- const membersToAliasMap = getMembers(queryType, query, d, aliasToMemberNameMap, annotation);
223
- const members = Object.keys(membersToAliasMap);
224
- const dataset = d.map((r) => {
225
- const row = resType === enums_1.ResultType.COMPACT
226
- ? getCompactRow(membersToAliasMap, annotation, queryType, members, query.timeDimensions, r)
227
- : getVanilaRow(aliasToMemberNameMap, annotation, queryType, query, r);
228
- return row;
229
- });
230
- return (resType === enums_1.ResultType.COMPACT
231
- ? { members, dataset }
232
- : dataset);
233
- }
234
- exports.transformData = transformData;
235
- exports.default = transformData;
236
- //# sourceMappingURL=transformData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformData.js","sourceRoot":"","sources":["../../../src/helpers/transformData.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,kDAAsB;AACtB,4CAAyC;AAEzC,qDAI0B;AAS1B,0CAGwB;AAExB,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AA4UlD,4DAAwB;AA3U1B,MAAM,4BAA4B,GAAG,KAAK,CAAC;AA4UzC,oEAA4B;AA3U9B,MAAM,yBAAyB,GAAG,OAAO,CAAC;AA4UxC,8DAAyB;AA3U3B,MAAM,4BAA4B,GAAG,GAAG,CAAC;AA4UvC,oEAA4B;AA3U9B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AA4U3B,4CAAgB;AArUlB;;;GAGG;AACH,SAAS,iBAAiB,CACxB,cAAqC;IAErC,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,qBAAS,CACjB,yCAAyC;YACzC,mCAAmC,CACpC,CAAC;KACH;SAAM;QACL,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,qBAAS,CACjB,GAAG,gDAAgD;gBACnD,wDAAwD,GACtD,GAAG,EAAE,CACR,CAAC;SACH;aAAM,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC5C,MAAM,IAAI,qBAAS,CACjB,+CAA+C;gBAC/C,6BAA6B,GAAG,CAAC,SAAS,EAAE,CAC7C,CAAC;SACH;aAAM;YACL,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SACzD;KACF;AACH,CAAC;AAySC,8CAAiB;AAvSnB;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,cAAqC;IAErC,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,qBAAS,CACjB,yCAAyC;YACzC,yBAAyB,CAC1B,CAAC;KACH;SAAM;QACL,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,qBAAS,CACjB,gDAAgD;gBAChD,iDAAiD,GAAG,EAAE,CACvD,CAAC;SACH;aAAM;YACL,OAAO,yBAAyB,GAAG,GAAG,CAAC,WAAW,CAAC;SACpD;KACF;AACH,CAAC;AAiRC,kDAAmB;AA/QrB;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,cAAqC;IAErC,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,qBAAS,CACjB,yCAAyC;YACzC,yBAAyB,CAC1B,CAAC;KACH;SAAM;QACL,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,qBAAS,CACjB,gDAAgD;gBAChD,iDAAiD,GAAG,EAAE,CACvD,CAAC;SACH;aAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YACzB,MAAM,IAAI,qBAAS,CACjB,gDAAgD;gBAChD,+CAA+C,GAAG,EAAE,CACrD,CAAC;SACH;aAAM;YACL,OAAO,GAAG,CAAC,SAAS;gBAClB,4BAA4B;gBAC5B,GAAG,CAAC,WAAW,CAAC;SACnB;KACF;AACH,CAAC;AAkPC,wDAAsB;AAhPxB;;;GAGG;AACH,SAAS,UAAU,CACjB,SAAoB,EACpB,KAAsB,EACtB,MAAiD,EACjD,oBAAsC,EACtC,UAA4C;IAE5C,MAAM,OAAO,GAAiC,EAAE,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QAClB,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE;YAC9E,MAAM,IAAI,qBAAS,CACjB,iCACE,MACF,mDAAmD;gBACnD,sDAAsD;gBACtD,wDAAwD;gBACxD,wBAAwB,CACzB,CAAC;SACH;QACD,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC;aACtC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3B,MAAM,UAAU,GACd,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;YACjB,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAC5C;YACA,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IACH,IAAI,SAAS,KAAK,iBAAa,CAAC,wBAAwB,EAAE;QACxD,OAAO,CAAC,wBAAwB,CAAC;YAC/B,iBAAa,CAAC,wBAAwB,CAAC;KAC1C;SAAM,IAAI,SAAS,KAAK,iBAAa,CAAC,cAAc,EAAE;QACrD,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAChD,aAAa;YACb,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KAC9C;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAiMC,gCAAU;AA/LZ;;;;GAIG;AACH,SAAS,aAAa,CACpB,iBAA+C,EAC/C,UAA4C,EAC5C,SAAoB,EACpB,OAAiB,EACjB,cAAgD,EAChD,KAA8C;IAE9C,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;QAC5B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;YACjB,GAAG,CAAC,IAAI,CACN,IAAA,+BAAc,EACZ,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC3B,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CACnB,CACF,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,IAAI,SAAS,KAAK,iBAAa,CAAC,wBAAwB,EAAE;QACxD,GAAG,CAAC,IAAI,CACN,iBAAiB,CAAC,cAAc,CAAC,CAClC,CAAC;KACH;SAAM,IAAI,SAAS,KAAK,iBAAa,CAAC,cAAc,EAAE;QACrD,GAAG,CAAC,IAAI,CACN,KAAK,CACH,iBAAiB,CACf,sBAAsB,CAAC,cAAc,CAAC,CACvC,CACqB,CACzB,CAAC;KACH;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA0JC,sCAAa;AAxJf;;;;GAIG;AACH,SAAS,YAAY,CACnB,oBAAsC,EACtC,UAA4C,EAC5C,SAAoB,EACpB,KAAsB,EACtB,KAA8C;IAE9C,MAAM,GAAG,GAAG,eAAC,CAAC,IAAI,CAChB,eAAC,CAAC,OAAO,EACT,eAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACR,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,IAAI,qBAAS,CACjB,iCACE,CAAC,CAAC,CAAC,CACL,mDAAmD;gBACnD,sDAAsD;gBACtD,wDAAwD;gBACxD,wBAAwB,CACzB,CAAC;SACH;QACD,MAAM,eAAe,GAAG;YACtB,UAAU;YACV,IAAA,+BAAc,EACZ,CAAC,CAAC,CAAC,CAAoB,EACvB,mBAAmB,CAAC,IAAI,CACzB;SACF,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhD;;;;WAIG;QACH,MAAM,4BAA4B,GAChC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;iBACrB,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,EAC/C;YACA,OAAO;gBACL,eAAe;gBACf;oBACE,4BAA4B;oBAC5B,eAAe,CAAC,CAAC,CAAC;iBACnB;aACF,CAAC;SACH;QAED,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,aAAa;IACb,eAAC,CAAC,MAAM,EACR,eAAC,CAAC,SAAS;IACb,aAAa;KACZ,CAAC,KAAK,CAAC,CAAC;IACT,IAAI,SAAS,KAAK,iBAAa,CAAC,wBAAwB,EAAE;QACxD,OAAO;YACL,GAAG,GAAG;YACN,gBAAgB,EAAE,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC;SAC1D,CAAC;KACH;SAAM,IAAI,SAAS,KAAK,iBAAa,CAAC,cAAc,EAAE;QACrD,OAAO;YACL,GAAG,GAAG;YACN,CAAC,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EACzC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACpD,CAAC;KACH;IACD,OAAO,GAAiD,CAAC;AAC3D,CAAC;AA4EC,oCAAY;AA1Ed;;GAEG;AACH,SAAS,aAAa,CACpB,oBAAsC,EACtC,UAA4C,EAC5C,IAAuC,EACvC,KAAsB,EACtB,SAAoB,EACpB,OAAoB;IAOpB,MAAM,CAAC,GAAG,IAAiD,CAAC;IAC5D,MAAM,iBAAiB,GAAG,UAAU,CAClC,SAAS,EACT,KAAK,EACL,CAAC,EACD,oBAAoB,EACpB,UAAU,CACX,CAAC;IACF,MAAM,OAAO,GAAa,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzD,MAAM,OAAO,GAEP,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChB,MAAM,GAAG,GAEL,OAAO,KAAK,kBAAc,CAAC,OAAO;YACpC,CAAC,CAAC,aAAa,CACb,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,CAAC,cAAc,EACpB,CAAC,CACF;YACD,CAAC,CAAC,YAAY,CACZ,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,KAAK,EACL,CAAC,CACF,CAAC;QACJ,OAAO,GAAG,CAAC;IACb,CAAC,CAEE,CAAC;IACJ,OAAO,CAAC,OAAO,KAAK,kBAAc,CAAC,OAAO;QACxC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACtB,CAAC,CAAC,OAAO,CAMR,CAAC;AACN,CAAC;AAgBC,sCAAa;AAdf,kBAAe,aAAa,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * @license Apache-2.0
3
- * @copyright Cube Dev, Inc.
4
- * @fileoverview
5
- * transformValue function and related types definition.
6
- */
7
- /**
8
- * Query 'or'-filters type definition.
9
- */
10
- type DBResponsePrimitive = null | boolean | number | string;
11
- type DBResponseValue = Date | DBResponsePrimitive | {
12
- value: DBResponsePrimitive;
13
- };
14
- /**
15
- * Transform cpecified `value` with specified `type` to the network
16
- * protocol type.
17
- */
18
- declare function transformValue(value: DBResponseValue, type: string): DBResponsePrimitive;
19
- export default transformValue;
20
- export { DBResponsePrimitive, DBResponseValue, transformValue, };
21
- //# sourceMappingURL=transformValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformValue.d.ts","sourceRoot":"","sources":["../../../src/helpers/transformValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,KAAK,mBAAmB,GACtB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAET,KAAK,eAAe,GAClB,IAAI,GACJ,mBAAmB,GACnB;IAAE,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEjC;;;GAGG;AACH,iBAAS,cAAc,CACrB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,GACX,mBAAmB,CAUrB;AAED,eAAe,cAAc,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- /**
3
- * @license Apache-2.0
4
- * @copyright Cube Dev, Inc.
5
- * @fileoverview
6
- * transformValue function and related types definition.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.transformValue = void 0;
13
- const moment_1 = __importDefault(require("moment"));
14
- /**
15
- * Transform cpecified `value` with specified `type` to the network
16
- * protocol type.
17
- */
18
- function transformValue(value, type) {
19
- // TODO: support for max time
20
- if (value && (type === 'time' || value instanceof Date)) {
21
- return (value instanceof Date
22
- ? (0, moment_1.default)(value)
23
- : moment_1.default.utc(value)).format(moment_1.default.HTML5_FMT.DATETIME_LOCAL_MS);
24
- }
25
- return value;
26
- }
27
- exports.transformValue = transformValue;
28
- exports.default = transformValue;
29
- //# sourceMappingURL=transformValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformValue.js","sourceRoot":"","sources":["../../../src/helpers/transformValue.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,oDAA6C;AAgB7C;;;GAGG;AACH,SAAS,cAAc,CACrB,KAAsB,EACtB,IAAY;IAEZ,6BAA6B;IAC7B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE;QACvD,OAAO,CACL,KAAK,YAAY,IAAI;YACnB,CAAC,CAAC,IAAA,gBAAM,EAAC,KAAK,CAAC;YACf,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,KAAoB,CAAC,CACrC,CAAC,MAAM,CAAC,gBAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;KAC9C;IACD,OAAO,KAA4B,CAAC;AACtC,CAAC;AAMC,wCAAc;AAJhB,kBAAe,cAAc,CAAC"}