@fluidframework/core-interfaces 2.90.0-378676 → 2.90.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 (64) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/api-extractor/api-extractor-lint-internal-exposedUtilityTypes.esm.json +14 -0
  3. package/api-report/core-interfaces.legacy.alpha.api.md +7 -0
  4. package/api-report/core-interfaces.legacy.beta.api.md +7 -0
  5. package/dist/api-extractor/exposedUtilityTypes.d.ts +7 -0
  6. package/dist/api-extractor/exposedUtilityTypes.d.ts.map +1 -0
  7. package/dist/api-extractor/exposedUtilityTypes.js +7 -0
  8. package/dist/api-extractor/exposedUtilityTypes.js.map +1 -0
  9. package/dist/brandedType.d.ts +1 -1
  10. package/dist/brandedType.js.map +1 -1
  11. package/dist/deepReadonly.d.ts +1 -0
  12. package/dist/deepReadonly.d.ts.map +1 -1
  13. package/dist/deepReadonly.js.map +1 -1
  14. package/dist/exposedInternalUtilityTypes.d.ts +5 -5
  15. package/dist/exposedInternalUtilityTypes.js.map +1 -1
  16. package/dist/exposedUtilityTypes.d.ts +3 -3
  17. package/dist/exposedUtilityTypes.d.ts.map +1 -1
  18. package/dist/exposedUtilityTypes.js.map +1 -1
  19. package/dist/handles.js.map +1 -1
  20. package/dist/internal.d.ts +1 -1
  21. package/dist/internal.d.ts.map +1 -1
  22. package/dist/internal.js.map +1 -1
  23. package/dist/jsonString.d.ts.map +1 -1
  24. package/dist/jsonString.js.map +1 -1
  25. package/dist/legacy.alpha.d.ts +1 -0
  26. package/dist/legacy.d.ts +1 -0
  27. package/dist/shallowReadonly.d.ts +1 -0
  28. package/dist/shallowReadonly.d.ts.map +1 -1
  29. package/dist/shallowReadonly.js.map +1 -1
  30. package/lib/api-extractor/exposedUtilityTypes.d.ts +7 -0
  31. package/lib/api-extractor/exposedUtilityTypes.d.ts.map +1 -0
  32. package/lib/api-extractor/exposedUtilityTypes.js +6 -0
  33. package/lib/api-extractor/exposedUtilityTypes.js.map +1 -0
  34. package/lib/brandedType.d.ts +1 -1
  35. package/lib/brandedType.js.map +1 -1
  36. package/lib/deepReadonly.d.ts +1 -0
  37. package/lib/deepReadonly.d.ts.map +1 -1
  38. package/lib/deepReadonly.js.map +1 -1
  39. package/lib/exposedInternalUtilityTypes.d.ts +5 -5
  40. package/lib/exposedInternalUtilityTypes.js.map +1 -1
  41. package/lib/exposedUtilityTypes.d.ts +3 -3
  42. package/lib/exposedUtilityTypes.d.ts.map +1 -1
  43. package/lib/exposedUtilityTypes.js.map +1 -1
  44. package/lib/handles.js.map +1 -1
  45. package/lib/internal.d.ts +1 -1
  46. package/lib/internal.d.ts.map +1 -1
  47. package/lib/internal.js.map +1 -1
  48. package/lib/jsonString.d.ts.map +1 -1
  49. package/lib/jsonString.js.map +1 -1
  50. package/lib/legacy.alpha.d.ts +1 -0
  51. package/lib/legacy.d.ts +1 -0
  52. package/lib/shallowReadonly.d.ts +1 -0
  53. package/lib/shallowReadonly.d.ts.map +1 -1
  54. package/lib/shallowReadonly.js.map +1 -1
  55. package/package.json +6 -6
  56. package/src/api-extractor/exposedUtilityTypes.ts +18 -0
  57. package/src/brandedType.ts +1 -1
  58. package/src/deepReadonly.ts +1 -0
  59. package/src/exposedInternalUtilityTypes.ts +5 -5
  60. package/src/exposedUtilityTypes.ts +14 -4
  61. package/src/handles.ts +1 -1
  62. package/src/internal.ts +1 -1
  63. package/src/jsonString.ts +0 -1
  64. package/src/shallowReadonly.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/core-interfaces",
3
- "version": "2.90.0-378676",
3
+ "version": "2.90.0",
4
4
  "description": "Fluid object interfaces",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -86,8 +86,8 @@
86
86
  "@fluid-tools/build-cli": "^0.63.0",
87
87
  "@fluidframework/build-common": "^2.0.3",
88
88
  "@fluidframework/build-tools": "^0.63.0",
89
- "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@2.82.0",
90
- "@fluidframework/eslint-config-fluid": "2.90.0-378676",
89
+ "@fluidframework/core-interfaces-previous": "npm:@fluidframework/core-interfaces@2.83.0",
90
+ "@fluidframework/eslint-config-fluid": "~2.90.0",
91
91
  "@microsoft/api-extractor": "7.52.11",
