@fluidframework/matrix 2.0.0-internal.6.0.0 → 2.0.0-internal.6.1.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @fluidframework/matrix
2
2
 
3
+ ## 2.0.0-internal.6.1.0
4
+
5
+ Dependency updates only.
6
+
3
7
  ## 2.0.0-internal.6.0.0
4
8
 
5
9
  ### Major Changes
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/matrix";
8
- export declare const pkgVersion = "2.0.0-internal.6.0.0";
8
+ export declare const pkgVersion = "2.0.0-internal.6.1.0";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -8,5 +8,5 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.pkgVersion = exports.pkgName = void 0;
10
10
  exports.pkgName = "@fluidframework/matrix";
11
- exports.pkgVersion = "2.0.0-internal.6.0.0";
11
+ exports.pkgVersion = "2.0.0-internal.6.1.0";
12
12
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,wBAAwB,CAAC;AACnC,QAAA,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/matrix\";\nexport const pkgVersion = \"2.0.0-internal.6.0.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,wBAAwB,CAAC;AACnC,QAAA,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/matrix\";\nexport const pkgVersion = \"2.0.0-internal.6.1.0\";\n"]}
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/matrix";
8
- export declare const pkgVersion = "2.0.0-internal.6.0.0";
8
+ export declare const pkgVersion = "2.0.0-internal.6.1.0";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export const pkgName = "@fluidframework/matrix";
8
- export const pkgVersion = "2.0.0-internal.6.0.0";
8
+ export const pkgVersion = "2.0.0-internal.6.1.0";
9
9
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/matrix\";\nexport const pkgVersion = \"2.0.0-internal.6.0.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/matrix\";\nexport const pkgVersion = \"2.0.0-internal.6.1.0\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/matrix",
3
- "version": "2.0.0-internal.6.0.0",
3
+ "version": "2.0.0-internal.6.1.0",
4
4
  "description": "Distributed matrix",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -33,29 +33,29 @@
