@fluidframework/core-interfaces 2.41.0 → 2.42.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 (46) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/exposedInternalUtilityTypes.d.ts +56 -4
  3. package/dist/exposedInternalUtilityTypes.d.ts.map +1 -1
  4. package/dist/exposedInternalUtilityTypes.js.map +1 -1
  5. package/dist/exposedUtilityTypes.d.ts +1 -0
  6. package/dist/exposedUtilityTypes.d.ts.map +1 -1
  7. package/dist/exposedUtilityTypes.js.map +1 -1
  8. package/dist/internal.d.ts +10 -0
  9. package/dist/internal.d.ts.map +1 -1
  10. package/dist/internal.js.map +1 -1
  11. package/dist/jsonSerializable.d.ts +2 -2
  12. package/dist/jsonSerializable.js.map +1 -1
  13. package/dist/jsonUtils.d.ts +70 -0
  14. package/dist/jsonUtils.d.ts.map +1 -0
  15. package/dist/jsonUtils.js +7 -0
  16. package/dist/jsonUtils.js.map +1 -0
  17. package/dist/opaqueJson.d.ts +60 -0
  18. package/dist/opaqueJson.d.ts.map +1 -0
  19. package/dist/opaqueJson.js +8 -0
  20. package/dist/opaqueJson.js.map +1 -0
  21. package/lib/exposedInternalUtilityTypes.d.ts +56 -4
  22. package/lib/exposedInternalUtilityTypes.d.ts.map +1 -1
  23. package/lib/exposedInternalUtilityTypes.js.map +1 -1
  24. package/lib/exposedUtilityTypes.d.ts +1 -0
  25. package/lib/exposedUtilityTypes.d.ts.map +1 -1
  26. package/lib/exposedUtilityTypes.js.map +1 -1
  27. package/lib/internal.d.ts +10 -0
  28. package/lib/internal.d.ts.map +1 -1
  29. package/lib/internal.js.map +1 -1
  30. package/lib/jsonSerializable.d.ts +2 -2
  31. package/lib/jsonSerializable.js.map +1 -1
  32. package/lib/jsonUtils.d.ts +70 -0
  33. package/lib/jsonUtils.d.ts.map +1 -0
  34. package/lib/jsonUtils.js +6 -0
  35. package/lib/jsonUtils.js.map +1 -0
  36. package/lib/opaqueJson.d.ts +60 -0
  37. package/lib/opaqueJson.d.ts.map +1 -0
  38. package/lib/opaqueJson.js +6 -0
  39. package/lib/opaqueJson.js.map +1 -0
  40. package/package.json +2 -2
  41. package/src/exposedInternalUtilityTypes.ts +186 -80
  42. package/src/exposedUtilityTypes.ts +1 -0
  43. package/src/internal.ts +24 -0
  44. package/src/jsonSerializable.ts +2 -2
  45. package/src/jsonUtils.ts +90 -0
  46. package/src/opaqueJson.ts +87 -0
@@ -3,11 +3,13 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export * from "./index.js";
6
+ export type { JsonTypeToOpaqueJson, OpaqueJsonToJsonType } from "./jsonUtils.js";
6
7
  import type { DeepReadonly as ExposedDeepReadonly } from "./deepReadonly.js";
7
8
  import type { InternalUtilityTypes as ExposedInternalUtilityTypes } from "./exposedInternalUtilityTypes.js";
8
9
  import type { JsonDeserialized as ExposedJsonDeserialized, JsonDeserializedOptions } from "./jsonDeserialized.js";
9
10
  import type { JsonSerializable as ExposedJsonSerializable, JsonSerializableOptions } from "./jsonSerializable.js";
10
11
  import type { JsonTypeWith as ExposedJsonTypeWith, ReadonlyNonNullJsonObjectWith as ExposedReadonlyNonNullJsonObjectWith } from "./jsonType.js";
12
+ import type { OpaqueJsonDeserialized as ExposedOpaqueJsonDeserialized, OpaqueJsonSerializable as ExposedOpaqueJsonSerializable } from "./opaqueJson.js";
11
13
  /**
12
14
  * @internal
13
15
  */
@@ -34,6 +36,14 @@ export type JsonTypeWith<T> = ExposedJsonTypeWith<T>;
34
36
  * @internal
35
37
  */
36
38
  export type ReadonlyNonNullJsonObjectWith<T> = ExposedReadonlyNonNullJsonObjectWith<T>;
