@fluidframework/replay-driver 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.eslintrc.js +5 -7
  2. package/CHANGELOG.md +144 -0
  3. package/README.md +38 -0
  4. package/api-extractor-lint.json +4 -0
  5. package/api-extractor.json +2 -2
  6. package/api-report/replay-driver.api.md +150 -0
  7. package/dist/{emptyDeltaStorageService.js → emptyDeltaStorageService.cjs} +1 -1
  8. package/dist/emptyDeltaStorageService.cjs.map +1 -0
  9. package/dist/emptyDeltaStorageService.d.ts.map +1 -1
  10. package/dist/index.cjs +20 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.d.ts +4 -4
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/replay-driver-alpha.d.ts +34 -0
  15. package/dist/replay-driver-beta.d.ts +44 -0
  16. package/dist/replay-driver-public.d.ts +44 -0
  17. package/dist/replay-driver-untrimmed.d.ts +187 -0
  18. package/dist/{replayController.js → replayController.cjs} +6 -4
  19. package/dist/replayController.cjs.map +1 -0
  20. package/dist/replayController.d.ts +4 -2
  21. package/dist/replayController.d.ts.map +1 -1
  22. package/dist/{replayDocumentDeltaConnection.js → replayDocumentDeltaConnection.cjs} +25 -27
  23. package/dist/replayDocumentDeltaConnection.cjs.map +1 -0
  24. package/dist/replayDocumentDeltaConnection.d.ts +2 -2
  25. package/dist/replayDocumentDeltaConnection.d.ts.map +1 -1
  26. package/dist/{replayDocumentService.js → replayDocumentService.cjs} +9 -7
  27. package/dist/replayDocumentService.cjs.map +1 -0
  28. package/dist/replayDocumentService.d.ts +1 -0
  29. package/dist/replayDocumentService.d.ts.map +1 -1
  30. package/dist/{replayDocumentServiceFactory.js → replayDocumentServiceFactory.cjs} +13 -8
  31. package/dist/replayDocumentServiceFactory.cjs.map +1 -0
  32. package/dist/replayDocumentServiceFactory.d.ts +4 -2
  33. package/dist/replayDocumentServiceFactory.d.ts.map +1 -1
  34. package/dist/{storageImplementations.js → storageImplementations.cjs} +21 -12
  35. package/dist/storageImplementations.cjs.map +1 -0
  36. package/dist/storageImplementations.d.ts +18 -6
  37. package/dist/storageImplementations.d.ts.map +1 -1
  38. package/dist/tsdoc-metadata.json +11 -0
  39. package/lib/emptyDeltaStorageService.d.mts.map +1 -0
  40. package/lib/{emptyDeltaStorageService.js → emptyDeltaStorageService.mjs} +1 -1
  41. package/lib/emptyDeltaStorageService.mjs.map +1 -0
  42. package/lib/index.d.mts +9 -0
  43. package/lib/index.d.mts.map +1 -0
  44. package/lib/index.mjs +9 -0
  45. package/lib/index.mjs.map +1 -0
  46. package/lib/replay-driver-alpha.d.mts +34 -0
  47. package/lib/replay-driver-beta.d.mts +44 -0
  48. package/lib/replay-driver-public.d.mts +44 -0
  49. package/lib/replay-driver-untrimmed.d.mts +187 -0
  50. package/lib/{replayController.d.ts → replayController.d.mts} +4 -2
  51. package/lib/replayController.d.mts.map +1 -0
  52. package/lib/{replayController.js → replayController.mjs} +6 -4
  53. package/lib/replayController.mjs.map +1 -0
  54. package/lib/{replayDocumentDeltaConnection.d.ts → replayDocumentDeltaConnection.d.mts} +3 -3
  55. package/lib/replayDocumentDeltaConnection.d.mts.map +1 -0
  56. package/lib/{replayDocumentDeltaConnection.js → replayDocumentDeltaConnection.mjs} +23 -25
  57. package/lib/replayDocumentDeltaConnection.mjs.map +1 -0
  58. package/lib/{replayDocumentService.d.ts → replayDocumentService.d.mts} +2 -1
  59. package/lib/replayDocumentService.d.mts.map +1 -0
  60. package/lib/{replayDocumentService.js → replayDocumentService.mjs} +9 -7
  61. package/lib/replayDocumentService.mjs.map +1 -0
  62. package/lib/{replayDocumentServiceFactory.d.ts → replayDocumentServiceFactory.d.mts} +5 -3
  63. package/lib/replayDocumentServiceFactory.d.mts.map +1 -0
  64. package/lib/{replayDocumentServiceFactory.js → replayDocumentServiceFactory.mjs} +14 -9
  65. package/lib/replayDocumentServiceFactory.mjs.map +1 -0
  66. package/lib/{storageImplementations.d.ts → storageImplementations.d.mts} +19 -7
  67. package/lib/storageImplementations.d.mts.map +1 -0
  68. package/lib/{storageImplementations.js → storageImplementations.mjs} +20 -11
  69. package/lib/storageImplementations.mjs.map +1 -0
  70. package/lib/test/types/validateReplayDriverPrevious.generated.d.mts +2 -0
  71. package/lib/test/types/validateReplayDriverPrevious.generated.d.mts.map +1 -0
  72. package/lib/test/types/{validateReplayDriverPrevious.js → validateReplayDriverPrevious.generated.mjs} +1 -3
  73. package/lib/test/types/validateReplayDriverPrevious.generated.mjs.map +1 -0
  74. package/package.json +79 -47
  75. package/prettier.config.cjs +8 -0
  76. package/src/emptyDeltaStorageService.ts +14 -13
  77. package/src/index.ts +10 -4
  78. package/src/replayController.ts +61 -55
  79. package/src/replayDocumentDeltaConnection.ts +326 -318
  80. package/src/replayDocumentService.ts +48 -44
  81. package/src/replayDocumentServiceFactory.ts +59 -47
  82. package/src/storageImplementations.ts +168 -153
  83. package/tsconfig.json +11 -13
  84. package/dist/emptyDeltaStorageService.js.map +0 -1
  85. package/dist/index.js +0 -21
  86. package/dist/index.js.map +0 -1
  87. package/dist/packageVersion.d.ts +0 -9
  88. package/dist/packageVersion.d.ts.map +0 -1
  89. package/dist/packageVersion.js +0 -12
  90. package/dist/packageVersion.js.map +0 -1
  91. package/dist/replayController.js.map +0 -1
  92. package/dist/replayDocumentDeltaConnection.js.map +0 -1
  93. package/dist/replayDocumentService.js.map +0 -1
  94. package/dist/replayDocumentServiceFactory.js.map +0 -1
  95. package/dist/storageImplementations.js.map +0 -1
  96. package/lib/emptyDeltaStorageService.d.ts.map +0 -1
  97. package/lib/emptyDeltaStorageService.js.map +0 -1
  98. package/lib/index.d.ts +0 -9
  99. package/lib/index.d.ts.map +0 -1
  100. package/lib/index.js +0 -9
  101. package/lib/index.js.map +0 -1
  102. package/lib/packageVersion.d.ts +0 -9
  103. package/lib/packageVersion.d.ts.map +0 -1
  104. package/lib/packageVersion.js +0 -9
  105. package/lib/packageVersion.js.map +0 -1
  106. package/lib/replayController.d.ts.map +0 -1
  107. package/lib/replayController.js.map +0 -1
  108. package/lib/replayDocumentDeltaConnection.d.ts.map +0 -1
  109. package/lib/replayDocumentDeltaConnection.js.map +0 -1
  110. package/lib/replayDocumentService.d.ts.map +0 -1
  111. package/lib/replayDocumentService.js.map +0 -1
  112. package/lib/replayDocumentServiceFactory.d.ts.map +0 -1
  113. package/lib/replayDocumentServiceFactory.js.map +0 -1
  114. package/lib/storageImplementations.d.ts.map +0 -1
  115. package/lib/storageImplementations.js.map +0 -1
  116. package/lib/test/types/validateReplayDriverPrevious.d.ts +0 -2
  117. package/lib/test/types/validateReplayDriverPrevious.d.ts.map +0 -1
  118. package/lib/test/types/validateReplayDriverPrevious.js.map +0 -1
  119. package/src/packageVersion.ts +0 -9
  120. package/tsconfig.esnext.json +0 -7
  121. /package/lib/{emptyDeltaStorageService.d.ts → emptyDeltaStorageService.d.mts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/replay-driver",
3
- "version": "1.4.0-115997",
3
+ "version": "2.0.0-dev-rc.1.0.0.224419",
4
4
  "description": "Document replay version of Socket.IO implementation",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -11,58 +11,90 @@
11
11
  "license": "MIT",
12
12
  "author": "Microsoft and contributors",
13
13
  "sideEffects": false,
14
- "main": "dist/index.js",
15
- "module": "lib/index.js",
16
- "types": "dist/index.d.ts",
17
- "scripts": {
18
- "build": "npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs",
19
- "build:compile": "concurrently npm:typetests:gen npm:tsc npm:build:esnext",
20
- "build:docs": "api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
21
- "build:esnext": "tsc --project ./tsconfig.esnext.json",
22
- "build:full": "npm run build",
23
- "build:full:compile": "npm run build:compile",
24
- "build:genver": "gen-version",
25
- "ci:build:docs": "api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/",
26
- "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
27
- "eslint": "eslint --format stylish src",
28
- "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
29
- "lint": "npm run eslint",
30
- "lint:fix": "npm run eslint:fix",
31
- "tsc": "tsc",
32
- "typetests:gen": "flub generate typetests --generate --dir . --no-generateInName",
33
- "typetests:prepare": "flub generate typetests --prepare --dir . --pin"
14
+ "exports": {
15
+ ".": {
16
+ "import": {
17
+ "types": "./lib/index.d.mts",
18
+ "default": "./lib/index.mjs"
19
+ },
20
+ "require": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.cjs"
23
+ }
24
+ }
34
25
  },
26
+ "main": "dist/index.cjs",
27
+ "module": "lib/index.mjs",
28
+ "types": "dist/index.d.ts",
35
29
  "dependencies": {
36
- "@fluidframework/common-definitions": "^0.20.1",
37
- "@fluidframework/common-utils": "^0.32.1",
38
- "@fluidframework/driver-definitions": "1.4.0-115997",
39
- "@fluidframework/driver-utils": "1.4.0-115997",
40
- "@fluidframework/protocol-definitions": "^0.1028.2000",
41
- "@fluidframework/telemetry-utils": "1.4.0-115997"
30
+ "@fluid-internal/client-utils": "2.0.0-dev-rc.1.0.0.224419",
31
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.224419",
32
+ "@fluidframework/core-utils": "2.0.0-dev-rc.1.0.0.224419",
33
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.224419",
34
+ "@fluidframework/driver-utils": "2.0.0-dev-rc.1.0.0.224419",
35
+ "@fluidframework/protocol-definitions": "^3.1.0-223007",
36
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.1.0.0.224419"
42
37
  },
43
38
  "devDependencies": {
44
- "@fluidframework/build-common": "^0.24.0",
45
- "@fluidframework/build-tools": "^0.6.0-110101",
46
- "@fluidframework/eslint-config-fluid": "^0.28.2000",
47
- "@fluidframework/replay-driver-previous": "npm:@fluidframework/replay-driver@1.3.1",
48
- "@microsoft/api-extractor": "^7.22.2",
49
- "@rushstack/eslint-config": "^2.5.1",
50
- "@types/mocha": "^9.1.1",
39
+ "@arethetypeswrong/cli": "^0.13.3",
40
+ "@fluid-tools/build-cli": "0.29.0-222379",
41
+ "@fluidframework/build-common": "^2.0.3",
42
+ "@fluidframework/build-tools": "0.29.0-222379",
43
+ "@fluidframework/eslint-config-fluid": "^3.1.0",
44
+ "@fluidframework/replay-driver-previous": "npm:@fluidframework/replay-driver@2.0.0-internal.7.2.0",
45
+ "@microsoft/api-extractor": "^7.38.3",
51
46
  "@types/nock": "^9.3.0",
52
- "@types/node": "^14.18.0",
53
- "concurrently": "^6.2.0",
54
- "copyfiles": "^2.1.0",
55
- "eslint": "~8.6.0",
56
- "mocha": "^10.0.0",
57
- "nock": "^10.0.1",
58
- "rimraf": "^2.6.2",
59
- "typescript": "~4.5.5",
60
- "typescript-formatter": "7.1.0"
47
+ "@types/node": "^18.19.0",
48
+ "copyfiles": "^2.4.1",
49
+ "eslint": "~8.50.0",
50
+ "nock": "^13.3.3",
51
+ "prettier": "~3.0.3",
52
+ "renamer": "^4.0.0",
53
+ "rimraf": "^4.4.0",
54
+ "tsc-multi": "^1.1.0",
55
+ "typescript": "~5.1.6"
56
+ },
57
+ "fluidBuild": {
58
+ "tasks": {
59
+ "build:docs": {
60
+ "dependsOn": [
61
+ "...",
62
+ "api-extractor:commonjs",
63
+ "api-extractor:esnext"
64
+ ],
65
+ "script": false
66
+ },
67
+ "tsc": [
68
+ "...",
69
+ "typetests:gen"
70
+ ]
71
+ }
61
72
  },
62
73
  "typeValidation": {
63
- "version": "1.4.0",
64
- "baselineRange": "~1.3.0",
65
- "baselineVersion": "1.3.1",
66
74
  "broken": {}
75
+ },
76
+ "scripts": {
77
+ "api": "fluid-build . --task api",
78
+ "api-extractor:commonjs": "api-extractor run --local",
79
+ "api-extractor:esnext": "copyfiles -u 1 \"dist/**/*-@(alpha|beta|public|untrimmed).d.ts\" lib",
80
+ "build": "fluid-build . --task build",
81
+ "build:compile": "fluid-build . --task compile",
82
+ "build:docs": "fluid-build . --task api",
83
+ "build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
84
+ "build:rename-types": "renamer \"lib/**\" -f .d.ts -r .d.mts --force",
85
+ "check:are-the-types-wrong": "attw --pack",
86
+ "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
87
+ "ci:build:docs": "api-extractor run",
88
+ "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
89
+ "eslint": "eslint --format stylish src",
90
+ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
91
+ "format": "npm run prettier:fix",
92
+ "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
93
+ "lint:fix": "npm run prettier:fix && npm run eslint:fix",
94
+ "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
95
+ "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
96
+ "tsc": "tsc-multi --config ../../../common/build/build-common/tsc-multi.cjs.json",
97
+ "typetests:gen": "fluid-type-test-generator",
98
+ "typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
67
99
  }
68
- }
100
+ }
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ module.exports = {
7
+ ...require("@fluidframework/build-common/prettier.config.cjs"),
8
+ };
@@ -8,17 +8,18 @@ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions"
8
8
  import { emptyMessageStream } from "@fluidframework/driver-utils";
