@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.mts CHANGED
@@ -1,4 +1,3 @@
1
- import { createRequire } from "node:module";
2
1
  import { One, SQL, Table } from "drizzle-orm";
3
2
  import { GraphQLError, GraphQLScalarType, GraphQLSchema } from "graphql";
4
3
  import { Tracer } from "@opentelemetry/api";
@@ -9,6 +8,7 @@ import { PgAsyncDatabase } from "drizzle-orm/pg-core";
9
8
  import { MySqlAsyncDatabase } from "drizzle-orm/mysql-core";
10
9
  import { SQLiteAsyncDatabase } from "drizzle-orm/sqlite-core";
11
10
  import SchemaBuilder from "@pothos/core";
11
+ import { z } from "zod";
12
12
  import { PhoneNumber } from "libphonenumber-js";
13
13
  import { IncomingMessage, RequestListener, ServerResponse } from "node:http";
14
14
  import { Http2ServerRequest, Http2ServerResponse } from "node:http2";
@@ -16,8 +16,6 @@ import { Socket } from "node:net";
16
16
  import "@whatwg-node/fetch";
17
17
  import { useSofa } from "@m1212e/sofa-api";
18
18
  import { ServerOptions } from "graphql-ws";
19
- //#endregion
20
- //#region lib/types/drizzleInstanceType.d.ts
21
19
  type DrizzleInstance = PgAsyncDatabase<any, any> | SQLiteAsyncDatabase<any, any, any> | MySqlAsyncDatabase<any, any>;
22
20
  /**
23
21
  * Type representing the query function of a Drizzle instance.
@@ -37,8 +35,6 @@ type DrizzleQueryFunctionInput<DB extends DrizzleInstance, QueryField extends ke
37
35
  * Type representing the type of a record in a specific table of the Drizzle instance.
38
36
  */
39
37
  type DrizzleTableValueType<DB extends DrizzleInstance, QueryField extends keyof DrizzleQueryFunction<DB>> = NonNullable<Awaited<ReturnType<DrizzleQueryFunction<DB>[QueryField]["findFirst"]>>>;
40
- //#endregion
41
- //#region lib/abilityBuilder/queryFilter.d.ts
42
38
  /**
43
39
  * Static, non changing query filter input type for a specific table
44
40
  */
@@ -56,8 +52,6 @@ type QueryFilter<DB extends DrizzleInstance, Table extends keyof DrizzleQueryFun
56
52
  * granted the action without conditions.
57
53
  */
58
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">;
59
- //#endregion
60
- //#region lib/runtimeFiltersPlugin/filterTypes.d.ts
61
55
  type Prefetch<Context, ReturnType> = (params: {
62
56
  context: Context;
63
57
  }) => Promise<ReturnType>;
@@ -70,8 +64,6 @@ type FilterPrefetchCombo<Context, FilteredEntityType, PrefetchReturnType = never
70
64
  filter: Filter<Context, FilteredEntityType, PrefetchReturnType>;
71
65
  prefetch?: Prefetch<Context, PrefetchReturnType>;
72
66
  };
73
- //#endregion
74
- //#region lib/types/rumbleInput.d.ts
75
67
  interface RumbleLogger {
76
68
  info(obj: Record<string, unknown>, msg: string): void;
77
69
  warn(obj: Record<string, unknown>, msg: string): void;
@@ -232,16 +224,12 @@ type RumbleInput<UserContext extends Record<string, any>, DB extends DrizzleInst
232
224
  */
233
225
  validation?: NonNullable<ConstructorParameters<typeof SchemaBuilder>[0]>["validation"];
234
226
  };
235
- //#endregion
236
- //#region lib/abilityBuilder/columnMask.d.ts
237
227
  type MaskColumnsInput<DB extends DrizzleInstance, Action extends string> = {
238
228
  table: TableRelationNames<DB>;
239
229
  action: Action;
240
230
  abilities: Record<string, any>;
241
231
  entities: unknown[];
242
232
  };
243
- //#endregion
244
- //#region lib/abilityBuilder/filterResponse.d.ts
245
233
  type FindFirstConfig<DB extends DrizzleInstance, TableName extends TableRelationNames<DB>> = NonNullable<Parameters<DB["query"][TableName]["findFirst"]>[0]>;
246
234
  type FindManyConfig<DB extends DrizzleInstance, TableName extends TableRelationNames<DB>> = NonNullable<Parameters<DB["query"][TableName]["findMany"]>[0]>;
247
235
  /**
@@ -304,8 +292,6 @@ type AbilityFilterResponse<DB extends DrizzleInstance, TableName extends TableRe
304
292
  */
305
293
  merge: (filters: NonNullable<DrizzleQueryFunctionInput<DB, TableName>>) => AbilityFilter<DB, TableName>;
306
294
  };
