@fluidframework/core-interfaces 2.0.0-internal.3.0.5 → 2.0.0-internal.3.1.1

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/package.json CHANGED
@@ -1,65 +1,66 @@
1
1
  {
2
- "name": "@fluidframework/core-interfaces",
3
- "version": "2.0.0-internal.3.0.5",
4
- "description": "Fluid object interfaces",
5
- "homepage": "https://fluidframework.com",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/microsoft/FluidFramework.git",
9
- "directory": "common/lib/core-interfaces"
10
- },
11
- "license": "MIT",
12
- "author": "Microsoft and contributors",
13
- "sideEffects": false,
14
- "main": "dist/index.js",
15
- "module": "lib/index.js",
16
- "types": "dist/index.d.ts",
17
- "scripts": {
18
- "build": "concurrently npm:build:compile npm:lint && npm run build:docs",
19
- "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test",
20
- "build:compile": "concurrently npm:build:commonjs npm:build:esnext",
21
- "build:docs": "api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
22
- "build:esnext": "tsc --project ./tsconfig.esnext.json",
23
- "build:full": "npm run build",
24
- "build:full:compile": "npm run build:compile",
25
- "build:test": "tsc --project ./src/test/tsconfig.json",
26
- "ci:build": "npm run build:compile",
27
- "ci:build:docs": "api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
28
- "ci:test": "echo No test for this package",
29
- "ci:test:coverage": "echo No test for this package",
30
- "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
31
- "eslint": "eslint --format stylish src",
32
- "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
33
- "format": "npm run prettier:fix",
34
- "lint": "npm run eslint",
35
- "lint:fix": "npm run eslint:fix",
36
- "prettier": "prettier --check . --ignore-path ../../../.prettierignore",
37
- "prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
38
- "tsc": "tsc",
39
- "tsc:watch": "tsc --watch",
40
- "typetests:gen": "flub generate typetests --generate --dir .",
41
- "typetests:prepare": "flub generate typetests --prepare --dir . --pin"
42
- },
43
- "devDependencies": {
44
- "@fluid-tools/build-cli": "^0.8.0",
45
- "@fluidframework/build-common": "^1.1.0",
46
- "@fluidframework/build-tools": "^0.8.0",
47
- "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@2.0.0-internal.3.0.0",
48
- "@fluidframework/eslint-config-fluid": "^2.0.0",
49
- "@microsoft/api-extractor": "^7.22.2",
50
- "@rushstack/eslint-config": "^2.5.1",
51
- "@types/node": "^14.18.36",
52
- "concurrently": "^6.2.0",
53
- "copyfiles": "^2.4.1",
54
- "eslint": "~8.6.0",
55
- "prettier": "~2.6.2",
56
- "rimraf": "^2.6.2",
57
- "typescript": "~4.5.5"
58
- },
59
- "typeValidation": {
60
- "version": "2.0.0-internal.3.0.1",
61
- "previousVersionStyle": "previousPatch",
62
- "baselineRange": "2.0.0-internal.3.0.0",
63
- "broken": {}
64
- }
2
+ "name": "@fluidframework/core-interfaces",
3
+ "version": "2.0.0-internal.3.1.1",
4
+ "description": "Fluid object interfaces",
5
+ "homepage": "https://fluidframework.com",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/microsoft/FluidFramework.git",
9
+ "directory": "common/lib/core-interfaces"
10
+ },
11
+ "license": "MIT",
12
+ "author": "Microsoft and contributors",
13
+ "sideEffects": false,
14
+ "main": "dist/index.js",
15
+ "module": "lib/index.js",
16
+ "types": "dist/index.d.ts",
17
+ "scripts": {
18
+ "build": "concurrently npm:build:compile npm:lint && npm run build:docs",
19
+ "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test",
20
+ "build:compile": "concurrently npm:build:commonjs npm:build:esnext",
21
+ "build:docs": "api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
22
+ "build:esnext": "tsc --project ./tsconfig.esnext.json",
23
+ "build:full": "npm run build",
24
+ "build:full:compile": "npm run build:compile",
25
+ "build:test": "tsc --project ./src/test/tsconfig.json",
26
+ "ci:build": "npm run build:compile",
27
+ "ci:build:docs": "api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
28
+ "ci:test": "echo No test for this package",
29
+ "ci:test:coverage": "echo No test for this package",
30
+ "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
31
+ "eslint": "eslint --format stylish src",
32
+ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
33
+ "format": "npm run prettier:fix",
34
+ "lint": "npm run prettier && npm run eslint",
35
+ "lint:fix": "npm run prettier:fix && npm run eslint:fix",
36
+ "prettier": "prettier --check . --ignore-path ../../../.prettierignore",
37
+ "prettier:fix": "prettier --write . --ignore-path ../../../.prettierignore",
38
+ "tsc": "tsc",
39
+ "tsc:watch": "tsc --watch",
40
+ "typetests:gen": "flub generate typetests --generate --dir .",
41
+ "typetests:prepare": "flub generate typetests --prepare --dir . --pin"
42
+ },
43
+ "devDependencies": {
44
+ "@fluid-tools/build-cli": "^0.9.0",
45
+ "@fluidframework/build-common": "^1.1.0",
46
+ "@fluidframework/build-tools": "^0.9.0",
47
+ "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@2.0.0-internal.3.0.1",
48
+ "@fluidframework/eslint-config-fluid": "^2.0.0",
49
+ "@microsoft/api-extractor": "^7.22.2",
50
+ "@rushstack/eslint-config": "^2.5.1",
51
+ "@types/node": "^14.18.36",
52
+ "concurrently": "^6.2.0",
53
+ "copyfiles": "^2.4.1",
54
+ "eslint": "~8.6.0",
55
+ "prettier": "~2.6.2",
56
+ "rimraf": "^2.6.2",
57
+ "typescript": "~4.5.5"
58
+ },
59
+ "typeValidation": {
60
+ "version": "2.0.0-internal.3.1.1",
61
+ "previousVersionStyle": "~previousMinor",
62
+ "baselineRange": ">=2.0.0-internal.3.0.0 <2.0.0-internal.3.1.0",
63
+ "baselineVersion": "2.0.0-internal.3.0.1",
64
+ "broken": {}
65
+ }
65
66
  }