9
9
 
10
10
  export class EmptyDeltaStorageService implements IDocumentDeltaStorageService {
11
- /**
12
- * Returns ops from the list of ops generated till now.
13
- * @param from - Ops are returned from + 1.
14
- * @param to - Op are returned from to - 1.
15
- * @returns Array of ops requested by the user.
16
- */
17
- public fetchMessages(
18
- from: number,
19
- to: number | undefined,
20
- abortSignal?: AbortSignal,
21
- cachedOnly?: boolean): IStream<ISequencedDocumentMessage[]> {
22
- return emptyMessageStream;
23
- }
11
+ /**
12
+ * Returns ops from the list of ops generated till now.
13
+ * @param from - Ops are returned from + 1.
14
+ * @param to - Op are returned from to - 1.
15
+ * @returns Array of ops requested by the user.
16
+ */
17
+ public fetchMessages(
18
+ from: number,
19
+ to: number | undefined,
20
+ abortSignal?: AbortSignal,
21
+ cachedOnly?: boolean,
22
+ ): IStream<ISequencedDocumentMessage[]> {
23
+ return emptyMessageStream;
24
+ }
24
25
  }
package/src/index.ts CHANGED
@@ -3,7 +3,13 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- export * from "./replayController";
7
- export * from "./replayDocumentService";
8
- export * from "./replayDocumentServiceFactory";
9
- export * from "./storageImplementations";
6
+ export { ReadDocumentStorageServiceBase, ReplayController } from "./replayController";
7
+ export { ReplayDocumentService } from "./replayDocumentService";
8
+ export { ReplayDocumentServiceFactory } from "./replayDocumentServiceFactory";
9
+ export {
10
+ FileSnapshotReader,
11
+ IFileSnapshot,
12
+ OpStorage,
13
+ SnapshotStorage,
14
+ StaticStorageDocumentServiceFactory,
15
+ } from "./storageImplementations";
@@ -4,82 +4,88 @@
4
4
  */