307
- //#endregion
308
- //#region lib/abilityBuilder/inputGuard.d.ts
309
295
  type GuardedInput = {
310
296
  where?: unknown;
311
297
  orderBy?: unknown;
@@ -315,8 +301,6 @@ type GuardedInput = {
315
301
  * abilities of the request let the caller read, see `createInputGuard`.
316
302
  */
317
303
  export declare function guardFilterInput(abilities: object, table: string, action: string, input: GuardedInput): Promise<GuardedInput>;
318
- //#endregion
319
- //#region lib/helpers/asserts.d.ts
320
304
  /**
321
305
  *
322
306
  * Helper function to map a drizzle findFirst query result,
@@ -388,8 +372,6 @@ export declare const assertFindFirstExists: <T>(value: T | undefined) => T;
388
372
  * ```
389
373
  */
390
374
  export declare const assertFirstEntryExists: <T>(value: T[]) => T;
391
- //#endregion
392
- //#region lib/helpers/mapNullFieldsToUndefined.d.ts
393
375
  /**
394
376
  * Helper to map null fields to undefined
395
377
  * @param obj The object to map
@@ -449,43 +431,6 @@ export declare const assertFirstEntryExists: <T>(value: T[]) => T;
449
431
  * ```
450
432
  */
451
433
  export declare function mapNullFieldsToUndefined<T extends object>(obj: T): { [K in keyof T]: T[K] extends null ? undefined : Exclude<T[K], null>; };
452
- //#endregion
453
- //#region lib/scalars/address.d.ts
454
- /**
455
- * The shape of a postal address, modeled after the OIDC `address` claim
456
- * (https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim) and schema.org's
457
- * `PostalAddress`.
458
- */
459
- type AddressShape = {
460
- /** The street address, which may be multiple lines separated by newlines. */
461
- streetAddress?: string | null;
462
- /** City or town. */
463
- locality?: string | null;
464
- /** State, province, prefecture or region. */
465
- region?: string | null;
466
- /** Postal or zip code. */
467
- postalCode?: string | null;
468
- /** ISO 3166-1 alpha-2 country code. */
469
- countryCode?: string | null;
470
- };
471
- /**
472
- * AddressInput's shape differs from AddressShape in that `countryCode` and `streetAddress` are
473
- * required. `countryCode`: without a country there is nothing for the validator to check
474
- * requiredness/format/region against, so a country-less "address" can't be verified as valid
475
- * for anywhere. `streetAddress`: checked against every one of the 252 countries in
476
- * libaddressinput's dataset — it is the one field required in literally all of them (unlike
477
- * e.g. city, which 13 countries including Japan and Singapore don't require, or state/zip,
478
- * required in barely a sixth to a third of countries) — so it's safe to require unconditionally
479
- * rather than only per-country. The remaining fields stay optional since their requiredness
480
- * genuinely varies by country; that's enforced dynamically by `addressValidationSchema` instead
481
- * of statically here.
482
- */
483
- type AddressInputShape = Omit<AddressShape, "countryCode" | "streetAddress"> & {
484
- countryCode: string;
485
- streetAddress: string;
486
- };
487
- //#endregion
488
- //#region lib/args/whereArgsImplementer.d.ts
489
434
  type NumberWhereInputArgument = {
490
435
  eq?: number;
491
436
  ne?: number;
@@ -635,10 +580,7 @@ type DateTimeWhereInputArgument = {
635
580
  OR?: DateTimeWhereInputArgument[];
636
581
  NOT?: DateTimeWhereInputArgument;
637
582
  };
638
- declare namespace helpers_d_exports {
639
- 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 };
640
- }
641
- 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;
642
584
  /**
643
585
  * HACK:
644
586
  * Special function for never because `Equal<T, never>` doesn't
@@ -646,10 +588,6 @@ type Equal$2<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends
646
588
  * probably a TS bug).
647
589
  */
648
590
  type IsNever$1<T> = [T] extends [never] ? true : false;
649
- type Expect<a extends true> = a;
650
- type Some<bools extends boolean[]> = true extends bools[number] ? true : false;
651
- type Every<bools extends boolean[]> = bools[number] extends true ? true : false;
652
- type Extends<a, b> = [a] extends [b] ? true : false;
653
591
  type Not$2<a extends boolean> = a extends true ? false : true;
654
592
  /**
655
593
  * trick to combine multiple unions of objects into a single object
@@ -659,8 +597,6 @@ type Not$2<a extends boolean> = a extends true ? false : true;
659
597
  */
660
598
  type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
661
599
  type Prettify$1<T> = { [K in keyof T]: T[K]; } | never;
662
- type RecursivePrettify<T> = IsArrayStrict<T> extends true ? RecursivePrettify<Extract<T, readonly any[]>[number]>[] : { [K in keyof T]: RecursivePrettify<T[K]>; };
663
- type AnyTuple = readonly [any, ...any];
664
600
  declare namespace Iterator$1 {
665
601
  type Get<it extends readonly any[]> = it["length"];
666
602
  type Iterator<n extends number, it extends any[] = []> = it["length"] extends n ? it : Iterator$1<n, [any, ...it]>;
@@ -708,15 +644,11 @@ type Split$2<Str, Sep extends string, Acc extends string[] = []> = Str extends "
708
644
  type Stringifiable = string | number | boolean | bigint | null | undefined;
709
645
  type Primitive$1 = string | number | boolean | bigint | null | undefined | symbol;
710
646
  type Head$1<xs> = xs extends [infer first, ...any] ? first : never;
711
- //#endregion
712
- //#region node_modules/hotscript/dist/internals/core/impl/MergeArgs.d.ts
713
- 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;
714
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];
715
649
  type EmptyIntoPlaceholder<x> = IsNever$1<x> extends true ? never : [x] extends [unset] ? _ : x;
716
650
  type MapEmptyIntoPlaceholder<xs, output extends any[] = []> = xs extends [infer first, ...infer rest] ? MapEmptyIntoPlaceholder<rest, [...output, EmptyIntoPlaceholder<first>]> : output;
717
651
  type MergeArgs<pipedArgs extends any[], partialArgs extends any[]> = MergeArgsRec<pipedArgs, MapEmptyIntoPlaceholder<partialArgs>>;
718
- //#endregion
719
- //#region node_modules/hotscript/dist/internals/core/Core.d.ts
720
652
  declare const rawArgs: unique symbol;
721
653
  type rawArgs = typeof rawArgs;
722
654
  /**
@@ -854,11 +786,7 @@ type ComposeLeftImpl<fns extends Fn[], args extends any[]> = fns extends [infer
854
786
  interface PartialApply<fn extends Fn, partialArgs extends unknown[]> extends Fn {
855
787
  return: MergeArgs<this["args"], partialArgs> extends (infer args extends unknown[]) ? Apply<fn, args$1> : never;
856
788
  }
857
- //#endregion
858
- //#region node_modules/hotscript/dist/internals/numbers/impl/absolute.d.ts
859
789
  type Abs<T extends number | bigint> = `${T}` extends `-${infer U extends number | bigint}` ? U : T;
860
- //#endregion
861
- //#region node_modules/hotscript/dist/internals/numbers/impl/utils.d.ts
862
790
  type ToNumber<T extends string> = T extends `${infer N extends number | bigint}` ? N : never;
863
791
  type ToString<T extends number | bigint> = `${T}`;
864
792
  type Digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
@@ -887,15 +815,11 @@ type Num<T extends DigitNumber> = T["num"];
887
815
  type FromDigitNumber<T extends DigitNumber> = `${Sign<T>}${FromDigits<Num<T>>}`;
888
816
  type TrimZeros<T extends Digit[]> = T extends [0] ? [0] : T extends [0, ...infer R extends Digit[]] ? TrimZeros<R> : T;
889
817
  type Normalize<T extends DigitNumber, Trim extends Digit[] = TrimZeros<Num<T>>> = Trim extends [0] ? MakeDigitNumber<"", Trim> : MakeDigitNumber<Sign<T>, Trim>;
890
- //#endregion
891
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/addition.d.ts
892
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]]];
893
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]]];
894
820
  type AddDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = AddDigitTable[Carry][T][U];
895
821
  type AddCarryDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = AddDigitCarryTable[Carry][T][U];
896
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;
897
- //#endregion
898
- //#region node_modules/hotscript/dist/internals/numbers/impl/compare.d.ts
899
823
  type CompareLength<T extends any[], U extends any[]> = T["length"] extends U["length"] ? 1 : 0;
900
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]];
901
825
  type DigitCompare<D1 extends Digit, D2 extends Digit> = DigitCompareTable[D1][D2];
@@ -908,35 +832,25 @@ type CompareDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<T>
908
832
  * @param U - Second number
909
833
  * @returns 0 if T = U, 1 if T > U, -1 if T < U
910
834
  */
911
- 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>>>;
912
836
  type LessThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 ? true : false;
913
837
  type GreaterThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 ? true : false;
914
- type Equal$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U>;
915
- 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;
916
840
  type LessThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 | 0 ? true : false;
917
841
  type GreaterThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? true : false;
918
842
  type Max<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? T : U;
919
843
  type Min<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? U : T;
920
- //#endregion
921
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/substraction.d.ts
922
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]]];
923
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]]];
924
846
  type SubDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = SubDigitTable[Carry][T][U];
925
847
  type SubCarryDigit<T extends Digit, U extends Digit, Carry extends 0 | 1 = 0> = SubDigitCarryTable[Carry][T][U];
926
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;
927
- //#endregion
928
- //#region node_modules/hotscript/dist/internals/numbers/impl/addition.d.ts
929
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>>>;
930
850
  type Add<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<AddDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
931
- //#endregion
932
- //#region node_modules/hotscript/dist/internals/numbers/impl/substraction.d.ts
933
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>>>;
934
852
  type Sub<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<SubDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
935
- //#endregion
936
- //#region node_modules/hotscript/dist/internals/numbers/impl/negate.d.ts
937
853
  type Negate<T extends number | bigint> = `${T}` extends `-${infer U extends number | bigint}` ? U : `-${T}` extends `${infer U extends number | bigint}` ? U : never;
938
- //#endregion
939
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/multiply.d.ts
940
854
  type MulX2<T extends Digit[]> = AddDigits<T, T>;
941
855
  type MulX3<T extends Digit[]> = AddDigits<T, MulX2<T>>;
942
856
  type MulX4<T extends Digit[]> = MulX2<MulX2<T>>;
@@ -948,12 +862,8 @@ type MulX9<T extends Digit[]> = SubDigits<MulX10<T>, T>;
948
862
  type MulX10<T extends Digit[]> = [...T, 0];
949
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>;
950
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;
951
- //#endregion
952
- //#region node_modules/hotscript/dist/internals/numbers/impl/multiply.d.ts
953
865
  type MulDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<MulSign<Sign<T>, Sign<U>>, MulDigits<Num<T>, Num<U>>>;
954
866
  type Mul<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<MulDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
955
- //#endregion
956
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/division.d.ts
957
867
  type Rest$1<T extends Digit[]> = T extends [Digit, ...infer R extends Digit[]] ? R : never;
