@fluidframework/core-interfaces 2.0.0-internal.7.3.0 → 2.0.0-internal.7.4.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.
Files changed (108) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +3 -6
  4. package/api-report/core-interfaces.api.md +69 -61
  5. package/dist/config.d.ts +35 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +7 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/core-interfaces-alpha.d.ts +105 -230
  10. package/dist/core-interfaces-beta.d.ts +109 -905
  11. package/dist/core-interfaces-public.d.ts +109 -905
  12. package/dist/core-interfaces-untrimmed.d.ts +120 -3
  13. package/dist/disposable.d.ts +1 -0
  14. package/dist/disposable.d.ts.map +1 -1
  15. package/dist/disposable.js.map +1 -1
  16. package/dist/error.d.ts +9 -0
  17. package/dist/error.d.ts.map +1 -1
  18. package/dist/error.js +1 -0
  19. package/dist/error.js.map +1 -1
  20. package/dist/events.d.ts +8 -1
  21. package/dist/events.d.ts.map +1 -1
  22. package/dist/events.js.map +1 -1
  23. package/dist/fluidLoadable.d.ts +16 -0
  24. package/dist/fluidLoadable.d.ts.map +1 -1
  25. package/dist/fluidLoadable.js +6 -0
  26. package/dist/fluidLoadable.js.map +1 -1
  27. package/dist/fluidPackage.d.ts +9 -0
  28. package/dist/fluidPackage.d.ts.map +1 -1
  29. package/dist/fluidPackage.js +3 -0
  30. package/dist/fluidPackage.js.map +1 -1
  31. package/dist/fluidRouter.d.ts +12 -0
  32. package/dist/fluidRouter.d.ts.map +1 -1
  33. package/dist/fluidRouter.js +1 -0
  34. package/dist/fluidRouter.js.map +1 -1
  35. package/dist/handles.d.ts +14 -0
  36. package/dist/handles.d.ts.map +1 -1
  37. package/dist/handles.js +6 -0
  38. package/dist/handles.js.map +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/logger.d.ts +16 -0
  43. package/dist/logger.d.ts.map +1 -1
  44. package/dist/logger.js +1 -0
  45. package/dist/logger.js.map +1 -1
  46. package/dist/provider.d.ts +3 -2
  47. package/dist/provider.d.ts.map +1 -1
  48. package/dist/provider.js.map +1 -1
  49. package/lib/config.d.ts +35 -0
  50. package/lib/config.d.ts.map +1 -0
  51. package/lib/config.js +7 -0
  52. package/lib/config.js.map +1 -0
  53. package/lib/core-interfaces-alpha.d.ts +105 -230
  54. package/lib/core-interfaces-beta.d.ts +109 -905
  55. package/lib/core-interfaces-public.d.ts +109 -905
  56. package/lib/core-interfaces-untrimmed.d.ts +120 -3
  57. package/lib/disposable.d.ts +1 -0
  58. package/lib/disposable.d.ts.map +1 -1
  59. package/lib/disposable.js +2 -1
  60. package/lib/disposable.js.map +1 -1
  61. package/lib/error.d.ts +9 -0
  62. package/lib/error.d.ts.map +1 -1
  63. package/lib/error.js +5 -1
  64. package/lib/error.js.map +1 -1
  65. package/lib/events.d.ts +8 -1
  66. package/lib/events.d.ts.map +1 -1
  67. package/lib/events.js +2 -1
  68. package/lib/events.js.map +1 -1
  69. package/lib/fluidLoadable.d.ts +16 -0
  70. package/lib/fluidLoadable.d.ts.map +1 -1
  71. package/lib/fluidLoadable.js +11 -2
  72. package/lib/fluidLoadable.js.map +1 -1
  73. package/lib/fluidPackage.d.ts +9 -0
  74. package/lib/fluidPackage.d.ts.map +1 -1
  75. package/lib/fluidPackage.js +12 -4
  76. package/lib/fluidPackage.js.map +1 -1
  77. package/lib/fluidRouter.d.ts +12 -0
  78. package/lib/fluidRouter.d.ts.map +1 -1
  79. package/lib/fluidRouter.js +5 -1
  80. package/lib/fluidRouter.js.map +1 -1
  81. package/lib/handles.d.ts +14 -0
  82. package/lib/handles.d.ts.map +1 -1
  83. package/lib/handles.js +11 -2
  84. package/lib/handles.js.map +1 -1
  85. package/lib/index.d.ts +1 -0
  86. package/lib/index.d.ts.map +1 -1
  87. package/lib/index.js +19 -6
  88. package/lib/index.js.map +1 -1
  89. package/lib/logger.d.ts +16 -0
  90. package/lib/logger.d.ts.map +1 -1
  91. package/lib/logger.js +5 -1
  92. package/lib/logger.js.map +1 -1
  93. package/lib/provider.d.ts +3 -2
  94. package/lib/provider.d.ts.map +1 -1
  95. package/lib/provider.js +2 -1
  96. package/lib/provider.js.map +1 -1
  97. package/package.json +8 -5
  98. package/src/config.ts +36 -0
  99. package/src/disposable.ts +1 -0
  100. package/src/error.ts +9 -0
  101. package/src/events.ts +8 -1
  102. package/src/fluidLoadable.ts +16 -0
  103. package/src/fluidPackage.ts +9 -0
  104. package/src/fluidRouter.ts +12 -0
  105. package/src/handles.ts +14 -0
  106. package/src/index.ts +1 -0
  107. package/src/logger.ts +16 -0
  108. package/src/provider.ts +3 -2