@@ -4,5 +4,5 @@
4
4
  */
5
5
 
6
6
  module.exports = {
7
- ...require("@fluidframework/build-common/prettier.config.cjs"),
7
+ ...require("@fluidframework/build-common/prettier.config.cjs"),
8
8
  };
@@ -8,22 +8,22 @@ import { IFluidHandle } from "./handles";
8
8
  export const IFluidLoadable: keyof IProvideFluidLoadable = "IFluidLoadable";
9
9
 
10
10
  export interface IProvideFluidLoadable {
11
- readonly IFluidLoadable: IFluidLoadable;
11
+ readonly IFluidLoadable: IFluidLoadable;
12
12
  }
13
13
  /**
14
14
  * A shared FluidObject has a URL from which it can be referenced
15
15
  */
16
16
  export interface IFluidLoadable extends IProvideFluidLoadable {
17
- // Handle to the loadable FluidObject
18
- handle: IFluidHandle;
17
+ // Handle to the loadable FluidObject
18
+ handle: IFluidHandle;
19
19
  }
20
20
 
21
21
  export const IFluidRunnable: keyof IProvideFluidRunnable = "IFluidRunnable";
22
22
 
23
23
  export interface IProvideFluidRunnable {
24
- readonly IFluidRunnable: IFluidRunnable;
24
+ readonly IFluidRunnable: IFluidRunnable;
25
25
  }
26
26
  export interface IFluidRunnable {
27
- run(...args: any[]): Promise<void>;
28
- stop(reason?: string): void;
27
+ run(...args: any[]): Promise<void>;
28
+ stop(reason?: string): void;
29
29
  }
