@fluidframework/driver-definitions 1.2.6 → 2.0.0-dev.1.3.0.96595
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/driverError.d.ts +8 -2
- package/dist/driverError.d.ts.map +1 -1
- package/dist/driverError.js +6 -0
- package/dist/driverError.js.map +1 -1
- package/dist/storage.d.ts +19 -7
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +6 -1
- package/dist/storage.js.map +1 -1
- package/lib/driverError.d.ts +8 -2
- package/lib/driverError.d.ts.map +1 -1
- package/lib/driverError.js +6 -0
- package/lib/driverError.js.map +1 -1
- package/lib/storage.d.ts +19 -7
- package/lib/storage.d.ts.map +1 -1
- package/lib/storage.js +5 -0
- package/lib/storage.js.map +1 -1
- package/lib/test/types/validateDriverDefinitionsPrevious.js +27 -9
- package/lib/test/types/validateDriverDefinitionsPrevious.js.map +1 -1
- package/package.json +38 -10
- package/src/driverError.ts +9 -1
- package/src/storage.ts +25 -9
package/dist/driverError.d.ts
CHANGED
|
@@ -65,7 +65,13 @@ export declare enum DriverErrorType {
|
|
|
65
65
|
* The location of file/container can change on server. So if the file location moves and we try to access the old
|
|
66
66
|
* location, then this error is thrown to let the client know about the new location info.
|
|
67
67
|
*/
|
|
68
|
-
locationRedirection = "locationRedirection"
|
|
68
|
+
locationRedirection = "locationRedirection",
|
|
69
|
+
/**
|
|
70
|
+
* When a file is not a Fluid file, but has Fluid extension such as ".note",
|
|
71
|
+
* server won't be able to open it and will return this error. The innerMostErrorCode will be
|
|
72
|
+
* "fluidInvalidSchema"
|
|
73
|
+
*/
|
|
74
|
+
fluidInvalidSchema = "fluidInvalidSchema"
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
71
77
|
* Base interface for all errors and warnings
|
|
@@ -105,7 +111,7 @@ export interface ILocationRedirectionError extends IDriverErrorBase {
|
|
|
105
111
|
* allows compiler to differentiate interfaces based on error type
|
|
106
112
|
*/
|
|
107
113
|
export interface IDriverBasicError extends IDriverErrorBase {
|
|
108
|
-
readonly errorType: DriverErrorType.genericError | DriverErrorType.fileNotFoundOrAccessDeniedError | DriverErrorType.offlineError | DriverErrorType.unsupportedClientProtocolVersion | DriverErrorType.writeError | DriverErrorType.fetchFailure | DriverErrorType.incorrectServerResponse | DriverErrorType.fileOverwrittenInStorage;
|
|
114
|
+
readonly errorType: DriverErrorType.genericError | DriverErrorType.fileNotFoundOrAccessDeniedError | DriverErrorType.offlineError | DriverErrorType.unsupportedClientProtocolVersion | DriverErrorType.writeError | DriverErrorType.fetchFailure | DriverErrorType.incorrectServerResponse | DriverErrorType.fileOverwrittenInStorage | DriverErrorType.fluidInvalidSchema;
|
|
109
115
|
readonly statusCode?: number;
|
|
110
116
|
}
|
|
111
117
|
export declare type DriverError = IThrottlingWarning | IGenericNetworkError | IAuthorizationError | ILocationRedirectionError | IDriverBasicError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driverError.d.ts","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,oBAAY,eAAe;IACvB;;OAEG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;OAEG;IACH,kBAAkB,uBAAuB;IAEzC;;OAEG;IACH,+BAA+B,oCAAoC;IAEnE;;OAEG;IACH,eAAe,oBAAoB;IAEnC;;OAEG;IACH,YAAY,iBAAiB;IAK7B,gCAAgC,qCAAqC;IAErE;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;;;OAKG;IACH,YAAY,iBAAiB;IAE7B;;OAEG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACF,wBAAwB,6BAA6B;IAErD;;OAEG;IACH,8BAA8B,mCAAmC;IAElE;;;OAGG;IACH,mBAAmB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"driverError.d.ts","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,oBAAY,eAAe;IACvB;;OAEG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;OAEG;IACH,kBAAkB,uBAAuB;IAEzC;;OAEG;IACH,+BAA+B,oCAAoC;IAEnE;;OAEG;IACH,eAAe,oBAAoB;IAEnC;;OAEG;IACH,YAAY,iBAAiB;IAK7B,gCAAgC,qCAAqC;IAErE;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;;;OAKG;IACH,YAAY,iBAAiB;IAE7B;;OAEG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACF,wBAAwB,6BAA6B;IAErD;;OAEG;IACH,8BAA8B,mCAAmC;IAElE;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;;;OAIG;IACH,kBAAkB,uBAAuB;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,8GAA8G;IAC9G,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,kBAAkB,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,SAAS,EAClB,eAAe,CAAC,YAAY,GAC1B,eAAe,CAAC,+BAA+B,GAC/C,eAAe,CAAC,YAAY,GAC5B,eAAe,CAAC,gCAAgC,GAChD,eAAe,CAAC,UAAU,GAC1B,eAAe,CAAC,YAAY,GAC5B,eAAe,CAAC,uBAAuB,GACvC,eAAe,CAAC,wBAAwB,GACxC,eAAe,CAAC,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,oBAAY,WAAW,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,yBAAyB,GACzB,iBAAiB,CAAC"}
|
package/dist/driverError.js
CHANGED
|
@@ -72,5 +72,11 @@ var DriverErrorType;
|
|
|
72
72
|
* location, then this error is thrown to let the client know about the new location info.
|
|
73
73
|
*/
|
|
74
74
|
DriverErrorType["locationRedirection"] = "locationRedirection";
|
|
75
|
+
/**
|
|
76
|
+
* When a file is not a Fluid file, but has Fluid extension such as ".note",
|
|
77
|
+
* server won't be able to open it and will return this error. The innerMostErrorCode will be
|
|
78
|
+
* "fluidInvalidSchema"
|
|
79
|
+
*/
|
|
80
|
+
DriverErrorType["fluidInvalidSchema"] = "fluidInvalidSchema";
|
|
75
81
|
})(DriverErrorType = exports.DriverErrorType || (exports.DriverErrorType = {}));
|
|
76
82
|
//# sourceMappingURL=driverError.js.map
|
package/dist/driverError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driverError.js","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;GAGG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"driverError.js","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH;;;GAGG;AACH,IAAY,eAiFX;AAjFD,WAAY,eAAe;IACvB;;OAEG;IACH,gDAA6B,CAAA;IAE7B;;;OAGG;IACH,8DAA2C,CAAA;IAE3C;;OAEG;IACH,4DAAyC,CAAA;IAEzC;;OAEG;IACH,sFAAmE,CAAA;IAEnE;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,gDAA6B,CAAA;IAE7B;;OAEG;IACH,wFAAqE,CAAA;IAErE;;;OAGG;IACH,4CAAyB,CAAA;IAEzB;;;;;OAKG;IACH,gDAA6B,CAAA;IAE7B;;OAEG;IACH,sEAAmD,CAAA;IAEnD;;;;;OAKG;IACF,wEAAqD,CAAA;IAErD;;OAEG;IACH,oFAAiE,CAAA;IAElE;;;OAGG;IACH,8DAA2C,CAAA;IAE3C;;;;OAIG;IACH,4DAAyC,CAAA;AAC7C,CAAC,EAjFW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAiF1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"./urlResolver\";\n\n/**\n * Driver Error types\n * Lists types that are likely to be used by all drivers\n */\nexport enum DriverErrorType {\n /**\n * A fatal error with no specific interpretation covered by other DriverErrorType values\n */\n genericError = \"genericError\",\n\n /**\n * Some non-categorized (below) networking error\n * Include errors like fatal server error (usually 500).\n */\n genericNetworkError = \"genericNetworkError\",\n\n /**\n * Access denied - user does not have enough privileges to open a file, or continue to operate on a file\n */\n authorizationError = \"authorizationError\",\n\n /**\n * File not found, or file deleted during session\n */\n fileNotFoundOrAccessDeniedError = \"fileNotFoundOrAccessDeniedError\",\n\n /**\n * Throttling error from server. Server is busy and is asking not to reconnect for some time\n */\n throttlingError = \"throttlingError\",\n\n /**\n * We can not reach server due to computer being offline.\n */\n offlineError = \"offlineError\",\n\n /*\n * Unsupported client protocol\n */\n unsupportedClientProtocolVersion = \"unsupportedClientProtocolVersion\",\n\n /**\n * User does not have write permissions to a file, but is changing content of a file.\n * That might be indication of some data store error - data stores should not generate ops in readonly mode.\n */\n writeError = \"writeError\",\n\n /**\n * A generic fetch failure that indicates we were not able to get a response from the server.\n * This may be due to the client being offline (though, if we are able to detect offline state it will be\n * logged as an offlineError instead). Other possibilities could be DNS errors, malformed fetch request,\n * CSP violation, etc.\n */\n fetchFailure = \"fetchFailure\",\n\n /**\n * Unexpected response from server. Either JSON is malformed, or some required properties are missing\n */\n incorrectServerResponse = \"incorrectServerResponse\",\n\n /**\n * This error occurs when the file is modified externally (not through Fluid protocol) in storage.\n * It will occur in cases where client has some state or cache that is based on old content (identity) of a file,\n * and storage / driver / loader detects such mismatch.\n * When it's hit, client needs to forget all the knowlege about this file and start over.\n */\n fileOverwrittenInStorage = \"fileOverwrittenInStorage\",\n\n /**\n * The document is read-only and delta stream connection is forbidden.\n */\n deltaStreamConnectionForbidden = \"deltaStreamConnectionForbidden\",\n\n /**\n * The location of file/container can change on server. So if the file location moves and we try to access the old\n * location, then this error is thrown to let the client know about the new location info.\n */\n locationRedirection = \"locationRedirection\",\n\n /**\n * When a file is not a Fluid file, but has Fluid extension such as \".note\",\n * server won't be able to open it and will return this error. The innerMostErrorCode will be\n * \"fluidInvalidSchema\"\n */\n fluidInvalidSchema = \"fluidInvalidSchema\",\n}\n\n/**\n * Base interface for all errors and warnings\n */\nexport interface IDriverErrorBase {\n /** Classification of what type of error this is, used programmatically by consumers to interpret the error */\n readonly errorType: DriverErrorType;\n /** Free-form error message */\n readonly message: string;\n /** True indicates the caller may retry the failed action. False indicates it's a fatal error */\n canRetry: boolean;\n /**\n * Best guess as to network conditions (online/offline) when the error arose.\n * See OnlineStatus enum in driver-utils package for expected values.\n */\n online?: string;\n}\n\nexport interface IThrottlingWarning extends IDriverErrorBase {\n readonly errorType: DriverErrorType.throttlingError;\n readonly retryAfterSeconds: number;\n}\n\nexport interface IGenericNetworkError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.genericNetworkError;\n readonly statusCode?: number;\n}\n\nexport interface IAuthorizationError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.authorizationError;\n readonly claims?: string;\n readonly tenantId?: string;\n}\n\nexport interface ILocationRedirectionError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.locationRedirection;\n readonly redirectUrl: IResolvedUrl;\n}\n\n/**\n * Having this uber interface without types that have their own interfaces\n * allows compiler to differentiate interfaces based on error type\n */\nexport interface IDriverBasicError extends IDriverErrorBase {\n readonly errorType:\n DriverErrorType.genericError\n | DriverErrorType.fileNotFoundOrAccessDeniedError\n | DriverErrorType.offlineError\n | DriverErrorType.unsupportedClientProtocolVersion\n | DriverErrorType.writeError\n | DriverErrorType.fetchFailure\n | DriverErrorType.incorrectServerResponse\n | DriverErrorType.fileOverwrittenInStorage\n | DriverErrorType.fluidInvalidSchema;\n readonly statusCode?: number;\n}\n\nexport type DriverError =\n | IThrottlingWarning\n | IGenericNetworkError\n | IAuthorizationError\n | ILocationRedirectionError\n | IDriverBasicError;\n"]}
|
package/dist/storage.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export interface IDeltaStorageService {
|
|
|
29
29
|
* @param from - first op to retrieve (inclusive)
|
|
30
30
|
* @param to - first op not to retrieve (exclusive end)
|
|
31
31
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
32
|
-
*
|
|
33
|
-
*
|
|
32
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
33
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
34
34
|
*/
|
|
35
35
|
get(tenantId: string, id: string, from: number, // inclusive
|
|
36
36
|
to: number, // exclusive
|
|
@@ -59,13 +59,17 @@ export interface IDocumentDeltaStorageService {
|
|
|
59
59
|
* @param abortSignal - signal that aborts operation
|
|
60
60
|
* @param cachedOnly - return only cached ops, i.e. ops available locally on client.
|
|
61
61
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
62
|
-
*
|
|
63
|
-
*
|
|
62
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
63
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
64
64
|
*/
|
|
65
65
|
fetchMessages(from: number, to: number | undefined, abortSignal?: AbortSignal, cachedOnly?: boolean, fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
|
|
66
66
|
}
|
|
67
67
|
export interface IDocumentStorageServicePolicies {
|
|
68
68
|
readonly caching?: LoaderCachingPolicy;
|
|
69
|
+
/**
|
|
70
|
+
* If this policy is provided, it tells runtime on ideal size for blobs.
|
|
71
|
+
* Blobs that are smaller than that size should be aggregated into bigger blobs.
|
|
72
|
+
*/
|
|
69
73
|
readonly minBlobSize?: number;
|
|
70
74
|
/**
|
|
71
75
|
* This policy tells the runtime that the driver will not use cached snapshots older than this value.
|
|
@@ -85,7 +89,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
85
89
|
* Returns the snapshot tree.
|
|
86
90
|
* @param version - Version of the snapshot to be fetched.
|
|
87
91
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
88
|
-
*
|
|
92
|
+
* in debugging purposes to see why this call was made.
|
|
89
93
|
*/
|
|
90
94
|
getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
|
|
91
95
|
/**
|
|
@@ -93,9 +97,13 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
93
97
|
* @param versionId - Version id of the requested version.
|
|
94
98
|
* @param count - Number of the versions to be fetched.
|
|
95
99
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
96
|
-
*
|
|
100
|
+
* in debugging purposes to see why this call was made.
|
|
101
|
+
* @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache
|
|
102
|
+
* requests and serve data from cache. That will result in stale info returned. Callers can disable this
|
|
103
|
+
* functionality by passing fetchSource = noCache and ensuring that driver will return latest information
|
|
104
|
+
* from storage.
|
|
97
105
|
*/
|
|
98
|
-
getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]>;
|
|
106
|
+
getVersions(versionId: string | null, count: number, scenarioName?: string, fetchSource?: FetchSource): Promise<IVersion[]>;
|
|
99
107
|
/**
|
|
100
108
|
* Creates a blob out of the given buffer
|
|
101
109
|
*/
|
|
@@ -277,4 +285,8 @@ export interface ISummaryContext {
|
|
|
277
285
|
readonly ackHandle: string | undefined;
|
|
278
286
|
readonly referenceSequenceNumber: number;
|
|
279
287
|
}
|
|
288
|
+
export declare enum FetchSource {
|
|
289
|
+
default = "default",
|
|
290
|
+
noCache = "noCache"
|
|
291
|
+
}
|
|
280
292
|
//# sourceMappingURL=storage.d.ts.map
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACpH,OAAO,EACH,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;OASG;IACH,GAAG,CACC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,YAAY;IAC1B,EAAE,EAAE,MAAM,EAAE,YAAY;IACxB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AAED,oBAAY,aAAa,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,IAAI,CAAC;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;CAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;;;;;;;;OASG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.LoaderCachingPolicy = void 0;
|
|
7
|
+
exports.FetchSource = exports.LoaderCachingPolicy = void 0;
|
|
8
8
|
var LoaderCachingPolicy;
|
|
9
9
|
(function (LoaderCachingPolicy) {
|
|
10
10
|
/**
|
|
@@ -16,4 +16,9 @@ var LoaderCachingPolicy;
|
|
|
16
16
|
*/
|
|
17
17
|
LoaderCachingPolicy[LoaderCachingPolicy["Prefetch"] = 1] = "Prefetch";
|
|
18
18
|
})(LoaderCachingPolicy = exports.LoaderCachingPolicy || (exports.LoaderCachingPolicy = {}));
|
|
19
|
+
var FetchSource;
|
|
20
|
+
(function (FetchSource) {
|
|
21
|
+
FetchSource["default"] = "default";
|
|
22
|
+
FetchSource["noCache"] = "noCache";
|
|
23
|
+
})(FetchSource = exports.FetchSource || (exports.FetchSource = {}));
|
|
19
24
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA+OH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC3B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACZ,CAAC,EAVW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAU9B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDisposable, IEventProvider, IErrorEvent, ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport {\n ConnectionMode,\n IClient,\n IClientConfiguration,\n ICreateBlobResponse,\n IDocumentMessage,\n INack,\n ISequencedDocumentMessage,\n ISignalClient,\n ISignalMessage,\n ISnapshotTree,\n ISummaryHandle,\n ISummaryTree,\n ITokenClaims,\n IVersion,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"./urlResolver\";\n\nexport interface IDeltasFetchResult {\n /**\n * Sequential set of messages starting from 'from' sequence number.\n * May be partial result, i.e. not fulfill original request in full.\n */\n messages: ISequencedDocumentMessage[];\n\n /**\n * If true, storage only partially fulfilled request, but has more ops\n * If false, the request was fulfilled. If less ops were returned then\n * requested, then storage does not have more ops in this range.\n */\n partialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDeltaStorageService {\n /**\n * Retrieves all the delta operations within the inclusive sequence number range\n * @param tenantId - Id of the tenant.\n * @param id - document id.\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n get(\n tenantId: string,\n id: string,\n from: number, // inclusive\n to: number, // exclusive\n fetchReason?: string,\n ): Promise<IDeltasFetchResult>;\n}\n\nexport type IStreamResult<T> = { done: true; } | { done: false; value: T; };\n\n/**\n * Read interface for the Queue\n */\nexport interface IStream<T> {\n read(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDocumentDeltaStorageService {\n /**\n * Retrieves all the delta operations within the exclusive sequence number range\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param abortSignal - signal that aborts operation\n * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n fetchMessages(from: number,\n to: number | undefined,\n abortSignal?: AbortSignal,\n cachedOnly?: boolean,\n fetchReason?: string,\n ): IStream<ISequencedDocumentMessage[]>;\n}\n\nexport interface IDocumentStorageServicePolicies {\n readonly caching?: LoaderCachingPolicy;\n\n // If this policy is provided, it tells runtime on ideal size for blobs\n // Blobs that are smaller than that size should be aggregated into bigger blobs\n readonly minBlobSize?: number;\n\n /**\n * This policy tells the runtime that the driver will not use cached snapshots older than this value.\n */\n readonly maximumCacheDurationMs?: number;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n repositoryUrl: string;\n\n /**\n * Policies implemented/instructed by driver.\n */\n readonly policies?: IDocumentStorageServicePolicies;\n\n /**\n * Returns the snapshot tree.\n * @param version - Version of the snapshot to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n /**\n * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n * @param versionId - Version id of the requested version.\n * @param count - Number of the versions to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]>;\n\n /**\n * Creates a blob out of the given buffer\n */\n createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n /**\n * Reads the object with the given ID, returns content in arrayBufferLike\n */\n readBlob(id: string): Promise<ArrayBufferLike>;\n\n /**\n * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n * referencing from the previously acked summary.\n * Returns the uploaded summary handle.\n */\n uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n /**\n * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n * server has deleted it this call may result in a broken promise.\n */\n downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n (event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n (event: \"disconnect\", listener: (reason: any) => void);\n (event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n (event: \"signal\", listener: (message: ISignalMessage) => void);\n (event: \"pong\", listener: (latency: number) => void);\n (event: \"error\", listener: (error: any) => void);\n}\n\nexport interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {\n /**\n * ClientID for the connection\n */\n clientId: string;\n\n /**\n * Claims for the client\n */\n claims: ITokenClaims;\n\n /**\n * Mode of the client\n */\n mode: ConnectionMode;\n\n /**\n * Whether the connection was made to a new or existing document\n */\n existing: boolean;\n\n /**\n * Protocol version being used with the service\n */\n version: string;\n\n /**\n * Messages sent during the connection\n */\n initialMessages: ISequencedDocumentMessage[];\n\n /**\n * Signals sent during the connection\n */\n initialSignals: ISignalMessage[];\n\n /**\n * Prior clients already connected.\n */\n initialClients: ISignalClient[];\n\n /**\n * Configuration details provided by the service\n */\n serviceConfiguration: IClientConfiguration;\n\n /**\n * Last known sequence number to ordering service at the time of connection\n * It may lap actual last sequence number (quite a bit, if container is very active).\n * But it's best information for client to figure out how far it is behind, at least\n * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n * that is likely to be more up-to-date.\n */\n checkpointSequenceNumber?: number;\n\n /**\n * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n * it could contain info like build version, environment, region etc. These properties can be logged by client\n * to better understand server environment etc. and use it in case error occurs.\n * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n */\n relayServiceAgent?: string;\n\n /**\n * Submit a new message to the server\n */\n submit(messages: IDocumentMessage[]): void;\n\n /**\n * Submit a new signal to the server\n */\n submitSignal(message: any): void;\n}\n\nexport enum LoaderCachingPolicy {\n /**\n * The loader should not implement any prefetching or caching policy.\n */\n NoCaching,\n\n /**\n * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n */\n Prefetch,\n}\n\nexport interface IDocumentServicePolicies {\n /**\n * Do not connect to delta stream\n */\n readonly storageOnly?: boolean;\n}\n\nexport interface IDocumentService {\n\n resolvedUrl: IResolvedUrl;\n\n /**\n * Policies implemented/instructed by driver.\n */\n policies?: IDocumentServicePolicies;\n\n /**\n * Access to storage associated with the document...\n */\n connectToStorage(): Promise<IDocumentStorageService>;\n\n /**\n * Access to delta storage associated with the document\n */\n connectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n /**\n * Subscribes to the document delta stream\n */\n connectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n /**\n * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n * Useful for storage to commit any pending state if any (including any local caching).\n * Please note that it does not remove the need for caller to close all active delta connections,\n * as storage may not be tracking such objects.\n * @param error - tells if container (and storage) are closed due to critical error.\n * Error might be due to disconnect between client & server knowlege about file, like file being overwritten\n * in storage, but client having stale local cache.\n * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n */\n dispose(error?: any): void;\n}\n\nexport interface IDocumentServiceFactory {\n /**\n * Name of the protocol used by factory\n */\n protocolName: string;\n\n /**\n * Creates the document service after extracting different endpoints URLs from a resolved URL.\n *\n * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n *\n * @returns An instance of {@link IDocumentService}.\n */\n createDocumentService(\n resolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n\n /**\n * Creates a new document with the provided options. Returns the document service.\n *\n * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n * should be posted later, before connecting to ordering service.\n * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n */\n createContainer(\n createNewSummary: ISummaryTree | undefined,\n createNewResolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n */\nexport interface ISummaryContext {\n /**\n * Parent summary proposed handle (from summary op)\n */\n readonly proposalHandle: string | undefined;\n\n /**\n * Parent summary acked handle (from summary ack)\n */\n readonly ackHandle: string | undefined;\n\n readonly referenceSequenceNumber: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA0PH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC3B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACZ,CAAC,EAVW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAU9B;AA0GD,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACvB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDisposable, IEventProvider, IErrorEvent, ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport {\n ConnectionMode,\n IClient,\n IClientConfiguration,\n ICreateBlobResponse,\n IDocumentMessage,\n INack,\n ISequencedDocumentMessage,\n ISignalClient,\n ISignalMessage,\n ISnapshotTree,\n ISummaryHandle,\n ISummaryTree,\n ITokenClaims,\n IVersion,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"./urlResolver\";\n\nexport interface IDeltasFetchResult {\n /**\n * Sequential set of messages starting from 'from' sequence number.\n * May be partial result, i.e. not fulfill original request in full.\n */\n messages: ISequencedDocumentMessage[];\n\n /**\n * If true, storage only partially fulfilled request, but has more ops\n * If false, the request was fulfilled. If less ops were returned then\n * requested, then storage does not have more ops in this range.\n */\n partialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDeltaStorageService {\n /**\n * Retrieves all the delta operations within the inclusive sequence number range\n * @param tenantId - Id of the tenant.\n * @param id - document id.\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n get(\n tenantId: string,\n id: string,\n from: number, // inclusive\n to: number, // exclusive\n fetchReason?: string,\n ): Promise<IDeltasFetchResult>;\n}\n\nexport type IStreamResult<T> = { done: true; } | { done: false; value: T; };\n\n/**\n * Read interface for the Queue\n */\nexport interface IStream<T> {\n read(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDocumentDeltaStorageService {\n /**\n * Retrieves all the delta operations within the exclusive sequence number range\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param abortSignal - signal that aborts operation\n * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n fetchMessages(from: number,\n to: number | undefined,\n abortSignal?: AbortSignal,\n cachedOnly?: boolean,\n fetchReason?: string,\n ): IStream<ISequencedDocumentMessage[]>;\n}\n\nexport interface IDocumentStorageServicePolicies {\n readonly caching?: LoaderCachingPolicy;\n\n /**\n * If this policy is provided, it tells runtime on ideal size for blobs.\n * Blobs that are smaller than that size should be aggregated into bigger blobs.\n */\n readonly minBlobSize?: number;\n\n /**\n * This policy tells the runtime that the driver will not use cached snapshots older than this value.\n */\n readonly maximumCacheDurationMs?: number;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n repositoryUrl: string;\n\n /**\n * Policies implemented/instructed by driver.\n */\n readonly policies?: IDocumentStorageServicePolicies;\n\n /**\n * Returns the snapshot tree.\n * @param version - Version of the snapshot to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n /**\n * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n * @param versionId - Version id of the requested version.\n * @param count - Number of the versions to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n * from storage.\n */\n getVersions(\n versionId: string | null,\n count: number,\n scenarioName?: string,\n fetchSource?: FetchSource,\n ): Promise<IVersion[]>;\n\n /**\n * Creates a blob out of the given buffer\n */\n createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n /**\n * Reads the object with the given ID, returns content in arrayBufferLike\n */\n readBlob(id: string): Promise<ArrayBufferLike>;\n\n /**\n * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n * referencing from the previously acked summary.\n * Returns the uploaded summary handle.\n */\n uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n /**\n * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n * server has deleted it this call may result in a broken promise.\n */\n downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n (event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n (event: \"disconnect\", listener: (reason: any) => void);\n (event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n (event: \"signal\", listener: (message: ISignalMessage) => void);\n (event: \"pong\", listener: (latency: number) => void);\n (event: \"error\", listener: (error: any) => void);\n}\n\nexport interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {\n /**\n * ClientID for the connection\n */\n clientId: string;\n\n /**\n * Claims for the client\n */\n claims: ITokenClaims;\n\n /**\n * Mode of the client\n */\n mode: ConnectionMode;\n\n /**\n * Whether the connection was made to a new or existing document\n */\n existing: boolean;\n\n /**\n * Protocol version being used with the service\n */\n version: string;\n\n /**\n * Messages sent during the connection\n */\n initialMessages: ISequencedDocumentMessage[];\n\n /**\n * Signals sent during the connection\n */\n initialSignals: ISignalMessage[];\n\n /**\n * Prior clients already connected.\n */\n initialClients: ISignalClient[];\n\n /**\n * Configuration details provided by the service\n */\n serviceConfiguration: IClientConfiguration;\n\n /**\n * Last known sequence number to ordering service at the time of connection\n * It may lap actual last sequence number (quite a bit, if container is very active).\n * But it's best information for client to figure out how far it is behind, at least\n * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n * that is likely to be more up-to-date.\n */\n checkpointSequenceNumber?: number;\n\n /**\n * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n * it could contain info like build version, environment, region etc. These properties can be logged by client\n * to better understand server environment etc. and use it in case error occurs.\n * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n */\n relayServiceAgent?: string;\n\n /**\n * Submit a new message to the server\n */\n submit(messages: IDocumentMessage[]): void;\n\n /**\n * Submit a new signal to the server\n */\n submitSignal(message: any): void;\n}\n\nexport enum LoaderCachingPolicy {\n /**\n * The loader should not implement any prefetching or caching policy.\n */\n NoCaching,\n\n /**\n * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n */\n Prefetch,\n}\n\nexport interface IDocumentServicePolicies {\n /**\n * Do not connect to delta stream\n */\n readonly storageOnly?: boolean;\n}\n\nexport interface IDocumentService {\n\n resolvedUrl: IResolvedUrl;\n\n /**\n * Policies implemented/instructed by driver.\n */\n policies?: IDocumentServicePolicies;\n\n /**\n * Access to storage associated with the document...\n */\n connectToStorage(): Promise<IDocumentStorageService>;\n\n /**\n * Access to delta storage associated with the document\n */\n connectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n /**\n * Subscribes to the document delta stream\n */\n connectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n /**\n * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n * Useful for storage to commit any pending state if any (including any local caching).\n * Please note that it does not remove the need for caller to close all active delta connections,\n * as storage may not be tracking such objects.\n * @param error - tells if container (and storage) are closed due to critical error.\n * Error might be due to disconnect between client & server knowlege about file, like file being overwritten\n * in storage, but client having stale local cache.\n * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n */\n dispose(error?: any): void;\n}\n\nexport interface IDocumentServiceFactory {\n /**\n * Name of the protocol used by factory\n */\n protocolName: string;\n\n /**\n * Creates the document service after extracting different endpoints URLs from a resolved URL.\n *\n * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n *\n * @returns An instance of {@link IDocumentService}.\n */\n createDocumentService(\n resolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n\n /**\n * Creates a new document with the provided options. Returns the document service.\n *\n * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n * should be posted later, before connecting to ordering service.\n * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n */\n createContainer(\n createNewSummary: ISummaryTree | undefined,\n createNewResolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n */\nexport interface ISummaryContext {\n /**\n * Parent summary proposed handle (from summary op)\n */\n readonly proposalHandle: string | undefined;\n\n /**\n * Parent summary acked handle (from summary ack)\n */\n readonly ackHandle: string | undefined;\n\n readonly referenceSequenceNumber: number;\n}\n\nexport enum FetchSource {\n default = \"default\",\n noCache = \"noCache\",\n}\n"]}
|
package/lib/driverError.d.ts
CHANGED
|
@@ -65,7 +65,13 @@ export declare enum DriverErrorType {
|
|
|
65
65
|
* The location of file/container can change on server. So if the file location moves and we try to access the old
|
|
66
66
|
* location, then this error is thrown to let the client know about the new location info.
|
|
67
67
|
*/
|
|
68
|
-
locationRedirection = "locationRedirection"
|
|
68
|
+
locationRedirection = "locationRedirection",
|
|
69
|
+
/**
|
|
70
|
+
* When a file is not a Fluid file, but has Fluid extension such as ".note",
|
|
71
|
+
* server won't be able to open it and will return this error. The innerMostErrorCode will be
|
|
72
|
+
* "fluidInvalidSchema"
|
|
73
|
+
*/
|
|
74
|
+
fluidInvalidSchema = "fluidInvalidSchema"
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
71
77
|
* Base interface for all errors and warnings
|
|
@@ -105,7 +111,7 @@ export interface ILocationRedirectionError extends IDriverErrorBase {
|
|
|
105
111
|
* allows compiler to differentiate interfaces based on error type
|
|
106
112
|
*/
|
|
107
113
|
export interface IDriverBasicError extends IDriverErrorBase {
|
|
108
|
-
readonly errorType: DriverErrorType.genericError | DriverErrorType.fileNotFoundOrAccessDeniedError | DriverErrorType.offlineError | DriverErrorType.unsupportedClientProtocolVersion | DriverErrorType.writeError | DriverErrorType.fetchFailure | DriverErrorType.incorrectServerResponse | DriverErrorType.fileOverwrittenInStorage;
|
|
114
|
+
readonly errorType: DriverErrorType.genericError | DriverErrorType.fileNotFoundOrAccessDeniedError | DriverErrorType.offlineError | DriverErrorType.unsupportedClientProtocolVersion | DriverErrorType.writeError | DriverErrorType.fetchFailure | DriverErrorType.incorrectServerResponse | DriverErrorType.fileOverwrittenInStorage | DriverErrorType.fluidInvalidSchema;
|
|
109
115
|
readonly statusCode?: number;
|
|
110
116
|
}
|
|
111
117
|
export declare type DriverError = IThrottlingWarning | IGenericNetworkError | IAuthorizationError | ILocationRedirectionError | IDriverBasicError;
|
package/lib/driverError.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driverError.d.ts","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,oBAAY,eAAe;IACvB;;OAEG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;OAEG;IACH,kBAAkB,uBAAuB;IAEzC;;OAEG;IACH,+BAA+B,oCAAoC;IAEnE;;OAEG;IACH,eAAe,oBAAoB;IAEnC;;OAEG;IACH,YAAY,iBAAiB;IAK7B,gCAAgC,qCAAqC;IAErE;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;;;OAKG;IACH,YAAY,iBAAiB;IAE7B;;OAEG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACF,wBAAwB,6BAA6B;IAErD;;OAEG;IACH,8BAA8B,mCAAmC;IAElE;;;OAGG;IACH,mBAAmB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"driverError.d.ts","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,oBAAY,eAAe;IACvB;;OAEG;IACH,YAAY,iBAAiB;IAE7B;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;OAEG;IACH,kBAAkB,uBAAuB;IAEzC;;OAEG;IACH,+BAA+B,oCAAoC;IAEnE;;OAEG;IACH,eAAe,oBAAoB;IAEnC;;OAEG;IACH,YAAY,iBAAiB;IAK7B,gCAAgC,qCAAqC;IAErE;;;OAGG;IACH,UAAU,eAAe;IAEzB;;;;;OAKG;IACH,YAAY,iBAAiB;IAE7B;;OAEG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACF,wBAAwB,6BAA6B;IAErD;;OAEG;IACH,8BAA8B,mCAAmC;IAElE;;;OAGG;IACH,mBAAmB,wBAAwB;IAE3C;;;;OAIG;IACH,kBAAkB,uBAAuB;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,8GAA8G;IAC9G,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,eAAe,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,kBAAkB,CAAC;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,mBAAmB,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,SAAS,EAClB,eAAe,CAAC,YAAY,GAC1B,eAAe,CAAC,+BAA+B,GAC/C,eAAe,CAAC,YAAY,GAC5B,eAAe,CAAC,gCAAgC,GAChD,eAAe,CAAC,UAAU,GAC1B,eAAe,CAAC,YAAY,GAC5B,eAAe,CAAC,uBAAuB,GACvC,eAAe,CAAC,wBAAwB,GACxC,eAAe,CAAC,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,oBAAY,WAAW,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,yBAAyB,GACzB,iBAAiB,CAAC"}
|
package/lib/driverError.js
CHANGED
|
@@ -69,5 +69,11 @@ export var DriverErrorType;
|
|
|
69
69
|
* location, then this error is thrown to let the client know about the new location info.
|
|
70
70
|
*/
|
|
71
71
|
DriverErrorType["locationRedirection"] = "locationRedirection";
|
|
72
|
+
/**
|
|
73
|
+
* When a file is not a Fluid file, but has Fluid extension such as ".note",
|
|
74
|
+
* server won't be able to open it and will return this error. The innerMostErrorCode will be
|
|
75
|
+
* "fluidInvalidSchema"
|
|
76
|
+
*/
|
|
77
|
+
DriverErrorType["fluidInvalidSchema"] = "fluidInvalidSchema";
|
|
72
78
|
})(DriverErrorType || (DriverErrorType = {}));
|
|
73
79
|
//# sourceMappingURL=driverError.js.map
|
package/lib/driverError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driverError.js","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"driverError.js","sourceRoot":"","sources":["../src/driverError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,MAAM,CAAN,IAAY,eAiFX;AAjFD,WAAY,eAAe;IACvB;;OAEG;IACH,gDAA6B,CAAA;IAE7B;;;OAGG;IACH,8DAA2C,CAAA;IAE3C;;OAEG;IACH,4DAAyC,CAAA;IAEzC;;OAEG;IACH,sFAAmE,CAAA;IAEnE;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,gDAA6B,CAAA;IAE7B;;OAEG;IACH,wFAAqE,CAAA;IAErE;;;OAGG;IACH,4CAAyB,CAAA;IAEzB;;;;;OAKG;IACH,gDAA6B,CAAA;IAE7B;;OAEG;IACH,sEAAmD,CAAA;IAEnD;;;;;OAKG;IACF,wEAAqD,CAAA;IAErD;;OAEG;IACH,oFAAiE,CAAA;IAElE;;;OAGG;IACH,8DAA2C,CAAA;IAE3C;;;;OAIG;IACH,4DAAyC,CAAA;AAC7C,CAAC,EAjFW,eAAe,KAAf,eAAe,QAiF1B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IResolvedUrl } from \"./urlResolver\";\n\n/**\n * Driver Error types\n * Lists types that are likely to be used by all drivers\n */\nexport enum DriverErrorType {\n /**\n * A fatal error with no specific interpretation covered by other DriverErrorType values\n */\n genericError = \"genericError\",\n\n /**\n * Some non-categorized (below) networking error\n * Include errors like fatal server error (usually 500).\n */\n genericNetworkError = \"genericNetworkError\",\n\n /**\n * Access denied - user does not have enough privileges to open a file, or continue to operate on a file\n */\n authorizationError = \"authorizationError\",\n\n /**\n * File not found, or file deleted during session\n */\n fileNotFoundOrAccessDeniedError = \"fileNotFoundOrAccessDeniedError\",\n\n /**\n * Throttling error from server. Server is busy and is asking not to reconnect for some time\n */\n throttlingError = \"throttlingError\",\n\n /**\n * We can not reach server due to computer being offline.\n */\n offlineError = \"offlineError\",\n\n /*\n * Unsupported client protocol\n */\n unsupportedClientProtocolVersion = \"unsupportedClientProtocolVersion\",\n\n /**\n * User does not have write permissions to a file, but is changing content of a file.\n * That might be indication of some data store error - data stores should not generate ops in readonly mode.\n */\n writeError = \"writeError\",\n\n /**\n * A generic fetch failure that indicates we were not able to get a response from the server.\n * This may be due to the client being offline (though, if we are able to detect offline state it will be\n * logged as an offlineError instead). Other possibilities could be DNS errors, malformed fetch request,\n * CSP violation, etc.\n */\n fetchFailure = \"fetchFailure\",\n\n /**\n * Unexpected response from server. Either JSON is malformed, or some required properties are missing\n */\n incorrectServerResponse = \"incorrectServerResponse\",\n\n /**\n * This error occurs when the file is modified externally (not through Fluid protocol) in storage.\n * It will occur in cases where client has some state or cache that is based on old content (identity) of a file,\n * and storage / driver / loader detects such mismatch.\n * When it's hit, client needs to forget all the knowlege about this file and start over.\n */\n fileOverwrittenInStorage = \"fileOverwrittenInStorage\",\n\n /**\n * The document is read-only and delta stream connection is forbidden.\n */\n deltaStreamConnectionForbidden = \"deltaStreamConnectionForbidden\",\n\n /**\n * The location of file/container can change on server. So if the file location moves and we try to access the old\n * location, then this error is thrown to let the client know about the new location info.\n */\n locationRedirection = \"locationRedirection\",\n\n /**\n * When a file is not a Fluid file, but has Fluid extension such as \".note\",\n * server won't be able to open it and will return this error. The innerMostErrorCode will be\n * \"fluidInvalidSchema\"\n */\n fluidInvalidSchema = \"fluidInvalidSchema\",\n}\n\n/**\n * Base interface for all errors and warnings\n */\nexport interface IDriverErrorBase {\n /** Classification of what type of error this is, used programmatically by consumers to interpret the error */\n readonly errorType: DriverErrorType;\n /** Free-form error message */\n readonly message: string;\n /** True indicates the caller may retry the failed action. False indicates it's a fatal error */\n canRetry: boolean;\n /**\n * Best guess as to network conditions (online/offline) when the error arose.\n * See OnlineStatus enum in driver-utils package for expected values.\n */\n online?: string;\n}\n\nexport interface IThrottlingWarning extends IDriverErrorBase {\n readonly errorType: DriverErrorType.throttlingError;\n readonly retryAfterSeconds: number;\n}\n\nexport interface IGenericNetworkError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.genericNetworkError;\n readonly statusCode?: number;\n}\n\nexport interface IAuthorizationError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.authorizationError;\n readonly claims?: string;\n readonly tenantId?: string;\n}\n\nexport interface ILocationRedirectionError extends IDriverErrorBase {\n readonly errorType: DriverErrorType.locationRedirection;\n readonly redirectUrl: IResolvedUrl;\n}\n\n/**\n * Having this uber interface without types that have their own interfaces\n * allows compiler to differentiate interfaces based on error type\n */\nexport interface IDriverBasicError extends IDriverErrorBase {\n readonly errorType:\n DriverErrorType.genericError\n | DriverErrorType.fileNotFoundOrAccessDeniedError\n | DriverErrorType.offlineError\n | DriverErrorType.unsupportedClientProtocolVersion\n | DriverErrorType.writeError\n | DriverErrorType.fetchFailure\n | DriverErrorType.incorrectServerResponse\n | DriverErrorType.fileOverwrittenInStorage\n | DriverErrorType.fluidInvalidSchema;\n readonly statusCode?: number;\n}\n\nexport type DriverError =\n | IThrottlingWarning\n | IGenericNetworkError\n | IAuthorizationError\n | ILocationRedirectionError\n | IDriverBasicError;\n"]}
|
package/lib/storage.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export interface IDeltaStorageService {
|
|
|
29
29
|
* @param from - first op to retrieve (inclusive)
|
|
30
30
|
* @param to - first op not to retrieve (exclusive end)
|
|
31
31
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
32
|
-
*
|
|
33
|
-
*
|
|
32
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
33
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
34
34
|
*/
|
|
35
35
|
get(tenantId: string, id: string, from: number, // inclusive
|
|
36
36
|
to: number, // exclusive
|
|
@@ -59,13 +59,17 @@ export interface IDocumentDeltaStorageService {
|
|
|
59
59
|
* @param abortSignal - signal that aborts operation
|
|
60
60
|
* @param cachedOnly - return only cached ops, i.e. ops available locally on client.
|
|
61
61
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
62
|
-
*
|
|
63
|
-
*
|
|
62
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
63
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
64
64
|
*/
|
|
65
65
|
fetchMessages(from: number, to: number | undefined, abortSignal?: AbortSignal, cachedOnly?: boolean, fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
|
|
66
66
|
}
|
|
67
67
|
export interface IDocumentStorageServicePolicies {
|
|
68
68
|
readonly caching?: LoaderCachingPolicy;
|
|
69
|
+
/**
|
|
70
|
+
* If this policy is provided, it tells runtime on ideal size for blobs.
|
|
71
|
+
* Blobs that are smaller than that size should be aggregated into bigger blobs.
|
|
72
|
+
*/
|
|
69
73
|
readonly minBlobSize?: number;
|
|
70
74
|
/**
|
|
71
75
|
* This policy tells the runtime that the driver will not use cached snapshots older than this value.
|
|
@@ -85,7 +89,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
85
89
|
* Returns the snapshot tree.
|
|
86
90
|
* @param version - Version of the snapshot to be fetched.
|
|
87
91
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
88
|
-
*
|
|
92
|
+
* in debugging purposes to see why this call was made.
|
|
89
93
|
*/
|
|
90
94
|
getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
|
|
91
95
|
/**
|
|
@@ -93,9 +97,13 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
93
97
|
* @param versionId - Version id of the requested version.
|
|
94
98
|
* @param count - Number of the versions to be fetched.
|
|
95
99
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
96
|
-
*
|
|
100
|
+
* in debugging purposes to see why this call was made.
|
|
101
|
+
* @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache
|
|
102
|
+
* requests and serve data from cache. That will result in stale info returned. Callers can disable this
|
|
103
|
+
* functionality by passing fetchSource = noCache and ensuring that driver will return latest information
|
|
104
|
+
* from storage.
|
|
97
105
|
*/
|
|
98
|
-
getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]>;
|
|
106
|
+
getVersions(versionId: string | null, count: number, scenarioName?: string, fetchSource?: FetchSource): Promise<IVersion[]>;
|
|
99
107
|
/**
|
|
100
108
|
* Creates a blob out of the given buffer
|
|
101
109
|
*/
|
|
@@ -277,4 +285,8 @@ export interface ISummaryContext {
|
|
|
277
285
|
readonly ackHandle: string | undefined;
|
|
278
286
|
readonly referenceSequenceNumber: number;
|
|
279
287
|
}
|
|
288
|
+
export declare enum FetchSource {
|
|
289
|
+
default = "default",
|
|
290
|
+
noCache = "noCache"
|
|
291
|
+
}
|
|
280
292
|
//# sourceMappingURL=storage.d.ts.map
|
package/lib/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACpH,OAAO,EACH,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;;;;;OASG;IACH,GAAG,CACC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,YAAY;IAC1B,EAAE,EAAE,MAAM,EAAE,YAAY;IACxB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AAED,oBAAY,aAAa,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,IAAI,CAAC;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;CAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;;;;;;;;OASG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/lib/storage.js
CHANGED
|
@@ -13,4 +13,9 @@ export var LoaderCachingPolicy;
|
|
|
13
13
|
*/
|
|
14
14
|
LoaderCachingPolicy[LoaderCachingPolicy["Prefetch"] = 1] = "Prefetch";
|
|
15
15
|
})(LoaderCachingPolicy || (LoaderCachingPolicy = {}));
|
|
16
|
+
export var FetchSource;
|
|
17
|
+
(function (FetchSource) {
|
|
18
|
+
FetchSource["default"] = "default";
|
|
19
|
+
FetchSource["noCache"] = "noCache";
|
|
20
|
+
})(FetchSource || (FetchSource = {}));
|
|
16
21
|
//# sourceMappingURL=storage.js.map
|
package/lib/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+OH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC3B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACZ,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDisposable, IEventProvider, IErrorEvent, ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport {\n ConnectionMode,\n IClient,\n IClientConfiguration,\n ICreateBlobResponse,\n IDocumentMessage,\n INack,\n ISequencedDocumentMessage,\n ISignalClient,\n ISignalMessage,\n ISnapshotTree,\n ISummaryHandle,\n ISummaryTree,\n ITokenClaims,\n IVersion,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"./urlResolver\";\n\nexport interface IDeltasFetchResult {\n /**\n * Sequential set of messages starting from 'from' sequence number.\n * May be partial result, i.e. not fulfill original request in full.\n */\n messages: ISequencedDocumentMessage[];\n\n /**\n * If true, storage only partially fulfilled request, but has more ops\n * If false, the request was fulfilled. If less ops were returned then\n * requested, then storage does not have more ops in this range.\n */\n partialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDeltaStorageService {\n /**\n * Retrieves all the delta operations within the inclusive sequence number range\n * @param tenantId - Id of the tenant.\n * @param id - document id.\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n get(\n tenantId: string,\n id: string,\n from: number, // inclusive\n to: number, // exclusive\n fetchReason?: string,\n ): Promise<IDeltasFetchResult>;\n}\n\nexport type IStreamResult<T> = { done: true; } | { done: false; value: T; };\n\n/**\n * Read interface for the Queue\n */\nexport interface IStream<T> {\n read(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDocumentDeltaStorageService {\n /**\n * Retrieves all the delta operations within the exclusive sequence number range\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param abortSignal - signal that aborts operation\n * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n fetchMessages(from: number,\n to: number | undefined,\n abortSignal?: AbortSignal,\n cachedOnly?: boolean,\n fetchReason?: string,\n ): IStream<ISequencedDocumentMessage[]>;\n}\n\nexport interface IDocumentStorageServicePolicies {\n readonly caching?: LoaderCachingPolicy;\n\n // If this policy is provided, it tells runtime on ideal size for blobs\n // Blobs that are smaller than that size should be aggregated into bigger blobs\n readonly minBlobSize?: number;\n\n /**\n * This policy tells the runtime that the driver will not use cached snapshots older than this value.\n */\n readonly maximumCacheDurationMs?: number;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n repositoryUrl: string;\n\n /**\n * Policies implemented/instructed by driver.\n */\n readonly policies?: IDocumentStorageServicePolicies;\n\n /**\n * Returns the snapshot tree.\n * @param version - Version of the snapshot to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n /**\n * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n * @param versionId - Version id of the requested version.\n * @param count - Number of the versions to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getVersions(versionId: string | null, count: number, scenarioName?: string): Promise<IVersion[]>;\n\n /**\n * Creates a blob out of the given buffer\n */\n createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n /**\n * Reads the object with the given ID, returns content in arrayBufferLike\n */\n readBlob(id: string): Promise<ArrayBufferLike>;\n\n /**\n * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n * referencing from the previously acked summary.\n * Returns the uploaded summary handle.\n */\n uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n /**\n * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n * server has deleted it this call may result in a broken promise.\n */\n downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n (event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n (event: \"disconnect\", listener: (reason: any) => void);\n (event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n (event: \"signal\", listener: (message: ISignalMessage) => void);\n (event: \"pong\", listener: (latency: number) => void);\n (event: \"error\", listener: (error: any) => void);\n}\n\nexport interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {\n /**\n * ClientID for the connection\n */\n clientId: string;\n\n /**\n * Claims for the client\n */\n claims: ITokenClaims;\n\n /**\n * Mode of the client\n */\n mode: ConnectionMode;\n\n /**\n * Whether the connection was made to a new or existing document\n */\n existing: boolean;\n\n /**\n * Protocol version being used with the service\n */\n version: string;\n\n /**\n * Messages sent during the connection\n */\n initialMessages: ISequencedDocumentMessage[];\n\n /**\n * Signals sent during the connection\n */\n initialSignals: ISignalMessage[];\n\n /**\n * Prior clients already connected.\n */\n initialClients: ISignalClient[];\n\n /**\n * Configuration details provided by the service\n */\n serviceConfiguration: IClientConfiguration;\n\n /**\n * Last known sequence number to ordering service at the time of connection\n * It may lap actual last sequence number (quite a bit, if container is very active).\n * But it's best information for client to figure out how far it is behind, at least\n * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n * that is likely to be more up-to-date.\n */\n checkpointSequenceNumber?: number;\n\n /**\n * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n * it could contain info like build version, environment, region etc. These properties can be logged by client\n * to better understand server environment etc. and use it in case error occurs.\n * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n */\n relayServiceAgent?: string;\n\n /**\n * Submit a new message to the server\n */\n submit(messages: IDocumentMessage[]): void;\n\n /**\n * Submit a new signal to the server\n */\n submitSignal(message: any): void;\n}\n\nexport enum LoaderCachingPolicy {\n /**\n * The loader should not implement any prefetching or caching policy.\n */\n NoCaching,\n\n /**\n * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n */\n Prefetch,\n}\n\nexport interface IDocumentServicePolicies {\n /**\n * Do not connect to delta stream\n */\n readonly storageOnly?: boolean;\n}\n\nexport interface IDocumentService {\n\n resolvedUrl: IResolvedUrl;\n\n /**\n * Policies implemented/instructed by driver.\n */\n policies?: IDocumentServicePolicies;\n\n /**\n * Access to storage associated with the document...\n */\n connectToStorage(): Promise<IDocumentStorageService>;\n\n /**\n * Access to delta storage associated with the document\n */\n connectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n /**\n * Subscribes to the document delta stream\n */\n connectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n /**\n * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n * Useful for storage to commit any pending state if any (including any local caching).\n * Please note that it does not remove the need for caller to close all active delta connections,\n * as storage may not be tracking such objects.\n * @param error - tells if container (and storage) are closed due to critical error.\n * Error might be due to disconnect between client & server knowlege about file, like file being overwritten\n * in storage, but client having stale local cache.\n * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n */\n dispose(error?: any): void;\n}\n\nexport interface IDocumentServiceFactory {\n /**\n * Name of the protocol used by factory\n */\n protocolName: string;\n\n /**\n * Creates the document service after extracting different endpoints URLs from a resolved URL.\n *\n * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n *\n * @returns An instance of {@link IDocumentService}.\n */\n createDocumentService(\n resolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n\n /**\n * Creates a new document with the provided options. Returns the document service.\n *\n * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n * should be posted later, before connecting to ordering service.\n * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n */\n createContainer(\n createNewSummary: ISummaryTree | undefined,\n createNewResolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n */\nexport interface ISummaryContext {\n /**\n * Parent summary proposed handle (from summary op)\n */\n readonly proposalHandle: string | undefined;\n\n /**\n * Parent summary acked handle (from summary ack)\n */\n readonly ackHandle: string | undefined;\n\n readonly referenceSequenceNumber: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0PH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC3B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACZ,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B;AA0GD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACvB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IDisposable, IEventProvider, IErrorEvent, ITelemetryBaseLogger } from \"@fluidframework/common-definitions\";\nimport {\n ConnectionMode,\n IClient,\n IClientConfiguration,\n ICreateBlobResponse,\n IDocumentMessage,\n INack,\n ISequencedDocumentMessage,\n ISignalClient,\n ISignalMessage,\n ISnapshotTree,\n ISummaryHandle,\n ISummaryTree,\n ITokenClaims,\n IVersion,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"./urlResolver\";\n\nexport interface IDeltasFetchResult {\n /**\n * Sequential set of messages starting from 'from' sequence number.\n * May be partial result, i.e. not fulfill original request in full.\n */\n messages: ISequencedDocumentMessage[];\n\n /**\n * If true, storage only partially fulfilled request, but has more ops\n * If false, the request was fulfilled. If less ops were returned then\n * requested, then storage does not have more ops in this range.\n */\n partialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDeltaStorageService {\n /**\n * Retrieves all the delta operations within the inclusive sequence number range\n * @param tenantId - Id of the tenant.\n * @param id - document id.\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n get(\n tenantId: string,\n id: string,\n from: number, // inclusive\n to: number, // exclusive\n fetchReason?: string,\n ): Promise<IDeltasFetchResult>;\n}\n\nexport type IStreamResult<T> = { done: true; } | { done: false; value: T; };\n\n/**\n * Read interface for the Queue\n */\nexport interface IStream<T> {\n read(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n */\nexport interface IDocumentDeltaStorageService {\n /**\n * Retrieves all the delta operations within the exclusive sequence number range\n * @param from - first op to retrieve (inclusive)\n * @param to - first op not to retrieve (exclusive end)\n * @param abortSignal - signal that aborts operation\n * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n * @param fetchReason - Reason for fetching the messages. Example, gap between seq number\n * of Op on wire and known seq number. It should not contain any PII. It can be logged by\n * spo which could help in debugging sessions if any issue occurs.\n */\n fetchMessages(from: number,\n to: number | undefined,\n abortSignal?: AbortSignal,\n cachedOnly?: boolean,\n fetchReason?: string,\n ): IStream<ISequencedDocumentMessage[]>;\n}\n\nexport interface IDocumentStorageServicePolicies {\n readonly caching?: LoaderCachingPolicy;\n\n /**\n * If this policy is provided, it tells runtime on ideal size for blobs.\n * Blobs that are smaller than that size should be aggregated into bigger blobs.\n */\n readonly minBlobSize?: number;\n\n /**\n * This policy tells the runtime that the driver will not use cached snapshots older than this value.\n */\n readonly maximumCacheDurationMs?: number;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n repositoryUrl: string;\n\n /**\n * Policies implemented/instructed by driver.\n */\n readonly policies?: IDocumentStorageServicePolicies;\n\n /**\n * Returns the snapshot tree.\n * @param version - Version of the snapshot to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n */\n getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n /**\n * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n * @param versionId - Version id of the requested version.\n * @param count - Number of the versions to be fetched.\n * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n * in debugging purposes to see why this call was made.\n * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n * from storage.\n */\n getVersions(\n versionId: string | null,\n count: number,\n scenarioName?: string,\n fetchSource?: FetchSource,\n ): Promise<IVersion[]>;\n\n /**\n * Creates a blob out of the given buffer\n */\n createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n /**\n * Reads the object with the given ID, returns content in arrayBufferLike\n */\n readBlob(id: string): Promise<ArrayBufferLike>;\n\n /**\n * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n * referencing from the previously acked summary.\n * Returns the uploaded summary handle.\n */\n uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n /**\n * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n * server has deleted it this call may result in a broken promise.\n */\n downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n (event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n (event: \"disconnect\", listener: (reason: any) => void);\n (event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n (event: \"signal\", listener: (message: ISignalMessage) => void);\n (event: \"pong\", listener: (latency: number) => void);\n (event: \"error\", listener: (error: any) => void);\n}\n\nexport interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {\n /**\n * ClientID for the connection\n */\n clientId: string;\n\n /**\n * Claims for the client\n */\n claims: ITokenClaims;\n\n /**\n * Mode of the client\n */\n mode: ConnectionMode;\n\n /**\n * Whether the connection was made to a new or existing document\n */\n existing: boolean;\n\n /**\n * Protocol version being used with the service\n */\n version: string;\n\n /**\n * Messages sent during the connection\n */\n initialMessages: ISequencedDocumentMessage[];\n\n /**\n * Signals sent during the connection\n */\n initialSignals: ISignalMessage[];\n\n /**\n * Prior clients already connected.\n */\n initialClients: ISignalClient[];\n\n /**\n * Configuration details provided by the service\n */\n serviceConfiguration: IClientConfiguration;\n\n /**\n * Last known sequence number to ordering service at the time of connection\n * It may lap actual last sequence number (quite a bit, if container is very active).\n * But it's best information for client to figure out how far it is behind, at least\n * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n * that is likely to be more up-to-date.\n */\n checkpointSequenceNumber?: number;\n\n /**\n * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n * it could contain info like build version, environment, region etc. These properties can be logged by client\n * to better understand server environment etc. and use it in case error occurs.\n * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n */\n relayServiceAgent?: string;\n\n /**\n * Submit a new message to the server\n */\n submit(messages: IDocumentMessage[]): void;\n\n /**\n * Submit a new signal to the server\n */\n submitSignal(message: any): void;\n}\n\nexport enum LoaderCachingPolicy {\n /**\n * The loader should not implement any prefetching or caching policy.\n */\n NoCaching,\n\n /**\n * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n */\n Prefetch,\n}\n\nexport interface IDocumentServicePolicies {\n /**\n * Do not connect to delta stream\n */\n readonly storageOnly?: boolean;\n}\n\nexport interface IDocumentService {\n\n resolvedUrl: IResolvedUrl;\n\n /**\n * Policies implemented/instructed by driver.\n */\n policies?: IDocumentServicePolicies;\n\n /**\n * Access to storage associated with the document...\n */\n connectToStorage(): Promise<IDocumentStorageService>;\n\n /**\n * Access to delta storage associated with the document\n */\n connectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n /**\n * Subscribes to the document delta stream\n */\n connectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n /**\n * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n * Useful for storage to commit any pending state if any (including any local caching).\n * Please note that it does not remove the need for caller to close all active delta connections,\n * as storage may not be tracking such objects.\n * @param error - tells if container (and storage) are closed due to critical error.\n * Error might be due to disconnect between client & server knowlege about file, like file being overwritten\n * in storage, but client having stale local cache.\n * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n */\n dispose(error?: any): void;\n}\n\nexport interface IDocumentServiceFactory {\n /**\n * Name of the protocol used by factory\n */\n protocolName: string;\n\n /**\n * Creates the document service after extracting different endpoints URLs from a resolved URL.\n *\n * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n *\n * @returns An instance of {@link IDocumentService}.\n */\n createDocumentService(\n resolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n\n /**\n * Creates a new document with the provided options. Returns the document service.\n *\n * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n * should be posted later, before connecting to ordering service.\n * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n * @param clientIsSummarizer - Whether or not the client is the\n * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n * `undefined` =\\> false\n */\n createContainer(\n createNewSummary: ISummaryTree | undefined,\n createNewResolvedUrl: IResolvedUrl,\n logger?: ITelemetryBaseLogger,\n clientIsSummarizer?: boolean,\n ): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n */\nexport interface ISummaryContext {\n /**\n * Parent summary proposed handle (from summary op)\n */\n readonly proposalHandle: string | undefined;\n\n /**\n * Parent summary acked handle (from summary ack)\n */\n readonly ackHandle: string | undefined;\n\n readonly referenceSequenceNumber: number;\n}\n\nexport enum FetchSource {\n default = \"default\",\n noCache = \"noCache\",\n}\n"]}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
use_current_TypeAliasDeclaration_DriverError(get_old_TypeAliasDeclaration_DriverError());
|
|
2
|
-
use_old_TypeAliasDeclaration_DriverError(
|
|
2
|
+
use_old_TypeAliasDeclaration_DriverError(
|
|
3
|
+
// @ts-expect-error compatibility expected to be broken
|
|
4
|
+
get_current_TypeAliasDeclaration_DriverError());
|
|
3
5
|
use_current_EnumDeclaration_DriverErrorType(get_old_EnumDeclaration_DriverErrorType());
|
|
4
|
-
use_old_EnumDeclaration_DriverErrorType(
|
|
6
|
+
use_old_EnumDeclaration_DriverErrorType(
|
|
7
|
+
// @ts-expect-error compatibility expected to be broken
|
|
8
|
+
get_current_EnumDeclaration_DriverErrorType());
|
|
5
9
|
use_current_EnumDeclaration_DriverHeader(get_old_EnumDeclaration_DriverHeader());
|
|
6
10
|
use_old_EnumDeclaration_DriverHeader(get_current_EnumDeclaration_DriverHeader());
|
|
7
11
|
use_current_InterfaceDeclaration_DriverPreCheckInfo(get_old_InterfaceDeclaration_DriverPreCheckInfo());
|
|
8
12
|
use_old_InterfaceDeclaration_DriverPreCheckInfo(get_current_InterfaceDeclaration_DriverPreCheckInfo());
|
|
9
13
|
use_current_InterfaceDeclaration_IAuthorizationError(get_old_InterfaceDeclaration_IAuthorizationError());
|
|
10
|
-
use_old_InterfaceDeclaration_IAuthorizationError(
|
|
14
|
+
use_old_InterfaceDeclaration_IAuthorizationError(
|
|
15
|
+
// @ts-expect-error compatibility expected to be broken
|
|
16
|
+
get_current_InterfaceDeclaration_IAuthorizationError());
|
|
11
17
|
use_current_InterfaceDeclaration_IContainerPackageInfo(get_old_InterfaceDeclaration_IContainerPackageInfo());
|
|
12
18
|
use_old_InterfaceDeclaration_IContainerPackageInfo(get_current_InterfaceDeclaration_IContainerPackageInfo());
|
|
13
19
|
use_current_InterfaceDeclaration_IDeltasFetchResult(get_old_InterfaceDeclaration_IDeltasFetchResult());
|
|
@@ -15,7 +21,9 @@ use_old_InterfaceDeclaration_IDeltasFetchResult(get_current_InterfaceDeclaration
|
|
|
15
21
|
use_current_InterfaceDeclaration_IDeltaStorageService(get_old_InterfaceDeclaration_IDeltaStorageService());
|
|
16
22
|
use_old_InterfaceDeclaration_IDeltaStorageService(get_current_InterfaceDeclaration_IDeltaStorageService());
|
|
17
23
|
use_current_InterfaceDeclaration_IDocumentDeltaConnection(get_old_InterfaceDeclaration_IDocumentDeltaConnection());
|
|
18
|
-
use_old_InterfaceDeclaration_IDocumentDeltaConnection(
|
|
24
|
+
use_old_InterfaceDeclaration_IDocumentDeltaConnection(
|
|
25
|
+
// @ts-expect-error compatibility expected to be broken
|
|
26
|
+
get_current_InterfaceDeclaration_IDocumentDeltaConnection());
|
|
19
27
|
use_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents(get_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents());
|
|
20
28
|
use_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents(get_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents());
|
|
21
29
|
use_current_InterfaceDeclaration_IDocumentDeltaStorageService(get_old_InterfaceDeclaration_IDocumentDeltaStorageService());
|
|
@@ -31,17 +39,25 @@ use_old_InterfaceDeclaration_IDocumentStorageService(get_current_InterfaceDeclar
|
|
|
31
39
|
use_current_InterfaceDeclaration_IDocumentStorageServicePolicies(get_old_InterfaceDeclaration_IDocumentStorageServicePolicies());
|
|
32
40
|
use_old_InterfaceDeclaration_IDocumentStorageServicePolicies(get_current_InterfaceDeclaration_IDocumentStorageServicePolicies());
|
|
33
41
|
use_current_InterfaceDeclaration_IDriverBasicError(get_old_InterfaceDeclaration_IDriverBasicError());
|
|
34
|
-
use_old_InterfaceDeclaration_IDriverBasicError(
|
|
42
|
+
use_old_InterfaceDeclaration_IDriverBasicError(
|
|
43
|
+
// @ts-expect-error compatibility expected to be broken
|
|
44
|
+
get_current_InterfaceDeclaration_IDriverBasicError());
|
|
35
45
|
use_current_InterfaceDeclaration_IDriverErrorBase(get_old_InterfaceDeclaration_IDriverErrorBase());
|
|
36
|
-
use_old_InterfaceDeclaration_IDriverErrorBase(
|
|
46
|
+
use_old_InterfaceDeclaration_IDriverErrorBase(
|
|
47
|
+
// @ts-expect-error compatibility expected to be broken
|
|
48
|
+
get_current_InterfaceDeclaration_IDriverErrorBase());
|
|
37
49
|
use_current_InterfaceDeclaration_IDriverHeader(get_old_InterfaceDeclaration_IDriverHeader());
|
|
38
50
|
use_old_InterfaceDeclaration_IDriverHeader(get_current_InterfaceDeclaration_IDriverHeader());
|
|
39
51
|
use_current_InterfaceDeclaration_IFluidResolvedUrl(get_old_InterfaceDeclaration_IFluidResolvedUrl());
|
|
40
52
|
use_old_InterfaceDeclaration_IFluidResolvedUrl(get_current_InterfaceDeclaration_IFluidResolvedUrl());
|
|
41
53
|
use_current_InterfaceDeclaration_IGenericNetworkError(get_old_InterfaceDeclaration_IGenericNetworkError());
|
|
42
|
-
use_old_InterfaceDeclaration_IGenericNetworkError(
|
|
54
|
+
use_old_InterfaceDeclaration_IGenericNetworkError(
|
|
55
|
+
// @ts-expect-error compatibility expected to be broken
|
|
56
|
+
get_current_InterfaceDeclaration_IGenericNetworkError());
|
|
43
57
|
use_current_InterfaceDeclaration_ILocationRedirectionError(get_old_InterfaceDeclaration_ILocationRedirectionError());
|
|
44
|
-
use_old_InterfaceDeclaration_ILocationRedirectionError(
|
|
58
|
+
use_old_InterfaceDeclaration_ILocationRedirectionError(
|
|
59
|
+
// @ts-expect-error compatibility expected to be broken
|
|
60
|
+
get_current_InterfaceDeclaration_ILocationRedirectionError());
|
|
45
61
|
use_current_TypeAliasDeclaration_IResolvedUrl(get_old_TypeAliasDeclaration_IResolvedUrl());
|
|
46
62
|
use_old_TypeAliasDeclaration_IResolvedUrl(get_current_TypeAliasDeclaration_IResolvedUrl());
|
|
47
63
|
use_current_InterfaceDeclaration_IResolvedUrlBase(get_old_InterfaceDeclaration_IResolvedUrlBase());
|
|
@@ -53,7 +69,9 @@ use_old_TypeAliasDeclaration_IStreamResult(get_current_TypeAliasDeclaration_IStr
|
|
|
53
69
|
use_current_InterfaceDeclaration_ISummaryContext(get_old_InterfaceDeclaration_ISummaryContext());
|
|
54
70
|
use_old_InterfaceDeclaration_ISummaryContext(get_current_InterfaceDeclaration_ISummaryContext());
|
|
55
71
|
use_current_InterfaceDeclaration_IThrottlingWarning(get_old_InterfaceDeclaration_IThrottlingWarning());
|
|
56
|
-
use_old_InterfaceDeclaration_IThrottlingWarning(
|
|
72
|
+
use_old_InterfaceDeclaration_IThrottlingWarning(
|
|
73
|
+
// @ts-expect-error compatibility expected to be broken
|
|
74
|
+
get_current_InterfaceDeclaration_IThrottlingWarning());
|
|
57
75
|
use_current_InterfaceDeclaration_IUrlResolver(get_old_InterfaceDeclaration_IUrlResolver());
|
|
58
76
|
use_old_InterfaceDeclaration_IUrlResolver(get_current_InterfaceDeclaration_IUrlResolver());
|
|
59
77
|
use_current_InterfaceDeclaration_IWebResolvedUrl(get_old_InterfaceDeclaration_IWebResolvedUrl());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateDriverDefinitionsPrevious.js","sourceRoot":"","sources":["../../../src/test/types/validateDriverDefinitionsPrevious.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/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by fluid-type-validator in @fluidframework/build-tools.\n */\nimport * as old from \"@fluidframework/driver-definitions-previous\";\nimport * as current from \"../../index\";\n\ntype TypeOnly<T> = {\n [P in keyof T]: TypeOnly<T[P]>;\n};\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* \"TypeAliasDeclaration_DriverError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_DriverError():\n TypeOnly<old.DriverError>;\ndeclare function use_current_TypeAliasDeclaration_DriverError(\n use: TypeOnly<current.DriverError>);\nuse_current_TypeAliasDeclaration_DriverError(\n get_old_TypeAliasDeclaration_DriverError());\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* \"TypeAliasDeclaration_DriverError\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_DriverError():\n TypeOnly<current.DriverError>;\ndeclare function use_old_TypeAliasDeclaration_DriverError(\n use: TypeOnly<old.DriverError>);\nuse_old_TypeAliasDeclaration_DriverError(\n get_current_TypeAliasDeclaration_DriverError());\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* \"EnumDeclaration_DriverErrorType\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_DriverErrorType():\n TypeOnly<old.DriverErrorType>;\ndeclare function use_current_EnumDeclaration_DriverErrorType(\n use: TypeOnly<current.DriverErrorType>);\nuse_current_EnumDeclaration_DriverErrorType(\n get_old_EnumDeclaration_DriverErrorType());\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* \"EnumDeclaration_DriverErrorType\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_DriverErrorType():\n TypeOnly<current.DriverErrorType>;\ndeclare function use_old_EnumDeclaration_DriverErrorType(\n use: TypeOnly<old.DriverErrorType>);\nuse_old_EnumDeclaration_DriverErrorType(\n get_current_EnumDeclaration_DriverErrorType());\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* \"EnumDeclaration_DriverHeader\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_DriverHeader():\n TypeOnly<old.DriverHeader>;\ndeclare function use_current_EnumDeclaration_DriverHeader(\n use: TypeOnly<current.DriverHeader>);\nuse_current_EnumDeclaration_DriverHeader(\n get_old_EnumDeclaration_DriverHeader());\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* \"EnumDeclaration_DriverHeader\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_DriverHeader():\n TypeOnly<current.DriverHeader>;\ndeclare function use_old_EnumDeclaration_DriverHeader(\n use: TypeOnly<old.DriverHeader>);\nuse_old_EnumDeclaration_DriverHeader(\n get_current_EnumDeclaration_DriverHeader());\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_DriverPreCheckInfo\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_DriverPreCheckInfo():\n TypeOnly<old.DriverPreCheckInfo>;\ndeclare function use_current_InterfaceDeclaration_DriverPreCheckInfo(\n use: TypeOnly<current.DriverPreCheckInfo>);\nuse_current_InterfaceDeclaration_DriverPreCheckInfo(\n get_old_InterfaceDeclaration_DriverPreCheckInfo());\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_DriverPreCheckInfo\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_DriverPreCheckInfo():\n TypeOnly<current.DriverPreCheckInfo>;\ndeclare function use_old_InterfaceDeclaration_DriverPreCheckInfo(\n use: TypeOnly<old.DriverPreCheckInfo>);\nuse_old_InterfaceDeclaration_DriverPreCheckInfo(\n get_current_InterfaceDeclaration_DriverPreCheckInfo());\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_IAuthorizationError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IAuthorizationError():\n TypeOnly<old.IAuthorizationError>;\ndeclare function use_current_InterfaceDeclaration_IAuthorizationError(\n use: TypeOnly<current.IAuthorizationError>);\nuse_current_InterfaceDeclaration_IAuthorizationError(\n get_old_InterfaceDeclaration_IAuthorizationError());\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_IAuthorizationError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IAuthorizationError():\n TypeOnly<current.IAuthorizationError>;\ndeclare function use_old_InterfaceDeclaration_IAuthorizationError(\n use: TypeOnly<old.IAuthorizationError>);\nuse_old_InterfaceDeclaration_IAuthorizationError(\n get_current_InterfaceDeclaration_IAuthorizationError());\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_IContainerPackageInfo\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IContainerPackageInfo():\n TypeOnly<old.IContainerPackageInfo>;\ndeclare function use_current_InterfaceDeclaration_IContainerPackageInfo(\n use: TypeOnly<current.IContainerPackageInfo>);\nuse_current_InterfaceDeclaration_IContainerPackageInfo(\n get_old_InterfaceDeclaration_IContainerPackageInfo());\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_IContainerPackageInfo\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IContainerPackageInfo():\n TypeOnly<current.IContainerPackageInfo>;\ndeclare function use_old_InterfaceDeclaration_IContainerPackageInfo(\n use: TypeOnly<old.IContainerPackageInfo>);\nuse_old_InterfaceDeclaration_IContainerPackageInfo(\n get_current_InterfaceDeclaration_IContainerPackageInfo());\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_IDeltasFetchResult\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDeltasFetchResult():\n TypeOnly<old.IDeltasFetchResult>;\ndeclare function use_current_InterfaceDeclaration_IDeltasFetchResult(\n use: TypeOnly<current.IDeltasFetchResult>);\nuse_current_InterfaceDeclaration_IDeltasFetchResult(\n get_old_InterfaceDeclaration_IDeltasFetchResult());\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_IDeltasFetchResult\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDeltasFetchResult():\n TypeOnly<current.IDeltasFetchResult>;\ndeclare function use_old_InterfaceDeclaration_IDeltasFetchResult(\n use: TypeOnly<old.IDeltasFetchResult>);\nuse_old_InterfaceDeclaration_IDeltasFetchResult(\n get_current_InterfaceDeclaration_IDeltasFetchResult());\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_IDeltaStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDeltaStorageService():\n TypeOnly<old.IDeltaStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDeltaStorageService(\n use: TypeOnly<current.IDeltaStorageService>);\nuse_current_InterfaceDeclaration_IDeltaStorageService(\n get_old_InterfaceDeclaration_IDeltaStorageService());\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_IDeltaStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDeltaStorageService():\n TypeOnly<current.IDeltaStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDeltaStorageService(\n use: TypeOnly<old.IDeltaStorageService>);\nuse_old_InterfaceDeclaration_IDeltaStorageService(\n get_current_InterfaceDeclaration_IDeltaStorageService());\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_IDocumentDeltaConnection\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaConnection():\n TypeOnly<old.IDocumentDeltaConnection>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaConnection(\n use: TypeOnly<current.IDocumentDeltaConnection>);\nuse_current_InterfaceDeclaration_IDocumentDeltaConnection(\n get_old_InterfaceDeclaration_IDocumentDeltaConnection());\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_IDocumentDeltaConnection\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaConnection():\n TypeOnly<current.IDocumentDeltaConnection>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaConnection(\n use: TypeOnly<old.IDocumentDeltaConnection>);\nuse_old_InterfaceDeclaration_IDocumentDeltaConnection(\n get_current_InterfaceDeclaration_IDocumentDeltaConnection());\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_IDocumentDeltaConnectionEvents\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents():\n TypeOnly<old.IDocumentDeltaConnectionEvents>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n use: TypeOnly<current.IDocumentDeltaConnectionEvents>);\nuse_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n get_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents());\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_IDocumentDeltaConnectionEvents\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents():\n TypeOnly<current.IDocumentDeltaConnectionEvents>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n use: TypeOnly<old.IDocumentDeltaConnectionEvents>);\nuse_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n get_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents());\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_IDocumentDeltaStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaStorageService():\n TypeOnly<old.IDocumentDeltaStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaStorageService(\n use: TypeOnly<current.IDocumentDeltaStorageService>);\nuse_current_InterfaceDeclaration_IDocumentDeltaStorageService(\n get_old_InterfaceDeclaration_IDocumentDeltaStorageService());\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_IDocumentDeltaStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaStorageService():\n TypeOnly<current.IDocumentDeltaStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaStorageService(\n use: TypeOnly<old.IDocumentDeltaStorageService>);\nuse_old_InterfaceDeclaration_IDocumentDeltaStorageService(\n get_current_InterfaceDeclaration_IDocumentDeltaStorageService());\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_IDocumentService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentService():\n TypeOnly<old.IDocumentService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentService(\n use: TypeOnly<current.IDocumentService>);\nuse_current_InterfaceDeclaration_IDocumentService(\n get_old_InterfaceDeclaration_IDocumentService());\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_IDocumentService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentService():\n TypeOnly<current.IDocumentService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentService(\n use: TypeOnly<old.IDocumentService>);\nuse_old_InterfaceDeclaration_IDocumentService(\n get_current_InterfaceDeclaration_IDocumentService());\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_IDocumentServiceFactory\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentServiceFactory():\n TypeOnly<old.IDocumentServiceFactory>;\ndeclare function use_current_InterfaceDeclaration_IDocumentServiceFactory(\n use: TypeOnly<current.IDocumentServiceFactory>);\nuse_current_InterfaceDeclaration_IDocumentServiceFactory(\n get_old_InterfaceDeclaration_IDocumentServiceFactory());\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_IDocumentServiceFactory\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentServiceFactory():\n TypeOnly<current.IDocumentServiceFactory>;\ndeclare function use_old_InterfaceDeclaration_IDocumentServiceFactory(\n use: TypeOnly<old.IDocumentServiceFactory>);\nuse_old_InterfaceDeclaration_IDocumentServiceFactory(\n get_current_InterfaceDeclaration_IDocumentServiceFactory());\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_IDocumentServicePolicies\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentServicePolicies():\n TypeOnly<old.IDocumentServicePolicies>;\ndeclare function use_current_InterfaceDeclaration_IDocumentServicePolicies(\n use: TypeOnly<current.IDocumentServicePolicies>);\nuse_current_InterfaceDeclaration_IDocumentServicePolicies(\n get_old_InterfaceDeclaration_IDocumentServicePolicies());\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_IDocumentServicePolicies\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentServicePolicies():\n TypeOnly<current.IDocumentServicePolicies>;\ndeclare function use_old_InterfaceDeclaration_IDocumentServicePolicies(\n use: TypeOnly<old.IDocumentServicePolicies>);\nuse_old_InterfaceDeclaration_IDocumentServicePolicies(\n get_current_InterfaceDeclaration_IDocumentServicePolicies());\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_IDocumentStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentStorageService():\n TypeOnly<old.IDocumentStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentStorageService(\n use: TypeOnly<current.IDocumentStorageService>);\nuse_current_InterfaceDeclaration_IDocumentStorageService(\n get_old_InterfaceDeclaration_IDocumentStorageService());\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_IDocumentStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentStorageService():\n TypeOnly<current.IDocumentStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentStorageService(\n use: TypeOnly<old.IDocumentStorageService>);\nuse_old_InterfaceDeclaration_IDocumentStorageService(\n get_current_InterfaceDeclaration_IDocumentStorageService());\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_IDocumentStorageServicePolicies\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentStorageServicePolicies():\n TypeOnly<old.IDocumentStorageServicePolicies>;\ndeclare function use_current_InterfaceDeclaration_IDocumentStorageServicePolicies(\n use: TypeOnly<current.IDocumentStorageServicePolicies>);\nuse_current_InterfaceDeclaration_IDocumentStorageServicePolicies(\n get_old_InterfaceDeclaration_IDocumentStorageServicePolicies());\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_IDocumentStorageServicePolicies\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentStorageServicePolicies():\n TypeOnly<current.IDocumentStorageServicePolicies>;\ndeclare function use_old_InterfaceDeclaration_IDocumentStorageServicePolicies(\n use: TypeOnly<old.IDocumentStorageServicePolicies>);\nuse_old_InterfaceDeclaration_IDocumentStorageServicePolicies(\n get_current_InterfaceDeclaration_IDocumentStorageServicePolicies());\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_IDriverBasicError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverBasicError():\n TypeOnly<old.IDriverBasicError>;\ndeclare function use_current_InterfaceDeclaration_IDriverBasicError(\n use: TypeOnly<current.IDriverBasicError>);\nuse_current_InterfaceDeclaration_IDriverBasicError(\n get_old_InterfaceDeclaration_IDriverBasicError());\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_IDriverBasicError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverBasicError():\n TypeOnly<current.IDriverBasicError>;\ndeclare function use_old_InterfaceDeclaration_IDriverBasicError(\n use: TypeOnly<old.IDriverBasicError>);\nuse_old_InterfaceDeclaration_IDriverBasicError(\n get_current_InterfaceDeclaration_IDriverBasicError());\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_IDriverErrorBase\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverErrorBase():\n TypeOnly<old.IDriverErrorBase>;\ndeclare function use_current_InterfaceDeclaration_IDriverErrorBase(\n use: TypeOnly<current.IDriverErrorBase>);\nuse_current_InterfaceDeclaration_IDriverErrorBase(\n get_old_InterfaceDeclaration_IDriverErrorBase());\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_IDriverErrorBase\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverErrorBase():\n TypeOnly<current.IDriverErrorBase>;\ndeclare function use_old_InterfaceDeclaration_IDriverErrorBase(\n use: TypeOnly<old.IDriverErrorBase>);\nuse_old_InterfaceDeclaration_IDriverErrorBase(\n get_current_InterfaceDeclaration_IDriverErrorBase());\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_IDriverHeader\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverHeader():\n TypeOnly<old.IDriverHeader>;\ndeclare function use_current_InterfaceDeclaration_IDriverHeader(\n use: TypeOnly<current.IDriverHeader>);\nuse_current_InterfaceDeclaration_IDriverHeader(\n get_old_InterfaceDeclaration_IDriverHeader());\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_IDriverHeader\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverHeader():\n TypeOnly<current.IDriverHeader>;\ndeclare function use_old_InterfaceDeclaration_IDriverHeader(\n use: TypeOnly<old.IDriverHeader>);\nuse_old_InterfaceDeclaration_IDriverHeader(\n get_current_InterfaceDeclaration_IDriverHeader());\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_IFluidResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IFluidResolvedUrl():\n TypeOnly<old.IFluidResolvedUrl>;\ndeclare function use_current_InterfaceDeclaration_IFluidResolvedUrl(\n use: TypeOnly<current.IFluidResolvedUrl>);\nuse_current_InterfaceDeclaration_IFluidResolvedUrl(\n get_old_InterfaceDeclaration_IFluidResolvedUrl());\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_IFluidResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IFluidResolvedUrl():\n TypeOnly<current.IFluidResolvedUrl>;\ndeclare function use_old_InterfaceDeclaration_IFluidResolvedUrl(\n use: TypeOnly<old.IFluidResolvedUrl>);\nuse_old_InterfaceDeclaration_IFluidResolvedUrl(\n get_current_InterfaceDeclaration_IFluidResolvedUrl());\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_IGenericNetworkError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IGenericNetworkError():\n TypeOnly<old.IGenericNetworkError>;\ndeclare function use_current_InterfaceDeclaration_IGenericNetworkError(\n use: TypeOnly<current.IGenericNetworkError>);\nuse_current_InterfaceDeclaration_IGenericNetworkError(\n get_old_InterfaceDeclaration_IGenericNetworkError());\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_IGenericNetworkError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IGenericNetworkError():\n TypeOnly<current.IGenericNetworkError>;\ndeclare function use_old_InterfaceDeclaration_IGenericNetworkError(\n use: TypeOnly<old.IGenericNetworkError>);\nuse_old_InterfaceDeclaration_IGenericNetworkError(\n get_current_InterfaceDeclaration_IGenericNetworkError());\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_ILocationRedirectionError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_ILocationRedirectionError():\n TypeOnly<old.ILocationRedirectionError>;\ndeclare function use_current_InterfaceDeclaration_ILocationRedirectionError(\n use: TypeOnly<current.ILocationRedirectionError>);\nuse_current_InterfaceDeclaration_ILocationRedirectionError(\n get_old_InterfaceDeclaration_ILocationRedirectionError());\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_ILocationRedirectionError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_ILocationRedirectionError():\n TypeOnly<current.ILocationRedirectionError>;\ndeclare function use_old_InterfaceDeclaration_ILocationRedirectionError(\n use: TypeOnly<old.ILocationRedirectionError>);\nuse_old_InterfaceDeclaration_ILocationRedirectionError(\n get_current_InterfaceDeclaration_ILocationRedirectionError());\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* \"TypeAliasDeclaration_IResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_IResolvedUrl():\n TypeOnly<old.IResolvedUrl>;\ndeclare function use_current_TypeAliasDeclaration_IResolvedUrl(\n use: TypeOnly<current.IResolvedUrl>);\nuse_current_TypeAliasDeclaration_IResolvedUrl(\n get_old_TypeAliasDeclaration_IResolvedUrl());\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* \"TypeAliasDeclaration_IResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_IResolvedUrl():\n TypeOnly<current.IResolvedUrl>;\ndeclare function use_old_TypeAliasDeclaration_IResolvedUrl(\n use: TypeOnly<old.IResolvedUrl>);\nuse_old_TypeAliasDeclaration_IResolvedUrl(\n get_current_TypeAliasDeclaration_IResolvedUrl());\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_IResolvedUrlBase\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IResolvedUrlBase():\n TypeOnly<old.IResolvedUrlBase>;\ndeclare function use_current_InterfaceDeclaration_IResolvedUrlBase(\n use: TypeOnly<current.IResolvedUrlBase>);\nuse_current_InterfaceDeclaration_IResolvedUrlBase(\n get_old_InterfaceDeclaration_IResolvedUrlBase());\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_IResolvedUrlBase\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IResolvedUrlBase():\n TypeOnly<current.IResolvedUrlBase>;\ndeclare function use_old_InterfaceDeclaration_IResolvedUrlBase(\n use: TypeOnly<old.IResolvedUrlBase>);\nuse_old_InterfaceDeclaration_IResolvedUrlBase(\n get_current_InterfaceDeclaration_IResolvedUrlBase());\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_IStream\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IStream():\n TypeOnly<old.IStream<any>>;\ndeclare function use_current_InterfaceDeclaration_IStream(\n use: TypeOnly<current.IStream<any>>);\nuse_current_InterfaceDeclaration_IStream(\n get_old_InterfaceDeclaration_IStream());\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_IStream\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IStream():\n TypeOnly<current.IStream<any>>;\ndeclare function use_old_InterfaceDeclaration_IStream(\n use: TypeOnly<old.IStream<any>>);\nuse_old_InterfaceDeclaration_IStream(\n get_current_InterfaceDeclaration_IStream());\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* \"TypeAliasDeclaration_IStreamResult\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_IStreamResult():\n TypeOnly<old.IStreamResult<any>>;\ndeclare function use_current_TypeAliasDeclaration_IStreamResult(\n use: TypeOnly<current.IStreamResult<any>>);\nuse_current_TypeAliasDeclaration_IStreamResult(\n get_old_TypeAliasDeclaration_IStreamResult());\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* \"TypeAliasDeclaration_IStreamResult\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_IStreamResult():\n TypeOnly<current.IStreamResult<any>>;\ndeclare function use_old_TypeAliasDeclaration_IStreamResult(\n use: TypeOnly<old.IStreamResult<any>>);\nuse_old_TypeAliasDeclaration_IStreamResult(\n get_current_TypeAliasDeclaration_IStreamResult());\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_ISummaryContext\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_ISummaryContext():\n TypeOnly<old.ISummaryContext>;\ndeclare function use_current_InterfaceDeclaration_ISummaryContext(\n use: TypeOnly<current.ISummaryContext>);\nuse_current_InterfaceDeclaration_ISummaryContext(\n get_old_InterfaceDeclaration_ISummaryContext());\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_ISummaryContext\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_ISummaryContext():\n TypeOnly<current.ISummaryContext>;\ndeclare function use_old_InterfaceDeclaration_ISummaryContext(\n use: TypeOnly<old.ISummaryContext>);\nuse_old_InterfaceDeclaration_ISummaryContext(\n get_current_InterfaceDeclaration_ISummaryContext());\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_IThrottlingWarning\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IThrottlingWarning():\n TypeOnly<old.IThrottlingWarning>;\ndeclare function use_current_InterfaceDeclaration_IThrottlingWarning(\n use: TypeOnly<current.IThrottlingWarning>);\nuse_current_InterfaceDeclaration_IThrottlingWarning(\n get_old_InterfaceDeclaration_IThrottlingWarning());\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_IThrottlingWarning\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IThrottlingWarning():\n TypeOnly<current.IThrottlingWarning>;\ndeclare function use_old_InterfaceDeclaration_IThrottlingWarning(\n use: TypeOnly<old.IThrottlingWarning>);\nuse_old_InterfaceDeclaration_IThrottlingWarning(\n get_current_InterfaceDeclaration_IThrottlingWarning());\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_IUrlResolver\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IUrlResolver():\n TypeOnly<old.IUrlResolver>;\ndeclare function use_current_InterfaceDeclaration_IUrlResolver(\n use: TypeOnly<current.IUrlResolver>);\nuse_current_InterfaceDeclaration_IUrlResolver(\n get_old_InterfaceDeclaration_IUrlResolver());\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_IUrlResolver\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IUrlResolver():\n TypeOnly<current.IUrlResolver>;\ndeclare function use_old_InterfaceDeclaration_IUrlResolver(\n use: TypeOnly<old.IUrlResolver>);\nuse_old_InterfaceDeclaration_IUrlResolver(\n get_current_InterfaceDeclaration_IUrlResolver());\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_IWebResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IWebResolvedUrl():\n TypeOnly<old.IWebResolvedUrl>;\ndeclare function use_current_InterfaceDeclaration_IWebResolvedUrl(\n use: TypeOnly<current.IWebResolvedUrl>);\nuse_current_InterfaceDeclaration_IWebResolvedUrl(\n get_old_InterfaceDeclaration_IWebResolvedUrl());\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_IWebResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IWebResolvedUrl():\n TypeOnly<current.IWebResolvedUrl>;\ndeclare function use_old_InterfaceDeclaration_IWebResolvedUrl(\n use: TypeOnly<old.IWebResolvedUrl>);\nuse_old_InterfaceDeclaration_IWebResolvedUrl(\n get_current_InterfaceDeclaration_IWebResolvedUrl());\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* \"EnumDeclaration_LoaderCachingPolicy\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_LoaderCachingPolicy():\n TypeOnly<old.LoaderCachingPolicy>;\ndeclare function use_current_EnumDeclaration_LoaderCachingPolicy(\n use: TypeOnly<current.LoaderCachingPolicy>);\nuse_current_EnumDeclaration_LoaderCachingPolicy(\n get_old_EnumDeclaration_LoaderCachingPolicy());\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* \"EnumDeclaration_LoaderCachingPolicy\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_LoaderCachingPolicy():\n TypeOnly<current.LoaderCachingPolicy>;\ndeclare function use_old_EnumDeclaration_LoaderCachingPolicy(\n use: TypeOnly<old.LoaderCachingPolicy>);\nuse_old_EnumDeclaration_LoaderCachingPolicy(\n get_current_EnumDeclaration_LoaderCachingPolicy());\n"]}
|
|
1
|
+
{"version":3,"file":"validateDriverDefinitionsPrevious.js","sourceRoot":"","sources":["../../../src/test/types/validateDriverDefinitionsPrevious.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/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by fluid-type-validator in @fluidframework/build-tools.\n */\nimport * as old from \"@fluidframework/driver-definitions-previous\";\nimport * as current from \"../../index\";\n\ntype TypeOnly<T> = {\n [P in keyof T]: TypeOnly<T[P]>;\n};\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* \"TypeAliasDeclaration_DriverError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_DriverError():\n TypeOnly<old.DriverError>;\ndeclare function use_current_TypeAliasDeclaration_DriverError(\n use: TypeOnly<current.DriverError>);\nuse_current_TypeAliasDeclaration_DriverError(\n get_old_TypeAliasDeclaration_DriverError());\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* \"TypeAliasDeclaration_DriverError\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_DriverError():\n TypeOnly<current.DriverError>;\ndeclare function use_old_TypeAliasDeclaration_DriverError(\n use: TypeOnly<old.DriverError>);\nuse_old_TypeAliasDeclaration_DriverError(\n // @ts-expect-error compatibility expected to be broken\n get_current_TypeAliasDeclaration_DriverError());\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* \"EnumDeclaration_DriverErrorType\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_DriverErrorType():\n TypeOnly<old.DriverErrorType>;\ndeclare function use_current_EnumDeclaration_DriverErrorType(\n use: TypeOnly<current.DriverErrorType>);\nuse_current_EnumDeclaration_DriverErrorType(\n get_old_EnumDeclaration_DriverErrorType());\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* \"EnumDeclaration_DriverErrorType\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_DriverErrorType():\n TypeOnly<current.DriverErrorType>;\ndeclare function use_old_EnumDeclaration_DriverErrorType(\n use: TypeOnly<old.DriverErrorType>);\nuse_old_EnumDeclaration_DriverErrorType(\n // @ts-expect-error compatibility expected to be broken\n get_current_EnumDeclaration_DriverErrorType());\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* \"EnumDeclaration_DriverHeader\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_DriverHeader():\n TypeOnly<old.DriverHeader>;\ndeclare function use_current_EnumDeclaration_DriverHeader(\n use: TypeOnly<current.DriverHeader>);\nuse_current_EnumDeclaration_DriverHeader(\n get_old_EnumDeclaration_DriverHeader());\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* \"EnumDeclaration_DriverHeader\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_DriverHeader():\n TypeOnly<current.DriverHeader>;\ndeclare function use_old_EnumDeclaration_DriverHeader(\n use: TypeOnly<old.DriverHeader>);\nuse_old_EnumDeclaration_DriverHeader(\n get_current_EnumDeclaration_DriverHeader());\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_DriverPreCheckInfo\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_DriverPreCheckInfo():\n TypeOnly<old.DriverPreCheckInfo>;\ndeclare function use_current_InterfaceDeclaration_DriverPreCheckInfo(\n use: TypeOnly<current.DriverPreCheckInfo>);\nuse_current_InterfaceDeclaration_DriverPreCheckInfo(\n get_old_InterfaceDeclaration_DriverPreCheckInfo());\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_DriverPreCheckInfo\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_DriverPreCheckInfo():\n TypeOnly<current.DriverPreCheckInfo>;\ndeclare function use_old_InterfaceDeclaration_DriverPreCheckInfo(\n use: TypeOnly<old.DriverPreCheckInfo>);\nuse_old_InterfaceDeclaration_DriverPreCheckInfo(\n get_current_InterfaceDeclaration_DriverPreCheckInfo());\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_IAuthorizationError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IAuthorizationError():\n TypeOnly<old.IAuthorizationError>;\ndeclare function use_current_InterfaceDeclaration_IAuthorizationError(\n use: TypeOnly<current.IAuthorizationError>);\nuse_current_InterfaceDeclaration_IAuthorizationError(\n get_old_InterfaceDeclaration_IAuthorizationError());\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_IAuthorizationError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IAuthorizationError():\n TypeOnly<current.IAuthorizationError>;\ndeclare function use_old_InterfaceDeclaration_IAuthorizationError(\n use: TypeOnly<old.IAuthorizationError>);\nuse_old_InterfaceDeclaration_IAuthorizationError(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IAuthorizationError());\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_IContainerPackageInfo\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IContainerPackageInfo():\n TypeOnly<old.IContainerPackageInfo>;\ndeclare function use_current_InterfaceDeclaration_IContainerPackageInfo(\n use: TypeOnly<current.IContainerPackageInfo>);\nuse_current_InterfaceDeclaration_IContainerPackageInfo(\n get_old_InterfaceDeclaration_IContainerPackageInfo());\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_IContainerPackageInfo\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IContainerPackageInfo():\n TypeOnly<current.IContainerPackageInfo>;\ndeclare function use_old_InterfaceDeclaration_IContainerPackageInfo(\n use: TypeOnly<old.IContainerPackageInfo>);\nuse_old_InterfaceDeclaration_IContainerPackageInfo(\n get_current_InterfaceDeclaration_IContainerPackageInfo());\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_IDeltasFetchResult\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDeltasFetchResult():\n TypeOnly<old.IDeltasFetchResult>;\ndeclare function use_current_InterfaceDeclaration_IDeltasFetchResult(\n use: TypeOnly<current.IDeltasFetchResult>);\nuse_current_InterfaceDeclaration_IDeltasFetchResult(\n get_old_InterfaceDeclaration_IDeltasFetchResult());\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_IDeltasFetchResult\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDeltasFetchResult():\n TypeOnly<current.IDeltasFetchResult>;\ndeclare function use_old_InterfaceDeclaration_IDeltasFetchResult(\n use: TypeOnly<old.IDeltasFetchResult>);\nuse_old_InterfaceDeclaration_IDeltasFetchResult(\n get_current_InterfaceDeclaration_IDeltasFetchResult());\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_IDeltaStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDeltaStorageService():\n TypeOnly<old.IDeltaStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDeltaStorageService(\n use: TypeOnly<current.IDeltaStorageService>);\nuse_current_InterfaceDeclaration_IDeltaStorageService(\n get_old_InterfaceDeclaration_IDeltaStorageService());\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_IDeltaStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDeltaStorageService():\n TypeOnly<current.IDeltaStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDeltaStorageService(\n use: TypeOnly<old.IDeltaStorageService>);\nuse_old_InterfaceDeclaration_IDeltaStorageService(\n get_current_InterfaceDeclaration_IDeltaStorageService());\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_IDocumentDeltaConnection\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaConnection():\n TypeOnly<old.IDocumentDeltaConnection>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaConnection(\n use: TypeOnly<current.IDocumentDeltaConnection>);\nuse_current_InterfaceDeclaration_IDocumentDeltaConnection(\n get_old_InterfaceDeclaration_IDocumentDeltaConnection());\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_IDocumentDeltaConnection\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaConnection():\n TypeOnly<current.IDocumentDeltaConnection>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaConnection(\n use: TypeOnly<old.IDocumentDeltaConnection>);\nuse_old_InterfaceDeclaration_IDocumentDeltaConnection(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IDocumentDeltaConnection());\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_IDocumentDeltaConnectionEvents\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents():\n TypeOnly<old.IDocumentDeltaConnectionEvents>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n use: TypeOnly<current.IDocumentDeltaConnectionEvents>);\nuse_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n get_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents());\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_IDocumentDeltaConnectionEvents\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents():\n TypeOnly<current.IDocumentDeltaConnectionEvents>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n use: TypeOnly<old.IDocumentDeltaConnectionEvents>);\nuse_old_InterfaceDeclaration_IDocumentDeltaConnectionEvents(\n get_current_InterfaceDeclaration_IDocumentDeltaConnectionEvents());\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_IDocumentDeltaStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentDeltaStorageService():\n TypeOnly<old.IDocumentDeltaStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentDeltaStorageService(\n use: TypeOnly<current.IDocumentDeltaStorageService>);\nuse_current_InterfaceDeclaration_IDocumentDeltaStorageService(\n get_old_InterfaceDeclaration_IDocumentDeltaStorageService());\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_IDocumentDeltaStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentDeltaStorageService():\n TypeOnly<current.IDocumentDeltaStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentDeltaStorageService(\n use: TypeOnly<old.IDocumentDeltaStorageService>);\nuse_old_InterfaceDeclaration_IDocumentDeltaStorageService(\n get_current_InterfaceDeclaration_IDocumentDeltaStorageService());\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_IDocumentService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentService():\n TypeOnly<old.IDocumentService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentService(\n use: TypeOnly<current.IDocumentService>);\nuse_current_InterfaceDeclaration_IDocumentService(\n get_old_InterfaceDeclaration_IDocumentService());\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_IDocumentService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentService():\n TypeOnly<current.IDocumentService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentService(\n use: TypeOnly<old.IDocumentService>);\nuse_old_InterfaceDeclaration_IDocumentService(\n get_current_InterfaceDeclaration_IDocumentService());\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_IDocumentServiceFactory\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentServiceFactory():\n TypeOnly<old.IDocumentServiceFactory>;\ndeclare function use_current_InterfaceDeclaration_IDocumentServiceFactory(\n use: TypeOnly<current.IDocumentServiceFactory>);\nuse_current_InterfaceDeclaration_IDocumentServiceFactory(\n get_old_InterfaceDeclaration_IDocumentServiceFactory());\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_IDocumentServiceFactory\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentServiceFactory():\n TypeOnly<current.IDocumentServiceFactory>;\ndeclare function use_old_InterfaceDeclaration_IDocumentServiceFactory(\n use: TypeOnly<old.IDocumentServiceFactory>);\nuse_old_InterfaceDeclaration_IDocumentServiceFactory(\n get_current_InterfaceDeclaration_IDocumentServiceFactory());\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_IDocumentServicePolicies\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentServicePolicies():\n TypeOnly<old.IDocumentServicePolicies>;\ndeclare function use_current_InterfaceDeclaration_IDocumentServicePolicies(\n use: TypeOnly<current.IDocumentServicePolicies>);\nuse_current_InterfaceDeclaration_IDocumentServicePolicies(\n get_old_InterfaceDeclaration_IDocumentServicePolicies());\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_IDocumentServicePolicies\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentServicePolicies():\n TypeOnly<current.IDocumentServicePolicies>;\ndeclare function use_old_InterfaceDeclaration_IDocumentServicePolicies(\n use: TypeOnly<old.IDocumentServicePolicies>);\nuse_old_InterfaceDeclaration_IDocumentServicePolicies(\n get_current_InterfaceDeclaration_IDocumentServicePolicies());\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_IDocumentStorageService\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentStorageService():\n TypeOnly<old.IDocumentStorageService>;\ndeclare function use_current_InterfaceDeclaration_IDocumentStorageService(\n use: TypeOnly<current.IDocumentStorageService>);\nuse_current_InterfaceDeclaration_IDocumentStorageService(\n get_old_InterfaceDeclaration_IDocumentStorageService());\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_IDocumentStorageService\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentStorageService():\n TypeOnly<current.IDocumentStorageService>;\ndeclare function use_old_InterfaceDeclaration_IDocumentStorageService(\n use: TypeOnly<old.IDocumentStorageService>);\nuse_old_InterfaceDeclaration_IDocumentStorageService(\n get_current_InterfaceDeclaration_IDocumentStorageService());\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_IDocumentStorageServicePolicies\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDocumentStorageServicePolicies():\n TypeOnly<old.IDocumentStorageServicePolicies>;\ndeclare function use_current_InterfaceDeclaration_IDocumentStorageServicePolicies(\n use: TypeOnly<current.IDocumentStorageServicePolicies>);\nuse_current_InterfaceDeclaration_IDocumentStorageServicePolicies(\n get_old_InterfaceDeclaration_IDocumentStorageServicePolicies());\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_IDocumentStorageServicePolicies\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDocumentStorageServicePolicies():\n TypeOnly<current.IDocumentStorageServicePolicies>;\ndeclare function use_old_InterfaceDeclaration_IDocumentStorageServicePolicies(\n use: TypeOnly<old.IDocumentStorageServicePolicies>);\nuse_old_InterfaceDeclaration_IDocumentStorageServicePolicies(\n get_current_InterfaceDeclaration_IDocumentStorageServicePolicies());\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_IDriverBasicError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverBasicError():\n TypeOnly<old.IDriverBasicError>;\ndeclare function use_current_InterfaceDeclaration_IDriverBasicError(\n use: TypeOnly<current.IDriverBasicError>);\nuse_current_InterfaceDeclaration_IDriverBasicError(\n get_old_InterfaceDeclaration_IDriverBasicError());\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_IDriverBasicError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverBasicError():\n TypeOnly<current.IDriverBasicError>;\ndeclare function use_old_InterfaceDeclaration_IDriverBasicError(\n use: TypeOnly<old.IDriverBasicError>);\nuse_old_InterfaceDeclaration_IDriverBasicError(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IDriverBasicError());\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_IDriverErrorBase\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverErrorBase():\n TypeOnly<old.IDriverErrorBase>;\ndeclare function use_current_InterfaceDeclaration_IDriverErrorBase(\n use: TypeOnly<current.IDriverErrorBase>);\nuse_current_InterfaceDeclaration_IDriverErrorBase(\n get_old_InterfaceDeclaration_IDriverErrorBase());\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_IDriverErrorBase\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverErrorBase():\n TypeOnly<current.IDriverErrorBase>;\ndeclare function use_old_InterfaceDeclaration_IDriverErrorBase(\n use: TypeOnly<old.IDriverErrorBase>);\nuse_old_InterfaceDeclaration_IDriverErrorBase(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IDriverErrorBase());\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_IDriverHeader\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IDriverHeader():\n TypeOnly<old.IDriverHeader>;\ndeclare function use_current_InterfaceDeclaration_IDriverHeader(\n use: TypeOnly<current.IDriverHeader>);\nuse_current_InterfaceDeclaration_IDriverHeader(\n get_old_InterfaceDeclaration_IDriverHeader());\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_IDriverHeader\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IDriverHeader():\n TypeOnly<current.IDriverHeader>;\ndeclare function use_old_InterfaceDeclaration_IDriverHeader(\n use: TypeOnly<old.IDriverHeader>);\nuse_old_InterfaceDeclaration_IDriverHeader(\n get_current_InterfaceDeclaration_IDriverHeader());\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_IFluidResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IFluidResolvedUrl():\n TypeOnly<old.IFluidResolvedUrl>;\ndeclare function use_current_InterfaceDeclaration_IFluidResolvedUrl(\n use: TypeOnly<current.IFluidResolvedUrl>);\nuse_current_InterfaceDeclaration_IFluidResolvedUrl(\n get_old_InterfaceDeclaration_IFluidResolvedUrl());\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_IFluidResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IFluidResolvedUrl():\n TypeOnly<current.IFluidResolvedUrl>;\ndeclare function use_old_InterfaceDeclaration_IFluidResolvedUrl(\n use: TypeOnly<old.IFluidResolvedUrl>);\nuse_old_InterfaceDeclaration_IFluidResolvedUrl(\n get_current_InterfaceDeclaration_IFluidResolvedUrl());\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_IGenericNetworkError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IGenericNetworkError():\n TypeOnly<old.IGenericNetworkError>;\ndeclare function use_current_InterfaceDeclaration_IGenericNetworkError(\n use: TypeOnly<current.IGenericNetworkError>);\nuse_current_InterfaceDeclaration_IGenericNetworkError(\n get_old_InterfaceDeclaration_IGenericNetworkError());\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_IGenericNetworkError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IGenericNetworkError():\n TypeOnly<current.IGenericNetworkError>;\ndeclare function use_old_InterfaceDeclaration_IGenericNetworkError(\n use: TypeOnly<old.IGenericNetworkError>);\nuse_old_InterfaceDeclaration_IGenericNetworkError(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IGenericNetworkError());\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_ILocationRedirectionError\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_ILocationRedirectionError():\n TypeOnly<old.ILocationRedirectionError>;\ndeclare function use_current_InterfaceDeclaration_ILocationRedirectionError(\n use: TypeOnly<current.ILocationRedirectionError>);\nuse_current_InterfaceDeclaration_ILocationRedirectionError(\n get_old_InterfaceDeclaration_ILocationRedirectionError());\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_ILocationRedirectionError\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_ILocationRedirectionError():\n TypeOnly<current.ILocationRedirectionError>;\ndeclare function use_old_InterfaceDeclaration_ILocationRedirectionError(\n use: TypeOnly<old.ILocationRedirectionError>);\nuse_old_InterfaceDeclaration_ILocationRedirectionError(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_ILocationRedirectionError());\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* \"TypeAliasDeclaration_IResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_IResolvedUrl():\n TypeOnly<old.IResolvedUrl>;\ndeclare function use_current_TypeAliasDeclaration_IResolvedUrl(\n use: TypeOnly<current.IResolvedUrl>);\nuse_current_TypeAliasDeclaration_IResolvedUrl(\n get_old_TypeAliasDeclaration_IResolvedUrl());\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* \"TypeAliasDeclaration_IResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_IResolvedUrl():\n TypeOnly<current.IResolvedUrl>;\ndeclare function use_old_TypeAliasDeclaration_IResolvedUrl(\n use: TypeOnly<old.IResolvedUrl>);\nuse_old_TypeAliasDeclaration_IResolvedUrl(\n get_current_TypeAliasDeclaration_IResolvedUrl());\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_IResolvedUrlBase\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IResolvedUrlBase():\n TypeOnly<old.IResolvedUrlBase>;\ndeclare function use_current_InterfaceDeclaration_IResolvedUrlBase(\n use: TypeOnly<current.IResolvedUrlBase>);\nuse_current_InterfaceDeclaration_IResolvedUrlBase(\n get_old_InterfaceDeclaration_IResolvedUrlBase());\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_IResolvedUrlBase\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IResolvedUrlBase():\n TypeOnly<current.IResolvedUrlBase>;\ndeclare function use_old_InterfaceDeclaration_IResolvedUrlBase(\n use: TypeOnly<old.IResolvedUrlBase>);\nuse_old_InterfaceDeclaration_IResolvedUrlBase(\n get_current_InterfaceDeclaration_IResolvedUrlBase());\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_IStream\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IStream():\n TypeOnly<old.IStream<any>>;\ndeclare function use_current_InterfaceDeclaration_IStream(\n use: TypeOnly<current.IStream<any>>);\nuse_current_InterfaceDeclaration_IStream(\n get_old_InterfaceDeclaration_IStream());\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_IStream\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IStream():\n TypeOnly<current.IStream<any>>;\ndeclare function use_old_InterfaceDeclaration_IStream(\n use: TypeOnly<old.IStream<any>>);\nuse_old_InterfaceDeclaration_IStream(\n get_current_InterfaceDeclaration_IStream());\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* \"TypeAliasDeclaration_IStreamResult\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_IStreamResult():\n TypeOnly<old.IStreamResult<any>>;\ndeclare function use_current_TypeAliasDeclaration_IStreamResult(\n use: TypeOnly<current.IStreamResult<any>>);\nuse_current_TypeAliasDeclaration_IStreamResult(\n get_old_TypeAliasDeclaration_IStreamResult());\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* \"TypeAliasDeclaration_IStreamResult\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_IStreamResult():\n TypeOnly<current.IStreamResult<any>>;\ndeclare function use_old_TypeAliasDeclaration_IStreamResult(\n use: TypeOnly<old.IStreamResult<any>>);\nuse_old_TypeAliasDeclaration_IStreamResult(\n get_current_TypeAliasDeclaration_IStreamResult());\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_ISummaryContext\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_ISummaryContext():\n TypeOnly<old.ISummaryContext>;\ndeclare function use_current_InterfaceDeclaration_ISummaryContext(\n use: TypeOnly<current.ISummaryContext>);\nuse_current_InterfaceDeclaration_ISummaryContext(\n get_old_InterfaceDeclaration_ISummaryContext());\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_ISummaryContext\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_ISummaryContext():\n TypeOnly<current.ISummaryContext>;\ndeclare function use_old_InterfaceDeclaration_ISummaryContext(\n use: TypeOnly<old.ISummaryContext>);\nuse_old_InterfaceDeclaration_ISummaryContext(\n get_current_InterfaceDeclaration_ISummaryContext());\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_IThrottlingWarning\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IThrottlingWarning():\n TypeOnly<old.IThrottlingWarning>;\ndeclare function use_current_InterfaceDeclaration_IThrottlingWarning(\n use: TypeOnly<current.IThrottlingWarning>);\nuse_current_InterfaceDeclaration_IThrottlingWarning(\n get_old_InterfaceDeclaration_IThrottlingWarning());\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_IThrottlingWarning\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IThrottlingWarning():\n TypeOnly<current.IThrottlingWarning>;\ndeclare function use_old_InterfaceDeclaration_IThrottlingWarning(\n use: TypeOnly<old.IThrottlingWarning>);\nuse_old_InterfaceDeclaration_IThrottlingWarning(\n // @ts-expect-error compatibility expected to be broken\n get_current_InterfaceDeclaration_IThrottlingWarning());\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_IUrlResolver\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IUrlResolver():\n TypeOnly<old.IUrlResolver>;\ndeclare function use_current_InterfaceDeclaration_IUrlResolver(\n use: TypeOnly<current.IUrlResolver>);\nuse_current_InterfaceDeclaration_IUrlResolver(\n get_old_InterfaceDeclaration_IUrlResolver());\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_IUrlResolver\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IUrlResolver():\n TypeOnly<current.IUrlResolver>;\ndeclare function use_old_InterfaceDeclaration_IUrlResolver(\n use: TypeOnly<old.IUrlResolver>);\nuse_old_InterfaceDeclaration_IUrlResolver(\n get_current_InterfaceDeclaration_IUrlResolver());\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_IWebResolvedUrl\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IWebResolvedUrl():\n TypeOnly<old.IWebResolvedUrl>;\ndeclare function use_current_InterfaceDeclaration_IWebResolvedUrl(\n use: TypeOnly<current.IWebResolvedUrl>);\nuse_current_InterfaceDeclaration_IWebResolvedUrl(\n get_old_InterfaceDeclaration_IWebResolvedUrl());\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_IWebResolvedUrl\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IWebResolvedUrl():\n TypeOnly<current.IWebResolvedUrl>;\ndeclare function use_old_InterfaceDeclaration_IWebResolvedUrl(\n use: TypeOnly<old.IWebResolvedUrl>);\nuse_old_InterfaceDeclaration_IWebResolvedUrl(\n get_current_InterfaceDeclaration_IWebResolvedUrl());\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* \"EnumDeclaration_LoaderCachingPolicy\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_EnumDeclaration_LoaderCachingPolicy():\n TypeOnly<old.LoaderCachingPolicy>;\ndeclare function use_current_EnumDeclaration_LoaderCachingPolicy(\n use: TypeOnly<current.LoaderCachingPolicy>);\nuse_current_EnumDeclaration_LoaderCachingPolicy(\n get_old_EnumDeclaration_LoaderCachingPolicy());\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* \"EnumDeclaration_LoaderCachingPolicy\": {\"backCompat\": false}\n*/\ndeclare function get_current_EnumDeclaration_LoaderCachingPolicy():\n TypeOnly<current.LoaderCachingPolicy>;\ndeclare function use_old_EnumDeclaration_LoaderCachingPolicy(\n use: TypeOnly<old.LoaderCachingPolicy>);\nuse_old_EnumDeclaration_LoaderCachingPolicy(\n get_current_EnumDeclaration_LoaderCachingPolicy());\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/driver-definitions",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.0.0-dev.1.3.0.96595",
|
|
4
4
|
"description": "Fluid driver definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -38,25 +38,53 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@fluidframework/common-definitions": "^0.20.1",
|
|
41
|
-
"@fluidframework/core-interfaces": "
|
|
42
|
-
"@fluidframework/protocol-definitions": "^0.
|
|
41
|
+
"@fluidframework/core-interfaces": "2.0.0-dev.1.3.0.96595",
|
|
42
|
+
"@fluidframework/protocol-definitions": "^1.0.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@fluidframework/build-common": "^0.
|
|
46
|
-
"@fluidframework/build-tools": "^0.
|
|
47
|
-
"@fluidframework/driver-definitions-previous": "npm:@fluidframework/driver-definitions
|
|
48
|
-
"@fluidframework/eslint-config-fluid": "^0.
|
|
45
|
+
"@fluidframework/build-common": "^1.0.0",
|
|
46
|
+
"@fluidframework/build-tools": "^0.4.6000",
|
|
47
|
+
"@fluidframework/driver-definitions-previous": "npm:@fluidframework/driver-definitions@^1.1.0",
|
|
48
|
+
"@fluidframework/eslint-config-fluid": "^1.0.0",
|
|
49
49
|
"@microsoft/api-extractor": "^7.22.2",
|
|
50
50
|
"@rushstack/eslint-config": "^2.5.1",
|
|
51
51
|
"concurrently": "^6.2.0",
|
|
52
|
-
"copyfiles": "^2.1
|
|
52
|
+
"copyfiles": "^2.4.1",
|
|
53
53
|
"eslint": "~8.6.0",
|
|
54
54
|
"rimraf": "^2.6.2",
|
|
55
55
|
"typescript": "~4.5.5",
|
|
56
56
|
"typescript-formatter": "7.1.0"
|
|
57
57
|
},
|
|
58
58
|
"typeValidation": {
|
|
59
|
-
"version": "
|
|
60
|
-
"broken": {
|
|
59
|
+
"version": "2.0.0",
|
|
60
|
+
"broken": {
|
|
61
|
+
"InterfaceDeclaration_IDocumentDeltaConnection": {
|
|
62
|
+
"backCompat": false
|
|
63
|
+
},
|
|
64
|
+
"TypeAliasDeclaration_DriverError": {
|
|
65
|
+
"backCompat": false
|
|
66
|
+
},
|
|
67
|
+
"EnumDeclaration_DriverErrorType": {
|
|
68
|
+
"backCompat": false
|
|
69
|
+
},
|
|
70
|
+
"InterfaceDeclaration_IDriverBasicError": {
|
|
71
|
+
"backCompat": false
|
|
72
|
+
},
|
|
73
|
+
"InterfaceDeclaration_IGenericNetworkError": {
|
|
74
|
+
"backCompat": false
|
|
75
|
+
},
|
|
76
|
+
"InterfaceDeclaration_IDriverErrorBase": {
|
|
77
|
+
"backCompat": false
|
|
78
|
+
},
|
|
79
|
+
"InterfaceDeclaration_IThrottlingWarning": {
|
|
80
|
+
"backCompat": false
|
|
81
|
+
},
|
|
82
|
+
"InterfaceDeclaration_IAuthorizationError": {
|
|
83
|
+
"backCompat": false
|
|
84
|
+
},
|
|
85
|
+
"InterfaceDeclaration_ILocationRedirectionError": {
|
|
86
|
+
"backCompat": false
|
|
87
|
+
}
|
|
88
|
+
}
|
|
61
89
|
}
|
|
62
90
|
}
|
package/src/driverError.ts
CHANGED
|
@@ -83,6 +83,13 @@ export enum DriverErrorType {
|
|
|
83
83
|
* location, then this error is thrown to let the client know about the new location info.
|
|
84
84
|
*/
|
|
85
85
|
locationRedirection = "locationRedirection",
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* When a file is not a Fluid file, but has Fluid extension such as ".note",
|
|
89
|
+
* server won't be able to open it and will return this error. The innerMostErrorCode will be
|
|
90
|
+
* "fluidInvalidSchema"
|
|
91
|
+
*/
|
|
92
|
+
fluidInvalidSchema = "fluidInvalidSchema",
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
/**
|
|
@@ -136,7 +143,8 @@ export interface IDriverBasicError extends IDriverErrorBase {
|
|
|
136
143
|
| DriverErrorType.writeError
|
|
137
144
|
| DriverErrorType.fetchFailure
|
|
138
145
|
| DriverErrorType.incorrectServerResponse
|
|
139
|
-
| DriverErrorType.fileOverwrittenInStorage
|
|
146
|
+
| DriverErrorType.fileOverwrittenInStorage
|
|
147
|
+
| DriverErrorType.fluidInvalidSchema;
|
|
140
148
|
readonly statusCode?: number;
|
|
141
149
|
}
|
|
142
150
|
|
package/src/storage.ts
CHANGED
|
@@ -48,8 +48,8 @@ export interface IDeltaStorageService {
|
|
|
48
48
|
* @param from - first op to retrieve (inclusive)
|
|
49
49
|
* @param to - first op not to retrieve (exclusive end)
|
|
50
50
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
52
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
53
53
|
*/
|
|
54
54
|
get(
|
|
55
55
|
tenantId: string,
|
|
@@ -80,8 +80,8 @@ export interface IDocumentDeltaStorageService {
|
|
|
80
80
|
* @param abortSignal - signal that aborts operation
|
|
81
81
|
* @param cachedOnly - return only cached ops, i.e. ops available locally on client.
|
|
82
82
|
* @param fetchReason - Reason for fetching the messages. Example, gap between seq number
|
|
83
|
-
*
|
|
84
|
-
*
|
|
83
|
+
* of Op on wire and known seq number. It should not contain any PII. It can be logged by
|
|
84
|
+
* spo which could help in debugging sessions if any issue occurs.
|
|
85
85
|
*/
|
|
86
86
|
fetchMessages(from: number,
|
|
87
87
|
to: number | undefined,
|
|
@@ -94,8 +94,10 @@ export interface IDocumentDeltaStorageService {
|
|
|
94
94
|
export interface IDocumentStorageServicePolicies {
|
|
95
95
|
readonly caching?: LoaderCachingPolicy;
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
/**
|
|
98
|
+
* If this policy is provided, it tells runtime on ideal size for blobs.
|
|
99
|
+
* Blobs that are smaller than that size should be aggregated into bigger blobs.
|
|
100
|
+
*/
|
|
99
101
|
readonly minBlobSize?: number;
|
|
100
102
|
|
|
101
103
|
/**
|
|
@@ -119,7 +121,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
119
121
|
* Returns the snapshot tree.
|
|
120
122
|
* @param version - Version of the snapshot to be fetched.
|
|
121
123
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
122
|
-
*
|
|
124
|
+
* in debugging purposes to see why this call was made.
|
|
123
125
|
*/
|
|
124
126
|
getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
|
|
125
127
|
|
|
@@ -128,9 +130,18 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
|
|
|
128
130
|
* @param versionId - Version id of the requested version.
|
|
129
131
|
* @param count - Number of the versions to be fetched.
|
|
130
132
|
* @param scenarioName - scenario in which this api is called. This will be recorded by server and would help
|
|
131
|
-
*
|
|
133
|
+
* in debugging purposes to see why this call was made.
|
|
134
|
+
* @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache
|
|
135
|
+
* requests and serve data from cache. That will result in stale info returned. Callers can disable this
|
|
136
|
+
* functionality by passing fetchSource = noCache and ensuring that driver will return latest information
|
|
137
|
+
* from storage.
|
|
132
138
|
*/
|
|
133
|
-
getVersions(
|
|
139
|
+
getVersions(
|
|
140
|
+
versionId: string | null,
|
|
141
|
+
count: number,
|
|
142
|
+
scenarioName?: string,
|
|
143
|
+
fetchSource?: FetchSource,
|
|
144
|
+
): Promise<IVersion[]>;
|
|
134
145
|
|
|
135
146
|
/**
|
|
136
147
|
* Creates a blob out of the given buffer
|
|
@@ -355,3 +366,8 @@ export interface ISummaryContext {
|
|
|
355
366
|
|
|
356
367
|
readonly referenceSequenceNumber: number;
|
|
357
368
|
}
|
|
369
|
+
|
|
370
|
+
export enum FetchSource {
|
|
371
|
+
default = "default",
|
|
372
|
+
noCache = "noCache",
|
|
373
|
+
}
|