@@ -3,17 +3,26 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ /**
7
+ * @alpha
8
+ */
6
9
  export interface IRequestHeader {
7
10
  // TODO: Use `unknown` instead (API-Breaking)
8
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
12
  [index: string]: any;
10
13
  }
11
14
 
15
+ /**
16
+ * @alpha
17
+ */
12
18
  export interface IRequest {
13
19
  url: string;
14
20
  headers?: IRequestHeader;
15
21
  }
16
22
 
23
+ /**
24
+ * @alpha
25
+ */
17
26
  export interface IResponse {
18
27
  mimeType: string;
19
28
  status: number;
@@ -28,12 +37,14 @@ export interface IResponse {
28
37
 
29
38
  /**
30
39
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
40
+ * @alpha
31
41
  */
32
42
  export const IFluidRouter: keyof IProvideFluidRouter = "IFluidRouter";
33
43
 
34
44
  /**
35
45
  * Request routing
36
46
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
47
+ * @alpha
37
48
  */
38
49
  export interface IProvideFluidRouter {
39
50
  readonly IFluidRouter: IFluidRouter;
@@ -41,6 +52,7 @@ export interface IProvideFluidRouter {
41
52
 
42
53
  /**
43
54
  * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
55
+ * @alpha
44
56
  */
45
57
  export interface IFluidRouter extends IProvideFluidRouter {
46
58
  request(request: IRequest): Promise<IResponse>;
package/src/handles.ts CHANGED
@@ -7,14 +7,21 @@ import { IRequest, IResponse } from "./fluidRouter";
7
7
  import { IFluidLoadable } from "./fluidLoadable";
8
8
  import { FluidObject } from "./provider";
9
9
 
10
+ /**
11
+ * @alpha
12
+ */
10
13
  export const IFluidHandleContext: keyof IProvideFluidHandleContext = "IFluidHandleContext";
11
14
 
15
+ /**
16
+ * @alpha
17
+ */
12
18
  export interface IProvideFluidHandleContext {
13
19
  readonly IFluidHandleContext: IFluidHandleContext;
14
20
  }
15
21
 
16
22
  /**
17
23
  * Describes a routing context from which other `IFluidHandleContext`s are defined.
24
+ * @alpha
18
25
  */
19
26
  export interface IFluidHandleContext extends IProvideFluidHandleContext {
20
27
  /**
@@ -41,14 +48,21 @@ export interface IFluidHandleContext extends IProvideFluidHandleContext {
41
48
  resolveHandle(request: IRequest): Promise<IResponse>;
42
49
  }
43
50
 
51
+ /**
52
+ * @alpha
53
+ */
44
54
  export const IFluidHandle: keyof IProvideFluidHandle = "IFluidHandle";
45
55
 
56
+ /**
57
+ * @alpha
58
+ */
46
59
  export interface IProvideFluidHandle {
47
60
  readonly IFluidHandle: IFluidHandle;
48
61
  }
49
62
 
50
63
  /**
51
64
  * Handle to a shared {@link FluidObject}.
65
+ * @alpha
52
66
  */
53
67
  export interface IFluidHandle<
54
68
  // REVIEW: Constrain `T` to something? How do we support dds and datastores safely?
package/src/index.ts CHANGED
@@ -78,3 +78,4 @@ export type {
78
78
  } from "./logger";
79
79
  export { LogLevel } from "./logger";
80
80
  export { FluidObjectProviderKeys, FluidObject, FluidObjectKeys } from "./provider";
81
+ export { ConfigTypes, IConfigProviderBase } from "./config";
package/src/logger.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * Examples of known categories, however category can be any string for extensibility.
8
8
  *
9
9
  * @deprecated Moved to \@fluidframework/telemetry-utils package
10
+ * @alpha
10
11
  */
11
12
  export type TelemetryEventCategory = "generic" | "error" | "performance";
12
13
 
@@ -16,6 +17,7 @@ export type TelemetryEventCategory = "generic" | "error" | "performance";
16
17
  * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
17
18
  * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
18
19
  * General best practice is to explicitly log the fields you care about from objects.
20
+ * @internal
19
21
  */
20
22
  export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
21
23
 
@@ -23,6 +25,7 @@ export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
23
25
  * {@inheritDoc TelemetryBaseEventPropertyType}
24
26
  *
25
27
  * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
28
+ * @alpha
26
29
  */
27
30
  export type TelemetryEventPropertyType = string | number | boolean | undefined;
28
31
 
@@ -32,6 +35,7 @@ export type TelemetryEventPropertyType = string | number | boolean | undefined;
32
35
  *
33
36
  * This indicates that the value should be organized or handled differently by loggers in various first or third
34
37
  * party scenarios. For example, tags are used to mark data that should not be stored in logs for privacy reasons.
38
+ * @alpha
35
39
  */
36
40
  export interface Tagged<V, T extends string = string> {
37
41
  value: V;
@@ -42,6 +46,7 @@ export interface Tagged<V, T extends string = string> {
42
46
  * @see {@link Tagged} for info on tagging
43
47
  *
44
48
  * @deprecated Use Tagged\<TelemetryBaseEventPropertyType\>
49
+ * @internal
45
50
  */
46
51
  export interface ITaggedTelemetryPropertyType {
47
52
  value: TelemetryEventPropertyType;
@@ -50,6 +55,7 @@ export interface ITaggedTelemetryPropertyType {
50
55
 
51
56
  /**
52
57
  * JSON-serializable properties, which will be logged with telemetry.
58
+ * @alpha
53
59
  */
54
60
  export type ITelemetryBaseProperties = ITelemetryProperties;
55
61
 
@@ -57,6 +63,7 @@ export type ITelemetryBaseProperties = ITelemetryProperties;
57
63
  * {@inheritDoc ITelemetryBaseProperties}
58
64
  *
59
65
  * @deprecated Renamed to {@link ITelemetryBaseProperties}
66
+ * @alpha
60
67
  */
61
68
  export interface ITelemetryProperties {
62
69
  [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
@@ -67,6 +74,7 @@ export interface ITelemetryProperties {
67
74
  * Can contain any number of properties that get serialized as json payload.
68
75
  * @param category - category of the event, like "error", "performance", "generic", etc.
69
76
  * @param eventName - name of the event.
77
+ * @alpha
70
78
  */
71
79
  export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
72
80
  category: string;
@@ -75,6 +83,7 @@ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
75
83
 
76
84
  /**
77
85
  * Specify levels of the logs.
86
+ * @alpha
78
87
  */
79
88
  export const LogLevel = {
80
89
  verbose: 10, // To log any verbose event for example when you are debugging something.
@@ -84,12 +93,14 @@ export const LogLevel = {
84
93
 
85
94
  /**
86
95
  * Specify a level to the log to filter out logs based on the level.
96
+ * @alpha
87
97
  */
88
98
  export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
89
99
 
90
100
  /**
91
101
  * Interface to output telemetry events.
92
102
  * Implemented by hosting app / loader
103
+ * @alpha
93
104
  */
94
105
  export interface ITelemetryBaseLogger {
95
106
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
@@ -103,6 +114,7 @@ export interface ITelemetryBaseLogger {
103
114
  *
104
115
  * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
105
116
  * No replacement intended for FluidFramework consumers.
117
+ * @alpha
106
118
  */
107
119
  export interface ITelemetryGenericEvent extends ITelemetryProperties {
108
120
  eventName: string;
@@ -115,6 +127,7 @@ export interface ITelemetryGenericEvent extends ITelemetryProperties {
115
127
  *
116
128
  * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
117
129
  * No replacement intended for FluidFramework consumers.
130
+ * @alpha
118
131
  */
119
132
  export interface ITelemetryErrorEvent extends ITelemetryProperties {
120
133
  eventName: string;
@@ -126,6 +139,7 @@ export interface ITelemetryErrorEvent extends ITelemetryProperties {
126
139
  *
127
140
  * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
128
141
  * No replacement intended for FluidFramework consumers.
142
+ * @alpha
129
143
  */
130
144
  export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
131
145
  duration?: number; // Duration of event (optional)
@@ -133,6 +147,7 @@ export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
133
147
 
134
148
  /**
135
149
  * An error object that supports exporting its properties to be logged to telemetry
150
+ * @internal
136
151
  */
137
152
  export interface ILoggingError extends Error {
138
153
  /**
@@ -148,6 +163,7 @@ export interface ILoggingError extends Error {
148
163
  *
149
164
  * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
150
165
  * No replacement intended for FluidFramework consumers.
166
+ * @alpha
151
167
  */
152
168
  export interface ITelemetryLogger extends ITelemetryBaseLogger {
153
169
  /**
package/src/provider.ts CHANGED
@@ -27,6 +27,7 @@
27
27
  *
28
28
  * This pattern enables discovery, and delegation in a standard way which is central
29
29
  * to FluidObject pattern.
30
+ * @alpha
30
31
  */
31
32
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp
32
33
  ? never
@@ -69,7 +70,7 @@ export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string
69
70
  *
70
71
  * You can inspect multiple types via a intersection. For example:
71
72
  * `FluidObject<IFoo & IBar>`
72
- *
73
+ * @alpha
73
74
  */
74
75
  export type FluidObject<T = unknown> = {
75
76
  [P in FluidObjectProviderKeys<T>]?: T[P];
@@ -82,6 +83,6 @@ export type FluidObject<T = unknown> = {
82
83
  * See {@link FluidObject}
83
84
  *
84
85
  * For example `FluidObjectKeys<IFoo & IBar>` would result in `"IFoo" | "IBar"`
85
- *
86
+ * @alpha
86
87
  */
87
88
  export type FluidObjectKeys<T> = keyof FluidObject<T>;