@fluidframework/matrix 2.0.0-dev.7.4.0.215930 → 2.0.0-dev.7.4.0.216897
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/api-extractor-lint.json +13 -0
- package/api-report/matrix.api.md +7 -7
- package/dist/matrix-alpha.d.ts +34 -147
- package/dist/matrix-beta.d.ts +34 -147
- package/dist/matrix-public.d.ts +34 -147
- package/dist/matrix-untrimmed.d.ts +7 -8
- package/dist/matrix.cjs +3 -4
- package/dist/matrix.cjs.map +1 -1
- package/dist/matrix.d.ts +4 -5
- package/dist/matrix.d.ts.map +1 -1
- package/dist/packageVersion.cjs +1 -1
- package/dist/packageVersion.cjs.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +2 -2
- package/lib/matrix-alpha.d.ts +34 -147
- package/lib/matrix-beta.d.ts +34 -147
- package/lib/matrix-public.d.ts +34 -147
- package/lib/matrix-untrimmed.d.ts +7 -8
- package/lib/matrix.d.ts +4 -5
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.mjs +3 -4
- package/lib/matrix.mjs.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.mjs +1 -1
- package/lib/packageVersion.mjs.map +1 -1
- package/lib/runtime.d.ts +1 -1
- package/lib/runtime.mjs +1 -1
- package/lib/runtime.mjs.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.mjs.map +1 -1
- package/package.json +16 -15
- package/src/matrix.ts +4 -5
- package/src/packageVersion.ts +1 -1
- package/src/runtime.ts +1 -1
- package/src/types.ts +2 -2
package/lib/matrix-alpha.d.ts
CHANGED
|
@@ -1,154 +1,41 @@
|
|
|
1
|
-
import { IChannel } from '@fluidframework/datastore-definitions';
|
|
2
|
-
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
|
|
3
|
-
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
4
|
-
import { IChannelServices } from '@fluidframework/datastore-definitions';
|
|
5
|
-
import { IChannelStorageService } from '@fluidframework/datastore-definitions';
|
|
6
|
-
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
7
|
-
import { IFluidSerializer } from '@fluidframework/shared-object-base';
|
|
8
|
-
import { IJSONSegment } from '@fluidframework/merge-tree';
|
|
9
1
|
import { IMatrixConsumer } from '@tiny-calc/nano';
|
|
10
2
|
import { IMatrixProducer } from '@tiny-calc/nano';
|
|
11
3
|
import { IMatrixReader } from '@tiny-calc/nano';
|
|
12
4
|
import { IMatrixWriter } from '@tiny-calc/nano';
|
|
13
5
|
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* Fluid's SharedMatrix implementation works equally well for dense and sparse
|
|
49
|
-
* matrix data and physically stores data in Z-order to leverage CPU caches and
|
|
50
|
-
* prefetching when reading in either row or column major order. (See README.md
|
|
51
|
-
* for more details.)
|
|
52
|
-
*
|
|
53
|
-
* @public
|
|
54
|
-
*/
|
|
55
|
-
export declare class SharedMatrix<T = any> extends SharedObject implements IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>> {
|
|
56
|
-
id: string;
|
|
57
|
-
private readonly consumers;
|
|
58
|
-
static getFactory(): SharedMatrixFactory;
|
|
59
|
-
private readonly rows;
|
|
60
|
-
private readonly cols;
|
|
61
|
-
private cells;
|
|
62
|
-
private pending;
|
|
63
|
-
constructor(runtime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes);
|
|
64
|
-
private undo?;
|
|
65
|
-
/**
|
|
66
|
-
* Subscribes the given IUndoConsumer to the matrix.
|
|
67
|
-
*/
|
|
68
|
-
openUndo(consumer: IUndoConsumer): void;
|
|
69
|
-
private get rowHandles();
|
|
70
|
-
private get colHandles();
|
|
71
|
-
/**
|
|
72
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
73
|
-
*/
|
|
74
|
-
static create<T>(runtime: IFluidDataStoreRuntime, id?: string): SharedMatrix<T>;
|
|
75
|
-
openMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): IMatrixReader<MatrixItem<T>>;
|
|
76
|
-
closeMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): void;
|
|
77
|
-
get rowCount(): number;
|
|
78
|
-
get colCount(): number;
|
|
79
|
-
getCell(row: number, col: number): MatrixItem<T>;
|
|
80
|
-
get matrixProducer(): IMatrixProducer<MatrixItem<T>>;
|
|
81
|
-
setCell(row: number, col: number, value: MatrixItem<T>): void;
|
|
82
|
-
setCells(rowStart: number, colStart: number, colCount: number, values: readonly MatrixItem<T>[]): void;
|
|
83
|
-
private setCellCore;
|
|
84
|
-
private sendSetCellOp;
|
|
85
|
-
private submitVectorMessage;
|
|
86
|
-
private submitColMessage;
|
|
87
|
-
insertCols(colStart: number, count: number): void;
|
|
88
|
-
removeCols(colStart: number, count: number): void;
|
|
89
|
-
private submitRowMessage;
|
|
90
|
-
insertRows(rowStart: number, count: number): void;
|
|
91
|
-
removeRows(rowStart: number, count: number): void;
|
|
92
|
-
/* Excluded from this release type: _undoRemoveRows */
|
|
93
|
-
/* Excluded from this release type: _undoRemoveCols */
|
|
94
|
-
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
95
|
-
/**
|
|
96
|
-
* Runs serializer on the GC data for this SharedMatrix.
|
|
97
|
-
* All the IFluidHandle's stored in the cells represent routes to other objects.
|
|
98
|
-
*/
|
|
99
|
-
protected processGCDataCore(serializer: SummarySerializer): void;
|
|
100
|
-
/**
|
|
101
|
-
* Advances the 'localSeq' counter for the cell data operation currently being queued.
|
|
102
|
-
*
|
|
103
|
-
* Do not use with 'submitColMessage()/submitRowMessage()' as these helpers + the MergeTree will
|
|
104
|
-
* automatically advance 'localSeq'.
|
|
105
|
-
*/
|
|
106
|
-
private nextLocalSeq;
|
|
107
|
-
protected submitLocalMessage(message: any, localOpMetadata?: any): void;
|
|
108
|
-
protected didAttach(): void;
|
|
109
|
-
protected onConnect(): void;
|
|
110
|
-
private rebasePosition;
|
|
111
|
-
protected reSubmitCore(content: any, localOpMetadata: unknown): void;
|
|
112
|
-
protected onDisconnect(): void;
|
|
113
|
-
/**
|
|
114
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}
|
|
115
|
-
*/
|
|
116
|
-
protected loadCore(storage: IChannelStorageService): Promise<void>;
|
|
117
|
-
protected processCore(rawMessage: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
|
|
118
|
-
private readonly onRowDelta;
|
|
119
|
-
private readonly onColDelta;
|
|
120
|
-
private readonly onRowHandlesRecycled;
|
|
121
|
-
private readonly onColHandlesRecycled;
|
|
122
|
-
/**
|
|
123
|
-
* Returns true if the latest pending write to the cell indicated by the given row/col handles
|
|
124
|
-
* matches the given 'localSeq'.
|
|
125
|
-
*
|
|
126
|
-
* A return value of `true` indicates that there are no later local operations queued that will
|
|
127
|
-
* clobber the write op at the given 'localSeq'. This includes later ops that overwrite the cell
|
|
128
|
-
* with a different value as well as row/col removals that might recycled the given row/col handles.
|
|
129
|
-
*/
|
|
130
|
-
private isLatestPendingWrite;
|
|
131
|
-
toString(): string;
|
|
132
|
-
/**
|
|
133
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
134
|
-
*/
|
|
135
|
-
protected applyStashedOp(content: any): unknown;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link SharedMatrix}.
|
|
140
|
-
* @public
|
|
141
|
-
*/
|
|
142
|
-
export declare class SharedMatrixFactory implements IChannelFactory {
|
|
143
|
-
static Type: string;
|
|
144
|
-
static readonly Attributes: IChannelAttributes;
|
|
145
|
-
get type(): string;
|
|
146
|
-
get attributes(): IChannelAttributes;
|
|
147
|
-
/**
|
|
148
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
149
|
-
*/
|
|
150
|
-
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<IChannel>;
|
|
151
|
-
create(document: IFluidDataStoreRuntime, id: string): IChannel;
|
|
152
|
-
}
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IChannel */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: IChannelAttributes */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IChannelFactory */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: IChannelServices */
|
|
14
|
+
|
|
15
|
+
/* Excluded from this release type: IChannelStorageService */
|
|
16
|
+
|
|
17
|
+
/* Excluded from this release type: IFluidDataStoreRuntime */
|
|
18
|
+
|
|
19
|
+
/* Excluded from this release type: IFluidSerializer */
|
|
20
|
+
|
|
21
|
+
/* Excluded from this release type: IJSONSegment */
|
|
22
|
+
|
|
23
|
+
/* Excluded from this release type: IRevertible */
|
|
24
|
+
|
|
25
|
+
/* Excluded from this release type: ISummaryTreeWithStats */
|
|
26
|
+
|
|
27
|
+
/* Excluded from this release type: IUndoConsumer */
|
|
28
|
+
|
|
29
|
+
/* Excluded from this release type: MatrixItem */
|
|
30
|
+
|
|
31
|
+
/* Excluded from this release type: Serializable */
|
|
32
|
+
|
|
33
|
+
/* Excluded from this release type: SharedMatrix */
|
|
34
|
+
|
|
35
|
+
/* Excluded from this release type: SharedMatrixFactory */
|
|
36
|
+
|
|
37
|
+
/* Excluded from this release type: SharedObject */
|
|
38
|
+
|
|
39
|
+
/* Excluded from this release type: SummarySerializer */
|
|
153
40
|
|
|
154
41
|
export { }
|
package/lib/matrix-beta.d.ts
CHANGED
|
@@ -1,154 +1,41 @@
|
|
|
1
|
-
import { IChannel } from '@fluidframework/datastore-definitions';
|
|
2
|
-
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
|
|
3
|
-
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
4
|
-
import { IChannelServices } from '@fluidframework/datastore-definitions';
|
|
5
|
-
import { IChannelStorageService } from '@fluidframework/datastore-definitions';
|
|
6
|
-
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
7
|
-
import { IFluidSerializer } from '@fluidframework/shared-object-base';
|
|
8
|
-
import { IJSONSegment } from '@fluidframework/merge-tree';
|
|
9
1
|
import { IMatrixConsumer } from '@tiny-calc/nano';
|
|
10
2
|
import { IMatrixProducer } from '@tiny-calc/nano';
|
|
11
3
|
import { IMatrixReader } from '@tiny-calc/nano';
|
|
12
4
|
import { IMatrixWriter } from '@tiny-calc/nano';
|
|
13
5
|
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* Fluid's SharedMatrix implementation works equally well for dense and sparse
|
|
49
|
-
* matrix data and physically stores data in Z-order to leverage CPU caches and
|
|
50
|
-
* prefetching when reading in either row or column major order. (See README.md
|
|
51
|
-
* for more details.)
|
|
52
|
-
*
|
|
53
|
-
* @public
|
|
54
|
-
*/
|
|
55
|
-
export declare class SharedMatrix<T = any> extends SharedObject implements IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>> {
|
|
56
|
-
id: string;
|
|
57
|
-
private readonly consumers;
|
|
58
|
-
static getFactory(): SharedMatrixFactory;
|
|
59
|
-
private readonly rows;
|
|
60
|
-
private readonly cols;
|
|
61
|
-
private cells;
|
|
62
|
-
private pending;
|
|
63
|
-
constructor(runtime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes);
|
|
64
|
-
private undo?;
|
|
65
|
-
/**
|
|
66
|
-
* Subscribes the given IUndoConsumer to the matrix.
|
|
67
|
-
*/
|
|
68
|
-
openUndo(consumer: IUndoConsumer): void;
|
|
69
|
-
private get rowHandles();
|
|
70
|
-
private get colHandles();
|
|
71
|
-
/**
|
|
72
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
73
|
-
*/
|
|
74
|
-
static create<T>(runtime: IFluidDataStoreRuntime, id?: string): SharedMatrix<T>;
|
|
75
|
-
openMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): IMatrixReader<MatrixItem<T>>;
|
|
76
|
-
closeMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): void;
|
|
77
|
-
get rowCount(): number;
|
|
78
|
-
get colCount(): number;
|
|
79
|
-
getCell(row: number, col: number): MatrixItem<T>;
|
|
80
|
-
get matrixProducer(): IMatrixProducer<MatrixItem<T>>;
|
|
81
|
-
setCell(row: number, col: number, value: MatrixItem<T>): void;
|
|
82
|
-
setCells(rowStart: number, colStart: number, colCount: number, values: readonly MatrixItem<T>[]): void;
|
|
83
|
-
private setCellCore;
|
|
84
|
-
private sendSetCellOp;
|
|
85
|
-
private submitVectorMessage;
|
|
86
|
-
private submitColMessage;
|
|
87
|
-
insertCols(colStart: number, count: number): void;
|
|
88
|
-
removeCols(colStart: number, count: number): void;
|
|
89
|
-
private submitRowMessage;
|
|
90
|
-
insertRows(rowStart: number, count: number): void;
|
|
91
|
-
removeRows(rowStart: number, count: number): void;
|
|
92
|
-
/* Excluded from this release type: _undoRemoveRows */
|
|
93
|
-
/* Excluded from this release type: _undoRemoveCols */
|
|
94
|
-
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
95
|
-
/**
|
|
96
|
-
* Runs serializer on the GC data for this SharedMatrix.
|
|
97
|
-
* All the IFluidHandle's stored in the cells represent routes to other objects.
|
|
98
|
-
*/
|
|
99
|
-
protected processGCDataCore(serializer: SummarySerializer): void;
|
|
100
|
-
/**
|
|
101
|
-
* Advances the 'localSeq' counter for the cell data operation currently being queued.
|
|
102
|
-
*
|
|
103
|
-
* Do not use with 'submitColMessage()/submitRowMessage()' as these helpers + the MergeTree will
|
|
104
|
-
* automatically advance 'localSeq'.
|
|
105
|
-
*/
|
|
106
|
-
private nextLocalSeq;
|
|
107
|
-
protected submitLocalMessage(message: any, localOpMetadata?: any): void;
|
|
108
|
-
protected didAttach(): void;
|
|
109
|
-
protected onConnect(): void;
|
|
110
|
-
private rebasePosition;
|
|
111
|
-
protected reSubmitCore(content: any, localOpMetadata: unknown): void;
|
|
112
|
-
protected onDisconnect(): void;
|
|
113
|
-
/**
|
|
114
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}
|
|
115
|
-
*/
|
|
116
|
-
protected loadCore(storage: IChannelStorageService): Promise<void>;
|
|
117
|
-
protected processCore(rawMessage: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
|
|
118
|
-
private readonly onRowDelta;
|
|
119
|
-
private readonly onColDelta;
|
|
120
|
-
private readonly onRowHandlesRecycled;
|
|
121
|
-
private readonly onColHandlesRecycled;
|
|
122
|
-
/**
|
|
123
|
-
* Returns true if the latest pending write to the cell indicated by the given row/col handles
|
|
124
|
-
* matches the given 'localSeq'.
|
|
125
|
-
*
|
|
126
|
-
* A return value of `true` indicates that there are no later local operations queued that will
|
|
127
|
-
* clobber the write op at the given 'localSeq'. This includes later ops that overwrite the cell
|
|
128
|
-
* with a different value as well as row/col removals that might recycled the given row/col handles.
|
|
129
|
-
*/
|
|
130
|
-
private isLatestPendingWrite;
|
|
131
|
-
toString(): string;
|
|
132
|
-
/**
|
|
133
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
134
|
-
*/
|
|
135
|
-
protected applyStashedOp(content: any): unknown;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link SharedMatrix}.
|
|
140
|
-
* @public
|
|
141
|
-
*/
|
|
142
|
-
export declare class SharedMatrixFactory implements IChannelFactory {
|
|
143
|
-
static Type: string;
|
|
144
|
-
static readonly Attributes: IChannelAttributes;
|
|
145
|
-
get type(): string;
|
|
146
|
-
get attributes(): IChannelAttributes;
|
|
147
|
-
/**
|
|
148
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
149
|
-
*/
|
|
150
|
-
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<IChannel>;
|
|
151
|
-
create(document: IFluidDataStoreRuntime, id: string): IChannel;
|
|
152
|
-
}
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IChannel */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: IChannelAttributes */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IChannelFactory */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: IChannelServices */
|
|
14
|
+
|
|
15
|
+
/* Excluded from this release type: IChannelStorageService */
|
|
16
|
+
|
|
17
|
+
/* Excluded from this release type: IFluidDataStoreRuntime */
|
|
18
|
+
|
|
19
|
+
/* Excluded from this release type: IFluidSerializer */
|
|
20
|
+
|
|
21
|
+
/* Excluded from this release type: IJSONSegment */
|
|
22
|
+
|
|
23
|
+
/* Excluded from this release type: IRevertible */
|
|
24
|
+
|
|
25
|
+
/* Excluded from this release type: ISummaryTreeWithStats */
|
|
26
|
+
|
|
27
|
+
/* Excluded from this release type: IUndoConsumer */
|
|
28
|
+
|
|
29
|
+
/* Excluded from this release type: MatrixItem */
|
|
30
|
+
|
|
31
|
+
/* Excluded from this release type: Serializable */
|
|
32
|
+
|
|
33
|
+
/* Excluded from this release type: SharedMatrix */
|
|
34
|
+
|
|
35
|
+
/* Excluded from this release type: SharedMatrixFactory */
|
|
36
|
+
|
|
37
|
+
/* Excluded from this release type: SharedObject */
|
|
38
|
+
|
|
39
|
+
/* Excluded from this release type: SummarySerializer */
|
|
153
40
|
|
|
154
41
|
export { }
|
package/lib/matrix-public.d.ts
CHANGED
|
@@ -1,154 +1,41 @@
|
|
|
1
|
-
import { IChannel } from '@fluidframework/datastore-definitions';
|
|
2
|
-
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
|
|
3
|
-
import { IChannelFactory } from '@fluidframework/datastore-definitions';
|
|
4
|
-
import { IChannelServices } from '@fluidframework/datastore-definitions';
|
|
5
|
-
import { IChannelStorageService } from '@fluidframework/datastore-definitions';
|
|
6
|
-
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
|
|
7
|
-
import { IFluidSerializer } from '@fluidframework/shared-object-base';
|
|
8
|
-
import { IJSONSegment } from '@fluidframework/merge-tree';
|
|
9
1
|
import { IMatrixConsumer } from '@tiny-calc/nano';
|
|
10
2
|
import { IMatrixProducer } from '@tiny-calc/nano';
|
|
11
3
|
import { IMatrixReader } from '@tiny-calc/nano';
|
|
12
4
|
import { IMatrixWriter } from '@tiny-calc/nano';
|
|
13
5
|
import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* Fluid's SharedMatrix implementation works equally well for dense and sparse
|
|
49
|
-
* matrix data and physically stores data in Z-order to leverage CPU caches and
|
|
50
|
-
* prefetching when reading in either row or column major order. (See README.md
|
|
51
|
-
* for more details.)
|
|
52
|
-
*
|
|
53
|
-
* @public
|
|
54
|
-
*/
|
|
55
|
-
export declare class SharedMatrix<T = any> extends SharedObject implements IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>> {
|
|
56
|
-
id: string;
|
|
57
|
-
private readonly consumers;
|
|
58
|
-
static getFactory(): SharedMatrixFactory;
|
|
59
|
-
private readonly rows;
|
|
60
|
-
private readonly cols;
|
|
61
|
-
private cells;
|
|
62
|
-
private pending;
|
|
63
|
-
constructor(runtime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes);
|
|
64
|
-
private undo?;
|
|
65
|
-
/**
|
|
66
|
-
* Subscribes the given IUndoConsumer to the matrix.
|
|
67
|
-
*/
|
|
68
|
-
openUndo(consumer: IUndoConsumer): void;
|
|
69
|
-
private get rowHandles();
|
|
70
|
-
private get colHandles();
|
|
71
|
-
/**
|
|
72
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
73
|
-
*/
|
|
74
|
-
static create<T>(runtime: IFluidDataStoreRuntime, id?: string): SharedMatrix<T>;
|
|
75
|
-
openMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): IMatrixReader<MatrixItem<T>>;
|
|
76
|
-
closeMatrix(consumer: IMatrixConsumer<MatrixItem<T>>): void;
|
|
77
|
-
get rowCount(): number;
|
|
78
|
-
get colCount(): number;
|
|
79
|
-
getCell(row: number, col: number): MatrixItem<T>;
|
|
80
|
-
get matrixProducer(): IMatrixProducer<MatrixItem<T>>;
|
|
81
|
-
setCell(row: number, col: number, value: MatrixItem<T>): void;
|
|
82
|
-
setCells(rowStart: number, colStart: number, colCount: number, values: readonly MatrixItem<T>[]): void;
|
|
83
|
-
private setCellCore;
|
|
84
|
-
private sendSetCellOp;
|
|
85
|
-
private submitVectorMessage;
|
|
86
|
-
private submitColMessage;
|
|
87
|
-
insertCols(colStart: number, count: number): void;
|
|
88
|
-
removeCols(colStart: number, count: number): void;
|
|
89
|
-
private submitRowMessage;
|
|
90
|
-
insertRows(rowStart: number, count: number): void;
|
|
91
|
-
removeRows(rowStart: number, count: number): void;
|
|
92
|
-
/* Excluded from this release type: _undoRemoveRows */
|
|
93
|
-
/* Excluded from this release type: _undoRemoveCols */
|
|
94
|
-
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
95
|
-
/**
|
|
96
|
-
* Runs serializer on the GC data for this SharedMatrix.
|
|
97
|
-
* All the IFluidHandle's stored in the cells represent routes to other objects.
|
|
98
|
-
*/
|
|
99
|
-
protected processGCDataCore(serializer: SummarySerializer): void;
|
|
100
|
-
/**
|
|
101
|
-
* Advances the 'localSeq' counter for the cell data operation currently being queued.
|
|
102
|
-
*
|
|
103
|
-
* Do not use with 'submitColMessage()/submitRowMessage()' as these helpers + the MergeTree will
|
|
104
|
-
* automatically advance 'localSeq'.
|
|
105
|
-
*/
|
|
106
|
-
private nextLocalSeq;
|
|
107
|
-
protected submitLocalMessage(message: any, localOpMetadata?: any): void;
|
|
108
|
-
protected didAttach(): void;
|
|
109
|
-
protected onConnect(): void;
|
|
110
|
-
private rebasePosition;
|
|
111
|
-
protected reSubmitCore(content: any, localOpMetadata: unknown): void;
|
|
112
|
-
protected onDisconnect(): void;
|
|
113
|
-
/**
|
|
114
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}
|
|
115
|
-
*/
|
|
116
|
-
protected loadCore(storage: IChannelStorageService): Promise<void>;
|
|
117
|
-
protected processCore(rawMessage: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
|
|
118
|
-
private readonly onRowDelta;
|
|
119
|
-
private readonly onColDelta;
|
|
120
|
-
private readonly onRowHandlesRecycled;
|
|
121
|
-
private readonly onColHandlesRecycled;
|
|
122
|
-
/**
|
|
123
|
-
* Returns true if the latest pending write to the cell indicated by the given row/col handles
|
|
124
|
-
* matches the given 'localSeq'.
|
|
125
|
-
*
|
|
126
|
-
* A return value of `true` indicates that there are no later local operations queued that will
|
|
127
|
-
* clobber the write op at the given 'localSeq'. This includes later ops that overwrite the cell
|
|
128
|
-
* with a different value as well as row/col removals that might recycled the given row/col handles.
|
|
129
|
-
*/
|
|
130
|
-
private isLatestPendingWrite;
|
|
131
|
-
toString(): string;
|
|
132
|
-
/**
|
|
133
|
-
* {@inheritDoc @fluidframework/shared-object-base#SharedObjectCore.applyStashedOp}
|
|
134
|
-
*/
|
|
135
|
-
protected applyStashedOp(content: any): unknown;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link SharedMatrix}.
|
|
140
|
-
* @public
|
|
141
|
-
*/
|
|
142
|
-
export declare class SharedMatrixFactory implements IChannelFactory {
|
|
143
|
-
static Type: string;
|
|
144
|
-
static readonly Attributes: IChannelAttributes;
|
|
145
|
-
get type(): string;
|
|
146
|
-
get attributes(): IChannelAttributes;
|
|
147
|
-
/**
|
|
148
|
-
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
149
|
-
*/
|
|
150
|
-
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<IChannel>;
|
|
151
|
-
create(document: IFluidDataStoreRuntime, id: string): IChannel;
|
|
152
|
-
}
|
|
6
|
+
|
|
7
|
+
/* Excluded from this release type: IChannel */
|
|
8
|
+
|
|
9
|
+
/* Excluded from this release type: IChannelAttributes */
|
|
10
|
+
|
|
11
|
+
/* Excluded from this release type: IChannelFactory */
|
|
12
|
+
|
|
13
|
+
/* Excluded from this release type: IChannelServices */
|
|
14
|
+
|
|
15
|
+
/* Excluded from this release type: IChannelStorageService */
|
|
16
|
+
|
|
17
|
+
/* Excluded from this release type: IFluidDataStoreRuntime */
|
|
18
|
+
|
|
19
|
+
/* Excluded from this release type: IFluidSerializer */
|
|
20
|
+
|
|
21
|
+
/* Excluded from this release type: IJSONSegment */
|
|
22
|
+
|
|
23
|
+
/* Excluded from this release type: IRevertible */
|
|
24
|
+
|
|
25
|
+
/* Excluded from this release type: ISummaryTreeWithStats */
|
|
26
|
+
|
|
27
|
+
/* Excluded from this release type: IUndoConsumer */
|
|
28
|
+
|
|
29
|
+
/* Excluded from this release type: MatrixItem */
|
|
30
|
+
|
|
31
|
+
/* Excluded from this release type: Serializable */
|
|
32
|
+
|
|
33
|
+
/* Excluded from this release type: SharedMatrix */
|
|
34
|
+
|
|
35
|
+
/* Excluded from this release type: SharedMatrixFactory */
|
|
36
|
+
|
|
37
|
+
/* Excluded from this release type: SharedObject */
|
|
38
|
+
|
|
39
|
+
/* Excluded from this release type: SummarySerializer */
|
|
153
40
|
|
|
154
41
|
export { }
|
|
@@ -17,7 +17,7 @@ import { SharedObject } from '@fluidframework/shared-object-base';
|
|
|
17
17
|
import { SummarySerializer } from '@fluidframework/shared-object-base';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* @
|
|
20
|
+
* @internal
|
|
21
21
|
*/
|
|
22
22
|
export declare interface IRevertible {
|
|
23
23
|
revert(): any;
|
|
@@ -25,7 +25,7 @@ export declare interface IRevertible {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* @
|
|
28
|
+
* @internal
|
|
29
29
|
*/
|
|
30
30
|
export declare interface IUndoConsumer {
|
|
31
31
|
pushToCurrentOperation(revertible: IRevertible): any;
|
|
@@ -34,7 +34,7 @@ export declare interface IUndoConsumer {
|
|
|
34
34
|
/**
|
|
35
35
|
* A matrix cell value may be undefined (indicating an empty cell) or any serializable type,
|
|
36
36
|
* excluding null. (However, nulls may be embedded inside objects and arrays.)
|
|
37
|
-
* @
|
|
37
|
+
* @internal
|
|
38
38
|
*/
|
|
39
39
|
export declare type MatrixItem<T> = Serializable<Exclude<T, null>> | undefined;
|
|
40
40
|
|
|
@@ -49,8 +49,7 @@ export declare type MatrixItem<T> = Serializable<Exclude<T, null>> | undefined;
|
|
|
49
49
|
* matrix data and physically stores data in Z-order to leverage CPU caches and
|
|
50
50
|
* prefetching when reading in either row or column major order. (See README.md
|
|
51
51
|
* for more details.)
|
|
52
|
-
*
|
|
53
|
-
* @public
|
|
52
|
+
* @internal
|
|
54
53
|
*/
|
|
55
54
|
export declare class SharedMatrix<T = any> extends SharedObject implements IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>> {
|
|
56
55
|
id: string;
|
|
@@ -89,8 +88,8 @@ export declare class SharedMatrix<T = any> extends SharedObject implements IMatr
|
|
|
89
88
|
private submitRowMessage;
|
|
90
89
|
insertRows(rowStart: number, count: number): void;
|
|
91
90
|
removeRows(rowStart: number, count: number): void;
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
/***/ _undoRemoveRows(rowStart: number, spec: IJSONSegment): void;
|
|
92
|
+
/***/ _undoRemoveCols(colStart: number, spec: IJSONSegment): void;
|
|
94
93
|
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
95
94
|
/**
|
|
96
95
|
* Runs serializer on the GC data for this SharedMatrix.
|
|
@@ -137,7 +136,7 @@ export declare class SharedMatrix<T = any> extends SharedObject implements IMatr
|
|
|
137
136
|
|
|
138
137
|
/**
|
|
139
138
|
* {@link @fluidframework/datastore-definitions#IChannelFactory} for {@link SharedMatrix}.
|
|
140
|
-
* @
|
|
139
|
+
* @internal
|
|
141
140
|
*/
|
|
142
141
|
export declare class SharedMatrixFactory implements IChannelFactory {
|
|
143
142
|
static Type: string;
|
package/lib/matrix.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { IUndoConsumer } from "./types";
|
|
|
13
13
|
/**
|
|
14
14
|
* A matrix cell value may be undefined (indicating an empty cell) or any serializable type,
|
|
15
15
|
* excluding null. (However, nulls may be embedded inside objects and arrays.)
|
|
16
|
-
* @
|
|
16
|
+
* @internal
|
|
17
17
|
*/
|
|
18
18
|
export type MatrixItem<T> = Serializable<Exclude<T, null>> | undefined;
|
|
19
19
|
/**
|
|
@@ -27,8 +27,7 @@ export type MatrixItem<T> = Serializable<Exclude<T, null>> | undefined;
|
|
|
27
27
|
* matrix data and physically stores data in Z-order to leverage CPU caches and
|
|
28
28
|
* prefetching when reading in either row or column major order. (See README.md
|
|
29
29
|
* for more details.)
|
|
30
|
-
*
|
|
31
|
-
* @public
|
|
30
|
+
* @internal
|
|
32
31
|
*/
|
|
33
32
|
export declare class SharedMatrix<T = any> extends SharedObject implements IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>> {
|
|
34
33
|
id: string;
|
|
@@ -67,8 +66,8 @@ export declare class SharedMatrix<T = any> extends SharedObject implements IMatr
|
|
|
67
66
|
private submitRowMessage;
|
|
68
67
|
insertRows(rowStart: number, count: number): void;
|
|
69
68
|
removeRows(rowStart: number, count: number): void;
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
/***/ _undoRemoveRows(rowStart: number, spec: IJSONSegment): void;
|
|
70
|
+
/***/ _undoRemoveCols(colStart: number, spec: IJSONSegment): void;
|
|
72
71
|
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
73
72
|
/**
|
|
74
73
|
* Runs serializer on the GC data for this SharedMatrix.
|