@fluidframework/runtime-utils 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419
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 +5 -7
- package/.mocharc.js +12 -0
- package/CHANGELOG.md +191 -0
- package/README.md +68 -1
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +2 -2
- package/api-report/runtime-utils.api.md +201 -0
- package/dist/{dataStoreHandleContextUtils.js → dataStoreHandleContextUtils.cjs} +5 -2
- package/dist/dataStoreHandleContextUtils.cjs.map +1 -0
- package/dist/dataStoreHandleContextUtils.d.ts +1 -0
- package/dist/dataStoreHandleContextUtils.d.ts.map +1 -1
- package/dist/{dataStoreHelpers.js → dataStoreHelpers.cjs} +44 -25
- package/dist/dataStoreHelpers.cjs.map +1 -0
- package/dist/dataStoreHelpers.d.ts +23 -4
- package/dist/dataStoreHelpers.d.ts.map +1 -1
- package/dist/index.cjs +44 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/{objectstoragepartition.js → objectstoragepartition.cjs} +4 -3
- package/dist/objectstoragepartition.cjs.map +1 -0
- package/dist/objectstoragepartition.d.ts +1 -0
- package/dist/objectstoragepartition.d.ts.map +1 -1
- package/dist/{objectstorageutils.js → objectstorageutils.cjs} +11 -15
- package/dist/objectstorageutils.cjs.map +1 -0
- package/dist/objectstorageutils.d.ts +6 -0
- package/dist/objectstorageutils.d.ts.map +1 -1
- package/dist/{requestParser.js → requestParser.cjs} +7 -11
- package/dist/requestParser.cjs.map +1 -0
- package/dist/requestParser.d.ts +1 -0
- package/dist/requestParser.d.ts.map +1 -1
- package/dist/runtime-utils-alpha.d.ts +155 -0
- package/dist/runtime-utils-beta.d.ts +103 -0
- package/dist/runtime-utils-public.d.ts +103 -0
- package/dist/runtime-utils-untrimmed.d.ts +306 -0
- package/dist/{runtimeFactoryHelper.js → runtimeFactoryHelper.cjs} +11 -12
- package/dist/runtimeFactoryHelper.cjs.map +1 -0
- package/dist/runtimeFactoryHelper.d.ts +4 -1
- package/dist/runtimeFactoryHelper.d.ts.map +1 -1
- package/dist/{summaryUtils.js → summaryUtils.cjs} +138 -34
- package/dist/summaryUtils.cjs.map +1 -0
- package/dist/summaryUtils.d.ts +66 -4
- package/dist/summaryUtils.d.ts.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/unpackUsedRoutes.cjs +34 -0
- package/dist/unpackUsedRoutes.cjs.map +1 -0
- package/dist/unpackUsedRoutes.d.ts +12 -0
- package/dist/unpackUsedRoutes.d.ts.map +1 -0
- package/dist/{utils.js → utils.cjs} +2 -1
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +7 -2
- package/dist/utils.d.ts.map +1 -1
- package/lib/{dataStoreHandleContextUtils.d.ts → dataStoreHandleContextUtils.d.mts} +1 -0
- package/lib/dataStoreHandleContextUtils.d.mts.map +1 -0
- package/lib/{dataStoreHandleContextUtils.js → dataStoreHandleContextUtils.mjs} +5 -2
- package/lib/dataStoreHandleContextUtils.mjs.map +1 -0
- package/lib/{dataStoreHelpers.d.ts → dataStoreHelpers.d.mts} +23 -4
- package/lib/dataStoreHelpers.d.mts.map +1 -0
- package/lib/{dataStoreHelpers.js → dataStoreHelpers.mjs} +42 -22
- package/lib/dataStoreHelpers.mjs.map +1 -0
- package/lib/index.d.mts +14 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +14 -0
- package/lib/index.mjs.map +1 -0
- package/lib/{objectstoragepartition.d.ts → objectstoragepartition.d.mts} +1 -0
- package/lib/objectstoragepartition.d.mts.map +1 -0
- package/lib/{objectstoragepartition.js → objectstoragepartition.mjs} +3 -2
- package/lib/objectstoragepartition.mjs.map +1 -0
- package/lib/{objectstorageutils.d.ts → objectstorageutils.d.mts} +6 -0
- package/lib/objectstorageutils.d.mts.map +1 -0
- package/lib/{objectstorageutils.js → objectstorageutils.mjs} +11 -15
- package/lib/objectstorageutils.mjs.map +1 -0
- package/lib/{requestParser.d.ts → requestParser.d.mts} +1 -4
- package/lib/requestParser.d.mts.map +1 -0
- package/lib/{requestParser.js → requestParser.mjs} +7 -11
- package/lib/requestParser.mjs.map +1 -0
- package/lib/runtime-utils-alpha.d.mts +155 -0
- package/lib/runtime-utils-beta.d.mts +103 -0
- package/lib/runtime-utils-public.d.mts +103 -0
- package/lib/runtime-utils-untrimmed.d.mts +306 -0
- package/lib/{runtimeFactoryHelper.d.ts → runtimeFactoryHelper.d.mts} +4 -1
- package/lib/runtimeFactoryHelper.d.mts.map +1 -0
- package/lib/runtimeFactoryHelper.mjs +24 -0
- package/lib/runtimeFactoryHelper.mjs.map +1 -0
- package/lib/{summaryUtils.d.ts → summaryUtils.d.mts} +66 -4
- package/lib/summaryUtils.d.mts.map +1 -0
- package/lib/{summaryUtils.js → summaryUtils.mjs} +129 -26
- package/lib/summaryUtils.mjs.map +1 -0
- package/lib/unpackUsedRoutes.d.mts +12 -0
- package/lib/unpackUsedRoutes.d.mts.map +1 -0
- package/lib/unpackUsedRoutes.mjs +30 -0
- package/lib/unpackUsedRoutes.mjs.map +1 -0
- package/lib/{utils.d.ts → utils.d.mts} +7 -2
- package/lib/utils.d.mts.map +1 -0
- package/lib/{utils.js → utils.mjs} +2 -1
- package/lib/utils.mjs.map +1 -0
- package/package.json +102 -66
- package/prettier.config.cjs +8 -0
- package/src/dataStoreHandleContextUtils.ts +24 -16
- package/src/dataStoreHelpers.ts +106 -83
- package/src/index.ts +31 -9
- package/src/objectstoragepartition.ts +18 -14
- package/src/objectstorageutils.ts +37 -36
- package/src/requestParser.ts +81 -86
- package/src/runtimeFactoryHelper.ts +27 -26
- package/src/summaryUtils.ts +425 -299
- package/src/unpackUsedRoutes.ts +31 -0
- package/src/utils.ts +12 -7
- package/tsc-multi.test.json +4 -0
- package/tsconfig.json +10 -12
- package/dist/dataStoreHandleContextUtils.js.map +0 -1
- package/dist/dataStoreHelpers.js.map +0 -1
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/objectstoragepartition.js.map +0 -1
- package/dist/objectstorageutils.js.map +0 -1
- package/dist/packageVersion.d.ts +0 -9
- package/dist/packageVersion.d.ts.map +0 -1
- package/dist/packageVersion.js +0 -12
- package/dist/packageVersion.js.map +0 -1
- package/dist/requestParser.js.map +0 -1
- package/dist/runtimeFactoryHelper.js.map +0 -1
- package/dist/summarizerNode/index.d.ts +0 -8
- package/dist/summarizerNode/index.d.ts.map +0 -1
- package/dist/summarizerNode/index.js +0 -12
- package/dist/summarizerNode/index.js.map +0 -1
- package/dist/summarizerNode/summarizerNode.d.ts +0 -139
- package/dist/summarizerNode/summarizerNode.d.ts.map +0 -1
- package/dist/summarizerNode/summarizerNode.js +0 -480
- package/dist/summarizerNode/summarizerNode.js.map +0 -1
- package/dist/summarizerNode/summarizerNodeUtils.d.ts +0 -161
- package/dist/summarizerNode/summarizerNodeUtils.d.ts.map +0 -1
- package/dist/summarizerNode/summarizerNodeUtils.js +0 -225
- package/dist/summarizerNode/summarizerNodeUtils.js.map +0 -1
- package/dist/summarizerNode/summarizerNodeWithGc.d.ts +0 -133
- package/dist/summarizerNode/summarizerNodeWithGc.d.ts.map +0 -1
- package/dist/summarizerNode/summarizerNodeWithGc.js +0 -294
- package/dist/summarizerNode/summarizerNodeWithGc.js.map +0 -1
- package/dist/summaryUtils.js.map +0 -1
- package/dist/utils.js.map +0 -1
- package/lib/dataStoreHandleContextUtils.d.ts.map +0 -1
- package/lib/dataStoreHandleContextUtils.js.map +0 -1
- package/lib/dataStoreHelpers.d.ts.map +0 -1
- package/lib/dataStoreHelpers.js.map +0 -1
- package/lib/index.d.ts +0 -14
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -14
- package/lib/index.js.map +0 -1
- package/lib/objectstoragepartition.d.ts.map +0 -1
- package/lib/objectstoragepartition.js.map +0 -1
- package/lib/objectstorageutils.d.ts.map +0 -1
- package/lib/objectstorageutils.js.map +0 -1
- package/lib/packageVersion.d.ts +0 -9
- package/lib/packageVersion.d.ts.map +0 -1
- package/lib/packageVersion.js +0 -9
- package/lib/packageVersion.js.map +0 -1
- package/lib/requestParser.d.ts.map +0 -1
- package/lib/requestParser.js.map +0 -1
- package/lib/runtimeFactoryHelper.d.ts.map +0 -1
- package/lib/runtimeFactoryHelper.js +0 -25
- package/lib/runtimeFactoryHelper.js.map +0 -1
- package/lib/summarizerNode/index.d.ts +0 -8
- package/lib/summarizerNode/index.d.ts.map +0 -1
- package/lib/summarizerNode/index.js +0 -7
- package/lib/summarizerNode/index.js.map +0 -1
- package/lib/summarizerNode/summarizerNode.d.ts +0 -139
- package/lib/summarizerNode/summarizerNode.d.ts.map +0 -1
- package/lib/summarizerNode/summarizerNode.js +0 -475
- package/lib/summarizerNode/summarizerNode.js.map +0 -1
- package/lib/summarizerNode/summarizerNodeUtils.d.ts +0 -161
- package/lib/summarizerNode/summarizerNodeUtils.d.ts.map +0 -1
- package/lib/summarizerNode/summarizerNodeUtils.js +0 -216
- package/lib/summarizerNode/summarizerNodeUtils.js.map +0 -1
- package/lib/summarizerNode/summarizerNodeWithGc.d.ts +0 -133
- package/lib/summarizerNode/summarizerNodeWithGc.d.ts.map +0 -1
- package/lib/summarizerNode/summarizerNodeWithGc.js +0 -289
- package/lib/summarizerNode/summarizerNodeWithGc.js.map +0 -1
- package/lib/summaryUtils.d.ts.map +0 -1
- package/lib/summaryUtils.js.map +0 -1
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js.map +0 -1
- package/src/packageVersion.ts +0 -9
- package/src/summarizerNode/index.ts +0 -8
- package/src/summarizerNode/summarizerNode.ts +0 -662
- package/src/summarizerNode/summarizerNodeUtils.ts +0 -339
- package/src/summarizerNode/summarizerNodeWithGc.ts +0 -459
- package/tsconfig.esnext.json +0 -7
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.createDataStoreFactory = exports.createResponseError = exports.create404Response = exports.
|
|
8
|
-
const
|
|
7
|
+
exports.createDataStoreFactory = exports.createResponseError = exports.create404Response = exports.responseToException = exports.exceptionToResponse = void 0;
|
|
8
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
9
9
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
10
13
|
function exceptionToResponse(err) {
|
|
11
14
|
const status = 500;
|
|
12
15
|
if (err !== null && typeof err === "object" && err.errorFromRequestFluidObject === true) {
|
|
@@ -15,7 +18,10 @@ function exceptionToResponse(err) {
|
|
|
15
18
|
mimeType: "text/plain",
|
|
16
19
|
status: responseErr.code,
|
|
17
20
|
value: responseErr.message,
|
|
18
|
-
get stack() {
|
|
21
|
+
get stack() {
|
|
22
|
+
return responseErr.stack;
|
|
23
|
+
},
|
|
24
|
+
headers: responseErr.underlyingResponseHeaders,
|
|
19
25
|
};
|
|
20
26
|
}
|
|
21
27
|
// Capture error objects, not stack itself, as stack retrieval is very expensive operation, so we delay it
|
|
@@ -24,10 +30,15 @@ function exceptionToResponse(err) {
|
|
|
24
30
|
mimeType: "text/plain",
|
|
25
31
|
status,
|
|
26
32
|
value: `${err}`,
|
|
27
|
-
get stack() {
|
|
33
|
+
get stack() {
|
|
34
|
+
return err?.stack ?? errWithStack.stack;
|
|
35
|
+
},
|
|
28
36
|
};
|
|
29
37
|
}
|
|
30
38
|
exports.exceptionToResponse = exceptionToResponse;
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
31
42
|
function responseToException(response, request) {
|
|
32
43
|
const message = response.value;
|
|
33
44
|
const errWithStack = (0, telemetry_utils_1.generateErrorWithStack)();
|
|
@@ -36,46 +47,54 @@ function responseToException(response, request) {
|
|
|
36
47
|
message,
|
|
37
48
|
name: "Error",
|
|
38
49
|
code: response.status,
|
|
39
|
-
get stack() {
|
|
50
|
+
get stack() {
|
|
51
|
+
return response.stack ?? errWithStack.stack;
|
|
52
|
+
},
|
|
53
|
+
underlyingResponseHeaders: response.headers,
|
|
40
54
|
};
|
|
41
55
|
return responseErr;
|
|
42
56
|
}
|
|
43
57
|
exports.responseToException = responseToException;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (response.status !== 200 || response.mimeType !== "fluid/object") {
|
|
48
|
-
throw responseToException(response, request);
|
|
49
|
-
}
|
|
50
|
-
(0, common_utils_1.assert)(response.value, 0x19a /* "Invalid response value for Fluid object request" */);
|
|
51
|
-
return response.value;
|
|
52
|
-
}
|
|
53
|
-
exports.requestFluidObject = requestFluidObject;
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
54
61
|
const create404Response = (request) => createResponseError(404, "not found", request);
|
|
55
62
|
exports.create404Response = create404Response;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
function createResponseError(status, value, request, headers) {
|
|
67
|
+
(0, core_utils_1.assert)(status !== 200, 0x19b /* "Cannot not create response error on 200 status" */);
|
|
68
|
+
// Omit query string which could contain personal data unfit for logging
|
|
69
|
+
const urlNoQuery = request.url?.split("?")[0];
|
|
61
70
|
// Capture error objects, not stack itself, as stack retrieval is very expensive operation, so we delay it
|
|
62
71
|
const errWithStack = (0, telemetry_utils_1.generateErrorWithStack)();
|
|
63
72
|
return {
|
|
64
73
|
mimeType: "text/plain",
|
|
65
74
|
status,
|
|
66
75
|
value: urlNoQuery === undefined ? value : `${value}: ${urlNoQuery}`,
|
|
67
|
-
get stack() {
|
|
76
|
+
get stack() {
|
|
77
|
+
return errWithStack.stack;
|
|
78
|
+
},
|
|
79
|
+
headers,
|
|
68
80
|
};
|
|
69
81
|
}
|
|
70
82
|
exports.createResponseError = createResponseError;
|
|
83
|
+
/**
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
71
86
|
function createDataStoreFactory(type, factory) {
|
|
72
87
|
return {
|
|
73
88
|
type,
|
|
74
|
-
get IFluidDataStoreFactory() {
|
|
75
|
-
|
|
89
|
+
get IFluidDataStoreFactory() {
|
|
90
|
+
return this;
|
|
91
|
+
},
|
|
92
|
+
get IFluidDataStoreRegistry() {
|
|
93
|
+
return this;
|
|
94
|
+
},
|
|
76
95
|
instantiateDataStore: async (context, existing) => (await factory).instantiateDataStore(context, existing),
|
|
77
|
-
get: async (name) =>
|
|
96
|
+
get: async (name) => (await factory).IFluidDataStoreRegistry?.get(name),
|
|
78
97
|
};
|
|
79
98
|
}
|
|
80
99
|
exports.createDataStoreFactory = createDataStoreFactory;
|
|
81
|
-
//# sourceMappingURL=dataStoreHelpers.
|
|
100
|
+
//# sourceMappingURL=dataStoreHelpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataStoreHelpers.cjs","sourceRoot":"","sources":["../src/dataStoreHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport { IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport {\n\tIFluidDataStoreFactory,\n\tIFluidDataStoreRegistry,\n\tIProvideFluidDataStoreRegistry,\n} from \"@fluidframework/runtime-definitions\";\nimport { generateErrorWithStack } from \"@fluidframework/telemetry-utils\";\n\ninterface IResponseException extends Error {\n\terrorFromRequestFluidObject: true;\n\tmessage: string;\n\tcode: number;\n\tstack?: string;\n\tunderlyingResponseHeaders?: { [key: string]: any };\n}\n\n/**\n * @internal\n */\nexport function exceptionToResponse(err: any): IResponse {\n\tconst status = 500;\n\tif (err !== null && typeof err === \"object\" && err.errorFromRequestFluidObject === true) {\n\t\tconst responseErr: IResponseException = err;\n\t\treturn {\n\t\t\tmimeType: \"text/plain\",\n\t\t\tstatus: responseErr.code,\n\t\t\tvalue: responseErr.message,\n\t\t\tget stack() {\n\t\t\t\treturn responseErr.stack;\n\t\t\t},\n\t\t\theaders: responseErr.underlyingResponseHeaders,\n\t\t};\n\t}\n\n\t// Capture error objects, not stack itself, as stack retrieval is very expensive operation, so we delay it\n\tconst errWithStack = generateErrorWithStack();\n\n\treturn {\n\t\tmimeType: \"text/plain\",\n\t\tstatus,\n\t\tvalue: `${err}`,\n\t\tget stack() {\n\t\t\treturn (err?.stack as string | undefined) ?? errWithStack.stack;\n\t\t},\n\t};\n}\n\n/**\n * @internal\n */\nexport function responseToException(response: IResponse, request: IRequest): Error {\n\tconst message = response.value;\n\tconst errWithStack = generateErrorWithStack();\n\tconst responseErr: Error & IResponseException = {\n\t\terrorFromRequestFluidObject: true,\n\t\tmessage,\n\t\tname: \"Error\",\n\t\tcode: response.status,\n\t\tget stack() {\n\t\t\treturn response.stack ?? errWithStack.stack;\n\t\t},\n\t\tunderlyingResponseHeaders: response.headers,\n\t};\n\n\treturn responseErr;\n}\n\n/**\n * @internal\n */\nexport const create404Response = (request: IRequest) =>\n\tcreateResponseError(404, \"not found\", request);\n\n/**\n * @internal\n */\nexport function createResponseError(\n\tstatus: number,\n\tvalue: string,\n\trequest: IRequest,\n\theaders?: { [key: string]: any },\n): IResponse {\n\tassert(status !== 200, 0x19b /* \"Cannot not create response error on 200 status\" */);\n\t// Omit query string which could contain personal data unfit for logging\n\tconst urlNoQuery = request.url?.split(\"?\")[0];\n\n\t// Capture error objects, not stack itself, as stack retrieval is very expensive operation, so we delay it\n\tconst errWithStack = generateErrorWithStack();\n\n\treturn {\n\t\tmimeType: \"text/plain\",\n\t\tstatus,\n\t\tvalue: urlNoQuery === undefined ? value : `${value}: ${urlNoQuery}`,\n\t\tget stack() {\n\t\t\treturn errWithStack.stack;\n\t\t},\n\t\theaders,\n\t};\n}\n\n/**\n * @internal\n */\nexport type Factory = IFluidDataStoreFactory & Partial<IProvideFluidDataStoreRegistry>;\n\n/**\n * @internal\n */\nexport function createDataStoreFactory(\n\ttype: string,\n\tfactory: Factory | Promise<Factory>,\n): IFluidDataStoreFactory & IFluidDataStoreRegistry {\n\treturn {\n\t\ttype,\n\t\tget IFluidDataStoreFactory() {\n\t\t\treturn this;\n\t\t},\n\t\tget IFluidDataStoreRegistry() {\n\t\t\treturn this;\n\t\t},\n\t\tinstantiateDataStore: async (context, existing) =>\n\t\t\t(await factory).instantiateDataStore(context, existing),\n\t\tget: async (name: string) => (await factory).IFluidDataStoreRegistry?.get(name),\n\t};\n}\n"]}
|
|
@@ -2,13 +2,32 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { IRequest, IResponse } from "@fluidframework/core-interfaces";
|
|
6
6
|
import { IFluidDataStoreFactory, IFluidDataStoreRegistry, IProvideFluidDataStoreRegistry } from "@fluidframework/runtime-definitions";
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
7
10
|
export declare function exceptionToResponse(err: any): IResponse;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
8
14
|
export declare function responseToException(response: IResponse, request: IRequest): Error;
|
|
9
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
10
18
|
export declare const create404Response: (request: IRequest) => IResponse;
|
|
11
|
-
|
|
12
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function createResponseError(status: number, value: string, request: IRequest, headers?: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}): IResponse;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export type Factory = IFluidDataStoreFactory & Partial<IProvideFluidDataStoreRegistry>;
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
13
32
|
export declare function createDataStoreFactory(type: string, factory: Factory | Promise<Factory>): IFluidDataStoreFactory & IFluidDataStoreRegistry;
|
|
14
33
|
//# sourceMappingURL=dataStoreHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataStoreHelpers.d.ts","sourceRoot":"","sources":["../src/dataStoreHelpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"dataStoreHelpers.d.ts","sourceRoot":"","sources":["../src/dataStoreHelpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,qCAAqC,CAAC;AAW7C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CA0BvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,CAejF;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAAa,QAAQ,cACJ,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,SAAS,CAiBX;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,sBAAsB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAEvF;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACjC,sBAAsB,GAAG,uBAAuB,CAalD"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.seqFromTree = exports.unpackChildNodesUsedRoutes = exports.utf8ByteLength = exports.TelemetryContext = exports.SummaryTreeBuilder = exports.mergeStats = exports.getBlobSize = exports.GCDataBuilder = exports.convertToSummaryTreeWithStats = exports.convertToSummaryTree = exports.convertSummaryTreeToITree = exports.convertSnapshotTreeToSummaryTree = exports.calculateStats = exports.addTreeToSummary = exports.addSummarizeResultToSummary = exports.addBlobToSummary = exports.RuntimeFactoryHelper = exports.RequestParser = exports.listBlobsAtTreePath = exports.getNormalizedObjectStoragePathParts = exports.ObjectStoragePartition = exports.responseToException = exports.exceptionToResponse = exports.createResponseError = exports.createDataStoreFactory = exports.create404Response = exports.generateHandleContextPath = void 0;
|
|
8
|
+
var dataStoreHandleContextUtils_1 = require("./dataStoreHandleContextUtils.cjs");
|
|
9
|
+
Object.defineProperty(exports, "generateHandleContextPath", { enumerable: true, get: function () { return dataStoreHandleContextUtils_1.generateHandleContextPath; } });
|
|
10
|
+
var dataStoreHelpers_1 = require("./dataStoreHelpers.cjs");
|
|
11
|
+
Object.defineProperty(exports, "create404Response", { enumerable: true, get: function () { return dataStoreHelpers_1.create404Response; } });
|
|
12
|
+
Object.defineProperty(exports, "createDataStoreFactory", { enumerable: true, get: function () { return dataStoreHelpers_1.createDataStoreFactory; } });
|
|
13
|
+
Object.defineProperty(exports, "createResponseError", { enumerable: true, get: function () { return dataStoreHelpers_1.createResponseError; } });
|
|
14
|
+
Object.defineProperty(exports, "exceptionToResponse", { enumerable: true, get: function () { return dataStoreHelpers_1.exceptionToResponse; } });
|
|
15
|
+
Object.defineProperty(exports, "responseToException", { enumerable: true, get: function () { return dataStoreHelpers_1.responseToException; } });
|
|
16
|
+
var objectstoragepartition_1 = require("./objectstoragepartition.cjs");
|
|
17
|
+
Object.defineProperty(exports, "ObjectStoragePartition", { enumerable: true, get: function () { return objectstoragepartition_1.ObjectStoragePartition; } });
|
|
18
|
+
var objectstorageutils_1 = require("./objectstorageutils.cjs");
|
|
19
|
+
Object.defineProperty(exports, "getNormalizedObjectStoragePathParts", { enumerable: true, get: function () { return objectstorageutils_1.getNormalizedObjectStoragePathParts; } });
|
|
20
|
+
Object.defineProperty(exports, "listBlobsAtTreePath", { enumerable: true, get: function () { return objectstorageutils_1.listBlobsAtTreePath; } });
|
|
21
|
+
var requestParser_1 = require("./requestParser.cjs");
|
|
22
|
+
Object.defineProperty(exports, "RequestParser", { enumerable: true, get: function () { return requestParser_1.RequestParser; } });
|
|
23
|
+
var runtimeFactoryHelper_1 = require("./runtimeFactoryHelper.cjs");
|
|
24
|
+
Object.defineProperty(exports, "RuntimeFactoryHelper", { enumerable: true, get: function () { return runtimeFactoryHelper_1.RuntimeFactoryHelper; } });
|
|
25
|
+
var summaryUtils_1 = require("./summaryUtils.cjs");
|
|
26
|
+
Object.defineProperty(exports, "addBlobToSummary", { enumerable: true, get: function () { return summaryUtils_1.addBlobToSummary; } });
|
|
27
|
+
Object.defineProperty(exports, "addSummarizeResultToSummary", { enumerable: true, get: function () { return summaryUtils_1.addSummarizeResultToSummary; } });
|
|
28
|
+
Object.defineProperty(exports, "addTreeToSummary", { enumerable: true, get: function () { return summaryUtils_1.addTreeToSummary; } });
|
|
29
|
+
Object.defineProperty(exports, "calculateStats", { enumerable: true, get: function () { return summaryUtils_1.calculateStats; } });
|
|
30
|
+
Object.defineProperty(exports, "convertSnapshotTreeToSummaryTree", { enumerable: true, get: function () { return summaryUtils_1.convertSnapshotTreeToSummaryTree; } });
|
|
31
|
+
Object.defineProperty(exports, "convertSummaryTreeToITree", { enumerable: true, get: function () { return summaryUtils_1.convertSummaryTreeToITree; } });
|
|
32
|
+
Object.defineProperty(exports, "convertToSummaryTree", { enumerable: true, get: function () { return summaryUtils_1.convertToSummaryTree; } });
|
|
33
|
+
Object.defineProperty(exports, "convertToSummaryTreeWithStats", { enumerable: true, get: function () { return summaryUtils_1.convertToSummaryTreeWithStats; } });
|
|
34
|
+
Object.defineProperty(exports, "GCDataBuilder", { enumerable: true, get: function () { return summaryUtils_1.GCDataBuilder; } });
|
|
35
|
+
Object.defineProperty(exports, "getBlobSize", { enumerable: true, get: function () { return summaryUtils_1.getBlobSize; } });
|
|
36
|
+
Object.defineProperty(exports, "mergeStats", { enumerable: true, get: function () { return summaryUtils_1.mergeStats; } });
|
|
37
|
+
Object.defineProperty(exports, "SummaryTreeBuilder", { enumerable: true, get: function () { return summaryUtils_1.SummaryTreeBuilder; } });
|
|
38
|
+
Object.defineProperty(exports, "TelemetryContext", { enumerable: true, get: function () { return summaryUtils_1.TelemetryContext; } });
|
|
39
|
+
Object.defineProperty(exports, "utf8ByteLength", { enumerable: true, get: function () { return summaryUtils_1.utf8ByteLength; } });
|
|
40
|
+
var unpackUsedRoutes_1 = require("./unpackUsedRoutes.cjs");
|
|
41
|
+
Object.defineProperty(exports, "unpackChildNodesUsedRoutes", { enumerable: true, get: function () { return unpackUsedRoutes_1.unpackChildNodesUsedRoutes; } });
|
|
42
|
+
var utils_1 = require("./utils.cjs");
|
|
43
|
+
Object.defineProperty(exports, "seqFromTree", { enumerable: true, get: function () { return utils_1.seqFromTree; } });
|
|
44
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iFAA0E;AAAjE,wIAAA,yBAAyB,OAAA;AAClC,2DAO4B;AAN3B,qHAAA,iBAAiB,OAAA;AACjB,0HAAA,sBAAsB,OAAA;AACtB,uHAAA,mBAAmB,OAAA;AACnB,uHAAA,mBAAmB,OAAA;AAEnB,uHAAA,mBAAmB,OAAA;AAEpB,uEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,+DAAgG;AAAvF,yIAAA,mCAAmC,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AACjE,qDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,mEAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,mDAewB;AAdvB,gHAAA,gBAAgB,OAAA;AAChB,2HAAA,2BAA2B,OAAA;AAC3B,gHAAA,gBAAgB,OAAA;AAChB,8GAAA,cAAc,OAAA;AACd,gIAAA,gCAAgC,OAAA;AAChC,yHAAA,yBAAyB,OAAA;AACzB,oHAAA,oBAAoB,OAAA;AACpB,6HAAA,6BAA6B,OAAA;AAC7B,6GAAA,aAAa,OAAA;AACb,2GAAA,WAAW,OAAA;AACX,0GAAA,UAAU,OAAA;AACV,kHAAA,kBAAkB,OAAA;AAClB,gHAAA,gBAAgB,OAAA;AAChB,8GAAA,cAAc,OAAA;AAEf,2DAAgE;AAAvD,8HAAA,0BAA0B,OAAA;AACnC,qCAAwD;AAA7B,oGAAA,WAAW,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { generateHandleContextPath } from \"./dataStoreHandleContextUtils\";\nexport {\n\tcreate404Response,\n\tcreateDataStoreFactory,\n\tcreateResponseError,\n\texceptionToResponse,\n\tFactory,\n\tresponseToException,\n} from \"./dataStoreHelpers\";\nexport { ObjectStoragePartition } from \"./objectstoragepartition\";\nexport { getNormalizedObjectStoragePathParts, listBlobsAtTreePath } from \"./objectstorageutils\";\nexport { RequestParser } from \"./requestParser\";\nexport { RuntimeFactoryHelper } from \"./runtimeFactoryHelper\";\nexport {\n\taddBlobToSummary,\n\taddSummarizeResultToSummary,\n\taddTreeToSummary,\n\tcalculateStats,\n\tconvertSnapshotTreeToSummaryTree,\n\tconvertSummaryTreeToITree,\n\tconvertToSummaryTree,\n\tconvertToSummaryTreeWithStats,\n\tGCDataBuilder,\n\tgetBlobSize,\n\tmergeStats,\n\tSummaryTreeBuilder,\n\tTelemetryContext,\n\tutf8ByteLength,\n} from \"./summaryUtils\";\nexport { unpackChildNodesUsedRoutes } from \"./unpackUsedRoutes\";\nexport { ReadAndParseBlob, seqFromTree } from \"./utils\";\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
5
|
+
export { generateHandleContextPath } from "./dataStoreHandleContextUtils";
|
|
6
|
+
export { create404Response, createDataStoreFactory, createResponseError, exceptionToResponse, Factory, responseToException, } from "./dataStoreHelpers";
|
|
7
|
+
export { ObjectStoragePartition } from "./objectstoragepartition";
|
|
8
|
+
export { getNormalizedObjectStoragePathParts, listBlobsAtTreePath } from "./objectstorageutils";
|
|
9
|
+
export { RequestParser } from "./requestParser";
|
|
10
|
+
export { RuntimeFactoryHelper } from "./runtimeFactoryHelper";
|
|
11
|
+
export { addBlobToSummary, addSummarizeResultToSummary, addTreeToSummary, calculateStats, convertSnapshotTreeToSummaryTree, convertSummaryTreeToITree, convertToSummaryTree, convertToSummaryTreeWithStats, GCDataBuilder, getBlobSize, mergeStats, SummaryTreeBuilder, TelemetryContext, utf8ByteLength, } from "./summaryUtils";
|
|
12
|
+
export { unpackChildNodesUsedRoutes } from "./unpackUsedRoutes";
|
|
13
|
+
export { ReadAndParseBlob, seqFromTree } from "./utils";
|
|
14
14
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,mBAAmB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,cAAc,EACd,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,6BAA6B,EAC7B,aAAa,EACb,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -5,16 +5,17 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.ObjectStoragePartition = void 0;
|
|
8
|
-
const
|
|
8
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
9
9
|
/**
|
|
10
10
|
* Returns a new IChannelStorageService that resolves the given `path` as root.
|
|
11
|
+
* @internal
|
|
11
12
|
*/
|
|
12
13
|
class ObjectStoragePartition {
|
|
13
14
|
constructor(storage, path) {
|
|
14
15
|
this.storage = storage;
|
|
15
16
|
this.path = path;
|
|
16
17
|
// `path` must not include the trailing separator.
|
|
17
|
-
(0,
|
|
18
|
+
(0, core_utils_1.assert)(!path.endsWith("/"), 0x19c /* "storage service path has trailing separator" */);
|
|
18
19
|
}
|
|
19
20
|
async readBlob(path) {
|
|
20
21
|
return this.storage.readBlob(`${this.path}/${path}`);
|
|
@@ -27,4 +28,4 @@ class ObjectStoragePartition {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
exports.ObjectStoragePartition = ObjectStoragePartition;
|
|
30
|
-
//# sourceMappingURL=objectstoragepartition.
|
|
31
|
+
//# sourceMappingURL=objectstoragepartition.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectstoragepartition.cjs","sourceRoot":"","sources":["../src/objectstoragepartition.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2DAAoD;AAGpD;;;GAGG;AACH,MAAa,sBAAsB;IAClC,YACkB,OAA+B,EAC/B,IAAY;QADZ,YAAO,GAAP,OAAO,CAAwB;QAC/B,SAAI,GAAJ,IAAI,CAAQ;QAE7B,kDAAkD;QAClD,IAAA,mBAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;CACD;AApBD,wDAoBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assert } from \"@fluidframework/core-utils\";\nimport { IChannelStorageService } from \"@fluidframework/datastore-definitions\";\n\n/**\n * Returns a new IChannelStorageService that resolves the given `path` as root.\n * @internal\n */\nexport class ObjectStoragePartition implements IChannelStorageService {\n\tconstructor(\n\t\tprivate readonly storage: IChannelStorageService,\n\t\tprivate readonly path: string,\n\t) {\n\t\t// `path` must not include the trailing separator.\n\t\tassert(!path.endsWith(\"/\"), 0x19c /* \"storage service path has trailing separator\" */);\n\t}\n\n\tpublic async readBlob(path: string): Promise<ArrayBufferLike> {\n\t\treturn this.storage.readBlob(`${this.path}/${path}`);\n\t}\n\n\tpublic async contains(path: string): Promise<boolean> {\n\t\treturn this.storage.contains(`${this.path}/${path}`);\n\t}\n\n\tpublic async list(path: string): Promise<string[]> {\n\t\treturn this.storage.list(`${this.path}/${path}`);\n\t}\n}\n"]}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { IChannelStorageService } from "@fluidframework/datastore-definitions";
|
|
6
6
|
/**
|
|
7
7
|
* Returns a new IChannelStorageService that resolves the given `path` as root.
|
|
8
|
+
* @internal
|
|
8
9
|
*/
|
|
9
10
|
export declare class ObjectStoragePartition implements IChannelStorageService {
|
|
10
11
|
private readonly storage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectstoragepartition.d.ts","sourceRoot":"","sources":["../src/objectstoragepartition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E
|
|
1
|
+
{"version":3,"file":"objectstoragepartition.d.ts","sourceRoot":"","sources":["../src/objectstoragepartition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,sBAAsB;IAEnE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM;IAMjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGlD"}
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.listBlobsAtTreePath = exports.getNormalizedObjectStoragePathParts = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
8
11
|
function getNormalizedObjectStoragePathParts(path) {
|
|
9
12
|
let normalizePath = path;
|
|
10
13
|
if (normalizePath.startsWith("/")) {
|
|
@@ -19,33 +22,26 @@ function getNormalizedObjectStoragePathParts(path) {
|
|
|
19
22
|
return [];
|
|
20
23
|
}
|
|
21
24
|
exports.getNormalizedObjectStoragePathParts = getNormalizedObjectStoragePathParts;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
22
28
|
async function listBlobsAtTreePath(inputTree, path) {
|
|
23
29
|
const pathParts = getNormalizedObjectStoragePathParts(path);
|
|
24
30
|
let tree = inputTree;
|
|
25
|
-
while (
|
|
31
|
+
while (tree?.entries !== undefined && pathParts.length > 0) {
|
|
26
32
|
const part = pathParts.shift();
|
|
27
33
|
const treeEntry = tree.entries.find((value) => {
|
|
28
|
-
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
+
return value.type === "Tree" && value.path === part ? true : false;
|
|
34
35
|
});
|
|
35
36
|
// this check is largely superfluous due to the same check being done
|
|
36
37
|
// immediately above. the type system, however, is not aware of this.
|
|
37
38
|
// so we must redundantly determine that the entry's type is "Tree"
|
|
38
|
-
|
|
39
|
-
tree = treeEntry.value;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
tree = undefined;
|
|
43
|
-
}
|
|
39
|
+
tree = treeEntry?.type === "Tree" ? treeEntry.value : undefined;
|
|
44
40
|
}
|
|
45
|
-
if (
|
|
41
|
+
if (tree?.entries === undefined || pathParts.length !== 0) {
|
|
46
42
|
throw new Error("path does not exist");
|
|
47
43
|
}
|
|
48
44
|
return tree.entries.filter((e) => e.type === "Blob").map((e) => e.path);
|
|
49
45
|
}
|
|
50
46
|
exports.listBlobsAtTreePath = listBlobsAtTreePath;
|
|
51
|
-
//# sourceMappingURL=objectstorageutils.
|
|
47
|
+
//# sourceMappingURL=objectstorageutils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectstorageutils.cjs","sourceRoot":"","sources":["../src/objectstorageutils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;GAEG;AACH,SAAgB,mCAAmC,CAAC,IAAY;IAC/D,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACxC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAChC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAClE;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAChC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAZD,kFAYC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACxC,SAA4B,EAC5B,IAAY;IAEZ,MAAM,SAAS,GAAG,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAsB,SAAS,CAAC;IACxC,OAAO,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,GAAG,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;KAChE;IACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACvC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AArBD,kDAqBC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITree } from \"@fluidframework/protocol-definitions\";\n\n/**\n * @internal\n */\nexport function getNormalizedObjectStoragePathParts(path: string) {\n\tlet normalizePath = path;\n\tif (normalizePath.startsWith(\"/\")) {\n\t\tnormalizePath = normalizePath.substr(1);\n\t}\n\tif (normalizePath.endsWith(\"/\")) {\n\t\tnormalizePath = normalizePath.substr(0, normalizePath.length - 1);\n\t}\n\tif (normalizePath.length > 0) {\n\t\treturn normalizePath.split(\"/\");\n\t}\n\treturn [];\n}\n\n/**\n * @internal\n */\nexport async function listBlobsAtTreePath(\n\tinputTree: ITree | undefined,\n\tpath: string,\n): Promise<string[]> {\n\tconst pathParts = getNormalizedObjectStoragePathParts(path);\n\tlet tree: ITree | undefined = inputTree;\n\twhile (tree?.entries !== undefined && pathParts.length > 0) {\n\t\tconst part = pathParts.shift();\n\t\tconst treeEntry = tree.entries.find((value) => {\n\t\t\treturn value.type === \"Tree\" && value.path === part ? true : false;\n\t\t});\n\n\t\t// this check is largely superfluous due to the same check being done\n\t\t// immediately above. the type system, however, is not aware of this.\n\t\t// so we must redundantly determine that the entry's type is \"Tree\"\n\t\ttree = treeEntry?.type === \"Tree\" ? treeEntry.value : undefined;\n\t}\n\tif (tree?.entries === undefined || pathParts.length !== 0) {\n\t\tthrow new Error(\"path does not exist\");\n\t}\n\treturn tree.entries.filter((e) => e.type === \"Blob\").map((e) => e.path);\n}\n"]}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { ITree } from "@fluidframework/protocol-definitions";
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
6
9
|
export declare function getNormalizedObjectStoragePathParts(path: string): string[];
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
7
13
|
export declare function listBlobsAtTreePath(inputTree: ITree | undefined, path: string): Promise<string[]>;
|
|
8
14
|
//# sourceMappingURL=objectstorageutils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectstorageutils.d.ts","sourceRoot":"","sources":["../src/objectstorageutils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7D,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,YAY/D;AAED,wBAAsB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"objectstorageutils.d.ts","sourceRoot":"","sources":["../src/objectstorageutils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAE7D;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,MAAM,YAY/D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB"}
|
|
@@ -3,18 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RequestParser = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The Request Parser takes an IRequest provides parsing and sub request creation
|
|
6
|
+
* @alpha
|
|
6
7
|
*/
|
|
7
8
|
class RequestParser {
|
|
8
|
-
constructor(request) {
|
|
9
|
-
this.request = request;
|
|
10
|
-
const queryStartIndex = this.request.url.indexOf("?");
|
|
11
|
-
if (queryStartIndex >= 0) {
|
|
12
|
-
this.query = this.request.url.substring(queryStartIndex);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
this.query = "";
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
9
|
/**
|
|
19
10
|
* Splits the path of the url and decodes each path part
|
|
20
11
|
* @param url - the url to get path parts of
|
|
@@ -38,6 +29,11 @@ class RequestParser {
|
|
|
38
29
|
}
|
|
39
30
|
return new RequestParser(request);
|
|
40
31
|
}
|
|
32
|
+
constructor(request) {
|
|
33
|
+
this.request = request;
|
|
34
|
+
const queryStartIndex = this.request.url.indexOf("?");
|
|
35
|
+
this.query = queryStartIndex >= 0 ? this.request.url.substring(queryStartIndex) : "";
|
|
36
|
+
}
|
|
41
37
|
get url() {
|
|
42
38
|
return this.request.url;
|
|
43
39
|
}
|
|
@@ -91,4 +87,4 @@ class RequestParser {
|
|
|
91
87
|
}
|
|
92
88
|
}
|
|
93
89
|
exports.RequestParser = RequestParser;
|
|
94
|
-
//# sourceMappingURL=requestParser.
|
|
90
|
+
//# sourceMappingURL=requestParser.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestParser.cjs","sourceRoot":"","sources":["../src/requestParser.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IRequest, IRequestHeader } from \"@fluidframework/core-interfaces\";\n\n/**\n * The Request Parser takes an IRequest provides parsing and sub request creation\n * @alpha\n */\nexport class RequestParser implements IRequest {\n\t/**\n\t * Splits the path of the url and decodes each path part\n\t * @param url - the url to get path parts of\n\t */\n\tpublic static getPathParts(url: string): readonly string[] {\n\t\tconst queryStartIndex = url.indexOf(\"?\");\n\t\treturn url\n\t\t\t.substring(0, queryStartIndex < 0 ? url.length : queryStartIndex)\n\t\t\t.split(\"/\")\n\t\t\t.reduce<string[]>((pv, cv) => {\n\t\t\t\tif (cv !== undefined && cv.length > 0) {\n\t\t\t\t\tpv.push(decodeURIComponent(cv));\n\t\t\t\t}\n\t\t\t\treturn pv;\n\t\t\t}, []);\n\t}\n\n\tprivate requestPathParts: readonly string[] | undefined;\n\tpublic readonly query: string;\n\n\tpublic static create(request: Readonly<IRequest>) {\n\t\t// Perf optimizations.\n\t\tif (request instanceof RequestParser) {\n\t\t\treturn request;\n\t\t}\n\t\treturn new RequestParser(request);\n\t}\n\n\tprotected constructor(private readonly request: Readonly<IRequest>) {\n\t\tconst queryStartIndex = this.request.url.indexOf(\"?\");\n\t\tthis.query = queryStartIndex >= 0 ? this.request.url.substring(queryStartIndex) : \"\";\n\t}\n\n\tpublic get url(): string {\n\t\treturn this.request.url;\n\t}\n\n\tpublic get headers(): IRequestHeader | undefined {\n\t\treturn this.request.headers;\n\t}\n\n\t/**\n\t * Returns the decoded path parts of the request's url\n\t */\n\tpublic get pathParts(): readonly string[] {\n\t\tif (this.requestPathParts === undefined) {\n\t\t\tthis.requestPathParts = RequestParser.getPathParts(this.url);\n\t\t}\n\t\treturn this.requestPathParts;\n\t}\n\n\t/**\n\t * Returns true if it's a terminating path, i.e. no more elements after `elements` entries and empty query.\n\t * @param elements - number of elements in path\n\t */\n\tpublic isLeaf(elements: number) {\n\t\treturn this.query === \"\" && this.pathParts.length === elements;\n\t}\n\n\t/**\n\t * Creates a sub request starting at a specific path part of this request's url\n\t * The sub request url always has a leading slash, and always include query params if original url has any\n\t * e.g. original url is /a/b/?queryParams, createSubRequest(0) is /a/b/?queryParams\n\t * createSubRequest(1) is /b/?queryParams\n\t * createSubRequest(2) is /?queryParams\n\t * createSubRequest(n) where n is bigger than parts length, e.g. 2, or n is less than 0 will throw an exception\n\t *\n\t * note: query params are not counted towards path parts.\n\t *\n\t * @param startingPathIndex - The index of the first path part of the sub request\n\t */\n\tpublic createSubRequest(startingPathIndex: number): IRequest {\n\t\tconst pathLen = this.pathParts.length;\n\t\tif (startingPathIndex < 0 || startingPathIndex > pathLen) {\n\t\t\tthrow new Error(\"incorrect sub-request\");\n\t\t}\n\t\tif (startingPathIndex === pathLen && this.url.includes(\"?\")) {\n\t\t\treturn {\n\t\t\t\turl: `/${this.query}`,\n\t\t\t\theaders: this.headers,\n\t\t\t};\n\t\t}\n\t\tconst path = `/${this.pathParts.slice(startingPathIndex).join(\"/\")}`;\n\t\treturn {\n\t\t\turl: this.query === \"\" ? path : `${path}/${this.query}`,\n\t\t\theaders: this.headers,\n\t\t};\n\t}\n}\n"]}
|
package/dist/requestParser.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { IRequest, IRequestHeader } from "@fluidframework/core-interfaces";
|
|
6
6
|
/**
|
|
7
7
|
* The Request Parser takes an IRequest provides parsing and sub request creation
|
|
8
|
+
* @alpha
|
|
8
9
|
*/
|
|
9
10
|
export declare class RequestParser implements IRequest {
|
|
10
11
|
private readonly request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestParser.d.ts","sourceRoot":"","sources":["../src/requestParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"requestParser.d.ts","sourceRoot":"","sources":["../src/requestParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,aAAc,YAAW,QAAQ;IA6BvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA5B9C;;;OAGG;WACW,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAa1D,OAAO,CAAC,gBAAgB,CAAgC;IACxD,SAAgB,KAAK,EAAE,MAAM,CAAC;WAEhB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAQhD,SAAS,aAA8B,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAKlE,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,OAAO,IAAI,cAAc,GAAG,SAAS,CAE/C;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,MAAM,EAAE,CAKxC;IAED;;;OAGG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM;IAI9B;;;;;;;;;;;OAWG;IACI,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ;CAiB5D"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { IChannelStorageService } from '@fluidframework/datastore-definitions';
|
|
2
|
+
import { IContainerContext } from '@fluidframework/container-definitions';
|
|
3
|
+
import { IContainerRuntime } from '@fluidframework/container-runtime-definitions';
|
|
4
|
+
import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions';
|
|
5
|
+
import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
|
|
6
|
+
import { IFluidHandleContext } from '@fluidframework/core-interfaces';
|
|
7
|
+
import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
|
|
8
|
+
import { IProvideFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
|
|
9
|
+
import { IRequest } from '@fluidframework/core-interfaces';
|
|
10
|
+
import { IRequestHeader } from '@fluidframework/core-interfaces';
|
|
11
|
+
import { IResponse } from '@fluidframework/core-interfaces';
|
|
12
|
+
import { IRuntime } from '@fluidframework/container-definitions';
|
|
13
|
+
import { IRuntimeFactory } from '@fluidframework/container-definitions';
|
|
14
|
+
import { ISnapshotTree } from '@fluidframework/protocol-definitions';
|
|
15
|
+
import { ISnapshotTreeWithBlobContents } from '@fluidframework/container-definitions';
|
|
16
|
+
import { ISummarizeResult } from '@fluidframework/runtime-definitions';
|
|
17
|
+
import { ISummaryBlob } from '@fluidframework/protocol-definitions';
|
|
18
|
+
import { ISummaryStats } from '@fluidframework/runtime-definitions';
|
|
19
|
+
import { ISummaryTree } from '@fluidframework/protocol-definitions';
|
|
20
|
+
import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
|
|
21
|
+
import { ITelemetryContext } from '@fluidframework/runtime-definitions';
|
|
22
|
+
import { ITree } from '@fluidframework/protocol-definitions';
|
|
23
|
+
import { SummaryObject } from '@fluidframework/protocol-definitions';
|
|
24
|
+
import { SummaryType } from '@fluidframework/protocol-definitions';
|
|
25
|
+
import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
|
|
26
|
+
|
|
27
|
+
/* Excluded from this release type: addBlobToSummary */
|
|
28
|
+
|
|
29
|
+
/* Excluded from this release type: addSummarizeResultToSummary */
|
|
30
|
+
|
|
31
|
+
/* Excluded from this release type: addTreeToSummary */
|
|
32
|
+
|
|
33
|
+
/* Excluded from this release type: calculateStats */
|
|
34
|
+
|
|
35
|
+
/* Excluded from this release type: convertSnapshotTreeToSummaryTree */
|
|
36
|
+
|
|
37
|
+
/* Excluded from this release type: convertSummaryTreeToITree */
|
|
38
|
+
|
|
39
|
+
/* Excluded from this release type: convertToSummaryTree */
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Converts snapshot ITree to ISummaryTree format and tracks stats.
|
|
43
|
+
* @param snapshot - snapshot in ITree format
|
|
44
|
+
* @param fullTree - true to never use handles, even if id is specified
|
|
45
|
+
* @alpha
|
|
46
|
+
*/
|
|
47
|
+
export declare function convertToSummaryTreeWithStats(snapshot: ITree, fullTree?: boolean): ISummaryTreeWithStats;
|
|
48
|
+
|
|
49
|
+
/* Excluded from this release type: create404Response */
|
|
50
|
+
|
|
51
|
+
/* Excluded from this release type: createDataStoreFactory */
|
|
52
|
+
|
|
53
|
+
/* Excluded from this release type: createResponseError */
|
|
54
|
+
|
|
55
|
+
/* Excluded from this release type: exceptionToResponse */
|
|
56
|
+
|
|
57
|
+
/* Excluded from this release type: Factory */
|
|
58
|
+
|
|
59
|
+
/* Excluded from this release type: GCDataBuilder */
|
|
60
|
+
|
|
61
|
+
/* Excluded from this release type: generateHandleContextPath */
|
|
62
|
+
|
|
63
|
+
/* Excluded from this release type: getBlobSize */
|
|
64
|
+
|
|
65
|
+
/* Excluded from this release type: getNormalizedObjectStoragePathParts */
|
|
66
|
+
|
|
67
|
+
/* Excluded from this release type: listBlobsAtTreePath */
|
|
68
|
+
|
|
69
|
+
/* Excluded from this release type: mergeStats */
|
|
70
|
+
|
|
71
|
+
/* Excluded from this release type: ObjectStoragePartition */
|
|
72
|
+
|
|
73
|
+
/* Excluded from this release type: ReadAndParseBlob */
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* The Request Parser takes an IRequest provides parsing and sub request creation
|
|
77
|
+
* @alpha
|
|
78
|
+
*/
|
|
79
|
+
export declare class RequestParser implements IRequest {
|
|
80
|
+
private readonly request;
|
|
81
|
+
/**
|
|
82
|
+
* Splits the path of the url and decodes each path part
|
|
83
|
+
* @param url - the url to get path parts of
|
|
84
|
+
*/
|
|
85
|
+
static getPathParts(url: string): readonly string[];
|
|
86
|
+
private requestPathParts;
|
|
87
|
+
readonly query: string;
|
|
88
|
+
static create(request: Readonly<IRequest>): RequestParser;
|
|
89
|
+
protected constructor(request: Readonly<IRequest>);
|
|
90
|
+
get url(): string;
|
|
91
|
+
get headers(): IRequestHeader | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Returns the decoded path parts of the request's url
|
|
94
|
+
*/
|
|
95
|
+
get pathParts(): readonly string[];
|
|
96
|
+
/**
|
|
97
|
+
* Returns true if it's a terminating path, i.e. no more elements after `elements` entries and empty query.
|
|
98
|
+
* @param elements - number of elements in path
|
|
99
|
+
*/
|
|
100
|
+
isLeaf(elements: number): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Creates a sub request starting at a specific path part of this request's url
|
|
103
|
+
* The sub request url always has a leading slash, and always include query params if original url has any
|
|
104
|
+
* e.g. original url is /a/b/?queryParams, createSubRequest(0) is /a/b/?queryParams
|
|
105
|
+
* createSubRequest(1) is /b/?queryParams
|
|
106
|
+
* createSubRequest(2) is /?queryParams
|
|
107
|
+
* createSubRequest(n) where n is bigger than parts length, e.g. 2, or n is less than 0 will throw an exception
|
|
108
|
+
*
|
|
109
|
+
* note: query params are not counted towards path parts.
|
|
110
|
+
*
|
|
111
|
+
* @param startingPathIndex - The index of the first path part of the sub request
|
|
112
|
+
*/
|
|
113
|
+
createSubRequest(startingPathIndex: number): IRequest;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Excluded from this release type: responseToException */
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @alpha
|
|
120
|
+
*/
|
|
121
|
+
export declare abstract class RuntimeFactoryHelper<T = IContainerRuntime> implements IRuntimeFactory {
|
|
122
|
+
get IRuntimeFactory(): this;
|
|
123
|
+
instantiateRuntime(context: IContainerContext, existing: boolean): Promise<IRuntime>;
|
|
124
|
+
abstract preInitialize(context: IContainerContext, existing: boolean): Promise<IRuntime & T>;
|
|
125
|
+
instantiateFirstTime(_runtime: T): Promise<void>;
|
|
126
|
+
instantiateFromExisting(_runtime: T): Promise<void>;
|
|
127
|
+
hasInitialized(_runtime: T): Promise<void>;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* Excluded from this release type: seqFromTree */
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @alpha
|
|
134
|
+
*/
|
|
135
|
+
export declare class SummaryTreeBuilder implements ISummaryTreeWithStats {
|
|
136
|
+
private attachmentCounter;
|
|
137
|
+
get summary(): ISummaryTree;
|
|
138
|
+
get stats(): Readonly<ISummaryStats>;
|
|
139
|
+
constructor();
|
|
140
|
+
private readonly summaryTree;
|
|
141
|
+
private summaryStats;
|
|
142
|
+
addBlob(key: string, content: string | Uint8Array): void;
|
|
143
|
+
addHandle(key: string, handleType: SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment, handle: string): void;
|
|
144
|
+
addWithStats(key: string, summarizeResult: ISummarizeResult): void;
|
|
145
|
+
addAttachment(id: string): void;
|
|
146
|
+
getSummaryTree(): ISummaryTreeWithStats;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Excluded from this release type: TelemetryContext */
|
|
150
|
+
|
|
151
|
+
/* Excluded from this release type: unpackChildNodesUsedRoutes */
|
|
152
|
+
|
|
153
|
+
/* Excluded from this release type: utf8ByteLength */
|
|
154
|
+
|
|
155
|
+
export { }
|