@fluidframework/core-interfaces 2.0.0-dev.7.4.0.216897 → 2.0.0-dev.7.4.0.217884

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 (76) hide show
  1. package/api-report/core-interfaces.api.md +49 -41
  2. package/dist/config.d.ts +35 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +7 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/core-interfaces-alpha.d.ts +738 -63
  7. package/dist/core-interfaces-beta.d.ts +4 -0
  8. package/dist/core-interfaces-public.d.ts +4 -0
  9. package/dist/core-interfaces-untrimmed.d.ts +74 -41
  10. package/dist/disposable.d.ts +1 -1
  11. package/dist/disposable.js.map +1 -1
  12. package/dist/error.d.ts +2 -1
  13. package/dist/error.d.ts.map +1 -1
  14. package/dist/error.js.map +1 -1
  15. package/dist/events.d.ts +8 -8
  16. package/dist/events.js.map +1 -1
  17. package/dist/fluidLoadable.d.ts +3 -3
  18. package/dist/fluidLoadable.js +1 -1
  19. package/dist/fluidLoadable.js.map +1 -1
  20. package/dist/fluidRouter.d.ts +6 -6
  21. package/dist/fluidRouter.js +1 -1
  22. package/dist/fluidRouter.js.map +1 -1
  23. package/dist/handles.d.ts +6 -6
  24. package/dist/handles.js +2 -2
  25. package/dist/handles.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/logger.d.ts +13 -13
  30. package/dist/logger.js +1 -1
  31. package/dist/logger.js.map +1 -1
  32. package/dist/provider.d.ts +3 -3
  33. package/dist/provider.js.map +1 -1
  34. package/lib/config.d.ts +35 -0
  35. package/lib/config.d.ts.map +1 -0
  36. package/lib/config.js +6 -0
  37. package/lib/config.js.map +1 -0
  38. package/lib/core-interfaces-alpha.d.ts +738 -63
  39. package/lib/core-interfaces-beta.d.ts +4 -0
  40. package/lib/core-interfaces-public.d.ts +4 -0
  41. package/lib/core-interfaces-untrimmed.d.ts +74 -41
  42. package/lib/disposable.d.ts +1 -1
  43. package/lib/disposable.js.map +1 -1
  44. package/lib/error.d.ts +2 -1
  45. package/lib/error.d.ts.map +1 -1
  46. package/lib/error.js.map +1 -1
  47. package/lib/events.d.ts +8 -8
  48. package/lib/events.js.map +1 -1
  49. package/lib/fluidLoadable.d.ts +3 -3
  50. package/lib/fluidLoadable.js +1 -1
  51. package/lib/fluidLoadable.js.map +1 -1
  52. package/lib/fluidRouter.d.ts +6 -6
  53. package/lib/fluidRouter.js +1 -1
  54. package/lib/fluidRouter.js.map +1 -1
  55. package/lib/handles.d.ts +6 -6
  56. package/lib/handles.js +2 -2
  57. package/lib/handles.js.map +1 -1
  58. package/lib/index.d.ts +1 -0
  59. package/lib/index.d.ts.map +1 -1
  60. package/lib/index.js.map +1 -1
  61. package/lib/logger.d.ts +13 -13
  62. package/lib/logger.js +1 -1
  63. package/lib/logger.js.map +1 -1
  64. package/lib/provider.d.ts +3 -3
  65. package/lib/provider.js.map +1 -1
  66. package/package.json +2 -2
  67. package/src/config.ts +36 -0
  68. package/src/disposable.ts +1 -1
  69. package/src/error.ts +2 -1
  70. package/src/events.ts +8 -8
  71. package/src/fluidLoadable.ts +3 -3
  72. package/src/fluidRouter.ts +6 -6
  73. package/src/handles.ts +6 -6
  74. package/src/index.ts +1 -0
  75. package/src/logger.ts +13 -13
  76. package/src/provider.ts +3 -3
@@ -4,7 +4,10 @@
4
4
 