33
33
  "dependencies": {
34
34
  "@fluidframework/common-definitions": "^0.20.1",
35
35
  "@fluidframework/common-utils": "^1.1.1",
36
- "@fluidframework/core-interfaces": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
37
- "@fluidframework/datastore-definitions": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
38
- "@fluidframework/driver-utils": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
39
- "@fluidframework/merge-tree": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
36
+ "@fluidframework/core-interfaces": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
37
+ "@fluidframework/datastore-definitions": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
38
+ "@fluidframework/driver-utils": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
39
+ "@fluidframework/merge-tree": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
40
40
  "@fluidframework/protocol-definitions": "^1.1.0",
41
- "@fluidframework/runtime-definitions": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
42
- "@fluidframework/runtime-utils": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
43
- "@fluidframework/shared-object-base": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
44
- "@fluidframework/telemetry-utils": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
41
+ "@fluidframework/runtime-definitions": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
42
+ "@fluidframework/runtime-utils": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
43
+ "@fluidframework/shared-object-base": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
44
+ "@fluidframework/telemetry-utils": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
45
45
  "@tiny-calc/nano": "0.0.0-alpha.5",
46
46
  "events": "^3.1.0",
47
47
  "tslib": "^1.10.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@fluid-internal/test-dds-utils": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
50
+ "@fluid-internal/test-dds-utils": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
51
51
  "@fluid-tools/benchmark": "^0.48.0",
52
- "@fluid-tools/build-cli": "^0.21.0",
52
+ "@fluid-tools/build-cli": "^0.22.0",
53
53
  "@fluidframework/build-common": "^2.0.0",
54
- "@fluidframework/build-tools": "^0.21.0",
54
+ "@fluidframework/build-tools": "^0.22.0",
55
55
  "@fluidframework/eslint-config-fluid": "^2.0.0",
56
- "@fluidframework/matrix-previous": "npm:@fluidframework/matrix@2.0.0-internal.5.2.0",
57
- "@fluidframework/mocha-test-setup": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
58
- "@fluidframework/test-runtime-utils": ">=2.0.0-internal.6.0.0 <2.0.0-internal.6.1.0",
56
+ "@fluidframework/matrix-previous": "npm:@fluidframework/matrix@2.0.0-internal.6.0.0",
57
+ "@fluidframework/mocha-test-setup": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
58
+ "@fluidframework/test-runtime-utils": ">=2.0.0-internal.6.1.0 <2.0.0-internal.6.2.0",
59
59
  "@microsoft/api-extractor": "^7.34.4",
60
60
  "@tiny-calc/micro": "0.0.0-alpha.5",
61
61
  "@types/mocha": "^9.1.1",
@@ -100,12 +100,11 @@
100
100
  "lint:fix": "npm run prettier:fix && npm run eslint:fix",
101
101
  "prettier": "prettier --check . --ignore-path ../../../.prettierignore",
102
102
  "prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
103
- "stress": "mocha --recursive dist/test/**/*.spec.js --exit -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict --fgrep stress-loop",
104
103
  "test": "npm run test:mocha",
105
104
  "test:coverage": "nyc npm test -- --reporter xunit --reporter-option output=nyc/junit-report.xml --exit",
106
105
  "test:memory": "mocha --config src/test/memory/.mocharc.js",
107
106
  "test:memory-profiling:report": "mocha --config src/test/memory/.mocharc.js",
108
- "test:mocha": "npm run stress -- --invert",
107
+ "test:mocha": "mocha --recursive 'dist/test/**/*.spec.js' --exit -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict",
109
108
  "test:mocha:multireport": "cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha",
110
109
  "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
111
110
  "tsc": "tsc",
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/matrix";
9
- export const pkgVersion = "2.0.0-internal.6.0.0";
9
+ export const pkgVersion = "2.0.0-internal.6.1.0";
package/dist/bspSet.d.ts DELETED
@@ -1,125 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
- /** An interface for representing a readonly pair */
6
- export declare type Pair<S, T = S> = readonly [S, T];
7
- export declare const pair: <S, T = S>(left: S, right: T) => Pair<S, T>;
8
- export declare enum SetKind {
9
- Dense = 0,
10
- Empty = 1
11
- }
12
- interface TreeNode<Left, Right> {
13
- readonly left: Left;
14
- readonly right: Right;
15
- }
16
- interface KeyNode<Key, Exact> {
17
- readonly key: Key;
18
- readonly pathKey: Key;
19
- readonly isExact: Exact;
20
- }
21
- export declare type Empty = SetKind.Empty;
22
- /** The term *Dense* means that a given subset contains all the elements of its particular
23
- * bounds. E.g. the whole set would be dense w.r.t. the bounds of the whole space. Or
24
- * if a set represents an interval [a, b), then it would be dense, if there are no holes in it,
25
- * i.e. the set is represented exactly using the current bounds.
26
- */
27
- export declare type Dense = SetKind.Dense;
28
- export declare const dense = SetKind.Dense;
29
- export declare const empty = SetKind.Empty;
30
- declare type KeyUnexact<Key> = KeyNode<Key, false>;
31
- /** In the BSP-set, each node carries with it implicit bounds just by the position in the tree.
32
- * Furthermore, it can carry around a key. The key can either be an approximation, i.e. an upper bound
33
- * or it can be *exact*. Exact means, that the whole set can be exactly represented in terms of just the key.
34
- *
35
- * One might wonder, why we don't prune the tree at this point. This has to do with the fact that we are
36
- * representing arbitrary sets and so even though one of two sets could be represented exactly the other
37
- * might not be able to yet. In this case we need to unfold the key by splitting further. In order to avoid
38
- * excessive splitting and pruning, we just carry around the key but allow the tree to also be materialized, on-demand.
39
- */
40
- declare type KeyExact<Key> = KeyNode<Key, true>;
41
- declare type KeyUndefined = KeyNode<undefined, false>;
42
- declare type KeyDefined<Key> = KeyUnexact<Key> | KeyExact<Key>;
43
- declare type BalancePropertyHelper<Key, Left, Right> = TreeNode<UntypedSparse<Key> | Left, UntypedSparse<Key> | Right>;
44
- declare type TreeDefined<Key> = BalancePropertyHelper<Key, Empty, Dense> | BalancePropertyHelper<Key, Dense, Empty>;
45
- declare type TreeUndefined = TreeNode<undefined, undefined>;
46
- declare type KeyDefinednessProperty<Key> = KeyDefined<Key> | KeyUndefined;
47
- export declare type UntypedSparse<Key> = (KeyDefinednessProperty<Key> & TreeDefined<Key>) | (KeyDefined<Key> & TreeUndefined);
48
- /** The term *untyped* refers to the tree representation of a BSP set. Because BSP set trees are only compared in terms
49
- * of their structure, we need to ensure that cuts occur at the same exact points across all possible sets. This is
50
- * enforced by the fact, that at construction time, we attach an `Id` to each BSP set and only allow operations to
51
- * occur on sets with the same `Id`.
52
- *
53
- * The BSP set becomes *untyped*, when we drop that `Id`; now it is possible to operate on sets that are incompatible.
54
- * Doing this, however, allows us to store the set operations only once per set as opposed to carrying them around with
55
- * every node.
56
- */
57
- export declare type UntypedBspSet<Key> = Empty | Dense | UntypedSparse<Key>;
58
- /** A set is considred *sparse*, if we know that w.r.t. to it's bounds it is neither empty, nor dense. */
59
- interface Sparse<Key extends Cachable<Key>, Id> {
60
- setOperations: SetOperations<Key, Id>;
61
- root: UntypedSparse<Key>;
62
- }
63
- export declare type BspSet<Key extends Cachable<Key>, Id> = Empty | Dense | Sparse<Key, Id>;
64
- export interface KeyCache<T> {
65
- depth?: number;
66
- split?: Pair<Pair<CachedKey<T>, number>>;
67
- }
68
- export declare type CachedKey<T> = T & KeyCache<T>;
69
- export declare type Cachable<T> = Disjoint<keyof T, keyof KeyCache<T>>;
70
- export declare type Disjoint<T, U> = [T, U] extends [Exclude<T, U>, Exclude<U, T>] ? any : never;
71
- export declare type RequireAtLeastOne<T> = {
72
- [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
73
- }[keyof T];
74
- /** This is a concrete set operations implementation, tagged with an arbitrary id. */
75
- export interface SetOperations<Key extends Cachable<Key>, Id> {
76
- /** Id here is just a phantom type, so that we can associate the various set instances together */
77
- readonly id: Id;
78
- /** Split the key into two. This will only be called when the current key is incomparable with an element.
79
- * E.g. this would never be called if the key is already a 1x1 rectangle. */
80
- readonly split: (key: CachedKey<Key>) => Pair<Pair<CachedKey<Key>, number>>;
81
- /** Tells, if a given key can be split further */
82
- readonly canSplit: (key: CachedKey<Key>) => boolean;
83
- /** Tells if two keys overlap at all. */
84
- readonly meets: (key1: Key, key2: Key) => boolean;
85
- /** Intersect the keys, if it is possible to exactly respresent their intersection.
86
- * An implementation is never required to compute the intersection as this is just an optimization.
87
- * Precondition: It is guaranteed that the keys meet and that they are incomparable.
88
- */
89
- readonly intersect: (key1: Key, key2: Key) => Key | undefined;
90
- /** Unions the keys, if it is possible to exactly represent their union.
91
- * An implementation is never required to compute the union as this is just an optimization.
92
- * Precondition: It is guaranteed that the keys are incomparable.
93
- */
94
- readonly union: (key1: Key, key2: Key) => Key | undefined;
95
- /** Computes the set difference between two keys, if it is possible to exactly represent their set difference.
96
- * An implementation is never required to compute the difference as this is just an optimization.
97
- * Precondition: It is guaranteed that the keys meet.
98
- */
99
- readonly except: (key1: Key, key2: Key) => Key | undefined;
100
- /** Compare two keys */
101
- readonly compare: (key1: Key, key2: Key) => -1 | 0 | 1 | undefined;
102
- /** The top element of the set. */
103
- readonly top: Key;
104
- }
105
- export declare const cacheKeySplitting: <Key>(splitFunction: (key: CachedKey<Key>) => Pair<Pair<CachedKey<Key>, number>, Pair<CachedKey<Key>, number>>, top: CachedKey<Key>, maxDepth?: number) => (key: CachedKey<Key>) => Pair<Pair<CachedKey<Key>, number>, Pair<CachedKey<Key>, number>>;
106
- export declare function fromUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, root: UntypedBspSet<Key>): BspSet<Key, Id>;
107
- export declare function lazy<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, pathKey: Key, key: Key): UntypedBspSet<Key>;
108
- export declare function createFromKey<Key extends Cachable<Key>, Id>(uncachedSetOperations: SetOperations<Key, Id>): (key: Key) => BspSet<Key, Id>;
109
- export declare function unionUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, left: UntypedBspSet<Key>, right: UntypedBspSet<Key>): UntypedBspSet<Key>;
110
- export declare function union<Key extends Cachable<Key>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>): BspSet<Key, Id>;
111
- export declare function intersectUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, left: UntypedBspSet<Key>, right: UntypedBspSet<Key>): UntypedBspSet<Key>;
112
- export declare function intersect<Key extends Cachable<Key>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>): BspSet<Key, Id>;
113
- export declare function meetsUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, left: UntypedBspSet<Key>, right: UntypedBspSet<Key>): boolean;
114
- export declare function meets<Key extends Cachable<Key>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>): boolean;
115
- export declare function exceptUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, left: UntypedBspSet<Key>, right: UntypedBspSet<Key>): UntypedBspSet<Key>;
116
- export declare function except<Key extends Cachable<Key>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>): BspSet<Key, Id>;
117
- export declare function combineCmp(left: -1 | 0 | 1 | undefined, right: -1 | 0 | 1 | undefined): 0 | 1 | -1 | undefined;
118
- export declare function compareUntyped<Key extends Cachable<Key>, Id>(setOperations: SetOperations<Key, Id>, left: UntypedBspSet<Key>, right: UntypedBspSet<Key>): -1 | 0 | 1 | undefined;
119
- export declare function compare<Key extends Cachable<Key>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>): 0 | 1 | -1 | undefined;
120
- export declare const symmetricDiff: <Key extends Disjoint<keyof Key, keyof KeyCache<T>>, Id>(left: BspSet<Key, Id>, right: BspSet<Key, Id>) => BspSet<Key, Id>;
121
- export declare const complement: <Key extends Disjoint<keyof Key, keyof KeyCache<T>>, Id>(set: BspSet<Key, Id>) => BspSet<Key, Id>;
122
- export declare function getNodeCount<Key extends Cachable<Key>, Id>(set: BspSet<Key, Id>): number;
123
- export declare function forEachKey<Key extends Cachable<Key>, Id>(set: Empty | Sparse<Key, Id>, f: (key: Key) => boolean): boolean;
124
- export {};
125
- //# sourceMappingURL=bspSet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bspSet.d.ts","sourceRoot":"","sources":["../src/bspSet.ts"],"names":[],"mappings":"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"}