document-drive 1.26.0 → 1.27.1
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/prisma/schema.prisma +1 -0
- package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/queue/base.js +1 -1
- package/dist/src/queue/types.d.ts +2 -2
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/read-mode/service.js +1 -1
- package/dist/src/server/base-server.d.ts +8 -21
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +35 -151
- package/dist/src/server/builder.d.ts +9 -9
- package/dist/src/server/builder.d.ts.map +1 -1
- package/dist/src/server/builder.js +3 -1
- package/dist/src/server/listener/listener-manager.js +1 -1
- package/dist/src/server/listener/transmitter/factory.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/factory.js +1 -2
- package/dist/src/server/listener/transmitter/internal.d.ts +3 -8
- package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/internal.js +2 -10
- package/dist/src/server/listener/util.d.ts.map +1 -1
- package/dist/src/server/types.d.ts +2 -10
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/storage/browser.d.ts +12 -4
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +65 -21
- package/dist/src/storage/filesystem.d.ts +7 -4
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +94 -74
- package/dist/src/storage/memory.d.ts +3 -2
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +9 -1
- package/dist/src/storage/prisma/index.d.ts.map +1 -1
- package/dist/src/storage/prisma/index.js +2 -0
- package/dist/src/storage/sequelize.d.ts +4 -3
- package/dist/src/storage/sequelize.d.ts.map +1 -1
- package/dist/src/storage/sequelize.js +4 -2
- package/dist/src/storage/types.d.ts +3 -0
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/src/utils/logger.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/src/storage/base.d.ts +0 -36
- package/dist/src/storage/base.d.ts.map +0 -1
- package/dist/src/storage/base.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/drive/creators.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/drive/creators.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,YAAY,UAAW,iBAAiB,uBAOlD,CAAC;AAEJ,eAAO,MAAM,YAAY,UAAW,iBAAiB,uBAOlD,CAAC;AAEJ,eAAO,MAAM,cAAc,UAAW,mBAAmB,yBAOtD,CAAC;AAEJ,eAAO,MAAM,mBAAmB,UAAW,wBAAwB,8BAOhE,CAAC;AAEJ,eAAO,MAAM,WAAW,UAAW,gBAAgB,sBAOhD,CAAC;AAEJ,eAAO,MAAM,cAAc,UAAW,mBAAmB,yBAOtD,CAAC;AAEJ,eAAO,MAAM,UAAU,UAAW,eAAe,qBAO9C,CAAC;AAEJ,eAAO,MAAM,aAAa,UAAW,kBAAkB,wBAOpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/node/creators.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/node/creators.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,eAAO,MAAM,OAAO,UAAW,YAAY,kBAOxC,CAAC;AAEJ,eAAO,MAAM,SAAS,UAAW,cAAc,oBAO5C,CAAC;AAEJ,eAAO,MAAM,UAAU,UAAW,eAAe,qBAO9C,CAAC;AAEJ,eAAO,MAAM,UAAU,UAAW,eAAe,qBAO9C,CAAC;AAEJ,eAAO,MAAM,UAAU,UAAW,eAAe,qBAO9C,CAAC;AAEJ,eAAO,MAAM,QAAQ,UAAW,aAAa,mBAO1C,CAAC;AAEJ,eAAO,MAAM,QAAQ,UAAW,aAAa,mBAO1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAC7C,eAAe,EAClB,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../src/drive-document-model/gen/schema/zod.ts"],"names":[],"mappings":"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"}
|
package/dist/src/queue/base.js
CHANGED
|
@@ -84,7 +84,7 @@ export class BaseQueueManager {
|
|
|
84
84
|
}
|
|
85
85
|
// checks if the job is for a document that doesn't exist in storage yet
|
|
86
86
|
const newDocument = job.documentId &&
|
|
87
|
-
!(await this.delegate.checkDocumentExists(job.
|
|
87
|
+
!(await this.delegate.checkDocumentExists(job.documentId));
|
|
88
88
|
// if it is a new document and queue is not yet blocked then
|
|
89
89
|
// blocks it so the jobs are not processed until it's ready
|
|
90
90
|
if (newDocument && !(await queue.isBlocked())) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { type AddOperationOptions, type IOperationResult } from "#server/types";
|
|
1
2
|
import type { Action, Operation } from "document-model";
|
|
2
3
|
import type { Unsubscribe } from "nanoevents";
|
|
3
|
-
import { type AddOperationOptions, type IOperationResult } from "#server/types";
|
|
4
4
|
export interface BaseJob {
|
|
5
5
|
driveId: string;
|
|
6
6
|
documentId?: string;
|
|
@@ -21,7 +21,7 @@ export interface QueueEvents {
|
|
|
21
21
|
queueRemoved: (queueId: string) => void;
|
|
22
22
|
}
|
|
23
23
|
export interface IServerDelegate {
|
|
24
|
-
checkDocumentExists: (
|
|
24
|
+
checkDocumentExists: (documentId: string) => Promise<boolean>;
|
|
25
25
|
processJob: (job: Job) => Promise<IOperationResult>;
|
|
26
26
|
}
|
|
27
27
|
export interface IQueueManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { type ICache } from "#cache/types";
|
|
2
2
|
import { type IQueueManager } from "#queue/types";
|
|
3
|
-
import { type IDriveStorage } from "#storage/types";
|
|
3
|
+
import { IDocumentStorage, type IDriveStorage } from "#storage/types";
|
|
4
4
|
import { type IDefaultDrivesManager } from "#utils/default-drives-manager";
|
|
5
|
-
import { type DocumentDriveAction, type DocumentDriveDocument
|
|
5
|
+
import { type DocumentDriveAction, type DocumentDriveDocument } from "document-drive";
|
|
6
6
|
import { type Action, type DocumentModelModule, type Operation, type PHDocument } from "document-model";
|
|
7
7
|
import { type Unsubscribe } from "nanoevents";
|
|
8
8
|
import { OperationError, type SynchronizationUnitNotFoundError } from "./error.js";
|
|
9
|
-
import { type
|
|
10
|
-
import { type ITransmitter } from "./listener/transmitter/types.js";
|
|
11
|
-
import { type AddOperationOptions, type Constructor, type CreateDocumentInput, type DocumentDriveServerOptions, type DriveEvents, type DriveInput, type DriveOperationResult, type GetDocumentOptions, type GetStrandsOptions, type IBaseDocumentDriveServer, type IEventEmitter, type IListenerManager, type IOperationResult, type ISynchronizationManager, type ITransmitterFactory, type Listener, type ListenerState, type Mixin, type OperationUpdate, type RemoteDriveAccessLevel, type RemoteDriveOptions, type SignalResult, type SyncStatus, type SyncUnitStatusObject, type SynchronizationUnit, type SynchronizationUnitQuery } from "./types.js";
|
|
9
|
+
import { type AddOperationOptions, type Constructor, type CreateDocumentInput, type DocumentDriveServerOptions, type DriveEvents, type DriveInput, type DriveOperationResult, type GetDocumentOptions, type GetStrandsOptions, type IBaseDocumentDriveServer, type IEventEmitter, type IListenerManager, type IOperationResult, type ISynchronizationManager, type Mixin, type OperationUpdate, type RemoteDriveAccessLevel, type RemoteDriveOptions, type SignalResult, type SyncStatus, type SyncUnitStatusObject, type SynchronizationUnit, type SynchronizationUnitQuery } from "./types.js";
|
|
12
10
|
export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer, IDefaultDrivesManager {
|
|
13
11
|
private documentModelModules;
|
|
14
12
|
private storage;
|
|
13
|
+
private documentStorage;
|
|
15
14
|
private cache;
|
|
16
15
|
private queueManager;
|
|
17
16
|
private eventEmitter;
|
|
18
17
|
protected options: Required<DocumentDriveServerOptions>;
|
|
19
18
|
private listenerManager;
|
|
20
|
-
private transmitterFactory;
|
|
21
19
|
private synchronizationManager;
|
|
22
20
|
private defaultDrivesManager;
|
|
21
|
+
private defaultDrivesManagerDelegate;
|
|
22
|
+
private queueDelegate;
|
|
23
23
|
private triggerMap;
|
|
24
24
|
private initializePromise;
|
|
25
|
-
constructor(documentModelModules: DocumentModelModule[], storage: IDriveStorage, cache: ICache, queueManager: IQueueManager, eventEmitter: IEventEmitter, synchronizationManager: ISynchronizationManager, listenerManager: IListenerManager,
|
|
26
|
-
|
|
25
|
+
constructor(documentModelModules: DocumentModelModule[], storage: IDriveStorage, documentStorage: IDocumentStorage, cache: ICache, queueManager: IQueueManager, eventEmitter: IEventEmitter, synchronizationManager: ISynchronizationManager, listenerManager: IListenerManager, options?: DocumentDriveServerOptions);
|
|
26
|
+
get listeners(): IListenerManager;
|
|
27
27
|
initialize(): Promise<Error[] | null>;
|
|
28
28
|
private _initialize;
|
|
29
29
|
setDocumentModelModules(modules: DocumentModelModule[]): void;
|
|
@@ -36,8 +36,6 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
36
36
|
private shouldSyncRemoteDrive;
|
|
37
37
|
private startSyncRemoteDrive;
|
|
38
38
|
private stopSyncRemoteDrive;
|
|
39
|
-
private defaultDrivesManagerDelegate;
|
|
40
|
-
private queueDelegate;
|
|
41
39
|
private _initializeDrive;
|
|
42
40
|
getSynchronizationUnits(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnit[]>;
|
|
43
41
|
getSynchronizationUnitsIds(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnitQuery[]>;
|
|
@@ -47,7 +45,6 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
47
45
|
getDocumentModelModules(): DocumentModelModule[];
|
|
48
46
|
addDrive(input: DriveInput, preferredEditor?: string): Promise<DocumentDriveDocument>;
|
|
49
47
|
addRemoteDrive(url: string, options: RemoteDriveOptions): Promise<DocumentDriveDocument>;
|
|
50
|
-
registerPullResponderTrigger(driveId: string, url: string, options: Pick<RemoteDriveOptions, "pullFilter" | "pullInterval">): Promise<import("document-drive").PullResponderTrigger>;
|
|
51
48
|
deleteDrive(driveId: string): Promise<void>;
|
|
52
49
|
getDrives(): Promise<string[]>;
|
|
53
50
|
getDrive(driveId: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
|
|
@@ -88,16 +85,6 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
88
85
|
addDriveAction(driveId: string, action: DocumentDriveAction | Action, options?: AddOperationOptions): Promise<DriveOperationResult>;
|
|
89
86
|
addDriveActions(driveId: string, actions: (DocumentDriveAction | Action)[], options?: AddOperationOptions): Promise<DriveOperationResult>;
|
|
90
87
|
detachDrive(driveId: string): Promise<void>;
|
|
91
|
-
addListener(driveId: string, listener: Listener): Promise<void>;
|
|
92
|
-
addInternalListener(driveId: string, receiver: IReceiver, options: {
|
|
93
|
-
listenerId: string;
|
|
94
|
-
label: string;
|
|
95
|
-
block: boolean;
|
|
96
|
-
filter: ListenerFilter;
|
|
97
|
-
}): Promise<InternalTransmitter>;
|
|
98
|
-
private removeListener;
|
|
99
|
-
getTransmitter(driveId: string, listenerId: string): Promise<ITransmitter | undefined>;
|
|
100
|
-
getListener(driveId: string, listenerId: string): Promise<ListenerState | undefined>;
|
|
101
88
|
getSyncStatus(syncUnitId: string): SyncStatus | SynchronizationUnitNotFoundError;
|
|
102
89
|
on<K extends keyof DriveEvents>(event: K, cb: DriveEvents[K]): Unsubscribe;
|
|
103
90
|
private emit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { removeListener, removeTrigger, setSharingType, } from "#drive-document-model/gen/creators";
|
|
2
2
|
import { createDocument } from "#drive-document-model/gen/utils";
|
|
3
3
|
import { isActionJob, isOperationJob, } from "#queue/types";
|
|
4
4
|
import { ReadModeServer } from "#read-mode/server";
|
|
@@ -10,7 +10,6 @@ import { RunAsap } from "#utils/run-asap";
|
|
|
10
10
|
import { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, replayDocument, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "document-model";
|
|
11
11
|
import { ClientError } from "graphql-request";
|
|
12
12
|
import { ConflictOperationError, DriveAlreadyExistsError, OperationError, } from "./error.js";
|
|
13
|
-
import { InternalTransmitter, } from "./listener/transmitter/internal.js";
|
|
14
13
|
import { PullResponderTransmitter, } from "./listener/transmitter/pull-responder.js";
|
|
15
14
|
import { DefaultListenerManagerOptions, } from "./types.js";
|
|
16
15
|
import { filterOperationsByRevision, isAtRevision } from "./utils.js";
|
|
@@ -18,28 +17,55 @@ export class BaseDocumentDriveServer {
|
|
|
18
17
|
// external dependencies
|
|
19
18
|
documentModelModules;
|
|
20
19
|
storage;
|
|
20
|
+
documentStorage;
|
|
21
21
|
cache;
|
|
22
22
|
queueManager;
|
|
23
23
|
eventEmitter;
|
|
24
24
|
options;
|
|
25
|
-
// waiting to move to external dependencies
|
|
26
25
|
listenerManager;
|
|
27
|
-
transmitterFactory;
|
|
28
26
|
synchronizationManager;
|
|
29
27
|
// internal dependencies
|
|
30
28
|
defaultDrivesManager;
|
|
29
|
+
defaultDrivesManagerDelegate = {
|
|
30
|
+
detachDrive: this.detachDrive.bind(this),
|
|
31
|
+
emit: (...args) => this.eventEmitter.emit("defaultRemoteDrive", ...args),
|
|
32
|
+
};
|
|
33
|
+
queueDelegate = {
|
|
34
|
+
checkDocumentExists: (documentId) => this.documentStorage.exists(documentId),
|
|
35
|
+
processOperationJob: async ({ driveId, documentId, operations, options, }) => {
|
|
36
|
+
return documentId
|
|
37
|
+
? this.addOperations(driveId, documentId, operations, options)
|
|
38
|
+
: this.addDriveOperations(driveId, operations, options);
|
|
39
|
+
},
|
|
40
|
+
processActionJob: async ({ driveId, documentId, actions, options, }) => {
|
|
41
|
+
return documentId
|
|
42
|
+
? this.addActions(driveId, documentId, actions, options)
|
|
43
|
+
: this.addDriveActions(driveId, actions, options);
|
|
44
|
+
},
|
|
45
|
+
processJob: async (job) => {
|
|
46
|
+
if (isOperationJob(job)) {
|
|
47
|
+
return this.queueDelegate.processOperationJob(job);
|
|
48
|
+
}
|
|
49
|
+
else if (isActionJob(job)) {
|
|
50
|
+
return this.queueDelegate.processActionJob(job);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new Error("Unknown job type", job);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
};
|
|
31
57
|
// internal state
|
|
32
58
|
triggerMap = new Map();
|
|
33
59
|
initializePromise;
|
|
34
|
-
constructor(documentModelModules, storage, cache, queueManager, eventEmitter, synchronizationManager, listenerManager,
|
|
60
|
+
constructor(documentModelModules, storage, documentStorage, cache, queueManager, eventEmitter, synchronizationManager, listenerManager, options) {
|
|
35
61
|
this.documentModelModules = documentModelModules;
|
|
36
62
|
this.storage = storage;
|
|
63
|
+
this.documentStorage = documentStorage;
|
|
37
64
|
this.cache = cache;
|
|
38
65
|
this.queueManager = queueManager;
|
|
39
66
|
this.eventEmitter = eventEmitter;
|
|
40
67
|
this.synchronizationManager = synchronizationManager;
|
|
41
68
|
this.listenerManager = listenerManager;
|
|
42
|
-
this.transmitterFactory = transmitterFactory;
|
|
43
69
|
this.options = {
|
|
44
70
|
...options,
|
|
45
71
|
defaultDrives: {
|
|
@@ -53,6 +79,7 @@ export class BaseDocumentDriveServer {
|
|
|
53
79
|
? RunAsap.runAsap
|
|
54
80
|
: options.taskQueueMethod,
|
|
55
81
|
};
|
|
82
|
+
// todo: move to external dependencies
|
|
56
83
|
this.defaultDrivesManager = new DefaultDrivesManager(this, this.defaultDrivesManagerDelegate, options);
|
|
57
84
|
this.storage.setStorageDelegate?.({
|
|
58
85
|
getCachedOperations: async (drive, id) => {
|
|
@@ -69,7 +96,8 @@ export class BaseDocumentDriveServer {
|
|
|
69
96
|
this.initializePromise = this._initialize();
|
|
70
97
|
}
|
|
71
98
|
// workaround for testing the ephemeral listeners -- we don't have DI in place yet
|
|
72
|
-
|
|
99
|
+
// todo: remove this once we have DI
|
|
100
|
+
get listeners() {
|
|
73
101
|
return this.listenerManager;
|
|
74
102
|
}
|
|
75
103
|
initialize() {
|
|
@@ -217,66 +245,12 @@ export class BaseDocumentDriveServer {
|
|
|
217
245
|
}
|
|
218
246
|
return this.triggerMap.delete(driveId);
|
|
219
247
|
}
|
|
220
|
-
defaultDrivesManagerDelegate = {
|
|
221
|
-
detachDrive: this.detachDrive.bind(this),
|
|
222
|
-
emit: (...args) => this.eventEmitter.emit("defaultRemoteDrive", ...args),
|
|
223
|
-
};
|
|
224
|
-
queueDelegate = {
|
|
225
|
-
checkDocumentExists: (driveId, documentId) => this.storage.checkDocumentExists(driveId, documentId),
|
|
226
|
-
processOperationJob: async ({ driveId, documentId, operations, options, }) => {
|
|
227
|
-
return documentId
|
|
228
|
-
? this.addOperations(driveId, documentId, operations, options)
|
|
229
|
-
: this.addDriveOperations(driveId, operations, options);
|
|
230
|
-
},
|
|
231
|
-
processActionJob: async ({ driveId, documentId, actions, options, }) => {
|
|
232
|
-
return documentId
|
|
233
|
-
? this.addActions(driveId, documentId, actions, options)
|
|
234
|
-
: this.addDriveActions(driveId, actions, options);
|
|
235
|
-
},
|
|
236
|
-
processJob: async (job) => {
|
|
237
|
-
if (isOperationJob(job)) {
|
|
238
|
-
return this.queueDelegate.processOperationJob(job);
|
|
239
|
-
}
|
|
240
|
-
else if (isActionJob(job)) {
|
|
241
|
-
return this.queueDelegate.processActionJob(job);
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
throw new Error("Unknown job type", job);
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
};
|
|
248
248
|
async _initializeDrive(driveId) {
|
|
249
249
|
const drive = await this.getDrive(driveId);
|
|
250
250
|
await this.synchronizationManager.initializeDriveSyncStatus(driveId, drive);
|
|
251
251
|
if (this.shouldSyncRemoteDrive(drive)) {
|
|
252
252
|
await this.startSyncRemoteDrive(driveId);
|
|
253
253
|
}
|
|
254
|
-
for (const zodListener of drive.state.local.listeners) {
|
|
255
|
-
const transmitter = this.transmitterFactory.instance(zodListener.callInfo?.transmitterType ?? "", {
|
|
256
|
-
driveId,
|
|
257
|
-
listenerId: zodListener.listenerId,
|
|
258
|
-
block: zodListener.block,
|
|
259
|
-
filter: zodListener.filter,
|
|
260
|
-
system: zodListener.system,
|
|
261
|
-
label: zodListener.label ?? "",
|
|
262
|
-
callInfo: zodListener.callInfo ?? undefined,
|
|
263
|
-
}, this);
|
|
264
|
-
await this.listenerManager.setListener(driveId, {
|
|
265
|
-
block: zodListener.block,
|
|
266
|
-
driveId: drive.state.global.id,
|
|
267
|
-
filter: {
|
|
268
|
-
branch: zodListener.filter.branch ?? [],
|
|
269
|
-
documentId: zodListener.filter.documentId ?? [],
|
|
270
|
-
documentType: zodListener.filter.documentType,
|
|
271
|
-
scope: zodListener.filter.scope ?? [],
|
|
272
|
-
},
|
|
273
|
-
listenerId: zodListener.listenerId,
|
|
274
|
-
callInfo: zodListener.callInfo ?? undefined,
|
|
275
|
-
system: zodListener.system,
|
|
276
|
-
label: zodListener.label ?? "",
|
|
277
|
-
transmitter,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
254
|
}
|
|
281
255
|
// Delegate synchronization methods to synchronizationManager
|
|
282
256
|
getSynchronizationUnits(driveId, documentId, scope, branch, documentType) {
|
|
@@ -346,10 +320,6 @@ export class BaseDocumentDriveServer {
|
|
|
346
320
|
},
|
|
347
321
|
}, meta?.preferredEditor);
|
|
348
322
|
}
|
|
349
|
-
async registerPullResponderTrigger(driveId, url, options) {
|
|
350
|
-
const pullTrigger = await PullResponderTransmitter.createPullResponderTrigger(driveId, url, options);
|
|
351
|
-
return pullTrigger;
|
|
352
|
-
}
|
|
353
323
|
async deleteDrive(driveId) {
|
|
354
324
|
const result = await Promise.allSettled([
|
|
355
325
|
this.stopSyncRemoteDrive(driveId),
|
|
@@ -1027,48 +997,6 @@ export class BaseDocumentDriveServer {
|
|
|
1027
997
|
throw error ?? new Error("Invalid Document Drive document");
|
|
1028
998
|
}
|
|
1029
999
|
this.cache.setDocument("drives", driveId, document).catch(logger.error);
|
|
1030
|
-
for (const operation of operationsApplied) {
|
|
1031
|
-
switch (operation.type) {
|
|
1032
|
-
case "ADD_LISTENER": {
|
|
1033
|
-
const zodListener = operation.input.listener;
|
|
1034
|
-
// create the transmitter
|
|
1035
|
-
const transmitter = this.transmitterFactory.instance(zodListener.callInfo?.transmitterType ?? "", {
|
|
1036
|
-
driveId,
|
|
1037
|
-
listenerId: zodListener.listenerId,
|
|
1038
|
-
block: zodListener.block,
|
|
1039
|
-
filter: zodListener.filter,
|
|
1040
|
-
system: zodListener.system,
|
|
1041
|
-
label: zodListener.label ?? "",
|
|
1042
|
-
callInfo: zodListener.callInfo ?? undefined,
|
|
1043
|
-
}, this);
|
|
1044
|
-
// create the listener
|
|
1045
|
-
const listener = {
|
|
1046
|
-
...zodListener,
|
|
1047
|
-
driveId: driveId,
|
|
1048
|
-
label: zodListener.label ?? "",
|
|
1049
|
-
system: zodListener.system ?? false,
|
|
1050
|
-
filter: {
|
|
1051
|
-
branch: zodListener.filter.branch ?? [],
|
|
1052
|
-
documentId: zodListener.filter.documentId ?? [],
|
|
1053
|
-
documentType: zodListener.filter.documentType ?? [],
|
|
1054
|
-
scope: zodListener.filter.scope ?? [],
|
|
1055
|
-
},
|
|
1056
|
-
callInfo: {
|
|
1057
|
-
data: zodListener.callInfo?.data ?? "",
|
|
1058
|
-
name: zodListener.callInfo?.name ?? "PullResponder",
|
|
1059
|
-
transmitterType: zodListener.callInfo?.transmitterType ?? "PullResponder",
|
|
1060
|
-
},
|
|
1061
|
-
transmitter,
|
|
1062
|
-
};
|
|
1063
|
-
await this.addListener(driveId, listener);
|
|
1064
|
-
break;
|
|
1065
|
-
}
|
|
1066
|
-
case "REMOVE_LISTENER": {
|
|
1067
|
-
await this.removeListener(driveId, operation);
|
|
1068
|
-
break;
|
|
1069
|
-
}
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
1000
|
// update listener cache
|
|
1073
1001
|
const lastOperation = operationsApplied
|
|
1074
1002
|
.filter((op) => op.scope === "global")
|
|
@@ -1191,50 +1119,6 @@ export class BaseDocumentDriveServer {
|
|
|
1191
1119
|
}
|
|
1192
1120
|
await this.addDriveAction(driveId, setSharingType({ type: "LOCAL" }));
|
|
1193
1121
|
}
|
|
1194
|
-
async addListener(driveId, listener) {
|
|
1195
|
-
await this.listenerManager.setListener(driveId, listener);
|
|
1196
|
-
}
|
|
1197
|
-
async addInternalListener(driveId, receiver, options) {
|
|
1198
|
-
const listener = {
|
|
1199
|
-
callInfo: {
|
|
1200
|
-
data: "",
|
|
1201
|
-
name: "Interal",
|
|
1202
|
-
transmitterType: "Internal",
|
|
1203
|
-
},
|
|
1204
|
-
system: true,
|
|
1205
|
-
...options,
|
|
1206
|
-
};
|
|
1207
|
-
await this.addDriveAction(driveId, addListener({ listener }));
|
|
1208
|
-
const transmitter = await this.getTransmitter(driveId, options.listenerId);
|
|
1209
|
-
if (!transmitter) {
|
|
1210
|
-
logger.error("Internal listener not found");
|
|
1211
|
-
throw new Error("Internal listener not found");
|
|
1212
|
-
}
|
|
1213
|
-
if (!(transmitter instanceof InternalTransmitter)) {
|
|
1214
|
-
logger.error("Listener is not an internal transmitter");
|
|
1215
|
-
throw new Error("Listener is not an internal transmitter");
|
|
1216
|
-
}
|
|
1217
|
-
transmitter.setReceiver(receiver);
|
|
1218
|
-
return transmitter;
|
|
1219
|
-
}
|
|
1220
|
-
async removeListener(driveId, operation) {
|
|
1221
|
-
const { listenerId } = operation.input;
|
|
1222
|
-
await this.listenerManager.removeListener(driveId, listenerId);
|
|
1223
|
-
}
|
|
1224
|
-
async getTransmitter(driveId, listenerId) {
|
|
1225
|
-
const listener = this.listenerManager.getListenerState(driveId, listenerId);
|
|
1226
|
-
return listener.listener.transmitter;
|
|
1227
|
-
}
|
|
1228
|
-
getListener(driveId, listenerId) {
|
|
1229
|
-
let listenerState;
|
|
1230
|
-
try {
|
|
1231
|
-
listenerState = this.listenerManager.getListenerState(driveId, listenerId);
|
|
1232
|
-
}
|
|
1233
|
-
catch {
|
|
1234
|
-
return Promise.resolve(undefined);
|
|
1235
|
-
}
|
|
1236
|
-
return Promise.resolve(listenerState);
|
|
1237
|
-
}
|
|
1238
1122
|
getSyncStatus(syncUnitId) {
|
|
1239
1123
|
return this.synchronizationManager.getSyncStatus(syncUnitId);
|
|
1240
1124
|
}
|
|
@@ -7,15 +7,15 @@ import { IDocumentDriveServer, type DocumentDriveServerOptions, type IEventEmitt
|
|
|
7
7
|
* Builder class for constructing Reactor instances with proper configuration
|
|
8
8
|
*/
|
|
9
9
|
export declare class ReactorBuilder {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
documentModelModules: DocumentModelModule[];
|
|
11
|
+
storage?: IDriveStorage;
|
|
12
|
+
cache?: ICache;
|
|
13
|
+
queueManager?: IQueueManager;
|
|
14
|
+
eventEmitter?: IEventEmitter;
|
|
15
|
+
options?: DocumentDriveServerOptions;
|
|
16
|
+
synchronizationManager?: ISynchronizationManager;
|
|
17
|
+
listenerManager?: IListenerManager;
|
|
18
|
+
transmitterFactory?: ITransmitterFactory;
|
|
19
19
|
constructor(documentModelModules: DocumentModelModule[]);
|
|
20
20
|
withStorage(storage: IDriveStorage): this;
|
|
21
21
|
withCache(cache: ICache): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAM3E,OAAO,EAEL,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;IAClB,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IAEjD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;gBAEpC,oBAAoB,EAAE,mBAAmB,EAAE;IAIhD,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,0BAA0B,CAC/B,sBAAsB,EAAE,uBAAuB,GAC9C,IAAI;IAKA,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAK5D,sBAAsB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI;IAKrE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAKtD,KAAK,IAAI,oBAAoB;CA2DrC"}
|
|
@@ -84,6 +84,8 @@ export class ReactorBuilder {
|
|
|
84
84
|
if (!this.transmitterFactory) {
|
|
85
85
|
this.transmitterFactory = new TransmitterFactory(this.listenerManager);
|
|
86
86
|
}
|
|
87
|
-
return new DocumentDriveServer(this.documentModelModules, this.storage,
|
|
87
|
+
return new DocumentDriveServer(this.documentModelModules, this.storage,
|
|
88
|
+
// as we refactor, we're secretly making all the IStorage implementations also implement IDocumentStorage
|
|
89
|
+
this.storage, this.cache, this.queueManager, this.eventEmitter, this.synchronizationManager, this.listenerManager, this.options);
|
|
88
90
|
}
|
|
89
91
|
}
|
|
@@ -56,7 +56,7 @@ export class ListenerManager {
|
|
|
56
56
|
listenerStatus: "CREATED",
|
|
57
57
|
syncUnits: new Map(),
|
|
58
58
|
});
|
|
59
|
-
this.triggerUpdate(true, { type: "local" });
|
|
59
|
+
await this.triggerUpdate(true, { type: "local" });
|
|
60
60
|
}
|
|
61
61
|
async removeListener(driveId, listenerId) {
|
|
62
62
|
this.logger.verbose("setListener()");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,mBAAmB;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;gBAEvC,eAAe,EAAE,gBAAgB;IAI7C,QAAQ,CACN,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,wBAAwB,GACpC,YAAY;CAiBhB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { InternalTransmitter } from "./internal.js";
|
|
2
1
|
import { PullResponderTransmitter } from "./pull-responder.js";
|
|
3
2
|
import { SwitchboardPushTransmitter } from "./switchboard-push.js";
|
|
4
3
|
export default class TransmitterFactory {
|
|
@@ -15,7 +14,7 @@ export default class TransmitterFactory {
|
|
|
15
14
|
return new SwitchboardPushTransmitter(listener.callInfo.data);
|
|
16
15
|
}
|
|
17
16
|
case "Internal": {
|
|
18
|
-
|
|
17
|
+
throw new Error("Internal transmitter not implemented");
|
|
19
18
|
}
|
|
20
19
|
default: {
|
|
21
20
|
return new PullResponderTransmitter(listener, this.listenerManager);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GlobalStateFromDocument, type LocalStateFromDocument, type OperationFromDocument, type OperationScope, type PHDocument } from "document-model";
|
|
2
|
-
import { type IBaseDocumentDriveServer, type Listener, type ListenerRevision, type StrandUpdate } from "#server/types";
|
|
2
|
+
import { IDocumentDriveServer, type IBaseDocumentDriveServer, type Listener, type ListenerRevision, type StrandUpdate } from "#server/types";
|
|
3
3
|
import { type ITransmitter, type StrandUpdateSource } from "./types.js";
|
|
4
4
|
export interface IReceiver {
|
|
5
5
|
onStrands: <TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]) => Promise<void>;
|
|
@@ -17,18 +17,13 @@ export type InternalTransmitterUpdate<TDocument extends PHDocument> = {
|
|
|
17
17
|
operations: InternalOperationUpdate<TDocument>[];
|
|
18
18
|
state: GlobalStateFromDocument<TDocument> | LocalStateFromDocument<TDocument>;
|
|
19
19
|
};
|
|
20
|
-
export interface IInternalTransmitter extends ITransmitter {
|
|
21
|
-
setReceiver(receiver: IReceiver): void;
|
|
22
|
-
}
|
|
23
20
|
export declare class InternalTransmitter implements ITransmitter {
|
|
24
21
|
#private;
|
|
25
22
|
protected drive: IBaseDocumentDriveServer;
|
|
26
23
|
protected listener: Listener;
|
|
27
|
-
protected receiver: IReceiver
|
|
28
|
-
constructor(listener: Listener, drive:
|
|
24
|
+
protected receiver: IReceiver;
|
|
25
|
+
constructor(listener: Listener, drive: IDocumentDriveServer, receiver: IReceiver);
|
|
29
26
|
transmit(strands: StrandUpdate[], _source: StrandUpdateSource): Promise<ListenerRevision[]>;
|
|
30
|
-
setReceiver(receiver: IReceiver): void;
|
|
31
27
|
disconnect(): Promise<void>;
|
|
32
|
-
getListener(): Listener;
|
|
33
28
|
}
|
|
34
29
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EAEpB,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,SAAS,SAAS,UAAU,EACtC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,KAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,UAAU,IAAI,IAAI,CACtE,qBAAqB,CAAC,SAAS,CAAC,EAChC,OAAO,CACR,GAAG;IACF,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9E,aAAa,EACT,uBAAuB,CAAC,SAAS,CAAC,GAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,UAAU,IAAI;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;IACjD,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;CAC/E,CAAC;AAEF,qBAAa,mBAAoB,YAAW,YAAY;;IACtD,SAAS,CAAC,KAAK,EAAE,wBAAwB,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAElB,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS;IAmD1E,QAAQ,CACZ,OAAO,EAAE,YAAY,EAAE,EAEvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA8BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -3,9 +3,10 @@ export class InternalTransmitter {
|
|
|
3
3
|
drive;
|
|
4
4
|
listener;
|
|
5
5
|
receiver;
|
|
6
|
-
constructor(listener, drive) {
|
|
6
|
+
constructor(listener, drive, receiver) {
|
|
7
7
|
this.listener = listener;
|
|
8
8
|
this.drive = drive;
|
|
9
|
+
this.receiver = receiver;
|
|
9
10
|
}
|
|
10
11
|
async #buildInternalOperationUpdate(strand) {
|
|
11
12
|
const operations = [];
|
|
@@ -44,9 +45,6 @@ export class InternalTransmitter {
|
|
|
44
45
|
async transmit(strands,
|
|
45
46
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
46
47
|
_source) {
|
|
47
|
-
if (!this.receiver) {
|
|
48
|
-
return [];
|
|
49
|
-
}
|
|
50
48
|
const updates = [];
|
|
51
49
|
for (const strand of strands) {
|
|
52
50
|
const operations = await this.#buildInternalOperationUpdate(strand);
|
|
@@ -75,13 +73,7 @@ export class InternalTransmitter {
|
|
|
75
73
|
}));
|
|
76
74
|
}
|
|
77
75
|
}
|
|
78
|
-
setReceiver(receiver) {
|
|
79
|
-
this.receiver = receiver;
|
|
80
|
-
}
|
|
81
76
|
async disconnect() {
|
|
82
77
|
await this.receiver?.onDisconnect();
|
|
83
78
|
}
|
|
84
|
-
getListener() {
|
|
85
|
-
return this.listener;
|
|
86
|
-
}
|
|
87
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/server/listener/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,KAAK,SAAM,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/server/listener/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,KAAK,SAAM,eAGQ,OAAO,WAAW,CAAC,gBAkBvC"}
|