5
5
 
6
6
  import {
7
- IDocumentService,
8
- IDocumentStorageService,
9
- ISummaryContext,
7
+ IDocumentService,
8
+ IDocumentStorageService,
9
+ ISummaryContext,
10
10
  } from "@fluidframework/driver-definitions";
11
11
  import * as api from "@fluidframework/protocol-definitions";
12
12
 
13
13
  /**
14
14
  * Partial implementation of IDocumentStorageService
15
+ * @internal
15
16
  */
16
17
  export abstract class ReadDocumentStorageServiceBase implements IDocumentStorageService {
17
- public abstract getVersions(versionId: string | null, count: number): Promise<api.IVersion[]>;
18
- public abstract getSnapshotTree(version?: api.IVersion): Promise<api.ISnapshotTree | null>;
19
- public abstract readBlob(blobId: string): Promise<ArrayBufferLike>;
18
+ public abstract getVersions(versionId: string | null, count: number): Promise<api.IVersion[]>;
19
+ public abstract getSnapshotTree(version?: api.IVersion): Promise<api.ISnapshotTree | null>;
20
+ public abstract readBlob(blobId: string): Promise<ArrayBufferLike>;
20
21
 
21
- public async uploadSummaryWithContext(summary: api.ISummaryTree, context: ISummaryContext): Promise<string> {
22
- return Promise.reject(new Error("Invalid operation"));
23
- }
22
+ public async uploadSummaryWithContext(
23
+ summary: api.ISummaryTree,
24
+ context: ISummaryContext,
25
+ ): Promise<string> {
26
+ throw new Error("Invalid operation");
27
+ }
24
28
 
25
- public async createBlob(file: ArrayBufferLike): Promise<api.ICreateBlobResponse> {
26
- return Promise.reject(new Error("Invalid operation"));
27
- }
29
+ public async createBlob(file: ArrayBufferLike): Promise<api.ICreateBlobResponse> {
30
+ throw new Error("Invalid operation");
31
+ }
28
32
 
29
- public async downloadSummary(handle: api.ISummaryHandle): Promise<api.ISummaryTree> {
30
- return Promise.reject(new Error("Invalid operation"));
31
- }
33
+ public async downloadSummary(handle: api.ISummaryHandle): Promise<api.ISummaryTree> {
34
+ throw new Error("Invalid operation");
35
+ }
32
36
 
33
- public get repositoryUrl(): string {
34
- throw new Error("Invalid operation");
35
- }
37
+ public get repositoryUrl(): string {
38
+ throw new Error("Invalid operation");
39
+ }
36
40
  }