958
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];
959
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 ? {
@@ -981,8 +891,6 @@ type _DivModDigits<A extends Digit[], D extends Digit[], M extends Digit[], Q ex
981
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;
982
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;
983
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;
984
- //#endregion
985
- //#region node_modules/hotscript/dist/internals/numbers/impl/division.d.ts
986
894
  type DivDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<MulSign<Sign<T>, Sign<U>>, DivDigits<Num<T>, Num<U>>>;
987
895
  type Div<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<DivDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
988
896
  type ModDigitNumbers<T extends DigitNumber, U extends DigitNumber> = MakeDigitNumber<Sign<T>, ModDigits<Num<T>, Num<U>>>;
@@ -1001,22 +909,13 @@ type DivMod<T extends number | bigint, U extends number | bigint, DivModNumbers
1001
909
  Quotient: ToNumber<FromDigitNumber<Normalize<DivModNumbers["Quotient"]>>>;
1002
910
  Remainder: ToNumber<FromDigitNumber<Normalize<DivModNumbers["Remainder"]>>>;
1003
911
  };
1004
- //#endregion
1005
- //#region node_modules/hotscript/dist/internals/numbers/impl/digits/power.d.ts
1006
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 {
1007
913
  Quotient: infer Q extends Digit[];
1008
914
  Remainder: infer R extends Digit[];
1009
915
  } ? TrimZeros<R> extends [0] ? PowerDigits<MulDigits<T, T>, TrimZeros<Q>, Acc> : PowerDigits<MulDigits<T, T>, TrimZeros<Q>, MulDigits<T, Acc>> : never : Acc;
1010
- //#endregion
1011
- //#region node_modules/hotscript/dist/internals/numbers/impl/power.d.ts
1012
916
  type PowerSign<S extends "" | "-", U extends DigitNumber> = S extends "-" ? Num<U> extends [...Digit[], 0 | 2 | 4 | 6 | 8] ? "" : "-" : "";
1013
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>>>;
1014
918
  type Power<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<PowerDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
1015
- declare namespace numbers_d_exports {
1016
- 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 };
1017
- }
1018
- //#endregion
1019
- //#region node_modules/hotscript/dist/internals/numbers/Numbers.d.ts
1020
919
  declare namespace Numbers {
1021
920
  /**
1022
921
  * Add two numbers together
@@ -1202,7 +1101,7 @@ declare namespace Numbers {
1202
1101
  */
1203
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]>;
1204
1103
  interface EqualFn extends Fn {
1205
- 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;
1206
1105
  }
1207
1106
  /**
1208
1107
  * Check if two numbers are not equal
@@ -1218,7 +1117,7 @@ declare namespace Numbers {
1218
1117
  */
1219
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]>;
1220
1119
  interface NotEqualFn extends Fn {
1221
- 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;
1222
1121
  }
1223
1122
  /**
1224
1123
  * Check if a number is less than another
@@ -1290,8 +1189,6 @@ declare namespace Numbers {
1290
1189
  }
1291
1190
  export {};
1292
1191
  }
1293
- //#endregion
1294
- //#region node_modules/hotscript/dist/internals/std/Std.d.ts
1295
1192
  declare namespace Std {
1296
1193
  type _Pick<a, k extends keyof a> = Pick<a, k>;
1297
1194
  type _Omit<a, k extends PropertyKey> = Omit<a, k>;
@@ -1307,8 +1204,6 @@ declare namespace Std {
1307
1204
  type _Partial<a> = Partial<a>;
1308
1205
  type _NonNullable<a> = NonNullable<a>;
1309
1206
  }
1310
- //#endregion
1311
- //#region node_modules/hotscript/dist/internals/tuples/Tuples.d.ts
1312
1207
  declare namespace Tuples {
1313
1208
  type HeadImpl<xs> = xs extends readonly [infer head, ...any] ? head : never;
1314
1209
  /**
@@ -1877,8 +1772,6 @@ declare namespace Tuples {
1877
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;
1878
1773
  export {};
1879
1774
  }
1880
- //#endregion
1881
- //#region node_modules/hotscript/dist/internals/strings/impl/split.d.ts
1882
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;
1883
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];
1884
1777
  /**
@@ -1894,8 +1787,6 @@ type Split$1<Str, Sep extends string, Seps = UnionToTuple<Sep>> = Seps extends s
1894
1787
  * @returns The tuple of each character.
1895
1788
  */
1896
1789
  type StringToTuple<Str, Acc extends string[] = []> = Str extends string ? Str extends `${infer First}${infer Rest}` ? StringToTuple<Rest, [...Acc, First]> : Acc : [];
1897
- //#endregion
1898
- //#region node_modules/hotscript/dist/internals/strings/impl/trim.d.ts
1899
1790
  /**
1900
1791
  * Trim the left side of a string.
1901
1792
  * @param Str - The string to trim.
@@ -1917,21 +1808,15 @@ type TrimRight<Str, Sep extends string> = Str extends `${infer Rest}${Sep}` ? Tr
1917
1808
  * @returns The trimmed string.
1918
1809
  */
1919
1810
  type Trim<Str, Sep extends string> = TrimLeft<TrimRight<Str, Sep>, Sep>;
1920
- //#endregion
1921
- //#region node_modules/hotscript/dist/internals/strings/impl/replace.d.ts
1922
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;
1923
1812
  interface ReplaceReducer<To extends string> extends Fn {
1924
1813
  return: this["args"] extends [infer Str extends string, infer From extends string, ...any] ? Replace<Str, From, To> : never;
1925
1814
  }
1926
- //#endregion
1927
- //#region node_modules/hotscript/dist/internals/strings/impl/repeat.d.ts
1928
1815
  type RepeatX2<T extends string> = `${T}${T}`;