5
5
  ```ts
6
6
 
7
- // @internal
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
13
  // @internal
@@ -19,24 +22,29 @@ export const FluidErrorTypes: {
19
22
  // @internal (undocumented)
20
23
  export type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof FluidErrorTypes];
21
24
 
22
- // @internal
25
+ // @alpha
23
26
  export type FluidObject<T = unknown> = {
24
27
  [P in FluidObjectProviderKeys<T>]?: T[P];
25
28
  };
26
29
 
27
- // @internal
30
+ // @alpha
28
31
  export type FluidObjectKeys<T> = keyof FluidObject<T>;
29
32
 
30
- // @internal
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
- // @internal
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
- // @internal
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
- // @internal
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
- // @internal
62
+ // @alpha
55
63
  export interface IEvent {
56
64
  // @eventProperty
57
65
  (event: string, listener: (...args: any[]) => void): any;
58
66
  }
59
67
 
60
- // @internal
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
- // @internal
75
+ // @alpha
68
76
  export type IEventThisPlaceHolder = {
69
77
  thisPlaceHolder: "thisPlaceHolder";
70
78
  };
71
79
 
72
- // @internal
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;
@@ -243,10 +251,10 @@ export interface IFluidCodeDetailsConfig {
243
251
  readonly [key: string]: string;
244
252
  }
245
253
 
246
- // @internal (undocumented)
254
+ // @alpha (undocumented)
247
255
  export const IFluidHandle: keyof IProvideFluidHandle;
248
256
 
249
- // @internal
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
- // @internal (undocumented)
269
+ // @alpha (undocumented)
262
270
  export const IFluidHandleContext: keyof IProvideFluidHandleContext;
263
271
 
264
- // @internal
272
+ // @alpha
265
273
  export interface IFluidHandleContext extends IProvideFluidHandleContext {
266
274
  readonly absolutePath: string;
267
275
  attachGraph(): void;
@@ -271,10 +279,10 @@ export interface IFluidHandleContext extends IProvideFluidHandleContext {
271
279
  readonly routeContext?: IFluidHandleContext;
272
280
  }
273
281
 
274
- // @internal (undocumented)
282
+ // @alpha (undocumented)
275
283
  export const IFluidLoadable: keyof IProvideFluidLoadable;
276
284
 
277
- // @internal
285
+ // @alpha
278
286
  export interface IFluidLoadable extends IProvideFluidLoadable {
279
287
  // (undocumented)
280
288
  handle: IFluidHandle;
@@ -297,10 +305,10 @@ export interface IFluidPackageEnvironment {
297
305
  };
298
306
  }
299
307
 
300
- // @internal @deprecated (undocumented)
308
+ // @alpha @deprecated (undocumented)
301
309
  export const IFluidRouter: keyof IProvideFluidRouter;
302
310
 
303
- // @internal @deprecated (undocumented)
311
+ // @alpha @deprecated (undocumented)
304
312
  export interface IFluidRouter extends IProvideFluidRouter {
305
313
  // (undocumented)
306
314
  request(request: IRequest): Promise<IResponse>;
@@ -335,25 +343,25 @@ export interface IProvideFluidCodeDetailsComparer {
335
343
  readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
336
344
  }
337
345
 
338
- // @internal (undocumented)
346
+ // @alpha (undocumented)
339
347
  export interface IProvideFluidHandle {
340
348
  // (undocumented)
341
349
  readonly IFluidHandle: IFluidHandle;
342
350
  }
343
351
 
344
- // @internal (undocumented)
352
+ // @alpha (undocumented)
345
353
  export interface IProvideFluidHandleContext {
346
354
  // (undocumented)
347
355
  readonly IFluidHandleContext: IFluidHandleContext;
348
356
  }
349
357
 
350
- // @internal (undocumented)
358
+ // @alpha (undocumented)
351
359
  export interface IProvideFluidLoadable {
352
360
  // (undocumented)
353
361
  readonly IFluidLoadable: IFluidLoadable;
354
362
  }
355
363
 
356
- // @internal @deprecated
364
+ // @alpha @deprecated
357
365
  export interface IProvideFluidRouter {
358
366
  // (undocumented)
359
367
  readonly IFluidRouter: IFluidRouter;
@@ -365,7 +373,7 @@ export interface IProvideFluidRunnable {
365
373
  readonly IFluidRunnable: IFluidRunnable;
366
374
  }
367
375
 
368
- // @internal (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
- // @internal (undocumented)
384
+ // @alpha (undocumented)
377
385
  export interface IRequestHeader {
378
386
  // (undocumented)
379
387
  [index: string]: any;
380
388
  }
381
389
 
382
- // @internal (undocumented)
390
+ // @alpha (undocumented)
383
391
  export interface IResponse {
384
392
  // (undocumented)
385
393
  headers?: {
@@ -409,7 +417,7 @@ export interface ITaggedTelemetryPropertyType {
409
417
  value: TelemetryEventPropertyType;
410
418
  }
411
419
 
412
- // @internal
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
- // @internal
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
- // @internal
436
+ // @alpha
429
437
  export type ITelemetryBaseProperties = ITelemetryProperties;
430
438
 
431
- // @internal @deprecated
439
+ // @alpha @deprecated
432
440
  export interface ITelemetryErrorEvent extends ITelemetryProperties {
433
441
  // (undocumented)
434
442
  eventName: string;
435
443
  }
436
444
 
437
- // @internal @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
- // @internal @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,13 +458,13 @@ 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
- // @internal @deprecated
461
+ // @alpha @deprecated
454
462
  export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
455
463
  // (undocumented)
456
464
  duration?: number;
457
465
  }
458
466
 
459
- // @internal @deprecated
467
+ // @alpha @deprecated
460
468
  export interface ITelemetryProperties {
461
469
  // (undocumented)
462
470
  [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
@@ -474,22 +482,22 @@ export interface IUsageError extends IErrorBase {
474
482
  readonly errorType: typeof FluidErrorTypes.usageError;
475
483
  }
476
484
 
477
- // @internal
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
- // @internal
492
+ // @alpha
485
493
  export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
486
494
 
487
- // @internal
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
- // @internal
500
+ // @alpha
493
501
  export interface Tagged<V, T extends string = string> {
494
502
  // (undocumented)
495
503
  tag: T;
@@ -500,13 +508,13 @@ export interface Tagged<V, T extends string = string> {
500
508
  // @internal
501
509
  export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
502
510
 
503
- // @internal @deprecated
511
+ // @alpha @deprecated
504
512
  export type TelemetryEventCategory = "generic" | "error" | "performance";
505
513
 
506
- // @internal @deprecated
514
+ // @alpha @deprecated
507
515
  export type TelemetryEventPropertyType = string | number | boolean | undefined;
508
516
 
509
- // @internal
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"]}