@fluidframework/core-interfaces 2.0.0-internal.7.2.2 → 2.0.0-internal.7.4.0

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 (111) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/api-extractor-lint.json +13 -0
  3. package/api-extractor.json +3 -3
  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 +782 -0
  10. package/dist/core-interfaces-beta.d.ts +111 -0
  11. package/dist/core-interfaces-public.d.ts +111 -0
  12. package/dist/core-interfaces-untrimmed.d.ts +1024 -0
  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/dist/tsdoc-metadata.json +1 -1
  50. package/lib/config.d.ts +35 -0
  51. package/lib/config.d.ts.map +1 -0
  52. package/lib/config.js +7 -0
  53. package/lib/config.js.map +1 -0
  54. package/lib/core-interfaces-alpha.d.ts +782 -0
  55. package/lib/core-interfaces-beta.d.ts +111 -0
  56. package/lib/core-interfaces-public.d.ts +111 -0
  57. package/lib/core-interfaces-untrimmed.d.ts +1024 -0
  58. package/lib/disposable.d.ts +1 -0
  59. package/lib/disposable.d.ts.map +1 -1
  60. package/lib/disposable.js +2 -1
  61. package/lib/disposable.js.map +1 -1
  62. package/lib/error.d.ts +9 -0
  63. package/lib/error.d.ts.map +1 -1
  64. package/lib/error.js +5 -1
  65. package/lib/error.js.map +1 -1
  66. package/lib/events.d.ts +8 -1
  67. package/lib/events.d.ts.map +1 -1
  68. package/lib/events.js +2 -1
  69. package/lib/events.js.map +1 -1
  70. package/lib/fluidLoadable.d.ts +16 -0
  71. package/lib/fluidLoadable.d.ts.map +1 -1
  72. package/lib/fluidLoadable.js +11 -2
  73. package/lib/fluidLoadable.js.map +1 -1
  74. package/lib/fluidPackage.d.ts +9 -0
  75. package/lib/fluidPackage.d.ts.map +1 -1
  76. package/lib/fluidPackage.js +12 -4
  77. package/lib/fluidPackage.js.map +1 -1
  78. package/lib/fluidRouter.d.ts +12 -0
  79. package/lib/fluidRouter.d.ts.map +1 -1
  80. package/lib/fluidRouter.js +5 -1
  81. package/lib/fluidRouter.js.map +1 -1
  82. package/lib/handles.d.ts +14 -0
  83. package/lib/handles.d.ts.map +1 -1
  84. package/lib/handles.js +11 -2
  85. package/lib/handles.js.map +1 -1
  86. package/lib/index.d.ts +1 -0
  87. package/lib/index.d.ts.map +1 -1
  88. package/lib/index.js +19 -6
  89. package/lib/index.js.map +1 -1
  90. package/lib/logger.d.ts +16 -0
  91. package/lib/logger.d.ts.map +1 -1
  92. package/lib/logger.js +5 -1
  93. package/lib/logger.js.map +1 -1
  94. package/lib/provider.d.ts +3 -2
  95. package/lib/provider.d.ts.map +1 -1
  96. package/lib/provider.js +2 -1
  97. package/lib/provider.js.map +1 -1
  98. package/package.json +30 -12
  99. package/src/config.ts +36 -0
  100. package/src/disposable.ts +1 -0
  101. package/src/error.ts +9 -0
  102. package/src/events.ts +8 -1
  103. package/src/fluidLoadable.ts +16 -0
  104. package/src/fluidPackage.ts +9 -0
  105. package/src/fluidRouter.ts +12 -0
  106. package/src/handles.ts +14 -0
  107. package/src/index.ts +1 -0
  108. package/src/logger.ts +16 -0
  109. package/src/provider.ts +3 -2
  110. package/tsconfig.esnext.json +1 -2
  111. package/tsconfig.json +5 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @fluidframework/core-interfaces
2
2
 
3
+ ## 2.0.0-internal.7.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
8
+
9
+ The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
10
+ The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
11
+ @fluidframework/core-interfaces.
12
+
13
+ ## 2.0.0-internal.7.3.0
14
+
15
+ Dependency updates only.
16
+
3
17
  ## 2.0.0-internal.7.2.0
4
18
 