1929
1816
  type Repeat<T extends string, N extends number, Acc extends string = "", Calc extends {
1930
1817
  Quotient: number;
1931
1818
  Remainder: number;
1932
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}`>;
1933
- //#endregion
1934
- //#region node_modules/hotscript/dist/internals/strings/impl/compare.d.ts
1935
1820
  type ascii = {
1936
1821
  " ": 32;
1937
1822
  "!": 33;
@@ -2155,15 +2040,11 @@ type ascii = {
2155
2040
  };
2156
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;
2157
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;
2158
- 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>>;
2159
2044
  type LessThan<T extends string, U extends string> = Compare<T, U> extends -1 ? true : false;
2160
2045
  type LessThanOrEqual<T extends string, U extends string> = Compare<T, U> extends 1 ? false : true;
2161
- type Equal<T extends string, U extends string> = Equal$2<T, U>;
2162
- type NotEqual<T extends string, U extends string> = Equal$2<T, U> extends true ? false : true;
2163
2046
  type GreaterThan<T extends string, U extends string> = Compare<T, U> extends 1 ? true : false;
2164
2047
  type GreaterThanOrEqual<T extends string, U extends string> = Compare<T, U> extends -1 ? false : true;
2165
- //#endregion
2166
- //#region node_modules/hotscript/dist/internals/strings/impl/utils.d.ts
2167
2048
  declare namespace StringIterator {
2168
2049
  type Iter = [string, number | bigint];
2169
2050
  /**
@@ -2236,16 +2117,9 @@ declare namespace StringIterator {
2236
2117
  export type CutAt<T extends string, It extends Iterator> = `$${T}` extends `${String<It>}${infer $Rest}` ? $Rest : undefined;
2237
2118
  export {};
2238
2119
  }
2239
- //#endregion
2240
- //#region node_modules/hotscript/dist/internals/strings/impl/length.d.ts
2241
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;
2242
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;
2243
2122
  type Length<T extends string> = T extends "" ? 0 : LengthUp<T>;
2244
- declare namespace strings_d_exports {
2245
- export { Compare, Equal, GreaterThan, GreaterThanOrEqual, Length, LessThan, LessThanOrEqual, NotEqual, Repeat, Replace, ReplaceReducer, Split$1 as Split, StringToTuple, Trim, TrimLeft, TrimRight };
2246
- }
2247
- //#endregion
2248
- //#region node_modules/hotscript/dist/internals/strings/Strings.d.ts
2249
2123
  declare namespace Strings {
2250
2124
  export type Stringifiable = string | number | boolean | bigint | null | undefined;
2251
2125
  /**
@@ -2644,9 +2518,6 @@ declare namespace Strings {
2644
2518
  }
2645
2519
  export {};
2646
2520
  }
2647
- declare namespace objects_d_exports {
2648
- export { AllPaths, Assign, Create, Entries, FromEntries, GetFromPath, Keys, TransformObjectDeep, Update, Values };
2649
- }
2650
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;
2651
2522
  type Values<src> = Keys<src> extends (infer keys extends keyof src) ? src[keys] : never;
2652
2523
  type FromEntries<entries extends [PropertyKey, any]> = { [entry in entries as entry[0]]: entry[1]; } | never;
@@ -2655,14 +2526,12 @@ type Assign<xs extends readonly any[]> = Prettify$1<UnionToIntersection<xs[numbe
2655
2526
  type GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;
2656
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])];
2657
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;
2658
- 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>;
2659
2530
  type Update<obj, path, fnOrValue> = RecursiveUpdate<obj, ParsePath<path>, fnOrValue>;
2660
- 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;
2661
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;
2662
2533
  type JoinPath<A extends string, B extends string, Sep extends string = ""> = [A] extends [never] ? B : [B] extends [never] ? A : `${A}${Sep}${B}`;
2663
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;
2664
- //#endregion
2665
- //#region node_modules/hotscript/dist/internals/objects/Objects.d.ts
2666
2535
  declare namespace Objects {
2667
2536
  /**
2668
2537
  * Create an object from a union of `[key, value]` entries.
@@ -3170,59 +3039,29 @@ declare namespace Objects {
3170
3039
  }
3171
3040
  export {};
3172
3041
  }
3173
- //#endregion
3174
- //#region node_modules/ts-algebra/lib/utils/and.d.ts
3175
3042
  declare type And$1<BOOL_A, BOOL_B> = BOOL_A extends true ? BOOL_B extends true ? true : false : false;
3176
- //#endregion
3177
- //#region node_modules/ts-algebra/lib/utils/extends.d.ts
3178
3043
  declare type DoesExtend$1<TYPE_A, TYPE_B> = [TYPE_A] extends [TYPE_B] ? true : false;
3179
3044
  declare type ArrayKeys = keyof [];
3180
3045
  declare type IsObject<TYPE> = TYPE extends object ? ArrayKeys extends Extract<keyof TYPE, ArrayKeys> ? false : true : false;
3181
3046
  declare type IsArray<TYPE> = TYPE extends object ? ArrayKeys extends Extract<keyof TYPE, ArrayKeys> ? true : false : false;
3182
- //#endregion
3183
- //#region node_modules/ts-algebra/lib/utils/if.d.ts
3184
3047
  declare type If<CONDITION extends boolean, THEN, ELSE = never> = CONDITION extends true ? THEN : ELSE;
3185
- //#endregion
3186
- //#region node_modules/ts-algebra/lib/utils/intersectUnion.d.ts
3187
3048
  declare type IntersectUnion$1<UNION> = (UNION extends unknown ? (arg: UNION) => void : never) extends ((arg: infer INTERSECTION) => void) ? INTERSECTION : never;
3188
- //#endregion
3189
- //#region node_modules/ts-algebra/lib/utils/isNever.d.ts
3190
3049
  declare type IsNever<TYPE> = [TYPE] extends [never] ? true : false;
3191
- //#endregion
3192
- //#region node_modules/ts-algebra/lib/utils/merge.d.ts
3193
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;
3194
- //#endregion
3195
- //#region node_modules/ts-algebra/lib/utils/not.d.ts
3196
3051
  declare type Not$1<BOOL extends boolean> = BOOL extends false ? true : BOOL extends true ? false : never;
3197
- //#endregion
3198
- //#region node_modules/ts-algebra/lib/utils/or.d.ts
3199
3052
  declare type Or<BOOL_A extends boolean, BOOL_B extends boolean> = BOOL_A extends true ? true : BOOL_B extends true ? true : false;
3200
- //#endregion
3201
- //#region node_modules/ts-algebra/lib/utils/prettify.d.ts
3202
3053
  declare type Prettify<TYPE> = IsObject<TYPE> extends true ? { [KEY in keyof TYPE]: KEY extends keyof TYPE ? TYPE[KEY] : never; } : TYPE;
3203
- //#endregion
3204
- //#region node_modules/ts-algebra/lib/utils/tail.d.ts
3205
3054
  declare type Tail$2<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer TAIL] ? TAIL : ARRAY;
3206
- //#endregion
3207
- //#region node_modules/ts-algebra/lib/utils/unionLast.d.ts
3208
3055
  declare type UnionLast<UNION> = IntersectUnion$1<UNION extends unknown ? (x: UNION) => void : never> extends ((x: infer LAST) => void) ? LAST : never;
3209
- //#endregion
3210
- //#region node_modules/ts-algebra/lib/utils/unionPop.d.ts
3211
3056
  declare type UnionPop<UNION> = Exclude<UNION, UnionLast<UNION>>;
3212
- //#endregion
3213
- //#region node_modules/ts-algebra/lib/meta-types/never.d.ts
3214
3057
  declare type NeverTypeId = "never";
3215
3058
  declare type Never = {
3216
3059
  type: NeverTypeId;
3217
3060
  };
3218
3061
  declare type NeverType = Never;
3219
3062
  declare type ResolveNever = never;
3220
- //#endregion
3221
- //#region node_modules/ts-algebra/lib/meta-types/utils.d.ts
3222
3063
  declare type IsSerialized<SERIALIZABLE_META_TYPE extends SerializableType> = SERIALIZABLE_META_TYPE["isSerialized"];
3223
3064
  declare type Deserialized<SERIALIZABLE_META_TYPE extends SerializableType> = SERIALIZABLE_META_TYPE["deserialized"];
3224
- //#endregion
3225
- //#region node_modules/ts-algebra/lib/meta-types/const.d.ts
3226
3065
  declare type ConstTypeId = "const";
3227
3066
  declare type Const<VALUE, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = If<IsNever<VALUE>, Never, {
3228
3067
  type: ConstTypeId;
@@ -3238,8 +3077,6 @@ declare type ConstType = {
3238
3077
  };
3239
3078
  declare type ConstValue<META_CONST extends ConstType> = META_CONST["value"];
3240
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>>;
3241
- //#endregion
3242
- //#region node_modules/ts-algebra/lib/meta-types/enum.d.ts
3243
3080
  declare type EnumTypeId = "enum";
3244
3081
  declare type Enum<VALUES, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = If<IsNever<VALUES>, Never, {
3245
3082
  type: EnumTypeId;
@@ -3255,8 +3092,6 @@ declare type EnumType = {
3255
3092
  };
3256
3093
  declare type EnumValues<META_ENUM extends EnumType> = META_ENUM["values"];
3257
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>>;
3258
- //#endregion
3259
- //#region node_modules/ts-algebra/lib/meta-types/object.d.ts
3260
3095
  declare type ObjectTypeId = "object";
3261
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>;
3262
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 : {
@@ -3291,8 +3126,6 @@ declare type ResolveObject<META_OBJECT extends ObjectType, OPTIONS extends Resol
3291
3126
  }, {
3292
3127
  [KEY: string]: Resolve<Any, OPTIONS>;
3293
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>; }>>>;
3294
- //#endregion
3295
- //#region node_modules/ts-algebra/lib/meta-types/primitive.d.ts
3296
3129
  declare type PrimitiveTypeId = "primitive";
3297
3130
  declare type Primitive<VALUE extends null | boolean | number | string, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = $Primitive<VALUE, IS_SERIALIZED, DESERIALIZED>;
3298
3131
  declare type $Primitive<VALUE, IS_SERIALIZED = false, DESERIALIZED = never> = If<IsNever<VALUE>, Never, {
@@ -3309,8 +3142,6 @@ declare type PrimitiveType = {
3309
3142
  };
3310
3143
  declare type PrimitiveValue<META_PRIMITIVE extends PrimitiveType> = META_PRIMITIVE["value"];
3311
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>>;
3312
- //#endregion
3313
- //#region node_modules/ts-algebra/lib/meta-types/tuple.d.ts
3314
3145
  declare type TupleTypeId = "tuple";
3315
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>;
3316
3147
  declare type $Tuple<VALUES, OPEN_PROPS = Never, IS_SERIALIZED = false, DESERIALIZED = never> = IsAnyValueNever<VALUES> extends true ? Never : {
@@ -3335,8 +3166,6 @@ declare type IsTupleOpen<META_TUPLE extends TupleType> = META_TUPLE["isOpen"];
3335
3166
  declare type TupleOpenProps<META_TUPLE extends TupleType> = META_TUPLE["openProps"];
3336
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>>>;
3337
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;
3338
- //#endregion
3339
- //#region node_modules/ts-algebra/lib/meta-types/union.d.ts
3340
3169
  declare type UnionTypeId = "union";
3341
3170
  declare type Union<VALUES extends Type> = $Union<VALUES>;
3342
3171
  declare type $Union<VALUES> = If<IsNever<VALUES>, Never, DoesExtend$1<VALUES, NeverType> extends true ? Never : {
@@ -3350,15 +3179,11 @@ declare type UnionType = {
3350
3179
  declare type UnionValues<META_UNION extends UnionType> = META_UNION["values"];
3351
3180
  declare type ResolveUnion<META_UNION extends UnionType, OPTIONS extends ResolveOptions> = RecurseOnUnion<UnionValues<META_UNION>, OPTIONS>;
3352
3181
  declare type RecurseOnUnion<VALUES extends Type, OPTIONS extends ResolveOptions> = VALUES extends (infer META_TYPE) ? $Resolve<META_TYPE, OPTIONS> : never;
3353
- //#endregion
3354
- //#region node_modules/ts-algebra/lib/meta-types/type.d.ts
3355
3182
  declare type Type = NeverType | AnyType | ConstType | EnumType | PrimitiveType | ArrayType | TupleType | ObjectType | UnionType;
3356
3183
  declare type SerializableType = Type extends (infer META_TYPE) ? META_TYPE extends {
3357
3184
  isSerialized: boolean;
3358
3185
  deserialized: unknown;
3359
3186
  } ? META_TYPE : never : never;
3360
- //#endregion
3361
- //#region node_modules/ts-algebra/lib/meta-types/array.d.ts
3362
3187
  declare type ArrayTypeId = "array";
3363
3188
  declare type _Array<VALUES extends Type = Any, IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = _$Array<VALUES, IS_SERIALIZED, DESERIALIZED>;
3364
3189
  declare type _$Array<VALUES = Any, IS_SERIALIZED = false, DESERIALIZED = never> = {
@@ -3375,8 +3200,6 @@ declare type ArrayType = {
3375
3200
  };
3376
3201
  declare type ArrayValues<META_ARRAY extends ArrayType> = META_ARRAY["values"];
3377
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>[]>>;
3378
- //#endregion
3379
- //#region node_modules/ts-algebra/lib/meta-types/resolve.d.ts
3380
3203
  declare type ResolveOptions = {
3381
3204
  deserialize: boolean;
3382
3205
  };
@@ -3385,8 +3208,6 @@ declare type ResolveDefaultOptions = {
3385
3208
  };
3386
3209
  declare type Resolve<META_TYPE extends Type, OPTIONS extends ResolveOptions = ResolveDefaultOptions> = $Resolve<META_TYPE, OPTIONS>;
3387
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;
3388
- //#endregion
3389
- //#region node_modules/ts-algebra/lib/meta-types/any.d.ts
3390
3211
  declare type AnyTypeId = "any";
3391
3212
  declare type Any<IS_SERIALIZED extends boolean = false, DESERIALIZED = never> = {
3392
3213
  type: AnyTypeId;
@@ -3399,16 +3220,10 @@ declare type AnyType = {
3399
3220
  deserialized: unknown;
3400
3221
  };
3401
3222
  declare type ResolveAny<META_ANY extends AnyType, OPTIONS extends ResolveOptions> = If<And$1<OPTIONS["deserialize"], IsSerialized<META_ANY>>, Deserialized<META_ANY>, unknown>;
3402
- //#endregion
3403
- //#region node_modules/ts-algebra/lib/meta-types/intersection/union.d.ts
3404
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;
3405
3224
  declare type DistributeIntersection<META_UNION extends UnionType, META_TYPE> = $Union<UnionValues<META_UNION> extends (infer UNION_VALUE) ? $Intersect<UNION_VALUE, META_TYPE> : never>;
3406
- //#endregion
3407
- //#region node_modules/ts-algebra/lib/meta-types/intersection/utils.d.ts
3408
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>>;
3409
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>>>;
3410
- //#endregion
3411
- //#region node_modules/ts-algebra/lib/meta-types/intersection/const.d.ts
3412
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>>;
3413
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;
3414
3229
  declare type CheckExtendsResolved<META_CONST extends ConstType, SERIALIZABLE_META_TYPE extends SerializableType> = ConstValue<META_CONST> extends Resolve<SERIALIZABLE_META_TYPE, {
@@ -3422,8 +3237,6 @@ declare type IntersectConstToObject<META_CONST extends ConstType, META_OBJECT ex
3422
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>;
3423
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; };
3424
3239
  declare type NeverKeys<META_OBJECT> = { [KEY in keyof META_OBJECT]: META_OBJECT[KEY] extends Never ? KEY : never; }[keyof META_OBJECT];
3425
- //#endregion
3426
- //#region node_modules/ts-algebra/lib/meta-types/intersection/enum.d.ts
3427
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>>;
3428
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;
3429
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>;
@@ -3432,8 +3245,6 @@ declare type IntersectEnumToPrimitive<META_ENUM extends EnumType, META_PRIMITIVE
3432
3245
  declare type IntersectEnumToArray<META_ENUM extends EnumType, META_ARRAY extends ArrayType> = FilterEnum<META_ENUM, META_ARRAY>;
3433
3246
  declare type IntersectEnumToTuple<META_ENUM extends EnumType, META_TUPLE extends TupleType> = FilterEnum<META_ENUM, META_TUPLE>;
3434
3247
  declare type IntersectEnumToObject<META_ENUM extends EnumType, META_OBJECT extends ObjectType> = FilterEnum<META_ENUM, META_OBJECT>;
3435
- //#endregion
3436
- //#region node_modules/ts-algebra/lib/meta-types/intersection/tuple.d.ts
3437
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>;
3438
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>>;
3439
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;
@@ -3441,44 +3252,26 @@ declare type IntersectTupleToArray<META_TUPLE extends TupleType, META_ARRAY exte
3441
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;
3442
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>;
3443
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;
3444
- //#endregion
3445
- //#region node_modules/ts-algebra/lib/meta-types/intersection/array.d.ts
3446
3255
  declare type IntersectArraySerializationParams<VALUES extends Type, META_ARRAY extends ArrayType, SERIALIZABLE_META_TYPE extends SerializableType> = $MergeArrayValuesToSerializable<VALUES, META_ARRAY, SERIALIZABLE_META_TYPE>;
3447
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>>;
3448
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;
3449
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>;
3450
- //#endregion
3451
- //#region node_modules/ts-algebra/lib/meta-types/intersection/object.d.ts
3452
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>;
3453
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>>;
3454
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;
3455
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>;
3456
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>>; };
3457
- //#endregion
3458
- //#region node_modules/ts-algebra/lib/meta-types/intersection/primitive.d.ts
3459
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>>;
3460
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;
3461
- //#endregion
3462
- //#region node_modules/ts-algebra/lib/meta-types/intersection/any.d.ts
3463
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;
3464
- //#endregion
3465
- //#region node_modules/ts-algebra/lib/meta-types/intersection/index.d.ts
3466
3267
  declare type Intersect<META_TYPE_A extends Type, META_TYPE_B extends Type> = $Intersect<META_TYPE_A, META_TYPE_B>;
3467
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;
3468
- //#endregion
3469
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/union.d.ts
3470
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>;
3471
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>>;
3472
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>>>>;
3473
- //#endregion
3474
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/any.d.ts
3475
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;
3476
- //#endregion
3477
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/array.d.ts
3478
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;
3479
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;
3480
- //#endregion
3481
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/const.d.ts
3482
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;
3483
3276
  declare type CheckNotExtendsResolved<META_CONST extends ConstType, META_TYPE extends Type> = ConstValue<META_CONST> extends Resolve<META_TYPE, {
3484
3277
  deserialize: false;
@@ -3487,15 +3280,11 @@ declare type ExcludeObject<META_CONST extends ConstType, META_OBJECT extends Obj
3487
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>;
3488
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]>; };
3489
3282
  declare type RepresentableKeys$1<VALUES> = { [KEY in keyof VALUES]: VALUES[KEY] extends Never ? never : KEY; }[keyof VALUES];
3490
- //#endregion
3491
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/enum.d.ts
3492
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;
3493
3284
  declare type FilterEnumExcluded<META_ENUM extends EnumType, META_TYPE extends Type> = Enum<FilterEnumExcludedValues<EnumValues<META_ENUM>, META_TYPE>>;
3494
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;
3495
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>;
3496
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>>>>;
3497
- //#endregion
3498
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/utils.d.ts
3499
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> = {
3500
3289
  sourceValue: VALUE_A;
3501
3290
  isAllowedInSource: IS_ALLOWED_IN_A;
@@ -3522,8 +3311,6 @@ declare type IsOutsideOfSourceScope<VALUE_EXCLUSION_RESULT extends ValueExclusio
3522
3311
  declare type IsOutsideOfExcludedScope<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = And$1<IsRequiredInSource<VALUE_EXCLUSION_RESULT>, Not$1<IsAllowedInExcluded<VALUE_EXCLUSION_RESULT>>>;
3523
3312
  declare type IsOmittable<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = And$1<Not$1<IsRequiredInSource<VALUE_EXCLUSION_RESULT>>, IsRequiredInExcluded<VALUE_EXCLUSION_RESULT>>;
3524
3313
  declare type PropagateExclusion<VALUE_EXCLUSION_RESULT extends ValueExclusionResultType> = ExclusionResult<VALUE_EXCLUSION_RESULT> extends NeverType ? SourceValue<VALUE_EXCLUSION_RESULT> : ExclusionResult<VALUE_EXCLUSION_RESULT>;
3525
- //#endregion
3526
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/object.d.ts
3527
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;
3528
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 ? {
3529
3316
  moreThanTwo: META_OBJECT_A;
@@ -3542,11 +3329,7 @@ declare type PropagateExclusions$1<META_OBJECT extends ObjectType, VALUE_EXCLUSI
3542
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;
3543
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>];
3544
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>;
3545
- //#endregion
3546
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/primitive.d.ts
3547
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;
3548
- //#endregion
3549
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/tuple.d.ts
3550
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;
3551
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>>>;
3552
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>, {
@@ -3566,21 +3349,12 @@ declare type OmittableExcludedItems<ITEM_EXCLUSION_RESULTS extends ValueExclusio
3566
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;
3567
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;
3568
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;
3569
- //#endregion
3570
- //#region node_modules/ts-algebra/lib/meta-types/exclusion/index.d.ts
3571
3352
  declare type _Exclude<META_TYPE_A extends Type, META_TYPE_B extends Type> = _$Exclude<META_TYPE_A, META_TYPE_B>;
3572
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;
3573
- declare namespace index_d_exports {
3574
- 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 };
3575
- }
3576
- //#endregion
3577
- //#region node_modules/json-schema-to-ts/lib/types/definitions/deserializationPattern.d.ts
3578
3354
  type DeserializationPattern = Readonly<{
3579
3355
  pattern: unknown;
3580
3356
  output: unknown;
3581
3357
  }>;
3582
- //#endregion
3583
- //#region node_modules/json-schema-to-ts/lib/types/definitions/jsonSchema.d.ts
3584
3358
  declare const $JSONSchema: unique symbol;
3585
3359
  type $JSONSchema = typeof $JSONSchema;
3586
3360
  type JSONSchemaType = "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
@@ -3638,8 +3412,6 @@ type JSONSchema$1 = boolean | Readonly<{
3638
3412
  type JSONSchemaReference = JSONSchema$1 & Readonly<{
3639
3413
  $id: string;
3640
3414
  }>;
3641
- //#endregion
3642
- //#region node_modules/json-schema-to-ts/lib/types/definitions/fromSchemaOptions.d.ts
3643
3415
  type FromSchemaOptions = {
3644
3416
  parseNotKeyword?: boolean;
3645
3417
  parseIfThenElseKeywords?: boolean;
@@ -3654,8 +3426,6 @@ type FromSchemaDefaultOptions = {
3654
3426
  references: false;
3655
3427
  deserialize: false;
3656
3428
  };
3657
- //#endregion
3658
- //#region node_modules/json-schema-to-ts/lib/types/parse-options.d.ts
3659
3429
  type IndexReferencesById<SCHEMA_REFERENCES extends readonly JSONSchemaReference[]> = { [REF_SCHEMA in SCHEMA_REFERENCES[number] as REF_SCHEMA["$id"]]: REF_SCHEMA; };
3660
3430
  type ParseOptions<ROOT_SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOptions> = {
3661
3431
  parseNotKeyword: OPTIONS["parseNotKeyword"] extends boolean ? OPTIONS["parseNotKeyword"] : FromSchemaDefaultOptions["parseNotKeyword"];
@@ -3665,36 +3435,16 @@ type ParseOptions<ROOT_SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOp
3665
3435
  references: OPTIONS["references"] extends JSONSchemaReference[] ? IndexReferencesById<OPTIONS["references"]> : {};
3666
3436
  deserialize: OPTIONS["deserialize"] extends DeserializationPattern[] | false ? OPTIONS["deserialize"] : FromSchemaDefaultOptions["deserialize"];
3667
3437
  };
3668
- //#endregion
3669
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/and.d.ts
3670
3438
  type And<CONDITION_A, CONDITION_B> = CONDITION_A extends true ? CONDITION_B extends true ? true : false : false;
3671
- //#endregion
3672
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/extends.d.ts
3673
3439
  type DoesExtend<TYPE_A, TYPE_B> = [TYPE_A] extends [TYPE_B] ? true : false;
3674
- //#endregion
3675
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/get.d.ts
3676
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;
3677
- //#endregion
3678
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/join.d.ts
3679
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;
3680
- //#endregion
3681
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/not.d.ts
3682
3442
  type Not<BOOL> = BOOL extends false ? true : BOOL extends true ? false : never;
3683
- //#endregion
3684
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/pop.d.ts
3685
3443
  type Pop<ARRAY extends unknown[]> = ARRAY extends readonly [...infer ARRAY_BODY, unknown] | readonly [...infer ARRAY_BODY, unknown?] ? ARRAY_BODY : ARRAY;
3686
- //#endregion
3687
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/split.d.ts
3688
3444
  type RecursiveSplit<STRING extends string, SEPARATOR extends string = ""> = STRING extends `${infer BEFORE}${SEPARATOR}${infer AFTER}` ? [BEFORE, ...RecursiveSplit<AFTER, SEPARATOR>] : [STRING];
3689
3445
  type Split<STRING extends string, SEPARATOR extends string = "", RESULT extends string[] = RecursiveSplit<STRING, SEPARATOR>> = SEPARATOR extends "" ? Pop<RESULT> : RESULT;
3690
- //#endregion
3691
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/tail.d.ts
3692
3446
  type Tail$1<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer ARRAY_TAIL] ? ARRAY_TAIL : ARRAY;
3693
- //#endregion
3694
- //#region node_modules/json-schema-to-ts/lib/types/type-utils/writable.d.ts
3695
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;
3696
- //#endregion
3697
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/utils.d.ts
3698
3448
  type RemoveInvalidAdditionalItems<SCHEMA extends JSONSchema$1> = SCHEMA extends Readonly<{
3699
3449
  items: JSONSchema$1 | readonly JSONSchema$1[];
3700
3450
  }> ? SCHEMA extends Readonly<{
@@ -3710,42 +3460,30 @@ type RemoveInvalidAdditionalProperties<SCHEMA extends JSONSchema$1> = SCHEMA ext
3710
3460
  properties: {};
3711
3461
  }> : SCHEMA extends boolean ? SCHEMA : Omit<SCHEMA, "additionalProperties">;
3712
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;
3713
- //#endregion
3714
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/allOf.d.ts
3715
3463
  type AllOfSchema = JSONSchema$1 & Readonly<{
3716
3464
  allOf: readonly JSONSchema$1[];
3717
3465
  }>;
3718
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>>;
3719
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;
3720
- //#endregion
3721
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/anyOf.d.ts
3722
3468
  type AnyOfSchema = JSONSchema$1 & Readonly<{
3723
3469
  anyOf: readonly JSONSchema$1[];
3724
3470
  }>;
3725
3471
  type ParseAnyOfSchema<ANY_OF_SCHEMA extends AnyOfSchema, OPTIONS extends ParseSchemaOptions> = $Union<RecurseOnAnyOfSchema<ANY_OF_SCHEMA["anyOf"], ANY_OF_SCHEMA, OPTIONS>>;
3726
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;
3727
- //#endregion
3728
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/const.d.ts
3729
3473
  type ConstSchema = JSONSchema$1 & Readonly<{
3730
3474
  const: unknown;
3731
3475
  }>;
3732
3476
  type ParseConstSchema<CONST_SCHEMA extends ConstSchema, OPTIONS extends ParseSchemaOptions> = $Intersect<ParseConst<CONST_SCHEMA>, ParseSchema<Omit<CONST_SCHEMA, "const">, OPTIONS>>;
3733
3477
  type ParseConst<CONST_SCHEMA extends ConstSchema> = Const<Writable<CONST_SCHEMA["const"]>>;
3734
- //#endregion
3735
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/deserialize.d.ts
3736
3478
  type DeserializeSchema<SCHEMA extends JSONSchema$1, OPTIONS extends Omit<ParseSchemaOptions, "deserialize"> & {
3737
3479
  deserialize: DeserializationPattern[];
3738
3480
  }> = RecurseOnDeserializationPatterns<SCHEMA, OPTIONS["deserialize"]>;
3739
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;
3740
- //#endregion
3741
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/enum.d.ts
3742
3482
  type EnumSchema = JSONSchema$1 & Readonly<{
3743
3483
  enum: readonly unknown[];
3744
3484
  }>;
3745
3485
  type ParseEnumSchema<ENUM_SCHEMA extends EnumSchema, OPTIONS extends ParseSchemaOptions> = $Intersect<ParseEnum<ENUM_SCHEMA>, ParseSchema<Omit<ENUM_SCHEMA, "enum">, OPTIONS>>;
3746
3486
  type ParseEnum<ENUM_SCHEMA extends EnumSchema> = Enum<Writable<ENUM_SCHEMA["enum"][number]>>;
3747
- //#endregion
3748
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/ifThenElse.d.ts
3749
3487
  type IfThenElseSchema = JSONSchema$1 & {
3750
3488
  if: JSONSchema$1;
3751
3489
  then?: JSONSchema$1;
@@ -3756,8 +3494,6 @@ type ParseIfThenElseSchema<IF_THEN_ELSE_SCHEMA extends IfThenElseSchema, OPTIONS
3756
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 {
3757
3495
  else: JSONSchema$1;
3758
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>>;
3759
- //#endregion
3760
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/multipleTypes.d.ts
3761
3497
  type MultipleTypesSchema = JSONSchema$1 & Readonly<{
3762
3498
  type: readonly JSONSchemaType[];
3763
3499
  }>;
@@ -3765,33 +3501,23 @@ type ParseMultipleTypesSchema<MULTI_TYPE_SCHEMA extends MultipleTypesSchema, OPT
3765
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"> & {
3766
3502
  type: TYPES_HEAD;
3767
3503
  }, OPTIONS>> : never : never : RESULT;
3768
- //#endregion
3769
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/not.d.ts
3770
3504
  type NotSchema = JSONSchema$1 & Readonly<{
3771
3505
  not: JSONSchema$1;
3772
3506
  }>;
3773
3507
  type AllTypes = Union<Primitive<null> | Primitive<boolean> | Primitive<number> | Primitive<string> | _Array | _Object<{}, never, Any>>;
3774
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;
3775
- //#endregion
3776
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/nullable.d.ts
3777
3509
  type NullableSchema = JSONSchema$1 & Readonly<{
3778
3510
  nullable: boolean;
3779
3511
  }>;
3780
3512
  type ParseNullableSchema<NULLABLE_SCHEMA extends NullableSchema, OPTIONS extends ParseSchemaOptions, PARSED_REST_SCHEMA = ParseSchema<Omit<NULLABLE_SCHEMA, "nullable">, OPTIONS>> = NULLABLE_SCHEMA extends Readonly<{
3781
3513
  nullable: true;
3782
3514
  }> ? $Union<Primitive<null> | PARSED_REST_SCHEMA> : PARSED_REST_SCHEMA;
3783
- //#endregion
3784
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/oneOf.d.ts
3785
3515
  type OneOfSchema = JSONSchema$1 & Readonly<{
3786
3516
  oneOf: readonly JSONSchema$1[];
3787
3517
  }>;
3788
3518
  type ParseOneOfSchema<ONE_OF_SCHEMA extends OneOfSchema, OPTIONS extends ParseSchemaOptions> = $Union<RecurseOnOneOfSchema<ONE_OF_SCHEMA["oneOf"], ONE_OF_SCHEMA, OPTIONS>>;
3789
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;
3790
- //#endregion
3791
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/utils.d.ts
3792
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>>;
3793
- //#endregion
3794
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/external.d.ts
3795
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 {
3796
3522
  rootSchema: IdSchema;
3797
3523
  } ? ParseExternalReferenceWithoutDirectorySchema<Omit<REF_SCHEMA, "$ref">, OPTIONS, EXTERNAL_REFERENCE_ID, SUB_PATH> : Never;
@@ -3802,17 +3528,11 @@ type IdSchema = JSONSchema$1 & {
3802
3528
  type ParseExternalReferenceWithoutDirectorySchema<SUB_SCHEMA extends JSONSchema$1, OPTIONS extends ParseSchemaOptions & {
3803
3529
  rootSchema: IdSchema;
3804
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;
3805
- //#endregion
3806
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/internal.d.ts
3807
3531
  type ParseInternalReferenceSchema<REFERENCING_SCHEMA extends ReferencingSchema, OPTIONS extends ParseSchemaOptions, PATH extends string> = ParseReference<Omit<REFERENCING_SCHEMA, "$ref">, OPTIONS, OPTIONS["rootSchema"], PATH>;
3808
- //#endregion
3809
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/index.d.ts
3810
3532
  type ReferencingSchema = JSONSchema$1 & {
3811
3533
  $ref: string;
3812
3534
  };
3813
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]>;
3814
- //#endregion
3815
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/array.d.ts
3816
3536
  type ArrayOrTupleSchema = JSONSchema$1 & Readonly<{
3817
3537
  type: "array";
3818
3538
  }>;
@@ -3856,8 +3576,6 @@ type ApplyAdditionalItems<APPLY_MIN_MAX_RESULT extends {
3856
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 {
3857
3577
  hasEncounteredMin: true;
3858
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>>;
3859
- //#endregion
3860
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/object.d.ts
3861
3579
  type ObjectSchema$1 = JSONSchema$1 & Readonly<{
3862
3580
  type: "object";
3863
3581
  }>;
@@ -3883,8 +3601,6 @@ type GetClosedOnResolve<OBJECT_SCHEMA extends ObjectSchema$1> = OBJECT_SCHEMA ex
3883
3601
  }> ? true : false;
3884
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]>;
3885
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]>;
3886
- //#endregion
3887
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/singleType.d.ts
3888
3604
  type SingleTypeSchema = JSONSchema$1 & Readonly<{
3889
3605
  type: JSONSchemaType;
3890
3606
  }>;
@@ -3899,8 +3615,6 @@ type ParseSingleTypeSchema<SINGLE_TYPE_SCHEMA extends SingleTypeSchema, OPTIONS
3899
3615
  }> ? Primitive<number> : SINGLE_TYPE_SCHEMA extends Readonly<{
3900
3616
  type: "string";
3901
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;
3902
- //#endregion
3903
- //#region node_modules/json-schema-to-ts/lib/types/parse-schema/index.d.ts
3904
3618
  type ParseSchemaOptions = {
3905
3619
  parseNotKeyword: boolean;
3906
3620
  parseIfThenElseKeywords: boolean;
@@ -3912,15 +3626,9 @@ type ParseSchemaOptions = {
3912
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 {
3913
3627
  deserialize: DeserializationPattern[];
3914
3628
  } ? $Intersect<DeserializeSchema<SCHEMA, OPTIONS>, RESULT> : RESULT;
3915
- //#endregion
3916
- //#region node_modules/json-schema-to-ts/lib/types/index.d.ts
3917
3629
  type FromSchema$1<SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOptions = FromSchemaDefaultOptions> = $Resolve<ParseSchema<SCHEMA, ParseOptions<SCHEMA, OPTIONS>>>;
3918
- //#endregion
3919
- //#region node_modules/@whatwg-node/promise-helpers/typings/index.d.cts
3920
3630
  type MaybePromise<T> = Promise<T> | T;
3921
3631
  type MaybePromiseLike<T> = PromiseLike<T> | T;
3922
- //#endregion
3923
- //#region node_modules/@whatwg-node/server/typings/utils.d.cts
3924
3632
  interface NodeRequest {
3925
3633
  protocol?: string | undefined;
3926
3634
  hostname?: string | undefined;
@@ -3937,8 +3645,6 @@ interface NodeRequest {
3937
3645
  aborted?: boolean | undefined;
3938
3646
  }
3939
3647
  type NodeResponse = ServerResponse | Http2ServerResponse;
3940
- //#endregion
3941
- //#region node_modules/@whatwg-node/server/typings/uwebsockets.d.cts
3942
3648
  interface UWSRequest {
3943
3649
  getMethod(): string;
3944
3650
  forEach(callback: (key: string, value: string) => void): void;
@@ -3958,8 +3664,6 @@ interface UWSResponse {
3958
3664
  cork(callback: () => void): void;
3959
3665
  }
3960
3666
  type UWSHandler = (res: UWSResponse, req: UWSRequest) => void | Promise<void>;
3961
- //#endregion
3962
- //#region node_modules/@whatwg-node/server/typings/types.d.cts
3963
3667
  interface FetchEvent extends Event {
3964
3668
  waitUntil(f: MaybePromise<void>): void;
3965
3669
  request: Request;
@@ -4051,11 +3755,7 @@ type ServerAdapterInitialContext = {
4051
3755
  */
4052
3756
  waitUntil: WaitUntilFn;
4053
3757
  };
4054
- //#endregion
4055
- //#region node_modules/fets/typings/types.d.ts
4056
3758
  type StatusCodeMap$1<T> = { [TKey in StatusCode$1]?: T; };
4057
- //#endregion
4058
- //#region node_modules/fets/typings/typed-fetch.d.ts
4059
3759
  type OkStatusCode$1 = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
4060
3760
  type RedirectStatusCode$1 = 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308;
4061
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;
@@ -4199,13 +3899,9 @@ interface TypedFormData$1<TMap extends Record<string, FormDataEntryValue | undef
4199
3899
  values(): IterableIterator<TMap[keyof TMap]>;
4200
3900
  [Symbol.iterator](): IterableIterator<[keyof TMap, TMap[keyof TMap]]>;
4201
3901
  }
4202
- //#endregion
4203
- //#region node_modules/fets/typings/client/clientResponse.d.cts
4204
3902
  type ClientTypedResponsePromise<TTypedResponse extends Response> = Promise<TTypedResponse> & {
4205
3903
  json(): Promise<TTypedResponse extends TypedResponse$1 ? JSONofResponse<TTypedResponse> : any>;
4206
3904
  };
4207
- //#endregion
4208
- //#region node_modules/fets/typings/typed-fetch.d.cts
4209
3905
  type OkStatusCode = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
4210
3906
  type RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308;
4211
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;
@@ -4356,11 +4052,7 @@ interface TypedFormData<TMap extends Record<string, FormDataEntryValue | undefin
4356
4052
  values(): IterableIterator<TMap[keyof TMap]>;
4357
4053
  [Symbol.iterator](): IterableIterator<[keyof TMap, TMap[keyof TMap]]>;
4358
4054
  }
4359
- //#endregion
4360
- //#region node_modules/fets/typings/client/types.d.cts
4361
4055
  type ClientRequestInit = Omit<RequestInit, 'body' | 'method' | 'headers'>;
4362
- //#endregion
4363
- //#region node_modules/fets/typings/types.d.cts
4364
4056
  type Simplify<T> = { [KeyType in keyof T]: Simplify<T[KeyType]>; } & {};
4365
4057
  type JSONSchema = Exclude<JSONSchema$1, boolean>;
4366
4058
  interface OpenAPIInfo {
@@ -4666,8 +4358,6 @@ type RouteWithTypesOpts<TServerContext, TMethod extends HTTPMethod, TPath extend
4666
4358
  handler: RouteHandler<TServerContext, TTypedRequest, TTypedResponse>;
4667
4359
  };
4668
4360
  type ExtractPathParamsWithPattern<TPath extends string> = Pipe<TPath, [Strings.Split<'/'>, Tuples.Filter<Strings.StartsWith<':'>>, Tuples.Map<Strings.Trim<':'>>, Tuples.ToUnion]>;
4669
- //#endregion
4670
- //#region lib/rumble.d.ts
4671
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> & {
4672
4362
  schema: Schema;
4673
4363
  }) => {
@@ -5252,8 +4942,142 @@ export declare const rumble: <UserContext extends Record<string, any>, DB extend
5252
4942
  */
5253
4943
  buildSchema: () => GraphQLSchema;
5254
4944
  };
5255
- //#endregion
5256
- //#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
+ }>>;
5257
5081
  /**
5258
5082
  * Validates an email address using graphql-scalars' own format check, then lowercases it, exactly
5259
5083
  * as the `EmailAddress` scalar does. Exported for values that do not arrive as GraphQL input,
@@ -5262,8 +5086,6 @@ export declare const rumble: <UserContext extends Record<string, any>, DB extend
5262
5086
  * @throws RumbleErrorSafe if the value is not a valid email address
5263
5087
  */
5264
5088
  export declare const normalizeEmailAddress: (value: unknown) => string;
5265
- //#endregion
5266
- //#region lib/scalars/personName.d.ts
5267
5089
  /**
5268
5090
  * Normalizes and validates a person's name, exactly as the `PersonName` scalar does. Exported
5269
5091
  * for values that do not arrive as GraphQL input, such as OIDC claims.
@@ -5271,8 +5093,6 @@ export declare const normalizeEmailAddress: (value: unknown) => string;
5271
5093
  * @throws RumbleErrorSafe if the value is not a valid name
5272
5094
  */
5273
5095
  export declare const normalizePersonName: (value: unknown) => string;
5274
- //#endregion
5275
- //#region lib/scalars/phoneNumber.d.ts
5276
5096
  /**
5277
5097
  * Parses and validates a phone number using libphonenumber-js (Google's phone number metadata),
5278
5098
  * which checks real per-country validity (length, area code plausibility, ...) rather than just
@@ -5282,8 +5102,6 @@ export declare const normalizePersonName: (value: unknown) => string;
5282
5102
  * @throws RumbleErrorSafe if the value is not a valid phone number
5283
5103
  */
5284
5104
  export declare const parsePhoneNumber: (value: unknown) => PhoneNumber;
5285
- //#endregion
5286
- //#region lib/types/rumbleError.d.ts
5287
5105
  /**
5288
5106
  * An error that gets raised by rumble whenever something does not go according to plan.
5289
5107
  * Mostly internals, configuration errors or other unexpected things.
@@ -5297,5 +5115,5 @@ export declare class RumbleError extends Error {
5297
5115
  * E.g. the assert helpers issue these.
5298
5116
  */
5299
5117
  export declare class RumbleErrorSafe extends GraphQLError {}
5300
- //#endregion
5118
+ export type { AddressCheck, AddressInputShape, AddressIssue, AddressShape, CountryAddressRules, NormalizedAddress, RegionAddressRules };
5301
5119
  //# sourceMappingURL=index.d.mts.map