@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,108 @@
|
|
|
1
|
+
import { ClientId, ClientRequestId, IntegrationId } from './communication.types';
|
|
2
|
+
import { AuthToken } from './context.types';
|
|
3
|
+
import { CollectionName, DocTimestamp, SquidDocId, SquidDocument } from './document.types';
|
|
4
|
+
import { MutationType } from './mutation.types';
|
|
5
|
+
export type MessageId = string;
|
|
6
|
+
export type MessageFromClientType = 'acknowledge' | 'catchup' | 'kill' | 'acquireLock' | 'releaseLock';
|
|
7
|
+
interface BaseMessageFromClient {
|
|
8
|
+
type: MessageFromClientType;
|
|
9
|
+
authToken?: AuthToken;
|
|
10
|
+
payload?: unknown;
|
|
11
|
+
}
|
|
12
|
+
export interface AcknowledgeMessage extends BaseMessageFromClient {
|
|
13
|
+
type: 'acknowledge';
|
|
14
|
+
payload: Array<MessageId>;
|
|
15
|
+
}
|
|
16
|
+
export interface CatchupMessage extends BaseMessageFromClient {
|
|
17
|
+
type: 'catchup';
|
|
18
|
+
}
|
|
19
|
+
export interface KillMessage extends BaseMessageFromClient {
|
|
20
|
+
type: 'kill';
|
|
21
|
+
}
|
|
22
|
+
export interface AcquireLockMessage extends BaseMessageFromClient {
|
|
23
|
+
type: 'acquireLock';
|
|
24
|
+
payload: {
|
|
25
|
+
mutex: string;
|
|
26
|
+
exclusive: boolean;
|
|
27
|
+
clientRequestId: ClientRequestId;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface ReleaseLockMessage extends BaseMessageFromClient {
|
|
31
|
+
type: 'releaseLock';
|
|
32
|
+
payload: {
|
|
33
|
+
lockId: string;
|
|
34
|
+
clientRequestId: ClientRequestId;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export type MessageFromClient = AcknowledgeMessage | CatchupMessage | KillMessage | AcquireLockMessage | ReleaseLockMessage;
|
|
38
|
+
export type MessageToClientType = 'mutations' | 'query' | 'backendFunction' | 'api' | 'namedQuery' | 'lockAcquired' | 'lockReleased' | 'aiAssistant';
|
|
39
|
+
interface BaseMessageToClient {
|
|
40
|
+
type: MessageToClientType;
|
|
41
|
+
messageId: MessageId;
|
|
42
|
+
payload: unknown;
|
|
43
|
+
}
|
|
44
|
+
export interface BackendFunctionMessageToClient extends BaseMessageToClient {
|
|
45
|
+
type: 'backendFunction';
|
|
46
|
+
clientRequestId: ClientRequestId;
|
|
47
|
+
payload: string;
|
|
48
|
+
}
|
|
49
|
+
export interface NamedQueryMessageToClient extends BaseMessageToClient {
|
|
50
|
+
type: 'namedQuery';
|
|
51
|
+
clientRequestId: ClientRequestId;
|
|
52
|
+
payload: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ApiResponseMessageToClient extends BaseMessageToClient {
|
|
55
|
+
type: 'api';
|
|
56
|
+
clientRequestId: ClientRequestId;
|
|
57
|
+
success: boolean;
|
|
58
|
+
httpStatus: number;
|
|
59
|
+
payload: string;
|
|
60
|
+
}
|
|
61
|
+
export interface LockAcquiredResponseMessageToClient extends BaseMessageToClient {
|
|
62
|
+
type: 'lockAcquired';
|
|
63
|
+
payload: {
|
|
64
|
+
clientRequestId: ClientRequestId;
|
|
65
|
+
lockId: string | undefined;
|
|
66
|
+
error?: string;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface LockReleasedResponseMessageToClient extends BaseMessageToClient {
|
|
70
|
+
type: 'lockReleased';
|
|
71
|
+
payload: {
|
|
72
|
+
clientRequestId: ClientRequestId;
|
|
73
|
+
lockId: string;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export interface AiAssistantMessageToClient extends BaseMessageToClient {
|
|
77
|
+
type: 'aiAssistant';
|
|
78
|
+
clientRequestId: ClientRequestId;
|
|
79
|
+
payload: {
|
|
80
|
+
token: string;
|
|
81
|
+
complete: boolean;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export type MessageToClient = MutationsMessageToClient | QueryResultMessageToClient | BackendFunctionMessageToClient | NamedQueryMessageToClient | ApiResponseMessageToClient | LockAcquiredResponseMessageToClient | LockReleasedResponseMessageToClient | AiAssistantMessageToClient;
|
|
85
|
+
export interface MutationsMessageToClient extends BaseMessageToClient {
|
|
86
|
+
type: 'mutations';
|
|
87
|
+
payload: Array<MutationResultData>;
|
|
88
|
+
}
|
|
89
|
+
export interface MutationResultData {
|
|
90
|
+
squidDocId: SquidDocId;
|
|
91
|
+
clientRequestId: ClientRequestId;
|
|
92
|
+
mutationType: MutationType;
|
|
93
|
+
mutationTimestamp: DocTimestamp;
|
|
94
|
+
doc: SquidDocument | undefined;
|
|
95
|
+
}
|
|
96
|
+
export interface QueryResultData {
|
|
97
|
+
docs: Array<SquidDocument>;
|
|
98
|
+
integrationId: IntegrationId;
|
|
99
|
+
collectionName: CollectionName;
|
|
100
|
+
clientRequestId: ClientRequestId;
|
|
101
|
+
}
|
|
102
|
+
export interface QueryResultMessageToClient extends BaseMessageToClient {
|
|
103
|
+
type: 'query';
|
|
104
|
+
payload: QueryResultData;
|
|
105
|
+
}
|
|
106
|
+
export type PendingMessage = Omit<MessageToClient, 'messageId'>;
|
|
107
|
+
export type PendingMessages = Record<ClientId, Array<PendingMessage>>;
|
|
108
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.types.js","sourceRoot":"","sources":["../../../../common/src/socket.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SECONDS_PER_MONTH = exports.SECONDS_PER_WEEK = exports.SECONDS_PER_DAY = exports.SECONDS_PER_HOUR = exports.SECONDS_PER_MINUTE = void 0;
|
|
4
|
+
exports.SECONDS_PER_MINUTE = 60;
|
|
5
|
+
exports.SECONDS_PER_HOUR = 60 * exports.SECONDS_PER_MINUTE;
|
|
6
|
+
exports.SECONDS_PER_DAY = 24 * exports.SECONDS_PER_HOUR;
|
|
7
|
+
exports.SECONDS_PER_WEEK = 7 * exports.SECONDS_PER_DAY;
|
|
8
|
+
exports.SECONDS_PER_MONTH = 30 * exports.SECONDS_PER_DAY;
|
|
9
|
+
//# sourceMappingURL=time-units.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-units.js","sourceRoot":"","sources":["../../../../common/src/time-units.ts"],"names":[],"mappings":";;;AACa,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAExB,QAAA,gBAAgB,GAAG,EAAE,GAAG,0BAAkB,CAAC;AAE3C,QAAA,eAAe,GAAG,EAAE,GAAG,wBAAgB,CAAC;AAExC,QAAA,gBAAgB,GAAG,CAAC,GAAG,uBAAe,CAAC;AAEvC,QAAA,iBAAiB,GAAG,EAAE,GAAG,uBAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ServiceFunctionName } from './bundle-data.types';
|
|
2
|
+
import { AppId } from './communication.types';
|
|
3
|
+
import { SquidDocId, SquidDocument } from './document.types';
|
|
4
|
+
import { MutationType } from './mutation.types';
|
|
5
|
+
export interface DocTriggerParams {
|
|
6
|
+
squidDocId: SquidDocId;
|
|
7
|
+
mutationType: MutationType;
|
|
8
|
+
docBefore?: SquidDocument;
|
|
9
|
+
docAfter?: SquidDocument;
|
|
10
|
+
}
|
|
11
|
+
export interface TriggerMessage {
|
|
12
|
+
params: DocTriggerParams;
|
|
13
|
+
functionName: ServiceFunctionName;
|
|
14
|
+
appId: AppId;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger.types.js","sourceRoot":"","sources":["../../../../common/src/trigger.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Type<T> extends Function {
|
|
2
|
+
new (...args: any[]): T;
|
|
3
|
+
}
|
|
4
|
+
export type Replace<TypeToBeChecked, KeyToBeReplaced extends keyof TypeToBeChecked, NewValueToUse> = Omit<TypeToBeChecked, KeyToBeReplaced> & {
|
|
5
|
+
[P in KeyToBeReplaced]: NewValueToUse;
|
|
6
|
+
};
|
|
7
|
+
export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
8
|
+
export type WithRequired<T, K extends keyof T> = T & {
|
|
9
|
+
[P in K]-?: T[P];
|
|
10
|
+
};
|
|
11
|
+
type Pred = [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
12
|
+
export type Paths<T, RemainingDepth extends number & keyof Pred = 5, Prefix extends string = ''> = RemainingDepth extends 0 ? `${Prefix}${string}` : {
|
|
13
|
+
[k in keyof T]-?: k extends string | number ? `${Prefix}${k}` | (Required<T>[k] extends any[] ? never : Required<T>[k] extends object ? Paths<Required<T>[k], Pred[RemainingDepth], `${Prefix}${k}.`> : never) : never;
|
|
14
|
+
}[keyof T];
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../common/src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function binarySearch<T>(arr: T[], key: T, comparator?: (a: T, b: T) => number, low?: number, high?: number): number;
|
|
2
|
+
export declare function insertSorted<T>(arr: T[], key: T, comparator?: (a: T, b: T) => number): void;
|
|
3
|
+
export declare function removeSorted<T>(arr: T[], key: T, comparator?: (a: T, b: T) => number): void;
|
|
4
|
+
export interface Grouped<T> {
|
|
5
|
+
[key: string]: T[];
|
|
6
|
+
}
|
|
7
|
+
export declare function asyncGroupBy<T>(arr: T[], groupNamer: (element: T) => Promise<string>): Promise<Grouped<T>>;
|
|
8
|
+
export declare const arrayMergeCustomizer: (a: any, b: any) => Array<any> | undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrayMergeCustomizer = exports.asyncGroupBy = exports.removeSorted = exports.insertSorted = exports.binarySearch = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
function binarySearch(arr, key, comparator = (a, b) => (a > b ? 1 : a < b ? -1 : 0), low = 0, high = arr.length - 1) {
|
|
6
|
+
if (high < low)
|
|
7
|
+
return -1;
|
|
8
|
+
const mid = Math.trunc((low + high) / 2);
|
|
9
|
+
if (comparator(key, arr[mid]) === 0)
|
|
10
|
+
return mid;
|
|
11
|
+
if (comparator(key, arr[mid]) > 0)
|
|
12
|
+
return binarySearch(arr, key, comparator, mid + 1, high);
|
|
13
|
+
return binarySearch(arr, key, comparator, low, mid - 1);
|
|
14
|
+
}
|
|
15
|
+
exports.binarySearch = binarySearch;
|
|
16
|
+
function insertSorted(arr, key, comparator = (a, b) => (a > b ? 1 : a < b ? -1 : 0)) {
|
|
17
|
+
const len = arr.length;
|
|
18
|
+
let i;
|
|
19
|
+
for (i = len - 1; i >= 0 && comparator(arr[i], key) > 0; i--)
|
|
20
|
+
arr[i + 1] = arr[i];
|
|
21
|
+
arr[i + 1] = key;
|
|
22
|
+
}
|
|
23
|
+
exports.insertSorted = insertSorted;
|
|
24
|
+
function removeSorted(arr, key, comparator = (a, b) => (a > b ? 1 : a < b ? -1 : 0)) {
|
|
25
|
+
const index = binarySearch(arr, key, comparator);
|
|
26
|
+
if (index > -1) {
|
|
27
|
+
arr.splice(index, 1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.removeSorted = removeSorted;
|
|
31
|
+
async function asyncGroupBy(arr, groupNamer) {
|
|
32
|
+
const groups = {};
|
|
33
|
+
for (const element of arr) {
|
|
34
|
+
const key = await groupNamer(element);
|
|
35
|
+
if (!groups[key]) {
|
|
36
|
+
groups[key] = [];
|
|
37
|
+
}
|
|
38
|
+
groups[key].push(element);
|
|
39
|
+
}
|
|
40
|
+
return groups;
|
|
41
|
+
}
|
|
42
|
+
exports.asyncGroupBy = asyncGroupBy;
|
|
43
|
+
const arrayMergeCustomizer = (a, b) => {
|
|
44
|
+
if ((0, lodash_1.isArray)(a)) {
|
|
45
|
+
return a.concat(b);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.arrayMergeCustomizer = arrayMergeCustomizer;
|
|
52
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../common/src/utils/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StatusCode } from './validation';
|
|
2
|
+
export type AssertErrorProvider = () => Error | string;
|
|
3
|
+
export declare function assertTruthy(value: unknown, error?: string | Error | AssertErrorProvider): asserts value;
|
|
4
|
+
export declare function assertNotNullish(value: unknown, error?: string | Error | AssertErrorProvider): asserts value;
|
|
5
|
+
export declare function assertValidateTruthy(value: unknown, message: string, statusCode?: StatusCode, details?: Record<string, any>): asserts value;
|
|
6
|
+
export declare function truthy<T>(value: T, error?: string | Error | AssertErrorProvider): NonNullable<T>;
|
|
7
|
+
export declare function notNullish<T>(value: T, error?: string | Error | AssertErrorProvider): NonNullable<T>;
|
|
8
|
+
export declare function validateTruthy<T>(value: T, message: string, statusCode?: StatusCode, details?: Record<string, any>): NonNullable<T>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateTruthy = exports.notNullish = exports.truthy = exports.assertValidateTruthy = exports.assertNotNullish = exports.assertTruthy = void 0;
|
|
4
|
+
const http_status_enum_1 = require("../http-status.enum");
|
|
5
|
+
const nullish_1 = require("./nullish");
|
|
6
|
+
const validation_1 = require("./validation");
|
|
7
|
+
function assertTruthy(value, error) {
|
|
8
|
+
if (value) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const messageOrObject = typeof error === 'function' ? error() : error;
|
|
12
|
+
if (messageOrObject instanceof Error) {
|
|
13
|
+
throw messageOrObject;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw new Error(messageOrObject !== null && messageOrObject !== void 0 ? messageOrObject : 'Assertion error');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.assertTruthy = assertTruthy;
|
|
20
|
+
function assertNotNullish(value, error) {
|
|
21
|
+
if ((0, nullish_1.isNotNullish)(value))
|
|
22
|
+
return;
|
|
23
|
+
const messageOrObject = typeof error === 'function' ? error() : error;
|
|
24
|
+
if (messageOrObject instanceof Error) {
|
|
25
|
+
throw messageOrObject;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new Error(messageOrObject !== null && messageOrObject !== void 0 ? messageOrObject : 'Assertion error');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.assertNotNullish = assertNotNullish;
|
|
32
|
+
function assertValidateTruthy(value, message, statusCode = http_status_enum_1.HttpStatus.BAD_REQUEST, details) {
|
|
33
|
+
assertTruthy(value, () => new validation_1.ValidationError(message, statusCode, details));
|
|
34
|
+
}
|
|
35
|
+
exports.assertValidateTruthy = assertValidateTruthy;
|
|
36
|
+
function truthy(value, error) {
|
|
37
|
+
assertTruthy(value, error);
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
exports.truthy = truthy;
|
|
41
|
+
function notNullish(value, error) {
|
|
42
|
+
assertNotNullish(value, error);
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
exports.notNullish = notNullish;
|
|
46
|
+
function validateTruthy(value, message, statusCode = http_status_enum_1.HttpStatus.BAD_REQUEST, details) {
|
|
47
|
+
return truthy(value, () => new validation_1.ValidationError(message, statusCode, details));
|
|
48
|
+
}
|
|
49
|
+
exports.validateTruthy = validateTruthy;
|
|
50
|
+
//# sourceMappingURL=assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../../../common/src/utils/assert.ts"],"names":[],"mappings":";;;AAAA,0DAAiD;AACjD,uCAAyC;AACzC,6CAA2D;AAM3D,SAAgB,YAAY,CAAC,KAAc,EAAE,KAA4C;IACvF,IAAI,KAAK,EAAE;QACT,OAAO;KACR;IACD,MAAM,eAAe,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,eAAe,YAAY,KAAK,EAAE;QACpC,MAAM,eAAe,CAAC;KACvB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,iBAAiB,CAAC,CAAC;KACvD;AACH,CAAC;AAVD,oCAUC;AAGD,SAAgB,gBAAgB,CAAC,KAAc,EAAE,KAA4C;IAC3F,IAAI,IAAA,sBAAY,EAAC,KAAK,CAAC;QAAE,OAAO;IAEhC,MAAM,eAAe,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,eAAe,YAAY,KAAK,EAAE;QACpC,MAAM,eAAe,CAAC;KACvB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,iBAAiB,CAAC,CAAC;KACvD;AACH,CAAC;AATD,4CASC;AAGD,SAAgB,oBAAoB,CAClC,KAAc,EACd,OAAe,EACf,aAAyB,6BAAU,CAAC,WAAW,EAC/C,OAA6B;IAE7B,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAPD,oDAOC;AAGD,SAAgB,MAAM,CAAI,KAAQ,EAAE,KAA4C;IAC9E,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,KAAuB,CAAC;AACjC,CAAC;AAHD,wBAGC;AAGD,SAAgB,UAAU,CAAI,KAAQ,EAAE,KAA4C;IAClF,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,KAAuB,CAAC;AACjC,CAAC;AAHD,gCAGC;AAGD,SAAgB,cAAc,CAC5B,KAAQ,EACR,OAAe,EACf,aAAyB,6BAAU,CAAC,WAAW,EAC/C,OAA6B;IAE7B,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAPD,wCAOC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeExecutionError = void 0;
|
|
4
|
+
class CodeExecutionError extends Error {
|
|
5
|
+
constructor(error, details) {
|
|
6
|
+
super(error);
|
|
7
|
+
this.details = details;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.CodeExecutionError = CodeExecutionError;
|
|
11
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../common/src/utils/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,KAAa,EAAW,OAAgB;QAClD,KAAK,CAAC,KAAK,CAAC,CAAC;QADqB,YAAO,GAAP,OAAO,CAAS;IAEpD,CAAC;CACF;AAJD,gDAIC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getApplicationHttpHeaders = exports.getApplicationUrl = void 0;
|
|
4
|
+
function getApplicationUrl(regionPrefix, appId) {
|
|
5
|
+
const baseUrl = 'https://squid.cloud';
|
|
6
|
+
const parsedBaseUrl = new URL(baseUrl);
|
|
7
|
+
parsedBaseUrl.host = `${appId}.${regionPrefix}.${parsedBaseUrl.host}`;
|
|
8
|
+
if (isLocal(regionPrefix)) {
|
|
9
|
+
parsedBaseUrl.protocol = 'http';
|
|
10
|
+
parsedBaseUrl.port = '8000';
|
|
11
|
+
if (isAndroid(regionPrefix)) {
|
|
12
|
+
parsedBaseUrl.host = '10.0.2.2';
|
|
13
|
+
}
|
|
14
|
+
else if (isIOS(regionPrefix)) {
|
|
15
|
+
parsedBaseUrl.host = 'localhost';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const url = parsedBaseUrl.toString();
|
|
19
|
+
return url.endsWith('/') ? url : url + '/';
|
|
20
|
+
}
|
|
21
|
+
exports.getApplicationUrl = getApplicationUrl;
|
|
22
|
+
function getApplicationHttpHeaders(regionPrefix, appId) {
|
|
23
|
+
const headers = {};
|
|
24
|
+
if (isLocal(regionPrefix)) {
|
|
25
|
+
headers['x-squid-appid'] = appId;
|
|
26
|
+
}
|
|
27
|
+
return headers;
|
|
28
|
+
}
|
|
29
|
+
exports.getApplicationHttpHeaders = getApplicationHttpHeaders;
|
|
30
|
+
function isLocal(regionPrefix) {
|
|
31
|
+
return /^local/.test(regionPrefix);
|
|
32
|
+
}
|
|
33
|
+
function isAndroid(regionPrefix) {
|
|
34
|
+
return /android$/.test(regionPrefix);
|
|
35
|
+
}
|
|
36
|
+
function isIOS(regionPrefix) {
|
|
37
|
+
return /ios$/.test(regionPrefix);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../common/src/utils/http.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,YAAoB,EAAE,KAAa;IACnE,MAAM,OAAO,GAAG,qBAAqB,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,IAAI,GAAG,GAAG,KAAK,IAAI,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;IACtE,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;QACzB,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAC;QAChC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC;QAC5B,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;YAC3B,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;SACjC;aAAM,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;YAC9B,aAAa,CAAC,IAAI,GAAG,WAAW,CAAC;SAClC;KACF;IACD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AAC7C,CAAC;AAfD,8CAeC;AACD,SAAgB,yBAAyB,CAAC,YAAoB,EAAE,KAAa;IAC3E,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;QACzB,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;KAClC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAPD,8DAOC;AAED,SAAS,OAAO,CAAC,YAAoB;IACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,YAAoB;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateShortId = exports.generateId = void 0;
|
|
4
|
+
function generateId() {
|
|
5
|
+
let dt = new Date().getTime();
|
|
6
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
7
|
+
const r = (dt + Math.random() * 16) % 16 | 0;
|
|
8
|
+
dt = Math.floor(dt / 16);
|
|
9
|
+
return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
exports.generateId = generateId;
|
|
13
|
+
function generateShortId(length = 18) {
|
|
14
|
+
const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
15
|
+
let id = '';
|
|
16
|
+
for (let i = 0; i < length; i++) {
|
|
17
|
+
id += characters.charAt(Math.floor(Math.random() * characters.length));
|
|
18
|
+
}
|
|
19
|
+
return id;
|
|
20
|
+
}
|
|
21
|
+
exports.generateShortId = generateShortId;
|
|
22
|
+
//# sourceMappingURL=id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../common/src/utils/id.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU;IACxB,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9B,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,gCAOC;AAED,SAAgB,eAAe,CAAC,MAAM,GAAG,EAAE;IACzC,MAAM,UAAU,GAAG,sCAAsC,CAAC;IAC1D,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;KACxE;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAPD,0CAOC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type LockMutex = string;
|
|
2
|
+
export declare class LockManager {
|
|
3
|
+
private readonly locks;
|
|
4
|
+
lock(...mutexes: LockMutex[]): Promise<void>;
|
|
5
|
+
release(...mutexes: LockMutex[]): void;
|
|
6
|
+
canGetLock(...mutexes: LockMutex[]): boolean;
|
|
7
|
+
lockSync(...mutexes: LockMutex[]): void;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockManager = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const assert_1 = require("./assert");
|
|
6
|
+
class LockManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.locks = {};
|
|
9
|
+
}
|
|
10
|
+
async lock(...mutexes) {
|
|
11
|
+
if (this.canGetLock(...mutexes)) {
|
|
12
|
+
this.lockSync(...mutexes);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const relevantLocks = Object.entries(this.locks)
|
|
16
|
+
.filter(([mutex]) => mutexes.includes(mutex))
|
|
17
|
+
.map(([ignored, isLockedSubject]) => isLockedSubject);
|
|
18
|
+
await (0, rxjs_1.lastValueFrom)((0, rxjs_1.combineLatest)(relevantLocks).pipe((0, rxjs_1.filter)((isLockedArray) => !isLockedArray.includes(true)), (0, rxjs_1.take)(1)));
|
|
19
|
+
await this.lock(...mutexes);
|
|
20
|
+
}
|
|
21
|
+
release(...mutexes) {
|
|
22
|
+
for (const mutex of mutexes) {
|
|
23
|
+
const isLockedSubject = (0, assert_1.truthy)(this.locks[mutex]);
|
|
24
|
+
isLockedSubject.next(false);
|
|
25
|
+
isLockedSubject.complete();
|
|
26
|
+
delete this.locks[mutex];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
canGetLock(...mutexes) {
|
|
30
|
+
return !mutexes.some((mutex) => { var _a; return (_a = this.locks[mutex]) === null || _a === void 0 ? void 0 : _a.value; });
|
|
31
|
+
}
|
|
32
|
+
lockSync(...mutexes) {
|
|
33
|
+
(0, assert_1.assertTruthy)(this.canGetLock(...mutexes), 'Cannot acquire lock sync');
|
|
34
|
+
for (const mutex of mutexes) {
|
|
35
|
+
this.locks[mutex] = new rxjs_1.BehaviorSubject(true);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.LockManager = LockManager;
|
|
40
|
+
//# sourceMappingURL=lock.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.manager.js","sourceRoot":"","sources":["../../../../../common/src/utils/lock.manager.ts"],"names":[],"mappings":";;;AAAA,+BAAmF;AACnF,qCAAgD;AAUhD,MAAa,WAAW;IAAxB;QACmB,UAAK,GAAuC,EAAE,CAAC;IAwClE,CAAC;IAtCC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAoB;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1B,OAAO;SACR;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,IAAA,oBAAa,EACjB,IAAA,oBAAa,EAAC,aAAa,CAAC,CAAC,IAAI,CAC/B,IAAA,aAAM,EAAC,CAAC,aAAwB,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACnE,IAAA,WAAI,EAAC,CAAC,CAAC,CACR,CACF,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAG,OAAoB;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,MAAM,eAAe,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,UAAU,CAAC,GAAG,OAAoB;QAChC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAC5D,CAAC;IAED,QAAQ,CAAC,GAAG,OAAoB;QAC9B,IAAA,qBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,sBAAe,CAAU,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;CACF;AAzCD,kCAyCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isNotNullish<T>(t: T | undefined | null): t is T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullish.js","sourceRoot":"","sources":["../../../../../common/src/utils/nullish.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY,CAAI,CAAuB;IACrD,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;AACvC,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function getInPath(obj: any, path: string, delimiter?: string): any;
|
|
2
|
+
export declare function setInPath(obj: any, path: string, value: any, delimiter?: string): void;
|
|
3
|
+
export declare function deleteInPath(obj: any, path: string, delimiter?: string): void;
|
|
4
|
+
export declare function deepReplace(obj: any, keyName: string, replacer: (from: any) => any): void;
|
|
5
|
+
export declare function replaceKeyInMap<K, T>(map: Map<K, T | undefined>, a: K, b: K): void;
|
|
6
|
+
export declare function replaceKeyInRecord<K extends keyof any, T>(record: Record<K, T>, a: K, b: K): void;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceKeyInRecord = exports.replaceKeyInMap = exports.deepReplace = exports.deleteInPath = exports.setInPath = exports.getInPath = void 0;
|
|
4
|
+
const _ = require("lodash");
|
|
5
|
+
const assert_1 = require("./assert");
|
|
6
|
+
function getInPath(obj, path, delimiter = '.') {
|
|
7
|
+
const splitPath = path.split(delimiter);
|
|
8
|
+
let value = undefined;
|
|
9
|
+
let currentObj = obj;
|
|
10
|
+
while (currentObj && splitPath.length) {
|
|
11
|
+
const key = (0, assert_1.truthy)(splitPath.shift());
|
|
12
|
+
if (!(currentObj instanceof Object) || !(key in currentObj)) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
value = currentObj[key];
|
|
16
|
+
currentObj = value;
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
exports.getInPath = getInPath;
|
|
21
|
+
function isJsObject(obj) {
|
|
22
|
+
if (typeof obj !== 'object')
|
|
23
|
+
return false;
|
|
24
|
+
return Reflect.getPrototypeOf(obj) === Object.prototype;
|
|
25
|
+
}
|
|
26
|
+
function setInPath(obj, path, value, delimiter = '.') {
|
|
27
|
+
var _a;
|
|
28
|
+
const splitPath = path.split(delimiter);
|
|
29
|
+
let currentObj = obj;
|
|
30
|
+
while (splitPath.length) {
|
|
31
|
+
const key = (0, assert_1.truthy)(splitPath.shift());
|
|
32
|
+
if (splitPath.length) {
|
|
33
|
+
const newCurrentObj = isJsObject(currentObj[key]) ? (_a = _.clone(currentObj[key])) !== null && _a !== void 0 ? _a : {} : {};
|
|
34
|
+
currentObj[key] = newCurrentObj;
|
|
35
|
+
currentObj = newCurrentObj;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
currentObj[key] = value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.setInPath = setInPath;
|
|
43
|
+
function deleteInPath(obj, path, delimiter = '.') {
|
|
44
|
+
var _a;
|
|
45
|
+
const splitPath = path.split(delimiter);
|
|
46
|
+
let currentObj = obj;
|
|
47
|
+
while (splitPath.length) {
|
|
48
|
+
const key = (0, assert_1.truthy)(splitPath.shift());
|
|
49
|
+
if (splitPath.length) {
|
|
50
|
+
const newCurrentObj = isJsObject(currentObj[key]) ? (_a = _.clone(currentObj[key])) !== null && _a !== void 0 ? _a : {} : {};
|
|
51
|
+
currentObj[key] = newCurrentObj;
|
|
52
|
+
currentObj = newCurrentObj;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
delete currentObj[key];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.deleteInPath = deleteInPath;
|
|
60
|
+
function deepReplace(obj, keyName, replacer) {
|
|
61
|
+
for (const key in obj) {
|
|
62
|
+
if (key === keyName) {
|
|
63
|
+
obj[key] = replacer(obj[key]);
|
|
64
|
+
}
|
|
65
|
+
else if (Array.isArray(obj[key])) {
|
|
66
|
+
obj[key].forEach((member) => deepReplace(member, keyName, replacer));
|
|
67
|
+
}
|
|
68
|
+
else if (typeof obj[key] === 'object') {
|
|
69
|
+
deepReplace(obj[key], keyName, replacer);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.deepReplace = deepReplace;
|
|
74
|
+
function replaceKeyInMap(map, a, b) {
|
|
75
|
+
if (map.has(a)) {
|
|
76
|
+
const value = map.get(a);
|
|
77
|
+
map.delete(a);
|
|
78
|
+
map.set(b, value);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.replaceKeyInMap = replaceKeyInMap;
|
|
82
|
+
function replaceKeyInRecord(record, a, b) {
|
|
83
|
+
const value = record[a];
|
|
84
|
+
if (typeof value !== 'undefined') {
|
|
85
|
+
record[b] = value;
|
|
86
|
+
delete record[a];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.replaceKeyInRecord = replaceKeyInRecord;
|
|
90
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../common/src/utils/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function normalizeJsonAsString(json: any): string;
|
|
2
|
+
export declare function serializeObj(obj: any): string;
|
|
3
|
+
export declare function deserializeObj<T = any>(serializedObj: string): T;
|
|
4
|
+
export declare function encodeValueForMapping(value: any): string;
|
|
5
|
+
export declare function decodeValueForMapping(encodedString: string): any;
|
|
6
|
+
export declare function recodeValue(value: any): any;
|