@@ -3,32 +3,34 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- /**
7
- * Specifies an environment on Fluid property of an {@link IFluidPackage}.
8
- *
9
- * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackageEnvironment}
10
- * to have code loading modules in same package.
11
- */
6
+ /**
7
+ * Specifies an environment on Fluid property of an {@link IFluidPackage}.
8
+ *
9
+ * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackageEnvironment}
10
+ * to have code loading modules in same package.
11
+ */
12
12
  export interface IFluidPackageEnvironment {
13
- /**
14
- * The name of the target. For a browser environment, this could be umd for scripts
15
- * or css for styles.
16
- */
17
- [target: string]: undefined | {
18
- /**
19
- * List of files for the target. These can be relative or absolute.
20
- * The code loader should resolve relative paths, and validate all
21
- * full urls.
22
- */
23
- files: string[];
13
+ /**
14
+ * The name of the target. For a browser environment, this could be umd for scripts
15
+ * or css for styles.
16
+ */
17
+ [target: string]:
18
+ | undefined
19
+ | {
20
+ /**
21
+ * List of files for the target. These can be relative or absolute.
22
+ * The code loader should resolve relative paths, and validate all
23
+ * full urls.
24
+ */
25
+ files: string[];
24
26
 
25
- /**
26
- * General access for extended fields as specific usages will
27
- * likely have additional infornamation like a definition
28
- * of Library, the entrypoint for umd packages
29
- */
30
- [key: string]: unknown;
31
- };
27
+ /**
28
+ * General access for extended fields as specific usages will
29
+ * likely have additional infornamation like a definition
30
+ * of Library, the entrypoint for umd packages
31
+ */
32
+ [key: string]: unknown;
33
+ };
32
34
  }
33
35
 
34
36
  /**
@@ -41,26 +43,26 @@ export interface IFluidPackageEnvironment {
41
43
  * to have code loading modules in same package.
42
44
  */
43
45
  export interface IFluidPackage {
44
- /**
45
- * The name of the package that this code represnets
46
- */
47
- name: string;
48
- /**
49
- * This object represents the Fluid specific properties of the package
50
- */
51
- fluid: {
52
- /**
53
- * The name of the of the environment. This should be something like browser, or node
54
- * and contain the necessary targets for loading this code in that environment.
55
- */
56
- [environment: string]: undefined | IFluidPackageEnvironment;
57
- };
58
- /**
59
- * General access for extended fields as specific usages will
60
- * likely have additional infornamation like a definition of
61
- * compatible versions, or deployment information like rings or rollouts.
62
- */
63
- [key: string]: unknown;
46
+ /**
47
+ * The name of the package that this code represnets
48
+ */
49
+ name: string;
50
+ /**
51
+ * This object represents the Fluid specific properties of the package
52
+ */
53
+ fluid: {
54
+ /**
55
+ * The name of the of the environment. This should be something like browser, or node
56
+ * and contain the necessary targets for loading this code in that environment.
57
+ */
58
+ [environment: string]: undefined | IFluidPackageEnvironment;
59
+ };
60
+ /**
61
+ * General access for extended fields as specific usages will
62
+ * likely have additional infornamation like a definition of
63
+ * compatible versions, or deployment information like rings or rollouts.
64
+ */
65
+ [key: string]: unknown;
64
66
  }
65
67
 
66
68
  /**
@@ -72,9 +74,7 @@ export interface IFluidPackage {
72
74
  * @param pkg - The package json data to check if it is a Fluid package.
73
75
  */
74
76
  export const isFluidPackage = (pkg: any): pkg is Readonly<IFluidPackage> =>
75
- typeof pkg === "object"
76
- && typeof pkg?.name === "string"
77
- && typeof pkg?.fluid === "object";
77
+ typeof pkg === "object" && typeof pkg?.name === "string" && typeof pkg?.fluid === "object";
78
78
 
79
79
  /**
80
80
  * Package manager configuration. Provides a key value mapping of config values.
@@ -83,7 +83,7 @@ export const isFluidPackage = (pkg: any): pkg is Readonly<IFluidPackage> =>
83
83
  * to have code loading modules in same package.
84
84
  */
85
85
  export interface IFluidCodeDetailsConfig {
86
- readonly [key: string]: string;
86
+ readonly [key: string]: string;
87
87
  }
88
88
 
89
89
  /**
@@ -93,41 +93,45 @@ export interface IFluidCodeDetailsConfig {
93
93
  * to have code loading modules in same package.
94
94
  */
