@m1212e/rumble 0.26.4 → 0.27.3

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.
package/out/index.d.cts CHANGED
@@ -14,9 +14,8 @@ import "@whatwg-node/fetch";
14
14
  import { EnvelopArmorPlugin } from "@escape.tech/graphql-armor";
15
15
  import { useSofa } from "@m1212e/sofa-api";
16
16
  import { ServerOptions } from "graphql-ws";
17
+ import { z } from "zod";
17
18
  import { PhoneNumber } from "libphonenumber-js";
18
- //#endregion
19
- //#region lib/types/drizzleInstanceType.d.ts
20
19
  type DrizzleInstance = PgAsyncDatabase<any, any> | SQLiteAsyncDatabase<any, any, any> | MySqlAsyncDatabase<any, any>;
21
20
  /**
22
21
  * Type representing the query function of a Drizzle instance.
@@ -36,8 +35,6 @@ type DrizzleQueryFunctionInput<DB extends DrizzleInstance, QueryField extends ke
36
35
  * Type representing the type of a record in a specific table of the Drizzle instance.
37
36
  */
38
37
  type DrizzleTableValueType<DB extends DrizzleInstance, QueryField extends keyof DrizzleQueryFunction<DB>> = NonNullable<Awaited<ReturnType<DrizzleQueryFunction<DB>[QueryField]["findFirst"]>>>;
39
- //#endregion
40
- //#region lib/abilityBuilder/queryFilter.d.ts
41
38
  /**
42
39
  * Static, non changing query filter input type for a specific table
43
40
  */
@@ -55,8 +52,6 @@ type QueryFilter<DB extends DrizzleInstance, Table extends keyof DrizzleQueryFun
55
52
  * granted the action without conditions.
56
53
  */
57
54
  type QueryFilterRegistry<UserContext extends Record<string, any>, DB extends DrizzleInstance, Action extends string, TableName extends keyof DrizzleQueryFunction<DB>> = Map<Action, QueryFilter<DB, TableName, DrizzleQueryFunctionInput<DB, TableName>, UserContext>[] | "unrestricted">;
58
- //#endregion
59
- //#region lib/runtimeFiltersPlugin/filterTypes.d.ts
60
55
  type Prefetch<Context, ReturnType> = (params: {
61
56
  context: Context;
62
57
  }) => Promise<ReturnType>;
@@ -69,8 +64,6 @@ type FilterPrefetchCombo<Context, FilteredEntityType, PrefetchReturnType = never
69
64
  filter: Filter<Context, FilteredEntityType, PrefetchReturnType>;
70
65
  prefetch?: Prefetch<Context, PrefetchReturnType>;
71
66
  };
72
- //#endregion
73
- //#region lib/types/rumbleInput.d.ts
74
67
  interface RumbleLogger {
75
68
  info(obj: Record<string, unknown>, msg: string): void;
76
69
  warn(obj: Record<string, unknown>, msg: string): void;
@@ -231,16 +224,12 @@ type RumbleInput<UserContext extends Record<string, any>, DB extends DrizzleInst
231
224
  */
232
225
  validation?: NonNullable<ConstructorParameters<typeof SchemaBuilder>[0]>["validation"];
233
226
  };
234
- //#endregion
235
- //#region lib/abilityBuilder/columnMask.d.ts
236
227
  type MaskColumnsInput<DB extends DrizzleInstance, Action extends string> = {
237
228
  table: TableRelationNames<DB>;
238
229
  action: Action;
239
230
  abilities: Record<string, any>;
240
231
  entities: unknown[];
241
232
  };
242
- //#endregion
243
- //#region lib/abilityBuilder/filterResponse.d.ts
244
233
  type FindFirstConfig<DB extends DrizzleInstance, TableName extends TableRelationNames<DB>> = NonNullable<Parameters<DB["query"][TableName]["findFirst"]>[0]>;
245
234
  type FindManyConfig<DB extends DrizzleInstance, TableName extends TableRelationNames<DB>> = NonNullable<Parameters<DB["query"][TableName]["findMany"]>[0]>;
246
235
  /**
@@ -303,8 +292,6 @@ type AbilityFilterResponse<DB extends DrizzleInstance, TableName extends TableRe
303
292
  */
304
293
  merge: (filters: NonNullable<DrizzleQueryFunctionInput<DB, TableName>>) => AbilityFilter<DB, TableName>;
305
294
  };
