@inditextech/weave-store-websockets 1.0.4 → 1.1.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/client.d.ts CHANGED
@@ -1,1088 +1,9 @@
1
- import Konva from "konva";
2
- import * as Y$1 from "yjs";
3
- import * as Y$2 from "yjs";
4
- import * as Y from "yjs";
5
- import { IncomingMessage } from "http";
1
+ import { WeaveStore } from "@inditextech/weave-sdk";
2
+ import { WeaveStoreOptions } from "@inditextech/weave-types";
6
3
  import { WebsocketProvider } from "y-websocket";
7
- import pino, { Logger } from "pino";
8
- import * as konva_lib_Node8 from "konva/lib/Node";
9
- import * as konva_lib_Node9 from "konva/lib/Node";
10
- import * as konva_lib_Node10 from "konva/lib/Node";
11
- import * as konva_lib_Node11 from "konva/lib/Node";
12
- import { KonvaEventObject } from "konva/lib/Node";
13
- import { Stage, StageConfig } from "konva/lib/Stage";
14
- import { TransformerConfig } from "konva/lib/shapes/Transformer";
15
- import * as konva_lib_types6 from "konva/lib/types";
16
- import "konva/lib/Group";
17
- import "konva/lib/Layer";
18
-
19
- //#region ../sdk/dist/sdk.d.ts
20
-
21
- //#region ../types/dist/types.d.ts
22
- //#region src/base/node.d.ts
23
- interface WeaveNodeBase {
24
- getNodeType(): string;
25
- create(id: string, props: WeaveElementAttributes): WeaveStateElement;
26
- onAdd?(nodeInstance: WeaveElementInstance): void;
27
- onRender(props: WeaveElementAttributes): WeaveElementInstance;
28
- onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
29
- onDestroy(instance: WeaveElementInstance): void;
30
- serialize(instance: WeaveElementInstance): WeaveStateElement;
31
- setupDefaultNodeAugmentation(node: Konva.Node): void;
32
- setupDefaultNodeEvents(node: Konva.Node): void;
33
- isNodeSelected(ele: Konva.Node): boolean;
34
- lock(instance: Konva.Node): void;
35
- unlock(instance: Konva.Node): void;
36
- isLocked(instance: Konva.Node): boolean;
37
- isSelecting(): boolean;
38
- isPasting(): boolean;
39
- }
40
-
41
- //#endregion
42
- //#region src/base/action.d.ts
43
- interface WeaveActionBase {
44
- onInit?(): void;
45
- trigger(cancelAction: () => void, params?: unknown): unknown;
46
- internalUpdate?(): void;
47
- cleanup?(): void;
48
- }
49
-
50
- //#endregion
51
- //#region src/base/plugin.d.ts
52
- interface WeavePluginBase {
53
- onInit?(): void;
54
- onRender?(): void;
55
- enable(): void;
56
- disable(): void;
57
- isEnabled(): boolean;
58
- }
59
-
60
- //#endregion
61
- //#region src/base/store.d.ts
62
- type WeaveStoreOptions$1 = {
63
- getUser: () => WeaveUser$1;
64
- undoManagerOptions?: WeaveUndoManagerOptions$1;
65
- };
66
- interface WeaveStoreBase {
67
- connect(): void;
68
- disconnect(): void;
69
- handleAwarenessChange(emit: boolean): void;
70
- setAwarenessInfo(field: string, value: unknown): void;
71
- }
72
-
73
- //#endregion
74
- //#region src/types.d.ts
75
- type WeaveFontsPreloadFunction = () => Promise<WeaveFont[]>;
76
- type WeaveConfig = {
77
- store: WeaveStoreBase;
78
- nodes?: WeaveNodeBase[];
79
- actions?: WeaveActionBase[];
80
- plugins?: WeavePluginBase[];
81
- fonts?: WeaveFont[] | WeaveFontsPreloadFunction;
82
- logger?: WeaveLoggerConfig;
83
- serverSide?: boolean;
84
- };
85
- type WeaveStatusKeys = keyof typeof WEAVE_INSTANCE_STATUS;
86
- type WeaveStatus = (typeof WEAVE_INSTANCE_STATUS)[WeaveStatusKeys];
87
- type WeaveElementAttributes = {
88
- [key: string]: any;
89
- id?: string;
90
- nodeType?: string;
91
- children?: WeaveStateElement[];
92
- };
93
- type WeaveStateElement = {
94
- key: string;
95
- type: string;
96
- props: WeaveElementAttributes;
97
- };
98
- type WeaveState = {
99
- weave: {
100
- key: "stage";
101
- type: "stage";
102
- props: {
103
- [key: string]: unknown;
104
- id: "stage";
105
- children: WeaveStateElement[];
106
- };
107
- } | Record<string, WeaveStateElement>;
108
- };
109
- type WeaveSelection = {
110
- instance: Konva.Shape | Konva.Group;
111
- node: WeaveStateElement | undefined;
112
- };
113
- type WeaveMousePointInfoSimple = {
114
- mousePoint: Konva.Vector2d;
115
- container: Konva.Layer | Konva.Node | undefined;
116
- };
117
- type WeaveMousePointInfo = WeaveMousePointInfoSimple & {
118
- measureContainer: Konva.Layer | Konva.Group | undefined;
119
- };
120
- type WeaveSerializedGroup = {
121
- serializedNodes: WeaveStateElement[];
122
- minPoint: Konva.Vector2d;
123
- } | undefined;
124
- type WeaveNodeFound = {
125
- node: WeaveStateElement | null;
126
- parent: WeaveStateElement | null;
127
- index: number;
128
- };
129
- type WeaveElementInstance = Konva.Layer | Konva.Group | Konva.Shape;
130
- type WeaveLoggerConfig = {
131
- disabled?: boolean;
132
- level?: "debug" | "info" | "warn" | "error";
133
- };
134
- type WeavePositionKeys = keyof typeof WEAVE_NODE_POSITION;
135
- type WeavePosition = (typeof WEAVE_NODE_POSITION)[WeavePositionKeys];
136
- type WeaveExportFormatsKeys = keyof typeof WEAVE_EXPORT_FORMATS;
137
- type WeaveExportFormats = (typeof WEAVE_EXPORT_FORMATS)[WeaveExportFormatsKeys];
138
- type WeaveExportNodesOptions = {
139
- format?: WeaveExportFormats;
140
- padding?: number;
141
- pixelRatio?: number;
142
- backgroundColor?: string;
143
- quality?: number;
144
- backend?: WeaveKonvaBackend;
145
- };
146
- type WeaveUser$1 = {
147
- id: string;
148
- name: string;
149
- email: string;
150
- [key: string]: any;
151
- };
152
- type WeaveFont = {
153
- id: string;
154
- name: string;
155
- offsetX?: number;
156
- offsetY?: number;
157
- };
158
- type WeaveUndoManagerOptions$1 = {
159
- captureTimeout?: number;
160
- trackedOrigins?: Set<any>;
161
- };
162
- type WeaveStoreConnectionStatusKeys = keyof typeof WEAVE_STORE_CONNECTION_STATUS;
163
- type WeaveStoreConnectionStatus = (typeof WEAVE_STORE_CONNECTION_STATUS)[WeaveStoreConnectionStatusKeys];
164
- declare type docElementTypeDescription = "xml" | "text" | Array<any> | object;
165
- declare type DocTypeDescription = {
166
- [key: string]: docElementTypeDescription;
167
- };
168
- declare type MappedTypeDescription<T extends DocTypeDescription> = { readonly [P in keyof T]: T[P] extends "xml" ? Y$1.XmlFragment : T[P] extends "text" ? Y$1.Text : T[P] extends Array<any> ? T[P] : T[P] extends object ? Partial<T[P]> : never };
169
- type WeaveNodeTransformerProperties = Konva.TransformerConfig;
170
- type WeaveNodeConfiguration = {
171
- transform: Partial<WeaveNodeTransformerProperties>;
172
- };
173
- type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? T[P] extends Function ? T[P] : DeepPartial<T[P]> : T[P] };
174
- type WeaveKonvaBackendKeys = keyof typeof WEAVE_KONVA_BACKEND;
175
- type WeaveKonvaBackend = (typeof WEAVE_KONVA_BACKEND)[WeaveKonvaBackendKeys];
176
-
177
- //#endregion
178
- //#region src/constants.d.ts
179
-
180
- declare const WEAVE_INSTANCE_STATUS: {
181
- readonly "IDLE": "idle";
182
- readonly "STARTING": "starting";
183
- readonly "LOADING_FONTS": "loadingFonts";
184
- readonly "CONNECTING_TO_ROOM": "connectingToRoom";
185
- readonly "CONNECTING_ERROR": "connectingError";
186
- readonly "LOADING_ROOM": "loadingRoom";
187
- readonly "RUNNING": "running";
188
- };
189
- declare const WEAVE_NODE_POSITION: {
190
- readonly "UP": "up";
191
- readonly "DOWN": "down";
192
- readonly "FRONT": "front";
193
- readonly "BACK": "back";
194
- };
195
- declare const WEAVE_EXPORT_FORMATS: {
196
- readonly "PNG": "image/png";
197
- readonly "JPEG": "image/jpeg";
198
- };
199
- declare const WEAVE_STORE_CONNECTION_STATUS: {
200
- readonly "ERROR": "error";
201
- readonly "CONNECTING": "connecting";
202
- readonly "CONNECTED": "connected";
203
- readonly "DISCONNECTED": "disconnected";
204
- };
205
- declare const WEAVE_KONVA_BACKEND: {
206
- readonly "CANVAS": "canvas";
207
- readonly "SKIA": "skia";
208
- }; //#endregion
209
- //#region src/stores/store.d.ts
210
-
211
- //#endregion
212
- declare abstract class WeaveStore implements WeaveStoreBase {
213
- protected instance: Weave;
214
- protected name: string;
215
- protected supportsUndoManager: boolean;
216
- protected config: WeaveStoreOptions$1;
217
- private state;
218
- private latestState;
219
- private document;
220
- private logger;
221
- private undoManager;
222
- private isRoomLoaded;
223
- constructor(config: WeaveStoreOptions$1);
224
- getName(): string;
225
- getLogger(): Logger;
226
- register(instance: Weave): WeaveStore;
227
- getUser(): WeaveUser$1;
228
- setState(state: WeaveState): void;
229
- setLatestState(newState: WeaveState): void;
230
- getLatestState(): WeaveState;
231
- getDocument(): Y$2.Doc;
232
- getState(): MappedTypeDescription<WeaveState>;
233
- getStateJson(): WeaveState;
234
- getStateSnapshot(): Uint8Array;
235
- setup(): void;
236
- canUndoStateStep(): boolean;
237
- canRedoStateStep(): boolean;
238
- undoStateStep(): void;
239
- redoStateStep(): void;
240
- handleConnectionStatusChange(status: WeaveStoreConnectionStatus): void;
241
- abstract connect(): void;
242
- abstract disconnect(): void;
243
- abstract handleAwarenessChange(emit: boolean): void;
244
- abstract setAwarenessInfo(field: string, value: unknown): void;
245
- }
246
-
247
- //#endregion
248
- //#region src/plugins/plugin.d.ts
249
- //# sourceMappingURL=store.d.ts.map
250
- declare abstract class WeavePlugin implements WeavePluginBase {
251
- protected instance: Weave;
252
- protected name: string;
253
- protected enabled: boolean;
254
- private logger;
255
- register(instance: Weave): WeavePlugin;
256
- getName(): string;
257
- getLogger(): Logger;
258
- isEnabled(): boolean;
259
- abstract onInit?(): void;
260
- abstract onRender?(): void;
261
- abstract enable(): void;
262
- abstract disable(): void;
263
- }
264
-
265
- //#endregion
266
- //#region src/plugins/nodes-selection/types.d.ts
267
- //# sourceMappingURL=plugin.d.ts.map
268
-
269
- type WeaveNodesSelectionOnSelectionParams = {
270
- resizeEnabled: boolean;
271
- rotateEnabled: boolean;
272
- enabledAnchors: string[];
273
- };
274
- type WeaveNodesSelectionBehaviorsConfig = {
275
- singleSelection: {
276
- enabled: boolean;
277
- };
278
- multipleSelection: {
279
- enabled: boolean;
280
- };
281
- onMultipleSelection?: (selectedNodes: Konva.Node[]) => Partial<WeaveNodesSelectionOnSelectionParams>;
282
- };
283
- type WeaveNodesSelectionPanningOnSelectionConfig = {
284
- edgeThreshold: number;
285
- minScrollSpeed: number;
286
- maxScrollSpeed: number;
287
- };
288
- type WeaveNodesSelectionConfig = {
289
- selection: Konva.TransformerConfig;
290
- hover: Konva.TransformerConfig;
291
- selectionArea: Konva.RectConfig;
292
- panningWhenSelection: WeaveNodesSelectionPanningOnSelectionConfig;
293
- behaviors: WeaveNodesSelectionBehaviorsConfig;
294
- };
295
- type WeaveNodesSelectionPluginConfig = Partial<WeaveNodesSelectionConfig>;
296
- type WeaveNodesSelectionPluginParams = {
297
- config?: WeaveNodesSelectionPluginConfig;
298
- };
299
-
300
- //#endregion
301
- //#region src/plugins/context-menu/types.d.ts
302
- //# sourceMappingURL=types.d.ts.map
303
- type WeaveStageContextMenuPluginParams = {
304
- config?: WeaveStageContextMenuPluginConfig;
305
- };
306
- type WeaveStageContextMenuPluginConfig = {
307
- xOffset?: number;
308
- yOffset?: number;
309
- };
310
- //#endregion
311
- //#region src/plugins/context-menu/context-menu.d.ts
312
- //# sourceMappingURL=types.d.ts.map
313
- declare class WeaveContextMenuPlugin extends WeavePlugin {
314
- private config;
315
- private contextMenuVisible;
316
- private tapHold;
317
- private tapHoldTimeout;
318
- private pointers;
319
- private timer;
320
- protected tapStart: {
321
- x: number;
322
- y: number;
323
- time: number;
324
- } | null;
325
- getLayerName: undefined;
326
- initLayer: undefined;
327
- onRender: undefined;
328
- constructor(params: WeaveStageContextMenuPluginParams);
329
- getName(): string;
330
- onInit(): void;
331
- isPressed(e: KonvaEventObject<PointerEvent, Stage>): boolean;
332
- setTapStart(e: KonvaEventObject<PointerEvent, Stage>): void;
333
- triggerContextMenu(eventTarget: Konva.Node, target: Konva.Node | undefined): void;
334
- closeContextMenu(): void;
335
- private getSelectionPlugin;
336
- cancelLongPressTimer(): void;
337
- private initEvents;
338
- private getStageClickPoint;
339
- isContextMenuVisible(): boolean;
340
- isTapHold(): boolean;
341
- enable(): void;
342
- disable(): void;
343
- }
344
-
345
- //#endregion
346
- //#region src/plugins/nodes-edge-snapping/constants.d.ts
347
- //# sourceMappingURL=context-menu.d.ts.map
348
-
349
- declare const GUIDE_ORIENTATION: {
350
- readonly HORIZONTAL: "H";
351
- readonly VERTICAL: "V";
352
- };
353
- declare const NODE_SNAP: {
354
- readonly START: "start";
355
- readonly CENTER: "center";
356
- readonly END: "end";
357
- };
358
-
359
- //#endregion
360
- //#region src/plugins/nodes-edge-snapping/types.d.ts
361
- //# sourceMappingURL=constants.d.ts.map
362
- type NodeSnapKeys = keyof typeof NODE_SNAP;
363
- type NodeSnap = (typeof NODE_SNAP)[NodeSnapKeys];
364
- type NodeSnappingEdge = {
365
- nodeId: string;
366
- guide: number;
367
- offset: number;
368
- snap: NodeSnap;
369
- };
370
- type NodeSnappingEdges = {
371
- vertical: NodeSnappingEdge[];
372
- horizontal: NodeSnappingEdge[];
373
- };
374
- type LineGuideStop = {
375
- vertical: number[];
376
- horizontal: number[];
377
- };
378
- type GuideOrientationKeys = keyof typeof GUIDE_ORIENTATION;
379
- type GuideOrientation = (typeof GUIDE_ORIENTATION)[GuideOrientationKeys];
380
- type Guide = {
381
- lineGuide: number;
382
- offset: number;
383
- orientation: GuideOrientation;
384
- snap: NodeSnap;
385
- };
386
- type WeaveNodesEdgeSnappingPluginConfig = {
387
- guideLine: Konva.LineConfig;
388
- dragSnappingThreshold: number;
389
- transformSnappingThreshold: number;
390
- };
391
- type WeaveNodesEdgeSnappingPluginParams = {
392
- config?: WeaveNodesEdgeSnappingPluginConfig;
393
- };
394
-
395
- //#endregion
396
- //#region src/plugins/nodes-edge-snapping/nodes-edge-snapping.d.ts
397
- //# sourceMappingURL=types.d.ts.map
398
- declare class WeaveNodesEdgeSnappingPlugin extends WeavePlugin {
399
- private readonly guideLineConfig;
400
- private readonly dragSnappingThreshold;
401
- private readonly transformSnappingThreshold;
402
- onRender: undefined;
403
- constructor(params?: Partial<WeaveNodesEdgeSnappingPluginParams>);
404
- getName(): string;
405
- onInit(): void;
406
- setEnabled(enabled: boolean): void;
407
- deleteGuides(): void;
408
- evaluateGuidelines(e: KonvaEventObject<any>): void;
409
- private getSelectionParentNode;
410
- cleanupGuidelines(): void;
411
- private initEvents;
412
- getLineGuideStops(nodes: Konva.Node[]): LineGuideStop;
413
- getObjectSnappingEdges(node: Konva.Node): NodeSnappingEdges;
414
- getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges, type: string): Guide[];
415
- private sortedGuides;
416
- drawGuides(guides: Guide[]): void;
417
- enable(): void;
418
- disable(): void;
419
- }
420
-
421
- //#endregion
422
- //#region src/plugins/nodes-distance-snapping/constants.d.ts
423
- //# sourceMappingURL=nodes-edge-snapping.d.ts.map
424
-
425
- type WeaveNodesDistanceSnappingPluginConfig = {
426
- enterSnappingTolerance: number;
427
- exitSnappingTolerance: number;
428
- ui: WeaveNodesDistanceSnappingUIConfig;
429
- };
430
- type WeaveNodesDistanceSnappingPluginParams = {
431
- config?: DeepPartial<WeaveNodesDistanceSnappingPluginConfig>;
432
- };
433
- type WeaveNodesDistanceSnappingUIConfig = {
434
- line: {
435
- stroke: string;
436
- strokeWidth: number;
437
- };
438
- label: {
439
- height: number;
440
- cornerRadius: number;
441
- fill: string;
442
- fontSize: number;
443
- fontFamily: string;
444
- fontStyle: string;
445
- linePadding: number;
446
- paddingX: number;
447
- };
448
- };
449
-
450
- //#endregion
451
- //#region src/plugins/nodes-distance-snapping/nodes-distance-snapping.d.ts
452
- //# sourceMappingURL=types.d.ts.map
453
- declare class WeaveNodesDistanceSnappingPlugin extends WeavePlugin {
454
- private readonly uiConfig;
455
- private readonly enterSnappingTolerance;
456
- private readonly exitSnappingTolerance;
457
- private peerDistanceX;
458
- private peerDistanceY;
459
- private snapPositionX;
460
- private snapPositionY;
461
- private currentSizeSnapHorizontal;
462
- private currentSizeSnapVertical;
463
- private referenceLayer;
464
- onRender: undefined;
465
- constructor(params?: Partial<WeaveNodesDistanceSnappingPluginParams>);
466
- getName(): string;
467
- onInit(): void;
468
- setEnabled(enabled: boolean): void;
469
- deleteGuides(): void;
470
- evaluateGuidelines(e: KonvaEventObject<any>): void;
471
- private getBoxClientRect;
472
- private getSelectionParentNode;
473
- private getPeers;
474
- private validateHorizontalSnapping;
475
- private validateVerticalSnapping;
476
- private setNodeClientRectX;
477
- private setNodeClientRectY;
478
- cleanupGuidelines(): void;
479
- private initEvents;
480
- private isOverlapping;
481
- private getVerticallyIntersectingNodes;
482
- private getHorizontallyIntersectingNodes;
483
- private drawSizeGuidesHorizontally;
484
- private drawSizeGuidesVertically;
485
- private renderDistanceLabel;
486
- private renderHorizontalLineWithDistanceBetweenNodes;
487
- private renderVerticalLineWithDistanceBetweenNodes;
488
- enable(): void;
489
- disable(): void;
490
- }
491
-
492
- //#endregion
493
- //#region src/plugins/stage-grid/constants.d.ts
494
- //# sourceMappingURL=nodes-distance-snapping.d.ts.map
495
-
496
- declare const WEAVE_GRID_TYPES: {
497
- readonly LINES: "lines";
498
- readonly DOTS: "dots";
499
- };
500
- //#endregion
501
- //#region src/plugins/stage-grid/types.d.ts
502
- //# sourceMappingURL=constants.d.ts.map
503
- type WeaveStageGridPluginConfig = {
504
- type: WeaveStageGridType;
505
- gridColor: string;
506
- gridOriginColor: string;
507
- gridSize: number;
508
- gridMajorEvery?: number;
509
- gridMajorRatio?: number;
510
- gridStroke?: number;
511
- gridDotRadius?: number;
512
- gridDotMaxDotsPerAxis: number;
513
- };
514
- type WeaveStageGridPluginParams = {
515
- config?: Partial<WeaveStageGridPluginConfig>;
516
- };
517
- type WeaveStageGridTypeKeys = keyof typeof WEAVE_GRID_TYPES;
518
- type WeaveStageGridType = (typeof WEAVE_GRID_TYPES)[WeaveStageGridTypeKeys];
519
-
520
- //#endregion
521
- //#region src/plugins/stage-grid/stage-grid.d.ts
522
- //# sourceMappingURL=types.d.ts.map
523
- declare class WeaveStageGridPlugin extends WeavePlugin {
524
- private moveToolActive;
525
- private isMouseMiddleButtonPressed;
526
- private isSpaceKeyPressed;
527
- private config;
528
- constructor(params?: Partial<WeaveStageGridPluginParams>);
529
- getName(): string;
530
- getLayerName(): string;
531
- initLayer(): void;
532
- onInit(): void;
533
- private initEvents;
534
- getLayer(): Konva.Layer | undefined;
535
- getAdaptiveSpacing(scale: number): number;
536
- private getAdjustedSpacing;
537
- private renderGridLines;
538
- private renderGridDots;
539
- renderGrid(): void;
540
- onRender(): void;
541
- enable(): void;
542
- disable(): void;
543
- getType(): WeaveStageGridType;
544
- setType(type: WeaveStageGridType): void;
545
- }
546
-
547
- //#endregion
548
- //#region src/plugins/stage-zoom/constants.d.ts
549
- //# sourceMappingURL=stage-grid.d.ts.map
550
-
551
- type WeaveStageZoomPluginConfig = {
552
- zoomSteps: number[];
553
- defaultZoom: number;
554
- fitToScreen: {
555
- padding: number;
556
- };
557
- fitToSelection: {
558
- padding: number;
559
- };
560
- zoomInertia: {
561
- friction: number;
562
- mouseWheelStep: number;
563
- trackpadStep: number;
564
- };
565
- };
566
- type WeaveStageZoomPluginParams = {
567
- config?: DeepPartial<WeaveStageZoomPluginConfig>;
568
- };
569
-
570
- //#endregion
571
- //#region src/plugins/stage-zoom/stage-zoom.d.ts
572
- //# sourceMappingURL=types.d.ts.map
573
- declare class WeaveStageZoomPlugin extends WeavePlugin {
574
- private isCtrlOrMetaPressed;
575
- protected previousPointer: string | null;
576
- getLayerName: undefined;
577
- initLayer: undefined;
578
- onRender: undefined;
579
- private config;
580
- private actualScale;
581
- private actualStep;
582
- private updatedMinimumZoom;
583
- private pinching;
584
- private zooming;
585
- private isTrackpad;
586
- private zoomVelocity;
587
- private zoomInertiaType;
588
- defaultStep: number;
589
- constructor(params?: WeaveStageZoomPluginParams);
590
- getName(): string;
591
- onInit(): void;
592
- private setZoom;
593
- canZoomOut(): boolean;
594
- canZoomIn(): boolean;
595
- zoomToStep(step: number): void;
596
- private findClosestStepIndex;
597
- zoomIn(pointer?: Konva.Vector2d): void;
598
- zoomOut(pointer?: Konva.Vector2d): void;
599
- minimumZoom(): number;
600
- fitToScreen(): void;
601
- fitToSelection(smartZoom?: boolean): void;
602
- enable(): void;
603
- disable(): void;
604
- getDistance(p1: Konva.Vector2d, p2: Konva.Vector2d): number;
605
- getCenter(p1: Konva.Vector2d, p2: Konva.Vector2d): {
606
- x: number;
607
- y: number;
608
- };
609
- private initEvents;
610
- getInertiaScale(): number;
611
- zoomTick(): void;
612
- isPinching(): boolean;
613
- getStageGridPlugin(): WeaveStageGridPlugin | undefined;
614
- getNodesSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
615
- getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
616
- }
617
-
618
- //#endregion
619
- //#region src/plugins/stage-panning/types.d.ts
620
- //# sourceMappingURL=stage-zoom.d.ts.map
621
- type WeaveStagePanningPluginParams = {
622
- config?: Partial<WeaveStagePanningPluginConfig>;
623
- };
624
- type WeaveStagePanningPluginConfig = {
625
- edgePanOffset: number;
626
- edgePanSpeed: number;
627
- };
628
-
629
- //#endregion
630
- //#region src/plugins/stage-panning/stage-panning.d.ts
631
- //# sourceMappingURL=types.d.ts.map
632
-
633
- declare class WeaveStagePanningPlugin extends WeavePlugin {
634
- private readonly config;
635
- private moveToolActive;
636
- private isMouseLeftButtonPressed;
637
- private isMouseMiddleButtonPressed;
638
- private isCtrlOrMetaPressed;
639
- private isDragging;
640
- private enableMove;
641
- private isSpaceKeyPressed;
642
- private pointers;
643
- private panning;
644
- protected previousPointer: string | null;
645
- protected currentPointer: Konva.Vector2d | null;
646
- protected stageScrollInterval: NodeJS.Timeout | undefined;
647
- protected targetScrollIntervals: Record<string, NodeJS.Timeout | undefined>;
648
- getLayerName: undefined;
649
- initLayer: undefined;
650
- onRender: undefined;
651
- constructor(params?: WeaveStagePanningPluginParams);
652
- getName(): string;
653
- onInit(): void;
654
- private setCursor;
655
- private disableMove;
656
- private initEvents;
657
- isPanning(): boolean;
658
- getDistance(p1: Konva.Vector2d, p2: Konva.Vector2d): number;
659
- getTouchCenter(): {
660
- x: number;
661
- y: number;
662
- } | null;
663
- getZoomPlugin(): WeaveStageZoomPlugin | undefined;
664
- getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
665
- getNodesSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
666
- getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
667
- getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
668
- getStageGridPlugin(): WeaveStageGridPlugin | undefined;
669
- getCurrentPointer(): konva_lib_types6.Vector2d | null;
670
- cleanupEdgeMoveIntervals(): void;
671
- enable(): void;
672
- disable(): void;
673
- }
674
-
675
- //#endregion
676
- //#region src/plugins/nodes-selection/nodes-selection.d.ts
677
- //# sourceMappingURL=stage-panning.d.ts.map
678
- declare class WeaveNodesSelectionPlugin extends WeavePlugin {
679
- private tr;
680
- private trHover;
681
- private config;
682
- private selectionRectangle;
683
- private active;
684
- private defaultEnabledAnchors;
685
- private selecting;
686
- private didMove;
687
- private initialized;
688
- private isSpaceKeyPressed;
689
- protected taps: number;
690
- protected isDoubleTap: boolean;
691
- protected tapStart: {
692
- x: number;
693
- y: number;
694
- time: number;
695
- } | null;
696
- protected lastTapTime: number;
697
- private x1;
698
- private y1;
699
- private x2;
700
- private y2;
701
- private selectionStart;
702
- private panSpeed;
703
- private readonly panDirection;
704
- private pointers;
705
- private panLoopId;
706
- onRender: undefined;
707
- constructor(params?: WeaveNodesSelectionPluginParams);
708
- getName(): string;
709
- getLayerName(): string;
710
- initLayer(): void;
711
- isPasting(): boolean;
712
- isAreaSelecting(): boolean;
713
- isSelecting(): boolean;
714
- isNodeSelected(ele: Konva.Node): boolean;
715
- onInit(): void;
716
- private getLayer;
717
- triggerSelectedNodesEvent(): void;
718
- removeSelectedNodes(): void;
719
- private updateSelectionRect;
720
- private getSpeedFromEdge;
721
- private updatePanDirection;
722
- private stopPanLoop;
723
- private panLoop;
724
- private setTapStart;
725
- private checkMovedDrag;
726
- private checkMoved;
727
- private checkDoubleTap;
728
- private hideSelectorArea;
729
- private initEvents;
730
- private handleMultipleSelectionBehavior;
731
- protected syncSelection(): void;
732
- protected getSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
733
- protected hideHoverState(): void;
734
- handleClickOrTap(e: KonvaEventObject<PointerEvent, Stage>): void;
735
- getTransformer(): Konva.Transformer;
736
- getHoverTransformer(): Konva.Transformer;
737
- handleBehaviors(): void;
738
- setSelectedNodes(nodes: Konva.Node[]): void;
739
- getSelectedNodes(): (Konva.Group | Konva.Shape)[];
740
- getSelectedNodesExtended(): WeaveSelection[];
741
- selectAll(): void;
742
- selectNone(): void;
743
- enable(): void;
744
- disable(): void;
745
- getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
746
- getStageGridPlugin(): WeaveStageGridPlugin | undefined;
747
- getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
748
- getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
749
- getStagePanningPlugin(): WeaveStagePanningPlugin | undefined;
750
- getSelectorConfig(): TransformerConfig;
751
- }
752
-
753
- //#endregion
754
- //#region src/nodes/node.d.ts
755
- //# sourceMappingURL=nodes-selection.d.ts.map
756
- declare abstract class WeaveNode implements WeaveNodeBase {
757
- protected instance: Weave;
758
- protected nodeType: string;
759
- protected didMove: boolean;
760
- private logger;
761
- protected previousPointer: string | null;
762
- register(instance: Weave): WeaveNode;
763
- getNodeType(): string;
764
- getLogger(): Logger;
765
- getSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
766
- isSelecting(): boolean;
767
- isPasting(): boolean;
768
- setupDefaultNodeAugmentation(node: Konva.Node): void;
769
- isNodeSelected(ele: Konva.Node): boolean;
770
- scaleReset(node: Konva.Node): void;
771
- protected setHoverState(node: Konva.Node): void;
772
- protected hideHoverState(): void;
773
- setupDefaultNodeEvents(node: Konva.Node): void;
774
- handleMouseOver(node: Konva.Node): boolean;
775
- handleMouseout(node: Konva.Node): void;
776
- create(key: string, props: WeaveElementAttributes): WeaveStateElement;
777
- onAdd(nodeInstance: WeaveElementInstance): void;
778
- abstract onRender(props: WeaveElementAttributes): WeaveElementInstance;
779
- abstract onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
780
- onDestroy(nodeInstance: WeaveElementInstance): void;
781
- serialize(instance: WeaveElementInstance): WeaveStateElement;
782
- show(instance: Konva.Node): void;
783
- hide(instance: Konva.Node): void;
784
- isVisible(instance: Konva.Node): boolean;
785
- lock(instance: Konva.Node): void;
786
- unlock(instance: Konva.Node): void;
787
- isLocked(instance: Konva.Node): boolean;
788
- protected defaultGetTransformerProperties(nodeTransformConfig?: any): any;
789
- private getNodesSelectionPlugin;
790
- getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
791
- getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
792
- realOffset(instance: WeaveStateElement): Konva.Vector2d;
793
- private getRealSelectedNode;
794
- }
795
-
796
- //#endregion
797
- //#region src/actions/action.d.ts
798
- //# sourceMappingURL=node.d.ts.map
799
- declare abstract class WeaveAction implements WeaveActionBase {
800
- protected instance: Weave;
801
- protected name: string;
802
- protected tapStart: {
803
- x: number;
804
- y: number;
805
- time: number;
806
- } | null;
807
- props: WeaveElementAttributes;
808
- private logger;
809
- constructor();
810
- getName(): string;
811
- getLogger(): Logger;
812
- register(instance: Weave): WeaveAction;
813
- updateProps(props: WeaveElementAttributes): void;
814
- getProps(): WeaveElementAttributes;
815
- isPressed(e: KonvaEventObject<PointerEvent, Konva.Stage>): boolean;
816
- setTapStart(e: KonvaEventObject<PointerEvent, Konva.Stage>): void;
817
- isTap(e: KonvaEventObject<PointerEvent, Konva.Stage>): boolean;
818
- abstract onInit?(): void;
819
- abstract trigger(cancelAction: () => void, params?: unknown): unknown;
820
- abstract onPropsChange?(): void;
821
- abstract cleanup?(): void;
822
- }
823
-
824
- //#endregion
825
- //#region src/logger/logger.d.ts
826
- //# sourceMappingURL=action.d.ts.map
827
- declare class WeaveLogger {
828
- private config;
829
- private disabled;
830
- private logger;
831
- constructor(config: WeaveLoggerConfig);
832
- private log;
833
- getDisabled(): boolean;
834
- getLevel(): pino.LevelWithSilentOrString;
835
- getLogger(): Logger;
836
- getChildLogger(name: string): pino.Logger<never, boolean>;
837
- }
838
-
839
- //#endregion
840
- //#region src/managers/cloning.d.ts
841
- //# sourceMappingURL=logger.d.ts.map
842
- declare class WeaveCloningManager {
843
- private instance;
844
- private logger;
845
- private clones;
846
- constructor(instance: Weave);
847
- nodesToGroupSerialized(instancesToClone: Konva.Node[]): {
848
- serializedNodes: WeaveStateElement[];
849
- minPoint: Konva.Vector2d;
850
- } | undefined;
851
- cloneNodes(instancesToClone: Konva.Node[], targetContainer: Konva.Group | Konva.Layer | undefined, onPoint: Konva.Vector2d): void;
852
- private recursivelyUpdateKeys;
853
- cloneNode(targetNode: Konva.Node): Konva.Node | undefined;
854
- addClone(node: Konva.Node): void;
855
- removeClone(node: Konva.Node): void;
856
- getClones(): konva_lib_Node9.Node<konva_lib_Node8.NodeConfig>[];
857
- isClone(node: Konva.Node): konva_lib_Node11.Node<konva_lib_Node10.NodeConfig> | undefined;
858
- cleanupClones(): void;
859
- }
860
-
861
- //#endregion
862
- //#region src/managers/register.d.ts
863
- //# sourceMappingURL=cloning.d.ts.map
864
- declare class WeaveRegisterManager {
865
- private instance;
866
- private nodesHandlers;
867
- private actionsHandlers;
868
- private plugins;
869
- private logger;
870
- constructor(instance: Weave);
871
- getPlugins(): Record<string, WeavePlugin>;
872
- getNodesHandlers(): Record<string, WeaveNode>;
873
- getActionsHandlers(): Record<string, WeaveAction>;
874
- getPlugin<T>(pluginName: string): T | undefined;
875
- getActionHandler<T>(actionName: string): T | undefined;
876
- getNodeHandler<T>(nodeType: string): T | undefined;
877
- registerPlugins(): void;
878
- registerPlugin(plugin: WeavePlugin): void;
879
- registerNodesHandlers(): void;
880
- registerNodeHandler(node: WeaveNode): void;
881
- registerActionsHandlers(): void;
882
- registerActionHandler(action: WeaveAction): void;
883
- }
884
-
885
- //#endregion
886
- //#region src/managers/stage.d.ts
887
- //# sourceMappingURL=register.d.ts.map
888
- declare class WeaveStageManager {
889
- private instance;
890
- private logger;
891
- private stage;
892
- private config;
893
- constructor(instance: Weave, config: Konva.StageConfig);
894
- getConfiguration(): StageConfig;
895
- setStage(stage: Konva.Stage): void;
896
- getStage(): Konva.Stage;
897
- getMainLayer(): Konva.Layer | undefined;
898
- getSelectionLayer(): Konva.Layer | undefined;
899
- getCommentsLayer(): Konva.Layer | undefined;
900
- getGridLayer(): Konva.Layer | undefined;
901
- getUtilityLayer(): Konva.Layer | undefined;
902
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
903
- initStage(): void;
904
- getContainerNodes(): WeaveElementInstance[];
905
- }
906
-
907
- //#endregion
908
- //#region src/types.d.ts
909
- //# sourceMappingURL=stage.d.ts.map
910
- type DOMElement = HTMLElement | Element | null;
911
-
912
- //#endregion
913
- //#region src/weave.d.ts
914
- declare class Weave {
915
- private id;
916
- private emitter;
917
- private config;
918
- private logger;
919
- private moduleLogger;
920
- private reconciler;
921
- private stateSerializer;
922
- private renderer;
923
- private initialized;
924
- private status;
925
- private setupManager;
926
- private registerManager;
927
- private stateManager;
928
- private storeManager;
929
- private stageManager;
930
- private groupsManager;
931
- private targetingManager;
932
- private cloningManager;
933
- private fontsManager;
934
- private zIndexManager;
935
- private pluginsManager;
936
- private actionsManager;
937
- private exportManager;
938
- private readonly asyncElements;
939
- constructor(weaveConfig: WeaveConfig, stageConfig: Konva.StageConfig);
940
- setupRenderer(): void;
941
- setStatus(status: WeaveStatus): void;
942
- getStatus(): WeaveStatus;
943
- setStore(store: WeaveStore): void;
944
- private handleStoreConnectionStatusChange;
945
- start(): Promise<void>;
946
- destroy(): void;
947
- getId(): string;
948
- getConfiguration(): WeaveConfig;
949
- augmentKonvaStageClass(): void;
950
- augmentKonvaNodeClass(config?: WeaveNodeConfiguration): void;
951
- emitEvent<T>(event: string, payload?: T): void;
952
- addEventListener<T>(event: string, callback: (payload: T) => void): void;
953
- removeEventListener<T>(event: string, callback: (payload: T) => void): void;
954
- getLogger(): WeaveLogger;
955
- getMainLogger(): Logger;
956
- getChildLogger(name: string): pino.Logger<never, boolean>;
957
- getStageManager(): WeaveStageManager;
958
- getStage(): Konva.Stage;
959
- getMainLayer(): Konva.Layer | undefined;
960
- getSelectionLayer(): Konva.Layer | undefined;
961
- getCommentsLayer(): Konva.Layer | undefined;
962
- getGridLayer(): Konva.Layer | undefined;
963
- getUtilityLayer(): Konva.Layer | undefined;
964
- setStage(stage: Konva.Stage): void;
965
- getStageConfiguration(): StageConfig;
966
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
967
- getContainerNodes(): WeaveElementInstance[];
968
- getClosestParentWithWeaveId(el: DOMElement): DOMElement;
969
- getRegisterManager(): WeaveRegisterManager;
970
- getPlugins(): Record<string, WeavePlugin>;
971
- getPlugin<T>(pluginName: string): T | undefined;
972
- getNodesHandlers(): Record<string, WeaveNode>;
973
- getNodeHandler<T>(nodeType: string): T | undefined;
974
- getActionsHandlers(): Record<string, WeaveAction>;
975
- getActionHandler<T>(actionName: string): T | undefined;
976
- getStore<T extends WeaveStore>(): T;
977
- registerPlugin(plugin: WeavePlugin): void;
978
- registerNodeHandler(node: WeaveNode): void;
979
- registerActionHandler(action: WeaveAction): void;
980
- registerStore(store: WeaveStore): void;
981
- isPluginEnabled(pluginName: string): boolean;
982
- enablePlugin(pluginName: string): void;
983
- disablePlugin(pluginName: string): void;
984
- getActiveAction(): string | undefined;
985
- triggerAction<T, P>(actionName: string, params?: T): P;
986
- getPropsAction(actionName: string): WeaveElementAttributes;
987
- updatePropsAction(actionName: string, params: WeaveElementAttributes): void;
988
- cancelAction(actionName: string): void;
989
- update(newState: WeaveState): void;
990
- render(): void;
991
- findNodeById(tree: WeaveStateElement, key: string, parent?: WeaveStateElement | null, index?: number): WeaveNodeFound;
992
- findNodesByType(tree: WeaveStateElement, nodeType: string): WeaveStateElement[];
993
- getNode(nodeKey: string): {
994
- node: WeaveStateElement | null;
995
- parent: WeaveStateElement | null;
996
- index: number;
997
- };
998
- addNode(node: WeaveStateElement, parentId?: string, index?: number | undefined): void;
999
- updateNode(node: WeaveStateElement): void;
1000
- updateNodes(nodes: WeaveStateElement[]): void;
1001
- removeNode(node: WeaveStateElement): void;
1002
- removeNodes(nodes: WeaveStateElement[]): void;
1003
- moveNode(node: WeaveStateElement, position: WeavePosition): void;
1004
- getElementsTree(): WeaveStateElement[];
1005
- isEmpty(): boolean;
1006
- getNodeContainerId(node: WeaveElementInstance | Konva.Node): string;
1007
- getNodeContainer(node: WeaveElementInstance | Konva.Node): Konva.Node | null;
1008
- getBoundingBox(nodes: Konva.Node[], config?: {
1009
- skipTransform?: boolean;
1010
- skipShadow?: boolean;
1011
- skipStroke?: boolean;
1012
- relativeTo?: Konva.Container;
1013
- } | undefined): {
1014
- x: number;
1015
- y: number;
1016
- width: number;
1017
- height: number;
1018
- };
1019
- moveUp(node: WeaveElementInstance): void;
1020
- moveDown(node: WeaveElementInstance): void;
1021
- sendToBack(nodes: WeaveElementInstance | WeaveElementInstance[]): void;
1022
- bringToFront(nodes: WeaveElementInstance | WeaveElementInstance[]): void;
1023
- group(nodes: WeaveStateElement[]): void;
1024
- unGroup(group: WeaveStateElement): void;
1025
- resolveNode(node: Konva.Node): WeaveElementInstance | undefined;
1026
- pointIntersectsElement(point?: Konva.Vector2d): Konva.Node | null;
1027
- nodeIntersectsContainerElement(node: Konva.Node | Konva.Transformer, actualLayer?: Konva.Layer | Konva.Group): Konva.Node | undefined;
1028
- getMousePointer(point?: Konva.Vector2d): WeaveMousePointInfo;
1029
- getMousePointerRelativeToContainer(container: Konva.Node | Konva.Layer): WeaveMousePointInfoSimple;
1030
- selectNodesByKey(nodesIds: string[]): void;
1031
- getCloningManager(): WeaveCloningManager;
1032
- nodesToGroupSerialized(instancesToClone: Konva.Node[]): WeaveSerializedGroup;
1033
- cloneNodes(instancesToClone: Konva.Node[], targetContainer: Konva.Layer | Konva.Group | undefined, onPoint: Konva.Vector2d): void;
1034
- getFonts(): WeaveFont[];
1035
- imageToBase64(img: HTMLImageElement, mimeType: string): string;
1036
- exportNodes(nodes: WeaveElementInstance[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<HTMLImageElement>;
1037
- exportNodesServerSide(nodes: string[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<{
1038
- composites: {
1039
- input: Buffer;
1040
- left: number;
1041
- top: number;
1042
- }[];
1043
- width: number;
1044
- height: number;
1045
- }>;
1046
- allNodesLocked(nodes: Konva.Node[]): boolean;
1047
- allNodesUnlocked(nodes: Konva.Node[]): boolean;
1048
- lockNode(node: Konva.Node): void;
1049
- lockNodes(nodes: Konva.Node[]): void;
1050
- unlockNode(node: Konva.Node): void;
1051
- unlockNodes(nodes: Konva.Node[]): void;
1052
- allNodesVisible(nodes: Konva.Node[]): boolean;
1053
- allNodesHidden(nodes: Konva.Node[]): boolean;
1054
- hideNode(node: Konva.Node): void;
1055
- hideNodes(nodes: Konva.Node[]): void;
1056
- showNode(node: Konva.Node): void;
1057
- showNodes(nodes: Konva.Node[]): void;
1058
- asyncElementsLoaded(): boolean;
1059
- loadAsyncElement(nodeId: string, type: string): void;
1060
- resolveAsyncElement(nodeId: string, type: string): void;
1061
- isServerSide(): boolean;
1062
- } //#endregion
1063
- //#region ../types/dist/types.d.ts
1064
-
1065
- //#endregion
1066
- //#region src/stores/types.d.ts
1067
- //# sourceMappingURL=weave.d.ts.map
1068
- //#endregion
1069
- //#region src/base/store.d.ts
1070
- type WeaveStoreOptions = {
1071
- getUser: () => WeaveUser;
1072
- undoManagerOptions?: WeaveUndoManagerOptions;
1073
- };
1074
- type WeaveUser = {
1075
- id: string;
1076
- name: string;
1077
- email: string;
1078
- [key: string]: any;
1079
- };
1080
- type WeaveUndoManagerOptions = {
1081
- captureTimeout?: number;
1082
- trackedOrigins?: Set<any>;
1083
- };
4
+ import { Doc } from "yjs";
5
+ import { IncomingMessage } from "http";
1084
6
 
1085
- //#endregion
1086
7
  //#region src/types.d.ts
1087
8
  type WeaveStoreWebsocketsOptions = {
1088
9
  roomId: string;
@@ -1092,7 +13,7 @@ type WeaveStoreWebsocketsOptions = {
1092
13
  };
1093
14
  type PerformUpgrade = (req: IncomingMessage) => Promise<boolean>;
1094
15
  type ExtractRoomId = (req: IncomingMessage) => string | undefined;
1095
- type FetchInitialState = (doc: Y.Doc) => void;
16
+ type FetchInitialState = (doc: Doc) => void;
1096
17
  type PersistRoom = (roomId: string, actualState: Uint8Array<ArrayBufferLike>) => Promise<void>;
1097
18
  type FetchRoom = (roomId: string) => Promise<Uint8Array | null>;
1098
19
 
package/dist/client.js CHANGED
@@ -1,29 +1,7 @@
1
- import { WeaveStore } from "@inditextech/weave-sdk/client";
2
- import Konva from "konva";
3
- import "yjs";
4
- import { IncomingMessage } from "http";
1
+ import { WeaveStore } from "@inditextech/weave-sdk";
2
+ import { WEAVE_STORE_CONNECTION_STATUS } from "@inditextech/weave-types";
5
3
  import { WebsocketProvider } from "y-websocket";
6
4
 
7
- //#region ../types/dist/types.js
8
- const WEAVE_TRANSFORMER_ANCHORS = {
9
- ["TOP_LEFT"]: "top-left",
10
- ["TOP_CENTER"]: "top-center",
11
- ["TOP_RIGHT"]: "top-right",
12
- ["MIDDLE_RIGHT"]: "middle-right",
13
- ["MIDDLE_LEFT"]: "middle-left",
14
- ["BOTTOM_LEFT"]: "bottom-left",
15
- ["BOTTOM_CENTER"]: "bottom-center",
16
- ["BOTTOM_RIGHT"]: "bottom-right"
17
- };
18
- const WEAVE_DEFAULT_ENABLED_ANCHORS = Object.values(WEAVE_TRANSFORMER_ANCHORS);
19
- const WEAVE_STORE_CONNECTION_STATUS = {
20
- ["ERROR"]: "error",
21
- ["CONNECTING"]: "connecting",
22
- ["CONNECTED"]: "connected",
23
- ["DISCONNECTED"]: "disconnected"
24
- };
25
-
26
- //#endregion
27
5
  //#region src/constants.ts
28
6
  const WEAVE_STORE_WEBSOCKETS = "store-websockets";
29
7
 
package/dist/server.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import http, { IncomingMessage } from "http";
2
- import https from "https";
3
- import * as Y from "yjs";
1
+ import { Doc } from "yjs";
2
+ import { Server } from "node:http";
4
3
  import Redis from "ioredis";
4
+ import { Server as Server$1 } from "node:https";
5
5
  import Emittery from "emittery";
6
- import "konva";
6
+ import { IncomingMessage } from "http";
7
+ import { WeaveStoreHorizontalSyncConfig, WeaveStoreHorizontalSyncRedisConfig } from "@inditextech/weave-types";
7
8
 
8
9
  //#region src/types.d.ts
9
10
  type WeaveStoreWebsocketsOptions = {
@@ -14,23 +15,11 @@ type WeaveStoreWebsocketsOptions = {
14
15
  };
15
16
  type PerformUpgrade = (req: IncomingMessage) => Promise<boolean>;
16
17
  type ExtractRoomId = (req: IncomingMessage) => string | undefined;
17
- type FetchInitialState = (doc: Y.Doc) => void;
18
+ type FetchInitialState = (doc: Doc) => void;
18
19
  type PersistRoom = (roomId: string, actualState: Uint8Array<ArrayBufferLike>) => Promise<void>;
19
20
  type FetchRoom = (roomId: string) => Promise<Uint8Array | null>;
20
21
 
21
22
  //#endregion
22
- //#region ../types/dist/types.d.ts
23
-
24
- type WeaveStoreHorizontalSyncRedisConfig = {
25
- host: string;
26
- port: number;
27
- keyPrefix: string;
28
- password?: string;
29
- };
30
- type WeaveStoreHorizontalSyncConfig = {
31
- type: "redis";
32
- config: WeaveStoreHorizontalSyncRedisConfig;
33
- }; //#endregion
34
23
  //#region src/server/horizontal-sync-handler/redis/client.d.ts
35
24
  declare class WeaveHorizontalSyncHandlerRedis {
36
25
  private server;
@@ -76,7 +65,7 @@ declare class WeaveWebsocketsServer extends Emittery {
76
65
  emitEvent<T>(event: string, payload?: T): void;
77
66
  addEventListener<T>(event: string, callback: (payload: T) => void): void;
78
67
  removeEventListener<T>(event: string, callback: (payload: T) => void): void;
79
- handleUpgrade(server: http.Server | https.Server): void;
68
+ handleUpgrade(server: Server | Server$1): void;
80
69
  }
81
70
 
82
71
  //#endregion
package/dist/server.js CHANGED
@@ -1,10 +1,7 @@
1
- import http, { IncomingMessage } from "http";
2
- import https from "https";
3
1
  import { WebSocketServer } from "ws";
4
- import * as Y$2 from "yjs";
5
2
  import * as Y$1 from "yjs";
6
3
  import * as Y from "yjs";
7
- import "node:http";
4
+ import http from "node:http";
8
5
  import Redis from "ioredis";
9
6
 
10
7
  //#region rolldown:runtime
@@ -392,6 +389,10 @@ Object.defineProperty(Emittery, "listenerRemoved", {
392
389
  configurable: false
393
390
  });
394
391
 
392
+ //#endregion
393
+ //#region src/yjs.ts
394
+ var yjs_default = Y$1;
395
+
395
396
  //#endregion
396
397
  //#region ../../node_modules/lib0/math.js
397
398
  /**
@@ -897,7 +898,7 @@ const messageYjsUpdate = 2;
897
898
  */
898
899
  const writeSyncStep1 = (encoder, doc) => {
899
900
  writeVarUint(encoder, messageYjsSyncStep1);
900
- const sv = Y$2.encodeStateVector(doc);
901
+ const sv = Y.encodeStateVector(doc);
901
902
  writeVarUint8Array(encoder, sv);
902
903
  };
903
904
  /**
@@ -907,7 +908,7 @@ const writeSyncStep1 = (encoder, doc) => {
907
908
  */
908
909
  const writeSyncStep2 = (encoder, doc, encodedStateVector) => {
909
910
  writeVarUint(encoder, messageYjsSyncStep2);
910
- writeVarUint8Array(encoder, Y$2.encodeStateAsUpdate(doc, encodedStateVector));
911
+ writeVarUint8Array(encoder, Y.encodeStateAsUpdate(doc, encodedStateVector));
911
912
  };
912
913
  /**
913
914
  * Read SyncStep1 message and reply with SyncStep2.
@@ -926,7 +927,7 @@ const readSyncStep1 = (decoder, encoder, doc) => writeSyncStep2(encoder, doc, re
926
927
  */
927
928
  const readSyncStep2 = (decoder, doc, transactionOrigin) => {
928
929
  try {
929
- Y$2.applyUpdate(doc, readVarUint8Array(decoder), transactionOrigin);
930
+ Y.applyUpdate(doc, readVarUint8Array(decoder), transactionOrigin);
930
931
  } catch (error) {
931
932
  console.error("Caught error while handling a Yjs update", error);
932
933
  }
@@ -1856,7 +1857,7 @@ const getUpdateHandler = (horizontalSyncHandler) => (update, _origin, doc) => {
1856
1857
  doc.conns.forEach((_, conn) => send(doc, conn, message));
1857
1858
  };
1858
1859
  let contentInitializor = () => Promise.resolve();
1859
- var WSSharedDoc = class extends Y$1.Doc {
1860
+ var WSSharedDoc = class extends yjs_default.Doc {
1860
1861
  constructor(name, horizontalSyncHandler) {
1861
1862
  super({ gc: gcEnabled });
1862
1863
  this.topic = name;
@@ -1894,7 +1895,7 @@ var WSSharedDoc = class extends Y$1.Doc {
1894
1895
  horizontalSyncHandler.getSubClient().subscribe(this.topicAwarenessChannel);
1895
1896
  horizontalSyncHandler.getSubClient().on("messageBuffer", (channel, update) => {
1896
1897
  const channelId = channel.toString();
1897
- if (channelId === this.topic) Y$1.applyUpdate(this, update, horizontalSyncHandler.getPubClient());
1898
+ if (channelId === this.topic) yjs_default.applyUpdate(this, update, horizontalSyncHandler.getPubClient());
1898
1899
  else if (channelId === this.topicAwarenessChannel) applyAwarenessUpdate(this.awareness, update, horizontalSyncHandler.getPubClient());
1899
1900
  });
1900
1901
  }
@@ -1906,7 +1907,7 @@ const getYDoc = (docName, initialState, horizontalSyncHandler, gc = true) => set
1906
1907
  const doc = new WSSharedDoc(docName, horizontalSyncHandler);
1907
1908
  doc.gc = gc;
1908
1909
  docs.set(docName, doc);
1909
- if (documentData) Y$1.applyUpdate(doc, documentData);
1910
+ if (documentData) yjs_default.applyUpdate(doc, documentData);
1910
1911
  else initialState(doc);
1911
1912
  await setupRoomPersistence(docName, doc);
1912
1913
  return doc;
@@ -2011,7 +2012,7 @@ const setupWSConnection = (getDocName, initialState, horizontalSyncHandler) => {
2011
2012
  async function setupRoomPersistence(roomId, doc) {
2012
2013
  if (!persistenceMap.has(roomId)) {
2013
2014
  const persistHandler = async () => {
2014
- const actualState = Y$1.encodeStateAsUpdate(doc);
2015
+ const actualState = yjs_default.encodeStateAsUpdate(doc);
2015
2016
  if (actualServer && actualServer.persistRoom) try {
2016
2017
  await actualServer.persistRoom(roomId, actualState);
2017
2018
  } catch (ex) {
@@ -2027,18 +2028,18 @@ async function setupRoomPersistence(roomId, doc) {
2027
2028
  //#endregion
2028
2029
  //#region src/server/default-initial-state.ts
2029
2030
  const yjsLayer = function(id) {
2030
- const newLayerMap = new Y.Map();
2031
+ const newLayerMap = new yjs_default.Map();
2031
2032
  newLayerMap.set("key", id);
2032
2033
  newLayerMap.set("type", "layer");
2033
- const newLayerMapProps = new Y.Map();
2034
+ const newLayerMapProps = new yjs_default.Map();
2034
2035
  newLayerMapProps.set("id", id);
2035
2036
  newLayerMapProps.set("nodeType", "layer");
2036
- newLayerMapProps.set("children", new Y.Array());
2037
+ newLayerMapProps.set("children", new yjs_default.Array());
2037
2038
  newLayerMap.set("props", newLayerMapProps);
2038
2039
  return newLayerMap;
2039
2040
  };
2040
2041
  function defaultInitialState(doc) {
2041
- const children = new Y.Array();
2042
+ const children = new yjs_default.Array();
2042
2043
  children.insert(0, [
2043
2044
  yjsLayer("gridLayer"),
2044
2045
  yjsLayer("mainLayer"),
@@ -2046,7 +2047,7 @@ function defaultInitialState(doc) {
2046
2047
  yjsLayer("usersPointersLayer"),
2047
2048
  yjsLayer("utilityLayer")
2048
2049
  ]);
2049
- const stageProps = new Y.Map();
2050
+ const stageProps = new yjs_default.Map();
2050
2051
  stageProps.set("id", "stage");
2051
2052
  stageProps.set("children", children);
2052
2053
  doc.getMap("weave").set("key", "stage");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inditextech/weave-store-websockets",
3
- "version": "1.0.4",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
@@ -53,12 +53,13 @@
53
53
  "version:release": "npm version $RELEASE_VERSION -m \"[npm-scripts] prepare release $RELEASE_VERSION\" --tag-version-prefix \"\""
54
54
  },
55
55
  "dependencies": {
56
+ "@inditextech/weave-types": "1.1.1",
57
+ "@inditextech/weave-sdk": "1.1.1",
56
58
  "@syncedstore/core": "0.6.0",
57
59
  "ws": "8.18.1",
58
60
  "y-websocket": "3.0.0"
59
61
  },
60
62
  "devDependencies": {
61
- "@inditextech/weave-sdk": "1.0.4",
62
63
  "@types/express": "^5.0.1",
63
64
  "@types/ioredis": "^4.28.10",
64
65
  "@types/koa": "^2.15.0",
@@ -84,7 +85,6 @@
84
85
  "vitest-sonar-reporter": "2.0.0"
85
86
  },
86
87
  "peerDependencies": {
87
- "@inditextech/weave-sdk": ">= 1.x",
88
88
  "konva": "10.0.2",
89
89
  "ioredis": ">= 5.6.1",
90
90
  "yjs": "13.6.27"