95
95
  export interface IFluidCodeDetails {
96
- /**
97
- * The code package to be used on the Fluid document. This is either the package name which will be loaded
98
- * from a package manager. Or the expanded Fluid package.
99
- */
100
- readonly package: string | Readonly<IFluidPackage>;
96
+ /**
97
+ * The code package to be used on the Fluid document. This is either the package name which will be loaded
98
+ * from a package manager. Or the expanded Fluid package.
99
+ */
100
+ readonly package: string | Readonly<IFluidPackage>;
101
101
 
102
- /**
103
- * Configuration details. This includes links to the package manager and base CDNs.
104
- */
105
- readonly config?: IFluidCodeDetailsConfig;
102
+ /**
103
+ * Configuration details. This includes links to the package manager and base CDNs.
104
+ */
105
+ readonly config?: IFluidCodeDetailsConfig;
106
106
  }
107
107
 
108
108
  /**
109
109
  * @deprecated in favor of {@link @fluidframework/container-definitions#isFluidCodeDetails}
110
110
  * to have code loading modules in same package.
111
- */
111
+ */
112
112
  export const isFluidCodeDetails = (details: unknown): details is Readonly<IFluidCodeDetails> => {
113
- const maybeCodeDetails = details as Partial<IFluidCodeDetails> | undefined;
114
- return typeof maybeCodeDetails === "object"
115
- && (typeof maybeCodeDetails?.package === "string" || isFluidPackage(maybeCodeDetails?.package))
116
- && (maybeCodeDetails?.config === undefined || typeof maybeCodeDetails?.config === "object");
113
+ const maybeCodeDetails = details as Partial<IFluidCodeDetails> | undefined;
114
+ return (
115
+ typeof maybeCodeDetails === "object" &&
116
+ (typeof maybeCodeDetails?.package === "string" ||
117
+ isFluidPackage(maybeCodeDetails?.package)) &&
118
+ (maybeCodeDetails?.config === undefined || typeof maybeCodeDetails?.config === "object")
119
+ );
117
120
  };
118
121
 
119
122
  /**
120
123
  * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsComparer}
121
124
  * to have code loading modules in same package.
122
- */
123
- export const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer = "IFluidCodeDetailsComparer";
125
+ */
126
+ export const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer =
127
+ "IFluidCodeDetailsComparer";
124
128
 
125
129
  /**
126
130
  * @deprecated in favor of {@link @fluidframework/container-definitions#IProvideFluidCodeDetailsComparer}
127
131
  * to have code loading modules in same package.
128
- */
132
+ */
129
133
  export interface IProvideFluidCodeDetailsComparer {
130
- readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer ;
134
+ readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
131
135
  }
132
136
 
133
137
  /**
@@ -137,28 +141,27 @@ export interface IProvideFluidCodeDetailsComparer {
137
141
  * to have code loading modules in same package.
138
142
  */
139
143
  export interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
144
+ /**
145
+ * Determines if the `candidate` code details satisfy the constraints specified in `constraint` code details.
146
+ *
147
+ * Similar semantics to:
148
+ * {@link https://github.com/npm/node-semver#usage}
149
+ */
150
+ satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
140
151
 
141
- /**
142
- * Determines if the `candidate` code details satisfy the constraints specified in `constraint` code details.
143
- *
144
- * Similar semantics to:
145
- * {@link https://github.com/npm/node-semver#usage}
146
- */
147
- satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
148
-
149
- /**
150
- * Returns a number representing the ascending sort order of the `a` and `b` code details:
151
- *
152
- * - `< 0` if `a < b`.
153
- *
154
- * - `= 0` if `a === b`.
155
- *
156
- * - `> 0` if `a > b`.
157
- *
158
- * - `undefined` if `a` is not comparable to `b`.
159
- *
160
- * Similar semantics to:
161
- * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description | Array.sort}
162
- */
163
- compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
152
+ /**
153
+ * Returns a number representing the ascending sort order of the `a` and `b` code details:
154
+ *
155
+ * - `< 0` if `a < b`.
156
+ *
157
+ * - `= 0` if `a === b`.
158
+ *
159
+ * - `> 0` if `a > b`.
160
+ *
161
+ * - `undefined` if `a` is not comparable to `b`.
162
+ *
163
+ * Similar semantics to:
164
+ * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description | Array.sort}
165
+ */
166
+ compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
164
167
  }
@@ -4,20 +4,20 @@
4
4
  */
5
5
 