39
+ /**
40
+ * @internal
41
+ */
42
+ export type OpaqueJsonDeserialized<T, Option_AllowExactly extends unknown[] = [], Option_AllowExtensionOf = never> = ExposedOpaqueJsonDeserialized<T, Option_AllowExactly, Option_AllowExtensionOf>;
43
+ /**
44
+ * @internal
45
+ */
46
+ export type OpaqueJsonSerializable<T, Option_AllowExactly extends unknown[] = [], Option_AllowExtensionOf = never> = ExposedOpaqueJsonSerializable<T, Option_AllowExactly, Option_AllowExtensionOf>;
37
47
  /**
38
48
  * @internal
39
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,YAAY,CAAC;AAU3B,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,KAAK,EACX,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,YAAY,IAAI,mBAAmB,EACnC,6BAA6B,IAAI,oCAAoC,EACrE,MAAM,eAAe,CAAC;AAOvB;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC3B,CAAC,EACD,OAAO,SAAS,uBAAuB,GAAG;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;CACxB,IACE,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC3B,CAAC,EACD,OAAO,SAAS,uBAAuB,GAAG;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;CACxB,IACE,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI,oCAAoC,CAAC,CAAC,CAAC,CAAC;AAEvF;;GAEG;AAEH,yBAAiB,oBAAoB,CAAC;IAErC,KAAY,mBAAmB,CAAC,CAAC,SAAS,2BAA2B,CAAC,SAAS,IAC9E,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpD,KAAY,UAAU,CACrB,CAAC,EACD,CAAC,EACD,MAAM,GAAG,OAAO,EAChB,WAAW,GAAG,KAAK,IAChB,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;CAEtE"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,YAAY,CAAC;AAM3B,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMjF,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,KAAK,EACX,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,YAAY,IAAI,mBAAmB,EACnC,6BAA6B,IAAI,oCAAoC,EACrE,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACX,sBAAsB,IAAI,6BAA6B,EACvD,sBAAsB,IAAI,6BAA6B,EACvD,MAAM,iBAAiB,CAAC;AAOzB;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC3B,CAAC,EACD,OAAO,SAAS,uBAAuB,GAAG;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;CACxB,IACE,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC3B,CAAC,EACD,OAAO,SAAS,uBAAuB,GAAG;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;CACxB,IACE,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI,oCAAoC,CAAC,CAAC,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CACjC,CAAC,EACD,mBAAmB,SAAS,OAAO,EAAE,GAAG,EAAE,EAC1C,uBAAuB,GAAG,KAAK,IAC5B,6BAA6B,CAAC,CAAC,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CACjC,CAAC,EACD,mBAAmB,SAAS,OAAO,EAAE,GAAG,EAAE,EAC1C,uBAAuB,GAAG,KAAK,IAC5B,6BAA6B,CAAC,CAAC,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;AAEnF;;GAEG;AAEH,yBAAiB,oBAAoB,CAAC;IAErC,KAAY,mBAAmB,CAAC,CAAC,SAAS,2BAA2B,CAAC,SAAS,IAC9E,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpD,KAAY,UAAU,CACrB,CAAC,EACD,CAAC,EACD,MAAM,GAAG,OAAO,EAChB,WAAW,GAAG,KAAK,IAChB,2BAA2B,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;CAEtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gDAAgD;AAChD,6CAA2B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// eslint-disable-next-line no-restricted-syntax\nexport * from \"./index.js\";\n\n// Important: all other exports must be type only exports. In package.json exports,\n// index.js is listed as the runtime file. This is done so that all imports are\n// using the same outer runtime file. (Could be changed if needed.)\n\n// Export set of utility types re-tagged as internal for FF client convenience.\n// These types are not intended for direct use by customers and api-extractor will\n// flag misuse. If an externally visible version of these types is needed, import\n// from via /internal/exposedUtilityTypes rather than /internal.\nimport type { DeepReadonly as ExposedDeepReadonly } from \"./deepReadonly.js\";\nimport type { InternalUtilityTypes as ExposedInternalUtilityTypes } from \"./exposedInternalUtilityTypes.js\";\nimport type {\n\tJsonDeserialized as ExposedJsonDeserialized,\n\tJsonDeserializedOptions,\n} from \"./jsonDeserialized.js\";\nimport type {\n\tJsonSerializable as ExposedJsonSerializable,\n\tJsonSerializableOptions,\n} from \"./jsonSerializable.js\";\nimport type {\n\tJsonTypeWith as ExposedJsonTypeWith,\n\tReadonlyNonNullJsonObjectWith as ExposedReadonlyNonNullJsonObjectWith,\n} from \"./jsonType.js\";\n\n// Note: There are no docs for these re-exports. `@inheritdoc` cannot be used as:\n// 1. api-extractor does not support renames.\n// 2. api-extractor does not support package paths. (\"Import paths are not supported\")\n// Also not useful, at least in VS Code, as substitution is not made in place.\n\n/**\n * @internal\n */\nexport type DeepReadonly<T> = ExposedDeepReadonly<T>;\n\n/**\n * @internal\n */\nexport type JsonDeserialized<\n\tT,\n\tOptions extends JsonDeserializedOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = ExposedJsonDeserialized<T, Options>;\n\n/**\n * @internal\n */\nexport type JsonSerializable<\n\tT,\n\tOptions extends JsonSerializableOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = ExposedJsonSerializable<T, Options>;\n\n/**\n * @internal\n */\nexport type JsonTypeWith<T> = ExposedJsonTypeWith<T>;\n\n/**\n * @internal\n */\nexport type ReadonlyNonNullJsonObjectWith<T> = ExposedReadonlyNonNullJsonObjectWith<T>;\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace InternalUtilityTypes {\n\t/* eslint-disable jsdoc/require-jsdoc */\n\texport type FlattenIntersection<T extends ExposedInternalUtilityTypes.AnyRecord> =\n\t\tExposedInternalUtilityTypes.FlattenIntersection<T>;\n\texport type IfSameType<\n\t\tX,\n\t\tY,\n\t\tIfSame = unknown,\n\t\tIfDifferent = never,\n\t> = ExposedInternalUtilityTypes.IfSameType<X, Y, IfSame, IfDifferent>;\n\t/* eslint-enable jsdoc/require-jsdoc */\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,gDAAgD;AAChD,6CAA2B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n// eslint-disable-next-line no-restricted-syntax\nexport * from \"./index.js\";\n\n// Important: all other exports must be type only exports. In package.json exports,\n// index.js is listed as the runtime file. This is done so that all imports are\n// using the same outer runtime file. (Could be changed if needed.)\n\nexport type { JsonTypeToOpaqueJson, OpaqueJsonToJsonType } from \"./jsonUtils.js\";\n\n// Export set of utility types re-tagged as internal for FF client convenience.\n// These types are not intended for direct use by customers and api-extractor will\n// flag misuse. If an externally visible version of these types is needed, import\n// from via /internal/exposedUtilityTypes rather than /internal.\nimport type { DeepReadonly as ExposedDeepReadonly } from \"./deepReadonly.js\";\nimport type { InternalUtilityTypes as ExposedInternalUtilityTypes } from \"./exposedInternalUtilityTypes.js\";\nimport type {\n\tJsonDeserialized as ExposedJsonDeserialized,\n\tJsonDeserializedOptions,\n} from \"./jsonDeserialized.js\";\nimport type {\n\tJsonSerializable as ExposedJsonSerializable,\n\tJsonSerializableOptions,\n} from \"./jsonSerializable.js\";\nimport type {\n\tJsonTypeWith as ExposedJsonTypeWith,\n\tReadonlyNonNullJsonObjectWith as ExposedReadonlyNonNullJsonObjectWith,\n} from \"./jsonType.js\";\nimport type {\n\tOpaqueJsonDeserialized as ExposedOpaqueJsonDeserialized,\n\tOpaqueJsonSerializable as ExposedOpaqueJsonSerializable,\n} from \"./opaqueJson.js\";\n\n// Note: There are no docs for these re-exports. `@inheritdoc` cannot be used as:\n// 1. api-extractor does not support renames.\n// 2. api-extractor does not support package paths. (\"Import paths are not supported\")\n// Also not useful, at least in VS Code, as substitution is not made in place.\n\n/**\n * @internal\n */\nexport type DeepReadonly<T> = ExposedDeepReadonly<T>;\n\n/**\n * @internal\n */\nexport type JsonDeserialized<\n\tT,\n\tOptions extends JsonDeserializedOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = ExposedJsonDeserialized<T, Options>;\n\n/**\n * @internal\n */\nexport type JsonSerializable<\n\tT,\n\tOptions extends JsonSerializableOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = ExposedJsonSerializable<T, Options>;\n\n/**\n * @internal\n */\nexport type JsonTypeWith<T> = ExposedJsonTypeWith<T>;\n\n/**\n * @internal\n */\nexport type ReadonlyNonNullJsonObjectWith<T> = ExposedReadonlyNonNullJsonObjectWith<T>;\n\n/**\n * @internal\n */\nexport type OpaqueJsonDeserialized<\n\tT,\n\tOption_AllowExactly extends unknown[] = [],\n\tOption_AllowExtensionOf = never,\n> = ExposedOpaqueJsonDeserialized<T, Option_AllowExactly, Option_AllowExtensionOf>;\n\n/**\n * @internal\n */\nexport type OpaqueJsonSerializable<\n\tT,\n\tOption_AllowExactly extends unknown[] = [],\n\tOption_AllowExtensionOf = never,\n> = ExposedOpaqueJsonSerializable<T, Option_AllowExactly, Option_AllowExtensionOf>;\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace InternalUtilityTypes {\n\t/* eslint-disable jsdoc/require-jsdoc */\n\texport type FlattenIntersection<T extends ExposedInternalUtilityTypes.AnyRecord> =\n\t\tExposedInternalUtilityTypes.FlattenIntersection<T>;\n\texport type IfSameType<\n\t\tX,\n\t\tY,\n\t\tIfSame = unknown,\n\t\tIfDifferent = never,\n\t> = ExposedInternalUtilityTypes.IfSameType<X, Y, IfSame, IfDifferent>;\n\t/* eslint-enable jsdoc/require-jsdoc */\n}\n"]}
@@ -84,8 +84,8 @@ export interface JsonSerializableOptions {
84
84
  * Also, `JsonSerializable<T>` does not prevent the construction of circular references.
85
85
  *
86
86
  * Specifying `JsonSerializable<unknown>` or `JsonSerializable<any>` yields a type
87
- * alias for {@link JsonTypeWith}`<never>` and should not be used if precise type
88
- * safety is desired.
87
+ * alias for {@link JsonTypeWith}`<never>` | {@link OpaqueJsonSerializable}`<unknown>`
88
+ * and should not be used if precise type safety is desired.
89
89
  *
90
90
  * Class instances are indistinguishable from general objects by type checking
91
91
  * unless they have non-public members.
@@ -1 +1 @@
1
- {"version":3,"file":"jsonSerializable.js","sourceRoot":"","sources":["../src/jsonSerializable.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { InternalUtilityTypes } from \"./exposedInternalUtilityTypes.js\";\n\n/**\n * Options for {@link JsonSerializable}.\n *\n * @beta\n */\nexport interface JsonSerializableOptions {\n\t/**\n\t * Tuple of exact types that are managed by custom serialization logic (beyond\n\t * {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n\t * without a replacer). Only exact types matching specification will be\n\t * preserved unaltered.\n\t *\n\t * The default value is `[]`.\n\t */\n\tAllowExactly?: unknown[];\n\n\t/**\n\t * General types that are managed by custom serialization logic (beyond\n\t * {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n\t * without a replacer). Any type satisfying specification will be preserved\n\t * unaltered.\n\t *\n\t * The default value is `never`.\n\t */\n\tAllowExtensionOf?: unknown;\n\n\t/**\n\t * When set, inaccessible (protected and private) members throughout type T are\n\t * ignored as if not present.\n\t *\n\t * The default value is not present.\n\t */\n\tIgnoreInaccessibleMembers?: \"ignore-inaccessible-members\";\n}\n\n/**\n * Used to constrain a type `T` to types that are serializable as JSON\n * using {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n * (without a replacer) as base model.\n *\n * Under typical use a compile-time error is produced if `T` contains\n * non-JsonSerializable members.\n *\n * @typeParam T - The type to be constrained.\n * @typeParam Options - Options for the filter. See {@link JsonSerializableOptions}.\n *\n * @remarks\n * Before adding use of this utility type, consider using a utility like\n * {@link https://github.com/sinclairzx81/typebox#readme | TypeBox} that allows\n * for runtime validation.\n *\n * Note that this does NOT prevent use of values with non-JSON compatible data,\n * it only prevents using values with types that include non-JSON compatible data.\n * This means that one can, for example, pass in a value typed with JSON compatible\n * interface into this filter, that could actually be a class with lots on non-JSON\n * compatible fields and methods.\n *\n * Important: `T extends JsonSerializable<T>` is incorrect (does not even compile).\n *\n * The optional `Options.Allow*` parameters may be used to permit additional leaf types\n * to support situations where a `replacer` is used to handle special values (e.g.,\n * `JsonSerializable<{ x: IFluidHandle }, { AllowExtensionOf: IFluidHandle }>`).\n *\n * Note that `JsonSerializable<T>` does not protect against the following pitfalls\n * when serializing with JSON.stringify():\n *\n * - Non-finite numbers (`NaN`, `+/-Infinity`) are coerced to `null`.\n *\n * - Prototypes and non-enumerable properties are lost.\n *\n * - `ArrayLike` types that are not arrays and are serialized as `{ length: number }`.\n *\n * - Getter and setters properties are lost. (Though appear supported.)\n *\n * - Functions with properties may be absent or the properties may be preserved\n * depending on the runtime typo of the value. (If built via Object.assign the\n * target member's type is preserved.) typeof =\\> 'function' is lost whereas when\n * typeof =\\> 'object' the properties are preserved.\n *\n * - Sparse arrays are filled with `null`.\n *\n * Also, `JsonSerializable<T>` does not prevent the construction of circular references.\n *\n * Specifying `JsonSerializable<unknown>` or `JsonSerializable<any>` yields a type\n * alias for {@link JsonTypeWith}`<never>` and should not be used if precise type\n * safety is desired.\n *\n * Class instances are indistinguishable from general objects by type checking\n * unless they have non-public members.\n *\n * - Unless `Option.IgnoreInaccessibleMembers` is used, types with non-public\n * members will result in {@link SerializationErrorPerNonPublicProperties}.\n * When `Option.IgnoreInaccessibleMembers` is `ignore-inaccessible-members`,\n * non-public (non-function) members are preserved without error, but they are\n * filtered away by the type filters and thus produce an incorrectly narrowed\n * type compared to actual data. Though such a result may be customer desired.\n *\n * - An exception is made for classes that are intersected with primitives\n * (specifically `boolean`, `number`, * and `string`). In these cases, it is\n * assumed that the class only exists as a type modifier and not as a value\n * at runtime, and thus the class is permitted as no serialization is required.\n *\n * Perhaps a https://github.com/microsoft/TypeScript/issues/22677 fix will\n * enable better support.\n *\n * @example Typical usage\n *\n * ```typescript\n * function foo<T>(value: JsonSerializable<T>) { ... }\n * ```\n *\n * @privateRemarks\n * Upon recursion, the original type T is preserved intact. This is done to prevent\n * infinite recursion and produces a technically incorrect result type. However, with\n * proper use, that will never be an issue as any filtering of types will happen\n * before T recursion.\n *\n * @beta\n */\nexport type JsonSerializable<\n\tT,\n\tOptions extends JsonSerializableOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = InternalUtilityTypes.JsonSerializableImpl<T, Options>;\n"]}
1
+ {"version":3,"file":"jsonSerializable.js","sourceRoot":"","sources":["../src/jsonSerializable.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { InternalUtilityTypes } from \"./exposedInternalUtilityTypes.js\";\n\n/**\n * Options for {@link JsonSerializable}.\n *\n * @beta\n */\nexport interface JsonSerializableOptions {\n\t/**\n\t * Tuple of exact types that are managed by custom serialization logic (beyond\n\t * {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n\t * without a replacer). Only exact types matching specification will be\n\t * preserved unaltered.\n\t *\n\t * The default value is `[]`.\n\t */\n\tAllowExactly?: unknown[];\n\n\t/**\n\t * General types that are managed by custom serialization logic (beyond\n\t * {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n\t * without a replacer). Any type satisfying specification will be preserved\n\t * unaltered.\n\t *\n\t * The default value is `never`.\n\t */\n\tAllowExtensionOf?: unknown;\n\n\t/**\n\t * When set, inaccessible (protected and private) members throughout type T are\n\t * ignored as if not present.\n\t *\n\t * The default value is not present.\n\t */\n\tIgnoreInaccessibleMembers?: \"ignore-inaccessible-members\";\n}\n\n/**\n * Used to constrain a type `T` to types that are serializable as JSON\n * using {@link https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify|JSON.stringify}\n * (without a replacer) as base model.\n *\n * Under typical use a compile-time error is produced if `T` contains\n * non-JsonSerializable members.\n *\n * @typeParam T - The type to be constrained.\n * @typeParam Options - Options for the filter. See {@link JsonSerializableOptions}.\n *\n * @remarks\n * Before adding use of this utility type, consider using a utility like\n * {@link https://github.com/sinclairzx81/typebox#readme | TypeBox} that allows\n * for runtime validation.\n *\n * Note that this does NOT prevent use of values with non-JSON compatible data,\n * it only prevents using values with types that include non-JSON compatible data.\n * This means that one can, for example, pass in a value typed with JSON compatible\n * interface into this filter, that could actually be a class with lots on non-JSON\n * compatible fields and methods.\n *\n * Important: `T extends JsonSerializable<T>` is incorrect (does not even compile).\n *\n * The optional `Options.Allow*` parameters may be used to permit additional leaf types\n * to support situations where a `replacer` is used to handle special values (e.g.,\n * `JsonSerializable<{ x: IFluidHandle }, { AllowExtensionOf: IFluidHandle }>`).\n *\n * Note that `JsonSerializable<T>` does not protect against the following pitfalls\n * when serializing with JSON.stringify():\n *\n * - Non-finite numbers (`NaN`, `+/-Infinity`) are coerced to `null`.\n *\n * - Prototypes and non-enumerable properties are lost.\n *\n * - `ArrayLike` types that are not arrays and are serialized as `{ length: number }`.\n *\n * - Getter and setters properties are lost. (Though appear supported.)\n *\n * - Functions with properties may be absent or the properties may be preserved\n * depending on the runtime typo of the value. (If built via Object.assign the\n * target member's type is preserved.) typeof =\\> 'function' is lost whereas when\n * typeof =\\> 'object' the properties are preserved.\n *\n * - Sparse arrays are filled with `null`.\n *\n * Also, `JsonSerializable<T>` does not prevent the construction of circular references.\n *\n * Specifying `JsonSerializable<unknown>` or `JsonSerializable<any>` yields a type\n * alias for {@link JsonTypeWith}`<never>` | {@link OpaqueJsonSerializable}`<unknown>`\n * and should not be used if precise type safety is desired.\n *\n * Class instances are indistinguishable from general objects by type checking\n * unless they have non-public members.\n *\n * - Unless `Option.IgnoreInaccessibleMembers` is used, types with non-public\n * members will result in {@link SerializationErrorPerNonPublicProperties}.\n * When `Option.IgnoreInaccessibleMembers` is `ignore-inaccessible-members`,\n * non-public (non-function) members are preserved without error, but they are\n * filtered away by the type filters and thus produce an incorrectly narrowed\n * type compared to actual data. Though such a result may be customer desired.\n *\n * - An exception is made for classes that are intersected with primitives\n * (specifically `boolean`, `number`, * and `string`). In these cases, it is\n * assumed that the class only exists as a type modifier and not as a value\n * at runtime, and thus the class is permitted as no serialization is required.\n *\n * Perhaps a https://github.com/microsoft/TypeScript/issues/22677 fix will\n * enable better support.\n *\n * @example Typical usage\n *\n * ```typescript\n * function foo<T>(value: JsonSerializable<T>) { ... }\n * ```\n *\n * @privateRemarks\n * Upon recursion, the original type T is preserved intact. This is done to prevent\n * infinite recursion and produces a technically incorrect result type. However, with\n * proper use, that will never be an issue as any filtering of types will happen\n * before T recursion.\n *\n * @beta\n */\nexport type JsonSerializable<\n\tT,\n\tOptions extends JsonSerializableOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = InternalUtilityTypes.JsonSerializableImpl<T, Options>;\n"]}
@@ -0,0 +1,70 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import type { JsonDeserialized } from "./jsonDeserialized.js";
6
+ import type { JsonSerializable, JsonSerializableOptions } from "./jsonSerializable.js";
7
+ import type { OpaqueJsonDeserialized, OpaqueJsonSerializable } from "./opaqueJson.js";
8
+ /**
9
+ * Helper to return an Opaque Json type version of Json type
10
+ *
11
+ * @remarks
12
+ * To use this helper, create a helper function that filters type `T` through at
13
+ * least {@link JsonSerializable} and optionally {@link JsonDeserialized}. Then
14
+ * cast value through `unknown as JsonTypeToOpaqueJson<T, Options>`, where
15
+ * `Options` reflects the serialization capabilities of that area.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * function castToOpaqueJson<T>(value: JsonSerializable<T>): JsonTypeToOpaqueJson<T> {
20
+ * return value as unknown as JsonTypeToOpaqueJson<T>;
21
+ * }
22
+ * ```
23
+ *
24
+ * @internal
25
+ */
26
+ export type JsonTypeToOpaqueJson<T, Options extends JsonSerializableOptions = {
27
+ AllowExactly: [];
28
+ AllowExtensionOf: never;
29
+ }> = T extends JsonSerializable<T, Options> & JsonDeserialized<T, Options> ? OpaqueJsonSerializable<T, Options extends {
30
+ AllowExactly: unknown[];
31
+ } ? Options["AllowExactly"] : [], Options extends {
32
+ AllowExtensionOf: unknown;
33
+ } ? Options["AllowExtensionOf"] : never> & OpaqueJsonDeserialized<T, Options extends {
34
+ AllowExactly: unknown[];
35
+ } ? Options["AllowExactly"] : [], Options extends {
36
+ AllowExtensionOf: unknown;
37
+ } ? Options["AllowExtensionOf"] : never> : T extends JsonDeserialized<T, Options> ? OpaqueJsonDeserialized<T, Options extends {
38
+ AllowExactly: unknown[];
39
+ } ? Options["AllowExactly"] : [], Options extends {
40
+ AllowExtensionOf: unknown;
41
+ } ? Options["AllowExtensionOf"] : never> : T extends JsonSerializable<T, Options> ? OpaqueJsonSerializable<T, Options extends {
42
+ AllowExactly: unknown[];
43
+ } ? Options["AllowExactly"] : [], Options extends {
44
+ AllowExtensionOf: unknown;
45
+ } ? Options["AllowExtensionOf"] : never> : never;
46
+ /**
47
+ * Helper to extract Json type from an Opaque Json type
48
+ *
49
+ * @remarks
50
+ * This type only works with basic serialization capabilities (options).
51
+ * Attempts to make `Options` generic resulted in infinite recursion
52
+ * in TypeScript compiler that was not understood, so this type only
53
+ * supports TJson (value type) variance.
54
+ *
55
+ * To use this helper, create a helper function that accepts
56
+ * `OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>`.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * function exposeFromOpaqueJson<TOpaque extends OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>>(
61
+ * opaque: TOpaque,
62
+ * ): OpaqueJsonToJsonType<TOpaque> {
63
+ * return opaque as unknown as OpaqueJsonToJsonType<TOpaque>;
64
+ * }
65
+ * ```
66
+ *
67
+ * @internal
68
+ */
69
+ export type OpaqueJsonToJsonType<TOpaque extends OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>> = TOpaque extends OpaqueJsonSerializable<infer TJson> & OpaqueJsonDeserialized<infer TJson> ? JsonSerializable<TJson> & JsonDeserialized<TJson> : TOpaque extends OpaqueJsonDeserialized<infer TJson> ? JsonDeserialized<TJson> : TOpaque extends OpaqueJsonSerializable<infer TJson> ? JsonSerializable<TJson> : never;
70
+ //# sourceMappingURL=jsonUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonUtils.d.ts","sourceRoot":"","sources":["../src/jsonUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,oBAAoB,CAC/B,CAAC,EACD,OAAO,SAAS,uBAAuB,GAAG;IACzC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;CACxB,IACE,CAAC,SAAS,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,GACtE,sBAAsB,CACtB,CAAC,EACD,OAAO,SAAS;IAAE,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,EAC1E,OAAO,SAAS;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CACnF,GACA,sBAAsB,CACrB,CAAC,EACD,OAAO,SAAS;IAAE,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,EAC1E,OAAO,SAAS;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CACnF,GACD,CAAC,SAAS,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,GACrC,sBAAsB,CACtB,CAAC,EACD,OAAO,SAAS;IAAE,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,EAC1E,OAAO,SAAS;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CACnF,GACA,CAAC,SAAS,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,GACrC,sBAAsB,CACtB,CAAC,EACD,OAAO,SAAS;IAAE,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,EAC1E,OAAO,SAAS;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CACnF,GACA,KAAK,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,oBAAoB,CAC/B,OAAO,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAC9E,OAAO,SAAS,sBAAsB,CAAC,MAAM,KAAK,CAAC,GAAG,sBAAsB,CAAC,MAAM,KAAK,CAAC,GAC1F,gBAAgB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GACjD,OAAO,SAAS,sBAAsB,CAAC,MAAM,KAAK,CAAC,GAClD,gBAAgB,CAAC,KAAK,CAAC,GACvB,OAAO,SAAS,sBAAsB,CAAC,MAAM,KAAK,CAAC,GAClD,gBAAgB,CAAC,KAAK,CAAC,GACvB,KAAK,CAAC"}
@@ -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=jsonUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonUtils.js","sourceRoot":"","sources":["../src/jsonUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { JsonDeserialized } from \"./jsonDeserialized.js\";\nimport type { JsonSerializable, JsonSerializableOptions } from \"./jsonSerializable.js\";\nimport type { OpaqueJsonDeserialized, OpaqueJsonSerializable } from \"./opaqueJson.js\";\n\n/**\n * Helper to return an Opaque Json type version of Json type\n *\n * @remarks\n * To use this helper, create a helper function that filters type `T` through at\n * least {@link JsonSerializable} and optionally {@link JsonDeserialized}. Then\n * cast value through `unknown as JsonTypeToOpaqueJson<T, Options>`, where\n * `Options` reflects the serialization capabilities of that area.\n *\n * @example\n * ```ts\n * function castToOpaqueJson<T>(value: JsonSerializable<T>): JsonTypeToOpaqueJson<T> {\n * return value as unknown as JsonTypeToOpaqueJson<T>;\n * }\n * ```\n *\n * @internal\n */\nexport type JsonTypeToOpaqueJson<\n\tT,\n\tOptions extends JsonSerializableOptions = {\n\t\tAllowExactly: [];\n\t\tAllowExtensionOf: never;\n\t},\n> = T extends JsonSerializable<T, Options> & JsonDeserialized<T, Options>\n\t? OpaqueJsonSerializable<\n\t\t\tT,\n\t\t\tOptions extends { AllowExactly: unknown[] } ? Options[\"AllowExactly\"] : [],\n\t\t\tOptions extends { AllowExtensionOf: unknown } ? Options[\"AllowExtensionOf\"] : never\n\t\t> &\n\t\t\tOpaqueJsonDeserialized<\n\t\t\t\tT,\n\t\t\t\tOptions extends { AllowExactly: unknown[] } ? Options[\"AllowExactly\"] : [],\n\t\t\t\tOptions extends { AllowExtensionOf: unknown } ? Options[\"AllowExtensionOf\"] : never\n\t\t\t>\n\t: T extends JsonDeserialized<T, Options>\n\t\t? OpaqueJsonDeserialized<\n\t\t\t\tT,\n\t\t\t\tOptions extends { AllowExactly: unknown[] } ? Options[\"AllowExactly\"] : [],\n\t\t\t\tOptions extends { AllowExtensionOf: unknown } ? Options[\"AllowExtensionOf\"] : never\n\t\t\t>\n\t\t: T extends JsonSerializable<T, Options>\n\t\t\t? OpaqueJsonSerializable<\n\t\t\t\t\tT,\n\t\t\t\t\tOptions extends { AllowExactly: unknown[] } ? Options[\"AllowExactly\"] : [],\n\t\t\t\t\tOptions extends { AllowExtensionOf: unknown } ? Options[\"AllowExtensionOf\"] : never\n\t\t\t\t>\n\t\t\t: never;\n\n/**\n * Helper to extract Json type from an Opaque Json type\n *\n * @remarks\n * This type only works with basic serialization capabilities (options).\n * Attempts to make `Options` generic resulted in infinite recursion\n * in TypeScript compiler that was not understood, so this type only\n * supports TJson (value type) variance.\n *\n * To use this helper, create a helper function that accepts\n * `OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>`.\n *\n * @example\n * ```ts\n * function exposeFromOpaqueJson<TOpaque extends OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>>(\n *\t opaque: TOpaque,\n * ): OpaqueJsonToJsonType<TOpaque> {\n * return opaque as unknown as OpaqueJsonToJsonType<TOpaque>;\n * }\n * ```\n *\n * @internal\n */\nexport type OpaqueJsonToJsonType<\n\tTOpaque extends OpaqueJsonSerializable<unknown> | OpaqueJsonDeserialized<unknown>,\n> = TOpaque extends OpaqueJsonSerializable<infer TJson> & OpaqueJsonDeserialized<infer TJson>\n\t? JsonSerializable<TJson> & JsonDeserialized<TJson>\n\t: TOpaque extends OpaqueJsonDeserialized<infer TJson>\n\t\t? JsonDeserialized<TJson>\n\t\t: TOpaque extends OpaqueJsonSerializable<infer TJson>\n\t\t\t? JsonSerializable<TJson>\n\t\t\t: never;\n"]}
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+ import { BrandedType } from "./brandedType.js";
6
+ /**
7
+ * Placeholder for value that is known to be JSON because it has been
8
+ * deserialized (`T` filtered through {@link JsonDeserialized} as out value).
9
+ *
10
+ * @remarks
11
+ * Usage:
12
+ *
13
+ * - Cast to with `as unknown as OpaqueJsonDeserialized<T>` when value `T`
14
+ * has been filtered through {@link JsonDeserialized}.
15
+ *
16
+ * - Cast from with `as unknown as JsonDeserialized<T>` when "instance" will
17
+ * be read.
18
+ *
19
+ * @sealed
20
+ * @beta
21
+ */
22
+ export declare class OpaqueJsonDeserialized<T, in out Option_AllowExactly extends unknown[] = [], out Option_AllowExtensionOf = never> extends BrandedType<"JsonDeserialized"> {
23
+ protected readonly JsonDeserialized: {
24
+ Type: T;
25
+ Options: {
26
+ AllowExactly: Option_AllowExactly;
27
+ AllowExtensionOf: Option_AllowExtensionOf;
28
+ };
29
+ };
30
+ protected readonly Option_AllowExactly_Invariance: (Option_AllowExactly: Option_AllowExactly) => void;
31
+ private constructor();
32
+ }
33
+ /**
34
+ * Placeholder for value that is known to be JSON because it will have been
35
+ * serialized checked (`T` filtered through {@link JsonSerializable} before "created").
36
+ *
37
+ * @remarks
38
+ * Usage:
39
+ *
40
+ * - Cast to with `as unknown as OpaqueJsonSerializable<T>` when value `T`
41
+ * has been filtered through {@link JsonSerializable}.
42
+ *
43
+ * - Cast from with `as unknown as JsonSerializable<T>` or `as unknown as T`
44
+ * when "instance" will be forwarded along.
45
+ *
46
+ * @sealed
47
+ * @beta
48
+ */
49
+ export declare class OpaqueJsonSerializable<T, in out Option_AllowExactly extends unknown[] = [], out Option_AllowExtensionOf = never> extends BrandedType<"JsonSerializable"> {
50
+ protected readonly JsonSerializable: {
51
+ Type: T;
52
+ Options: {
53
+ AllowExactly: Option_AllowExactly;
54
+ AllowExtensionOf: Option_AllowExtensionOf;
55
+ };
56
+ };
57
+ protected readonly Option_AllowExactly_Invariance: (Option_AllowExactly: Option_AllowExactly) => void;
58
+ private constructor();
59
+ }
60
+ //# sourceMappingURL=opaqueJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opaqueJson.d.ts","sourceRoot":"","sources":["../src/opaqueJson.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAC1C,CAAC,EAMD,EAAE,CAAC,GAAG,CAAC,mBAAmB,SAAS,OAAO,EAAE,GAAG,EAAE,EACjD,GAAG,CAAC,uBAAuB,GAAG,KAAK,CAClC,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QACpC,IAAI,EAAE,CAAC,CAAC;QACR,OAAO,EAAE;YACR,YAAY,EAAE,mBAAmB,CAAC;YAClC,gBAAgB,EAAE,uBAAuB,CAAC;SAC1C,CAAC;KACF,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAClD,mBAAmB,EAAE,mBAAmB,KACpC,IAAI,CAAC;IACV,OAAO;CACP;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAC1C,CAAC,EAMD,EAAE,CAAC,GAAG,CAAC,mBAAmB,SAAS,OAAO,EAAE,GAAG,EAAE,EACjD,GAAG,CAAC,uBAAuB,GAAG,KAAK,CAElC,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QACpC,IAAI,EAAE,CAAC,CAAC;QACR,OAAO,EAAE;YACR,YAAY,EAAE,mBAAmB,CAAC;YAClC,gBAAgB,EAAE,uBAAuB,CAAC;SAC1C,CAAC;KACF,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAClD,mBAAmB,EAAE,mBAAmB,KACpC,IAAI,CAAC;IACV,OAAO;CACP"}
@@ -0,0 +1,8 @@
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
+ const brandedType_js_1 = require("./brandedType.js");
8
+ //# sourceMappingURL=opaqueJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opaqueJson.js","sourceRoot":"","sources":["../src/opaqueJson.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,qDAA+C","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrandedType } from \"./brandedType.js\";\n\n/**\n * Placeholder for value that is known to be JSON because it has been\n * deserialized (`T` filtered through {@link JsonDeserialized} as out value).\n *\n * @remarks\n * Usage:\n *\n * - Cast to with `as unknown as OpaqueJsonDeserialized<T>` when value `T`\n * has been filtered through {@link JsonDeserialized}.\n *\n * - Cast from with `as unknown as JsonDeserialized<T>` when \"instance\" will\n * be read.\n *\n * @sealed\n * @beta\n */\nexport declare class OpaqueJsonDeserialized<\n\tT,\n\t// These options are split from typical `JsonDeserializedOptions` as this type\n\t// requires correct variance per the two options and AllowExactly has special\n\t// variance and must be treated as invariant. In actuality, each member of the\n\t// AllowExactly tuple is invariant, but tuple as a set is covariant. This is not\n\t// expressible in TypeScript.\n\tin out Option_AllowExactly extends unknown[] = [],\n\tout Option_AllowExtensionOf = never,\n> extends BrandedType<\"JsonDeserialized\"> {\n\tprotected readonly JsonDeserialized: {\n\t\tType: T;\n\t\tOptions: {\n\t\t\tAllowExactly: Option_AllowExactly;\n\t\t\tAllowExtensionOf: Option_AllowExtensionOf;\n\t\t};\n\t};\n\t// Option_AllowExactly is covariant from above. This removes covariance, leaving only invariance.\n\tprotected readonly Option_AllowExactly_Invariance: (\n\t\tOption_AllowExactly: Option_AllowExactly,\n\t) => void;\n\tprivate constructor();\n}\n\n/**\n * Placeholder for value that is known to be JSON because it will have been\n * serialized checked (`T` filtered through {@link JsonSerializable} before \"created\").\n *\n * @remarks\n * Usage:\n *\n * - Cast to with `as unknown as OpaqueJsonSerializable<T>` when value `T`\n * has been filtered through {@link JsonSerializable}.\n *\n * - Cast from with `as unknown as JsonSerializable<T>` or `as unknown as T`\n * when \"instance\" will be forwarded along.\n *\n * @sealed\n * @beta\n */\nexport declare class OpaqueJsonSerializable<\n\tT,\n\t// These options are split from typical `JsonSerializableOptions` as this type\n\t// requires correct variance per the two options and AllowExactly has special\n\t// variance and must be treated as invariant. In actuality, each member of the\n\t// AllowExactly tuple is invariant, but tuple as a set is covariant. This is not\n\t// expressible in TypeScript.\n\tin out Option_AllowExactly extends unknown[] = [],\n\tout Option_AllowExtensionOf = never,\n\t// JsonSerializableOptions.IgnoreInaccessibleMembers is ignored\n> extends BrandedType<\"JsonSerializable\"> {\n\tprotected readonly JsonSerializable: {\n\t\tType: T;\n\t\tOptions: {\n\t\t\tAllowExactly: Option_AllowExactly;\n\t\t\tAllowExtensionOf: Option_AllowExtensionOf;\n\t\t};\n\t};\n\t// Option_AllowExactly is covariant from above. This removes covariance, leaving only invariance.\n\tprotected readonly Option_AllowExactly_Invariance: (\n\t\tOption_AllowExactly: Option_AllowExactly,\n\t) => void;\n\tprivate constructor();\n}\n"]}
@@ -6,6 +6,7 @@ import type { ErasedType } from "./erasedType.js";
6
6
  import type { IFluidHandle } from "./handles.js";
