@fluidframework/shared-summary-block 2.0.0-rc.1.0.3 → 2.0.0-rc.2.0.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/{.eslintrc.js → .eslintrc.cjs} +4 -1
- package/{.mocharc.js → .mocharc.cjs} +1 -1
- package/CHANGELOG.md +4 -0
- package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -1
- package/api-report/shared-summary-block.api.md +0 -10
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/shared-summary-block-beta.d.ts +2 -0
- package/dist/shared-summary-block-public.d.ts +2 -0
- package/dist/sharedSummaryBlock.d.ts +1 -1
- package/dist/sharedSummaryBlock.d.ts.map +1 -1
- package/dist/sharedSummaryBlock.js +3 -3
- package/dist/sharedSummaryBlock.js.map +1 -1
- package/dist/sharedSummaryBlockFactory.js +5 -5
- package/dist/sharedSummaryBlockFactory.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/{index.d.mts → index.d.ts} +4 -4
- package/lib/index.d.ts.map +1 -0
- package/lib/{index.mjs → index.js} +3 -3
- package/lib/index.js.map +1 -0
- package/lib/{interfaces.d.mts → interfaces.d.ts} +1 -1
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/{interfaces.mjs → interfaces.js} +1 -1
- package/lib/interfaces.js.map +1 -0
- package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
- package/lib/packageVersion.d.ts.map +1 -0
- package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
- package/lib/packageVersion.js.map +1 -0
- package/lib/{shared-summary-block-beta.d.mts → shared-summary-block-beta.d.ts} +2 -0
- package/lib/{shared-summary-block-public.d.mts → shared-summary-block-public.d.ts} +2 -0
- package/lib/{sharedSummaryBlock.d.mts → sharedSummaryBlock.d.ts} +2 -2
- package/lib/sharedSummaryBlock.d.ts.map +1 -0
- package/lib/{sharedSummaryBlock.mjs → sharedSummaryBlock.js} +2 -2
- package/lib/sharedSummaryBlock.js.map +1 -0
- package/lib/{sharedSummaryBlockFactory.d.mts → sharedSummaryBlockFactory.d.ts} +1 -1
- package/lib/sharedSummaryBlockFactory.d.ts.map +1 -0
- package/lib/{sharedSummaryBlockFactory.mjs → sharedSummaryBlockFactory.js} +3 -3
- package/lib/sharedSummaryBlockFactory.js.map +1 -0
- package/lib/test/sharedSummaryBlock.spec.js +80 -0
- package/lib/test/sharedSummaryBlock.spec.js.map +1 -0
- package/lib/test/types/validateSharedSummaryBlockPrevious.generated.js +8 -0
- package/lib/test/types/validateSharedSummaryBlockPrevious.generated.js.map +1 -0
- package/package.json +38 -44
- package/src/index.ts +3 -3
- package/src/packageVersion.ts +1 -1
- package/src/sharedSummaryBlock.ts +2 -2
- package/src/sharedSummaryBlockFactory.ts +2 -2
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/lib/index.d.mts.map +0 -1
- package/lib/index.mjs.map +0 -1
- package/lib/interfaces.d.mts.map +0 -1
- package/lib/interfaces.mjs.map +0 -1
- package/lib/packageVersion.d.mts.map +0 -1
- package/lib/packageVersion.mjs.map +0 -1
- package/lib/sharedSummaryBlock.d.mts.map +0 -1
- package/lib/sharedSummaryBlock.mjs.map +0 -1
- package/lib/sharedSummaryBlockFactory.d.mts.map +0 -1
- package/lib/sharedSummaryBlockFactory.mjs.map +0 -1
- /package/lib/{shared-summary-block-alpha.d.mts → shared-summary-block-alpha.d.ts} +0 -0
- /package/lib/{shared-summary-block-untrimmed.d.mts → shared-summary-block-untrimmed.d.ts} +0 -0
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
|
-
extends: [
|
|
7
|
+
extends: [
|
|
8
|
+
require.resolve("@fluidframework/eslint-config-fluid/minimal-deprecated"),
|
|
9
|
+
"prettier",
|
|
10
|
+
],
|
|
8
11
|
parserOptions: {
|
|
9
12
|
project: ["./tsconfig.json", "./src/test/tsconfig.json"],
|
|
10
13
|
},
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const getFluidTestMochaConfig = require("@
|
|
8
|
+
const getFluidTestMochaConfig = require("@fluid-internal/mocha-test-setup/mocharc-common");
|
|
9
9
|
|
|
10
10
|
const packageDir = __dirname;
|
|
11
11
|
const config = getFluidTestMochaConfig(packageDir);
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../../common/build/build-common/api-extractor-base
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
|
|
4
|
+
// CJS is actually secondary; so, no report.
|
|
5
|
+
"apiReport": {
|
|
6
|
+
"enabled": false
|
|
7
|
+
}
|
|
4
8
|
}
|
package/api-extractor-lint.json
CHANGED
package/api-extractor.json
CHANGED
|
@@ -30,30 +30,20 @@ export class SharedSummaryBlock extends SharedObject implements ISharedSummaryBl
|
|
|
30
30
|
static create(runtime: IFluidDataStoreRuntime, id?: string): SharedSummaryBlock;
|
|
31
31
|
get<T>(key: string): Jsonable<T>;
|
|
32
32
|
static getFactory(): IChannelFactory;
|
|
33
|
-
// (undocumented)
|
|
34
33
|
protected loadCore(storage: IChannelStorageService): Promise<void>;
|
|
35
|
-
// (undocumented)
|
|
36
34
|
protected onDisconnect(): void;
|
|
37
|
-
// (undocumented)
|
|
38
35
|
protected processCore(message: ISequencedDocumentMessage, local: boolean): void;
|
|
39
36
|
set<T>(key: string, value: Jsonable<T>): void;
|
|
40
|
-
// (undocumented)
|
|
41
37
|
protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
|
|
42
38
|
}
|
|
43
39
|
|
|
44
40
|
// @internal @sealed
|
|
45
41
|
export class SharedSummaryBlockFactory implements IChannelFactory {
|
|
46
|
-
// (undocumented)
|
|
47
42
|
static readonly Attributes: IChannelAttributes;
|
|
48
|
-
// (undocumented)
|
|
49
43
|
get attributes(): IChannelAttributes;
|
|
50
|
-
// (undocumented)
|
|
51
44
|
create(runtime: IFluidDataStoreRuntime, id: string): ISharedObject;
|
|
52
|
-
// (undocumented)
|
|
53
45
|
load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedObject>;
|
|
54
|
-
// (undocumented)
|
|
55
46
|
static readonly Type = "https://graph.microsoft.com/types/shared-summary-block";
|
|
56
|
-
// (undocumented)
|
|
57
47
|
get type(): string;
|
|
58
48
|
}
|
|
59
49
|
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { ISharedSummaryBlock } from "./interfaces";
|
|
6
|
-
export { SharedSummaryBlock } from "./sharedSummaryBlock";
|
|
7
|
-
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory";
|
|
5
|
+
export { ISharedSummaryBlock } from "./interfaces.js";
|
|
6
|
+
export { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
7
|
+
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.SharedSummaryBlockFactory = exports.SharedSummaryBlock = void 0;
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "SharedSummaryBlock", { enumerable: true, get: function () { return
|
|
10
|
-
var
|
|
11
|
-
Object.defineProperty(exports, "SharedSummaryBlockFactory", { enumerable: true, get: function () { return
|
|
8
|
+
var sharedSummaryBlock_js_1 = require("./sharedSummaryBlock.js");
|
|
9
|
+
Object.defineProperty(exports, "SharedSummaryBlock", { enumerable: true, get: function () { return sharedSummaryBlock_js_1.SharedSummaryBlock; } });
|
|
10
|
+
var sharedSummaryBlockFactory_js_1 = require("./sharedSummaryBlockFactory.js");
|
|
11
|
+
Object.defineProperty(exports, "SharedSummaryBlockFactory", { enumerable: true, get: function () { return sharedSummaryBlockFactory_js_1.SharedSummaryBlockFactory; } });
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { ISharedSummaryBlock } from \"./interfaces.js\";\nexport { SharedSummaryBlock } from \"./sharedSummaryBlock.js\";\nexport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory.js\";\n"]}
|
package/dist/packageVersion.d.ts
CHANGED
|
@@ -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/shared-summary-block";
|
|
8
|
-
export declare const pkgVersion = "2.0.0-rc.
|
|
8
|
+
export declare const pkgVersion = "2.0.0-rc.2.0.0";
|
|
9
9
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/dist/packageVersion.js
CHANGED
|
@@ -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/shared-summary-block";
|
|
11
|
-
exports.pkgVersion = "2.0.0-rc.
|
|
11
|
+
exports.pkgVersion = "2.0.0-rc.2.0.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,sCAAsC,CAAC;AACjD,QAAA,UAAU,GAAG,gBAAgB,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/shared-summary-block\";\nexport const pkgVersion = \"2.0.0-rc.
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,sCAAsC,CAAC;AACjD,QAAA,UAAU,GAAG,gBAAgB,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/shared-summary-block\";\nexport const pkgVersion = \"2.0.0-rc.2.0.0\";\n"]}
|
|
@@ -14,6 +14,8 @@ import { SharedObject } from '@fluidframework/shared-object-base';
|
|
|
14
14
|
|
|
15
15
|
/* Excluded from this release type: Jsonable */
|
|
16
16
|
|
|
17
|
+
/* Excluded from this release type: SharedObject */
|
|
18
|
+
|
|
17
19
|
/* Excluded from this release type: SharedSummaryBlock */
|
|
18
20
|
|
|
19
21
|
/* Excluded from this release type: SharedSummaryBlockFactory */
|
|
@@ -14,6 +14,8 @@ import { SharedObject } from '@fluidframework/shared-object-base';
|
|
|
14
14
|
|
|
15
15
|
/* Excluded from this release type: Jsonable */
|
|
16
16
|
|
|
17
|
+
/* Excluded from this release type: SharedObject */
|
|
18
|
+
|
|
17
19
|
/* Excluded from this release type: SharedSummaryBlock */
|
|
18
20
|
|
|
19
21
|
/* Excluded from this release type: SharedSummaryBlockFactory */
|
|
@@ -6,7 +6,7 @@ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions"
|
|
|
6
6
|
import { IChannelAttributes, IFluidDataStoreRuntime, IChannelStorageService, Jsonable, IChannelFactory } from "@fluidframework/datastore-definitions";
|
|
7
7
|
import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
|
|
8
8
|
import { IFluidSerializer, SharedObject } from "@fluidframework/shared-object-base";
|
|
9
|
-
import { ISharedSummaryBlock } from "./interfaces";
|
|
9
|
+
import { ISharedSummaryBlock } from "./interfaces.js";
|
|
10
10
|
/**
|
|
11
11
|
* Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.
|
|
12
12
|
* Data should be set in this object in response to a remote op.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlock.d.ts","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAEN,gBAAgB,EAChB,YAAY,EACZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlock.d.ts","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAEN,gBAAgB,EAChB,YAAY,EACZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAYtD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IAClF;;;;;;OAMG;WACW,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,MAAM;IAIjE;;;;OAIG;WACW,UAAU,IAAI,eAAe;IAI3C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAE7D;;;;;;;OAOG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB;IAIvF;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIvC;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpD;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,qBAAqB;IAQ5E;;OAEG;cACa,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE;;OAEG;IACH,SAAS,CAAC,YAAY;IAEtB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IAIxE,SAAS,CAAC,cAAc;CAGxB"}
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.SharedSummaryBlock = void 0;
|
|
8
8
|
const driver_utils_1 = require("@fluidframework/driver-utils");
|
|
9
9
|
const shared_object_base_1 = require("@fluidframework/shared-object-base");
|
|
10
|
-
const
|
|
10
|
+
const sharedSummaryBlockFactory_js_1 = require("./sharedSummaryBlockFactory.js");
|
|
11
11
|
const snapshotFileName = "header";
|
|
12
12
|
/**
|
|
13
13
|
* Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.
|
|
@@ -23,7 +23,7 @@ class SharedSummaryBlock extends shared_object_base_1.SharedObject {
|
|
|
23
23
|
* @returns newly created shared summary block (but not attached yet).
|
|
24
24
|
*/
|
|
25
25
|
static create(runtime, id) {
|
|
26
|
-
return runtime.createChannel(id,
|
|
26
|
+
return runtime.createChannel(id, sharedSummaryBlockFactory_js_1.SharedSummaryBlockFactory.Type);
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get a factory for SharedSummaryBlock to register with the data store.
|
|
@@ -31,7 +31,7 @@ class SharedSummaryBlock extends shared_object_base_1.SharedObject {
|
|
|
31
31
|
* @returns a factory that creates and loads SharedSummaryBlock.
|
|
32
32
|
*/
|
|
33
33
|
static getFactory() {
|
|
34
|
-
return new
|
|
34
|
+
return new sharedSummaryBlockFactory_js_1.SharedSummaryBlockFactory();
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Constructs a new SharedSummaryBlock. If the object is non-local, an id and service interfaces will
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlock.js","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAWH,+DAA4D;AAC5D,2EAI4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlock.js","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAWH,+DAA4D;AAC5D,2EAI4C;AAC5C,iFAA2E;AAG3E,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAUlC;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,iCAAY;IACnD;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,OAA+B,EAAE,EAAW;QAChE,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,wDAAyB,CAAC,IAAI,CAAuB,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU;QACvB,OAAO,IAAI,wDAAyB,EAAE,CAAC;IACxC,CAAC;IAOD;;;;;;;OAOG;IACH,YAAY,EAAU,EAAE,OAA+B,EAAE,UAA8B;QACtF,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAd7D;;WAEG;QACc,SAAI,GAAG,IAAI,GAAG,EAA6B,CAAC;IAY7D,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW,EAAE,KAAkB;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,mEAAmE;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,UAA4B;QACnD,MAAM,YAAY,GAAwC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAChC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,IAAA,4CAAuB,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CAAC,OAA+B;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAY,EAClC,OAAO,EACP,gBAAgB,CAChB,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC1B;IACF,CAAC;IAED;;OAEG;IACO,YAAY,KAAI,CAAC;IAE3B;;OAEG;IACO,WAAW,CAAC,OAAkC,EAAE,KAAc;QACvE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACtE,CAAC;IAES,cAAc;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD;AA7FD,gDA6FC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelStorageService,\n\tJsonable,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISummaryTreeWithStats } from \"@fluidframework/runtime-definitions\";\nimport { readAndParse } from \"@fluidframework/driver-utils\";\nimport {\n\tcreateSingleBlobSummary,\n\tIFluidSerializer,\n\tSharedObject,\n} from \"@fluidframework/shared-object-base\";\nimport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory.js\";\nimport { ISharedSummaryBlock } from \"./interfaces.js\";\n\nconst snapshotFileName = \"header\";\n\n/**\n * Defines the in-memory object structure to be used for the conversion to/from serialized.\n * Directly used in JSON.stringify, direct result from JSON.parse.\n */\ninterface ISharedSummaryBlockDataSerializable {\n\t[key: string]: Jsonable<unknown>;\n}\n\n/**\n * Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.\n * Data should be set in this object in response to a remote op.\n * @alpha\n */\nexport class SharedSummaryBlock extends SharedObject implements ISharedSummaryBlock {\n\t/**\n\t * Create a new shared summary block\n\t *\n\t * @param runtime - data store runtime the new shared summary block belongs to.\n\t * @param id - optional name of the shared summary block.\n\t * @returns newly created shared summary block (but not attached yet).\n\t */\n\tpublic static create(runtime: IFluidDataStoreRuntime, id?: string) {\n\t\treturn runtime.createChannel(id, SharedSummaryBlockFactory.Type) as SharedSummaryBlock;\n\t}\n\n\t/**\n\t * Get a factory for SharedSummaryBlock to register with the data store.\n\t *\n\t * @returns a factory that creates and loads SharedSummaryBlock.\n\t */\n\tpublic static getFactory(): IChannelFactory {\n\t\treturn new SharedSummaryBlockFactory();\n\t}\n\n\t/**\n\t * The data held by this object.\n\t */\n\tprivate readonly data = new Map<string, Jsonable<unknown>>();\n\n\t/**\n\t * Constructs a new SharedSummaryBlock. If the object is non-local, an id and service interfaces will\n\t * be provided.\n\t *\n\t * @param id - optional name of the shared summary block.\n\t * @param runtime - data store runtime thee object belongs to.\n\t * @param attributes - The attributes for the object.\n\t */\n\tconstructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes) {\n\t\tsuper(id, runtime, attributes, \"fluid_sharedSummaryBlock_\");\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.get}\n\t */\n\tpublic get<T>(key: string): Jsonable<T> {\n\t\treturn this.data.get(key) as Jsonable<T>;\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.set}\n\t */\n\tpublic set<T>(key: string, value: Jsonable<T>): void {\n\t\tthis.data.set(key, value);\n\t\t// Set this object as dirty so that it is part of the next summary.\n\t\tthis.dirty();\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.summarizeCore}\n\t */\n\tprotected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats {\n\t\tconst contentsBlob: ISharedSummaryBlockDataSerializable = {};\n\t\tthis.data.forEach((value, key) => {\n\t\t\tcontentsBlob[key] = value;\n\t\t});\n\t\treturn createSingleBlobSummary(snapshotFileName, JSON.stringify(contentsBlob));\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}\n\t */\n\tprotected async loadCore(storage: IChannelStorageService): Promise<void> {\n\t\tconst contents = await readAndParse<ISharedSummaryBlockDataSerializable>(\n\t\t\tstorage,\n\t\t\tsnapshotFileName,\n\t\t);\n\t\tfor (const [key, value] of Object.entries(contents)) {\n\t\t\tthis.data.set(key, value);\n\t\t}\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.onDisconnect}\n\t */\n\tprotected onDisconnect() {}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.processCore}\n\t */\n\tprotected processCore(message: ISequencedDocumentMessage, local: boolean) {\n\t\tthrow new Error(\"shared summary block should not generate any ops.\");\n\t}\n\n\tprotected applyStashedOp() {\n\t\tthrow new Error(\"not implemented\");\n\t}\n}\n"]}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.SharedSummaryBlockFactory = void 0;
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const packageVersion_js_1 = require("./packageVersion.js");
|
|
9
|
+
const sharedSummaryBlock_js_1 = require("./sharedSummaryBlock.js");
|
|
10
10
|
/**
|
|
11
11
|
* The factory that defines the shared summary block.
|
|
12
12
|
*
|
|
@@ -30,7 +30,7 @@ class SharedSummaryBlockFactory {
|
|
|
30
30
|
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}
|
|
31
31
|
*/
|
|
32
32
|
async load(runtime, id, services, attributes) {
|
|
33
|
-
const sharedSummaryBlock = new
|
|
33
|
+
const sharedSummaryBlock = new sharedSummaryBlock_js_1.SharedSummaryBlock(id, runtime, attributes);
|
|
34
34
|
await sharedSummaryBlock.load(services);
|
|
35
35
|
return sharedSummaryBlock;
|
|
36
36
|
}
|
|
@@ -38,7 +38,7 @@ class SharedSummaryBlockFactory {
|
|
|
38
38
|
* {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}
|
|
39
39
|
*/
|
|
40
40
|
create(runtime, id) {
|
|
41
|
-
const sharedSummaryBlock = new
|
|
41
|
+
const sharedSummaryBlock = new sharedSummaryBlock_js_1.SharedSummaryBlock(id, runtime, SharedSummaryBlockFactory.Attributes);
|
|
42
42
|
sharedSummaryBlock.initializeLocal();
|
|
43
43
|
return sharedSummaryBlock;
|
|
44
44
|
}
|
|
@@ -54,6 +54,6 @@ SharedSummaryBlockFactory.Type = "https://graph.microsoft.com/types/shared-summa
|
|
|
54
54
|
SharedSummaryBlockFactory.Attributes = {
|
|
55
55
|
type: SharedSummaryBlockFactory.Type,
|
|
56
56
|
snapshotFormatVersion: "0.1",
|
|
57
|
-
packageVersion:
|
|
57
|
+
packageVersion: packageVersion_js_1.pkgVersion,
|
|
58
58
|
};
|
|
59
59
|
//# sourceMappingURL=sharedSummaryBlockFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlockFactory.js","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlockFactory.js","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,2DAAiD;AACjD,mEAA6D;AAE7D;;;;;GAKG;AACH,MAAa,yBAAyB;IAerC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,yBAAyB,CAAC,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,yBAAyB,CAAC,UAAU,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAChB,OAA+B,EAC/B,EAAU,EACV,QAA0B,EAC1B,UAA8B;QAE9B,MAAM,kBAAkB,GAAG,IAAI,0CAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAA+B,EAAE,EAAU;QACxD,MAAM,kBAAkB,GAAG,IAAI,0CAAkB,CAChD,EAAE,EACF,OAAO,EACP,yBAAyB,CAAC,UAAU,CACpC,CAAC;QACF,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAErC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;;AAxDF,8DAyDC;AAxDA;;GAEG;AACoB,8BAAI,GAAG,wDAAwD,CAAC;AAEvF;;GAEG;AACoB,oCAAU,GAAuB;IACvD,IAAI,EAAE,yBAAyB,CAAC,IAAI;IACpC,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,8BAAU;CAC1B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelServices,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISharedObject } from \"@fluidframework/shared-object-base\";\nimport { pkgVersion } from \"./packageVersion.js\";\nimport { SharedSummaryBlock } from \"./sharedSummaryBlock.js\";\n\n/**\n * The factory that defines the shared summary block.\n *\n * @sealed\n * @internal\n */\nexport class SharedSummaryBlockFactory implements IChannelFactory {\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic static readonly Type = \"https://graph.microsoft.com/types/shared-summary-block\";\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic static readonly Attributes: IChannelAttributes = {\n\t\ttype: SharedSummaryBlockFactory.Type,\n\t\tsnapshotFormatVersion: \"0.1\",\n\t\tpackageVersion: pkgVersion,\n\t};\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic get type() {\n\t\treturn SharedSummaryBlockFactory.Type;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic get attributes() {\n\t\treturn SharedSummaryBlockFactory.Attributes;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}\n\t */\n\tpublic async load(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\tservices: IChannelServices,\n\t\tattributes: IChannelAttributes,\n\t): Promise<ISharedObject> {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(id, runtime, attributes);\n\t\tawait sharedSummaryBlock.load(services);\n\n\t\treturn sharedSummaryBlock;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}\n\t */\n\tpublic create(runtime: IFluidDataStoreRuntime, id: string): ISharedObject {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(\n\t\t\tid,\n\t\t\truntime,\n\t\t\tSharedSummaryBlockFactory.Attributes,\n\t\t);\n\t\tsharedSummaryBlock.initializeLocal();\n\n\t\treturn sharedSummaryBlock;\n\t}\n}\n"]}
|
package/dist/tsdoc-metadata.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { ISharedSummaryBlock } from "./interfaces.
|
|
6
|
-
export { SharedSummaryBlock } from "./sharedSummaryBlock.
|
|
7
|
-
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.
|
|
8
|
-
//# sourceMappingURL=index.d.
|
|
5
|
+
export { ISharedSummaryBlock } from "./interfaces.js";
|
|
6
|
+
export { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
7
|
+
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { SharedSummaryBlock } from "./sharedSummaryBlock.
|
|
6
|
-
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.
|
|
7
|
-
//# sourceMappingURL=index.
|
|
5
|
+
export { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
6
|
+
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { ISharedSummaryBlock } from \"./interfaces.js\";\nexport { SharedSummaryBlock } from \"./sharedSummaryBlock.js\";\nexport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory.js\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Jsonable } from \"@fluidframework/datastore-definitions\";\nimport { ISharedObject } from \"@fluidframework/shared-object-base\";\n\n/**\n * Shared summary block interface. A shared summary block is part of the summary but it does not generate any ops.\n * The set on this interface must only be called in response to a remote op. Basically, if we replay same ops,\n * the set of calls on this interface to set data should be the same. This is critical because the object does not\n * generate ops of its own, but relies on the above principle to maintain eventual consistency and to summarize.\n * @alpha\n */\nexport interface ISharedSummaryBlock extends ISharedObject {\n\t/**\n\t * Retrieves the given key from the map.\n\t * @param key - Key to retrieve from.\n\t * @returns The stored value, or undefined if the key is not set.\n\t *\n\t * @privateRemarks\n\t * The return type is underspecified to allow for the possibility of objects with function or undefined values.\n\t */\n\tget<T>(key: string): Jsonable<T>;\n\n\t/**\n\t * Sets the value stored at key to the provided value.\n\t * @param key - Key to set at.\n\t * @param value - Jsonable type value to set.\n\t */\n\tset<T>(key: string, value: Jsonable<T>): void;\n}\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/shared-summary-block";
|
|
8
|
-
export declare const pkgVersion = "2.0.0-rc.
|
|
9
|
-
//# sourceMappingURL=packageVersion.d.
|
|
8
|
+
export declare const pkgVersion = "2.0.0-rc.2.0.0";
|
|
9
|
+
//# sourceMappingURL=packageVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,yCAAyC,CAAC;AAC9D,eAAO,MAAM,UAAU,mBAAmB,CAAC"}
|
|
@@ -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/shared-summary-block";
|
|
8
|
-
export const pkgVersion = "2.0.0-rc.
|
|
9
|
-
//# sourceMappingURL=packageVersion.
|
|
8
|
+
export const pkgVersion = "2.0.0-rc.2.0.0";
|
|
9
|
+
//# sourceMappingURL=packageVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,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/shared-summary-block\";\nexport const pkgVersion = \"2.0.0-rc.2.0.0\";\n"]}
|
|
@@ -14,6 +14,8 @@ import { SharedObject } from '@fluidframework/shared-object-base';
|
|
|
14
14
|
|
|
15
15
|
/* Excluded from this release type: Jsonable */
|
|
16
16
|
|
|
17
|
+
/* Excluded from this release type: SharedObject */
|
|
18
|
+
|
|
17
19
|
/* Excluded from this release type: SharedSummaryBlock */
|
|
18
20
|
|
|
19
21
|
/* Excluded from this release type: SharedSummaryBlockFactory */
|
|
@@ -14,6 +14,8 @@ import { SharedObject } from '@fluidframework/shared-object-base';
|
|
|
14
14
|
|
|
15
15
|
/* Excluded from this release type: Jsonable */
|
|
16
16
|
|
|
17
|
+
/* Excluded from this release type: SharedObject */
|
|
18
|
+
|
|
17
19
|
/* Excluded from this release type: SharedSummaryBlock */
|
|
18
20
|
|
|
19
21
|
/* Excluded from this release type: SharedSummaryBlockFactory */
|
|
@@ -6,7 +6,7 @@ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions"
|
|
|
6
6
|
import { IChannelAttributes, IFluidDataStoreRuntime, IChannelStorageService, Jsonable, IChannelFactory } from "@fluidframework/datastore-definitions";
|
|
7
7
|
import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
|
|
8
8
|
import { IFluidSerializer, SharedObject } from "@fluidframework/shared-object-base";
|
|
9
|
-
import { ISharedSummaryBlock } from "./interfaces.
|
|
9
|
+
import { ISharedSummaryBlock } from "./interfaces.js";
|
|
10
10
|
/**
|
|
11
11
|
* Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.
|
|
12
12
|
* Data should be set in this object in response to a remote op.
|
|
@@ -66,4 +66,4 @@ export declare class SharedSummaryBlock extends SharedObject implements ISharedS
|
|
|
66
66
|
protected processCore(message: ISequencedDocumentMessage, local: boolean): void;
|
|
67
67
|
protected applyStashedOp(): void;
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=sharedSummaryBlock.d.
|
|
69
|
+
//# sourceMappingURL=sharedSummaryBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlock.d.ts","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAEN,gBAAgB,EAChB,YAAY,EACZ,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAYtD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IAClF;;;;;;OAMG;WACW,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,MAAM;IAIjE;;;;OAIG;WACW,UAAU,IAAI,eAAe;IAI3C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAE7D;;;;;;;OAOG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB;IAIvF;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIvC;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpD;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,qBAAqB;IAQ5E;;OAEG;cACa,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE;;OAEG;IACH,SAAS,CAAC,YAAY;IAEtB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IAIxE,SAAS,CAAC,cAAc;CAGxB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { readAndParse } from "@fluidframework/driver-utils";
|
|
6
6
|
import { createSingleBlobSummary, SharedObject, } from "@fluidframework/shared-object-base";
|
|
7
|
-
import { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.
|
|
7
|
+
import { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
|
8
8
|
const snapshotFileName = "header";
|
|
9
9
|
/**
|
|
10
10
|
* Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.
|
|
@@ -92,4 +92,4 @@ export class SharedSummaryBlock extends SharedObject {
|
|
|
92
92
|
throw new Error("not implemented");
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
//# sourceMappingURL=sharedSummaryBlock.
|
|
95
|
+
//# sourceMappingURL=sharedSummaryBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlock.js","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACN,uBAAuB,EAEvB,YAAY,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAUlC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IACnD;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,OAA+B,EAAE,EAAW;QAChE,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,yBAAyB,CAAC,IAAI,CAAuB,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU;QACvB,OAAO,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAOD;;;;;;;OAOG;IACH,YAAY,EAAU,EAAE,OAA+B,EAAE,UAA8B;QACtF,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAd7D;;WAEG;QACc,SAAI,GAAG,IAAI,GAAG,EAA6B,CAAC;IAY7D,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW,EAAE,KAAkB;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,mEAAmE;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,UAA4B;QACnD,MAAM,YAAY,GAAwC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAChC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,uBAAuB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CAAC,OAA+B;QACvD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAClC,OAAO,EACP,gBAAgB,CAChB,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC1B;IACF,CAAC;IAED;;OAEG;IACO,YAAY,KAAI,CAAC;IAE3B;;OAEG;IACO,WAAW,CAAC,OAAkC,EAAE,KAAc;QACvE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACtE,CAAC;IAES,cAAc;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelStorageService,\n\tJsonable,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISummaryTreeWithStats } from \"@fluidframework/runtime-definitions\";\nimport { readAndParse } from \"@fluidframework/driver-utils\";\nimport {\n\tcreateSingleBlobSummary,\n\tIFluidSerializer,\n\tSharedObject,\n} from \"@fluidframework/shared-object-base\";\nimport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory.js\";\nimport { ISharedSummaryBlock } from \"./interfaces.js\";\n\nconst snapshotFileName = \"header\";\n\n/**\n * Defines the in-memory object structure to be used for the conversion to/from serialized.\n * Directly used in JSON.stringify, direct result from JSON.parse.\n */\ninterface ISharedSummaryBlockDataSerializable {\n\t[key: string]: Jsonable<unknown>;\n}\n\n/**\n * Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.\n * Data should be set in this object in response to a remote op.\n * @alpha\n */\nexport class SharedSummaryBlock extends SharedObject implements ISharedSummaryBlock {\n\t/**\n\t * Create a new shared summary block\n\t *\n\t * @param runtime - data store runtime the new shared summary block belongs to.\n\t * @param id - optional name of the shared summary block.\n\t * @returns newly created shared summary block (but not attached yet).\n\t */\n\tpublic static create(runtime: IFluidDataStoreRuntime, id?: string) {\n\t\treturn runtime.createChannel(id, SharedSummaryBlockFactory.Type) as SharedSummaryBlock;\n\t}\n\n\t/**\n\t * Get a factory for SharedSummaryBlock to register with the data store.\n\t *\n\t * @returns a factory that creates and loads SharedSummaryBlock.\n\t */\n\tpublic static getFactory(): IChannelFactory {\n\t\treturn new SharedSummaryBlockFactory();\n\t}\n\n\t/**\n\t * The data held by this object.\n\t */\n\tprivate readonly data = new Map<string, Jsonable<unknown>>();\n\n\t/**\n\t * Constructs a new SharedSummaryBlock. If the object is non-local, an id and service interfaces will\n\t * be provided.\n\t *\n\t * @param id - optional name of the shared summary block.\n\t * @param runtime - data store runtime thee object belongs to.\n\t * @param attributes - The attributes for the object.\n\t */\n\tconstructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes) {\n\t\tsuper(id, runtime, attributes, \"fluid_sharedSummaryBlock_\");\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.get}\n\t */\n\tpublic get<T>(key: string): Jsonable<T> {\n\t\treturn this.data.get(key) as Jsonable<T>;\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.set}\n\t */\n\tpublic set<T>(key: string, value: Jsonable<T>): void {\n\t\tthis.data.set(key, value);\n\t\t// Set this object as dirty so that it is part of the next summary.\n\t\tthis.dirty();\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.summarizeCore}\n\t */\n\tprotected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats {\n\t\tconst contentsBlob: ISharedSummaryBlockDataSerializable = {};\n\t\tthis.data.forEach((value, key) => {\n\t\t\tcontentsBlob[key] = value;\n\t\t});\n\t\treturn createSingleBlobSummary(snapshotFileName, JSON.stringify(contentsBlob));\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}\n\t */\n\tprotected async loadCore(storage: IChannelStorageService): Promise<void> {\n\t\tconst contents = await readAndParse<ISharedSummaryBlockDataSerializable>(\n\t\t\tstorage,\n\t\t\tsnapshotFileName,\n\t\t);\n\t\tfor (const [key, value] of Object.entries(contents)) {\n\t\t\tthis.data.set(key, value);\n\t\t}\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.onDisconnect}\n\t */\n\tprotected onDisconnect() {}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.processCore}\n\t */\n\tprotected processCore(message: ISequencedDocumentMessage, local: boolean) {\n\t\tthrow new Error(\"shared summary block should not generate any ops.\");\n\t}\n\n\tprotected applyStashedOp() {\n\t\tthrow new Error(\"not implemented\");\n\t}\n}\n"]}
|
|
@@ -36,4 +36,4 @@ export declare class SharedSummaryBlockFactory implements IChannelFactory {
|
|
|
36
36
|
*/
|
|
37
37
|
create(runtime: IFluidDataStoreRuntime, id: string): ISharedObject;
|
|
38
38
|
}
|
|
39
|
-
//# sourceMappingURL=sharedSummaryBlockFactory.d.
|
|
39
|
+
//# sourceMappingURL=sharedSummaryBlockFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlockFactory.d.ts","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAInE;;;;;GAKG;AACH,qBAAa,yBAA0B,YAAW,eAAe;IAChE;;OAEG;IACH,gBAAuB,IAAI,4DAA4D;IAEvF;;OAEG;IACH,gBAAuB,UAAU,EAAE,kBAAkB,CAInD;IAEF;;OAEG;IACH,IAAW,IAAI,WAEd;IAED;;OAEG;IACH,IAAW,UAAU,uBAEpB;IAED;;OAEG;IACU,IAAI,CAChB,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,kBAAkB,GAC5B,OAAO,CAAC,aAAa,CAAC;IAOzB;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa;CAUzE"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { pkgVersion } from "./packageVersion.
|
|
6
|
-
import { SharedSummaryBlock } from "./sharedSummaryBlock.
|
|
5
|
+
import { pkgVersion } from "./packageVersion.js";
|
|
6
|
+
import { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
7
7
|
/**
|
|
8
8
|
* The factory that defines the shared summary block.
|
|
9
9
|
*
|
|
@@ -52,4 +52,4 @@ SharedSummaryBlockFactory.Attributes = {
|
|
|
52
52
|
snapshotFormatVersion: "0.1",
|
|
53
53
|
packageVersion: pkgVersion,
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=sharedSummaryBlockFactory.
|
|
55
|
+
//# sourceMappingURL=sharedSummaryBlockFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlockFactory.js","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IAerC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,yBAAyB,CAAC,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,yBAAyB,CAAC,UAAU,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAChB,OAA+B,EAC/B,EAAU,EACV,QAA0B,EAC1B,UAA8B;QAE9B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAA+B,EAAE,EAAU;QACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAChD,EAAE,EACF,OAAO,EACP,yBAAyB,CAAC,UAAU,CACpC,CAAC;QACF,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAErC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;;AAvDD;;GAEG;AACoB,8BAAI,GAAG,wDAAwD,CAAC;AAEvF;;GAEG;AACoB,oCAAU,GAAuB;IACvD,IAAI,EAAE,yBAAyB,CAAC,IAAI;IACpC,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,UAAU;CAC1B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelServices,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISharedObject } from \"@fluidframework/shared-object-base\";\nimport { pkgVersion } from \"./packageVersion.js\";\nimport { SharedSummaryBlock } from \"./sharedSummaryBlock.js\";\n\n/**\n * The factory that defines the shared summary block.\n *\n * @sealed\n * @internal\n */\nexport class SharedSummaryBlockFactory implements IChannelFactory {\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic static readonly Type = \"https://graph.microsoft.com/types/shared-summary-block\";\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic static readonly Attributes: IChannelAttributes = {\n\t\ttype: SharedSummaryBlockFactory.Type,\n\t\tsnapshotFormatVersion: \"0.1\",\n\t\tpackageVersion: pkgVersion,\n\t};\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic get type() {\n\t\treturn SharedSummaryBlockFactory.Type;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic get attributes() {\n\t\treturn SharedSummaryBlockFactory.Attributes;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}\n\t */\n\tpublic async load(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\tservices: IChannelServices,\n\t\tattributes: IChannelAttributes,\n\t): Promise<ISharedObject> {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(id, runtime, attributes);\n\t\tawait sharedSummaryBlock.load(services);\n\n\t\treturn sharedSummaryBlock;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}\n\t */\n\tpublic create(runtime: IFluidDataStoreRuntime, id: string): ISharedObject {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(\n\t\t\tid,\n\t\t\truntime,\n\t\t\tSharedSummaryBlockFactory.Attributes,\n\t\t);\n\t\tsharedSummaryBlock.initializeLocal();\n\n\t\treturn sharedSummaryBlock;\n\t}\n}\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { strict as assert } from "assert";
|
|
6
|
+
import { MockFluidDataStoreRuntime, MockSharedObjectServices, } from "@fluidframework/test-runtime-utils";
|
|
7
|
+
import { AttachState } from "@fluidframework/container-definitions";
|
|
8
|
+
import { SharedSummaryBlockFactory } from "../sharedSummaryBlockFactory.js";
|
|
9
|
+
describe("SharedSummaryBlock", () => {
|
|
10
|
+
let dataStoreRuntime;
|
|
11
|
+
let factory;
|
|
12
|
+
let sharedSummaryBlock;
|
|
13
|
+
beforeEach(async () => {
|
|
14
|
+
// We only want to test local state of the DDS.
|
|
15
|
+
dataStoreRuntime = new MockFluidDataStoreRuntime({ attachState: AttachState.Detached });
|
|
16
|
+
factory = new SharedSummaryBlockFactory();
|
|
17
|
+
sharedSummaryBlock = factory.create(dataStoreRuntime, "root");
|
|
18
|
+
});
|
|
19
|
+
describe("Api", () => {
|
|
20
|
+
it("can create a shared summary block", () => {
|
|
21
|
+
assert.ok(sharedSummaryBlock);
|
|
22
|
+
});
|
|
23
|
+
it("can set and get shared summary block data", async () => {
|
|
24
|
+
const key1 = "testKey1";
|
|
25
|
+
const value1 = "testValue1";
|
|
26
|
+
sharedSummaryBlock.set(key1, value1);
|
|
27
|
+
assert.equal(sharedSummaryBlock.get(key1), value1, "The retrieved value must match the set value");
|
|
28
|
+
const key2 = "testKey2";
|
|
29
|
+
const value2 = { value: "testValue2" };
|
|
30
|
+
sharedSummaryBlock.set(key2, value2);
|
|
31
|
+
assert.deepEqual(sharedSummaryBlock.get(key2), value2, "The retrieved value must match the set value");
|
|
32
|
+
const key3 = "testKey3";
|
|
33
|
+
const value3 = {
|
|
34
|
+
value1: "outer string",
|
|
35
|
+
value2: 2,
|
|
36
|
+
value3: [true, false],
|
|
37
|
+
value4: {
|
|
38
|
+
value1: "inner string",
|
|
39
|
+
value2: 500,
|
|
40
|
+
value3: [false, false, true],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
sharedSummaryBlock.set(key3, value3);
|
|
44
|
+
assert.deepEqual(sharedSummaryBlock.get(key3), value3, "The retrieved value must match the set value");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe("Summarize", () => {
|
|
48
|
+
it("can generate summary of the shared summary block data and load from it", async () => {
|
|
49
|
+
const key1 = "testKey1";
|
|
50
|
+
const value1 = "testValue1";
|
|
51
|
+
sharedSummaryBlock.set(key1, value1);
|
|
52
|
+
const key2 = "testKey2";
|
|
53
|
+
const value2 = "testValue2";
|
|
54
|
+
sharedSummaryBlock.set(key2, value2);
|
|
55
|
+
const key3 = "testKey3";
|
|
56
|
+
const value3 = { value: "testValue3" };
|
|
57
|
+
sharedSummaryBlock.set(key3, value3);
|
|
58
|
+
const summaryTree = sharedSummaryBlock.getAttachSummary().summary;
|
|
59
|
+
const contents = JSON.stringify({
|
|
60
|
+
testKey1: value1,
|
|
61
|
+
testKey2: value2,
|
|
62
|
+
testKey3: value3,
|
|
63
|
+
});
|
|
64
|
+
// Verify that the generated summary is correct.
|
|
65
|
+
const summaryObjectKeys = Object.keys(summaryTree.tree);
|
|
66
|
+
assert(summaryObjectKeys.length === 1, "summarize should return a tree with single blob");
|
|
67
|
+
assert(summaryObjectKeys[0] === "header", "summary should have a header blob");
|
|
68
|
+
assert(summaryTree.tree.header.content === contents, "The summary content is incorrect");
|
|
69
|
+
const services = new MockSharedObjectServices({
|
|
70
|
+
header: contents,
|
|
71
|
+
});
|
|
72
|
+
// Load another object from the snapshot and ensure that it has loaded the data from the original object.
|
|
73
|
+
const sharedSummaryBlock2 = (await factory.load(dataStoreRuntime, "mapId", services, factory.attributes));
|
|
74
|
+
assert.equal(sharedSummaryBlock2.get(key1), value1);
|
|
75
|
+
assert.equal(sharedSummaryBlock2.get(key2), value2);
|
|
76
|
+
assert.deepEqual(sharedSummaryBlock2.get(key3), value3);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=sharedSummaryBlock.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSummaryBlock.spec.js","sourceRoot":"","sources":["../../src/test/sharedSummaryBlock.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EACN,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAS5E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,IAAI,gBAA2C,CAAC;IAChD,IAAI,OAAkC,CAAC;IACvC,IAAI,kBAAuC,CAAC;IAE5C,UAAU,CAAC,KAAK,IAAI,EAAE;QACrB,+CAA+C;QAC/C,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC1C,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAwB,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CACX,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC5B,MAAM,EACN,8CAA8C,CAC9C,CAAC;YAEF,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACvC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CACf,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC5B,MAAM,EACN,8CAA8C,CAC9C,CAAC;YAEF,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAmB;gBAC9B,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrB,MAAM,EAAE;oBACP,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;iBAC5B;aACD,CAAC;YACF,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CACf,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAC5B,MAAM,EACN,8CAA8C,CAC9C,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACvC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,CACL,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAC9B,iDAAiD,CACjD,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,mCAAmC,CAAC,CAAC;YAC/E,MAAM,CACJ,WAAW,CAAC,IAAI,CAAC,MAAuB,CAAC,OAAO,KAAK,QAAQ,EAC9D,kCAAkC,CAClC,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC;gBAC7C,MAAM,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,yGAAyG;YACzG,MAAM,mBAAmB,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAC9C,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,OAAO,CAAC,UAAU,CAClB,CAAwB,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { strict as assert } from \"assert\";\nimport { ISummaryBlob } from \"@fluidframework/protocol-definitions\";\nimport {\n\tMockFluidDataStoreRuntime,\n\tMockSharedObjectServices,\n} from \"@fluidframework/test-runtime-utils\";\nimport { AttachState } from \"@fluidframework/container-definitions\";\nimport { ISharedSummaryBlock } from \"../interfaces.js\";\nimport { SharedSummaryBlockFactory } from \"../sharedSummaryBlockFactory.js\";\n\ninterface ITestInterface {\n\tvalue1: string;\n\tvalue2: number;\n\tvalue3: boolean[];\n\tvalue4?: ITestInterface;\n}\n\ndescribe(\"SharedSummaryBlock\", () => {\n\tlet dataStoreRuntime: MockFluidDataStoreRuntime;\n\tlet factory: SharedSummaryBlockFactory;\n\tlet sharedSummaryBlock: ISharedSummaryBlock;\n\n\tbeforeEach(async () => {\n\t\t// We only want to test local state of the DDS.\n\t\tdataStoreRuntime = new MockFluidDataStoreRuntime({ attachState: AttachState.Detached });\n\t\tfactory = new SharedSummaryBlockFactory();\n\t\tsharedSummaryBlock = factory.create(dataStoreRuntime, \"root\") as ISharedSummaryBlock;\n\t});\n\n\tdescribe(\"Api\", () => {\n\t\tit(\"can create a shared summary block\", () => {\n\t\t\tassert.ok(sharedSummaryBlock);\n\t\t});\n\n\t\tit(\"can set and get shared summary block data\", async () => {\n\t\t\tconst key1 = \"testKey1\";\n\t\t\tconst value1 = \"testValue1\";\n\t\t\tsharedSummaryBlock.set(key1, value1);\n\t\t\tassert.equal(\n\t\t\t\tsharedSummaryBlock.get(key1),\n\t\t\t\tvalue1,\n\t\t\t\t\"The retrieved value must match the set value\",\n\t\t\t);\n\n\t\t\tconst key2 = \"testKey2\";\n\t\t\tconst value2 = { value: \"testValue2\" };\n\t\t\tsharedSummaryBlock.set(key2, value2);\n\t\t\tassert.deepEqual(\n\t\t\t\tsharedSummaryBlock.get(key2),\n\t\t\t\tvalue2,\n\t\t\t\t\"The retrieved value must match the set value\",\n\t\t\t);\n\n\t\t\tconst key3 = \"testKey3\";\n\t\t\tconst value3: ITestInterface = {\n\t\t\t\tvalue1: \"outer string\",\n\t\t\t\tvalue2: 2,\n\t\t\t\tvalue3: [true, false],\n\t\t\t\tvalue4: {\n\t\t\t\t\tvalue1: \"inner string\",\n\t\t\t\t\tvalue2: 500,\n\t\t\t\t\tvalue3: [false, false, true],\n\t\t\t\t},\n\t\t\t};\n\t\t\tsharedSummaryBlock.set(key3, value3);\n\t\t\tassert.deepEqual(\n\t\t\t\tsharedSummaryBlock.get(key3),\n\t\t\t\tvalue3,\n\t\t\t\t\"The retrieved value must match the set value\",\n\t\t\t);\n\t\t});\n\t});\n\n\tdescribe(\"Summarize\", () => {\n\t\tit(\"can generate summary of the shared summary block data and load from it\", async () => {\n\t\t\tconst key1 = \"testKey1\";\n\t\t\tconst value1 = \"testValue1\";\n\t\t\tsharedSummaryBlock.set(key1, value1);\n\n\t\t\tconst key2 = \"testKey2\";\n\t\t\tconst value2 = \"testValue2\";\n\t\t\tsharedSummaryBlock.set(key2, value2);\n\n\t\t\tconst key3 = \"testKey3\";\n\t\t\tconst value3 = { value: \"testValue3\" };\n\t\t\tsharedSummaryBlock.set(key3, value3);\n\n\t\t\tconst summaryTree = sharedSummaryBlock.getAttachSummary().summary;\n\t\t\tconst contents = JSON.stringify({\n\t\t\t\ttestKey1: value1,\n\t\t\t\ttestKey2: value2,\n\t\t\t\ttestKey3: value3,\n\t\t\t});\n\n\t\t\t// Verify that the generated summary is correct.\n\t\t\tconst summaryObjectKeys = Object.keys(summaryTree.tree);\n\t\t\tassert(\n\t\t\t\tsummaryObjectKeys.length === 1,\n\t\t\t\t\"summarize should return a tree with single blob\",\n\t\t\t);\n\t\t\tassert(summaryObjectKeys[0] === \"header\", \"summary should have a header blob\");\n\t\t\tassert(\n\t\t\t\t(summaryTree.tree.header as ISummaryBlob).content === contents,\n\t\t\t\t\"The summary content is incorrect\",\n\t\t\t);\n\n\t\t\tconst services = new MockSharedObjectServices({\n\t\t\t\theader: contents,\n\t\t\t});\n\n\t\t\t// Load another object from the snapshot and ensure that it has loaded the data from the original object.\n\t\t\tconst sharedSummaryBlock2 = (await factory.load(\n\t\t\t\tdataStoreRuntime,\n\t\t\t\t\"mapId\",\n\t\t\t\tservices,\n\t\t\t\tfactory.attributes,\n\t\t\t)) as ISharedSummaryBlock;\n\t\t\tassert.equal(sharedSummaryBlock2.get(key1), value1);\n\t\t\tassert.equal(sharedSummaryBlock2.get(key2), value2);\n\t\t\tassert.deepEqual(sharedSummaryBlock2.get(key3), value3);\n\t\t});\n\t});\n});\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
use_current_InterfaceDeclaration_ISharedSummaryBlock(get_old_InterfaceDeclaration_ISharedSummaryBlock());
|
|
2
|
+
use_old_InterfaceDeclaration_ISharedSummaryBlock(get_current_InterfaceDeclaration_ISharedSummaryBlock());
|
|
3
|
+
use_current_ClassDeclaration_SharedSummaryBlock(get_old_ClassDeclaration_SharedSummaryBlock());
|
|
4
|
+
use_old_ClassDeclaration_SharedSummaryBlock(get_current_ClassDeclaration_SharedSummaryBlock());
|
|
5
|
+
use_current_ClassDeclaration_SharedSummaryBlockFactory(get_old_ClassDeclaration_SharedSummaryBlockFactory());
|
|
6
|
+
use_old_ClassDeclaration_SharedSummaryBlockFactory(get_current_ClassDeclaration_SharedSummaryBlockFactory());
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=validateSharedSummaryBlockPrevious.generated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateSharedSummaryBlockPrevious.generated.js","sourceRoot":"","sources":["../../../src/test/types/validateSharedSummaryBlockPrevious.generated.ts"],"names":[],"mappings":"AAgCA,oDAAoD,CAChD,gDAAgD,EAAE,CAAC,CAAC;AAWxD,gDAAgD,CAC5C,oDAAoD,EAAE,CAAC,CAAC;AAW5D,+CAA+C,CAC3C,2CAA2C,EAAE,CAAC,CAAC;AAWnD,2CAA2C,CACvC,+CAA+C,EAAE,CAAC,CAAC;AAWvD,sDAAsD,CAClD,kDAAkD,EAAE,CAAC,CAAC;AAW1D,kDAAkD,CAC9C,sDAAsD,EAAE,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by fluid-type-test-generator in @fluidframework/build-tools.\n */\nimport type * as old from \"@fluidframework/shared-summary-block-previous\";\nimport type * as current from \"../../index.js\";\n\n\n// See 'build-tools/src/type-test-generator/compatibility.ts' for more information.\ntype TypeOnly<T> = T extends number\n\t? number\n\t: T extends string\n\t? string\n\t: T extends boolean | bigint | symbol\n\t? T\n\t: {\n\t\t\t[P in keyof T]: TypeOnly<T[P]>;\n\t };\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"InterfaceDeclaration_ISharedSummaryBlock\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_ISharedSummaryBlock():\n TypeOnly<old.ISharedSummaryBlock>;\ndeclare function use_current_InterfaceDeclaration_ISharedSummaryBlock(\n use: TypeOnly<current.ISharedSummaryBlock>): void;\nuse_current_InterfaceDeclaration_ISharedSummaryBlock(\n get_old_InterfaceDeclaration_ISharedSummaryBlock());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"InterfaceDeclaration_ISharedSummaryBlock\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_ISharedSummaryBlock():\n TypeOnly<current.ISharedSummaryBlock>;\ndeclare function use_old_InterfaceDeclaration_ISharedSummaryBlock(\n use: TypeOnly<old.ISharedSummaryBlock>): void;\nuse_old_InterfaceDeclaration_ISharedSummaryBlock(\n get_current_InterfaceDeclaration_ISharedSummaryBlock());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"ClassDeclaration_SharedSummaryBlock\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_ClassDeclaration_SharedSummaryBlock():\n TypeOnly<old.SharedSummaryBlock>;\ndeclare function use_current_ClassDeclaration_SharedSummaryBlock(\n use: TypeOnly<current.SharedSummaryBlock>): void;\nuse_current_ClassDeclaration_SharedSummaryBlock(\n get_old_ClassDeclaration_SharedSummaryBlock());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"ClassDeclaration_SharedSummaryBlock\": {\"backCompat\": false}\n*/\ndeclare function get_current_ClassDeclaration_SharedSummaryBlock():\n TypeOnly<current.SharedSummaryBlock>;\ndeclare function use_old_ClassDeclaration_SharedSummaryBlock(\n use: TypeOnly<old.SharedSummaryBlock>): void;\nuse_old_ClassDeclaration_SharedSummaryBlock(\n get_current_ClassDeclaration_SharedSummaryBlock());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"ClassDeclaration_SharedSummaryBlockFactory\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_ClassDeclaration_SharedSummaryBlockFactory():\n TypeOnly<old.SharedSummaryBlockFactory>;\ndeclare function use_current_ClassDeclaration_SharedSummaryBlockFactory(\n use: TypeOnly<current.SharedSummaryBlockFactory>): void;\nuse_current_ClassDeclaration_SharedSummaryBlockFactory(\n get_old_ClassDeclaration_SharedSummaryBlockFactory());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken:\n* \"ClassDeclaration_SharedSummaryBlockFactory\": {\"backCompat\": false}\n*/\ndeclare function get_current_ClassDeclaration_SharedSummaryBlockFactory():\n TypeOnly<current.SharedSummaryBlockFactory>;\ndeclare function use_old_ClassDeclaration_SharedSummaryBlockFactory(\n use: TypeOnly<old.SharedSummaryBlockFactory>): void;\nuse_old_ClassDeclaration_SharedSummaryBlockFactory(\n get_current_ClassDeclaration_SharedSummaryBlockFactory());\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/shared-summary-block",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.2.0.0",
|
|
4
4
|
"description": "A DDS that does not generate ops but is part of summary",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -11,60 +11,50 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"author": "Microsoft and contributors",
|
|
13
13
|
"sideEffects": false,
|
|
14
|
+
"type": "module",
|
|
14
15
|
"exports": {
|
|
15
16
|
".": {
|
|
16
17
|
"import": {
|
|
17
|
-
"types": "./lib/index.d.
|
|
18
|
-
"default": "./lib/index.
|
|
18
|
+
"types": "./lib/index.d.ts",
|
|
19
|
+
"default": "./lib/index.js"
|
|
19
20
|
},
|
|
20
21
|
"require": {
|
|
21
22
|
"types": "./dist/index.d.ts",
|
|
22
23
|
"default": "./dist/index.js"
|
|
23
24
|
}
|
|
24
25
|
},
|
|
25
|
-
"./
|
|
26
|
+
"./public": {
|
|
26
27
|
"import": {
|
|
27
|
-
"types": "./lib/shared-summary-block-
|
|
28
|
-
"default": "./lib/index.
|
|
28
|
+
"types": "./lib/shared-summary-block-public.d.ts",
|
|
29
|
+
"default": "./lib/index.js"
|
|
29
30
|
},
|
|
30
31
|
"require": {
|
|
31
|
-
"types": "./dist/shared-summary-block-
|
|
32
|
+
"types": "./dist/shared-summary-block-public.d.ts",
|
|
32
33
|
"default": "./dist/index.js"
|
|
33
34
|
}
|
|
34
35
|
},
|
|
35
|
-
"./
|
|
36
|
+
"./alpha": {
|
|
36
37
|
"import": {
|
|
37
|
-
"types": "./lib/shared-summary-block-
|
|
38
|
-
"default": "./lib/index.
|
|
38
|
+
"types": "./lib/shared-summary-block-alpha.d.ts",
|
|
39
|
+
"default": "./lib/index.js"
|
|
39
40
|
},
|
|
40
41
|
"require": {
|
|
41
|
-
"types": "./dist/shared-summary-block-
|
|
42
|
+
"types": "./dist/shared-summary-block-alpha.d.ts",
|
|
42
43
|
"default": "./dist/index.js"
|
|
43
44
|
}
|
|
44
45
|
},
|
|
45
46
|
"./internal": {
|
|
46
47
|
"import": {
|
|
47
|
-
"types": "./lib/index.d.
|
|
48
|
-
"default": "./lib/index.
|
|
48
|
+
"types": "./lib/index.d.ts",
|
|
49
|
+
"default": "./lib/index.js"
|
|
49
50
|
},
|
|
50
51
|
"require": {
|
|
51
52
|
"types": "./dist/index.d.ts",
|
|
52
53
|
"default": "./dist/index.js"
|
|
53
54
|
}
|
|
54
|
-
},
|
|
55
|
-
"./public": {
|
|
56
|
-
"import": {
|
|
57
|
-
"types": "./lib/shared-summary-block-public.d.mts",
|
|
58
|
-
"default": "./lib/index.mjs"
|
|
59
|
-
},
|
|
60
|
-
"require": {
|
|
61
|
-
"types": "./dist/shared-summary-block-public.d.ts",
|
|
62
|
-
"default": "./dist/index.js"
|
|
63
|
-
}
|
|
64
55
|
}
|
|
65
56
|
},
|
|
66
57
|
"main": "dist/index.js",
|
|
67
|
-
"module": "lib/index.mjs",
|
|
68
58
|
"types": "dist/index.d.ts",
|
|
69
59
|
"c8": {
|
|
70
60
|
"all": true,
|
|
@@ -87,23 +77,24 @@
|
|
|
87
77
|
"temp-directory": "nyc/.nyc_output"
|
|
88
78
|
},
|
|
89
79
|
"dependencies": {
|
|
90
|
-
"@fluidframework/core-interfaces": ">=2.0.0-rc.
|
|
91
|
-
"@fluidframework/datastore-definitions": ">=2.0.0-rc.
|
|
92
|
-
"@fluidframework/driver-utils": ">=2.0.0-rc.
|
|
93
|
-
"@fluidframework/protocol-definitions": "^3.
|
|
94
|
-
"@fluidframework/runtime-definitions": ">=2.0.0-rc.
|
|
95
|
-
"@fluidframework/shared-object-base": ">=2.0.0-rc.
|
|
80
|
+
"@fluidframework/core-interfaces": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
81
|
+
"@fluidframework/datastore-definitions": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
82
|
+
"@fluidframework/driver-utils": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
83
|
+
"@fluidframework/protocol-definitions": "^3.2.0",
|
|
84
|
+
"@fluidframework/runtime-definitions": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
85
|
+
"@fluidframework/shared-object-base": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0"
|
|
96
86
|
},
|
|
97
87
|
"devDependencies": {
|
|
98
88
|
"@arethetypeswrong/cli": "^0.13.3",
|
|
99
|
-
"@fluid-
|
|
89
|
+
"@fluid-internal/mocha-test-setup": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
90
|
+
"@fluid-tools/build-cli": "^0.34.0",
|
|
100
91
|
"@fluidframework/build-common": "^2.0.3",
|
|
101
|
-
"@fluidframework/build-tools": "^0.
|
|
102
|
-
"@fluidframework/
|
|
103
|
-
"@fluidframework/
|
|
92
|
+
"@fluidframework/build-tools": "^0.34.0",
|
|
93
|
+
"@fluidframework/container-definitions": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
94
|
+
"@fluidframework/eslint-config-fluid": "^4.0.0",
|
|
104
95
|
"@fluidframework/shared-summary-block-previous": "npm:@fluidframework/shared-summary-block@2.0.0-internal.8.0.0",
|
|
105
|
-
"@fluidframework/test-runtime-utils": ">=2.0.0-rc.
|
|
106
|
-
"@microsoft/api-extractor": "^7.
|
|
96
|
+
"@fluidframework/test-runtime-utils": ">=2.0.0-rc.2.0.0 <2.0.0-rc.2.1.0",
|
|
97
|
+
"@microsoft/api-extractor": "^7.42.3",
|
|
107
98
|
"@types/benchmark": "^2.1.0",
|
|
108
99
|
"@types/mocha": "^9.1.1",
|
|
109
100
|
"@types/node": "^18.19.0",
|
|
@@ -111,7 +102,7 @@
|
|
|
111
102
|
"c8": "^8.0.1",
|
|
112
103
|
"copyfiles": "^2.4.1",
|
|
113
104
|
"cross-env": "^7.0.3",
|
|
114
|
-
"eslint": "~8.
|
|
105
|
+
"eslint": "~8.55.0",
|
|
115
106
|
"mocha": "^10.2.0",
|
|
116
107
|
"mocha-json-output-reporter": "^2.0.1",
|
|
117
108
|
"mocha-multi-reporters": "^1.5.1",
|
|
@@ -119,7 +110,6 @@
|
|
|
119
110
|
"prettier": "~3.0.3",
|
|
120
111
|
"replace-in-file": "^6.3.5",
|
|
121
112
|
"rimraf": "^4.4.0",
|
|
122
|
-
"tsc-multi": "^1.1.0",
|
|
123
113
|
"typescript": "~5.1.6"
|
|
124
114
|
},
|
|
125
115
|
"fluidBuild": {
|
|
@@ -139,16 +129,18 @@
|
|
|
139
129
|
},
|
|
140
130
|
"scripts": {
|
|
141
131
|
"api": "fluid-build . --task api",
|
|
142
|
-
"api-extractor:commonjs": "api-extractor run --
|
|
143
|
-
"api-extractor:esnext": "api-extractor run --
|
|
132
|
+
"api-extractor:commonjs": "api-extractor run --config ./api-extractor-cjs.json",
|
|
133
|
+
"api-extractor:esnext": "api-extractor run --local",
|
|
144
134
|
"build": "fluid-build . --task build",
|
|
145
135
|
"build:commonjs": "fluid-build . --task commonjs",
|
|
146
136
|
"build:compile": "fluid-build . --task compile",
|
|
147
137
|
"build:compile:min": "npm run build:compile",
|
|
148
138
|
"build:docs": "fluid-build . --task api",
|
|
149
|
-
"build:esnext": "tsc
|
|
139
|
+
"build:esnext": "tsc --project ./tsconfig.json",
|
|
150
140
|
"build:genver": "gen-version",
|
|
151
|
-
"build:test": "
|
|
141
|
+
"build:test": "npm run build:test:esm && npm run build:test:cjs",
|
|
142
|
+
"build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
|
|
143
|
+
"build:test:esm": "tsc --project ./src/test/tsconfig.json",
|
|
152
144
|
"check:are-the-types-wrong": "attw --pack . --entrypoints .",
|
|
153
145
|
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
154
146
|
"ci:build:docs": "api-extractor run",
|
|
@@ -162,9 +154,11 @@
|
|
|
162
154
|
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
163
155
|
"test": "npm run test:mocha",
|
|
164
156
|
"test:coverage": "c8 npm test",
|
|
165
|
-
"test:mocha": "
|
|
157
|
+
"test:mocha": "npm run test:mocha:esm && echo skipping cjs to avoid overhead - npm run test:mocha:cjs",
|
|
158
|
+
"test:mocha:cjs": "mocha --recursive \"dist/test/**/*.spec.*js\" --exit",
|
|
159
|
+
"test:mocha:esm": "mocha --recursive \"lib/test/**/*.spec.*js\" --exit",
|
|
166
160
|
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
|
|
167
|
-
"tsc": "tsc",
|
|
161
|
+
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
|
|
168
162
|
"typetests:gen": "fluid-type-test-generator",
|
|
169
163
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
|
170
164
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
export { ISharedSummaryBlock } from "./interfaces";
|
|
7
|
-
export { SharedSummaryBlock } from "./sharedSummaryBlock";
|
|
8
|
-
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory";
|
|
6
|
+
export { ISharedSummaryBlock } from "./interfaces.js";
|
|
7
|
+
export { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
8
|
+
export { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
package/src/packageVersion.ts
CHANGED
|
@@ -18,8 +18,8 @@ import {
|
|
|
18
18
|
IFluidSerializer,
|
|
19
19
|
SharedObject,
|
|
20
20
|
} from "@fluidframework/shared-object-base";
|
|
21
|
-
import { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory";
|
|
22
|
-
import { ISharedSummaryBlock } from "./interfaces";
|
|
21
|
+
import { SharedSummaryBlockFactory } from "./sharedSummaryBlockFactory.js";
|
|
22
|
+
import { ISharedSummaryBlock } from "./interfaces.js";
|
|
23
23
|
|
|
24
24
|
const snapshotFileName = "header";
|
|
25
25
|
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
IChannelFactory,
|
|
11
11
|
} from "@fluidframework/datastore-definitions";
|
|
12
12
|
import { ISharedObject } from "@fluidframework/shared-object-base";
|
|
13
|
-
import { pkgVersion } from "./packageVersion";
|
|
14
|
-
import { SharedSummaryBlock } from "./sharedSummaryBlock";
|
|
13
|
+
import { pkgVersion } from "./packageVersion.js";
|
|
14
|
+
import { SharedSummaryBlock } from "./sharedSummaryBlock.js";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* The factory that defines the shared summary block.
|
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends":
|
|
3
|
-
"../../../common/build/build-common/tsconfig.base.json",
|
|
4
|
-
"../../../common/build/build-common/tsconfig.cjs.json",
|
|
5
|
-
],
|
|
2
|
+
"extends": "../../../common/build/build-common/tsconfig.node16.json",
|
|
6
3
|
"include": ["src/**/*"],
|
|
7
4
|
"exclude": ["src/test/**/*"],
|
|
8
5
|
"compilerOptions": {
|
|
9
6
|
"rootDir": "./src",
|
|
10
|
-
"outDir": "./
|
|
7
|
+
"outDir": "./lib",
|
|
11
8
|
},
|
|
12
9
|
}
|
package/lib/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,mBAAmB,EAAE;OACvB,EAAE,kBAAkB,EAAE;OACtB,EAAE,yBAAyB,EAAE"}
|
package/lib/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,kBAAkB,EAAE;OACtB,EAAE,yBAAyB,EAAE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { ISharedSummaryBlock } from \"./interfaces\";\nexport { SharedSummaryBlock } from \"./sharedSummaryBlock\";\nexport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory\";\n"]}
|
package/lib/interfaces.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.mts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,QAAQ,EAAE,MAAM,uCAAuC;OACzD,EAAE,aAAa,EAAE,MAAM,oCAAoC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC9C"}
|
package/lib/interfaces.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.mjs","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Jsonable } from \"@fluidframework/datastore-definitions\";\nimport { ISharedObject } from \"@fluidframework/shared-object-base\";\n\n/**\n * Shared summary block interface. A shared summary block is part of the summary but it does not generate any ops.\n * The set on this interface must only be called in response to a remote op. Basically, if we replay same ops,\n * the set of calls on this interface to set data should be the same. This is critical because the object does not\n * generate ops of its own, but relies on the above principle to maintain eventual consistency and to summarize.\n * @alpha\n */\nexport interface ISharedSummaryBlock extends ISharedObject {\n\t/**\n\t * Retrieves the given key from the map.\n\t * @param key - Key to retrieve from.\n\t * @returns The stored value, or undefined if the key is not set.\n\t *\n\t * @privateRemarks\n\t * The return type is underspecified to allow for the possibility of objects with function or undefined values.\n\t */\n\tget<T>(key: string): Jsonable<T>;\n\n\t/**\n\t * Sets the value stored at key to the provided value.\n\t * @param key - Key to set at.\n\t * @param value - Jsonable type value to set.\n\t */\n\tset<T>(key: string, value: Jsonable<T>): void;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.d.mts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,yCAAyC,CAAC;AAC9D,eAAO,MAAM,UAAU,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.mjs","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,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/shared-summary-block\";\nexport const pkgVersion = \"2.0.0-rc.1.0.3\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlock.d.mts","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,yBAAyB,EAAE,MAAM,sCAAsC;OACzE,EACN,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,MAAM,uCAAuC;OACvC,EAAE,qBAAqB,EAAE,MAAM,qCAAqC;OAEpE,EAEN,gBAAgB,EAChB,YAAY,EACZ,MAAM,oCAAoC;OAEpC,EAAE,mBAAmB,EAAE;AAY9B;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,mBAAmB;IAClF;;;;;;OAMG;WACW,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,MAAM;IAIjE;;;;OAIG;WACW,UAAU,IAAI,eAAe;IAI3C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAE7D;;;;;;;OAOG;gBACS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,kBAAkB;IAIvF;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAIvC;;OAEG;IACI,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpD;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,qBAAqB;IAQ5E;;OAEG;cACa,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE;;OAEG;IACH,SAAS,CAAC,YAAY;IAEtB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IAIxE,SAAS,CAAC,cAAc;CAGxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlock.mjs","sourceRoot":"","sources":["../src/sharedSummaryBlock.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAWI,EAAE,YAAY,EAAE,MAAM,8BAA8B;OACpD,EACN,uBAAuB,EAEvB,YAAY,GACZ,MAAM,oCAAoC;OACpC,EAAE,yBAAyB,EAAE;AAGpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAUlC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IACnD;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,OAA+B,EAAE,EAAW;QAChE,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,yBAAyB,CAAC,IAAI,CAAuB,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU;QACvB,OAAO,IAAI,yBAAyB,EAAE,CAAC;IACxC,CAAC;IAOD;;;;;;;OAOG;IACH,YAAY,EAAU,EAAE,OAA+B,EAAE,UAA8B;QACtF,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAd7D;;WAEG;QACc,SAAI,GAAG,IAAI,GAAG,EAA6B,CAAC;IAY7D,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,GAAG,CAAI,GAAW,EAAE,KAAkB;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1B,mEAAmE;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,UAA4B;QACnD,MAAM,YAAY,GAAwC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAChC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,uBAAuB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,QAAQ,CAAC,OAA+B;QACvD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAClC,OAAO,EACP,gBAAgB,CAChB,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC1B;IACF,CAAC;IAED;;OAEG;IACO,YAAY,KAAI,CAAC;IAE3B;;OAEG;IACO,WAAW,CAAC,OAAkC,EAAE,KAAc;QACvE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACtE,CAAC;IAES,cAAc;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelStorageService,\n\tJsonable,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISummaryTreeWithStats } from \"@fluidframework/runtime-definitions\";\nimport { readAndParse } from \"@fluidframework/driver-utils\";\nimport {\n\tcreateSingleBlobSummary,\n\tIFluidSerializer,\n\tSharedObject,\n} from \"@fluidframework/shared-object-base\";\nimport { SharedSummaryBlockFactory } from \"./sharedSummaryBlockFactory\";\nimport { ISharedSummaryBlock } from \"./interfaces\";\n\nconst snapshotFileName = \"header\";\n\n/**\n * Defines the in-memory object structure to be used for the conversion to/from serialized.\n * Directly used in JSON.stringify, direct result from JSON.parse.\n */\ninterface ISharedSummaryBlockDataSerializable {\n\t[key: string]: Jsonable<unknown>;\n}\n\n/**\n * Implementation of a shared summary block. It does not generate any ops. It is only part of the summary.\n * Data should be set in this object in response to a remote op.\n * @alpha\n */\nexport class SharedSummaryBlock extends SharedObject implements ISharedSummaryBlock {\n\t/**\n\t * Create a new shared summary block\n\t *\n\t * @param runtime - data store runtime the new shared summary block belongs to.\n\t * @param id - optional name of the shared summary block.\n\t * @returns newly created shared summary block (but not attached yet).\n\t */\n\tpublic static create(runtime: IFluidDataStoreRuntime, id?: string) {\n\t\treturn runtime.createChannel(id, SharedSummaryBlockFactory.Type) as SharedSummaryBlock;\n\t}\n\n\t/**\n\t * Get a factory for SharedSummaryBlock to register with the data store.\n\t *\n\t * @returns a factory that creates and loads SharedSummaryBlock.\n\t */\n\tpublic static getFactory(): IChannelFactory {\n\t\treturn new SharedSummaryBlockFactory();\n\t}\n\n\t/**\n\t * The data held by this object.\n\t */\n\tprivate readonly data = new Map<string, Jsonable<unknown>>();\n\n\t/**\n\t * Constructs a new SharedSummaryBlock. If the object is non-local, an id and service interfaces will\n\t * be provided.\n\t *\n\t * @param id - optional name of the shared summary block.\n\t * @param runtime - data store runtime thee object belongs to.\n\t * @param attributes - The attributes for the object.\n\t */\n\tconstructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes) {\n\t\tsuper(id, runtime, attributes, \"fluid_sharedSummaryBlock_\");\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.get}\n\t */\n\tpublic get<T>(key: string): Jsonable<T> {\n\t\treturn this.data.get(key) as Jsonable<T>;\n\t}\n\n\t/**\n\t * {@inheritDoc ISharedSummaryBlock.set}\n\t */\n\tpublic set<T>(key: string, value: Jsonable<T>): void {\n\t\tthis.data.set(key, value);\n\t\t// Set this object as dirty so that it is part of the next summary.\n\t\tthis.dirty();\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.summarizeCore}\n\t */\n\tprotected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats {\n\t\tconst contentsBlob: ISharedSummaryBlockDataSerializable = {};\n\t\tthis.data.forEach((value, key) => {\n\t\t\tcontentsBlob[key] = value;\n\t\t});\n\t\treturn createSingleBlobSummary(snapshotFileName, JSON.stringify(contentsBlob));\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.loadCore}\n\t */\n\tprotected async loadCore(storage: IChannelStorageService): Promise<void> {\n\t\tconst contents = await readAndParse<ISharedSummaryBlockDataSerializable>(\n\t\t\tstorage,\n\t\t\tsnapshotFileName,\n\t\t);\n\t\tfor (const [key, value] of Object.entries(contents)) {\n\t\t\tthis.data.set(key, value);\n\t\t}\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.onDisconnect}\n\t */\n\tprotected onDisconnect() {}\n\n\t/**\n\t * {@inheritDoc @fluidframework/shared-object-base#SharedObject.processCore}\n\t */\n\tprotected processCore(message: ISequencedDocumentMessage, local: boolean) {\n\t\tthrow new Error(\"shared summary block should not generate any ops.\");\n\t}\n\n\tprotected applyStashedOp() {\n\t\tthrow new Error(\"not implemented\");\n\t}\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlockFactory.d.mts","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EACN,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,MAAM,uCAAuC;OACvC,EAAE,aAAa,EAAE,MAAM,oCAAoC;AAIlE;;;;;GAKG;AACH,qBAAa,yBAA0B,YAAW,eAAe;IAChE;;OAEG;IACH,gBAAuB,IAAI,4DAA4D;IAEvF;;OAEG;IACH,gBAAuB,UAAU,EAAE,kBAAkB,CAInD;IAEF;;OAEG;IACH,IAAW,IAAI,WAEd;IAED;;OAEG;IACH,IAAW,UAAU,uBAEpB;IAED;;OAEG;IACU,IAAI,CAChB,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,kBAAkB,GAC5B,OAAO,CAAC,aAAa,CAAC;IAOzB;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa;CAUzE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSummaryBlockFactory.mjs","sourceRoot":"","sources":["../src/sharedSummaryBlockFactory.ts"],"names":[],"mappings":"AAAA;;;GAGG;OASI,EAAE,UAAU,EAAE;OACd,EAAE,kBAAkB,EAAE;AAE7B;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IAerC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,yBAAyB,CAAC,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,yBAAyB,CAAC,UAAU,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAChB,OAA+B,EAC/B,EAAU,EACV,QAA0B,EAC1B,UAA8B;QAE9B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAA+B,EAAE,EAAU;QACxD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAChD,EAAE,EACF,OAAO,EACP,yBAAyB,CAAC,UAAU,CACpC,CAAC;QACF,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAErC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;;AAvDD;;GAEG;AACoB,8BAAI,GAAG,wDAAwD,CAAC;AAEvF;;GAEG;AACoB,oCAAU,GAAuB;IACvD,IAAI,EAAE,yBAAyB,CAAC,IAAI;IACpC,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,UAAU;CAC1B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tIChannelAttributes,\n\tIFluidDataStoreRuntime,\n\tIChannelServices,\n\tIChannelFactory,\n} from \"@fluidframework/datastore-definitions\";\nimport { ISharedObject } from \"@fluidframework/shared-object-base\";\nimport { pkgVersion } from \"./packageVersion\";\nimport { SharedSummaryBlock } from \"./sharedSummaryBlock\";\n\n/**\n * The factory that defines the shared summary block.\n *\n * @sealed\n * @internal\n */\nexport class SharedSummaryBlockFactory implements IChannelFactory {\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic static readonly Type = \"https://graph.microsoft.com/types/shared-summary-block\";\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic static readonly Attributes: IChannelAttributes = {\n\t\ttype: SharedSummaryBlockFactory.Type,\n\t\tsnapshotFormatVersion: \"0.1\",\n\t\tpackageVersion: pkgVersion,\n\t};\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.\"type\"}\n\t */\n\tpublic get type() {\n\t\treturn SharedSummaryBlockFactory.Type;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.attributes}\n\t */\n\tpublic get attributes() {\n\t\treturn SharedSummaryBlockFactory.Attributes;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.load}\n\t */\n\tpublic async load(\n\t\truntime: IFluidDataStoreRuntime,\n\t\tid: string,\n\t\tservices: IChannelServices,\n\t\tattributes: IChannelAttributes,\n\t): Promise<ISharedObject> {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(id, runtime, attributes);\n\t\tawait sharedSummaryBlock.load(services);\n\n\t\treturn sharedSummaryBlock;\n\t}\n\n\t/**\n\t * {@inheritDoc @fluidframework/datastore-definitions#IChannelFactory.create}\n\t */\n\tpublic create(runtime: IFluidDataStoreRuntime, id: string): ISharedObject {\n\t\tconst sharedSummaryBlock = new SharedSummaryBlock(\n\t\t\tid,\n\t\t\truntime,\n\t\t\tSharedSummaryBlockFactory.Attributes,\n\t\t);\n\t\tsharedSummaryBlock.initializeLocal();\n\n\t\treturn sharedSummaryBlock;\n\t}\n}\n"]}
|
|
File without changes
|
|
File without changes
|