6
6
  export interface IRequestHeader {
7
- [index: string]: any;
7
+ [index: string]: any;
8
8
  }
9
9
 
10
10
  export interface IRequest {
11
- url: string;
12
- headers?: IRequestHeader;
11
+ url: string;
12
+ headers?: IRequestHeader;
13
13
  }
14
14
 
15
15
  export interface IResponse {
16
- mimeType: string;
17
- status: number;
18
- value: any;
19
- headers?: { [key: string]: any; };
20
- stack?: string;
16
+ mimeType: string;
17
+ status: number;
18
+ value: any;
19
+ headers?: { [key: string]: any };
20
+ stack?: string;
21
21
  }
22
22
 
23
23
  export const IFluidRouter: keyof IProvideFluidRouter = "IFluidRouter";
@@ -26,8 +26,8 @@ export const IFluidRouter: keyof IProvideFluidRouter = "IFluidRouter";
26
26
  * Request routing
27
27
  */
28
28
  export interface IProvideFluidRouter {
29
- readonly IFluidRouter: IFluidRouter;
29
+ readonly IFluidRouter: IFluidRouter;
30
30
  }
31
31
  export interface IFluidRouter extends IProvideFluidRouter {
32
- request(request: IRequest): Promise<IResponse>;
32
+ request(request: IRequest): Promise<IResponse>;
33
33
  }
package/src/handles.ts CHANGED
@@ -10,76 +10,75 @@ import { FluidObject } from "./provider";
10
10
  export const IFluidHandleContext: keyof IProvideFluidHandleContext = "IFluidHandleContext";
11
11
 
12
12
  export interface IProvideFluidHandleContext {
13
- readonly IFluidHandleContext: IFluidHandleContext;
13
+ readonly IFluidHandleContext: IFluidHandleContext;
14
14
  }
15
15
 
16
16
  /**
17
17
  * Describes a routing context from which other `IFluidHandleContext`s are defined.
18
18
  */
19
19
  export interface IFluidHandleContext extends IProvideFluidHandleContext {
20
- /**
21
- * The absolute path to the handle context from the root.
22
- */
23
- readonly absolutePath: string;
24
-
25
- /**
26
- * The parent IFluidHandleContext that has provided a route path to this IFluidHandleContext or undefined
27
- * at the root.
28
- */
29
- readonly routeContext?: IFluidHandleContext;
30
-
31
- /**
32
- * Flag indicating whether or not the entity has services attached.
33
- */
34
- readonly isAttached: boolean;
35
-
36
- /**
37
- * Runs through the graph and attach the bounded handles.
38
- */
39
- attachGraph(): void;
40
-
41
- resolveHandle(request: IRequest): Promise<IResponse>;
20
+ /**
21
+ * The absolute path to the handle context from the root.
22
+ */
23
+ readonly absolutePath: string;
24
+
25
+ /**
26
+ * The parent IFluidHandleContext that has provided a route path to this IFluidHandleContext or undefined
27
+ * at the root.
28
+ */
29
+ readonly routeContext?: IFluidHandleContext;
30
+
31
+ /**
32
+ * Flag indicating whether or not the entity has services attached.
33
+ */
34
+ readonly isAttached: boolean;
35
+
36
+ /**
37
+ * Runs through the graph and attach the bounded handles.
38
+ */
39
+ attachGraph(): void;
40
+
41
+ resolveHandle(request: IRequest): Promise<IResponse>;
42
42
  }
43
43
 
44
44
  export const IFluidHandle: keyof IProvideFluidHandle = "IFluidHandle";
45
45
 
46
46
  export interface IProvideFluidHandle {
47
- readonly IFluidHandle: IFluidHandle;
47
+ readonly IFluidHandle: IFluidHandle;
48
48
  }
49
49
 
50
50
  /**
51
51
  * Handle to a shared {@link FluidObject}.
52
52
  */
53
53
  export interface IFluidHandle<