92
92
  "@types/mocha": "^10.0.10",
93
93
  "@types/node": "~20.19.30",
@@ -97,9 +97,9 @@
97
97
  "cross-env": "^10.1.0",
98
98
  "eslint": "~9.39.1",
99
99
  "jiti": "^2.6.1",
100
- "mocha": "^10.8.2",
100
+ "mocha": "^11.7.5",
101
101
  "mocha-multi-reporters": "^1.5.1",
102
- "rimraf": "^6.1.2",
102
+ "rimraf": "^6.1.3",
103
103
  "typescript": "~5.4.5"
104
104
  },
105
105
  "fluidBuild": {
@@ -136,11 +136,11 @@
136
136
  "check:exports:cjs:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.cjs.json",
137
137
  "check:exports:cjs:legacy.alpha": "api-extractor run --config api-extractor/api-extractor-lint-legacy.alpha.cjs.json",
138
138
  "check:exports:cjs:public": "api-extractor run --config api-extractor/api-extractor-lint-public.cjs.json",
139
+ "check:exports:esm:internal/exposedUtilityTypes": "api-extractor run --config api-extractor/api-extractor-lint-internal-exposedUtilityTypes.esm.json",
139
140
  "check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
140
141
  "check:exports:esm:legacy.alpha": "api-extractor run --config api-extractor/api-extractor-lint-legacy.alpha.esm.json",
141
142
  "check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
142
143
  "check:format": "npm run check:biome",
143
- "ci:build": "npm run build:compile",
144
144
  "ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
145
145
  "ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
146
146
  "ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ // This is a workaround for api-extractor to see that "./index.js" exports are
7
+ // covered for the "internal/exposedUtilityTypes" entry point. This file
8
+ // re-exports everything from index.js and the exposedUtilityTypes.js files,
9
+ // which allows api-extractor to verify that all exports from both files are
10
+ // exported somewhere by the package.
11
+
12
+ /* eslint-disable no-restricted-syntax */
13
+
14
+ // The "internal" exports are a superset of the standard ones. So, we want to export everything from the standard barrel file.
15
+ // eslint-disable-next-line @typescript-eslint/no-restricted-imports
16
+ export type * from "../index.js";
17
+
18
+ export type * from "../exposedUtilityTypes.js";
@@ -69,7 +69,7 @@
69
69
  * }