5
19
  Dependency updates only.
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json",
4
+ "messages": {
5
+ "extractorMessageReporting": {
6
+ // TODO: remove once base config has this enabled as an error
7
+ "ae-incompatible-release-tags": {
8
+ "logLevel": "error",
9
+ "addToApiReportFile": false
10
+ }
11
+ }
12
+ }
13
+ }
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "@fluidframework/build-common/api-extractor-base.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.json",
4
4
  "messages": {
5
5
  "extractorMessageReporting": {
6
- "ae-missing-release-tag": {
7
- // TODO: Fix violations and remove this rule override
6
+ // TODO: Add missing documentation and remove this rule override
7
+ "ae-undocumented": {
8
8
  "logLevel": "none"
9
9
  }
10
10
  }
@@ -4,10 +4,13 @@
4
4
 
5
5
  ```ts
6
6
 
7
- // @public
7
+ // @alpha
8
+ export type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
9
+
10
+ // @alpha
8
11
  export type ExtendEventProvider<TBaseEvent extends IEvent, TBase extends IEventProvider<TBaseEvent>, TEvent extends TBaseEvent> = Omit<Omit<Omit<TBase, "on">, "once">, "off"> & IEventProvider<TBaseEvent> & IEventProvider<TEvent>;
9
12
 
10
- // @public
13
+ // @internal
11
14
  export const FluidErrorTypes: {
12
15
  readonly genericError: "genericError";
13
16
  readonly throttlingError: "throttlingError";
@@ -16,27 +19,32 @@ export const FluidErrorTypes: {
16
19
  readonly usageError: "usageError";
17
20
  };
18
21
 
19
- // @public (undocumented)
22
+ // @internal (undocumented)
20
23
  export type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof FluidErrorTypes];
21
24
 
22
- // @public
25
+ // @alpha
23
26
  export type FluidObject<T = unknown> = {
24
27
  [P in FluidObjectProviderKeys<T>]?: T[P];
25
28
  };
26
29
 
27
- // @public
30
+ // @alpha
28
31
  export type FluidObjectKeys<T> = keyof FluidObject<T>;
29
32
 
30
- // @public
33
+ // @alpha
31
34
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
32
35
 
33
- // @public
36
+ // @alpha
37
+ export interface IConfigProviderBase {
38
+ getRawConfig(name: string): ConfigTypes;
39
+ }
40
+
41
+ // @alpha
34
42
  export interface IDisposable {
35
43
  dispose(error?: Error): void;
36
44
  readonly disposed: boolean;
37
45
  }
38
46
 
39
- // @public
47
+ // @alpha
40
48
  export interface IErrorBase extends Partial<Error> {
41
49
  readonly errorType: string;
42
50
  getTelemetryProperties?(): ITelemetryBaseProperties;
@@ -45,31 +53,31 @@ export interface IErrorBase extends Partial<Error> {
45
53
  readonly stack?: string;
46
54
  }
47
55
 
48
- // @public
56
+ // @alpha
49
57
  export interface IErrorEvent extends IEvent {
50
58
  // @eventProperty
51
59
  (event: "error", listener: (message: any) => void): any;
52
60
  }
53
61
 
54
- // @public
62
+ // @alpha
55
63
  export interface IEvent {
56
64
  // @eventProperty
57
65
  (event: string, listener: (...args: any[]) => void): any;
58
66
  }
59
67
 
60
- // @public
68
+ // @alpha
61
69
  export interface IEventProvider<TEvent extends IEvent> {
62
70
  readonly off: IEventTransformer<this, TEvent>;
63
71
  readonly on: IEventTransformer<this, TEvent>;
64
72
  readonly once: IEventTransformer<this, TEvent>;
65
73
  }
66
74
 
67
- // @public
75
+ // @alpha
68
76
  export type IEventThisPlaceHolder = {
69
77
  thisPlaceHolder: "thisPlaceHolder";
70
78
  };
71
79
 
72
- // @public
80
+ // @alpha
73
81
  export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
74
82
  (event: infer E0, listener: (...args: infer A0) => void): any;
75
83
  (event: infer E1, listener: (...args: infer A1) => void): any;
@@ -222,31 +230,31 @@ export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
222
230
  (event: string, listener: (...args: any[]) => void): any;
223
231
  } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
224
232
 
225
- // @public @deprecated
233
+ // @internal @deprecated
226
234
  export interface IFluidCodeDetails {
227
235
  readonly config?: IFluidCodeDetailsConfig;
228
236
  readonly package: string | Readonly<IFluidPackage>;
229
237
  }
230
238
 
231
- // @public @deprecated (undocumented)
239
+ // @internal @deprecated (undocumented)
232
240
  export const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer;
233
241
 
234
- // @public @deprecated
242
+ // @internal @deprecated
235
243
  export interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
236
244
  compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
237
245
  satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
238
246
  }
239
247
 
240
- // @public @deprecated
248
+ // @internal @deprecated
241
249
  export interface IFluidCodeDetailsConfig {
242
250
  // (undocumented)
243
251
  readonly [key: string]: string;
244
252
  }
245
253
 
246
- // @public (undocumented)
254
+ // @alpha (undocumented)
247
255
  export const IFluidHandle: keyof IProvideFluidHandle;
248
256
 
249
- // @public
257
+ // @alpha
250
258
  export interface IFluidHandle<T = FluidObject & IFluidLoadable> extends IProvideFluidHandle {
251
259
  // @deprecated (undocumented)
252
260
  readonly absolutePath: string;
@@ -258,10 +266,10 @@ export interface IFluidHandle<T = FluidObject & IFluidLoadable> extends IProvide
258
266
  readonly isAttached: boolean;
259
267
  }
260
268
 
261
- // @public (undocumented)
269
+ // @alpha (undocumented)
262
270
  export const IFluidHandleContext: keyof IProvideFluidHandleContext;
263
271
 
264
- // @public
272
+ // @alpha
265
273
  export interface IFluidHandleContext extends IProvideFluidHandleContext {
266
274
  readonly absolutePath: string;
267
275
  attachGraph(): void;
@@ -271,16 +279,16 @@ export interface IFluidHandleContext extends IProvideFluidHandleContext {
271
279
  readonly routeContext?: IFluidHandleContext;
272
280
  }
273
281
 
274
- // @public (undocumented)
282
+ // @alpha (undocumented)
275
283
  export const IFluidLoadable: keyof IProvideFluidLoadable;
276
284
 
277
- // @public
285
+ // @alpha
278
286
  export interface IFluidLoadable extends IProvideFluidLoadable {
279
287
  // (undocumented)
280
288
  handle: IFluidHandle;
281
289
  }
282
290
 
283
- // @public @deprecated
291
+ // @internal @deprecated
284
292
  export interface IFluidPackage {
285
293
  [key: string]: unknown;
286
294
  fluid: {
@@ -289,7 +297,7 @@ export interface IFluidPackage {
289
297
  name: string;
290
298
  }
291
299
 
292
- // @public @deprecated
300
+ // @internal @deprecated
293
301
  export interface IFluidPackageEnvironment {
294
302
  [target: string]: undefined | {
295
303
  files: string[];
@@ -297,19 +305,19 @@ export interface IFluidPackageEnvironment {
297
305
  };
298
306
  }
299
307
 
300
- // @public @deprecated (undocumented)
308
+ // @alpha @deprecated (undocumented)
301
309
  export const IFluidRouter: keyof IProvideFluidRouter;
302
310
 
303
- // @public @deprecated (undocumented)
311
+ // @alpha @deprecated (undocumented)
304
312
  export interface IFluidRouter extends IProvideFluidRouter {
305
313
  // (undocumented)
306
314
  request(request: IRequest): Promise<IResponse>;
307
315
  }
308
316
 
309
- // @public (undocumented)
317
+ // @internal (undocumented)
310
318
  export const IFluidRunnable: keyof IProvideFluidRunnable;
311
319
 
312
- // @public (undocumented)
320
+ // @internal (undocumented)
313
321
  export interface IFluidRunnable {
314
322
  // (undocumented)
315
323
  run(...args: any[]): Promise<void>;
@@ -317,55 +325,55 @@ export interface IFluidRunnable {
317
325
  stop(reason?: string): void;
318
326
  }
319
327
 
320
- // @public
328
+ // @internal
321
329
  export interface IGenericError extends IErrorBase {
322
330
  // (undocumented)
323
331
  error?: any;
324
332
  readonly errorType: typeof FluidErrorTypes.genericError;
325
333
  }
326
334
 
327
- // @public
335
+ // @internal
328
336
  export interface ILoggingError extends Error {
329
337
  getTelemetryProperties(): ITelemetryBaseProperties;
330
338
  }
331
339
 
332
- // @public @deprecated (undocumented)
340
+ // @internal @deprecated (undocumented)
333
341
  export interface IProvideFluidCodeDetailsComparer {
334
342
  // (undocumented)
335
343
  readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
336
344
  }
337
345
 
338
- // @public (undocumented)
346
+ // @alpha (undocumented)
339
347
  export interface IProvideFluidHandle {
340
348
  // (undocumented)
341
349
  readonly IFluidHandle: IFluidHandle;
342
350
  }
343
351
 
344
- // @public (undocumented)
352
+ // @alpha (undocumented)
345
353
  export interface IProvideFluidHandleContext {
346
354
  // (undocumented)
347
355
  readonly IFluidHandleContext: IFluidHandleContext;
348
356
  }
349
357
 
350
- // @public (undocumented)
358
+ // @alpha (undocumented)
351
359
  export interface IProvideFluidLoadable {
352
360
  // (undocumented)
353
361
  readonly IFluidLoadable: IFluidLoadable;
354
362
  }
355
363
 
356
- // @public @deprecated
364
+ // @alpha @deprecated
357
365
  export interface IProvideFluidRouter {
358
366
  // (undocumented)
359
367
  readonly IFluidRouter: IFluidRouter;
360
368
  }
361
369
 
362
- // @public (undocumented)
370
+ // @internal (undocumented)
363
371
  export interface IProvideFluidRunnable {
364
372
  // (undocumented)
365
373
  readonly IFluidRunnable: IFluidRunnable;
366
374
  }
367
375
 
368
- // @public (undocumented)
376
+ // @alpha (undocumented)
369
377
  export interface IRequest {
370
378
  // (undocumented)
371
379
  headers?: IRequestHeader;
@@ -373,13 +381,13 @@ export interface IRequest {
373
381
  url: string;
374
382
  }
375
383
 
376
- // @public (undocumented)
384
+ // @alpha (undocumented)
377
385
  export interface IRequestHeader {
378
386
  // (undocumented)
379
387
  [index: string]: any;
380
388
  }
381
389
 
382
- // @public (undocumented)
390
+ // @alpha (undocumented)
383
391
  export interface IResponse {
384
392
  // (undocumented)
385
393
  headers?: {
@@ -395,13 +403,13 @@ export interface IResponse {
395
403
  value: any;
396
404
  }
397
405
 
398
- // @public @deprecated (undocumented)
406
+ // @internal @deprecated (undocumented)
399
407
  export const isFluidCodeDetails: (details: unknown) => details is Readonly<IFluidCodeDetails>;
400
408
 
401
- // @public @deprecated
409
+ // @internal @deprecated
402
410
  export const isFluidPackage: (pkg: unknown) => pkg is Readonly<IFluidPackage>;
403
411
 
404
- // @public @deprecated (undocumented)
412
+ // @internal @deprecated (undocumented)
405
413
  export interface ITaggedTelemetryPropertyType {
406
414
  // (undocumented)
407
415
  tag: string;
@@ -409,7 +417,7 @@ export interface ITaggedTelemetryPropertyType {
409
417
  value: TelemetryEventPropertyType;
410
418
  }
411
419
 
412
- // @public
420
+ // @alpha
413
421
  export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
414
422
  // (undocumented)
415
423
  category: string;
@@ -417,7 +425,7 @@ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
417
425
  eventName: string;
418
426
  }
419
427
 
420
- // @public
428
+ // @alpha
421
429
  export interface ITelemetryBaseLogger {
422
430
  // (undocumented)
423
431
  minLogLevel?: LogLevel;
@@ -425,16 +433,16 @@ export interface ITelemetryBaseLogger {
425
433
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
426
434
  }
427
435
 
428
- // @public
436
+ // @alpha
429
437
  export type ITelemetryBaseProperties = ITelemetryProperties;
430
438
 
431
- // @public @deprecated
439
+ // @alpha @deprecated
432
440
  export interface ITelemetryErrorEvent extends ITelemetryProperties {
433
441
  // (undocumented)
434
442
  eventName: string;
435
443
  }
436
444
 
437
- // @public @deprecated
445
+ // @alpha @deprecated
438
446
  export interface ITelemetryGenericEvent extends ITelemetryProperties {
439
447
  // (undocumented)
440
448
  category?: TelemetryEventCategory;
@@ -442,7 +450,7 @@ export interface ITelemetryGenericEvent extends ITelemetryProperties {
442
450
  eventName: string;
443
451
  }
444
452
 
445
- // @public @deprecated
453
+ // @alpha @deprecated
446
454
  export interface ITelemetryLogger extends ITelemetryBaseLogger {
447
455
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
448
456
  sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
@@ -450,46 +458,46 @@ export interface ITelemetryLogger extends ITelemetryBaseLogger {
450
458
  sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
451
459
  }
452
460
 
453
- // @public @deprecated
461
+ // @alpha @deprecated
454
462
  export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
455
463
  // (undocumented)
456
464
  duration?: number;
457
465
  }
458
466
 
459
- // @public @deprecated
467
+ // @alpha @deprecated
460
468
  export interface ITelemetryProperties {
461
469
  // (undocumented)
462
470
  [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
463
471
  }
464
472
 
465
- // @public
473
+ // @internal
466
474
  export interface IThrottlingWarning extends IErrorBase {
467
475
  readonly errorType: typeof FluidErrorTypes.throttlingError;
468
476
  // (undocumented)
469
477
  readonly retryAfterSeconds: number;
470
478
  }
471
479
 
472
- // @public
480
+ // @internal
473
481
  export interface IUsageError extends IErrorBase {
474
482
  readonly errorType: typeof FluidErrorTypes.usageError;
475
483
  }
476
484
 
477
- // @public
485
+ // @alpha
478
486
  export const LogLevel: {
479
487
  readonly verbose: 10;
480
488
  readonly default: 20;
481
489
  readonly error: 30;
482
490
  };
483
491
 
484
- // @public
492
+ // @alpha
485
493
  export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
486
494
 
487
- // @public
495
+ // @alpha
488
496
  export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
489
497
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
490
498
  } : L;
491
499
 
492
- // @public
500
+ // @alpha
493
501
  export interface Tagged<V, T extends string = string> {
494
502
  // (undocumented)
495
503
  tag: T;
@@ -497,16 +505,16 @@ export interface Tagged<V, T extends string = string> {
497
505
  value: V;
498
506
  }
499
507
 
500
- // @public
508
+ // @internal
501
509
  export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
502
510
 
503
- // @public @deprecated
511
+ // @alpha @deprecated
504
512
  export type TelemetryEventCategory = "generic" | "error" | "performance";
505
513
 
506
- // @public @deprecated
514
+ // @alpha @deprecated
507
515
  export type TelemetryEventPropertyType = string | number | boolean | undefined;
508
516
 
509
- // @public
517
+ // @alpha
510
518
  export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
511
519
 
512
520
  // (No @packageDocumentation comment for this package)
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ /**
6
+ * Types supported by {@link IConfigProviderBase}.
7
+ * @alpha
8
+ */
9
+ export type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
10
+ /**
11
+ * Base interface for providing configurations to enable/disable/control features.
12
+ * @alpha
13
+ */
14
+ export interface IConfigProviderBase {
15
+ /**
16
+ * For the specified config name this function gets the value.
17
+ *
18
+ * This type is meant be easy to implement by Fluid Framework consumers
19
+ * so the returned valued needs minimal type coercion, and allows consumers to
20
+ * return values in a natural way from whatever source they retrieve them.
21
+ *
22
+ * For instance a value of 1 maybe be returned as a string or a number.
23
+ * For array types a json string or an object are allowable.
24
+ *
25
+ * It should return undefined if there is no value available for the config name.
26
+ *
27
+ * @param name - The name of the config to get the value for.
28
+ *
29
+ * @privateRemarks Generally, this type should only be taken as input, and be wrapped by an
30
+ * internal monitoring context from the fluidframework/telemetry-utils package. That will provide
31
+ * a wrapper with provides strongly typed access to values via consistent type coercion.
32
+ */
33
+ getRawConfig(name: string): ConfigTypes;
34
+ }
35
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AAElG;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CACxC"}
package/dist/config.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
+ * Licensed under the MIT License.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Types supported by {@link IConfigProviderBase}.\n * @alpha\n */\nexport type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;\n\n/**\n * Base interface for providing configurations to enable/disable/control features.\n * @alpha\n */\nexport interface IConfigProviderBase {\n\t/**\n\t * For the specified config name this function gets the value.\n\t *\n\t * This type is meant be easy to implement by Fluid Framework consumers\n\t * so the returned valued needs minimal type coercion, and allows consumers to\n\t * return values in a natural way from whatever source they retrieve them.\n\t *\n\t * For instance a value of 1 maybe be returned as a string or a number.\n\t * For array types a json string or an object are allowable.\n\t *\n\t * It should return undefined if there is no value available for the config name.\n\t *\n\t * @param name - The name of the config to get the value for.\n\t *\n\t * @privateRemarks Generally, this type should only be taken as input, and be wrapped by an\n\t * internal monitoring context from the fluidframework/telemetry-utils package. That will provide\n\t * a wrapper with provides strongly typed access to values via consistent type coercion.\n\t */\n\tgetRawConfig(name: string): ConfigTypes;\n}\n"]}