54
- // REVIEW: Constrain `T` to something? How do we support dds and datastores safely?
55
- T = FluidObject & IFluidLoadable,
56
- > extends IProvideFluidHandle {
57
-
58
- /**
59
- * @deprecated Do not use handle's path for routing. Use `get` to get the underlying object.
60
- *
61
- * The absolute path to the handle context from the root.
62
- */
63
- readonly absolutePath: string;
64
-
65
- /**
66
- * Flag indicating whether or not the entity has services attached.
67
- */
68
- readonly isAttached: boolean;
69
-
70
- /**
71
- * Runs through the graph and attach the bounded handles.
72
- */
73
- attachGraph(): void;
74
-
75
- /**
76
- * Returns a promise to the Fluid Object referenced by the handle.
77
- */
78
- get(): Promise<T>;
79
-
80
- /**
81
- * Binds the given handle to this one or attach the given handle if this handle is attached.
82
- * A bound handle will also be attached once this handle is attached.
83
- */
84
- bind(handle: IFluidHandle): void;
54
+ // REVIEW: Constrain `T` to something? How do we support dds and datastores safely?
55
+ T = FluidObject & IFluidLoadable,
56
+ > extends IProvideFluidHandle {
57
+ /**
58
+ * @deprecated Do not use handle's path for routing. Use `get` to get the underlying object.
59
+ *
60
+ * The absolute path to the handle context from the root.
61
+ */
62
+ readonly absolutePath: string;
63
+
64
+ /**
65
+ * Flag indicating whether or not the entity has services attached.
66
+ */
67
+ readonly isAttached: boolean;
68
+
69
+ /**
70
+ * Runs through the graph and attach the bounded handles.
71
+ */
72
+ attachGraph(): void;
73
+
74
+ /**
75
+ * Returns a promise to the Fluid Object referenced by the handle.
76
+ */
77
+ get(): Promise<T>;
78
+
79
+ /**
80
+ * Binds the given handle to this one or attach the given handle if this handle is attached.
81
+ * A bound handle will also be attached once this handle is attached.
82
+ */
83
+ bind(handle: IFluidHandle): void;
85
84
  }
package/src/index.ts CHANGED
@@ -4,43 +4,39 @@
4
4
  */
5
5
 
6
6
  export {
7
- IFluidLoadable,
8
- IProvideFluidLoadable,
9
- IFluidRunnable,
10
- IProvideFluidRunnable,
7
+ IFluidLoadable,
8
+ IProvideFluidLoadable,
9
+ IFluidRunnable,
10
+ IProvideFluidRunnable,
11
11
  } from "./fluidLoadable";
12
12
 
13
13
  // Typescript forgets the index signature when customers augment IRequestHeader if we export *.
14
14
  // So we export the explicit members as a workaround:
15
15
  // https://github.com/microsoft/TypeScript/issues/18877#issuecomment-476921038
16
16
  export {
17
- IRequest,
18
- IRequestHeader,
19
- IResponse,
20
- IProvideFluidRouter,
21
- IFluidRouter,
17
+ IRequest,
18
+ IRequestHeader,
19
+ IResponse,
20
+ IProvideFluidRouter,
21
+ IFluidRouter,
22
22
  } from "./fluidRouter";
23
23
 
24
24
  export {
25
- IFluidHandleContext,
26
- IProvideFluidHandleContext,
27
- IFluidHandle,
28
- IProvideFluidHandle,
25
+ IFluidHandleContext,
26
+ IProvideFluidHandleContext,
27
+ IFluidHandle,
28
+ IProvideFluidHandle,
29
29
  } from "./handles";
30
30
 
31
31
  export {
32
- IFluidPackageEnvironment,
33
- IFluidPackage,
34
- isFluidPackage,
35
- IFluidCodeDetailsConfig,
36
- IFluidCodeDetails,
37
- isFluidCodeDetails,
38
- IFluidCodeDetailsComparer,
39
- IProvideFluidCodeDetailsComparer,
32
+ IFluidPackageEnvironment,
33
+ IFluidPackage,
34
+ isFluidPackage,
35
+ IFluidCodeDetailsConfig,
36
+ IFluidCodeDetails,
37
+ isFluidCodeDetails,
38
+ IFluidCodeDetailsComparer,
39
+ IProvideFluidCodeDetailsComparer,
40
40
  } from "./fluidPackage";
41
41
 
42
- export {
43
- FluidObjectProviderKeys,
44
- FluidObject,
45
- FluidObjectKeys,
46
- } from "./provider";
42
+ export { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from "./provider";