70
70
  * ```
71
71
  *
72
- * @internal
72
+ * @beta
73
73
  */
74
74
  export declare class BrandedType<out Brand> {
75
75
  /**
@@ -16,6 +16,7 @@ import type {
16
16
  * @privateRemarks
17
17
  * WeakRef should be added when lib is updated to ES2021 or later.
18
18
  *
19
+ * @beta
19
20
  * @system
20
21
  */
21
22
  export type DeepReadonlySupportedGenericsDefault =
@@ -551,7 +551,7 @@ export namespace InternalUtilityTypes {
551
551
  * @typeParam IfNoMatch - Type to return if no match is found.
552
552
  *
553
553
  * @remarks
554
- * In a recursive context, use {@link InternalUtilityTypes.IfExactTypeInTuple} to manage ancestry.
554
+ * In a recursive context, use {@link InternalCoreInterfacesUtilityTypes.IfExactTypeInTuple} to manage ancestry.
555
555
  *
556
556
  * @privateRemarks
557
557
  * Perhaps it is a Typescript defect but a simple check that `T` is `never`
@@ -989,7 +989,7 @@ export namespace InternalUtilityTypes {
989
989
  /* eslint-enable @typescript-eslint/no-explicit-any */
990
990
 
991
991
  /**
992
- * Helper for {@link JsonSerializableFilter} to determine if a property may
992
+ * Helper for {@link InternalCoreInterfacesUtilityTypes.JsonSerializableFilter} to determine if a property may
993
993
  * be `undefined` and selects from options for result.
994
994
  * Since `unknown` is a superset of `undefined`, it is given a special case.
995
995
  * Additionally since index signatures are inherently optional, `unknown` typed
@@ -1248,7 +1248,7 @@ export namespace InternalUtilityTypes {
1248
1248
  : never /* unreachable else for infer */;
1249
1249
 
1250
1250
  /**
1251
- * Recurses `T` applying {@link InternalUtilityTypes.JsonDeserializedFilter} up until
1251
+ * Recurses `T` applying {@link InternalCoreInterfacesUtilityTypes.JsonDeserializedFilter} up until
1252
1252
  * `T` is found to be a match of an ancestor type. At that point `T` is wrapped in
1253
1253
  * {@link OpaqueJsonDeserialized} to avoid further immediate processing, if
1254
1254
  * modification is needed. Caller will need to unwrap the type to continue processing.
@@ -1760,7 +1760,7 @@ export namespace InternalUtilityTypes {
1760
1760
  : /* unreachable else for infer */ never;
1761
1761
 
1762
1762
  /**
1763
- * Recurses `T` applying {@link InternalUtilityTypes.DeepReadonlyWorker} up to `RecurseLimit` times.
1763
+ * Recurses `T` applying {@link InternalCoreInterfacesUtilityTypes.DeepReadonlyWorker} up to `RecurseLimit` times.
1764
1764
  *
1765
1765
  * @system
1766
1766
  */
@@ -1783,7 +1783,7 @@ export namespace InternalUtilityTypes {
1783
1783
  : DeepReadonlyWorker<T, DeepenedGenerics, RecurseLimit, TAncestorTypes | T>;
1784
1784
 
1785
1785
  /**
1786
- * Core implementation of {@link InternalUtilityTypes.DeepReadonlyLimitingRecursion}.
1786
+ * Core implementation of {@link InternalCoreInterfacesUtilityTypes.DeepReadonlyLimitingRecursion}.
1787
1787
  *
1788
1788
  * @system
1789
1789
  */
@@ -7,9 +7,13 @@
7
7
  // system level but externally exposed version of utilities are needed.
8
8
  // Import via /internal when use is not exposed externally.
9
9
  // Should a customer need access to these types, export should be relocated to
10
- // index.ts and retagged export from internal.ts may be removed.
10
+ // index.ts and the re-tagged export from internal.ts may be removed.
11
11
 
12
- export type { DeepReadonly } from "./deepReadonly.js";
12
+ export type {
13
+ DeepReadonly,
14
+ DeepReadonlyOptions,
15
+ DeepReadonlySupportedGenericsDefault,
16
+ } from "./deepReadonly.js";
13
17
  export type { JsonDeserialized, JsonDeserializedOptions } from "./jsonDeserialized.js";
14
18
  export type { JsonSerializable, JsonSerializableOptions } from "./jsonSerializable.js";
15
19
  export type {
@@ -22,9 +26,15 @@ export type {
22
26
  ReadonlyJsonTypeWith,
23
27
  } from "./jsonType.js";
24
28
  export type { OpaqueJsonDeserialized, OpaqueJsonSerializable } from "./opaqueJson.js";
25
- export type { ShallowReadonly } from "./shallowReadonly.js";
29
+ export type {
30
+ ShallowReadonly,
31
+ ShallowReadonlyOptions,
32
+ ShallowReadonlySupportedGenericsDefault,
33
+ } from "./shallowReadonly.js";
26
34
 
27
35
  export type {
28
- InternalUtilityTypes,
36
+ DeepReadonlyRecursionLimit,
37
+ // External name is qualified to avoid confusion with similarly named types in other packages.
38
+ InternalUtilityTypes as InternalCoreInterfacesUtilityTypes,
29
39
  ReadonlySupportedGenerics,
30
40
  } from "./exposedInternalUtilityTypes.js";
package/src/handles.ts CHANGED
@@ -223,5 +223,5 @@ export interface IFluidHandle<out T = unknown> {
223
223
  * Created from {@link IFluidHandleInternal} using {@link toFluidHandleErased}.
224
224
  * @sealed @public
225
225
  */
226
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/no-empty-interface
226
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
227
227
  export interface IFluidHandleErased<T> extends ErasedType<readonly ["IFluidHandle", T]> {}
package/src/internal.ts CHANGED
@@ -99,7 +99,7 @@ export type OpaqueJsonSerializable<
99
99
  * @internal
100
100
  */
101
101
  // eslint-disable-next-line @typescript-eslint/no-namespace
102
- export namespace InternalUtilityTypes {
102
+ export namespace InternalCoreInterfacesUtilityTypes {
103
103
  /* eslint-disable jsdoc/require-jsdoc */
104
104
  export type FlattenIntersection<T extends ExposedInternalUtilityTypes.AnyRecord> =
105
105
  ExposedInternalUtilityTypes.FlattenIntersection<T>;
package/src/jsonString.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- // eslint-disable-next-line @typescript-eslint/consistent-type-imports -- incorrect rule: misunderstands `declare`d types.
7
6
  import type { BrandedType } from "./brandedType.js";
8
7
  import type { InternalUtilityTypes } from "./exposedInternalUtilityTypes.js";
9
8
  import type { JsonDeserialized } from "./jsonDeserialized.js";
@@ -16,6 +16,7 @@ import type { IFluidHandle } from "./handles.js";
16
16
  * @privateRemarks
17
17
  * WeakRef should be added when lib is updated to ES2021 or later.
18
18
  *
19
+ * @beta
19
20
  * @system
20
21
  */
21
22
  export type ShallowReadonlySupportedGenericsDefault = Promise<unknown> | IFluidHandle;