37
41
 
38
42
  /**
39
43
  * Replay controller object
40
44
  * It controls where we start (snapshot, local file, no snapshots)
41
45
  * As well as dispatch of ops
46
+ * @internal
42
47
  */
43
48
  export abstract class ReplayController extends ReadDocumentStorageServiceBase {
44
- /**
45
- * Initialize reply controller
46
- * @param documentService - the real document service
47
- * @returns - Boolean, indicating if controller should be used.
48
- * If false is returned, caller should fallback to original storage.
49
- */
50
- public abstract initStorage(documentService: IDocumentService): Promise<boolean>;
49
+ /**
50
+ * Initialize reply controller
51
+ * @param documentService - the real document service
52
+ * @returns Whether or not the controller should be used.
53
+ * If `false` is returned, caller should fallback to original storage.
54
+ */
55
+ public abstract initStorage(documentService: IDocumentService): Promise<boolean>;
51
56
 
52
- /**
53
- * Returns sequence number to start processing ops
54
- * Should be zero if not using snapshot, and snapshot seq# otherwise
55
- */
56
- public abstract getStartingOpSequence(): Promise<number>;
57
+ /**
58
+ * Returns sequence number to start processing ops
59
+ * Should be zero if not using snapshot, and snapshot seq# otherwise
60
+ */
61
+ public abstract getStartingOpSequence(): Promise<number>;
57
62
 
58
- /**
59
- * Returns last op number to fetch from current op
60
- * Note: this API is called while replay() is in progress - next batch of ops is downloaded in parallel
61
- * @param currentOp - current op
62
- */
63
- public abstract fetchTo(currentOp: number): number | undefined;
63
+ /**
64
+ * Returns last op number to fetch from current op
65
+ * Note: this API is called while replay() is in progress - next batch of ops is downloaded in parallel
66
+ * @param currentOp - current op
67
+ */
68
+ public abstract fetchTo(currentOp: number): number | undefined;
64
69
 
65
- /**
66
- * Returns true if no more ops should be processed (or downloaded for future processing).
67
- * It's called at end of each batch with latest op timestamp.
68
- * Also it's called when there are no more ops available (lastTimeStamp === undefined).
69
- * If false is returned and there are no more ops, request for more ops is made every 2 seconds.
70
- * Note: this API is called while replay() is in progress - next batch of ops is downloaded in parallel
71
- * @param currentOp - current op
72
- * @param lastTimeStamp - timestamp of last op (if more ops are available). Undefined otherwise.
73
- */
74
- public abstract isDoneFetch(currentOp: number, lastTimeStamp?: number): boolean;
70
+ /**
71
+ * Returns true if no more ops should be processed (or downloaded for future processing).
72
+ * It's called at end of each batch with latest op timestamp.
73
+ * Also it's called when there are no more ops available (lastTimeStamp === undefined).
74
+ * If false is returned and there are no more ops, request for more ops is made every 2 seconds.
75
+ * Note: this API is called while replay() is in progress - next batch of ops is downloaded in parallel
76
+ * @param currentOp - current op
77
+ * @param lastTimeStamp - timestamp of last op (if more ops are available). Undefined otherwise.
78
+ */
79
+ public abstract isDoneFetch(currentOp: number, lastTimeStamp?: number): boolean;
75
80
 
76
- /**
77
- * Replay batch of ops
78
- * NOTE: new batch of ops is fetched (fetchTo() & isDoneFetch() APIs are called) while this call is in flights
79
- * @param emitter - callback to emit ops
80
- * @param fetchedOps - ops to process
81
- */
82
- public abstract replay(
83
- emitter: (op: api.ISequencedDocumentMessage[]) => void,
84
- fetchedOps: api.ISequencedDocumentMessage[]): Promise<void>;
81
+ /**
82
+ * Replay batch of ops
83
+ * NOTE: new batch of ops is fetched (fetchTo() & isDoneFetch() APIs are called) while this call is in flights
84
+ * @param emitter - callback to emit ops
85
+ * @param fetchedOps - ops to process
86
+ */
87
+ public abstract replay(
88
+ emitter: (op: api.ISequencedDocumentMessage[]) => void,
89
+ fetchedOps: api.ISequencedDocumentMessage[],
90
+ ): Promise<void>;
85
91
  }