306
- //#endregion
307
- //#region lib/abilityBuilder/inputGuard.d.ts
308
295
  type GuardedInput = {
309
296
  where?: unknown;
310
297
  orderBy?: unknown;
@@ -314,8 +301,6 @@ type GuardedInput = {
314
301
  * abilities of the request let the caller read, see `createInputGuard`.
315
302
  */
316
303
  export declare function guardFilterInput(abilities: object, table: string, action: string, input: GuardedInput): Promise<GuardedInput>;
317
- //#endregion
318
- //#region lib/helpers/asserts.d.ts
319
304
  /**
320
305
  *
321
306
  * Helper function to map a drizzle findFirst query result,
@@ -387,8 +372,6 @@ export declare const assertFindFirstExists: <T>(value: T | undefined) => T;
387
372
  * ```
388
373
  */
389
374
  export declare const assertFirstEntryExists: <T>(value: T[]) => T;
390
- //#endregion
391
- //#region lib/helpers/mapNullFieldsToUndefined.d.ts
392
375
  /**
393
376
  * Helper to map null fields to undefined
394
377
  * @param obj The object to map
@@ -448,43 +431,6 @@ export declare const assertFirstEntryExists: <T>(value: T[]) => T;
448
431
  * ```
449
432
  */
450
433
  export declare function mapNullFieldsToUndefined<T extends object>(obj: T): { [K in keyof T]: T[K] extends null ? undefined : Exclude<T[K], null>; };
451
- //#endregion
452
- //#region lib/scalars/address.d.ts
453
- /**
454
- * The shape of a postal address, modeled after the OIDC `address` claim
455
- * (https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim) and schema.org's
456
- * `PostalAddress`.
457
- */
458
- type AddressShape = {
459
- /** The street address, which may be multiple lines separated by newlines. */
460
- streetAddress?: string | null;
461
- /** City or town. */
462
- locality?: string | null;
463
- /** State, province, prefecture or region. */
464
- region?: string | null;
465
- /** Postal or zip code. */
466
- postalCode?: string | null;
467
- /** ISO 3166-1 alpha-2 country code. */
468
- countryCode?: string | null;
469
- };
470
- /**
471
- * AddressInput's shape differs from AddressShape in that `countryCode` and `streetAddress` are
472
- * required. `countryCode`: without a country there is nothing for the validator to check
473
- * requiredness/format/region against, so a country-less "address" can't be verified as valid
474
- * for anywhere. `streetAddress`: checked against every one of the 252 countries in
475
- * libaddressinput's dataset — it is the one field required in literally all of them (unlike
476
- * e.g. city, which 13 countries including Japan and Singapore don't require, or state/zip,
477
- * required in barely a sixth to a third of countries) — so it's safe to require unconditionally
478
- * rather than only per-country. The remaining fields stay optional since their requiredness
479
- * genuinely varies by country; that's enforced dynamically by `addressValidationSchema` instead
480
- * of statically here.
481
- */
482
- type AddressInputShape = Omit<AddressShape, "countryCode" | "streetAddress"> & {
483
- countryCode: string;
484
- streetAddress: string;
485
- };
486
- //#endregion
487
- //#region lib/args/whereArgsImplementer.d.ts
488
434
  type NumberWhereInputArgument = {
489
435
  eq?: number;
490
436
  ne?: number;
@@ -634,10 +580,7 @@ type DateTimeWhereInputArgument = {
634
580
  OR?: DateTimeWhereInputArgument[];
635
581
  NOT?: DateTimeWhereInputArgument;
636
582
  };
637
- declare namespace helpers_d_exports {
638
- export { AnyTuple, CamelCase, Equal$2 as Equal, Every, Expect, Extends, Head$1 as Head, IsArrayStrict, IsNever$1 as IsNever, IsTuple, Iterator$1 as Iterator, KebabCase, Not$2 as Not, Prettify$1 as Prettify, Primitive$1 as Primitive, RecursivePrettify, SnakeCase, Some, Split$2 as Split, Stringifiable, UnionToIntersection, UnionToTuple };
639
- }
640
- type Equal$2<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends b ? 1 : 2) ? true : false;
583
+ type Equal$1<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends b ? 1 : 2) ? true : false;
641
584
  /**
642
585
  * HACK:
643
586
  * Special function for never because `Equal<T, never>` doesn't
@@ -645,10 +588,6 @@ type Equal$2<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends
645
588
  * probably a TS bug).
646
589
  */
647
590
  type IsNever$1<T> = [T] extends [never] ? true : false;
648
- type Expect<a extends true> = a;
649
- type Some<bools extends boolean[]> = true extends bools[number] ? true : false;
650
- type Every<bools extends boolean[]> = bools[number] extends true ? true : false;
651
- type Extends<a, b> = [a] extends [b] ? true : false;
652
591
  type Not$2<a extends boolean> = a extends true ? false : true;
653
592
  /**
654
593
  * trick to combine multiple unions of objects into a single object
@@ -658,8 +597,6 @@ type Not$2<a extends boolean> = a extends true ? false : true;
658
597
  */
659
598
  type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
660
599
  type Prettify$1<T> = { [K in keyof T]: T[K]; } | never;
661
- type RecursivePrettify<T> = IsArrayStrict<T> extends true ? RecursivePrettify<Extract<T, readonly any[]>[number]>[] : { [K in keyof T]: RecursivePrettify<T[K]>; };
662
- type AnyTuple = readonly [any, ...any];
663
600
  declare namespace Iterator$1 {
664
601
  type Get<it extends readonly any[]> = it["length"];
665
602
  type Iterator<n extends number, it extends any[] = []> = it["length"] extends n ? it : Iterator$1<n, [any, ...it]>;
@@ -707,15 +644,11 @@ type Split$2<Str, Sep extends string, Acc extends string[] = []> = Str extends "
707
644
  type Stringifiable = string | number | boolean | bigint | null | undefined;
708
645
  type Primitive$1 = string | number | boolean | bigint | null | undefined | symbol;
709
646
  type Head$1<xs> = xs extends [infer first, ...any] ? first : never;
710
- //#endregion
711
- //#region node_modules/hotscript/dist/internals/core/impl/MergeArgs.d.ts
712
- type ExcludePlaceholders<xs, output extends any[] = []> = xs extends [infer first, ...infer rest] ? Equal$2<first, _> extends true ? ExcludePlaceholders<rest, output> : ExcludePlaceholders<rest, [...output, first]> : output;
647
+ type ExcludePlaceholders<xs, output extends any[] = []> = xs extends [infer first, ...infer rest] ? Equal$1<first, _> extends true ? ExcludePlaceholders<rest, output> : ExcludePlaceholders<rest, [...output, first]> : output;
713
648
  type MergeArgsRec<pipedArgs extends any[], partialArgs extends any[], output extends any[] = []> = partialArgs extends [infer partialFirst, ...infer partialRest] ? IsNever$1<partialFirst> extends true ? MergeArgsRec<pipedArgs, partialRest, [...output, partialFirst]> : [partialFirst] extends [_] ? pipedArgs extends [infer pipedFirst, ...infer pipedRest] ? MergeArgsRec<pipedRest, partialRest, [...output, pipedFirst]> : [...output, ...ExcludePlaceholders<partialRest>] : MergeArgsRec<pipedArgs, partialRest, [...output, partialFirst]> : [...output, ...pipedArgs];
714
649
  type EmptyIntoPlaceholder<x> = IsNever$1<x> extends true ? never : [x] extends [unset] ? _ : x;
715
650
  type MapEmptyIntoPlaceholder<xs, output extends any[] = []> = xs extends [infer first, ...infer rest] ? MapEmptyIntoPlaceholder<rest, [...output, EmptyIntoPlaceholder<first>]> : output;
716
651
  type MergeArgs<pipedArgs extends any[], partialArgs extends any[]> = MergeArgsRec<pipedArgs, MapEmptyIntoPlaceholder<partialArgs>>;
717
- //#endregion
718
- //#region node_modules/hotscript/dist/internals/core/Core.d.ts
719
652
  declare const rawArgs: unique symbol;
720
653
  type rawArgs = typeof rawArgs;
721
654
  /**
@@ -853,11 +786,7 @@ type ComposeLeftImpl<fns extends Fn[], args extends any[]> = fns extends [infer
853
786
  interface PartialApply<fn extends Fn, partialArgs extends unknown[]> extends Fn {
854
787
  return: MergeArgs<this["args"], partialArgs> extends (infer args extends unknown[]) ? Apply<fn, args$1> : never;
855
788
  }
856
- //#endregion
857
- //#region node_modules/hotscript/dist/internals/numbers/impl/absolute.d.ts
858
789
  type Abs<T extends number | bigint> = `${T}` extends `-${infer U extends number | bigint}` ? U : T;
859
- //#endregion
860
- //#region node_modules/hotscript/dist/internals/numbers/impl/utils.d.ts
861
790
  type ToNumber<T extends string> = T extends `${infer N extends number | bigint}` ? N : never;
862
791
  type ToString<T extends number | bigint> = `${T}`;
863
792
  type Digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
@@ -886,15 +815,11 @@ type Num<T extends DigitNumber> = T["num"];
886
815
  type FromDigitNumber<T extends DigitNumber> = `${Sign<T>}${FromDigits<Num<T>>}`;
887
816
  type TrimZeros<T extends Digit[]> = T extends [0] ? [0] : T extends [0, ...infer R extends Digit[]] ? TrimZeros<R> : T;
888
817
  type Normalize<T extends DigitNumber, Trim extends Digit[] = TrimZeros<Num<T>>> = Trim extends [0] ? MakeDigitNumber<"", Trim> : MakeDigitNumber<Sign<T>, Trim>;
889
- //#endregion
890
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/addition.d.ts
891
818
  type AddDigitTable = [[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9, 0], [2, 3, 4, 5, 6, 7, 8, 9, 0, 1], [3, 4, 5, 6, 7, 8, 9, 0, 1, 2], [4, 5, 6, 7, 8, 9, 0, 1, 2, 3], [5, 6, 7, 8, 9, 0, 1, 2, 3, 4], [6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [7, 8, 9, 0, 1, 2, 3, 4, 5, 6], [8, 9, 0, 1, 2, 3, 4, 5, 6, 7], [9, 0, 1, 2, 3, 4, 5, 6, 7, 8]], [[1, 2, 3, 4, 5, 6, 7, 8, 9, 0], [2, 3, 4, 5, 6, 7, 8, 9, 0, 1], [3, 4, 5, 6, 7, 8, 9, 0, 1, 2], [4, 5, 6, 7, 8, 9, 0, 1, 2, 3], [5, 6, 7, 8, 9, 0, 1, 2, 3, 4], [6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [7, 8, 9, 0, 1, 2, 3, 4, 5, 6], [8, 9, 0, 1, 2, 3, 4, 5, 6, 7], [9, 0, 1, 2, 3, 4, 5, 6, 7, 8], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]];
892
819
  type AddDigitCarryTable = [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]];
893
820
  type AddDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = AddDigitTable[Carry][T][U];
894
821
  type AddCarryDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = AddDigitCarryTable[Carry][T][U];
895
822
  type AddDigits<T extends Digit[], U extends Digit[], Carry extends 0 | 1 = 0, Acc extends Digit[] = []> = T extends [...infer R extends Digit[], infer N extends Digit] ? U extends [...infer S extends Digit[], infer M extends Digit] ? AddDigits<R, S, AddCarryDigit<N, M, Carry>, [AddDigit<N, M, Carry>, ...Acc]> : AddDigits<R, [], AddCarryDigit<N, 0, Carry>, [AddDigit<N, 0, Carry>, ...Acc]> : U extends [...infer S extends Digit[], infer M extends Digit] ? AddDigits<[], S, AddCarryDigit<0, M, Carry>, [AddDigit<0, M, Carry>, ...Acc]> : Carry extends 1 ? [1, ...Acc] : Acc;
896
- //#endregion
897
- //#region node_modules/hotscript/dist/internals/numbers/impl/compare.d.ts
898
823
  type CompareLength<T extends any[], U extends any[]> = T["length"] extends U["length"] ? 1 : 0;
899
824
  type DigitCompareTable = [[0, -1, -1, -1, -1, -1, -1, -1, -1, -1], [1, 0, -1, -1, -1, -1, -1, -1, -1, -1], [1, 1, 0, -1, -1, -1, -1, -1, -1, -1], [1, 1, 1, 0, -1, -1, -1, -1, -1, -1], [1, 1, 1, 1, 0, -1, -1, -1, -1, -1], [1, 1, 1, 1, 1, 0, -1, -1, -1, -1], [1, 1, 1, 1, 1, 1, 0, -1, -1, -1], [1, 1, 1, 1, 1, 1, 1, 0, -1, -1], [1, 1, 1, 1, 1, 1, 1, 1, 0, -1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0]];
900
825
  type DigitCompare<D1 extends Digit, D2 extends Digit> = DigitCompareTable[D1][D2];
@@ -907,35 +832,25 @@ type CompareDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<T>
907
832
  * @param U - Second number
908
833
  * @returns 0 if T = U, 1 if T > U, -1 if T < U
909
834
  */
910
- type Compare$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U> extends true ? 0 : CompareDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>;
835
+ type Compare$1<T extends number | bigint, U extends number | bigint> = Equal$1<T, U> extends true ? 0 : CompareDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>;
911
836
  type LessThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 ? true : false;
912
837
  type GreaterThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 ? true : false;
913
- type Equal$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U>;
914
- type NotEqual$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U> extends true ? false : true;
838
+ type Equal<T extends number | bigint, U extends number | bigint> = Equal$1<T, U>;
839
+ type NotEqual<T extends number | bigint, U extends number | bigint> = Equal$1<T, U> extends true ? false : true;
915
840
  type LessThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 | 0 ? true : false;
916
841
  type GreaterThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? true : false;
917
842
  type Max<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? T : U;
918
843
  type Min<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? U : T;
919
- //#endregion
920
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/substraction.d.ts
921
844
  type SubDigitTable = [[[0, 9, 8, 7, 6, 5, 4, 3, 2, 1], [1, 0, 9, 8, 7, 6, 5, 4, 3, 2], [2, 1, 0, 9, 8, 7, 6, 5, 4, 3], [3, 2, 1, 0, 9, 8, 7, 6, 5, 4], [4, 3, 2, 1, 0, 9, 8, 7, 6, 5], [5, 4, 3, 2, 1, 0, 9, 8, 7, 6], [6, 5, 4, 3, 2, 1, 0, 9, 8, 7], [7, 6, 5, 4, 3, 2, 1, 0, 9, 8], [8, 7, 6, 5, 4, 3, 2, 1, 0, 9], [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]], [[9, 8, 7, 6, 5, 4, 3, 2, 1, 0], [0, 9, 8, 7, 6, 5, 4, 3, 2, 1], [1, 0, 9, 8, 7, 6, 5, 4, 3, 2], [2, 1, 0, 9, 8, 7, 6, 5, 4, 3], [3, 2, 1, 0, 9, 8, 7, 6, 5, 4], [4, 3, 2, 1, 0, 9, 8, 7, 6, 5], [5, 4, 3, 2, 1, 0, 9, 8, 7, 6], [6, 5, 4, 3, 2, 1, 0, 9, 8, 7], [7, 6, 5, 4, 3, 2, 1, 0, 9, 8], [8, 7, 6, 5, 4, 3, 2, 1, 0, 9]]];
922
845
  type SubDigitCarryTable = [[[0, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]];
923
846
  type SubDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = SubDigitTable[Carry][T][U];
924
847
  type SubCarryDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = SubDigitCarryTable[Carry][T][U];
925
848
  type SubDigits<T extends Digit[], U extends Digit[], Carry extends 0 | 1 = 0, Acc extends Digit[] = []> = T extends [...infer R extends Digit[], infer N extends Digit] ? U extends [...infer S extends Digit[], infer M extends Digit] ? SubDigits<R, S, SubCarryDigit<N, M, Carry>, [SubDigit<N, M, Carry>, ...Acc]> : SubDigits<R, [], SubCarryDigit<N, 0, Carry>, [SubDigit<N, 0, Carry>, ...Acc]> : U extends [...infer S extends Digit[], infer M extends Digit] ? SubDigits<[], S, SubCarryDigit<0, M, Carry>, [SubDigit<0, M, Carry>, ...Acc]> : Carry extends 1 ? [...Acc, 9] : Acc;
926
- //#endregion
927
- //#region node_modules/hotscript/dist/internals/numbers/impl/addition.d.ts
928
849
  type AddDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<T> extends Sign<U> ? MakeDigitNumber<Sign<T>, AddDigits<Num<T>, Num<U>>> : CompareDigits<Num<T>, Num<U>> extends 1 ? MakeDigitNumber<Sign<T>, SubDigits<Num<T>, Num<U>>> : MakeDigitNumber<InvertSign<T>, SubDigits<Num<U>, Num<T>>>;
929
850
  type Add<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<AddDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
930
- //#endregion
931
- //#region node_modules/hotscript/dist/internals/numbers/impl/substraction.d.ts
932
851
  type SubDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<T> extends Sign<U> ? CompareDigits<Num<T>, Num<U>> extends 1 ? MakeDigitNumber<Sign<T>, SubDigits<Num<T>, Num<U>>> : MakeDigitNumber<InvertSign<T>, SubDigits<Num<U>, Num<T>>> : MakeDigitNumber<Sign<T>, AddDigits<Num<T>, Num<U>>>;
933
852
  type Sub<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<SubDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
934
- //#endregion
935
- //#region node_modules/hotscript/dist/internals/numbers/impl/negate.d.ts
936
853
  type Negate<T extends number | bigint> = `${T}` extends `-${infer U extends number | bigint}` ? U : `-${T}` extends `${infer U extends number | bigint}` ? U : never;
937
- //#endregion
938
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/multiply.d.ts
939
854
  type MulX2<T extends Digit[]> = AddDigits<T, T>;
940
855
  type MulX3<T extends Digit[]> = AddDigits<T, MulX2<T>>;
941
856
  type MulX4<T extends Digit[]> = MulX2<MulX2<T>>;
@@ -947,12 +862,8 @@ type MulX9<T extends Digit[]> = SubDigits<MulX10<T>, T>;
947
862
  type MulX10<T extends Digit[]> = [...T, 0];
948
863
  type MulByDigit<T extends Digit[], U extends Digit> = U extends 0 ? [0] : U extends 1 ? T : U extends 2 ? MulX2<T> : U extends 3 ? MulX3<T> : U extends 4 ? MulX4<T> : U extends 5 ? MulX5<T> : U extends 6 ? MulX6<T> : U extends 7 ? MulX7<T> : U extends 8 ? MulX8<T> : MulX9<T>;
949
864
  type MulDigits<T extends Digit[], U extends Digit[], Acc extends Digit[] = []> = U extends [infer N extends Digit, ...infer R extends Digit[]] ? MulDigits<T, R, AddDigits<MulByDigit<T, N>, MulX10<Acc>>> : Acc;
950
- //#endregion
951
- //#region node_modules/hotscript/dist/internals/numbers/impl/multiply.d.ts
952
865
  type MulDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<MulSign<Sign<T>, Sign<U>>, MulDigits<Num<T>, Num<U>>>;
953
866
  type Mul<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<MulDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
954
- //#endregion
955
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/division.d.ts
956
867
  type Rest$1<T extends Digit[]> = T extends [Digit, ...infer R extends Digit[]] ? R : never;
957
868
  type TruncateWith<T extends Digit[], U extends Digit[], Acc extends Digit[] = []> = U extends [] ? [T, Acc] : T extends [infer D extends Digit, ...infer DR extends Digit[]] ? TruncateWith<DR, Rest$1<U>, [...Acc, D]> : [T, Acc];
958
869
  type DivModByDigit<D extends Digit[], M extends Digit[], Mul extends Digit[] = [0], IterTable extends Digit[] = Digits, NextMul extends Digit[] = AddDigits<M, Mul>, Comp = CompareDigits<D, NextMul>> = IterTable extends [infer Iteration extends Digit, ...infer Next extends Digit[]] ? Comp extends 0 ? {
@@ -980,8 +891,6 @@ type _DivModDigits<A extends Digit[], D extends Digit[], M extends Digit[], Q ex
980
891
  type DivDigits<N extends Digit[], M extends Digit[]> = TruncateWith<N, M> extends [infer A extends Digit[], infer D extends Digit[]] ? _DivModDigits<A, D, M>["Quotient"] : never;
981
892
  type ModDigits<N extends Digit[], M extends Digit[]> = TruncateWith<N, M> extends [infer A extends Digit[], infer D extends Digit[]] ? _DivModDigits<A, D, M>["Remainder"] : never;
982
893
  type DivModDigits<N extends Digit[], M extends Digit[]> = TruncateWith<N, M> extends [infer A extends Digit[], infer D extends Digit[]] ? _DivModDigits<A, D, M> : never;
983
- //#endregion
984
- //#region node_modules/hotscript/dist/internals/numbers/impl/division.d.ts
985
894
  type DivDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<MulSign<Sign<T>, Sign<U>>, DivDigits<Num<T>, Num<U>>>;
986
895
  type Div<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<DivDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
987
896
  type ModDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<Sign<T>, ModDigits<Num<T>, Num<U>>>;
@@ -1000,22 +909,13 @@ type DivMod<T extends number | bigint, U extends number | bigint, DivModNumbers
1000
909
  Quotient: ToNumber<FromDigitNumber<Normalize<DivModNumbers["Quotient"]>>>;
1001
910
  Remainder: ToNumber<FromDigitNumber<Normalize<DivModNumbers["Remainder"]>>>;
1002
911
  };
1003
- //#endregion
1004
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/power.d.ts
1005
912
  type PowerDigits<T extends Digit[], U extends Digit[], Acc extends Digit[] = [1]> = U extends [0] ? [1] : U extends [1] ? MulDigits<T, Acc> : U extends [infer UN extends Digit, ...infer UR extends Digit[]] ? _DivModDigits<UR, [UN], [2]> extends {
1006
913
  Quotient: infer Q extends Digit[];
1007
914
  Remainder: infer R extends Digit[];
1008
915
  } ? TrimZeros<R> extends [0] ? PowerDigits<MulDigits<T, T>, TrimZeros<Q>, Acc> : PowerDigits<MulDigits<T, T>, TrimZeros<Q>, MulDigits<T, Acc>> : never : Acc;
1009
- //#endregion
1010
- //#region node_modules/hotscript/dist/internals/numbers/impl/power.d.ts
1011
916
  type PowerSign<S extends "" | "-", U extends DigitNumber> = S extends "-" ? Num<U> extends [...Digit[], 0 | 2 | 4 | 6 | 8] ? "" : "-" : "";
1012
917
  type PowerDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<U> extends "-" ? MakeDigitNumber<Sign<T>, [0]> : MakeDigitNumber<PowerSign<Sign<T>, U>, PowerDigits<Num<T>, Num<U>>>;
1013
918
  type Power<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<PowerDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
1014
- declare namespace numbers_d_exports {
1015
- export { Abs, Add, Compare$1 as Compare, Div, Equal$1 as Equal, GreaterThan$1 as GreaterThan, GreaterThanOrEqual$1 as GreaterThanOrEqual, LessThan$1 as LessThan, LessThanOrEqual$1 as LessThanOrEqual, Max, Min, Mod, Mul, Negate, NotEqual$1 as NotEqual, Power, Sub };
1016
- }
1017
- //#endregion
1018
- //#region node_modules/hotscript/dist/internals/numbers/Numbers.d.ts
1019
919
  declare namespace Numbers {
1020
920
  /**
1021
921
  * Add two numbers together
@@ -1201,7 +1101,7 @@ declare namespace Numbers {
1201
1101
  */
1202
1102
  export type Equal<n1 extends number | bigint | _ | unset = unset, n2 extends number | bigint | _ | unset = unset> = PartialApply<EqualFn, n2 extends unset ? [unset, n1] : [n1, n2]>;
1203
1103
  interface EqualFn extends Fn {
1204
- return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? Equal$1<a, b> : never;
1104
+ return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? Equal<a, b> : never;
1205
1105
  }
1206
1106
  /**
1207
1107
  * Check if two numbers are not equal
@@ -1217,7 +1117,7 @@ declare namespace Numbers {
1217
1117
  */
1218
1118
  export type NotEqual<n1 extends number | bigint | _ | unset = unset, n2 extends number | bigint | _ | unset = unset> = PartialApply<NotEqualFn, n2 extends unset ? [unset, n1] : [n1, n2]>;
1219
1119
  interface NotEqualFn extends Fn {
1220
- return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? NotEqual$1<a, b> : never;
1120
+ return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? NotEqual<a, b> : never;
1221
1121
  }
1222
1122
  /**
1223
1123
  * Check if a number is less than another
@@ -1289,8 +1189,6 @@ declare namespace Numbers {
1289
1189
  }
1290
1190
  export {};
1291
1191
  }
1292
- //#endregion
1293
- //#region node_modules/hotscript/dist/internals/std/Std.d.ts
1294
1192
  declare namespace Std {
1295
1193
  type _Pick<a, k extends keyof a> = Pick<a, k>;
1296
1194
  type _Omit<a, k extends PropertyKey> = Omit<a, k>;
@@ -1306,8 +1204,6 @@ declare namespace Std {
1306
1204
  type _Partial<a> = Partial<a>;
1307
1205
  type _NonNullable<a> = NonNullable<a>;
1308
1206
  }
1309
- //#endregion
1310
- //#region node_modules/hotscript/dist/internals/tuples/Tuples.d.ts
1311
1207
  declare namespace Tuples {
1312
1208
  type HeadImpl<xs> = xs extends readonly [infer head, ...any] ? head : never;
1313
1209
  /**
@@ -1876,8 +1772,6 @@ declare namespace Tuples {
1876
1772
  type MaxImpl<xs, min extends number | bigint = never> = xs extends [infer first extends number | bigint, ...infer rest] ? MaxImpl<rest, [min] extends [never] ? first : Max<first, min>> : min;
1877
1773
  export {};
1878
1774
  }
1879
- //#endregion
1880
- //#region node_modules/hotscript/dist/internals/strings/impl/split.d.ts
1881
1775
  type ConcatSplits<Parts extends string[], Seps extends string[], Acc extends string[] = []> = Parts extends [infer First extends string, ...infer Rest extends string[]] ? ConcatSplits<Rest, Seps, [...Acc, ...SplitManySep<First, Seps>]> : Acc;
1882
1776
  type SplitManySep<Str extends string, Sep extends string[], Acc extends string[] = []> = Sep extends [infer FirstSep extends string, ...infer RestSep extends string[]] ? ConcatSplits<Split$2<Str, FirstSep>, RestSep> : [Str, ...Acc];
1883
1777
  /**
@@ -1893,8 +1787,6 @@ type Split$1<Str, Sep extends string, Seps = UnionToTuple<Sep>> = Seps extends s
1893
1787
  * @returns The tuple of each character.
1894
1788
  */
1895
1789
  type StringToTuple<Str, Acc extends string[] = []> = Str extends string ? Str extends `${infer First}${infer Rest}` ? StringToTuple<Rest, [...Acc, First]> : Acc : [];
1896
- //#endregion
1897
- //#region node_modules/hotscript/dist/internals/strings/impl/trim.d.ts
1898
1790
  /**
1899
1791
  * Trim the left side of a string.
1900
1792
  * @param Str - The string to trim.
@@ -1916,21 +1808,15 @@ type TrimRight<Str, Sep extends string> = Str extends `${infer Rest}${Sep}` ? Tr
1916
1808
  * @returns The trimmed string.
1917
1809
  */
1918
1810
  type Trim<Str, Sep extends string> = TrimLeft<TrimRight<Str, Sep>, Sep>;
1919
- //#endregion
1920
- //#region node_modules/hotscript/dist/internals/strings/impl/replace.d.ts
1921
1811
  type Replace<Str, From extends string, To extends string> = Str extends string ? Str extends `${infer Before}${From}${infer After}` ? Replace<`${Before}${To}${After}`, From, To> : Str : Str;
1922
1812
  interface ReplaceReducer<To extends string> extends Fn {
1923
1813
  return: this["args"] extends [infer Str extends string, infer From extends string, ...any] ? Replace<Str, From, To> : never;
1924
1814
  }
1925
- //#endregion
1926
- //#region node_modules/hotscript/dist/internals/strings/impl/repeat.d.ts
1927
1815
  type RepeatX2<T extends string> = `${T}${T}`;
1928
1816
  type Repeat<T extends string, N extends number, Acc extends string = "", Calc extends {
1929
1817
  Quotient: number;
1930
1818
  Remainder: number;
1931
1819
  } = DivMod<N, 2>> = N extends 0 ? Acc : N extends 1 ? `${Acc}${T}` : Calc["Remainder"] extends 0 ? Repeat<RepeatX2<T>, Calc["Quotient"], Acc> : Repeat<T, Sub<N, 1>, `${Acc}${T}`>;
1932
- //#endregion
1933
- //#region node_modules/hotscript/dist/internals/strings/impl/compare.d.ts
1934
1820
  type ascii = {
1935
1821
  " ": 32;
1936
1822
  "!": 33;
@@ -2154,15 +2040,11 @@ type ascii = {
2154
2040
  };
2155
2041
  type CharacterCompare<Char1 extends string, Char2 extends string> = Char1 extends Char2 ? 0 : Char1 extends keyof ascii ? Char2 extends keyof ascii ? Call<Numbers.Compare, ascii[Char1], ascii[Char2]> : 1 : -1;
2156
2042
  type CharactersCompare<T extends string[], U extends string[]> = T extends [infer N1 extends string, ...infer R1 extends string[]] ? U extends [infer N2 extends string, ...infer R2 extends string[]] ? CharacterCompare<N1, N2> extends 0 ? CharactersCompare<R1, R2> : CharacterCompare<N1, N2> : 1 : U extends [string, ...string[]] ? -1 : 0;
2157
- type Compare<T extends string, U extends string> = Equal$2<T, U> extends true ? 0 : CharactersCompare<StringToTuple<T>, StringToTuple<U>>;
2043
+ type Compare<T extends string, U extends string> = Equal$1<T, U> extends true ? 0 : CharactersCompare<StringToTuple<T>, StringToTuple<U>>;
2158
2044
  type LessThan<T extends string, U extends string> = Compare<T, U> extends -1 ? true : false;
2159
2045
  type LessThanOrEqual<T extends string, U extends string> = Compare<T, U> extends 1 ? false : true;
2160
- type Equal<T extends string, U extends string> = Equal$2<T, U>;
2161
- type NotEqual<T extends string, U extends string> = Equal$2<T, U> extends true ? false : true;
2162
2046
  type GreaterThan<T extends string, U extends string> = Compare<T, U> extends 1 ? true : false;
2163
2047
  type GreaterThanOrEqual<T extends string, U extends string> = Compare<T, U> extends -1 ? false : true;
2164
- //#endregion
2165
- //#region node_modules/hotscript/dist/internals/strings/impl/utils.d.ts
2166
2048
  declare namespace StringIterator {
2167
2049
  type Iter = [string, number | bigint];
2168
2050
  /**
@@ -2235,16 +2117,9 @@ declare namespace StringIterator {
2235
2117
  export type CutAt<T extends string, It extends Iterator> = `$${T}` extends `${String<It>}${infer $Rest}` ? $Rest : undefined;
2236
2118
  export {};
2237
2119
  }
2238
- //#endregion
2239
- //#region node_modules/hotscript/dist/internals/strings/impl/length.d.ts
2240
2120
  type LengthUp<Str extends string, Length extends number | bigint = 0, It extends StringIterator.Iterator = StringIterator.Init> = StringIterator.Double<It> extends (infer $DoubleIt extends StringIterator.Iterator) ? StringIterator.CutAt<Str, $DoubleIt> extends `${infer $Rest}` ? StringIterator.Size<It> extends 12 ? LengthDown<$Rest, Add<Length, StringIterator.Value<$DoubleIt>>, $DoubleIt> : LengthUp<$Rest, Add<Length, StringIterator.Value<$DoubleIt>>, $DoubleIt> : StringIterator.CutAt<Str, It> extends `${infer $Rest}` ? LengthUp<$Rest, Add<Length, StringIterator.Value<It>>, It> : LengthDown<Str, Length, StringIterator.Prev<It>> : never;
2241
2121
  type LengthDown<Str extends string, Length extends number | bigint, It> = It extends StringIterator.Iterator ? StringIterator.CutAt<Str, It> extends `${infer $Rest}` ? LengthDown<$Rest, Add<Length, StringIterator.Value<It>>, It> : LengthDown<Str, Length, StringIterator.Prev<It>> : Length;
2242
2122
  type Length<T extends string> = T extends "" ? 0 : LengthUp<T>;
2243
- declare namespace strings_d_exports {
2244
- export { Compare, Equal, GreaterThan, GreaterThanOrEqual, Length, LessThan, LessThanOrEqual, NotEqual, Repeat, Replace, ReplaceReducer, Split$1 as Split, StringToTuple, Trim, TrimLeft, TrimRight };
2245
- }
2246
- //#endregion
2247
- //#region node_modules/hotscript/dist/internals/strings/Strings.d.ts
2248
2123
  declare namespace Strings {
2249
2124
  export type Stringifiable = string | number | boolean | bigint | null | undefined;
2250
2125
  /**
@@ -2643,9 +2518,6 @@ declare namespace Strings {
2643
2518
  }
2644
2519
  export {};
2645
2520
  }
2646
- declare namespace objects_d_exports {
2647
- export { AllPaths, Assign, Create, Entries, FromEntries, GetFromPath, Keys, TransformObjectDeep, Update, Values };
2648
- }
2649
2521
  type Keys<src> = src extends readonly unknown[] ? { [key in keyof src]: key; }[number] extends (infer res) ? res extends string ? Call<Strings.ToNumber, res> & keyof src : res & keyof src : never : keyof src;
2650
2522
  type Values<src> = Keys<src> extends (infer keys extends keyof src) ? src[keys] : never;
2651
2523
  type FromEntries<entries extends [PropertyKey, any]> = { [entry in entries as entry[0]]: entry[1]; } | never;
@@ -2654,14 +2526,12 @@ type Assign<xs extends readonly any[]> = Prettify$1<UnionToIntersection<xs[numbe
2654
2526
  type GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;
2655
2527
  type ParsePath<path, output extends string[] = [], currentChunk extends string = ""> = path extends number ? [`${path}`] : path extends `${infer first}${infer rest}` ? first extends "." | "[" | "]" ? ParsePath<rest, [...output, ...(currentChunk extends "" ? [] : [currentChunk])], ""> : ParsePath<rest, output, `${currentChunk}${first}`> : [...output, ...(currentChunk extends "" ? [] : [currentChunk])];
2656
2528
  type RecursiveGet<Obj, pathList> = Obj extends any ? pathList extends [infer first, ...infer rest] ? first extends keyof Obj ? RecursiveGet<Obj[first], rest> : [first, Obj] extends [`${number}` | "number", readonly any[]] ? RecursiveGet<Extract<Obj, any[]>[number], rest> : undefined : Obj : never;
2657
- type TransformObjectDeep<fn extends Fn, type> = type extends Function | Date ? type : type extends Map<infer keys, infer values> ? Map<TransformObjectDeep<fn, keys>, TransformObjectDeep<fn, values>> : type extends ReadonlyMap<infer keys, infer values> ? ReadonlyMap<TransformObjectDeep<fn, keys>, TransformObjectDeep<fn, values>> : type extends WeakMap<infer keys, infer values> ? WeakMap<Extract<TransformObjectDeep<fn, keys>, object>, TransformObjectDeep<fn, values>> : type extends Set<infer values> ? Set<TransformObjectDeep<fn, values>> : type extends ReadonlySet<infer values> ? ReadonlySet<TransformObjectDeep<fn, values>> : type extends WeakSet<infer values> ? WeakSet<Extract<TransformObjectDeep<fn, values>, object>> : type extends Array<infer values> ? IsTuple<type> extends true ? Call<fn, { [Key in keyof type]: TransformObjectDeep<fn, type[Key]>; }> : Array<TransformObjectDeep<fn, values> | undefined> : type extends Promise<infer value> ? Promise<TransformObjectDeep<fn, value>> : type extends object ? Call<fn, { [Key in keyof type]: TransformObjectDeep<fn, type[Key]>; }> : Equal$2<type, unknown> extends true ? unknown : Partial<type>;
2529
+ type TransformObjectDeep<fn extends Fn, type> = type extends Function | Date ? type : type extends Map<infer keys, infer values> ? Map<TransformObjectDeep<fn, keys>, TransformObjectDeep<fn, values>> : type extends ReadonlyMap<infer keys, infer values> ? ReadonlyMap<TransformObjectDeep<fn, keys>, TransformObjectDeep<fn, values>> : type extends WeakMap<infer keys, infer values> ? WeakMap<Extract<TransformObjectDeep<fn, keys>, object>, TransformObjectDeep<fn, values>> : type extends Set<infer values> ? Set<TransformObjectDeep<fn, values>> : type extends ReadonlySet<infer values> ? ReadonlySet<TransformObjectDeep<fn, values>> : type extends WeakSet<infer values> ? WeakSet<Extract<TransformObjectDeep<fn, values>, object>> : type extends Array<infer values> ? IsTuple<type> extends true ? Call<fn, { [Key in keyof type]: TransformObjectDeep<fn, type[Key]>; }> : Array<TransformObjectDeep<fn, values> | undefined> : type extends Promise<infer value> ? Promise<TransformObjectDeep<fn, value>> : type extends object ? Call<fn, { [Key in keyof type]: TransformObjectDeep<fn, type[Key]>; }> : Equal$1<type, unknown> extends true ? unknown : Partial<type>;
2658
2530
  type Update<obj, path, fnOrValue> = RecursiveUpdate<obj, ParsePath<path>, fnOrValue>;
2659
- type RecursiveUpdate<obj, pathList, fnOrValue> = obj extends any ? pathList extends [infer first, ...infer rest] ? first extends keyof obj ? { [K in keyof obj]: Equal$2<first, K> extends true ? RecursiveUpdate<obj[K], rest, fnOrValue> : obj[K]; } : [first, obj] extends ["number", readonly any[]] ? RecursiveUpdate<Extract<obj, any[]>[number], rest, fnOrValue>[] : Assign<[obj, { [K in Extract<first, PropertyKey>]: RecursiveUpdate<{}, rest, fnOrValue>; }]> : fnOrValue extends Fn ? Call<Extract<fnOrValue, Fn>, obj> : fnOrValue : never;
2531
+ type RecursiveUpdate<obj, pathList, fnOrValue> = obj extends any ? pathList extends [infer first, ...infer rest] ? first extends keyof obj ? { [K in keyof obj]: Equal$1<first, K> extends true ? RecursiveUpdate<obj[K], rest, fnOrValue> : obj[K]; } : [first, obj] extends ["number", readonly any[]] ? RecursiveUpdate<Extract<obj, any[]>[number], rest, fnOrValue>[] : Assign<[obj, { [K in Extract<first, PropertyKey>]: RecursiveUpdate<{}, rest, fnOrValue>; }]> : fnOrValue extends Fn ? Call<Extract<fnOrValue, Fn>, obj> : fnOrValue : never;
2660
2532
  type Create<pattern, args extends unknown[]> = pattern extends (infer p extends Fn) ? Apply<p, args> : pattern extends Primitive$1 ? pattern : pattern extends readonly [any, ...any] ? { [key in keyof pattern]: Create<pattern[key], args>; } : pattern extends readonly (infer V)[] ? Create<V, args>[] : pattern extends object ? { [key in keyof pattern]: Create<pattern[key], args>; } : pattern;
2661
2533
  type JoinPath<A extends string, B extends string, Sep extends string = ""> = [A] extends [never] ? B : [B] extends [never] ? A : `${A}${Sep}${B}`;
2662
2534
  type AllPaths<T, ParentPath extends string = never> = T extends Primitive$1 ? ParentPath : unknown extends T ? JoinPath<ParentPath, string, "."> : T extends readonly any[] ? Keys<T> extends (infer key extends string | number) ? JoinPath<ParentPath, `[${key}]`> | AllPaths<T[number], JoinPath<ParentPath, `[${key}]`>> : never : keyof T extends (infer key extends keyof T & string) ? key extends any ? JoinPath<ParentPath, key, "."> | AllPaths<T[key], JoinPath<ParentPath, key, ".">> : never : ParentPath;
2663
- //#endregion
2664
- //#region node_modules/hotscript/dist/internals/objects/Objects.d.ts
2665
2535
  declare namespace Objects {
2666
2536
  /**
2667
2537
  * Create an object from a union of `[key, value]` entries.
@@ -3169,59 +3039,29 @@ declare namespace Objects {
3169
3039
  }
3170
3040
  export {};
3171
3041
  }
3172
- //#endregion
3173
- //#region node_modules/ts-algebra/lib/utils/and.d.ts
3174
3042
  declare type And$1<BOOL_A, BOOL_B> = BOOL_A extends true ? BOOL_B extends true ? true : false : false;
3175
- //#endregion
3176
- //#region node_modules/ts-algebra/lib/utils/extends.d.ts
3177
3043
  declare type DoesExtend$1<TYPE_A, TYPE_B> = [TYPE_A] extends [TYPE_B] ? true : false;
3178
3044
  declare type ArrayKeys = keyof [];
3179
3045
  declare type IsObject<TYPE> = TYPE extends object ? ArrayKeys extends Extract<keyof TYPE, ArrayKeys> ? false : true : false;
3180
3046
  declare type IsArray<TYPE> = TYPE extends object ? ArrayKeys extends Extract<keyof TYPE, ArrayKeys> ? true : false : false;
3181
- //#endregion
3182
- //#region node_modules/ts-algebra/lib/utils/if.d.ts
3183
3047
  declare type If<CONDITION extends boolean, THEN, ELSE = never> = CONDITION extends true ? THEN : ELSE;
3184
- //#endregion
3185
- //#region node_modules/ts-algebra/lib/utils/intersectUnion.d.ts
3186
3048
  declare type IntersectUnion$1<UNION> = (UNION extends unknown ? (arg: UNION) => void : never) extends ((arg: infer INTERSECTION) => void) ? INTERSECTION : never;
3187
- //#endregion
3188
- //#region node_modules/ts-algebra/lib/utils/isNever.d.ts
3189
3049
  declare type IsNever<TYPE> = [TYPE] extends [never] ? true : false;
3190
- //#endregion
3191
- //#region node_modules/ts-algebra/lib/utils/merge.d.ts
3192
3050
  declare type DeepMergeUnsafe<TYPE_A, TYPE_B> = IsObject<TYPE_A> extends true ? IsObject<TYPE_B> extends true ? { [KEY in keyof (TYPE_A & TYPE_B)]: KEY extends keyof TYPE_B ? KEY extends keyof TYPE_A ? DeepMergeUnsafe<TYPE_A[KEY], TYPE_B[KEY]> : TYPE_B[KEY] : KEY extends keyof TYPE_A ? TYPE_A[KEY] : never; } : TYPE_B : IsArray<TYPE_A> extends true ? IsArray<TYPE_B> extends true ? TYPE_B extends unknown[] ? [...(TYPE_A extends unknown[] ? TYPE_A : never), TYPE_B] : never : TYPE_B : TYPE_B;
3193
- //#endregion
3194
- //#region node_modules/ts-algebra/lib/utils/not.d.ts
3195
3051
  declare type Not$1<BOOL extends boolean> = BOOL extends false ? true : BOOL extends true ? false : never;
3196
- //#endregion
3197
- //#region node_modules/ts-algebra/lib/utils/or.d.ts
3198
3052
  declare type Or<BOOL_A extends boolean, BOOL_B extends boolean> = BOOL_A extends true ? true : BOOL_B extends true ? true : false;
3199
- //#endregion
3200
- //#region node_modules/ts-algebra/lib/utils/prettify.d.ts
3201
3053
  declare type Prettify<TYPE> = IsObject<TYPE> extends true ? { [KEY in keyof TYPE]: KEY extends keyof TYPE ? TYPE[KEY] : never; } : TYPE;
3202
- //#endregion
3203
- //#region node_modules/ts-algebra/lib/utils/tail.d.ts
3204
3054
  declare type Tail$2<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer TAIL] ? TAIL : ARRAY;
3205
- //#endregion
3206
- //#region node_modules/ts-algebra/lib/utils/unionLast.d.ts
3207
3055
  declare type UnionLast<UNION> = IntersectUnion$1<UNION extends unknown ? (x: UNION) => void : never> extends ((x: infer LAST) => void) ? LAST : never;
3208
- //#endregion
3209
- //#region node_modules/ts-algebra/lib/utils/unionPop.d.ts
3210
3056
  declare type UnionPop<UNION> = Exclude<UNION, UnionLast<UNION>>;
3211
- //#endregion
3212
- //#region node_modules/ts-algebra/lib/meta-types/never.d.ts
3213
3057
  declare type NeverTypeId = "never";
3214
3058
  declare type Never = {
3215
3059
  type: NeverTypeId;
3216
3060
  };
3217
3061
  declare type NeverType = Never;
3218
3062
  declare type ResolveNever = never;
3219
- //#endregion
3220
- //#region node_modules/ts-algebra/lib/meta-types/utils.d.ts
3221
3063
  declare type IsSerialized<SERIALIZABLE_META_TYPE extends SerializableType> = SERIALIZABLE_META_TYPE["isSerialized"];
3222
3064
  declare type Deserialized<SERIALIZABLE_META_TYPE extends SerializableType> = SERIALIZABLE_META_TYPE["deserialized"];
3223
- //#endregion
3224
- //#region node_modules/ts-algebra/lib/meta-types/const.d.ts
3225
3065
  declare type ConstTypeId = "const";
3226
3066
  declare type Const<VALUE, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = If<IsNever<VALUE>, Never, {
3227
3067
  type: ConstTypeId;
@@ -3237,8 +3077,6 @@ declare type ConstType = {
3237
3077
  };
3238
3078
  declare type ConstValue<META_CONST extends ConstType> = META_CONST["value"];
3239
3079
  declare type ResolveConst<META_CONST extends ConstType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_CONST>>, Deserialized<META_CONST>, ConstValue<META_CONST>>;
3240
- //#endregion
3241
- //#region node_modules/ts-algebra/lib/meta-types/enum.d.ts
3242
3080
  declare type EnumTypeId = "enum";
3243
3081
  declare type Enum<VALUES, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = If<IsNever<VALUES>, Never, {
3244
3082
  type: EnumTypeId;
@@ -3254,8 +3092,6 @@ declare type EnumType = {
3254
3092
  };
3255
3093
  declare type EnumValues<META_ENUM extends EnumType> = META_ENUM["values"];
3256
3094
  declare type ResolveEnum<META_ENUM extends EnumType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_ENUM>>, Deserialized<META_ENUM>, EnumValues<META_ENUM>>;
3257
- //#endregion
3258
- //#region node_modules/ts-algebra/lib/meta-types/object.d.ts
3259
3095
  declare type ObjectTypeId = "object";
3260
3096
  declare type _Object<VALUES extends Record<string, Type> = {}, REQUIRED_KEYS extends string = never, OPEN_PROPS extends Type = Never, CLOSE_ON_RESOLVE extends boolean = false, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = _$Object<VALUES, REQUIRED_KEYS, OPEN_PROPS, CLOSE_ON_RESOLVE, IS_SERIALIZED, DESERIALIZED>;
3261
3097
  declare type _$Object<VALUES = {}, REQUIRED_KEYS = never, OPEN_PROPS = Never, CLOSE_ON_RESOLVE = false, IS_SERIALIZED = false, DESERIALIZED = never> = DoesExtend$1<true, { [KEY in Extract<REQUIRED_KEYS, string>]: KEY extends keyof VALUES ? DoesExtend$1<VALUES[KEY], NeverType> : DoesExtend$1<OPEN_PROPS, NeverType>; }[Extract<REQUIRED_KEYS, string>]> extends true ? Never : {
@@ -3290,8 +3126,6 @@ declare type ResolveObject<META_OBJECT extends ObjectType, OPTIONS extends Resol
3290
3126
  }, {
3291
3127
  [KEY: string]: Resolve<Any, OPTIONS>;
3292
3128
  }>, {}>, DeepMergeUnsafe<{ [KEY in Exclude<keyof ObjectValues<META_OBJECT>, ObjectRequiredKeys<META_OBJECT>>]?: Resolve<ObjectValues<META_OBJECT>[KEY], OPTIONS>; }, { [KEY in ObjectRequiredKeys<META_OBJECT>]: KEY extends keyof ObjectValues<META_OBJECT> ? Resolve<ObjectValues<META_OBJECT>[KEY], OPTIONS> : Resolve<Any, OPTIONS>; }>>>;
3293
- //#endregion
3294
- //#region node_modules/ts-algebra/lib/meta-types/primitive.d.ts
3295
3129
  declare type PrimitiveTypeId = "primitive";
3296
3130
  declare type Primitive<VALUE extends null | boolean | number | string, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = $Primitive<VALUE, IS_SERIALIZED, DESERIALIZED>;
3297
3131
  declare type $Primitive<VALUE, IS_SERIALIZED = false, DESERIALIZED = never> = If<IsNever<VALUE>, Never, {
@@ -3308,8 +3142,6 @@ declare type PrimitiveType = {
3308
3142
  };
3309
3143
  declare type PrimitiveValue<META_PRIMITIVE extends PrimitiveType> = META_PRIMITIVE["value"];
3310
3144
  declare type ResolvePrimitive<META_PRIMITIVE extends PrimitiveType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_PRIMITIVE>>, Deserialized<META_PRIMITIVE>, PrimitiveValue<META_PRIMITIVE>>;
3311
- //#endregion
3312
- //#region node_modules/ts-algebra/lib/meta-types/tuple.d.ts
3313
3145
  declare type TupleTypeId = "tuple";
3314
3146
  declare type Tuple<VALUES extends Type[], OPEN_PROPS extends Type = Never, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = $Tuple<VALUES, OPEN_PROPS, IS_SERIALIZED, DESERIALIZED>;
3315
3147
  declare type $Tuple<VALUES, OPEN_PROPS = Never, IS_SERIALIZED = false, DESERIALIZED = never> = IsAnyValueNever<VALUES> extends true ? Never : {
@@ -3334,8 +3166,6 @@ declare type IsTupleOpen<META_TUPLE extends TupleType> = META_TUPLE["isOpen"];
3334
3166
  declare type TupleOpenProps<META_TUPLE extends TupleType> = META_TUPLE["openProps"];
3335
3167
  declare type ResolveTuple<META_TUPLE extends TupleType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_TUPLE>>, Deserialized<META_TUPLE>, If<IsTupleOpen<META_TUPLE>, [...RecurseOnTuple<TupleValues<META_TUPLE>, OPTIONS>, ...Resolve<TupleOpenProps<META_TUPLE>, OPTIONS>[]], RecurseOnTuple<TupleValues<META_TUPLE>, OPTIONS>>>;
3336
3168
  declare type RecurseOnTuple<VALUES extends Type[], OPTIONS extends ResolveOptions, RESULT extends unknown[] = []> = VALUES extends [infer VALUES_HEAD, ...infer VALUES_TAIL] ? VALUES_HEAD extends Type ? VALUES_TAIL extends Type[] ? RecurseOnTuple<VALUES_TAIL, OPTIONS, [...RESULT, Resolve<VALUES_HEAD, OPTIONS>]> : never : never : RESULT;
3337
- //#endregion
3338
- //#region node_modules/ts-algebra/lib/meta-types/union.d.ts
3339
3169
  declare type UnionTypeId = "union";
3340
3170
  declare type Union<VALUES extends Type> = $Union<VALUES>;
3341
3171
  declare type $Union<VALUES> = If<IsNever<VALUES>, Never, DoesExtend$1<VALUES, NeverType> extends true ? Never : {
@@ -3349,15 +3179,11 @@ declare type UnionType = {
3349
3179
  declare type UnionValues<META_UNION extends UnionType> = META_UNION["values"];
3350
3180
  declare type ResolveUnion<META_UNION extends UnionType, OPTIONS extends ResolveOptions> = RecurseOnUnion<UnionValues<META_UNION>, OPTIONS>;
3351
3181
  declare type RecurseOnUnion<VALUES extends Type, OPTIONS extends ResolveOptions> = VALUES extends (infer META_TYPE) ? $Resolve<META_TYPE, OPTIONS> : never;
3352
- //#endregion
3353
- //#region node_modules/ts-algebra/lib/meta-types/type.d.ts
3354
3182
  declare type Type = NeverType | AnyType | ConstType | EnumType | PrimitiveType | ArrayType | TupleType | ObjectType | UnionType;
3355
3183
  declare type SerializableType = Type extends (infer META_TYPE) ? META_TYPE extends {
3356
3184
  isSerialized: boolean;
3357
3185
  deserialized: unknown;
3358
3186
  } ? META_TYPE : never : never;
3359
- //#endregion
3360
- //#region node_modules/ts-algebra/lib/meta-types/array.d.ts
3361
3187
  declare type ArrayTypeId = "array";
3362
3188
  declare type _Array<VALUES extends Type = Any, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = _$Array<VALUES, IS_SERIALIZED, DESERIALIZED>;
3363
3189
  declare type _$Array<VALUES = Any, IS_SERIALIZED = false, DESERIALIZED = never> = {
@@ -3374,8 +3200,6 @@ declare type ArrayType = {
3374
3200
  };
3375
3201
  declare type ArrayValues<META_ARRAY extends ArrayType> = META_ARRAY["values"];
3376
3202
  declare type ResolveArray<META_ARRAY extends ArrayType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_ARRAY>>, Deserialized<META_ARRAY>, ArrayValues<META_ARRAY> extends NeverType ? [] : Prettify<Resolve<ArrayValues<META_ARRAY>, OPTIONS>[]>>;
3377
- //#endregion
3378
- //#region node_modules/ts-algebra/lib/meta-types/resolve.d.ts
3379
3203
  declare type ResolveOptions = {
3380
3204
  deserialize: boolean;
3381
3205
  };
@@ -3384,8 +3208,6 @@ declare type ResolveDefaultOptions = {
3384
3208
  };
3385
3209
  declare type Resolve<META_TYPE extends Type, OPTIONS extends ResolveOptions = ResolveDefaultOptions> = $Resolve<META_TYPE, OPTIONS>;
3386
3210
  declare type $Resolve<META_TYPE, OPTIONS extends ResolveOptions = ResolveDefaultOptions> = META_TYPE extends AnyType ? ResolveAny<META_TYPE, OPTIONS> : META_TYPE extends NeverType ? ResolveNever : META_TYPE extends ConstType ? ResolveConst<META_TYPE, OPTIONS> : META_TYPE extends EnumType ? ResolveEnum<META_TYPE, OPTIONS> : META_TYPE extends PrimitiveType ? ResolvePrimitive<META_TYPE, OPTIONS> : META_TYPE extends ArrayType ? ResolveArray<META_TYPE, OPTIONS> : META_TYPE extends TupleType ? ResolveTuple<META_TYPE, OPTIONS> : META_TYPE extends ObjectType ? ResolveObject<META_TYPE, OPTIONS> : META_TYPE extends UnionType ? ResolveUnion<META_TYPE, OPTIONS> : never;
3387
- //#endregion
3388
- //#region node_modules/ts-algebra/lib/meta-types/any.d.ts
3389
3211
  declare type AnyTypeId = "any";
3390
3212
  declare type Any<IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = {
3391
3213
  type: AnyTypeId;
@@ -3398,16 +3220,10 @@ declare type AnyType = {
3398
3220
  deserialized: unknown;
3399
3221
  };
3400
3222
  declare type ResolveAny<META_ANY extends AnyType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_ANY>>, Deserialized<META_ANY>, unknown>;
3401
- //#endregion
3402
- //#region node_modules/ts-algebra/lib/meta-types/intersection/union.d.ts
3403
3223
  declare type IntersectUnion<META_UNION extends UnionType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? META_UNION : META_TYPE extends ConstType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends EnumType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends PrimitiveType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends ArrayType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends TupleType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends ObjectType ? DistributeIntersection<META_UNION, META_TYPE> : META_TYPE extends UnionType ? DistributeIntersection<META_UNION, META_TYPE> : Never : Never;
3404
3224
  declare type DistributeIntersection<META_UNION extends UnionType, META_TYPE> = $Union<UnionValues<META_UNION> extends (infer UNION_VALUE) ? $Intersect<UNION_VALUE, META_TYPE> : never>;
3405
- //#endregion
3406
- //#region node_modules/ts-algebra/lib/meta-types/intersection/utils.d.ts
3407
3225
  declare type IntersectIsSerialized<SERIALIZABLE_META_TYPE_A extends SerializableType, SERIALIZABLE_META_TYPE_B extends SerializableType> = Or<IsSerialized<SERIALIZABLE_META_TYPE_A>, IsSerialized<SERIALIZABLE_META_TYPE_B>>;
3408
3226
  declare type IntersectDeserialized<SERIALIZABLE_META_TYPE_A extends SerializableType, SERIALIZABLE_META_TYPE_B extends SerializableType> = If<IsSerialized<SERIALIZABLE_META_TYPE_A>, If<IsSerialized<SERIALIZABLE_META_TYPE_B>, Deserialized<SERIALIZABLE_META_TYPE_A> & Deserialized<SERIALIZABLE_META_TYPE_B>, Deserialized<SERIALIZABLE_META_TYPE_A>>, If<IsSerialized<SERIALIZABLE_META_TYPE_B>, Deserialized<SERIALIZABLE_META_TYPE_B>>>;
3409
- //#endregion
3410
- //#region node_modules/ts-algebra/lib/meta-types/intersection/const.d.ts
3411
3227
  declare type IntersectConstSerializationParams<META_CONST extends ConstType, SERIALIZABLE_META_TYPE extends SerializableType> = Const<ConstValue<META_CONST>, IntersectIsSerialized<META_CONST, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_CONST, SERIALIZABLE_META_TYPE>>;
3412
3228
  declare type IntersectConst<META_CONST extends ConstType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectConstSerializationParams<META_CONST, META_TYPE> : META_TYPE extends ConstType ? CheckExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends EnumType ? IntersectConstToEnum<META_CONST, META_TYPE> : META_TYPE extends PrimitiveType ? IntersectConstToPrimitive<META_CONST, META_TYPE> : META_TYPE extends ArrayType ? IntersectConstToArray<META_CONST, META_TYPE> : META_TYPE extends TupleType ? IntersectConstToTuple<META_CONST, META_TYPE> : META_TYPE extends ObjectType ? IntersectConstToObject<META_CONST, META_TYPE> : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_CONST> : Never : Never;
3413
3229
  declare type CheckExtendsResolved<META_CONST extends ConstType, SERIALIZABLE_META_TYPE extends SerializableType> = ConstValue<META_CONST> extends Resolve<SERIALIZABLE_META_TYPE, {
@@ -3421,8 +3237,6 @@ declare type IntersectConstToObject<META_CONST extends ConstType, META_OBJECT ex
3421
3237
  declare type IntersectObjectConstToObject<META_CONST extends ConstType, META_OBJECT extends ObjectType, INTERSECTED_META_OBJECT = IntersectConstValuesToObjectValues<ConstValue<META_CONST>, META_OBJECT>> = If<IsNever<NeverKeys<INTERSECTED_META_OBJECT>>, IntersectConstSerializationParams<META_CONST, META_OBJECT>, Never>;
3422
3238
  declare type IntersectConstValuesToObjectValues<CONST_VALUE, META_OBJECT extends ObjectType> = { [KEY in Extract<keyof CONST_VALUE | ObjectRequiredKeys<META_OBJECT>, string>]: KEY extends keyof CONST_VALUE ? Intersect<Const<CONST_VALUE[KEY]>, ObjectValue<META_OBJECT, KEY>> : Never; };
3423
3239
  declare type NeverKeys<META_OBJECT> = { [KEY in keyof META_OBJECT]: META_OBJECT[KEY] extends Never ? KEY : never; }[keyof META_OBJECT];
3424
- //#endregion
3425
- //#region node_modules/ts-algebra/lib/meta-types/intersection/enum.d.ts
3426
3240
  declare type IntersectEnumSerializationParams<META_ENUM_VALUES, META_ENUM extends EnumType, SERIALIZABLE_META_TYPE extends SerializableType> = Enum<META_ENUM_VALUES, IntersectIsSerialized<META_ENUM, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_ENUM, SERIALIZABLE_META_TYPE>>;
3427
3241
  declare type IntersectEnum<META_ENUM extends EnumType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectEnumSerializationParams<EnumValues<META_ENUM>, META_ENUM, META_TYPE> : META_TYPE extends ConstType ? IntersectConstToEnum<META_TYPE, META_ENUM> : META_TYPE extends EnumType ? FilterEnum<META_ENUM, META_TYPE> : META_TYPE extends PrimitiveType ? IntersectEnumToPrimitive<META_ENUM, META_TYPE> : META_TYPE extends ArrayType ? FilterEnum<META_ENUM, META_TYPE> : META_TYPE extends TupleType ? FilterEnum<META_ENUM, META_TYPE> : META_TYPE extends ObjectType ? FilterEnum<META_ENUM, META_TYPE> : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_ENUM> : Never : Never;
3428
3242
  declare type FilterEnum<META_ENUM extends EnumType, SERIALIZABLE_META_TYPE extends SerializableType> = IntersectEnumSerializationParams<FilterEnumValues<EnumValues<META_ENUM>, SERIALIZABLE_META_TYPE>, META_ENUM, SERIALIZABLE_META_TYPE>;
@@ -3431,8 +3245,6 @@ declare type IntersectEnumToPrimitive<META_ENUM extends EnumType, META_PRIMITIVE
3431
3245
  declare type IntersectEnumToArray<META_ENUM extends EnumType, META_ARRAY extends ArrayType> = FilterEnum<META_ENUM, META_ARRAY>;
3432
3246
  declare type IntersectEnumToTuple<META_ENUM extends EnumType, META_TUPLE extends TupleType> = FilterEnum<META_ENUM, META_TUPLE>;
3433
3247
  declare type IntersectEnumToObject<META_ENUM extends EnumType, META_OBJECT extends ObjectType> = FilterEnum<META_ENUM, META_OBJECT>;
3434
- //#endregion
3435
- //#region node_modules/ts-algebra/lib/meta-types/intersection/tuple.d.ts
3436
3248
  declare type IntersectTupleSerializationParams<VALUES extends Type[], OPEN_PROPS extends Type, META_TUPLE extends TupleType, SERIALIZABLE_META_TYPE extends SerializableType> = $MergeTuplePropsToSerializable<VALUES, OPEN_PROPS, META_TUPLE, SERIALIZABLE_META_TYPE>;
3437
3249
  declare type $MergeTuplePropsToSerializable<VALUES, OPEN_PROPS, META_TUPLE extends TupleType, SERIALIZABLE_META_TYPE extends SerializableType> = $Tuple<VALUES, OPEN_PROPS, IntersectIsSerialized<META_TUPLE, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_TUPLE, SERIALIZABLE_META_TYPE>>;
3438
3250
  declare type IntersectTuple<META_TUPLE extends TupleType, META_TYPE> = META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectTupleSerializationParams<TupleValues<META_TUPLE>, TupleOpenProps<META_TUPLE>, META_TUPLE, META_TYPE> : META_TYPE extends ConstType ? IntersectConstToTuple<META_TYPE, META_TUPLE> : META_TYPE extends EnumType ? IntersectEnumToTuple<META_TYPE, META_TUPLE> : META_TYPE extends PrimitiveType ? Never : META_TYPE extends ArrayType ? IntersectTupleToArray<META_TUPLE, META_TYPE> : META_TYPE extends TupleType ? IntersectTuples<META_TUPLE, META_TYPE> : META_TYPE extends ObjectType ? Never : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_TUPLE> : Never;
@@ -3440,44 +3252,26 @@ declare type IntersectTupleToArray<META_TUPLE extends TupleType, META_ARRAY exte
3440
3252
  declare type IntersectTupleToArrayValues<TUPLE_VALUES extends Type[], ARRAY_VALUES extends Type, RESULT extends unknown[] = []> = TUPLE_VALUES extends [infer TUPLE_VALUES_HEAD, ...infer TUPLE_VALUES_TAIL] ? TUPLE_VALUES_HEAD extends Type ? TUPLE_VALUES_TAIL extends Type[] ? IntersectTupleToArrayValues<TUPLE_VALUES_TAIL, ARRAY_VALUES, [...RESULT, Intersect<TUPLE_VALUES_HEAD, ARRAY_VALUES>]> : never : never : RESULT;
3441
3253
  declare type IntersectTuples<META_TUPLE_A extends TupleType, META_TUPLE_B extends TupleType, INTERSECTED_VALUES extends unknown[] = IntersectTupleValues<TupleValues<META_TUPLE_A>, TupleValues<META_TUPLE_B>, IsTupleOpen<META_TUPLE_A>, IsTupleOpen<META_TUPLE_B>, TupleOpenProps<META_TUPLE_A>, TupleOpenProps<META_TUPLE_B>>, INTERSECTED_OPEN_PROPS = $Intersect<TupleOpenProps<META_TUPLE_A>, TupleOpenProps<META_TUPLE_B>>> = $MergeTuplePropsToSerializable<INTERSECTED_VALUES, INTERSECTED_OPEN_PROPS, META_TUPLE_A, META_TUPLE_B>;
3442
3254
  declare type IntersectTupleValues<TUPLE_A_VALUES extends Type[], TUPLE_B_VALUES extends Type[], TUPLE_A_IS_OPEN extends boolean, TUPLE_B_IS_OPEN extends boolean, TUPLE_A_OPEN_PROPS extends Type, TUPLE_B_OPEN_PROPS extends Type, RESULT extends unknown[] = []> = TUPLE_A_VALUES extends [infer TUPLE_A_VALUES_HEAD, ...infer TUPLE_A_VALUES_TAIL] ? TUPLE_A_VALUES_HEAD extends Type ? TUPLE_A_VALUES_TAIL extends Type[] ? TUPLE_B_VALUES extends [infer TUPLE_B_VALUES_HEAD, ...infer TUPLE_B_VALUES_TAIL] ? TUPLE_B_VALUES_HEAD extends Type ? TUPLE_B_VALUES_TAIL extends Type[] ? IntersectTupleValues<TUPLE_A_VALUES_TAIL, TUPLE_B_VALUES_TAIL, TUPLE_A_IS_OPEN, TUPLE_B_IS_OPEN, TUPLE_A_OPEN_PROPS, TUPLE_B_OPEN_PROPS, [...RESULT, Intersect<TUPLE_A_VALUES_HEAD, TUPLE_B_VALUES_HEAD>]> : never : never : IntersectTupleValues<TUPLE_A_VALUES_TAIL, TUPLE_B_VALUES, TUPLE_A_IS_OPEN, TUPLE_B_IS_OPEN, TUPLE_A_OPEN_PROPS, TUPLE_B_OPEN_PROPS, [...RESULT, TUPLE_B_IS_OPEN extends true ? Intersect<TUPLE_A_VALUES_HEAD, TUPLE_B_OPEN_PROPS> : Never]> : never : never : TUPLE_B_VALUES extends [infer TUPLE_B_VALUES_HEAD, ...infer TUPLE_B_VALUES_TAIL] ? TUPLE_B_VALUES_HEAD extends Type ? TUPLE_B_VALUES_TAIL extends Type[] ? IntersectTupleValues<TUPLE_A_VALUES, TUPLE_B_VALUES_TAIL, TUPLE_A_IS_OPEN, TUPLE_B_IS_OPEN, TUPLE_A_OPEN_PROPS, TUPLE_B_OPEN_PROPS, [...RESULT, TUPLE_A_IS_OPEN extends true ? Intersect<TUPLE_B_VALUES_HEAD, TUPLE_A_OPEN_PROPS> : Never]> : never : never : RESULT;
3443
- //#endregion
3444
- //#region node_modules/ts-algebra/lib/meta-types/intersection/array.d.ts
3445
3255
  declare type IntersectArraySerializationParams<VALUES extends Type, META_ARRAY extends ArrayType, SERIALIZABLE_META_TYPE extends SerializableType> = $MergeArrayValuesToSerializable<VALUES, META_ARRAY, SERIALIZABLE_META_TYPE>;
3446
3256
  declare type $MergeArrayValuesToSerializable<VALUES, META_ARRAY extends ArrayType, SERIALIZABLE_META_TYPE extends SerializableType> = _$Array<VALUES, IntersectIsSerialized<META_ARRAY, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_ARRAY, SERIALIZABLE_META_TYPE>>;
3447
3257
  declare type IntersectArray<META_ARRAY extends ArrayType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectArraySerializationParams<ArrayValues<META_ARRAY>, META_ARRAY, META_TYPE> : META_TYPE extends ConstType ? IntersectConstToArray<META_TYPE, META_ARRAY> : META_TYPE extends EnumType ? IntersectEnumToArray<META_TYPE, META_ARRAY> : META_TYPE extends PrimitiveType ? Never : META_TYPE extends ArrayType ? IntersectArrays<META_ARRAY, META_TYPE> : META_TYPE extends TupleType ? IntersectTupleToArray<META_TYPE, META_ARRAY> : META_TYPE extends ObjectType ? Never : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_ARRAY> : Never : Never;
3448
3258
  declare type IntersectArrays<META_ARRAY_A extends ArrayType, META_ARRAY_B extends ArrayType> = $MergeArrayValuesToSerializable<Intersect<ArrayValues<META_ARRAY_A>, ArrayValues<META_ARRAY_B>>, META_ARRAY_A, META_ARRAY_B>;
3449
- //#endregion
3450
- //#region node_modules/ts-algebra/lib/meta-types/intersection/object.d.ts
3451
3259
  declare type IntersectObjectSerializationParams<VALUES extends Record<string, Type>, REQUIRED_KEYS extends string, OPEN_PROPS extends Type, CLOSE_ON_RESOLVE extends boolean, META_OBJECT extends ObjectType, SERIALIZABLE_META_TYPE extends SerializableType> = $MergeObjectPropsToSerializable<VALUES, REQUIRED_KEYS, OPEN_PROPS, CLOSE_ON_RESOLVE, META_OBJECT, SERIALIZABLE_META_TYPE>;
3452
3260
  declare type $MergeObjectPropsToSerializable<VALUES, REQUIRED_KEYS, OPEN_PROPS, CLOSE_ON_RESOLVE, META_OBJECT extends ObjectType, SERIALIZABLE_META_TYPE extends SerializableType> = _$Object<VALUES, REQUIRED_KEYS, OPEN_PROPS, CLOSE_ON_RESOLVE, IntersectIsSerialized<META_OBJECT, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_OBJECT, SERIALIZABLE_META_TYPE>>;
3453
3261
  declare type IntersectObject<META_OBJECT extends ObjectType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectObjectSerializationParams<ObjectValues<META_OBJECT>, ObjectRequiredKeys<META_OBJECT>, ObjectOpenProps<META_OBJECT>, IsObjectClosedOnResolve<META_OBJECT>, META_OBJECT, META_TYPE> : META_TYPE extends ConstType ? IntersectConstToObject<META_TYPE, META_OBJECT> : META_TYPE extends EnumType ? IntersectEnumToObject<META_TYPE, META_OBJECT> : META_TYPE extends PrimitiveType ? Never : META_TYPE extends ArrayType ? Never : META_TYPE extends TupleType ? Never : META_TYPE extends ObjectType ? IntersectObjects<META_OBJECT, META_TYPE> : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_OBJECT> : Never : Never;
3454
3262
  declare type IntersectObjects<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType, INTERSECTED_VALUES extends Record<string, unknown> = IntersectObjectsValues<META_OBJECT_A, META_OBJECT_B>, INTERSECTED_OPEN_PROPS = Intersect<ObjectOpenProps<META_OBJECT_A>, ObjectOpenProps<META_OBJECT_B>>, INTERSECTED_CLOSE_ON_RESOLVE = Or<IsObjectClosedOnResolve<META_OBJECT_A>, IsObjectClosedOnResolve<META_OBJECT_B>>> = $MergeObjectPropsToSerializable<{ [KEY in keyof INTERSECTED_VALUES]: INTERSECTED_VALUES[KEY]; }, ObjectRequiredKeys<META_OBJECT_A> | ObjectRequiredKeys<META_OBJECT_B>, INTERSECTED_OPEN_PROPS, INTERSECTED_CLOSE_ON_RESOLVE, META_OBJECT_A, META_OBJECT_B>;
3455
3263
  declare type IntersectObjectsValues<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType> = { [KEY in Extract<keyof ObjectValues<META_OBJECT_A> | keyof ObjectValues<META_OBJECT_B>, string>]: $Intersect<ObjectValue<META_OBJECT_A, KEY>, ObjectValue<META_OBJECT_B, KEY>>; };
3456
- //#endregion
3457
- //#region node_modules/ts-algebra/lib/meta-types/intersection/primitive.d.ts
3458
3264
  declare type IntersectPrimitiveSerializationParams<META_PRIMITIVE extends PrimitiveType, SERIALIZABLE_META_TYPE extends SerializableType> = Primitive<PrimitiveValue<META_PRIMITIVE>, IntersectIsSerialized<META_PRIMITIVE, SERIALIZABLE_META_TYPE>, IntersectDeserialized<META_PRIMITIVE, SERIALIZABLE_META_TYPE>>;
3459
3265
  declare type IntersectPrimitive<META_PRIMITIVE extends PrimitiveType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? IntersectPrimitiveSerializationParams<META_PRIMITIVE, META_TYPE> : META_TYPE extends ConstType ? IntersectConstToPrimitive<META_TYPE, META_PRIMITIVE> : META_TYPE extends EnumType ? IntersectEnumToPrimitive<META_TYPE, META_PRIMITIVE> : META_TYPE extends PrimitiveType ? If<And$1<DoesExtend$1<PrimitiveValue<META_PRIMITIVE>, PrimitiveValue<META_TYPE>>, DoesExtend$1<PrimitiveValue<META_TYPE>, PrimitiveValue<META_PRIMITIVE>>>, IntersectPrimitiveSerializationParams<META_PRIMITIVE, META_TYPE>, Never> : META_TYPE extends ArrayType ? Never : META_TYPE extends TupleType ? Never : META_TYPE extends ObjectType ? Never : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_PRIMITIVE> : Never : Never;
3460
- //#endregion
3461
- //#region node_modules/ts-algebra/lib/meta-types/intersection/any.d.ts
3462
3266
  declare type IntersectAny<META_ANY extends AnyType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TYPE : META_TYPE extends AnyType ? Any<IntersectIsSerialized<META_ANY, META_TYPE>, IntersectDeserialized<META_ANY, META_TYPE>> : META_TYPE extends ConstType ? IntersectConstSerializationParams<META_TYPE, META_ANY> : META_TYPE extends EnumType ? IntersectEnumSerializationParams<EnumValues<META_TYPE>, META_TYPE, META_ANY> : META_TYPE extends PrimitiveType ? IntersectPrimitiveSerializationParams<META_TYPE, META_ANY> : META_TYPE extends ArrayType ? IntersectArraySerializationParams<ArrayValues<META_TYPE>, META_TYPE, META_ANY> : META_TYPE extends TupleType ? IntersectTupleSerializationParams<TupleValues<META_TYPE>, TupleOpenProps<META_TYPE>, META_TYPE, META_ANY> : META_TYPE extends ObjectType ? IntersectObjectSerializationParams<ObjectValues<META_TYPE>, ObjectRequiredKeys<META_TYPE>, ObjectOpenProps<META_TYPE>, IsObjectClosedOnResolve<META_TYPE>, META_TYPE, META_ANY> : META_TYPE extends UnionType ? DistributeIntersection<META_TYPE, META_ANY> : Never : Never;
3463
- //#endregion
3464
- //#region node_modules/ts-algebra/lib/meta-types/intersection/index.d.ts
3465
3267
  declare type Intersect<META_TYPE_A extends Type, META_TYPE_B extends Type> = $Intersect<META_TYPE_A, META_TYPE_B>;
3466
3268
  declare type $Intersect<META_TYPE_A, META_TYPE_B> = META_TYPE_A extends NeverType ? META_TYPE_A : META_TYPE_A extends AnyType ? IntersectAny<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ConstType ? IntersectConst<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends EnumType ? IntersectEnum<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends PrimitiveType ? IntersectPrimitive<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ArrayType ? IntersectArray<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends TupleType ? IntersectTuple<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ObjectType ? IntersectObject<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends UnionType ? IntersectUnion<META_TYPE_A, META_TYPE_B> : Never;
3467
- //#endregion
3468
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/union.d.ts
3469
3269
  declare type ExcludeFromUnion<META_UNION extends UnionType, META_TYPE> = $Union<UnionValues<META_UNION> extends (infer META_UNION_VALUE) ? _$Exclude<META_UNION_VALUE, META_TYPE> : never>;
3470
3270
  declare type ExcludeUnion<META_TYPE, META_UNION extends UnionType> = If<IsNever<UnionValues<META_UNION>>, META_TYPE, RecurseOnUnionValues<META_TYPE, UnionLast<UnionValues<META_UNION>>, META_UNION>>;
3471
3271
  declare type RecurseOnUnionValues<META_TYPE, META_UNION_VALUE, META_UNION extends UnionType> = $Intersect<_$Exclude<META_TYPE, META_UNION_VALUE>, _$Exclude<META_TYPE, $Union<Exclude<UnionValues<META_UNION>, META_UNION_VALUE>>>>;
3472
- //#endregion
3473
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/any.d.ts
3474
3272
  declare type ExcludeFromAny<META_ANY extends AnyType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_ANY : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? META_ANY : META_TYPE extends EnumType ? META_ANY : META_TYPE extends PrimitiveType ? META_ANY : META_TYPE extends ArrayType ? META_ANY : META_TYPE extends TupleType ? META_ANY : META_TYPE extends ObjectType ? META_ANY : META_TYPE extends UnionType ? ExcludeUnion<META_ANY, META_TYPE> : Never : Never;
3475
- //#endregion
3476
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/array.d.ts
3477
3273
  declare type ExcludeFromArray<META_ARRAY extends ArrayType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_ARRAY : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? META_ARRAY : META_TYPE extends EnumType ? META_ARRAY : META_TYPE extends PrimitiveType ? META_ARRAY : META_TYPE extends ArrayType ? ExcludeArrays<META_ARRAY, META_TYPE> : META_TYPE extends TupleType ? And$1<DoesExtend$1<TupleValues<META_TYPE>, []>, IsTupleOpen<META_TYPE>> extends true ? ExcludeArrays<META_ARRAY, _Array<TupleOpenProps<META_TYPE>>> : META_ARRAY : META_TYPE extends ObjectType ? META_ARRAY : META_TYPE extends UnionType ? ExcludeUnion<META_ARRAY, META_TYPE> : Never : Never;
3478
3274
  declare type ExcludeArrays<META_ARRAY_A extends ArrayType, META_ARRAY_B extends ArrayType> = _Exclude<ArrayValues<META_ARRAY_A>, ArrayValues<META_ARRAY_B>> extends NeverType ? NeverType : META_ARRAY_A;
3479
- //#endregion
3480
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/const.d.ts
3481
3275
  declare type ExcludeFromConst<META_CONST extends ConstType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_CONST : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? CheckNotExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends EnumType ? CheckNotExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends PrimitiveType ? CheckNotExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends ArrayType ? CheckNotExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends TupleType ? CheckNotExtendsResolved<META_CONST, META_TYPE> : META_TYPE extends ObjectType ? ExcludeObject<META_CONST, META_TYPE> : META_TYPE extends UnionType ? ExcludeUnion<META_CONST, META_TYPE> : Never : Never;
3482
3276
  declare type CheckNotExtendsResolved<META_CONST extends ConstType, META_TYPE extends Type> = ConstValue<META_CONST> extends Resolve<META_TYPE, {
3483
3277
  deserialize: false;
@@ -3486,15 +3280,11 @@ declare type ExcludeObject<META_CONST extends ConstType, META_OBJECT extends Obj
3486
3280
  declare type ExcludeObjectFromConst<META_CONST extends ConstType, META_OBJECT extends ObjectType, EXCLUDED_CONST_VALUES = ExcludeConstValues<ConstValue<META_CONST>, META_OBJECT>> = If<IsNever<RepresentableKeys$1<EXCLUDED_CONST_VALUES>>, Never, META_CONST>;
3487
3281
  declare type ExcludeConstValues<VALUE, META_OBJECT extends ObjectType> = { [KEY in keyof VALUE]: KEY extends keyof ObjectValues<META_OBJECT> ? _Exclude<Const<VALUE[KEY]>, ObjectValues<META_OBJECT>[KEY]> : IsObjectOpen<META_OBJECT> extends true ? _Exclude<Const<VALUE[KEY]>, ObjectOpenProps<META_OBJECT>> : Const<VALUE[KEY]>; };
3488
3282
  declare type RepresentableKeys$1<VALUES> = { [KEY in keyof VALUES]: VALUES[KEY] extends Never ? never : KEY; }[keyof VALUES];
3489
- //#endregion
3490
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/enum.d.ts
3491
3283
  declare type ExcludeFromEnum<META_ENUM extends EnumType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_ENUM : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends EnumType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends PrimitiveType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends ArrayType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends TupleType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends ObjectType ? FilterEnumExcluded<META_ENUM, META_TYPE> : META_TYPE extends UnionType ? ExcludeUnion<META_ENUM, META_TYPE> : Never : Never;
3492
3284
  declare type FilterEnumExcluded<META_ENUM extends EnumType, META_TYPE extends Type> = Enum<FilterEnumExcludedValues<EnumValues<META_ENUM>, META_TYPE>>;
3493
3285
  declare type FilterEnumExcludedValues<ENUM_VALUES, META_TYPE extends Type> = ENUM_VALUES extends (infer ENUM_VALUE) ? _Exclude<Const<ENUM_VALUE>, META_TYPE> extends NeverType ? never : ENUM_VALUE : never;
3494
3286
  declare type ExcludeEnum<META_TYPE extends Type, ENUM_TYPE extends EnumType, ENUM_VALUES = EnumValues<ENUM_TYPE>> = ExcludeEnumValue<META_TYPE, UnionLast<ENUM_VALUES>, ENUM_VALUES>;
3495
3287
  declare type ExcludeEnumValue<META_TYPE extends Type, LAST_ENUM_VALUE, ENUM_VALUES> = $Intersect<_Exclude<META_TYPE, Const<LAST_ENUM_VALUE>>, _Exclude<META_TYPE, Enum<Exclude<ENUM_VALUES, LAST_ENUM_VALUE>>>>;
3496
- //#endregion
3497
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/utils.d.ts
3498
3288
  declare type ValueExclusionResult<VALUE_A extends Type, IS_ALLOWED_IN_A extends boolean, IS_REQUIRED_IN_A extends boolean, VALUE_B extends Type, IS_ALLOWED_IN_B extends boolean, IS_REQUIRED_IN_B extends boolean> = {
3499
3289
  sourceValue: VALUE_A;
3500
3290
  isAllowedInSource: IS_ALLOWED_IN_A;
@@ -3521,8 +3311,6 @@ declare type IsOutsideOfSourceScope<VALUE_EXCLUSION_RESULT extends ValueExclusio
3521
3311
  declare type IsOutsideOfExcludedScope<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = And$1<IsRequiredInSource<VALUE_EXCLUSION_RESULT>, Not$1<IsAllowedInExcluded<VALUE_EXCLUSION_RESULT>>>;
3522
3312
  declare type IsOmittable<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = And$1<Not$1<IsRequiredInSource<VALUE_EXCLUSION_RESULT>>, IsRequiredInExcluded<VALUE_EXCLUSION_RESULT>>;
3523
3313
  declare type PropagateExclusion<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = ExclusionResult<VALUE_EXCLUSION_RESULT> extends NeverType ? SourceValue<VALUE_EXCLUSION_RESULT> : ExclusionResult<VALUE_EXCLUSION_RESULT>;
3524
- //#endregion
3525
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/object.d.ts
3526
3314
  declare type ExcludeFromObject<META_OBJECT extends ObjectType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_OBJECT : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? ExcludeConstFromObject<META_OBJECT, META_TYPE> : META_TYPE extends EnumType ? ExcludeEnum<META_OBJECT, META_TYPE> : META_TYPE extends PrimitiveType ? META_OBJECT : META_TYPE extends ArrayType ? META_OBJECT : META_TYPE extends TupleType ? META_OBJECT : META_TYPE extends ObjectType ? ExcludeObjects<META_OBJECT, META_TYPE> : META_TYPE extends UnionType ? ExcludeUnion<META_OBJECT, META_TYPE> : Never : Never;
3527
3315
  declare type ExcludeObjects<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType, VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType> = ExcludeObjectValues<META_OBJECT_A, META_OBJECT_B>, REPRESENTABLE_KEYS extends string = RepresentableKeys<VALUE_EXCLUSION_RESULTS>, OPEN_PROPS_EXCLUSION = _Exclude<ObjectOpenProps<META_OBJECT_A>, ObjectOpenProps<META_OBJECT_B>>> = DoesObjectSizesMatch<META_OBJECT_A, META_OBJECT_B, VALUE_EXCLUSION_RESULTS> extends true ? {
3528
3316
  moreThanTwo: META_OBJECT_A;
@@ -3541,11 +3329,7 @@ declare type PropagateExclusions$1<META_OBJECT extends ObjectType, VALUE_EXCLUSI
3541
3329
  declare type OmitOmittableKeys<META_OBJECT extends ObjectType, VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>, OMITTABLE_KEYS extends string = OmittableKeys<VALUE_EXCLUSION_RESULTS>, OMITTABLE_KEYS_COUNT extends string = GetUnionLength<OMITTABLE_KEYS>> = OMITTABLE_KEYS_COUNT extends "moreThanTwo" ? META_OBJECT : OMITTABLE_KEYS_COUNT extends "onlyOne" ? _Object<{ [KEY in keyof VALUE_EXCLUSION_RESULTS]: KEY extends OMITTABLE_KEYS ? Never : SourceValue<VALUE_EXCLUSION_RESULTS[KEY]>; }, ObjectRequiredKeys<META_OBJECT>, ObjectOpenProps<META_OBJECT>, IsObjectClosedOnResolve<META_OBJECT>, IsSerialized<META_OBJECT>, Deserialized<META_OBJECT>> : Never;
3542
3330
  declare type OmittableKeys<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = { [KEY in Extract<keyof VALUE_EXCLUSION_RESULTS, string>]: IsOmittable<VALUE_EXCLUSION_RESULTS[KEY]> extends true ? KEY : never; }[Extract<keyof VALUE_EXCLUSION_RESULTS, string>];
3543
3331
  declare type ExcludeConstFromObject<META_OBJECT extends ObjectType, META_CONST extends ConstType, CONST_VALUE = ConstValue<META_CONST>> = If<IsObject<CONST_VALUE>, _$Exclude<META_OBJECT, _Object<{ [KEY in Extract<keyof CONST_VALUE, string>]: Const<CONST_VALUE[KEY]>; }, Extract<keyof CONST_VALUE, string>, Never, IsObjectClosedOnResolve<META_OBJECT>, IsSerialized<META_CONST>, Deserialized<META_CONST>>>, META_OBJECT>;
3544
- //#endregion
3545
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/primitive.d.ts
3546
3332
  declare type ExcludeFromPrimitive<META_PRIMITIVE extends PrimitiveType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_PRIMITIVE : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? META_PRIMITIVE : META_TYPE extends EnumType ? META_PRIMITIVE : META_TYPE extends PrimitiveType ? PrimitiveValue<META_PRIMITIVE> extends PrimitiveValue<META_TYPE> ? Never : META_PRIMITIVE : META_TYPE extends ArrayType ? META_PRIMITIVE : META_TYPE extends TupleType ? META_PRIMITIVE : META_TYPE extends ObjectType ? META_PRIMITIVE : META_TYPE extends UnionType ? ExcludeUnion<META_PRIMITIVE, META_TYPE> : Never : Never;
3547
- //#endregion
3548
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/tuple.d.ts
3549
3333
  declare type ExcludeFromTuple<META_TUPLE extends TupleType, META_TYPE> = META_TYPE extends Type ? META_TYPE extends NeverType ? META_TUPLE : META_TYPE extends AnyType ? Never : META_TYPE extends ConstType ? ExcludeConst<META_TUPLE, META_TYPE> : META_TYPE extends EnumType ? ExcludeEnum<META_TUPLE, META_TYPE> : META_TYPE extends PrimitiveType ? META_TUPLE : META_TYPE extends ArrayType ? ExcludeArray<META_TUPLE, META_TYPE> : META_TYPE extends TupleType ? ExcludeTuples<META_TUPLE, META_TYPE> : META_TYPE extends ObjectType ? META_TUPLE : META_TYPE extends UnionType ? ExcludeUnion<META_TUPLE, META_TYPE> : Never : Never;
3550
3334
  declare type ExcludeArray<META_TUPLE extends TupleType, META_ARRAY extends ArrayType> = ExcludeTuples<META_TUPLE, Tuple<[], ArrayValues<META_ARRAY>, IsSerialized<META_ARRAY>, Deserialized<META_ARRAY>>>;
3551
3335
  declare type ExcludeTuples<META_TUPLE_A extends TupleType, META_TUPLE_B extends TupleType, VALUE_EXCLUSION_RESULTS extends ValueExclusionResultType[] = ExcludeTupleValues<TupleValues<META_TUPLE_A>, TupleValues<META_TUPLE_B>, IsTupleOpen<META_TUPLE_A>, IsTupleOpen<META_TUPLE_B>, TupleOpenProps<META_TUPLE_A>, TupleOpenProps<META_TUPLE_B>>, REPRESENTABLE_VALUE_EXCLUSION_RESULTS extends ValueExclusionResultType[] = RepresentableExcludedValues<VALUE_EXCLUSION_RESULTS>, EXCLUDED_OPEN_PROPS = _Exclude<TupleOpenProps<META_TUPLE_A>, TupleOpenProps<META_TUPLE_B>>, IS_OPEN_PROPS_EXCLUSION_REPRESENTABLE = Not$1<DoesExtend$1<EXCLUDED_OPEN_PROPS, NeverType>>> = If<DoesTupleSizesMatch<META_TUPLE_A, META_TUPLE_B, VALUE_EXCLUSION_RESULTS>, {
@@ -3565,21 +3349,12 @@ declare type OmittableExcludedItems<ITEM_EXCLUSION_RESULTS extends ValueExclusio
3565
3349
  declare type RequiredExcludedItems<ITEM_EXCLUSION_RESULTS extends ValueExclusionResultType[], RESULT extends Type[] = []> = ITEM_EXCLUSION_RESULTS extends [infer VALUE_EXCLUSION_RESULTS_HEAD, ...infer VALUE_EXCLUSION_RESULTS_TAIL] ? VALUE_EXCLUSION_RESULTS_HEAD extends ValueExclusionResultType ? VALUE_EXCLUSION_RESULTS_TAIL extends ValueExclusionResultType[] ? IsOmittable<VALUE_EXCLUSION_RESULTS_HEAD> extends true ? RESULT : RequiredExcludedItems<VALUE_EXCLUSION_RESULTS_TAIL, [...RESULT, SourceValue<VALUE_EXCLUSION_RESULTS_HEAD>]> : never : never : RESULT;
3566
3350
  declare type ExcludeConst<META_TUPLE extends TupleType, META_CONST extends ConstType, META_CONST_VALUE = ConstValue<META_CONST>> = META_CONST_VALUE extends unknown[] ? _Exclude<META_TUPLE, $Tuple<ExtractConstValues<META_CONST_VALUE>, Never, IsSerialized<META_CONST>, Deserialized<META_CONST>>> : META_TUPLE;
3567
3351
  declare type ExtractConstValues<CONST_VALUES extends unknown[], RESULT extends unknown[] = []> = CONST_VALUES extends [infer CONST_VALUES_HEAD, ...infer CONST_VALUES_TAIL] ? ExtractConstValues<CONST_VALUES_TAIL, [...RESULT, Const<CONST_VALUES_HEAD>]> : RESULT;
3568
- //#endregion
3569
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/index.d.ts
3570
3352
  declare type _Exclude<META_TYPE_A extends Type, META_TYPE_B extends Type> = _$Exclude<META_TYPE_A, META_TYPE_B>;
3571
3353
  declare type _$Exclude<META_TYPE_A, META_TYPE_B> = META_TYPE_A extends NeverType ? META_TYPE_A : META_TYPE_A extends AnyType ? ExcludeFromAny<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ConstType ? ExcludeFromConst<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends EnumType ? ExcludeFromEnum<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends PrimitiveType ? ExcludeFromPrimitive<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ArrayType ? ExcludeFromArray<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends TupleType ? ExcludeFromTuple<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends ObjectType ? ExcludeFromObject<META_TYPE_A, META_TYPE_B> : META_TYPE_A extends UnionType ? ExcludeFromUnion<META_TYPE_A, META_TYPE_B> : Never;
3572
- declare namespace index_d_exports {
3573
- export { _$Array as $Array, _$Exclude as $Exclude, $Intersect, _$Object as $Object, $Primitive, $Resolve, $Tuple, $Union, Any, AnyType, _Array as Array, ArrayType, Const, ConstType, Enum, EnumType, _Exclude as Exclude, Intersect, Never, NeverType, _Object as Object, ObjectType, Primitive, PrimitiveType, Resolve, Tuple, TupleType, Type, Union, UnionType };
3574
- }
3575
- //#endregion
3576
- //#region node_modules/json-schema-to-ts/lib/types/definitions/deserializationPattern.d.ts
3577
3354
  type DeserializationPattern = Readonly<{
3578
3355
  pattern: unknown;
3579
3356
  output: unknown;
3580
3357
  }>;
3581
- //#endregion
3582
- //#region node_modules/json-schema-to-ts/lib/types/definitions/jsonSchema.d.ts
3583
3358
  declare const $JSONSchema: unique symbol;
3584
3359
  type $JSONSchema = typeof $JSONSchema;
3585
3360
  type JSONSchemaType = "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
@@ -3637,8 +3412,6 @@ type JSONSchema$1 = boolean | Readonly<{
3637
3412
  type JSONSchemaReference = JSONSchema$1 & Readonly<{
3638
3413
  $id: string;
3639
3414
  }>;
3640
- //#endregion
3641
- //#region node_modules/json-schema-to-ts/lib/types/definitions/fromSchemaOptions.d.ts
3642
3415
  type FromSchemaOptions = {
3643
3416
  parseNotKeyword?: boolean;
3644
3417
  parseIfThenElseKeywords?: boolean;
@@ -3653,8 +3426,6 @@ type FromSchemaDefaultOptions = {
3653
3426
  references: false;
3654
3427
  deserialize: false;
3655
3428
  };
3656
- //#endregion
3657
- //#region node_modules/json-schema-to-ts/lib/types/parse-options.d.ts
3658
3429
  type IndexReferencesById<SCHEMA_REFERENCES extends readonly JSONSchemaReference[]> = { [REF_SCHEMA in SCHEMA_REFERENCES[number] as REF_SCHEMA["$id"]]: REF_SCHEMA; };
3659
3430
  type ParseOptions<ROOT_SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOptions> = {
3660
3431
  parseNotKeyword: OPTIONS["parseNotKeyword"] extends boolean ? OPTIONS["parseNotKeyword"] : FromSchemaDefaultOptions["parseNotKeyword"];
@@ -3664,36 +3435,16 @@ type ParseOptions<ROOT_SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOp
3664
3435
  references: OPTIONS["references"] extends JSONSchemaReference[] ? IndexReferencesById<OPTIONS["references"]> : {};
3665
3436
  deserialize: OPTIONS["deserialize"] extends DeserializationPattern[] | false ? OPTIONS["deserialize"] : FromSchemaDefaultOptions["deserialize"];
3666
3437
  };
3667
- //#endregion
3668
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/and.d.ts
3669
3438
  type And<CONDITION_A, CONDITION_B> = CONDITION_A extends true ? CONDITION_B extends true ? true : false : false;
3670
- //#endregion
3671
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/extends.d.ts
3672
3439
  type DoesExtend<TYPE_A, TYPE_B> = [TYPE_A] extends [TYPE_B] ? true : false;
3673
- //#endregion
3674
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/get.d.ts
3675
3440
  type DeepGet<OBJECT, PATH extends string[], DEFAULT = undefined> = PATH extends [infer PATH_HEAD, ...infer PATH_TAIL] ? PATH_HEAD extends string ? PATH_TAIL extends string[] ? PATH_HEAD extends keyof OBJECT ? DeepGet<OBJECT[PATH_HEAD], PATH_TAIL, DEFAULT> : DEFAULT : never : never : OBJECT;
3676
- //#endregion
3677
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/join.d.ts
3678
3441
  type Join<STRINGS extends string[], SEPARATOR extends string = ","> = STRINGS extends [] ? "" : STRINGS extends [string] ? `${STRINGS[0]}` : STRINGS extends [string, ...infer STRINGS_TAIL] ? STRINGS_TAIL extends string[] ? `${STRINGS[0]}${SEPARATOR}${Join<STRINGS_TAIL, SEPARATOR>}` : never : string;
3679
- //#endregion
3680
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/not.d.ts
3681
3442
  type Not<BOOL> = BOOL extends false ? true : BOOL extends true ? false : never;
3682
- //#endregion
3683
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/pop.d.ts
3684
3443
  type Pop<ARRAY extends unknown[]> = ARRAY extends readonly [...infer ARRAY_BODY, unknown] | readonly [...infer ARRAY_BODY, unknown?] ? ARRAY_BODY : ARRAY;
3685
- //#endregion
3686
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/split.d.ts
3687
3444
  type RecursiveSplit<STRING extends string, SEPARATOR extends string = ""> = STRING extends `${infer BEFORE}${SEPARATOR}${infer AFTER}` ? [BEFORE, ...RecursiveSplit<AFTER, SEPARATOR>] : [STRING];
3688
3445
  type Split<STRING extends string, SEPARATOR extends string = "", RESULT extends string[] = RecursiveSplit<STRING, SEPARATOR>> = SEPARATOR extends "" ? Pop<RESULT> : RESULT;
3689
- //#endregion
3690
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/tail.d.ts
3691
3446
  type Tail$1<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer ARRAY_TAIL] ? ARRAY_TAIL : ARRAY;
3692
- //#endregion
3693
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/writable.d.ts
3694
3447
  type Writable<TYPE> = TYPE extends ((...args: unknown[]) => unknown) | Date | RegExp ? TYPE : TYPE extends ReadonlyMap<infer KEYS, infer VALUES> ? Map<Writable<KEYS>, Writable<VALUES>> : TYPE extends ReadonlySet<infer VALUES> ? Set<Writable<VALUES>> : TYPE extends ReadonlyArray<unknown> ? `${bigint}` extends `${keyof TYPE & any}` ? { -readonly [KEY in keyof TYPE]: Writable<TYPE[KEY]>; } : Writable<TYPE[number]>[] : TYPE extends object ? { -readonly [KEY in keyof TYPE]: Writable<TYPE[KEY]>; } : TYPE;
3695
- //#endregion
3696
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/utils.d.ts
3697
3448
  type RemoveInvalidAdditionalItems<SCHEMA extends JSONSchema$1> = SCHEMA extends Readonly<{
3698
3449
  items: JSONSchema$1 | readonly JSONSchema$1[];
3699
3450
  }> ? SCHEMA extends Readonly<{
@@ -3709,42 +3460,30 @@ type RemoveInvalidAdditionalProperties<SCHEMA extends JSONSchema$1> = SCHEMA ext
3709
3460
  properties: {};
3710
3461
  }> : SCHEMA extends boolean ? SCHEMA : Omit<SCHEMA, "additionalProperties">;
3711
3462
  type MergeSubSchema<PARENT_SCHEMA extends JSONSchema$1, SUB_SCHEMA extends JSONSchema$1, CLEANED_SUB_SCHEMA extends JSONSchema$1 = RemoveInvalidAdditionalProperties<RemoveInvalidAdditionalItems<SUB_SCHEMA>>> = Omit<PARENT_SCHEMA, keyof CLEANED_SUB_SCHEMA | "additionalProperties" | "patternProperties" | "unevaluatedProperties" | "required" | "additionalItems"> & CLEANED_SUB_SCHEMA;
3712
- //#endregion
3713
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/allOf.d.ts
3714
3463
  type AllOfSchema = JSONSchema$1 & Readonly<{
3715
3464
  allOf: readonly JSONSchema$1[];
3716
3465
  }>;
3717
3466
  type ParseAllOfSchema<ALL_OF_SCHEMA extends AllOfSchema, OPTIONS extends ParseSchemaOptions> = RecurseOnAllOfSchema<ALL_OF_SCHEMA["allOf"], ALL_OF_SCHEMA, OPTIONS, ParseSchema<Omit<ALL_OF_SCHEMA, "allOf">, OPTIONS>>;
3718
3467
  type RecurseOnAllOfSchema<SUB_SCHEMAS extends readonly JSONSchema$1[], ROOT_ALL_OF_SCHEMA extends AllOfSchema, OPTIONS extends ParseSchemaOptions, PARSED_ROOT_ALL_OF_SCHEMA> = SUB_SCHEMAS extends readonly [infer SUB_SCHEMAS_HEAD, ...infer SUB_SCHEMAS_TAIL] ? SUB_SCHEMAS_HEAD extends JSONSchema$1 ? SUB_SCHEMAS_TAIL extends readonly JSONSchema$1[] ? RecurseOnAllOfSchema<SUB_SCHEMAS_TAIL, ROOT_ALL_OF_SCHEMA, OPTIONS, $Intersect<ParseSchema<MergeSubSchema<Omit<ROOT_ALL_OF_SCHEMA, "allOf">, SUB_SCHEMAS_HEAD>, OPTIONS>, PARSED_ROOT_ALL_OF_SCHEMA>> : never : never : PARSED_ROOT_ALL_OF_SCHEMA;
3719
- //#endregion
3720
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/anyOf.d.ts
3721
3468
  type AnyOfSchema = JSONSchema$1 & Readonly<{
3722
3469
  anyOf: readonly JSONSchema$1[];
3723
3470
  }>;
3724
3471
  type ParseAnyOfSchema<ANY_OF_SCHEMA extends AnyOfSchema, OPTIONS extends ParseSchemaOptions> = $Union<RecurseOnAnyOfSchema<ANY_OF_SCHEMA["anyOf"], ANY_OF_SCHEMA, OPTIONS>>;
3725
3472
  type RecurseOnAnyOfSchema<SUB_SCHEMAS extends readonly JSONSchema$1[], ROOT_ANY_OF_SCHEMA extends AnyOfSchema, OPTIONS extends ParseSchemaOptions, RESULT = never> = SUB_SCHEMAS extends readonly [infer SUB_SCHEMAS_HEAD, ...infer SUB_SCHEMAS_TAIL] ? SUB_SCHEMAS_HEAD extends JSONSchema$1 ? SUB_SCHEMAS_TAIL extends readonly JSONSchema$1[] ? RecurseOnAnyOfSchema<SUB_SCHEMAS_TAIL, ROOT_ANY_OF_SCHEMA, OPTIONS, RESULT | $Intersect<ParseSchema<Omit<ROOT_ANY_OF_SCHEMA, "anyOf">, OPTIONS>, ParseSchema<MergeSubSchema<Omit<ROOT_ANY_OF_SCHEMA, "anyOf">, SUB_SCHEMAS_HEAD>, OPTIONS>>> : never : never : RESULT;
3726
- //#endregion
3727
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/const.d.ts
3728
3473
  type ConstSchema = JSONSchema$1 & Readonly<{
3729
3474
  const: unknown;
3730
3475
  }>;
3731
3476
  type ParseConstSchema<CONST_SCHEMA extends ConstSchema, OPTIONS extends ParseSchemaOptions> = $Intersect<ParseConst<CONST_SCHEMA>, ParseSchema<Omit<CONST_SCHEMA, "const">, OPTIONS>>;
3732
3477
  type ParseConst<CONST_SCHEMA extends ConstSchema> = Const<Writable<CONST_SCHEMA["const"]>>;
3733
- //#endregion
3734
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/deserialize.d.ts
3735
3478
  type DeserializeSchema<SCHEMA extends JSONSchema$1, OPTIONS extends Omit<ParseSchemaOptions, "deserialize"> & {
3736
3479
  deserialize: DeserializationPattern[];
3737
3480
  }> = RecurseOnDeserializationPatterns<SCHEMA, OPTIONS["deserialize"]>;
3738
3481
  type RecurseOnDeserializationPatterns<SCHEMA extends JSONSchema$1, DESERIALIZATION_PATTERNS extends DeserializationPattern[], RESULT = Any> = DESERIALIZATION_PATTERNS extends [infer DESERIALIZATION_PATTERNS_HEAD, ...infer DESERIALIZATION_PATTERNS_TAIL] ? DESERIALIZATION_PATTERNS_HEAD extends DeserializationPattern ? DESERIALIZATION_PATTERNS_TAIL extends DeserializationPattern[] ? RecurseOnDeserializationPatterns<SCHEMA, DESERIALIZATION_PATTERNS_TAIL, SCHEMA extends DESERIALIZATION_PATTERNS_HEAD["pattern"] ? $Intersect<Any<true, DESERIALIZATION_PATTERNS_HEAD["output"]>, RESULT> : RESULT> : never : never : RESULT;
3739
- //#endregion
3740
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/enum.d.ts
3741
3482
  type EnumSchema = JSONSchema$1 & Readonly<{
3742
3483
  enum: readonly unknown[];
3743
3484
  }>;
3744
3485
  type ParseEnumSchema<ENUM_SCHEMA extends EnumSchema, OPTIONS extends ParseSchemaOptions> = $Intersect<ParseEnum<ENUM_SCHEMA>, ParseSchema<Omit<ENUM_SCHEMA, "enum">, OPTIONS>>;
3745
3486
  type ParseEnum<ENUM_SCHEMA extends EnumSchema> = Enum<Writable<ENUM_SCHEMA["enum"][number]>>;
3746
- //#endregion
3747
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/ifThenElse.d.ts
3748
3487
  type IfThenElseSchema = JSONSchema$1 & {
3749
3488
  if: JSONSchema$1;
3750
3489
  then?: JSONSchema$1;
@@ -3755,8 +3494,6 @@ type ParseIfThenElseSchema<IF_THEN_ELSE_SCHEMA extends IfThenElseSchema, OPTIONS
3755
3494
  } ? $Intersect<ParseSchema<IF_SCHEMA, OPTIONS>, ParseSchema<MergeSubSchema<REST_SCHEMA, IF_THEN_ELSE_SCHEMA["then"]>, OPTIONS>> : ParseSchema<IF_SCHEMA, OPTIONS>, PARSED_ELSE_SCHEMA = IF_THEN_ELSE_SCHEMA extends {
3756
3495
  else: JSONSchema$1;
3757
3496
  } ? $Intersect<_$Exclude<ParseSchema<REST_SCHEMA, OPTIONS>, ParseSchema<IF_SCHEMA, OPTIONS>>, ParseSchema<MergeSubSchema<REST_SCHEMA, IF_THEN_ELSE_SCHEMA["else"]>, OPTIONS>> : _$Exclude<ParseSchema<REST_SCHEMA, OPTIONS>, ParseSchema<IF_SCHEMA, OPTIONS>>> = $Intersect<$Union<PARSED_THEN_SCHEMA | PARSED_ELSE_SCHEMA>, ParseSchema<REST_SCHEMA, OPTIONS>>;
3758
- //#endregion
3759
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/multipleTypes.d.ts
3760
3497
  type MultipleTypesSchema = JSONSchema$1 & Readonly<{
3761
3498
  type: readonly JSONSchemaType[];
3762
3499
  }>;
@@ -3764,33 +3501,23 @@ type ParseMultipleTypesSchema<MULTI_TYPE_SCHEMA extends MultipleTypesSchema, OPT
3764
3501
  type RecurseOnMixedSchema<TYPES extends readonly JSONSchemaType[], ROOT_MULTI_TYPE_SCHEMA extends MultipleTypesSchema, OPTIONS extends ParseSchemaOptions, RESULT = never> = TYPES extends readonly [infer TYPES_HEAD, ...infer TYPES_TAIL] ? TYPES_HEAD extends JSONSchemaType ? TYPES_TAIL extends readonly JSONSchemaType[] ? RecurseOnMixedSchema<TYPES_TAIL, ROOT_MULTI_TYPE_SCHEMA, OPTIONS, RESULT | ParseSchema<Omit<ROOT_MULTI_TYPE_SCHEMA, "type"> & {
3765
3502
  type: TYPES_HEAD;
3766
3503
  }, OPTIONS>> : never : never : RESULT;
3767
- //#endregion
3768
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/not.d.ts
3769
3504
  type NotSchema = JSONSchema$1 & Readonly<{
3770
3505
  not: JSONSchema$1;
3771
3506
  }>;
3772
3507
  type AllTypes = Union<Primitive<null> | Primitive<boolean> | Primitive<number> | Primitive<string> | _Array | _Object<{}, never, Any>>;
3773
3508
  type ParseNotSchema<NOT_SCHEMA extends NotSchema, OPTIONS extends ParseSchemaOptions, PARSED_REST_SCHEMA = ParseSchema<Omit<NOT_SCHEMA, "not">, OPTIONS>, EXCLUSION = _$Exclude<PARSED_REST_SCHEMA extends AnyType ? $Intersect<AllTypes, PARSED_REST_SCHEMA> : PARSED_REST_SCHEMA, ParseSchema<MergeSubSchema<Omit<NOT_SCHEMA, "not">, NOT_SCHEMA["not"]>, OPTIONS>>> = EXCLUSION extends Never ? PARSED_REST_SCHEMA : EXCLUSION;
3774
- //#endregion
3775
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/nullable.d.ts
3776
3509
  type NullableSchema = JSONSchema$1 & Readonly<{
3777
3510
  nullable: boolean;
3778
3511
  }>;
3779
3512
  type ParseNullableSchema<NULLABLE_SCHEMA extends NullableSchema, OPTIONS extends ParseSchemaOptions, PARSED_REST_SCHEMA = ParseSchema<Omit<NULLABLE_SCHEMA, "nullable">, OPTIONS>> = NULLABLE_SCHEMA extends Readonly<{
3780
3513
  nullable: true;
3781
3514
  }> ? $Union<Primitive<null> | PARSED_REST_SCHEMA> : PARSED_REST_SCHEMA;
3782
- //#endregion
3783
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/oneOf.d.ts
3784
3515
  type OneOfSchema = JSONSchema$1 & Readonly<{
3785
3516
  oneOf: readonly JSONSchema$1[];
3786
3517
  }>;
3787
3518
  type ParseOneOfSchema<ONE_OF_SCHEMA extends OneOfSchema, OPTIONS extends ParseSchemaOptions> = $Union<RecurseOnOneOfSchema<ONE_OF_SCHEMA["oneOf"], ONE_OF_SCHEMA, OPTIONS>>;
3788
3519
  type RecurseOnOneOfSchema<SUB_SCHEMAS extends readonly JSONSchema$1[], ROOT_ONE_OF_SCHEMA extends OneOfSchema, OPTIONS extends ParseSchemaOptions, RESULT = never> = SUB_SCHEMAS extends readonly [infer SUB_SCHEMAS_HEAD, ...infer SUB_SCHEMAS_TAIL] ? SUB_SCHEMAS_HEAD extends JSONSchema$1 ? SUB_SCHEMAS_TAIL extends readonly JSONSchema$1[] ? RecurseOnOneOfSchema<SUB_SCHEMAS_TAIL, ROOT_ONE_OF_SCHEMA, OPTIONS, RESULT | $Intersect<ParseSchema<Omit<ROOT_ONE_OF_SCHEMA, "oneOf">, OPTIONS>, ParseSchema<MergeSubSchema<Omit<ROOT_ONE_OF_SCHEMA, "oneOf">, SUB_SCHEMAS_HEAD>, OPTIONS>>> : never : never : RESULT;
3789
- //#endregion
3790
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/utils.d.ts
3791
3520
  type ParseReference<SCHEMA extends JSONSchema$1, OPTIONS extends ParseSchemaOptions, REFERENCE_SOURCE extends JSONSchema$1, PATH_IN_SOURCE extends string | undefined, MATCHING_REFERENCE extends JSONSchema$1 = PATH_IN_SOURCE extends string ? DeepGet<REFERENCE_SOURCE, Tail$1<Split<PATH_IN_SOURCE, "/">>, false> : REFERENCE_SOURCE> = $Intersect<ParseSchema<MATCHING_REFERENCE, OPTIONS>, ParseSchema<MergeSubSchema<MATCHING_REFERENCE, SCHEMA>, OPTIONS>>;
3792
- //#endregion
3793
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/external.d.ts
3794
3521
  type ParseExternalReferenceSchema<REF_SCHEMA extends ReferencingSchema, OPTIONS extends ParseSchemaOptions, EXTERNAL_REFERENCE_ID extends string, SUB_PATH extends string | undefined> = OPTIONS["references"] extends { [KEY in EXTERNAL_REFERENCE_ID]: JSONSchema$1; } ? ParseReference<Omit<REF_SCHEMA, "$ref">, OPTIONS, OPTIONS["references"][EXTERNAL_REFERENCE_ID], SUB_PATH> : OPTIONS extends {
3795
3522
  rootSchema: IdSchema;
3796
3523
  } ? ParseExternalReferenceWithoutDirectorySchema<Omit<REF_SCHEMA, "$ref">, OPTIONS, EXTERNAL_REFERENCE_ID, SUB_PATH> : Never;
@@ -3801,17 +3528,11 @@ type IdSchema = JSONSchema$1 & {
3801
3528
  type ParseExternalReferenceWithoutDirectorySchema<SUB_SCHEMA extends JSONSchema$1, OPTIONS extends ParseSchemaOptions & {
3802
3529
  rootSchema: IdSchema;
3803
3530
  }, EXTERNAL_REFERENCE_ID extends string, SUB_PATH extends string | undefined, DIRECTORY extends string = ParseDirectory<OPTIONS["rootSchema"]["$id"]>, COMPLETE_REFERENCE extends string = Join<[DIRECTORY, EXTERNAL_REFERENCE_ID], "/">> = COMPLETE_REFERENCE extends keyof OPTIONS["references"] ? ParseReference<SUB_SCHEMA, OPTIONS, OPTIONS["references"][COMPLETE_REFERENCE], SUB_PATH> : Never;
3804
- //#endregion
3805
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/internal.d.ts
3806
3531
  type ParseInternalReferenceSchema<REFERENCING_SCHEMA extends ReferencingSchema, OPTIONS extends ParseSchemaOptions, PATH extends string> = ParseReference<Omit<REFERENCING_SCHEMA, "$ref">, OPTIONS, OPTIONS["rootSchema"], PATH>;
3807
- //#endregion
3808
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/index.d.ts
3809
3532
  type ReferencingSchema = JSONSchema$1 & {
3810
3533
  $ref: string;
3811
3534
  };
3812
3535
  type ParseReferenceSchema<REFERENCING_SCHEMA extends ReferencingSchema, OPTIONS extends ParseSchemaOptions, REFERENCE_ID_AND_PATH extends string[] = Split<REFERENCING_SCHEMA["$ref"], "#">> = REFERENCE_ID_AND_PATH[0] extends "" ? ParseInternalReferenceSchema<REFERENCING_SCHEMA, OPTIONS, REFERENCE_ID_AND_PATH[1]> : ParseExternalReferenceSchema<REFERENCING_SCHEMA, OPTIONS, REFERENCE_ID_AND_PATH[0], REFERENCE_ID_AND_PATH[1]>;
3813
- //#endregion
3814
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/array.d.ts
3815
3536
  type ArrayOrTupleSchema = JSONSchema$1 & Readonly<{
3816
3537
  type: "array";
3817
3538
  }>;
@@ -3855,8 +3576,6 @@ type ApplyAdditionalItems<APPLY_MIN_MAX_RESULT extends {
3855
3576
  } ? APPLY_MIN_MAX_RESULT["result"] | $Tuple<APPLY_MIN_MAX_RESULT["completeTuple"], Any> : $Tuple<APPLY_MIN_MAX_RESULT["completeTuple"], Any> : APPLY_MIN_MAX_RESULT extends {
3856
3577
  hasEncounteredMin: true;
3857
3578
  } ? APPLY_MIN_MAX_RESULT["result"] | $Tuple<APPLY_MIN_MAX_RESULT["completeTuple"], ParseSchema<ADDITIONAL_ITEMS_SCHEMA, OPTIONS>> : $Tuple<APPLY_MIN_MAX_RESULT["completeTuple"], ParseSchema<ADDITIONAL_ITEMS_SCHEMA, OPTIONS>>;
3858
- //#endregion
3859
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/object.d.ts
3860
3579
  type ObjectSchema$1 = JSONSchema$1 & Readonly<{
3861
3580
  type: "object";
3862
3581
  }>;
@@ -3882,8 +3601,6 @@ type GetClosedOnResolve<OBJECT_SCHEMA extends ObjectSchema$1> = OBJECT_SCHEMA ex
3882
3601
  }> ? true : false;
3883
3602
  type PatternProps<PATTERN_PROPERTY_SCHEMAS extends Readonly<Record<string, JSONSchema$1>>, OPTIONS extends ParseSchemaOptions> = $Union<{ [KEY in keyof PATTERN_PROPERTY_SCHEMAS]: ParseSchema<PATTERN_PROPERTY_SCHEMAS[KEY], OPTIONS>; }[keyof PATTERN_PROPERTY_SCHEMAS]>;
3884
3603
  type AdditionalAndPatternProps<ADDITIONAL_PROPERTIES_SCHEMA extends JSONSchema$1, PATTERN_PROPERTY_SCHEMAS extends Readonly<Record<string, JSONSchema$1>>, OPTIONS extends ParseSchemaOptions> = ADDITIONAL_PROPERTIES_SCHEMA extends boolean ? PatternProps<PATTERN_PROPERTY_SCHEMAS, OPTIONS> : $Union<ParseSchema<ADDITIONAL_PROPERTIES_SCHEMA, OPTIONS> | { [KEY in keyof PATTERN_PROPERTY_SCHEMAS]: ParseSchema<PATTERN_PROPERTY_SCHEMAS[KEY], OPTIONS>; }[keyof PATTERN_PROPERTY_SCHEMAS]>;
3885
- //#endregion
3886
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/singleType.d.ts
3887
3604
  type SingleTypeSchema = JSONSchema$1 & Readonly<{
3888
3605
  type: JSONSchemaType;
3889
3606
  }>;
@@ -3898,8 +3615,6 @@ type ParseSingleTypeSchema<SINGLE_TYPE_SCHEMA extends SingleTypeSchema, OPTIONS
3898
3615
  }> ? Primitive<number> : SINGLE_TYPE_SCHEMA extends Readonly<{
3899
3616
  type: "string";
3900
3617
  }> ? Primitive<string> : SINGLE_TYPE_SCHEMA extends ArrayOrTupleSchema ? ParseArrayOrTupleSchema<SINGLE_TYPE_SCHEMA, OPTIONS> : SINGLE_TYPE_SCHEMA extends ObjectSchema$1 ? ParseObjectSchema<SINGLE_TYPE_SCHEMA, OPTIONS> : Never;
3901
- //#endregion
3902
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/index.d.ts
3903
3618
  type ParseSchemaOptions = {
3904
3619
  parseNotKeyword: boolean;
3905
3620
  parseIfThenElseKeywords: boolean;
@@ -3911,15 +3626,9 @@ type ParseSchemaOptions = {
3911
3626
  type ParseSchema<SCHEMA extends JSONSchema$1, OPTIONS extends ParseSchemaOptions, RESULT = JSONSchema$1 extends SCHEMA ? Any : SCHEMA extends true | string ? Any : SCHEMA extends false ? Never : SCHEMA extends NullableSchema ? ParseNullableSchema<SCHEMA, OPTIONS> : SCHEMA extends ReferencingSchema ? ParseReferenceSchema<SCHEMA, OPTIONS> : And<DoesExtend<OPTIONS["parseIfThenElseKeywords"], true>, DoesExtend<SCHEMA, IfThenElseSchema>> extends true ? SCHEMA extends IfThenElseSchema ? ParseIfThenElseSchema<SCHEMA, OPTIONS> : never : And<DoesExtend<OPTIONS["parseNotKeyword"], true>, DoesExtend<SCHEMA, NotSchema>> extends true ? SCHEMA extends NotSchema ? ParseNotSchema<SCHEMA, OPTIONS> : never : SCHEMA extends AllOfSchema ? ParseAllOfSchema<SCHEMA, OPTIONS> : SCHEMA extends OneOfSchema ? ParseOneOfSchema<SCHEMA, OPTIONS> : SCHEMA extends AnyOfSchema ? ParseAnyOfSchema<SCHEMA, OPTIONS> : SCHEMA extends EnumSchema ? ParseEnumSchema<SCHEMA, OPTIONS> : SCHEMA extends ConstSchema ? ParseConstSchema<SCHEMA, OPTIONS> : SCHEMA extends MultipleTypesSchema ? ParseMultipleTypesSchema<SCHEMA, OPTIONS> : SCHEMA extends SingleTypeSchema ? ParseSingleTypeSchema<SCHEMA, OPTIONS> : Any> = OPTIONS extends {
3912
3627
  deserialize: DeserializationPattern[];
3913
3628
  } ? $Intersect<DeserializeSchema<SCHEMA, OPTIONS>, RESULT> : RESULT;
3914
- //#endregion
3915
- //#region node_modules/json-schema-to-ts/lib/types/index.d.ts
3916
3629
  type FromSchema$1<SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOptions = FromSchemaDefaultOptions> = $Resolve<ParseSchema<SCHEMA, ParseOptions<SCHEMA, OPTIONS>>>;
3917
- //#endregion
3918
- //#region node_modules/@whatwg-node/promise-helpers/typings/index.d.cts
3919
3630
  type MaybePromise<T> = Promise<T> | T;
3920
3631
  type MaybePromiseLike<T> = PromiseLike<T> | T;
3921
- //#endregion
3922
- //#region node_modules/@whatwg-node/server/typings/utils.d.cts
3923
3632
  interface NodeRequest {
3924
3633
  protocol?: string | undefined;
3925
3634
  hostname?: string | undefined;
@@ -3936,8 +3645,6 @@ interface NodeRequest {
3936
3645
  aborted?: boolean | undefined;
3937
3646
  }
3938
3647
  type NodeResponse = ServerResponse | Http2ServerResponse;
3939
- //#endregion
3940
- //#region node_modules/@whatwg-node/server/typings/uwebsockets.d.cts
3941
3648
  interface UWSRequest {
3942
3649
  getMethod(): string;
3943
3650
  forEach(callback: (key: string, value: string) => void): void;
@@ -3957,8 +3664,6 @@ interface UWSResponse {
3957
3664
  cork(callback: () => void): void;
3958
3665
  }
3959
3666
  type UWSHandler = (res: UWSResponse, req: UWSRequest) => void | Promise<void>;
3960
- //#endregion
3961
- //#region node_modules/@whatwg-node/server/typings/types.d.cts
3962
3667
  interface FetchEvent extends Event {
3963
3668
  waitUntil(f: MaybePromise<void>): void;
3964
3669
  request: Request;
@@ -4050,11 +3755,7 @@ type ServerAdapterInitialContext = {
4050
3755
  */
4051
3756
  waitUntil: WaitUntilFn;
4052
3757
  };
4053
- //#endregion
4054
- //#region node_modules/fets/typings/types.d.ts
4055
3758
  type StatusCodeMap$1<T> = { [TKey in StatusCode$1]?: T; };
4056
- //#endregion
4057
- //#region node_modules/fets/typings/typed-fetch.d.ts
4058
3759
  type OkStatusCode$1 = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
4059
3760
  type RedirectStatusCode$1 = 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308;
4060
3761
  type ClientErrorStatusCode$1 = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451;
@@ -4198,13 +3899,9 @@ interface TypedFormData$1<TMap extends Record<string, FormDataEntryValue | undef
4198
3899
  values(): IterableIterator<TMap[keyof TMap]>;
4199
3900
  [Symbol.iterator](): IterableIterator<[keyof TMap, TMap[keyof TMap]]>;
4200
3901
  }
4201
- //#endregion
4202
- //#region node_modules/fets/typings/client/clientResponse.d.cts
4203
3902
  type ClientTypedResponsePromise<TTypedResponse extends Response> = Promise<TTypedResponse> & {
4204
3903
  json(): Promise<TTypedResponse extends TypedResponse$1 ? JSONofResponse<TTypedResponse> : any>;
4205
3904
  };
4206
- //#endregion
4207
- //#region node_modules/fets/typings/typed-fetch.d.cts
4208
3905
  type OkStatusCode = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
4209
3906
  type RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308;
4210
3907
  type ClientErrorStatusCode = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451;
@@ -4355,11 +4052,7 @@ interface TypedFormData<TMap extends Record<string, FormDataEntryValue | undefin
4355
4052
  values(): IterableIterator<TMap[keyof TMap]>;
4356
4053
  [Symbol.iterator](): IterableIterator<[keyof TMap, TMap[keyof TMap]]>;
4357
4054
  }
4358
- //#endregion
4359
- //#region node_modules/fets/typings/client/types.d.cts
4360
4055
  type ClientRequestInit = Omit<RequestInit, 'body' | 'method' | 'headers'>;
4361
- //#endregion
4362
- //#region node_modules/fets/typings/types.d.cts
4363
4056
  type Simplify<T> = { [KeyType in keyof T]: Simplify<T[KeyType]>; } & {};
4364
4057
  type JSONSchema = Exclude<JSONSchema$1, boolean>;
4365
4058
  interface OpenAPIInfo {
@@ -4665,8 +4358,6 @@ type RouteWithTypesOpts<TServerContext, TMethod extends HTTPMethod, TPath extend
4665
4358
  handler: RouteHandler<TServerContext, TTypedRequest, TTypedResponse>;
4666
4359
  };
4667
4360
  type ExtractPathParamsWithPattern<TPath extends string> = Pipe<TPath, [Strings.Split<'/'>, Tuples.Filter<Strings.StartsWith<':'>>, Tuples.Map<Strings.Trim<':'>>, Tuples.ToUnion]>;
4668
- //#endregion
4669
- //#region lib/rumble.d.ts
4670
4361
  export declare const rumble: <UserContext extends Record<string, any>, DB extends DrizzleInstance, RequestEvent extends Record<string, any>, PothosConfig extends CustomRumblePothosConfig, Schema extends Record<string, any>, Action extends string = "delete" | "read" | "update">(rumbleInput: RumbleInput<UserContext, DB, RequestEvent, Action, PothosConfig> & {
4671
4362
  schema: Schema;
4672
4363
  }) => {
@@ -5251,8 +4942,142 @@ export declare const rumble: <UserContext extends Record<string, any>, DB extend
5251
4942
  */
5252
4943
  buildSchema: () => GraphQLSchema;
5253
4944
  };
5254
- //#endregion
5255
- //#region lib/scalars/emailAddress.d.ts
4945
+ /**
4946
+ * The shape of a postal address, modeled after the OIDC `address` claim
4947
+ * (https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim) and schema.org's
4948
+ * `PostalAddress`.
4949
+ */
4950
+ type AddressShape = {
4951
+ /** The street address, which may be multiple lines separated by newlines. */
4952
+ streetAddress?: string | null;
4953
+ /** City or town. */
4954
+ locality?: string | null;
4955
+ /** State, province, prefecture or region. */
4956
+ region?: string | null;
4957
+ /** Postal or zip code. */
4958
+ postalCode?: string | null;
4959
+ /** ISO 3166-1 alpha-2 country code. */
4960
+ countryCode?: string | null;
4961
+ };
4962
+ /**
4963
+ * AddressInput's shape differs from AddressShape in that `countryCode` and `streetAddress` are
4964
+ * required. `countryCode`: without a country there is nothing for the validator to check
4965
+ * requiredness/format/region against, so a country-less "address" can't be verified as valid
4966
+ * for anywhere. `streetAddress`: checked against every one of the 252 countries in
4967
+ * libaddressinput's dataset — it is the one field required in literally all of them (unlike
4968
+ * e.g. city, which 13 countries including Japan and Singapore don't require, or state/zip,
4969
+ * required in barely a sixth to a third of countries) — so it's safe to require unconditionally
4970
+ * rather than only per-country. The remaining fields stay optional since their requiredness
4971
+ * genuinely varies by country; that's enforced dynamically by `addressValidationSchema` instead
4972
+ * of statically here.
4973
+ */
4974
+ type AddressInputShape = Omit<AddressShape, "countryCode" | "streetAddress"> & {
4975
+ countryCode: string;
4976
+ streetAddress: string;
4977
+ };
4978
+ type RegionAddressRules = {
4979
+ /** Regex the postal code must start with. */
4980
+ zip?: string;
4981
+ /** Example postal code within the region. */
4982
+ zipex?: string;
4983
+ /** Other names the region is known by, e.g. "California" for CA. */
4984
+ names?: string[];
4985
+ };
4986
+ type CountryAddressRules = {
4987
+ /** One-letter codes of the required fields, see the libaddressinput metadata docs. */
4988
+ require: string;
4989
+ /** Regex the whole postal code must match. */
4990
+ zip?: string;
4991
+ /** Example postal code. */
4992
+ zipex?: string;
4993
+ /** Regions by their upper-cased code. */
4994
+ regions?: Record<string, RegionAddressRules>;
4995
+ };
4996
+ /*! Address data derived from Google's Address Data Service (https://github.com/google/libaddressinput),
4997
+ * licensed under CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/).
4998
+ * Changes: reduced to required fields, postal code patterns and examples, and regions with
4999
+ * their names, with region codes upper-cased and ISO 3166-2 ids used where available. */
5000
+ export declare const addressData: Record<string, CountryAddressRules>;
5001
+ type AddressIssue = {
5002
+ path: keyof AddressShape;
5003
+ message: string;
5004
+ };
5005
+ type NormalizedAddress = {
5006
+ streetAddress: string | null;
5007
+ locality: string | null;
5008
+ region: string | null;
5009
+ postalCode: string | null;
5010
+ countryCode: string;
5011
+ };
5012
+ /**
5013
+ * One rule an address is checked against, e.g. `checkPostalCode`. It only runs for countries
5014
+ * that have rules, and returns an empty array when the address passes.
5015
+ */
5016
+ type AddressCheck = (args: {
5017
+ address: NormalizedAddress;
5018
+ rules: CountryAddressRules;
5019
+ }) => AddressIssue[];
5020
+ /** Flags fields the country requires but the address leaves empty. */
5021
+ export declare const checkRequiredFields: AddressCheck;
5022
+ /**
5023
+ * Flags a region that isn't in the country's region list. Countries without a list accept any
5024
+ * region. Expects the region already resolved by `normalizeAddress`.
5025
+ */
5026
+ export declare const checkRegion: AddressCheck;
5027
+ /**
5028
+ * Flags a postal code that doesn't match the country's format, or doesn't belong to the given
5029
+ * region (e.g. a Washington ZIP code for California). An empty postal code passes, since
5030
+ * `checkRequiredFields` covers that.
5031
+ */
5032
+ export declare const checkPostalCode: AddressCheck;
5033
+ /** The checks `validateAddress` runs, in order. */
5034
+ export declare const addressChecks: AddressCheck[];
5035
+ /**
5036
+ * Resolves a region code or any of its names, in any case, to the region code, e.g. "california"
5037
+ * to "CA" for the US. Returns undefined for unknown regions and countries without a region list.
5038
+ */
5039
+ export declare function findRegionCode({ countryCode, region }: {
5040
+ countryCode: string;
5041
+ region: string;
5042
+ }): string | undefined;
5043
+ /**
5044
+ * Fixes the unambiguous, purely-cosmetic issues (stray surrounding whitespace, wrong case)
5045
+ * instead of rejecting an address over them. Run it before `validateAddress`, which expects
5046
+ * its output.
5047
+ *
5048
+ * `countryCode` and `postalCode` are uppercased since their canonical forms always are (ISO
5049
+ * 3166-1 codes, and postal codes in every country that mixes letters and digits, e.g. GB/CA/NL).
5050
+ * A region that matches a known region code or name, like "california" in the US, is replaced
5051
+ * by its code. Any other region and the locality are only trimmed, since they're free text.
5052
+ */
5053
+ export declare function normalizeAddress(address: AddressShape): NormalizedAddress;
5054
+ /**
5055
+ * Checks a normalized address against its country's rules and returns every issue found, or an
5056
+ * empty array for a valid address.
5057
+ *
5058
+ * @example
5059
+ * ```ts
5060
+ * const issues = validateAddress(normalizeAddress(input));
5061
+ * ```
5062
+ */
5063
+ export declare function validateAddress(address: NormalizedAddress): AddressIssue[];
5064
+ /**
5065
+ * The schema `AddressInput` validates with. It normalizes the address, so parsing returns the
5066
+ * corrected value, and reports every issue on its field.
5067
+ */
5068
+ export declare const addressValidationSchema: z.ZodPipe<z.ZodObject<{
5069
+ streetAddress: z.ZodString;
5070
+ locality: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5071
+ region: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5072
+ postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5073
+ countryCode: z.ZodString;
5074
+ }, z.core.$strip>, z.ZodTransform<NormalizedAddress, {
5075
+ streetAddress: string;
5076
+ locality?: string | null | undefined;
5077
+ region?: string | null | undefined;
5078
+ postalCode?: string | null | undefined;
5079
+ countryCode: string;
5080
+ }>>;
5256
5081
  /**
5257
5082
  * Validates an email address using graphql-scalars' own format check, then lowercases it, exactly
5258
5083
  * as the `EmailAddress` scalar does. Exported for values that do not arrive as GraphQL input,
@@ -5261,8 +5086,6 @@ export declare const rumble: <UserContext extends Record<string, any>, DB extend
5261
5086
  * @throws RumbleErrorSafe if the value is not a valid email address
5262
5087
  */
5263
5088
  export declare const normalizeEmailAddress: (value: unknown) => string;
5264
- //#endregion
5265
- //#region lib/scalars/personName.d.ts
5266
5089
  /**
5267
5090
  * Normalizes and validates a person's name, exactly as the `PersonName` scalar does. Exported
5268
5091
  * for values that do not arrive as GraphQL input, such as OIDC claims.
@@ -5270,8 +5093,6 @@ export declare const normalizeEmailAddress: (value: unknown) => string;
5270
5093
  * @throws RumbleErrorSafe if the value is not a valid name
5271
5094
  */
5272
5095
  export declare const normalizePersonName: (value: unknown) => string;
5273
- //#endregion
5274
- //#region lib/scalars/phoneNumber.d.ts
5275
5096
  /**
5276
5097
  * Parses and validates a phone number using libphonenumber-js (Google's phone number metadata),
5277
5098
  * which checks real per-country validity (length, area code plausibility, ...) rather than just
@@ -5281,8 +5102,6 @@ export declare const normalizePersonName: (value: unknown) => string;
5281
5102
  * @throws RumbleErrorSafe if the value is not a valid phone number
5282
5103
  */
5283
5104
  export declare const parsePhoneNumber: (value: unknown) => PhoneNumber;
5284
- //#endregion
5285
- //#region lib/types/rumbleError.d.ts
5286
5105
  /**
5287
5106
  * An error that gets raised by rumble whenever something does not go according to plan.
5288
5107
  * Mostly internals, configuration errors or other unexpected things.
@@ -5296,5 +5115,5 @@ export declare class RumbleError extends Error {
5296
5115
  * E.g. the assert helpers issue these.
5297
5116
  */
5298
5117
  export declare class RumbleErrorSafe extends GraphQLError {}
5299
- //#endregion
5118
+ export type { AddressCheck, AddressInputShape, AddressIssue, AddressShape, CountryAddressRules, NormalizedAddress, RegionAddressRules };
5300
5119
  //# sourceMappingURL=index.d.cts.map