7
7
  import type { SerializationErrorPerNonPublicProperties, SerializationErrorPerUndefinedArrayElement } from "./jsonSerializationErrors.js";
8
8
  import type { JsonTypeWith, NonNullJsonObjectWith, ReadonlyJsonTypeWith } from "./jsonType.js";
9
+ import type { OpaqueJsonDeserialized, OpaqueJsonSerializable } from "./opaqueJson.js";
9
10
  /**
10
11
  * Unique symbol for recursion meta-typing.
11
12
  */
@@ -318,6 +319,15 @@ export declare namespace InternalUtilityTypes {
318
319
  export type FlattenIntersection<T extends AnyRecord> = T extends AnyRecord ? {
319
320
  [K in keyof T]: T[K];
320
321
  } : T;
322
+ /**
323
+ * Convenience constraint for any Opaque Json type.
324
+ *
325
+ * @remarks
326
+ * Use in extends check: `T extends AnyOpaqueJsonType`
327
+ *
328
+ * @system
329
+ */
330
+ export type AnyOpaqueJsonType = OpaqueJsonSerializable<unknown, any, unknown> | OpaqueJsonDeserialized<unknown, any, unknown>;
321
331
  /**
322
332
  * Extracts Function portion from an intersection (&) type returning
323
333
  * the extracted portion in the `function` property or `unknown` if
@@ -435,10 +445,14 @@ export declare namespace InternalUtilityTypes {
435
445
  AllowExactly: unknown[];
436
446
  } ? TupleToUnion<Options["AllowExactly"]> : never) | (Options extends {
437
447
  AllowExtensionOf: unknown;
438
- } ? Options["AllowExtensionOf"] : never)>;
448
+ } ? Options["AllowExtensionOf"] : never)> | OpaqueJsonSerializable<unknown, Options extends {
449
+ AllowExactly: unknown[];
450
+ } ? Options["AllowExactly"] : [], Options extends {
451
+ AllowExtensionOf: unknown;
452
+ } ? Options["AllowExtensionOf"] : never>;
439
453
  } extends infer Controls ? Controls extends FilterControlsWithSubstitution ? boolean extends (T extends never ? true : false) ? Controls["DegenerateSubstitute"] : Options["IgnoreInaccessibleMembers"] extends "ignore-inaccessible-members" ? JsonSerializableFilter<T, Controls, TAncestorTypes, TNextAncestor> : IfNonPublicProperties<T, {
440
454
  AllowExactly: Controls["AllowExactly"];
441
- AllowExtensionOf: Controls["AllowExtensionOf"] | boolean | number | string;
455
+ AllowExtensionOf: Controls["AllowExtensionOf"] | boolean | number | string | AnyOpaqueJsonType;
442
456
  DegenerateSubstitute: Controls["DegenerateSubstitute"];
443
457
  }, "found non-publics", "only publics"> extends "found non-publics" ? T extends readonly (infer _)[] ? {
444
458
  [K in keyof T]: JsonSerializableImpl<T[K], Controls, [
@@ -446,6 +460,25 @@ export declare namespace InternalUtilityTypes {
446
460
  ...TAncestorTypes
447
461
  ]>;
448
462
  } : T extends boolean | number | string ? T : SerializationErrorPerNonPublicProperties : JsonSerializableFilter<T, Controls, TAncestorTypes, TNextAncestor> : never : never;
463
+ /**
464
+ * Handle Opaque Json types for {@link JsonSerializable}.
465
+ *
466
+ * @remarks
467
+ * {@link OpaqueJsonSerializable} and {@link OpaqueJsonDeserialized} instances
468
+ * are limited to `Controls` given context supports.
469
+ * `T` from the original Opaque type is preserved. In the case that this now
470
+ * produces an improper type such as a `bigint` being let through that is no
471
+ * longer supported, then the variance of `Controls` is expected to raise
472
+ * the incompatibility error.
473
+ *
474
+ * @privateRemarks
475
+ * Additional intersections beyond {@link OpaqueJsonSerializable},
476
+ * {@link OpaqueJsonDeserialized}, or intersected matching opaque pair are
477
+ * not correctly filtered as need is not expected.
478
+ *
479
+ * @system
480
+ */
481
+ export type JsonSerializableOpaqueAllowances<T extends AnyOpaqueJsonType, Controls extends FilterControlsWithSubstitution> = T extends OpaqueJsonSerializable<infer TData, any, unknown> | OpaqueJsonDeserialized<infer TData, any, unknown> ? T extends OpaqueJsonSerializable<TData, any, unknown> & OpaqueJsonDeserialized<TData, any, unknown> ? OpaqueJsonSerializable<TData, Controls["AllowExactly"], Controls["AllowExtensionOf"]> & OpaqueJsonDeserialized<TData, Controls["AllowExactly"], Controls["AllowExtensionOf"]> : T extends OpaqueJsonSerializable<TData, any, unknown> ? OpaqueJsonSerializable<TData, Controls["AllowExactly"], Controls["AllowExtensionOf"]> : T extends OpaqueJsonDeserialized<TData, any, unknown> ? OpaqueJsonDeserialized<TData, Controls["AllowExactly"], Controls["AllowExtensionOf"]> : "internal error: failed to determine Opaque Json type" : never;
449
482
  /**
450
483
  * Essentially a check for a template literal that has $\{string\} or
451
484
  * $\{number\} in the pattern. Just `string` and/or `number` also match.
@@ -485,7 +518,7 @@ export declare namespace InternalUtilityTypes {
485
518
  TNextAncestor,
486
519
  ...TAncestorTypes
487
520
  ]>>;
488
- } : IsExactlyObject<T> extends true ? NonNullJsonObjectWith<TupleToUnion<Controls["AllowExactly"]> | Controls["AllowExtensionOf"]> : IfEnumLike<T> extends never ? T : FlattenIntersection<{
521
+ } : IsExactlyObject<T> extends true ? NonNullJsonObjectWith<TupleToUnion<Controls["AllowExactly"]> | Controls["AllowExtensionOf"]> : IfEnumLike<T> extends never ? T : T extends AnyOpaqueJsonType ? JsonSerializableOpaqueAllowances<T, Controls> : FlattenIntersection<{
489
522
  [K in keyof T as RequiredNonSymbolKeysOf<T, K>]-?: IfPossiblyUndefinedProperty<K, T[K], {
490
523
  IfPossiblyUndefined: {
491
524
  ["error required property may not allow `undefined` value"]: never;
@@ -559,6 +592,25 @@ export declare namespace InternalUtilityTypes {
559
592
  * @system
560
593
  */
561
594
  export type JsonDeserializedRecursion<T, Controls extends DeserializedFilterControls, RecurseLimit extends RecursionLimit, TAncestorTypes> = T extends TAncestorTypes ? RecurseLimit extends `+${infer RecursionRemainder}` ? JsonDeserializedImpl<T, Controls, RecursionRemainder extends RecursionLimit ? RecursionRemainder : 0> : Controls["DegenerateSubstitute"] : JsonDeserializedFilter<T, Controls, RecurseLimit, TAncestorTypes | T>;
595
+ /**
596
+ * Handle Opaque Json types for {@link JsonDeserialized}.
597
+ *
598
+ * @remarks
599
+ * {@link OpaqueJsonSerializable} instances are converted to {@link OpaqueJsonDeserialized}.
600
+ * The `AllowExactly` and `AllowExtensionOf` properties are set to match the given `Controls`.
601
+ * The data type is kept exactly as-is to avoid processing in generic contexts that can't
602
+ * produce a meaningful result. The data type should always be filtered through
603
+ * {@link JsonDeserialized} when {@link OpaqueJsonDeserialized} is cracked open. So, really
604
+ * the filtering is just deferred.
605
+ *
606
+ * @privateRemarks
607
+ * Additional intersections beyond {@link OpaqueJsonSerializable},
608
+ * {@link OpaqueJsonDeserialized}, or intersected matching opaque pair are
609
+ * not correctly filtered as need is not expected.
610
+ *
611
+ * @system
612
+ */
613
+ export type JsonDeserializedOpaqueConversion<T extends AnyOpaqueJsonType, Controls extends FilterControls> = T extends OpaqueJsonSerializable<infer TData, any, unknown> | OpaqueJsonDeserialized<infer TData, any, unknown> ? OpaqueJsonDeserialized<TData, Controls["AllowExactly"], Controls["AllowExtensionOf"]> : "internal error: failed to determine Opaque Json type";
562
614
  /**
563
615
  * Core implementation of {@link JsonDeserialized}.
564
616
  *
@@ -568,7 +620,7 @@ export declare namespace InternalUtilityTypes {
568
620
  classification: "exactly Function";
569
621
  } ? never : T extends readonly (infer _)[] ? {
570
622
  [K in keyof T]: JsonForDeserializedArrayItem<T[K], Controls, JsonDeserializedRecursion<T[K], Controls, RecurseLimit, TAncestorTypes>>;
571
- } : IsExactlyObject<T> extends true ? Controls["DegenerateNonNullObjectSubstitute"] : IfEnumLike<T> extends never ? T : FlattenIntersection<{
623
+ } : IsExactlyObject<T> extends true ? Controls["DegenerateNonNullObjectSubstitute"] : IfEnumLike<T> extends never ? T : T extends AnyOpaqueJsonType ? JsonDeserializedOpaqueConversion<T, Controls> : FlattenIntersection<{
572
624
  [K in keyof T as NonSymbolWithDeserializablePropertyOf<T, Controls["AllowExactly"], Controls["AllowExtensionOf"], K>]: JsonDeserializedRecursion<T[K], Controls, RecurseLimit, TAncestorTypes>;
573
625
  } & {
574
626
  [K in keyof T as NonSymbolWithPossiblyDeserializablePropertyOf<T, Controls["AllowExactly"], Controls["AllowExtensionOf"], K>]?: JsonDeserializedRecursion<T[K], Controls, RecurseLimit, TAncestorTypes>;
@@ -1 +1 @@
1
- {"version":3,"file":"exposedInternalUtilityTypes.d.ts","sourceRoot":"","sources":["../src/exposedInternalUtilityTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exposedInternalUtilityTypes.d.ts","sourceRoot":"","sources":["../src/exposedInternalUtilityTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EACX,wCAAwC,EACxC,0CAA0C,EAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,OAAO,MAAiC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAClC,YAAY,GACZ,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,GAChB,GAAG,CAAC,OAAO,CAAC,GACZ,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,yBAAiB,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,MAAM,WAAW,cAAc;QAC9B;;;;WAIG;QACH,YAAY,EAAE,OAAO,EAAE,CAAC;QAExB;;;;WAIG;QACH,gBAAgB,EAAE,OAAO,CAAC;KAC1B;IAED;;;;;OAKG;IACH,UAAU,8BAA+B,SAAQ,cAAc;QAC9D;;;WAGG;QACH,oBAAoB,EAAE,OAAO,CAAC;KAC9B;IAED;;;;OAIG;IACH,UAAU,0BAA2B,SAAQ,8BAA8B;QAC1E;;;WAGG;QACH,iCAAiC,EAAE,OAAO,CAAC;KAC3C;IAED;;;;;;;;OAQG;IACH,MAAM,MAAM,uBAAuB,CAClC,CAAC,SAAS,MAAM,EAChB,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3B,OAAO,CACV;SACE,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;KAClD,CAAC,IAAI,CAAC,EACP,SAAS,GAAG,MAAM,CAClB,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,MAAM,uBAAuB,CAClC,CAAC,SAAS,MAAM,EAChB,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3B,OAAO,CACV;SACE,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;KAClD,CAAC,IAAI,CAAC,EACP,SAAS,GAAG,MAAM,CAClB,CAAC;IAEF;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,MAAM,uBAAuB,CAClC,CAAC,EACD,gBAAgB,SAAS,OAAO,EAAE,EAClC,iBAAiB,EACjB,MAAM,SACH;QAAE,2BAA2B,EAAE,OAAO,CAAC;QAAC,uBAAuB,EAAE,KAAK,CAAA;KAAE,GACxE;QAAE,2BAA2B,EAAE,KAAK,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAE,IAC9B,CAAC,SAAS,KAAK,GAC3C,MAAM,CAAC,yBAAyB,CAAC,GACd,CAAC,SAAS,iBAAiB,GACjC,MAAM,CAAC,6BAA6B,CAAC,GACR,kBAAkB,CAC1E,CAAC,EACD,gBAAgB,EACS,MAAM,CAAC,6BAA6B,CAAC,EACI,CAAC,SAChE,MAAM,GACN,MAAM,GACN,SAAS,GACiB,MAAM,CAAC,yBAAyB,CAAC,GAE5D,CAAC,SAAS,QAAQ,GAChB,+BAA+B,CAAC,CAAC,CAAC,SAAS;QAC3C,cAAc,EAAE,kBAAkB,CAAC;KACnC,GAC2B,MAAM,CAAC,yBAAyB,CAAC,GACrB,MAAM,CAAC,6BAA6B,CAAC,GACtC,MAAM,CAAC,6BAA6B,CAAC,CAC/E,CAAC;IAEL;;;;;OAKG;IACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO,EAAE,IAAI,kBAAkB,CACpF,CAAC,EACD,QAAQ,EACR,KAAK,EACL,CAAC,CACD,CAAC;IAEF;;;;;OAKG;IACH,MAAM,MAAM,aAAa,CACxB,KAAK,SAAS,OAAO,EAAE,EACvB,CAAC,EACD,WAAW,SAAS,OAAO,EAAE,GAAG,EAAE,IAC/B,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAC3C,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,GAC/E,WAAW,CAAC;IAEf;;;;;;OAMG;IACH,MAAM,MAAM,oBAAoB,CAC/B,KAAK,SAAS,OAAO,EAAE,EACvB,CAAC,EACD,WAAW,SAAS,OAAO,EAAE,GAAG,EAAE,IAC/B,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAC3C,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,GACzF,WAAW,CAAC;IAEf;;;;;;;;;;OAUG;IACH,MAAM,MAAM,qCAAqC,CAChD,CAAC,SAAS,MAAM,EAChB,gBAAgB,SAAS,OAAO,EAAE,EAClC,iBAAiB,EACjB,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3B,OAAO,CACV;SACE,CAAC,IAAI,IAAI,GACV,qBAAqB,CACpB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAChC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAC/C,SAAS,MAAM,uBAAuB,GACpC,UAAU,CACV,uBAAuB,EACvB,OAAO,EACyC,KAAK,EACG,OAAO,CAC9D,uBAAuB,EAGvB,SAAS,GAAG,MAAM,GAAG,QAAQ,CAC7B,SAAS,KAAK,GAE2B,UAAU,CACjD,uBAAuB,EACvB,MAAM,EACmC,KAAK,EAEnB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,CACzD,GACgD,KAAK,CACxD,GACA,KAAK;KACR,CAAC,IAAI,CAAC,EACP,SAAS,GAAG,MAAM,CAClB,CAAC;IAEF;;;;;;;;;OASG;IACH,MAAM,MAAM,6CAA6C,CACxD,CAAC,SAAS,MAAM,EAChB,gBAAgB,SAAS,OAAO,EAAE,EAClC,iBAAiB,EACjB,IAAI,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAC3B,OAAO,CACV;SACE,CAAC,IAAI,IAAI,GACV,qBAAqB,CACpB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAChC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAC/C,SAAS,MAAM,uBAAuB,GACpC,OAAO,CACP,UAAU,CAAC,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,EAGhF,SAAS,GAAG,MAAM,GAAG,QAAQ,CAC7B,SAAS,KAAK,GACwC,KAAK,GACM,uBAAuB,CACvF,CAAC,CAAC,CAAC,CAAC,EACJ,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAC/C,iBAAiB,EACjB;YAAE,2BAA2B,EAAE,CAAC,CAAC;YAAC,uBAAuB,EAAE,KAAK,CAAA;SAAE,CAClE,GACD,KAAK;KACR,CAAC,IAAI,CAAC,EACP,SAAS,GAAG,MAAM,CAClB,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,MAAM,4BAA4B,CACvC,CAAC,EACD,QAAQ,SAAS,cAAc,EAC/B,cAAc,SAAS,OAAO,EAAE,EAChC,QAAQ,IAGY,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACnD,QAAQ,GACE,OAAO,SAAS,CAAC,GACtB,QAAQ,GACI,kBAAkB,CACjD,CAAC,EACD,cAAc,EACgB,CAAC,EAC0B,CAAC,SACvD,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC,kBAAkB,CAAC,GACY,CAAC,GACR,kBAAkB,CACnD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,CAAC,EACoC,SAAS,SAAS,CAAC,GAC5B,0CAA0C,GACnE,QAAQ,CACX,CACH,CAAC;IAEL;;;;OAIG;IACH,MAAM,MAAM,4BAA4B,CACvC,CAAC,EACD,QAAQ,SAAS,0BAA0B,EAC3C,QAAQ,IAGY,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACnD,QAAQ,GACE,OAAO,SAAS,CAAC,GACtB,QAAQ,GACgC,CAAC,SACzD,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC,kBAAkB,CAAC,GACO,CAAC,GACL,kBAAkB,CACnD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACE,CAAC,EACiB,CAAC,SAAS,SAAS,GAAG,MAAM,GAC5D,IAAI,GAEd,CAAC,SAAS,QAAQ,GAChB,+BAA+B,CAAC,CAAC,CAAC,SAAS;QAC3C,cAAc,EAAE,kBAAkB,CAAC;KACnC,GACC,IAAI,GACJ,IAAI,GAAG,QAAQ,GAChB,QAAQ,CACZ,CAAC;IAEN;;;;OAIG;IACH,MAAM,MAAM,UAAU,CACrB,CAAC,SAAS,MAAM,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,OAAO,IAClB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAChB,WAAW,GAE3B,CAAC,SAAS,QAAQ,GACE,WAAW,GAC7B,CAAC,SAAS;QAET,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAE7B,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAEtC,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KAC5B,GACuC,IAAI,SAAS;SACnD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK;KACjD,CAAC,MAAM,CAAC,CAAC,GACR,WAAW,GACX,QAAQ,GACT,WAAW,CAAC;IAEjB;;;;;;;;;;;;OAYG;IACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,WAAW,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GACxF,CAAC,GACD,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACvC,MAAM,GACN,WAAW,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,MAAM,MAAM,kBAAkB,CAC7B,CAAC,EACD,KAAK,SAAS,OAAO,EAAE,EACvB,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,KAAK,IACd,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAC3C,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,GAC9E,SAAS,CAAC;IAEb;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,SAAS,GAAG,KAAK,IAAI,UAAU,CAC1F,CAAC,EACD,KAAK,EACe,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EACxC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAC5E,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE7D;;;;OAIG;IACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEtE;;;;OAIG;IAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;IAE/C;;;;;;;OAOG;IACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,SAAS,GACvE;SACC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACpB,GACA,CAAC,CAAC;IAEL;;;;;;;OAOG;IACH,MAAM,MAAM,iBAAiB,GAE1B,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAC7C,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAGjD;;;;;;;;;;OAUG;IACH,MAAM,MAAM,+BAA+B,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,MAAM,CAAC,KACZ,MAAM,CAAC,GACT,KACA,GAAG,IAAI,EAAE,CAAC,KACN,CAAC,GACL,OAAO,CAAC,GACV,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,OAAO,CAAC,SAAS,MAAM,UAAU,GAClC;QACA,cAAc,EAAE,OAAO,SAAS,UAAU,GACvC,aAAa,GACb,UAAU,SAAS,QAAQ,CAAC,CAAC,CAAC,GAC7B,kBAAkB,GAClB,mBAAmB,CAAC;QACxB,QAAQ,EAAE,UAAU,CAAC;KACrB,GACA,KAAK,CAAC;IAET;;;;;;OAMG;IACH,MAAM,MAAM,wBAAwB,CACnC,QAAQ,SAAS,MAAM,EACvB,QAAQ,IACL,+BAA+B,CAAC,QAAQ,CAAC,SAAS;QACrD,cAAc,EAAE,MAAM,eAAe,CAAC;QACtC,QAAQ,EAAE,MAAM,SAAS,CAAC;KAC1B,GACE,eAAe,SAAS,kBAAkB,GACzC,SAAS,GACT,SAAS,GAAG,QAAQ,GACrB,KAAK,CAAC;IAET;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,MAAM,+CAA+C,CAC1D,CAAC,EACD,gBAAgB,EAChB,QAAQ,SAAS,cAAc,EAC/B,cAAc,SAAS,OAAO,EAAE,GAAG,EAAE,EACrC,aAAa,GAAG,CAAC,IAElB,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,IAAI,GAC9B,gBAAgB,GACZ,CAAC,SAAS,MAAM,CAAC,GAExD,kBAAkB,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,IAAI,GAClE,gBAAgB,GACiB,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,GACtC,CAAC,GACF,kBAAkB,CAChD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACe,CAAC,GAC7B,CAAC,SAAS,MAAM,GACf,wBAAwB,CACxB,CAAC,EACD;SACE,CAAC,IAAI,MAAM,CAAC,GAAG,+CAA+C,CAC9D,CAAC,CAAC,CAAC,CAAC,EACJ,gBAAgB,EAChB,QAAQ,EACR;YAAC,aAAa;YAAE,GAAG,cAAc;SAAC,CAClC;KACD,CACD,GAC4B,CAAC,GACjC,KAAK,CAAC;IAEV;;;;;;;;;;OAUG;IACH,MAAM,MAAM,sCAAsC,CACjD,CAAC,EACD,QAAQ,SAAS,cAAc,EAC/B,cAAc,SAAS,OAAO,EAAE,GAAG,EAAE,EACrC,aAAa,GAAG,CAAC,IACuB,kBAAkB,CAC1D,CAAC,EACD,cAAc,EACd,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACQ,KAAK,GACwC,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,GACrE,KAAK,GACN,kBAAkB,CAChD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACe,KAAK,GACa,kBAAkB,CAC/D,CAAC,EACD,cAAc,EACd,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACM,KAAK,GACxB,CAAC,SAAS,MAAM,GACf,wBAAwB,CACxB,CAAC,EACD;SACE,CAAC,IAAI,MAAM,CAAC,GAAG,sCAAsC,CACrD,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR;YAAC,aAAa;YAAE,GAAG,cAAc;SAAC,CAClC;KACD,CACD,GAC4B,CAAC,CAAC;IAErC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,MAAM,qBAAqB,CAChC,CAAC,EACD,QAAQ,SAAS,cAAc,EAC/B,YAAY,GAAG,KAAK,EACpB,WAAW,GAAG,OAAO,IAClB,sCAAsC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,GAC9D,WAAW,GACX,YAAY,CAAC;IAEhB;;;;OAIG;IACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAI1D;;;;;OAKG;IACH,MAAM,MAAM,oBAAoB,CAC/B,CAAC,EACD,OAAO,SAAS,OAAO,CAAC,cAAc,CAAC,GAAG;QACzC,yBAAyB,CAAC,EAAE,6BAA6B,CAAC;KAC1D,EACD,cAAc,SAAS,OAAO,EAAE,GAAG,EAAE,EACrC,aAAa,GAAG,CAAC,IAElB;QACC,YAAY,EAAE,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QACzF,gBAAgB,EAAE,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAC5D,OAAO,CAAC,kBAAkB,CAAC,GAC3B,KAAK,CAAC;QAIT,oBAAoB,EACjB,YAAY,CACV,CAAC,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GACrC,KAAK,CAAC,GACR,CAAC,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAC5C,OAAO,CAAC,kBAAkB,CAAC,GAC3B,KAAK,CAAC,CACT,GACD,sBAAsB,CACtB,OAAO,EACP,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,EAC1E,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAClF,CAAC;KACL,SAAS,MAAM,QAAQ,GAEtB,QAAQ,SAAS,8BAA8B,GACxB,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACrD,QAAQ,CAAC,sBAAsB,CAAC,GAC/C,OAAO,CAAC,2BAA2B,CAAC,SAAS,6BAA6B,GACzE,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,GAEnE,qBAAqB,CACnB,CAAC,EACD;QACC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvC,gBAAgB,EACb,QAAQ,CAAC,kBAAkB,CAAC,GAE5B,OAAO,GACP,MAAM,GACN,MAAM,GAEN,iBAAiB,CAAC;QACrB,oBAAoB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;KACvD,EACD,mBAAmB,EACnB,cAAc,CACd,SAAS,mBAAmB,GAC8C,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACxF;SAEd,CAAC,IAAI,MAAM,CAAC,GAAG,oBAAoB,CACnC,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR;YAAC,aAAa;YAAE,GAAG,cAAc;SAAC,CAClC;KACD,GAED,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,MAAM,GACwB,CAAC,GACjC,wCAAwC,GAClB,sBAAsB,CACvE,CAAC,EACD,QAAQ,EACR,cAAc,EACd,aAAa,CACb,GACH,KAAK,GACN,KAAK,CAAkC;IAE1C;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,MAAM,gCAAgC,CAC3C,CAAC,SAAS,iBAAiB,EAC3B,QAAQ,SAAS,8BAA8B,IAEf,CAAC,SAC/B,sBAAsB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACjD,sBAAsB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACjD,CAAC,SAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACrD,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAC1C,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GACrF,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GACrF,CAAC,SAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACpD,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GACrF,CAAC,SAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACpD,sBAAsB,CACtB,KAAK,EACL,QAAQ,CAAC,cAAc,CAAC,EACxB,QAAQ,CAAC,kBAAkB,CAAC,CAC5B,GACA,sDAAsD,GACzD,KAAK,CAAC;IAGT;;;;;;;;;OASG;IACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG,MAAM,EAAE,SAAS,CAAC,GAClE,OAAO,GACP,MAAM,SAAS,CAAC,GACf,OAAO,GACP,CAAC,SAAS,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GACtC,MAAM,SAAS,KAAK,GACnB,OAAO,GACP,GAAG,MAAM,EAAE,SAAS,KAAK,GACxB,OAAO,GACP,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,GACtC,SAAS,CAAC;IAEf;;;;;;;;OAQG;IACH,MAAM,MAAM,2BAA2B,CACtC,IAAI,EACJ,MAAM,EACN,MAAM,SAAS;QACd,mBAAmB,EAAE,OAAO,CAAC;QAC7B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;KACnB,IACE,SAAS,SAAS,MAAM,GACzB,OAAO,SAAS,MAAM,GACrB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,GACpE,MAAM,CAAC,qBAAqB,CAAC,GAC9B,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,MAAM,MAAM,sBAAsB,CACjC,CAAC,EACD,QAAQ,SAAS,8BAA8B,EAC/C,cAAc,SAAS,OAAO,EAAE,EAChC,aAAa,GAAG,CAAC,IACO,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACvD,QAAQ,CAAC,sBAAsB,CAAC,GACtB,OAAO,SAAS,CAAC,GACtB,QAAQ,CAAC,sBAAsB,CAAC,GAC1B,kBAAkB,CAC1C,CAAC,EACD,cAAc,EACd,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACuB,CAAC,GACiC,CAAC,SACpE,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC,kBAAkB,CAAC,GACQ,CAAC,GACR,kBAAkB,CAChD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,IAAI,EACJ,UAAU,CACV,SAAS,IAAI,GACiB,CAAC,GAEF,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,KAAK,GACtB,CAAC,SAAS,MAAM,GACxB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7C;SAGd,CAAC,IAAI,MAAM,CAAC,GAAG,4BAA4B,CAC3C,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR,cAAc,EACd,sBAAsB,CACrB,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR;YAAC,aAAa;YAAE,GAAG,cAAc;SAAC,CAClC,CACD;KACD,GACgD,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC5D,qBAAqB,CACvC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CACrE,GAC+B,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GACL,CAAC,GACpB,CAAC,SAAS,iBAAiB,GACjC,gCAAgC,CAC1D,CAAC,EACD,QAAQ,CACR,GACsB,mBAAmB,CACzC;SAEE,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,CACvC,CAAC,EACD,CAAC,CACD,CAAC,CAAC,GAAG,2BAA2B,CAChC,CAAC,EACD,CAAC,CAAC,CAAC,CAAC,EACJ;YACC,mBAAmB,EAAE;gBACpB,CAAC,yDAAyD,CAAC,EAAE,KAAK,CAAC;aACnE,CAAC;YACF,mBAAmB,EAAE;gBACpB,CAAC,uDAAuD,CAAC,EAAE,KAAK,CAAC;aACjE,CAAC;YACF,SAAS,EAAE,sBAAsB,CAChC,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR;gBAAC,aAAa;gBAAE,GAAG,cAAc;aAAC,CAClC,CAAC;SACF,CACD;KACD,GAAG;SAGF,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,CACvC,CAAC,EACD,CAAC,CACD,CAAC,CAAC,EAAE,sBAAsB,CAC1B,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR;YAAC,aAAa;YAAE,GAAG,cAAc;SAAC,CAClC;KACD,GAAG;SAEF,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK;KAC9B,CACD,GACmB,KAAK,GACX,KAAK,CAAC;IAIhC;;;;;OAKG;IACH,MAAM,WAAW,eAAe;QAC/B,CAAC,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;KACtD;IAED;;;;OAIG;IACH,MAAM,MAAM,cAAc,GAAG,IAAI,MAAM,EAAE,GAAG,CAAC,CAAC;IAI9C;;;;;;;;OAQG;IACH,MAAM,MAAM,oBAAoB,CAC/B,CAAC,EACD,OAAO,SAAS,OAAO,CAAC,cAAc,CAAC,EACvC,YAAY,SAAS,cAAc,GAAG,MAAM,IAE7C;QACC,YAAY,EAAE,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QACzF,gBAAgB,EAAE,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAC5D,OAAO,CAAC,kBAAkB,CAAC,GAC3B,KAAK,CAAC;QAIT,oBAAoB,EAAE,YAAY,CAC/B,CAAC,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GACrC,KAAK,CAAC,GACR,CAAC,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CACvF,CAAC;QACF,iCAAiC,EAAE,qBAAqB,CACrD,CAAC,OAAO,SAAS;YAAE,YAAY,EAAE,OAAO,EAAE,CAAA;SAAE,GAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GACrC,KAAK,CAAC,GACR,CAAC,OAAO,SAAS;YAAE,gBAAgB,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CACvF,CAAC;KACF,SAAS,MAAM,QAAQ,GAEtB,QAAQ,SAAS,0BAA0B,GACpB,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACrD,QAAQ,CAAC,sBAAsB,CAAC,GACR,+CAA+C,CACrF,CAAC,EACD,eAAe,EACf,QAAQ,CACR,SAAS,MAAM,0BAA0B,GACG,UAAU,CACtD,0BAA0B,EAC1B,sBAAsB,CACrB,0BAA0B,EAC1B;QACC,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,CAAC;QAC7D,gBAAgB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC/C,oBAAoB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACvD,iCAAiC,EAAE,QAAQ,CAAC,mCAAmC,CAAC,CAAC;KACjF,EACD,CAAC,CACD,CACD,SAAS,IAAI,GAGb,qBAAqB,CACpB,CAAC,EAKD,QAAQ,EACR,mBAAmB,EACnB,cAAc,CACd,SAAS,mBAAmB,GAG5B,sBAAsB,CACrB,CAAC,EACD,QAAQ,EAQR,YAAY,CACZ,GAED,CAAC,GAC4B,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,GAC9C,KAAK,GACxC,KAAK,GACN,KAAK,CAAkC;IAE1C;;;;OAIG;IACH,MAAM,MAAM,yBAAyB,CACpC,CAAC,EACD,QAAQ,SAAS,0BAA0B,EAC3C,YAAY,SAAS,cAAc,EACnC,cAAc,IACX,CAAC,SAAS,cAAc,GACzB,YAAY,SAAS,IAAI,MAAM,kBAAkB,EAAE,GAInD,oBAAoB,CACnB,CAAC,EACD,QAAQ,EACR,kBAAkB,SAAS,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAClE,GACA,QAAQ,CAAC,sBAAsB,CAAC,GACjC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IAEzE;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,MAAM,gCAAgC,CAC3C,CAAC,SAAS,iBAAiB,EAC3B,QAAQ,SAAS,cAAc,IAEhC,CAAC,SACE,sBAAsB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACjD,sBAAsB,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GACjD,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GACrF,sDAAsD,CAAC;IAG1D;;;;OAIG;IACH,MAAM,MAAM,sBAAsB,CACjC,CAAC,EACD,QAAQ,SAAS,0BAA0B,EAC3C,YAAY,SAAS,cAAc,EACnC,cAAc,GAAG,CAAC,IACM,OAAO,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,GACvD,QAAQ,CAAC,sBAAsB,CAAC,GACtB,OAAO,SAAS,CAAC,GACtB,QAAQ,CAAC,sBAAsB,CAAC,GACmB,CAAC,SACpE,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC,kBAAkB,CAAC,GACQ,CAAC,GACF,kBAAkB,CACtD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,IAAI,EACJ,WAAW,CACX,SAAS,IAAI,GACiB,CAAC,GACT,CAAC,SAAS,MAAM,GACrB,+BAA+B,CAAC,CAAC,CAAC,SAAS;QAC3D,cAAc,EAAE,kBAAkB,CAAC;KACnC,GAC2B,KAAK,GAER,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACrC;SAGd,CAAC,IAAI,MAAM,CAAC,GAAG,4BAA4B,CAC3C,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CACvE;KACD,GACgD,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC5D,QAAQ,CAAC,mCAAmC,CAAC,GAChC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GACL,CAAC,GACX,CAAC,SAAS,iBAAiB,GAC1C,gCAAgC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACjD,mBAAmB,CAEzC;SAEE,CAAC,IAAI,MAAM,CAAC,IAAI,qCAAqC,CACrD,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,QAAQ,CAAC,kBAAkB,CAAC,EAC5B,CAAC,CACD,GAAG,yBAAyB,CAC5B,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,CACd;KACD,GAAG;SAEF,CAAC,IAAI,MAAM,CAAC,IAAI,6CAA6C,CAC7D,CAAC,EACD,QAAQ,CAAC,cAAc,CAAC,EACxB,QAAQ,CAAC,kBAAkB,CAAC,EAC5B,CAAC,CACD,CAAC,CAAC,EAAE,yBAAyB,CAC7B,CAAC,CAAC,CAAC,CAAC,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,CACd;KACD,CACD,GACkB,KAAK,CAAC;IAMpC;;;;;;OAMG;IACH,MAAM,MAAM,4BAA4B,CACvC,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACxC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,GACjC,WAAW,CACX,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,EACxD,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CACxD,GACA,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,4BAA4B,CACvC,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC/B,GAAG,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAC9B,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,GACrE,WAAW,CAAC,CAAC,CAAC,GACf,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,oCAAoC,CAC/C,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1C,YAAY,CAAC,CAAC,CAAC,SAAS,gBAAgB,GACvC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChF,QAAQ,CAAC,CAAC,CAAC,GACZ,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,gCAAgC,CAC3C,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAClC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,GACjE,CAAC,GACF,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,gCAAgC,CAC3C,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,GAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,GACrC,IAAI,CACJ,OAAO,CACN,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,EACxD,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CACxD,EACD,QAAQ,GAAG,KAAK,CAChB,GACA,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,GACtC,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,gCAAgC,CAC3C,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAClC,IAAI,CACJ,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,EACjE,KAAK,GAAG,QAAQ,CAChB,GACA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACnC,IAAI,CAAC;IAER;;;;;;OAMG;IACH,MAAM,MAAM,wBAAwB,CACnC,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,EACpE,IAAI,IACD,4BAA4B,CAC/B,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,CAC3B,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,CAC/B,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,CAC/B,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,CAC/B,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,oCAAoC,CACnC,CAAC,EACD,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,CACJ,CACD,CACD,CACD,CACD,CACD,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,MAAM,oCAAoC,CAC/C,CAAC,SAAS,MAAM,EAChB,IAAI,IAC0B,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GACzB,CAAC,GACA,CAAC,SAAS,MAAM,KAAK,GACrD,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GAG9C,CAAC,SAAS,KAAK,GAAG,MAAM,SAAS,GACa,AAA5C,2CAA2C,CAAC,SAAS,GAAG,KAAK,GAC/B,CAAC,GAChC,IAAI,CAAC;IAET;;;;;;;;;;OAUG;IACH,MAAM,MAAM,YAAY,CACvB,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,SAAS,GAAG,0BAA0B,IACzC,qBAAqB,SAAS,SAAS,GAC9C,mBAAmB,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAClC,qBAAqB,SAAS,SAAS,GAC5C,+BAA+B,CAAC,CAAC,EAAE,gBAAgB,CAAC,GACxD,6BAA6B,CAC3C,CAAC,EACD,gBAAgB,EAChB,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAC9C,CAAC;IAIL;;;;;;;OAOG;IACH,MAAM,MAAM,mBAAmB,CAC9B,CAAC,EACD,gBAAgB,SAAS,yBAAyB,IAC/C,CAAC,SAAS,MAAM,GACD,wBAAwB,CACxC,CAAC,EACD,wBAAwB,CACvB,CAAC,EACD,gBAAgB,EAChB,SAAS,EACT,oCAAoC,CAAC,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACxE,CACD,GACuB,CAAC,CAAC;IAI5B;;;;;;;OAOG;IACH,MAAM,MAAM,gBAAgB,CAC3B,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,YAAY,SAAS,0BAA0B,IAC5C,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAIpD;;;;;;OAMG;IACH,MAAM,MAAM,+BAA+B,CAC1C,CAAC,EACD,gBAAgB,SAAS,yBAAyB,IAC/C,CAAC,SAAS,MAAM,GACD,wBAAwB,CACxC,CAAC,EAED,CAAC,SAAS,SAAS,oBAAoB,CAAC,MAAM,UAAU,CAAC,EAAE,GAKzD,IAAI,SAAS,kBAAkB,CAC9B,CAAC,EACD;QAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QAAE,SAAS,oBAAoB,CAAC,UAAU,CAAC,EAAE;KAAC,CACzE,GACC,SAAS,oBAAoB,CAC7B,+BAA+B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC7D,EAAE,GACF;QACA,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,+BAA+B,CACvD,CAAC,CAAC,CAAC,CAAC,EACJ,gBAAgB,CAChB;KACD,GACuB,wBAAwB,CAChD,CAAC,EACD,gBAAgB,EAChB,SAAS,EACT,oCAAoC,CACnC,CAAC,EACmB;QACnB,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,+BAA+B,CACvD,CAAC,CAAC,CAAC,CAAC,EACJ,gBAAgB,CAChB;KACD,CACD,CACD,CACH,GACuB,CAAC,CAAC;IAK5B;;;;;;;;OAQG;IACH,MAAM,MAAM,6BAA6B,CACxC,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,qBAAqB,SAAS,cAAc,IACF,+CAA+C,CACzF,CAAC,EACD,eAAe,EACf;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,gBAAgB,EAAE,KAAK,CAAA;KAAE,CAC7C,SAAS,MAAM,0BAA0B,GAC4B,UAAU,CAC7E,0BAA0B,EAC1B,kBAAkB,CAAC,0BAA0B,EAAE,gBAAgB,EAAE,CAAC,CAAC,CACnE,SAAS,IAAI,GAEb,qBAAqB,CACpB,CAAC,EAKD;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,gBAAgB,EAAE,KAAK,CAAA;KAAE,EAC7C,mBAAmB,EACnB,cAAc,CACd,SAAS,mBAAmB,GAE5B,kBAAkB,CACjB,CAAC,EACD,gBAAgB,EAChB,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAC9C,GAED,CAAC,GAC4B,kBAAkB,CAC/C,CAAC,EACD,gBAAgB,EAChB,OAAO,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAC9C,GACgC,KAAK,CAAC;IAE1C;;;;OAIG;IACH,MAAM,MAAM,qBAAqB,CAChC,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,YAAY,SAAS,cAAc,EACnC,cAAc,GAAG,CAAC,IACf,CAAC,SAAS,cAAc,GACzB,YAAY,SAAS,IAAI,MAAM,kBAAkB,EAAE,GAInD,6BAA6B,CAC5B,CAAC,EACD,gBAAgB,EAChB,kBAAkB,SAAS,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAClE,GACA,CAAC,GACF,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IAE7E;;;;OAIG;IACH,MAAM,MAAM,kBAAkB,CAC7B,CAAC,EACD,gBAAgB,SAAS,yBAAyB,EAClD,YAAY,SAAS,cAAc,EACnC,cAAc,GAAG,CAAC,IACO,CAAC,SAAS,MAAM,GACvB,wBAAwB,CACxC,CAAC,EACD,wBAAwB,CACvB,CAAC,EACD,gBAAgB,EAChB,YAAY,EACZ,oCAAoC,CACnC,CAAC,EACmB;QACnB,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,qBAAqB,CAC7C,CAAC,CAAC,CAAC,CAAC,EACJ,gBAAgB,EAChB,YAAY,EACZ,cAAc,CACd;KACD,CACD,CACD,CACD,GACuB,CAAC,CAAC;;CAI5B"}