@squidcloud/local-backend 1.0.24 → 1.0.26
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/dist/common/src/ai-assistant.context.d.ts +13 -0
- package/dist/common/src/ai-assistant.context.js +20 -0
- package/dist/common/src/ai-assistant.context.js.map +1 -0
- package/dist/common/src/ai-assistant.schemas.d.ts +210 -0
- package/dist/common/src/ai-assistant.schemas.js +200 -0
- package/dist/common/src/ai-assistant.schemas.js.map +1 -0
- package/dist/common/src/ai-assistant.types.d.ts +81 -0
- package/dist/common/src/ai-assistant.types.js +12 -0
- package/dist/common/src/ai-assistant.types.js.map +1 -0
- package/dist/common/src/api-call.context.d.ts +13 -0
- package/dist/common/src/api-call.context.js +17 -0
- package/dist/common/src/api-call.context.js.map +1 -0
- package/dist/common/src/api.types.d.ts +24 -0
- package/dist/common/src/api.types.js +3 -0
- package/dist/common/src/api.types.js.map +1 -0
- package/dist/common/src/application.schemas.d.ts +1060 -0
- package/dist/common/src/application.schemas.js +711 -0
- package/dist/common/src/application.schemas.js.map +1 -0
- package/dist/common/src/application.types.d.ts +228 -0
- package/dist/common/src/application.types.js +90 -0
- package/dist/common/src/application.types.js.map +1 -0
- package/dist/common/src/auth.types.d.ts +4 -0
- package/dist/common/src/auth.types.js +3 -0
- package/dist/common/src/auth.types.js.map +1 -0
- package/dist/common/src/backend-function.schemas.d.ts +3 -0
- package/dist/common/src/backend-function.schemas.js +14 -0
- package/dist/common/src/backend-function.schemas.js.map +1 -0
- package/dist/common/src/backend-function.types.d.ts +7 -0
- package/dist/common/src/backend-function.types.js +3 -0
- package/dist/common/src/backend-function.types.js.map +1 -0
- package/dist/common/src/backend-run.types.d.ts +54 -0
- package/dist/common/src/backend-run.types.js +74 -0
- package/dist/common/src/backend-run.types.js.map +1 -0
- package/dist/common/src/bundle-api.types.d.ts +71 -0
- package/dist/common/src/bundle-api.types.js +3 -0
- package/dist/common/src/bundle-api.types.js.map +1 -0
- package/dist/common/src/bundle-data.types.d.ts +59 -0
- package/dist/common/src/bundle-data.types.js +3 -0
- package/dist/common/src/bundle-data.types.js.map +1 -0
- package/dist/common/src/communication.types.d.ts +17 -0
- package/dist/common/src/communication.types.js +37 -0
- package/dist/common/src/communication.types.js.map +1 -0
- package/dist/common/src/context.types.d.ts +22 -0
- package/dist/common/src/context.types.js +3 -0
- package/dist/common/src/context.types.js.map +1 -0
- package/dist/common/src/distributed-lock.context.d.ts +5 -0
- package/dist/common/src/distributed-lock.context.js +11 -0
- package/dist/common/src/distributed-lock.context.js.map +1 -0
- package/dist/common/src/document.types.d.ts +31 -0
- package/dist/common/src/document.types.js +50 -0
- package/dist/common/src/document.types.js.map +1 -0
- package/dist/common/src/graphql.context.d.ts +14 -0
- package/dist/common/src/graphql.context.js +13 -0
- package/dist/common/src/graphql.context.js.map +1 -0
- package/dist/common/src/graphql.types.d.ts +11 -0
- package/dist/common/src/graphql.types.js +35 -0
- package/dist/common/src/graphql.types.js.map +1 -0
- package/dist/common/src/http-status.enum.d.ts +50 -0
- package/dist/common/src/http-status.enum.js +55 -0
- package/dist/common/src/http-status.enum.js.map +1 -0
- package/dist/common/src/index.d.ts +54 -0
- package/dist/common/src/index.js +71 -0
- package/dist/common/src/index.js.map +1 -0
- package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -0
- package/dist/common/src/integrations/ai_assistant.types.js +3 -0
- package/dist/common/src/integrations/ai_assistant.types.js.map +1 -0
- package/dist/common/src/integrations/api.types.d.ts +80 -0
- package/dist/common/src/integrations/api.types.js +3 -0
- package/dist/common/src/integrations/api.types.js.map +1 -0
- package/dist/common/src/integrations/auth.types.d.ts +22 -0
- package/dist/common/src/integrations/auth.types.js +3 -0
- package/dist/common/src/integrations/auth.types.js.map +1 -0
- package/dist/common/src/integrations/database.types.d.ts +236 -0
- package/dist/common/src/integrations/database.types.js +3 -0
- package/dist/common/src/integrations/database.types.js.map +1 -0
- package/dist/common/src/integrations/index.d.ts +97 -0
- package/dist/common/src/integrations/index.js +98 -0
- package/dist/common/src/integrations/index.js.map +1 -0
- package/dist/common/src/integrations/observability.types.d.ts +22 -0
- package/dist/common/src/integrations/observability.types.js +15 -0
- package/dist/common/src/integrations/observability.types.js.map +1 -0
- package/dist/common/src/logger.types.d.ts +21 -0
- package/dist/common/src/logger.types.js +12 -0
- package/dist/common/src/logger.types.js.map +1 -0
- package/dist/common/src/metrics.types.d.ts +58 -0
- package/dist/common/src/metrics.types.js +12 -0
- package/dist/common/src/metrics.types.js.map +1 -0
- package/dist/common/src/mutation.context.d.ts +11 -0
- package/dist/common/src/mutation.context.js +21 -0
- package/dist/common/src/mutation.context.js.map +1 -0
- package/dist/common/src/mutation.schemas.d.ts +5 -0
- package/dist/common/src/mutation.schemas.js +116 -0
- package/dist/common/src/mutation.schemas.js.map +1 -0
- package/dist/common/src/mutation.types.d.ts +64 -0
- package/dist/common/src/mutation.types.js +143 -0
- package/dist/common/src/mutation.types.js.map +1 -0
- package/dist/common/src/named-query.context.d.ts +4 -0
- package/dist/common/src/named-query.context.js +10 -0
- package/dist/common/src/named-query.context.js.map +1 -0
- package/dist/common/src/named-query.schemas.d.ts +3 -0
- package/dist/common/src/named-query.schemas.js +15 -0
- package/dist/common/src/named-query.schemas.js.map +1 -0
- package/dist/common/src/named-query.types.d.ts +9 -0
- package/dist/common/src/named-query.types.js +3 -0
- package/dist/common/src/named-query.types.js.map +1 -0
- package/dist/common/src/query/index.d.ts +2 -0
- package/dist/common/src/query/index.js +19 -0
- package/dist/common/src/query/index.js.map +1 -0
- package/dist/common/src/query/query-context.d.ts +28 -0
- package/dist/common/src/query/query-context.js +161 -0
- package/dist/common/src/query/query-context.js.map +1 -0
- package/dist/common/src/query/simple-query-builder.d.ts +39 -0
- package/dist/common/src/query/simple-query-builder.js +111 -0
- package/dist/common/src/query/simple-query-builder.js.map +1 -0
- package/dist/common/src/query.schemas.d.ts +5 -0
- package/dist/common/src/query.schemas.js +90 -0
- package/dist/common/src/query.schemas.js.map +1 -0
- package/dist/common/src/query.types.d.ts +89 -0
- package/dist/common/src/query.types.js +135 -0
- package/dist/common/src/query.types.js.map +1 -0
- package/dist/common/src/regions.d.ts +21 -0
- package/dist/common/src/regions.js +44 -0
- package/dist/common/src/regions.js.map +1 -0
- package/dist/common/src/schema/schema.types.d.ts +30 -0
- package/dist/common/src/schema/schema.types.js +173 -0
- package/dist/common/src/schema/schema.types.js.map +1 -0
- package/dist/common/src/secret.schemas.d.ts +6 -0
- package/dist/common/src/secret.schemas.js +33 -0
- package/dist/common/src/secret.schemas.js.map +1 -0
- package/dist/common/src/secret.types.d.ts +49 -0
- package/dist/common/src/secret.types.js +6 -0
- package/dist/common/src/secret.types.js.map +1 -0
- package/dist/common/src/security.types.d.ts +3 -0
- package/dist/common/src/security.types.js +3 -0
- package/dist/common/src/security.types.js.map +1 -0
- package/dist/common/src/socket.schemas.d.ts +3 -0
- package/dist/common/src/socket.schemas.js +59 -0
- package/dist/common/src/socket.schemas.js.map +1 -0
- package/dist/common/src/socket.types.d.ts +108 -0
- package/dist/common/src/socket.types.js +3 -0
- package/dist/common/src/socket.types.js.map +1 -0
- package/dist/common/src/time-units.d.ts +5 -0
- package/dist/common/src/time-units.js +9 -0
- package/dist/common/src/time-units.js.map +1 -0
- package/dist/common/src/trigger.types.d.ts +15 -0
- package/dist/common/src/trigger.types.js +3 -0
- package/dist/common/src/trigger.types.js.map +1 -0
- package/dist/common/src/types.d.ts +15 -0
- package/dist/common/src/types.js +3 -0
- package/dist/common/src/types.js.map +1 -0
- package/dist/common/src/utils/array.d.ts +8 -0
- package/dist/common/src/utils/array.js +52 -0
- package/dist/common/src/utils/array.js.map +1 -0
- package/dist/common/src/utils/assert.d.ts +8 -0
- package/dist/common/src/utils/assert.js +50 -0
- package/dist/common/src/utils/assert.js.map +1 -0
- package/dist/common/src/utils/error.d.ts +4 -0
- package/dist/common/src/utils/error.js +11 -0
- package/dist/common/src/utils/error.js.map +1 -0
- package/dist/common/src/utils/http.d.ts +2 -0
- package/dist/common/src/utils/http.js +39 -0
- package/dist/common/src/utils/http.js.map +1 -0
- package/dist/common/src/utils/id.d.ts +2 -0
- package/dist/common/src/utils/id.js +22 -0
- package/dist/common/src/utils/id.js.map +1 -0
- package/dist/common/src/utils/lock.manager.d.ts +9 -0
- package/dist/common/src/utils/lock.manager.js +40 -0
- package/dist/common/src/utils/lock.manager.js.map +1 -0
- package/dist/common/src/utils/nullish.d.ts +1 -0
- package/dist/common/src/utils/nullish.js +8 -0
- package/dist/common/src/utils/nullish.js.map +1 -0
- package/dist/common/src/utils/object.d.ts +6 -0
- package/dist/common/src/utils/object.js +90 -0
- package/dist/common/src/utils/object.js.map +1 -0
- package/dist/common/src/utils/serialization.d.ts +6 -0
- package/dist/common/src/utils/serialization.js +51 -0
- package/dist/common/src/utils/serialization.js.map +1 -0
- package/dist/common/src/utils/transforms.d.ts +18 -0
- package/dist/common/src/utils/transforms.js +93 -0
- package/dist/common/src/utils/transforms.js.map +1 -0
- package/dist/common/src/utils/url.d.ts +1 -0
- package/dist/common/src/utils/url.js +16 -0
- package/dist/common/src/utils/url.js.map +1 -0
- package/dist/common/src/utils/validation.d.ts +17 -0
- package/dist/common/src/utils/validation.js +210 -0
- package/dist/common/src/utils/validation.js.map +1 -0
- package/dist/common/src/webhook-response.d.ts +7 -0
- package/dist/common/src/webhook-response.js +8 -0
- package/dist/common/src/webhook-response.js.map +1 -0
- package/dist/internal-common/src/code-executor.types.d.ts +13 -0
- package/dist/internal-common/src/code-executor.types.js +3 -0
- package/dist/internal-common/src/code-executor.types.js.map +1 -0
- package/dist/internal-common/src/environment/environment.types.d.ts +71 -0
- package/dist/internal-common/src/environment/environment.types.js +3 -0
- package/dist/internal-common/src/environment/environment.types.js.map +1 -0
- package/dist/internal-common/src/environment/index.d.ts +6 -0
- package/dist/internal-common/src/environment/index.js +26 -0
- package/dist/internal-common/src/environment/index.js.map +1 -0
- package/dist/internal-common/src/environment/local.environment.d.ts +2 -0
- package/dist/internal-common/src/environment/local.environment.js +60 -0
- package/dist/internal-common/src/environment/local.environment.js.map +1 -0
- package/dist/internal-common/src/index.d.ts +10 -0
- package/dist/internal-common/src/index.js +27 -0
- package/dist/internal-common/src/index.js.map +1 -0
- package/dist/internal-common/src/kafka/kafka.manager.d.ts +17 -0
- package/dist/internal-common/src/kafka/kafka.manager.interface.d.ts +10 -0
- package/dist/internal-common/src/kafka/kafka.manager.interface.js +7 -0
- package/dist/internal-common/src/kafka/kafka.manager.interface.js.map +1 -0
- package/dist/internal-common/src/kafka/kafka.manager.js +104 -0
- package/dist/internal-common/src/kafka/kafka.manager.js.map +1 -0
- package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -0
- package/dist/internal-common/src/kafka/kafka.types.js +3 -0
- package/dist/internal-common/src/kafka/kafka.types.js.map +1 -0
- package/dist/internal-common/src/local-dev.types.d.ts +31 -0
- package/dist/internal-common/src/local-dev.types.js +3 -0
- package/dist/internal-common/src/local-dev.types.js.map +1 -0
- package/dist/internal-common/src/observability-publisher.d.ts +14 -0
- package/dist/internal-common/src/observability-publisher.js +71 -0
- package/dist/internal-common/src/observability-publisher.js.map +1 -0
- package/dist/internal-common/src/observability.types.d.ts +17 -0
- package/dist/internal-common/src/observability.types.js +3 -0
- package/dist/internal-common/src/observability.types.js.map +1 -0
- package/dist/internal-common/src/shutdown.manager.d.ts +20 -0
- package/dist/internal-common/src/shutdown.manager.js +77 -0
- package/dist/internal-common/src/shutdown.manager.js.map +1 -0
- package/dist/internal-common/src/utils.d.ts +5 -0
- package/dist/internal-common/src/utils.js +30 -0
- package/dist/internal-common/src/utils.js.map +1 -0
- package/dist/{index.d.ts → local-backend/src/index.d.ts} +4 -4
- package/dist/{index.js → local-backend/src/index.js} +20 -20
- package/dist/local-backend/src/index.js.map +1 -0
- package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -0
- package/dist/local-backend/src/local-backend-socket.service.js +110 -0
- package/dist/local-backend/src/local-backend-socket.service.js.map +1 -0
- package/dist/{local-backend.app.d.ts → local-backend/src/local-backend.app.d.ts} +2 -2
- package/dist/{local-backend.app.js → local-backend/src/local-backend.app.js} +25 -15
- package/dist/local-backend/src/local-backend.app.js.map +1 -0
- package/dist/{local-backend.controller.d.ts → local-backend/src/local-backend.controller.d.ts} +8 -8
- package/dist/{local-backend.controller.js → local-backend/src/local-backend.controller.js} +49 -49
- package/dist/local-backend/src/local-backend.controller.js.map +1 -0
- package/dist/{local-backend.module.d.ts → local-backend/src/local-backend.module.d.ts} +8 -8
- package/dist/{local-backend.module.js → local-backend/src/local-backend.module.js} +53 -51
- package/dist/local-backend/src/local-backend.module.js.map +1 -0
- package/dist/local-backend/src/local-backend.service.d.ts +15 -0
- package/dist/{local-backend.service.js → local-backend/src/local-backend.service.js} +165 -143
- package/dist/local-backend/src/local-backend.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/dist/index.js.map +0 -1
- package/dist/local-backend.app.js.map +0 -1
- package/dist/local-backend.controller.js.map +0 -1
- package/dist/local-backend.module.js.map +0 -1
- package/dist/local-backend.service.d.ts +0 -7
- package/dist/local-backend.service.js.map +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type MetricType = 'count' | 'gauge';
|
|
2
|
+
export type AggregationPeriod = '1m' | '5m' | '15m' | '1h' | '1d' | '1w';
|
|
3
|
+
export declare const aggregationPeriodMap: Record<AggregationPeriod, number>;
|
|
4
|
+
export interface CountMetricHistogramData {
|
|
5
|
+
stepInterval: number;
|
|
6
|
+
sumInStep: number;
|
|
7
|
+
cumulativeSum: number;
|
|
8
|
+
rate: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CountMetricSummary {
|
|
11
|
+
cumulativeRate: number;
|
|
12
|
+
cumulativeSum: number;
|
|
13
|
+
}
|
|
14
|
+
export interface GaugeMetricHistogramData {
|
|
15
|
+
stepInterval: number;
|
|
16
|
+
sumInStep: number;
|
|
17
|
+
countInStep: number;
|
|
18
|
+
minInStep: number;
|
|
19
|
+
maxInStep: number;
|
|
20
|
+
avgInStep: number;
|
|
21
|
+
medianInStep: number;
|
|
22
|
+
}
|
|
23
|
+
export interface GaugeMetricSummary {
|
|
24
|
+
cumulativeSum: number;
|
|
25
|
+
cumulativeMin: number;
|
|
26
|
+
cumulativeMax: number;
|
|
27
|
+
cumulativeAvg: number;
|
|
28
|
+
cumulativeCount: number;
|
|
29
|
+
}
|
|
30
|
+
interface BaseMetricResponse {
|
|
31
|
+
type: MetricType;
|
|
32
|
+
}
|
|
33
|
+
export interface CountMetricResponse extends BaseMetricResponse {
|
|
34
|
+
type: 'count';
|
|
35
|
+
histogram: Array<CountMetricHistogramData>;
|
|
36
|
+
summary: CountMetricSummary;
|
|
37
|
+
}
|
|
38
|
+
export interface GaugeMetricResponse extends BaseMetricResponse {
|
|
39
|
+
type: 'gauge';
|
|
40
|
+
histogram: Array<GaugeMetricHistogramData>;
|
|
41
|
+
summary: GaugeMetricSummary;
|
|
42
|
+
}
|
|
43
|
+
export type MetricResponse = CountMetricResponse | GaugeMetricResponse;
|
|
44
|
+
export interface GetSingleMetricRequest {
|
|
45
|
+
metricName: string;
|
|
46
|
+
tagFilters: Record<string, string | Array<string>>;
|
|
47
|
+
metricType: MetricType;
|
|
48
|
+
}
|
|
49
|
+
export interface GetMetricsRequest {
|
|
50
|
+
requests: Array<GetSingleMetricRequest>;
|
|
51
|
+
from: number;
|
|
52
|
+
to: number;
|
|
53
|
+
aggregationPeriod: AggregationPeriod;
|
|
54
|
+
}
|
|
55
|
+
export interface GetMetricsResponse {
|
|
56
|
+
responses: Array<MetricResponse>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.aggregationPeriodMap = void 0;
|
|
4
|
+
exports.aggregationPeriodMap = {
|
|
5
|
+
'1m': 1,
|
|
6
|
+
'5m': 5,
|
|
7
|
+
'15m': 15,
|
|
8
|
+
'1h': 60,
|
|
9
|
+
'1d': 1440,
|
|
10
|
+
'1w': 10080,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=metrics.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.types.js","sourceRoot":"","sources":["../../../../common/src/metrics.types.ts"],"names":[],"mappings":";;;AAKa,QAAA,oBAAoB,GAAsC;IACrE,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;CACZ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Mutation, MutationType } from './mutation.types';
|
|
2
|
+
import { BeforeAndAfterDocs } from './document.types';
|
|
3
|
+
import { Paths } from './types';
|
|
4
|
+
export declare class MutationContext<T = any> {
|
|
5
|
+
readonly mutation: Mutation<T>;
|
|
6
|
+
readonly beforeAndAfterDocs: BeforeAndAfterDocs<T>;
|
|
7
|
+
readonly serverTimeStamp: Date;
|
|
8
|
+
constructor(mutation: Mutation<T>, beforeAndAfterDocs: BeforeAndAfterDocs<T>, serverTimeStamp: Date);
|
|
9
|
+
getMutationType(): MutationType;
|
|
10
|
+
affectsPath(path: Paths<T>): boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MutationContext = void 0;
|
|
4
|
+
const _ = require("lodash");
|
|
5
|
+
class MutationContext {
|
|
6
|
+
constructor(mutation, beforeAndAfterDocs, serverTimeStamp) {
|
|
7
|
+
this.mutation = mutation;
|
|
8
|
+
this.beforeAndAfterDocs = beforeAndAfterDocs;
|
|
9
|
+
this.serverTimeStamp = serverTimeStamp;
|
|
10
|
+
}
|
|
11
|
+
getMutationType() {
|
|
12
|
+
return this.mutation.type;
|
|
13
|
+
}
|
|
14
|
+
affectsPath(path) {
|
|
15
|
+
const before = this.beforeAndAfterDocs.before ? _.get(this.beforeAndAfterDocs.before, path) : undefined;
|
|
16
|
+
const after = this.beforeAndAfterDocs.after ? _.get(this.beforeAndAfterDocs.after, path) : undefined;
|
|
17
|
+
return !_.isEqual(before, after);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.MutationContext = MutationContext;
|
|
21
|
+
//# sourceMappingURL=mutation.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.context.js","sourceRoot":"","sources":["../../../../common/src/mutation.context.ts"],"names":[],"mappings":";;;AAGA,4BAA4B;AAG5B,MAAa,eAAe;IAI1B,YACW,QAAqB,EACrB,kBAAyC,EACzC,eAAqB;QAFrB,aAAQ,GAAR,QAAQ,CAAa;QACrB,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,oBAAe,GAAf,eAAe,CAAM;IAC7B,CAAC;IAEJ,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAGD,WAAW,CAAC,IAAc;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AApBD,0CAoBC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MutationRequestSchema = void 0;
|
|
4
|
+
const Anything = {};
|
|
5
|
+
const AnyString = {
|
|
6
|
+
type: 'string',
|
|
7
|
+
};
|
|
8
|
+
const DocumentSchema = {
|
|
9
|
+
type: 'object',
|
|
10
|
+
};
|
|
11
|
+
const DocIdSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
required: ['docId', 'integrationId', 'collectionName'],
|
|
14
|
+
properties: {
|
|
15
|
+
docId: AnyString,
|
|
16
|
+
integrationId: AnyString,
|
|
17
|
+
collectionName: AnyString,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
const InsertSchema = {
|
|
21
|
+
type: 'object',
|
|
22
|
+
required: ['type', 'properties', 'squidDocIdObj'],
|
|
23
|
+
properties: {
|
|
24
|
+
type: { type: 'string', const: 'insert' },
|
|
25
|
+
properties: DocumentSchema,
|
|
26
|
+
squidDocIdObj: DocIdSchema,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
const DeleteSchema = {
|
|
30
|
+
type: 'object',
|
|
31
|
+
required: ['type', 'squidDocIdObj'],
|
|
32
|
+
properties: {
|
|
33
|
+
type: { type: 'string', const: 'delete' },
|
|
34
|
+
squidDocIdObj: DocIdSchema,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const ValueUpdateProperties = {
|
|
38
|
+
type: { type: 'string', const: 'update' },
|
|
39
|
+
value: Anything,
|
|
40
|
+
};
|
|
41
|
+
const PropertyMutationSchema = {
|
|
42
|
+
oneOf: [
|
|
43
|
+
{
|
|
44
|
+
type: 'object',
|
|
45
|
+
required: ['type', 'fn', 'value'],
|
|
46
|
+
properties: {
|
|
47
|
+
type: { type: 'string', const: 'applyNumericFn' },
|
|
48
|
+
fn: { type: 'string', const: 'increment' },
|
|
49
|
+
value: { type: 'number' },
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
type: 'object',
|
|
54
|
+
required: ['type'],
|
|
55
|
+
properties: {
|
|
56
|
+
type: { type: 'string', const: 'removeProperty' },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: 'object',
|
|
61
|
+
required: ['type', 'value'],
|
|
62
|
+
properties: ValueUpdateProperties,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: 'object',
|
|
66
|
+
required: ['type', 'fn', 'value'],
|
|
67
|
+
properties: {
|
|
68
|
+
type: { type: 'string', const: 'applyStringFn' },
|
|
69
|
+
fn: { type: 'string', const: 'extendString' },
|
|
70
|
+
value: AnyString,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: 'object',
|
|
75
|
+
required: ['type', 'fn'],
|
|
76
|
+
properties: {
|
|
77
|
+
type: { type: 'string', const: 'applyStringFn' },
|
|
78
|
+
fn: { type: 'string', const: 'trim' },
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
const UpdateSchema = {
|
|
84
|
+
type: 'object',
|
|
85
|
+
required: [],
|
|
86
|
+
properties: {
|
|
87
|
+
type: { type: 'string', const: 'update' },
|
|
88
|
+
squidDocIdObj: DocIdSchema,
|
|
89
|
+
properties: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
patternProperties: {
|
|
92
|
+
'[0-9a-zA-Z\\$_\\-\\.]+': {
|
|
93
|
+
type: 'array',
|
|
94
|
+
minItems: 1,
|
|
95
|
+
items: PropertyMutationSchema,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
const MutationSchema = {
|
|
102
|
+
oneOf: [InsertSchema, DeleteSchema, UpdateSchema],
|
|
103
|
+
};
|
|
104
|
+
exports.MutationRequestSchema = {
|
|
105
|
+
type: 'object',
|
|
106
|
+
required: ['clientId', 'integrationId', 'mutations'],
|
|
107
|
+
properties: {
|
|
108
|
+
clientId: AnyString,
|
|
109
|
+
integrationId: AnyString,
|
|
110
|
+
mutations: {
|
|
111
|
+
type: 'array',
|
|
112
|
+
items: MutationSchema,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=mutation.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.schemas.js","sourceRoot":"","sources":["../../../../common/src/mutation.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ClientId, IntegrationId } from './communication.types';
|
|
2
|
+
import { DocTimestamp, FieldName, SquidDocId, SquidDocIdObj, SquidDocument } from './document.types';
|
|
3
|
+
export interface MutateRequest<T = any> {
|
|
4
|
+
clientId: ClientId;
|
|
5
|
+
integrationId: IntegrationId;
|
|
6
|
+
mutations: Array<Mutation<T>>;
|
|
7
|
+
}
|
|
8
|
+
export interface ExecuteMutationsResponse {
|
|
9
|
+
timestamp: DocTimestamp;
|
|
10
|
+
idResolutionMap?: IdResolutionMap;
|
|
11
|
+
afterDocs: Record<SquidDocId, SquidDocument>;
|
|
12
|
+
}
|
|
13
|
+
export interface MutateResponse extends Omit<ExecuteMutationsResponse, 'afterDocs'> {
|
|
14
|
+
refreshList: Array<SquidDocId>;
|
|
15
|
+
}
|
|
16
|
+
export type IdResolutionMap = Record<SquidDocId, SquidDocId>;
|
|
17
|
+
export type Mutation<T = any> = UpdateMutation<T> | InsertMutation<T> | DeleteMutation;
|
|
18
|
+
export type MutationType = 'insert' | 'update' | 'delete';
|
|
19
|
+
interface BaseMutation {
|
|
20
|
+
type: MutationType;
|
|
21
|
+
squidDocIdObj: SquidDocIdObj;
|
|
22
|
+
}
|
|
23
|
+
export interface DeleteMutation extends BaseMutation {
|
|
24
|
+
type: 'delete';
|
|
25
|
+
}
|
|
26
|
+
export interface UpdateMutation<T = any> extends BaseMutation {
|
|
27
|
+
type: 'update';
|
|
28
|
+
properties: {
|
|
29
|
+
[key in keyof T & string]?: Array<PropertyMutation<T[key]>>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface InsertMutation<T = any> extends BaseMutation {
|
|
33
|
+
type: 'insert';
|
|
34
|
+
properties: T;
|
|
35
|
+
}
|
|
36
|
+
export type PropertyMutation<Value = any> = ApplyNumericFnPropertyMutation | ApplyStringFnPropertyMutation | ValueUpdatePropertyMutation<Value> | RemovePropertyMutation;
|
|
37
|
+
export interface ValueUpdatePropertyMutation<Value = any> {
|
|
38
|
+
type: 'update';
|
|
39
|
+
value: Value;
|
|
40
|
+
}
|
|
41
|
+
export interface ApplyNumericFnPropertyMutation {
|
|
42
|
+
type: 'applyNumericFn';
|
|
43
|
+
fn: 'increment';
|
|
44
|
+
value: number;
|
|
45
|
+
}
|
|
46
|
+
export interface RemovePropertyMutation {
|
|
47
|
+
type: 'removeProperty';
|
|
48
|
+
}
|
|
49
|
+
interface ApplyExtendString {
|
|
50
|
+
type: 'applyStringFn';
|
|
51
|
+
fn: 'extendString';
|
|
52
|
+
value: string;
|
|
53
|
+
}
|
|
54
|
+
interface ApplyTrimString {
|
|
55
|
+
type: 'applyStringFn';
|
|
56
|
+
fn: 'trim';
|
|
57
|
+
}
|
|
58
|
+
export type ApplyStringFnPropertyMutation = ApplyExtendString | ApplyTrimString;
|
|
59
|
+
export declare function sortUpdateMutationProperties(updateMutation: UpdateMutation): Array<[FieldName, Array<PropertyMutation>]>;
|
|
60
|
+
export declare function mergeMutations(mutationA: Mutation, mutationB: Mutation): Mutation;
|
|
61
|
+
export declare function applyUpdateMutation<T extends SquidDocument>(doc: T, updateMutation: UpdateMutation<T>): T | undefined;
|
|
62
|
+
export declare function convertInsertToUpdate(insertMutation: InsertMutation): UpdateMutation;
|
|
63
|
+
export declare function reduceMutations(mutations: Array<Mutation<unknown>>): Array<Mutation<unknown>>;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reduceMutations = exports.convertInsertToUpdate = exports.applyUpdateMutation = exports.mergeMutations = exports.sortUpdateMutationProperties = void 0;
|
|
4
|
+
const _ = require("lodash");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const assert_1 = require("./utils/assert");
|
|
7
|
+
const object_1 = require("./utils/object");
|
|
8
|
+
function applyStringFn(initialValue, propertyMutation) {
|
|
9
|
+
switch (propertyMutation.fn) {
|
|
10
|
+
case 'trim':
|
|
11
|
+
if (typeof initialValue !== 'string')
|
|
12
|
+
return initialValue;
|
|
13
|
+
return initialValue.trim();
|
|
14
|
+
case 'extendString':
|
|
15
|
+
if (initialValue === null || initialValue === undefined)
|
|
16
|
+
return propertyMutation.value;
|
|
17
|
+
return initialValue + propertyMutation.value;
|
|
18
|
+
default:
|
|
19
|
+
throw new Error('Unknown string function: ' + JSON.stringify(propertyMutation));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function applyNumericFn(initialValue, propertyMutation) {
|
|
23
|
+
switch (propertyMutation.fn) {
|
|
24
|
+
case 'increment':
|
|
25
|
+
if (initialValue === null || initialValue === undefined)
|
|
26
|
+
return propertyMutation.value;
|
|
27
|
+
return initialValue + propertyMutation.value;
|
|
28
|
+
default:
|
|
29
|
+
throw new Error('Unknown numeric function: ' + JSON.stringify(propertyMutation));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function applyPropertyMutation(property, propertyMutation) {
|
|
33
|
+
switch (propertyMutation.type) {
|
|
34
|
+
case 'applyNumericFn':
|
|
35
|
+
return applyNumericFn(property, propertyMutation);
|
|
36
|
+
case 'applyStringFn':
|
|
37
|
+
return applyStringFn(property, propertyMutation);
|
|
38
|
+
case 'update':
|
|
39
|
+
return typeof propertyMutation.value === 'object' ? _.cloneDeep(propertyMutation.value) : propertyMutation.value;
|
|
40
|
+
case 'removeProperty':
|
|
41
|
+
return undefined;
|
|
42
|
+
default:
|
|
43
|
+
throw new Error('Unknown property mutation type: ' + JSON.stringify(propertyMutation));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function sortUpdateMutationProperties(updateMutation) {
|
|
47
|
+
return Object.entries(updateMutation.properties).sort(([propA], [propB]) => {
|
|
48
|
+
const propADots = propA.split('.').length;
|
|
49
|
+
const propBDots = propB.split('.').length;
|
|
50
|
+
return propADots - propBDots;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
exports.sortUpdateMutationProperties = sortUpdateMutationProperties;
|
|
54
|
+
function mergeMutations(mutationA, mutationB) {
|
|
55
|
+
if (mutationB.type === 'insert')
|
|
56
|
+
return mutationB;
|
|
57
|
+
if (mutationB.type === 'delete')
|
|
58
|
+
return mutationB;
|
|
59
|
+
if (mutationA.type === 'delete')
|
|
60
|
+
throw new Error('Cannot delete and then update');
|
|
61
|
+
(0, assert_1.assertTruthy)(mutationB.type === 'update', 'Invalid mutation type');
|
|
62
|
+
if (mutationA.type === 'update')
|
|
63
|
+
return mergeUpdateMutations(mutationA, mutationB);
|
|
64
|
+
const result = _.cloneDeep(mutationA);
|
|
65
|
+
for (const [fieldName, propertyMutationsAr] of sortUpdateMutationProperties(mutationB)) {
|
|
66
|
+
const propertyMutations = propertyMutationsAr;
|
|
67
|
+
for (const propertyMutation of propertyMutations) {
|
|
68
|
+
const value = applyPropertyMutation((0, object_1.getInPath)(result.properties, fieldName), propertyMutation);
|
|
69
|
+
if (value === undefined) {
|
|
70
|
+
(0, object_1.deleteInPath)(result.properties, fieldName);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
(0, object_1.setInPath)(result.properties, fieldName, value);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
exports.mergeMutations = mergeMutations;
|
|
80
|
+
function mergeUpdateMutations(mutationA, mutationB) {
|
|
81
|
+
const result = _.cloneDeep(mutationA);
|
|
82
|
+
mutationB = _.cloneDeep(mutationB);
|
|
83
|
+
for (const [aPropName] of sortUpdateMutationProperties(result)) {
|
|
84
|
+
const aPropNameDots = aPropName.split('.').length;
|
|
85
|
+
const isOverriddenByMutationB = Object.entries(mutationB.properties).some(([bPropName]) => {
|
|
86
|
+
return aPropName.startsWith(bPropName + '.') && aPropNameDots > bPropName.split('.').length;
|
|
87
|
+
});
|
|
88
|
+
if (isOverriddenByMutationB) {
|
|
89
|
+
delete result.properties[aPropName];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
for (const [bPropName, bPropValues] of sortUpdateMutationProperties(mutationB)) {
|
|
93
|
+
result.properties[bPropName] = [...(result.properties[bPropName] || []), ...bPropValues];
|
|
94
|
+
}
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
function applyUpdateMutation(doc, updateMutation) {
|
|
98
|
+
if (!doc)
|
|
99
|
+
return undefined;
|
|
100
|
+
const result = Object.assign({}, doc);
|
|
101
|
+
const entries = sortUpdateMutationProperties(updateMutation);
|
|
102
|
+
for (const [fieldName, propertyMutationsAr] of entries) {
|
|
103
|
+
const propertyMutations = propertyMutationsAr;
|
|
104
|
+
for (const propertyMutation of propertyMutations) {
|
|
105
|
+
const value = applyPropertyMutation((0, object_1.getInPath)(result, fieldName), propertyMutation);
|
|
106
|
+
if (value === undefined) {
|
|
107
|
+
(0, object_1.deleteInPath)(result, fieldName);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
(0, object_1.setInPath)(result, fieldName, value);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
exports.applyUpdateMutation = applyUpdateMutation;
|
|
117
|
+
function convertInsertToUpdate(insertMutation) {
|
|
118
|
+
const result = {
|
|
119
|
+
type: 'update',
|
|
120
|
+
squidDocIdObj: insertMutation.squidDocIdObj,
|
|
121
|
+
properties: {},
|
|
122
|
+
};
|
|
123
|
+
for (const [key, value] of Object.entries(insertMutation.properties)) {
|
|
124
|
+
result.properties[key] = [{ type: 'update', value }];
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
exports.convertInsertToUpdate = convertInsertToUpdate;
|
|
129
|
+
function reduceMutations(mutations) {
|
|
130
|
+
let result = [];
|
|
131
|
+
(0, rxjs_1.from)(mutations)
|
|
132
|
+
.pipe((0, rxjs_1.groupBy)((mutation) => {
|
|
133
|
+
return `${mutation.squidDocIdObj.integrationId}${mutation.squidDocIdObj.collectionName}/${mutation.squidDocIdObj.docId}`;
|
|
134
|
+
}), (0, rxjs_1.mergeMap)((mutationsGroup) => mutationsGroup.pipe((0, rxjs_1.reduce)((mutationA, mutationB) => {
|
|
135
|
+
return mergeMutations(mutationA, mutationB);
|
|
136
|
+
}))), (0, rxjs_1.toArray)())
|
|
137
|
+
.subscribe((value) => {
|
|
138
|
+
result = value;
|
|
139
|
+
});
|
|
140
|
+
return result;
|
|
141
|
+
}
|
|
142
|
+
exports.reduceMutations = reduceMutations;
|
|
143
|
+
//# sourceMappingURL=mutation.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.types.js","sourceRoot":"","sources":["../../../../common/src/mutation.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NamedQueryContext = void 0;
|
|
4
|
+
class NamedQueryContext {
|
|
5
|
+
constructor(params) {
|
|
6
|
+
this.params = params;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.NamedQueryContext = NamedQueryContext;
|
|
10
|
+
//# sourceMappingURL=named-query.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-query.context.js","sourceRoot":"","sources":["../../../../common/src/named-query.context.ts"],"names":[],"mappings":";;;AACA,MAAa,iBAAiB;IAE5B,YAAqB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;CACrD;AAHD,8CAGC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecuteNamedQueryRequestSchema = void 0;
|
|
4
|
+
exports.ExecuteNamedQueryRequestSchema = {
|
|
5
|
+
type: 'object',
|
|
6
|
+
required: ['integrationId', 'queryName', 'paramsRecordStr', 'clientRequestId', 'clientId'],
|
|
7
|
+
properties: {
|
|
8
|
+
integrationId: { type: 'string', nullable: false },
|
|
9
|
+
queryName: { type: 'string', nullable: false },
|
|
10
|
+
paramsRecordStr: { type: 'string', nullable: false },
|
|
11
|
+
clientRequestId: { type: 'string', nullable: false },
|
|
12
|
+
clientId: { type: 'string', nullable: false },
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=named-query.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-query.schemas.js","sourceRoot":"","sources":["../../../../common/src/named-query.schemas.ts"],"names":[],"mappings":";;;AAIa,QAAA,8BAA8B,GAA6C;IACtF,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,CAAC;IAC1F,UAAU,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9C,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC9C;CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ClientId, ClientRequestId, IntegrationId } from './communication.types';
|
|
2
|
+
import { QueryName } from './application.types';
|
|
3
|
+
export interface ExecuteNamedQueryRequest {
|
|
4
|
+
integrationId: IntegrationId;
|
|
5
|
+
queryName: QueryName;
|
|
6
|
+
paramsRecordStr: string;
|
|
7
|
+
clientRequestId: ClientRequestId;
|
|
8
|
+
clientId: ClientId;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-query.types.js","sourceRoot":"","sources":["../../../../common/src/named-query.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
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 __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("./query-context"), exports);
|
|
18
|
+
__exportStar(require("./simple-query-builder"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../common/src/query/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IntegrationId } from '../communication.types';
|
|
2
|
+
import { CollectionName, FieldName } from '../document.types';
|
|
3
|
+
import { AllOperators, ContextCondition, ContextConditions, FieldSort, GeneralCondition, GeneralConditions, GenericValue, Query } from '../query.types';
|
|
4
|
+
import { PartialBy, Paths } from '../types';
|
|
5
|
+
export declare class QueryContext<T = any> {
|
|
6
|
+
readonly query: Query<T>;
|
|
7
|
+
private readonly parsedConditions;
|
|
8
|
+
constructor(query: Query<T>);
|
|
9
|
+
get integrationId(): IntegrationId;
|
|
10
|
+
get collectionName(): CollectionName;
|
|
11
|
+
get limit(): number;
|
|
12
|
+
sortedBy(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
|
|
13
|
+
sortedByExact(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
|
|
14
|
+
includes<F extends FieldName<T>, O extends AllOperators>(fieldName: F, operator: O, value: GenericValue<T, F, O>): boolean;
|
|
15
|
+
includesCondition(condition: ContextCondition<T>): boolean;
|
|
16
|
+
includesConditions(conditions: GeneralConditions<T>): boolean;
|
|
17
|
+
matchesConditions(conditions: GeneralConditions<T>): boolean;
|
|
18
|
+
matchesQuery(query: Query<T>): boolean;
|
|
19
|
+
isSubsetOf<F extends FieldName<T>, O extends AllOperators>(fieldName: F, operator: O, value: GenericValue<T, F, O> | null): boolean;
|
|
20
|
+
isSubsetOfCondition(condition: GeneralCondition<T>): boolean;
|
|
21
|
+
isSubsetOfConditions(conditions: GeneralConditions<T>): boolean;
|
|
22
|
+
isSubsetOfQuery(query: Query<T>): boolean;
|
|
23
|
+
getConditionsFor<K extends FieldName<T>>(...fieldNames: K[]): ContextConditions<T, K>;
|
|
24
|
+
getConditionsForField<K extends Paths<T>>(fieldName: K): ContextConditions<T>;
|
|
25
|
+
private evaluateSubset;
|
|
26
|
+
private evaluateIncludes;
|
|
27
|
+
private parseConditions;
|
|
28
|
+
}
|