@m1212e/rumble 0.23.24 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { createRequire } from "node:module";
1
2
  import { GraphQLError, GraphQLSchema } from "graphql";
2
3
  import { EnvelopArmorPlugin } from "@escape.tech/graphql-armor";
3
4
  import { Tracer } from "@opentelemetry/api";
@@ -11,9 +12,10 @@ import SchemaBuilder from "@pothos/core";
11
12
  import { IncomingMessage, RequestListener, ServerResponse } from "node:http";
12
13
  import { Http2ServerRequest, Http2ServerResponse } from "node:http2";
13
14
  import { Socket } from "node:net";
15
+ import "@whatwg-node/fetch";
14
16
  import { useSofa } from "@m1212e/sofa-api";
15
17
  import { ServerOptions } from "graphql-ws";
16
-
18
+ //#endregion
17
19
  //#region lib/helpers/asserts.d.ts
18
20
  /**
19
21
  *
@@ -34,7 +36,7 @@ import { ServerOptions } from "graphql-ws";
34
36
  db.query.users
35
37
  .findFirst({
36
38
  ...query,
37
- where: ctx.abilities.users.filter("read").single.where,
39
+ where: (await ctx.abilities.users.filter("read")).single.where,
38
40
  })
39
41
  // note that we need to manually raise an error if the value is not found
40
42
  .then(assertFindFirstExists)
@@ -45,7 +47,7 @@ import { ServerOptions } from "graphql-ws";
45
47
  });
46
48
  * ```
47
49
  */
48
- declare const assertFindFirstExists: <T>(value: T | undefined) => T;
50
+ export declare const assertFindFirstExists: <T>(value: T | undefined) => T;
49
51
  /**
50
52
  *
51
53
  * Helper function to map a drizzle findFirst query result,
@@ -73,7 +75,7 @@ declare const assertFindFirstExists: <T>(value: T | undefined) => T;
73
75
  .where(
74
76
  and(
75
77
  eq(schema.users.id, args.userId),
76
- ctx.abilities.users.filter("update").single.where
78
+ (await ctx.abilities.users.filter("update")).single.where
77
79
  )
78
80
  )
79
81
  .returning({ id: schema.users.id, name: schema.users.name })
@@ -85,7 +87,7 @@ declare const assertFindFirstExists: <T>(value: T | undefined) => T;
85
87
  });
86
88
  * ```
87
89
  */
88
- declare const assertFirstEntryExists: <T>(value: T[]) => T;
90
+ export declare const assertFirstEntryExists: <T>(value: T[]) => T;
89
91
  //#endregion
90
92
  //#region lib/helpers/mapNullFieldsToUndefined.d.ts
91
93
  /**
@@ -132,7 +134,7 @@ declare const assertFirstEntryExists: <T>(value: T[]) => T;
132
134
  return db.query.user
133
135
  .findFirst(
134
136
  query(
135
- ctx.abilities.user.filter('read').merge(
137
+ (await ctx.abilities.user.filter('read')).merge(
136
138
  {
137
139
  where: { id: user.id },
138
140
  }
@@ -146,7 +148,7 @@ declare const assertFirstEntryExists: <T>(value: T[]) => T;
146
148
  *
147
149
  * ```
148
150
  */
149
- declare function mapNullFieldsToUndefined<T extends object>(obj: T): { [K in keyof T]: T[K] extends null ? undefined : Exclude<T[K], null> };
151
+ export declare function mapNullFieldsToUndefined<T extends object>(obj: T): { [K in keyof T]: T[K] extends null ? undefined : Exclude<T[K], null>; };
150
152
  //#endregion
151
153
  //#region lib/types/drizzleInstanceType.d.ts
152
154
  type DrizzleInstance = PgAsyncDatabase<any, any> | SQLiteAsyncDatabase<any, any, any> | MySqlAsyncDatabase<any, any>;
@@ -159,7 +161,7 @@ type DrizzleQueryFunction<DB extends DrizzleInstance> = DB["query"];
159
161
  */
160
162
  type TableRelationNames<DB extends DrizzleInstance> = { [K in keyof DB["_"]["relations"]]: DB["_"]["relations"][K] extends {
161
163
  table: infer TTable;
162
- } ? TTable extends Table<any> ? K : never : never }[keyof DB["_"]["relations"]] & keyof DrizzleQueryFunction<DB>;
164
+ } ? TTable extends Table<any> ? K : never : never; }[keyof DB["_"]["relations"]] & keyof DrizzleQueryFunction<DB>;
163
165
  /**
164
166
  * Type representing the input parameters for the `findMany` method of a specific table in the Drizzle query function.
165
167
  */
@@ -190,10 +192,15 @@ type FilterPrefetchCombo<Context, FilteredEntityType, PrefetchReturnType = never
190
192
  * `PostalAddress`.
191
193
  */
192
194
  type AddressShape = {
193
- /** The street address, which may be multiple lines separated by newlines. */streetAddress?: string | null; /** City or town. */
194
- locality?: string | null; /** State, province, prefecture or region. */
195
- region?: string | null; /** Postal or zip code. */
196
- postalCode?: string | null; /** ISO 3166-1 alpha-2 country code. */
195
+ /** The street address, which may be multiple lines separated by newlines. */
196
+ streetAddress?: string | null;
197
+ /** City or town. */
198
+ locality?: string | null;
199
+ /** State, province, prefecture or region. */
200
+ region?: string | null;
201
+ /** Postal or zip code. */
202
+ postalCode?: string | null;
203
+ /** ISO 3166-1 alpha-2 country code. */
197
204
  countryCode?: string | null;
198
205
  };
199
206
  /**
@@ -363,9 +370,10 @@ type DateTimeWhereInputArgument = {
363
370
  OR?: DateTimeWhereInputArgument[];
364
371
  NOT?: DateTimeWhereInputArgument;
365
372
  };
366
- //#endregion
367
- //#region node_modules/hotscript/dist/internals/helpers.d.ts
368
- type Equal$1<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends b ? 1 : 2) ? true : false;
373
+ declare namespace helpers_d_exports {
374
+ 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 };
375
+ }
376
+ type Equal$2<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends b ? 1 : 2) ? true : false;
369
377
  /**
370
378
  * HACK:
371
379
  * Special function for never because `Equal<T, never>` doesn't
@@ -373,6 +381,10 @@ type Equal$1<a, b> = (<T>() => T extends a ? 1 : 2) extends (<T>() => T extends
373
381
  * probably a TS bug).
374
382
  */
375
383
  type IsNever$1<T> = [T] extends [never] ? true : false;
384
+ type Expect<a extends true> = a;
385
+ type Some<bools extends boolean[]> = true extends bools[number] ? true : false;
386
+ type Every<bools extends boolean[]> = bools[number] extends true ? true : false;
387
+ type Extends<a, b> = [a] extends [b] ? true : false;
376
388
  type Not$2<a extends boolean> = a extends true ? false : true;
377
389
  /**
378
390
  * trick to combine multiple unions of objects into a single object
@@ -381,7 +393,9 @@ type Not$2<a extends boolean> = a extends true ? false : true;
381
393
  * @returns Intersection of objects
382
394
  */
383
395
  type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
384
- type Prettify$1<T> = { [K in keyof T]: T[K] } | never;
396
+ type Prettify$1<T> = { [K in keyof T]: T[K]; } | never;
397
+ type RecursivePrettify<T> = IsArrayStrict<T> extends true ? RecursivePrettify<Extract<T, readonly any[]>[number]>[] : { [K in keyof T]: RecursivePrettify<T[K]>; };
398
+ type AnyTuple = readonly [any, ...any];
385
399
  declare namespace Iterator$1 {
386
400
  type Get<it extends readonly any[]> = it["length"];
387
401
  type Iterator<n extends number, it extends any[] = []> = it["length"] extends n ? it : Iterator$1<n, [any, ...it]>;
@@ -431,7 +445,7 @@ type Primitive$1 = string | number | boolean | bigint | null | undefined | symbo
431
445
  type Head$1<xs> = xs extends [infer first, ...any] ? first : never;
432
446
  //#endregion
433
447
  //#region node_modules/hotscript/dist/internals/core/impl/MergeArgs.d.ts
434
- 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;
448
+ 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;
435
449
  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];
436
450
  type EmptyIntoPlaceholder<x> = IsNever$1<x> extends true ? never : [x] extends [unset] ? _ : x;
437
451
  type MapEmptyIntoPlaceholder<xs, output extends any[] = []> = xs extends [infer first, ...infer rest] ? MapEmptyIntoPlaceholder<rest, [...output, EmptyIntoPlaceholder<first>]> : output;
@@ -464,7 +478,7 @@ type rawArgs = typeof rawArgs;
464
478
  */
465
479
  interface Fn {
466
480
  [rawArgs]: unknown;
467
- args: this[rawArgs] extends infer args extends unknown[] ? args : never;
481
+ args: this[rawArgs] extends (infer args extends unknown[]) ? args : never;
468
482
  arg0: this[rawArgs] extends [infer arg, ...any] ? arg : never;
469
483
  arg1: this[rawArgs] extends [any, infer arg, ...any] ? arg : never;
470
484
  arg2: this[rawArgs] extends [any, any, infer arg, ...any] ? arg : never;
@@ -482,7 +496,7 @@ type unset = typeof unset;
482
496
  */
483
497
  type _ = typeof _;
484
498
  interface args$1<Constraint extends unknown[] = unknown[]> extends Fn {
485
- return: this["args"] extends infer args extends Constraint ? args : never;
499
+ return: this["args"] extends (infer args extends Constraint) ? args : never;
486
500
  }
487
501
  /**
488
502
  * Call a HOTScript function with the given arguments.
@@ -573,7 +587,7 @@ type ComposeLeftImpl<fns extends Fn[], args extends any[]> = fns extends [infer
573
587
  * type T1 = Call<AppendTo123, 4>; // [1, 2, 3, 4]
574
588
  */
575
589
  interface PartialApply<fn extends Fn, partialArgs extends unknown[]> extends Fn {
576
- return: MergeArgs<this["args"], partialArgs> extends infer args extends unknown[] ? Apply<fn, args$1> : never;
590
+ return: MergeArgs<this["args"], partialArgs> extends (infer args extends unknown[]) ? Apply<fn, args$1> : never;
577
591
  }
578
592
  //#endregion
579
593
  //#region node_modules/hotscript/dist/internals/numbers/impl/absolute.d.ts
@@ -629,11 +643,11 @@ type CompareDigitNumbers<T extends DigitNumber, U extends DigitNumber> = Sign<T>
629
643
  * @param U - Second number
630
644
  * @returns 0 if T = U, 1 if T > U, -1 if T < U
631
645
  */
632
- 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>>>;
646
+ 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>>>;
633
647
  type LessThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 ? true : false;
634
648
  type GreaterThan$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 ? true : false;
635
- type Equal<T extends number | bigint, U extends number | bigint> = Equal$1<T, U>;
636
- type NotEqual<T extends number | bigint, U extends number | bigint> = Equal$1<T, U> extends true ? false : true;
649
+ type Equal$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U>;
650
+ type NotEqual$1<T extends number | bigint, U extends number | bigint> = Equal$2<T, U> extends true ? false : true;
637
651
  type LessThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends -1 | 0 ? true : false;
638
652
  type GreaterThanOrEqual$1<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? true : false;
639
653
  type Max<T extends number | bigint, U extends number | bigint> = Compare$1<T, U> extends 1 | 0 ? T : U;
@@ -733,6 +747,9 @@ type PowerDigits<T extends Digit[], U extends Digit[], Acc extends Digit[] = [1]
733
747
  type PowerSign<S extends "" | "-", U extends DigitNumber> = S extends "-" ? Num<U> extends [...Digit[], 0 | 2 | 4 | 6 | 8] ? "" : "-" : "";
734
748
  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>>>;
735
749
  type Power<T extends number | bigint, U extends number | bigint> = ToNumber<FromDigitNumber<Normalize<PowerDigitNumbers<ToDigitNumber<ToString<T>>, ToDigitNumber<ToString<U>>>>>>;
750
+ declare namespace numbers_d_exports {
751
+ 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 };
752
+ }
736
753
  //#endregion
737
754
  //#region node_modules/hotscript/dist/internals/numbers/Numbers.d.ts
738
755
  declare namespace Numbers {
@@ -920,7 +937,7 @@ declare namespace Numbers {
920
937
  */
921
938
  export type Equal<n1 extends number | bigint | _ | unset = unset, n2 extends number | bigint | _ | unset = unset> = PartialApply<EqualFn, n2 extends unset ? [unset, n1] : [n1, n2]>;
922
939
  interface EqualFn extends Fn {
923
- return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? Equal<a, b> : never;
940
+ return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? Equal$1<a, b> : never;
924
941
  }
925
942
  /**
926
943
  * Check if two numbers are not equal
@@ -936,7 +953,7 @@ declare namespace Numbers {
936
953
  */
937
954
  export type NotEqual<n1 extends number | bigint | _ | unset = unset, n2 extends number | bigint | _ | unset = unset> = PartialApply<NotEqualFn, n2 extends unset ? [unset, n1] : [n1, n2]>;
938
955
  interface NotEqualFn extends Fn {
939
- return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? NotEqual<a, b> : never;
956
+ return: this["args"] extends [infer a extends number | bigint, infer b extends number | bigint, ...any] ? NotEqual$1<a, b> : never;
940
957
  }
941
958
  /**
942
959
  * Check if a number is less than another
@@ -1154,7 +1171,7 @@ declare namespace Tuples {
1154
1171
  */
1155
1172
  export type Map<fn extends Fn | unset | _ = unset, tuple extends readonly any[] | unset = unset> = PartialApply<MapFn, [fn, tuple]>;
1156
1173
  interface MapFn extends Fn {
1157
- return: this["args"] extends [infer fn extends Fn, infer tuple extends unknown[]] ? { [key in keyof tuple]: Call<fn, tuple[key]> } : never;
1174
+ return: this["args"] extends [infer fn extends Fn, infer tuple extends unknown[]] ? { [key in keyof tuple]: Call<fn, tuple[key]>; } : never;
1158
1175
  }
1159
1176
  interface FlatMapReducer<fn extends Fn> extends Fn {
1160
1177
  return: this["args"] extends [infer acc extends any[], infer item] ? [...acc, ...Extract<Call<fn, item>, readonly any[]>] : never;
@@ -1470,7 +1487,7 @@ declare namespace Tuples {
1470
1487
  return: this["args"] extends [infer Index extends number, ...any] ? Apply<fn, Call<Tuples.Map<Tuples.At<Index>, arrs>>> : never;
1471
1488
  }
1472
1489
  interface ZipWithFn<fn extends Fn> extends Fn {
1473
- return: this["args"] extends infer arrays extends unknown[][] ? Pipe<arrays, [Tuples.Map<Objects.Get<"length">>, Tuples.Min, Numbers.Abs, Numbers.Sub<_, 1>, Tuples.Range<0, _>, Tuples.Map<ZipWithMapper<fn, arrays>>]> : never;
1490
+ return: this["args"] extends (infer arrays extends unknown[][]) ? Pipe<arrays, [Tuples.Map<Objects.Get<"length">>, Tuples.Min, Numbers.Abs, Numbers.Sub<_, 1>, Tuples.Range<0, _>, Tuples.Map<ZipWithMapper<fn, arrays>>]> : never;
1474
1491
  }
1475
1492
  /**
1476
1493
  * Zip two tuples together.
@@ -1525,7 +1542,7 @@ declare namespace Tuples {
1525
1542
  export interface GroupBy<fn extends Fn> extends Fn {
1526
1543
  return: GroupByImpl<this["arg0"], fn>;
1527
1544
  }
1528
- type GroupByImplRec<xs, fn extends Fn, acc = {}> = xs extends [infer first, ...infer rest] ? Call<fn, first> extends infer key extends PropertyKey ? GroupByImplRec<rest, fn, Std._Omit<acc, key> & { [K in key]: [...(key extends keyof acc ? Extract<acc[key], readonly any[]> : []), first] }> : never : acc;
1545
+ type GroupByImplRec<xs, fn extends Fn, acc = {}> = xs extends [infer first, ...infer rest] ? Call<fn, first> extends (infer key extends PropertyKey) ? GroupByImplRec<rest, fn, Std._Omit<acc, key> & { [K in key]: [...(key extends keyof acc ? Extract<acc[key], readonly any[]> : []), first]; }> : never : acc;
1529
1546
  export type GroupByImpl<xs, fn extends Fn> = Prettify$1<GroupByImplRec<xs, fn>>;
1530
1547
  /**
1531
1548
  * Range takes a `start` and an `end` integer and produces
@@ -1543,7 +1560,7 @@ declare namespace Tuples {
1543
1560
  */
1544
1561
  export type Range<start extends number | _ | unset = unset, end extends number | _ | unset = unset> = PartialApply<RangeFn, [start, end]>;
1545
1562
  interface RangeFn extends Fn {
1546
- return: this["args"] extends [infer start extends number, infer end extends number] ? Call<Numbers.LessThanOrEqual, start, end> extends true ? Pipe<start, [Numbers.Sub<end, _>, Numbers.Add<1>, Numbers.Abs]> extends infer length extends number ? RangeImpl<start, length> : never : never : never;
1563
+ return: this["args"] extends [infer start extends number, infer end extends number] ? Call<Numbers.LessThanOrEqual, start, end> extends true ? Pipe<start, [Numbers.Sub<end, _>, Numbers.Add<1>, Numbers.Abs]> extends (infer length extends number) ? RangeImpl<start, length> : never : never : never;
1547
1564
  }
1548
1565
  type RangeImpl<start extends number, length extends number, output extends any[] = []> = output["length"] extends length ? output : RangeImpl<start, length, [...output, Call<Numbers.Add<start, output["length"]>>]>;
1549
1566
  /**
@@ -1873,9 +1890,11 @@ type ascii = {
1873
1890
  };
1874
1891
  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;
1875
1892
  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;
1876
- type Compare<T extends string, U extends string> = Equal$1<T, U> extends true ? 0 : CharactersCompare<StringToTuple<T>, StringToTuple<U>>;
1893
+ type Compare<T extends string, U extends string> = Equal$2<T, U> extends true ? 0 : CharactersCompare<StringToTuple<T>, StringToTuple<U>>;
1877
1894
  type LessThan<T extends string, U extends string> = Compare<T, U> extends -1 ? true : false;
1878
1895
  type LessThanOrEqual<T extends string, U extends string> = Compare<T, U> extends 1 ? false : true;
1896
+ type Equal<T extends string, U extends string> = Equal$2<T, U>;
1897
+ type NotEqual<T extends string, U extends string> = Equal$2<T, U> extends true ? false : true;
1879
1898
  type GreaterThan<T extends string, U extends string> = Compare<T, U> extends 1 ? true : false;
1880
1899
  type GreaterThanOrEqual<T extends string, U extends string> = Compare<T, U> extends -1 ? false : true;
1881
1900
  //#endregion
@@ -1954,9 +1973,12 @@ declare namespace StringIterator {
1954
1973
  }
1955
1974
  //#endregion
1956
1975
  //#region node_modules/hotscript/dist/internals/strings/impl/length.d.ts
1957
- 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;
1976
+ 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;
1958
1977
  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;
1959
1978
  type Length<T extends string> = T extends "" ? 0 : LengthUp<T>;
1979
+ declare namespace strings_d_exports {
1980
+ export { Compare, Equal, GreaterThan, GreaterThanOrEqual, Length, LessThan, LessThanOrEqual, NotEqual, Repeat, Replace, ReplaceReducer, Split$1 as Split, StringToTuple, Trim, TrimLeft, TrimRight };
1981
+ }
1960
1982
  //#endregion
1961
1983
  //#region node_modules/hotscript/dist/internals/strings/Strings.d.ts
1962
1984
  declare namespace Strings {
@@ -2357,22 +2379,23 @@ declare namespace Strings {
2357
2379
  }
2358
2380
  export {};
2359
2381
  }
2360
- //#endregion
2361
- //#region node_modules/hotscript/dist/internals/objects/impl/objects.d.ts
2362
- 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;
2363
- type Values<src> = Keys<src> extends infer keys extends keyof src ? src[keys] : never;
2364
- type FromEntries<entries extends [PropertyKey, any]> = { [entry in entries as entry[0]]: entry[1] } | never;
2365
- type Entries<T> = Keys<T> extends infer keys extends keyof T ? { [K in keys]: [K, T[K]] }[keys] : never;
2382
+ declare namespace objects_d_exports {
2383
+ export { AllPaths, Assign, Create, Entries, FromEntries, GetFromPath, Keys, TransformObjectDeep, Update, Values };
2384
+ }
2385
+ 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;
2386
+ type Values<src> = Keys<src> extends (infer keys extends keyof src) ? src[keys] : never;
2387
+ type FromEntries<entries extends [PropertyKey, any]> = { [entry in entries as entry[0]]: entry[1]; } | never;
2388
+ type Entries<T> = Keys<T> extends (infer keys extends keyof T) ? { [K in keys]: [K, T[K]]; }[keys] : never;
2366
2389
  type Assign<xs extends readonly any[]> = Prettify$1<UnionToIntersection<xs[number]>>;
2367
2390
  type GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;
2368
2391
  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])];
2369
2392
  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;
2370
- 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>;
2393
+ 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>;
2371
2394
  type Update<obj, path, fnOrValue> = RecursiveUpdate<obj, ParsePath<path>, fnOrValue>;
2372
- 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;
2373
- 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;
2395
+ 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;
2396
+ 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;
2374
2397
  type JoinPath<A extends string, B extends string, Sep extends string = ""> = [A] extends [never] ? B : [B] extends [never] ? A : `${A}${Sep}${B}`;
2375
- 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;
2398
+ 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;
2376
2399
  //#endregion
2377
2400
  //#region node_modules/hotscript/dist/internals/objects/Objects.d.ts
2378
2401
  declare namespace Objects {
@@ -2400,7 +2423,7 @@ declare namespace Objects {
2400
2423
  export interface Entries extends Fn {
2401
2424
  return: Entries<this["arg0"]>;
2402
2425
  }
2403
- type MapValuesImpl<T, fn extends Fn> = { [K in keyof T]: Call<fn, T[K], K> };
2426
+ type MapValuesImpl<T, fn extends Fn> = { [K in keyof T]: Call<fn, T[K], K>; };
2404
2427
  /**
2405
2428
  * Map over values in an object type.
2406
2429
  * @param fn - The function to run on every object value
@@ -2417,7 +2440,7 @@ declare namespace Objects {
2417
2440
  export interface MapValues<fn extends Fn> extends Fn {
2418
2441
  return: MapValuesImpl<this["arg0"], fn>;
2419
2442
  }
2420
- type MapKeysImpl<T, fn extends Fn> = { [K in keyof T as Extract<Call<fn, K>, PropertyKey>]: T[K] };
2443
+ type MapKeysImpl<T, fn extends Fn> = { [K in keyof T as Extract<Call<fn, K>, PropertyKey>]: T[K]; };
2421
2444
  /**
2422
2445
  * Map over keys in an object type.
2423
2446
  * @param fn - The function to run on every object key
@@ -2479,7 +2502,7 @@ declare namespace Objects {
2479
2502
  export interface CamelCase extends Fn {
2480
2503
  return: Call<MapKeys<Strings.CamelCase>, this["arg0"]>;
2481
2504
  }
2482
- type MapKeysDeepImpl<T, fn extends Fn> = IsArrayStrict<T> extends true ? MapKeysDeepImpl<Extract<T, readonly any[]>[number], fn>[] : T extends object ? { [K in keyof T as Extract<Call<fn, K>, PropertyKey>]: Prettify$1<MapKeysDeepImpl<T[K], fn>> } : T;
2505
+ type MapKeysDeepImpl<T, fn extends Fn> = IsArrayStrict<T> extends true ? MapKeysDeepImpl<Extract<T, readonly any[]>[number], fn>[] : T extends object ? { [K in keyof T as Extract<Call<fn, K>, PropertyKey>]: Prettify$1<MapKeysDeepImpl<T[K], fn>>; } : T;
2483
2506
  /**
2484
2507
  * Recursively transform all keys in a structure of object types
2485
2508
  * @param fn - The function to apply to every key
@@ -2562,7 +2585,7 @@ declare namespace Objects {
2562
2585
  interface PickFn extends Fn {
2563
2586
  return: PickImpl<this["arg1"], this["arg0"]>;
2564
2587
  }
2565
- type PickImpl<obj, keys> = { [key in Extract<keyof obj, keys>]: obj[key] };
2588
+ type PickImpl<obj, keys> = { [key in Extract<keyof obj, keys>]: obj[key]; };
2566
2589
  /**
2567
2590
  * Only keep keys of an object if they aren't
2568
2591
  * assignable to some type.
@@ -2581,7 +2604,7 @@ declare namespace Objects {
2581
2604
  interface OmitFn extends Fn {
2582
2605
  return: OmitImpl<this["arg1"], this["arg0"]>;
2583
2606
  }
2584
- type OmitImpl<obj, keys> = { [key in Exclude<keyof obj, keys>]: obj[key] };
2607
+ type OmitImpl<obj, keys> = { [key in Exclude<keyof obj, keys>]: obj[key]; };
2585
2608
  /**
2586
2609
  * Only keep keys of an object if the predicate function
2587
2610
  * returns true
@@ -2691,7 +2714,7 @@ declare namespace Objects {
2691
2714
  */
2692
2715
  export type Mutable<obj = unset> = PartialApply<MutableFn, [obj]>;
2693
2716
  interface MutableFn extends Fn {
2694
- return: this["args"] extends [infer obj, ...any] ? { -readonly [key in keyof obj]: obj[key] } : never;
2717
+ return: this["args"] extends [infer obj, ...any] ? { -readonly [key in keyof obj]: obj[key]; } : never;
2695
2718
  }
2696
2719
  /**
2697
2720
  * Makes all levels of an object optional
@@ -2902,7 +2925,7 @@ declare type IntersectUnion$1<UNION> = (UNION extends unknown ? (arg: UNION) =>
2902
2925
  declare type IsNever<TYPE> = [TYPE] extends [never] ? true : false;
2903
2926
  //#endregion
2904
2927
  //#region node_modules/ts-algebra/lib/utils/merge.d.ts
2905
- 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;
2928
+ 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;
2906
2929
  //#endregion
2907
2930
  //#region node_modules/ts-algebra/lib/utils/not.d.ts
2908
2931
  declare type Not$1<BOOL extends boolean> = BOOL extends false ? true : BOOL extends true ? false : never;
@@ -2911,7 +2934,7 @@ declare type Not$1<BOOL extends boolean> = BOOL extends false ? true : BOOL exte
2911
2934
  declare type Or<BOOL_A extends boolean, BOOL_B extends boolean> = BOOL_A extends true ? true : BOOL_B extends true ? true : false;
2912
2935
  //#endregion
2913
2936
  //#region node_modules/ts-algebra/lib/utils/prettify.d.ts
2914
- declare type Prettify<TYPE> = IsObject<TYPE> extends true ? { [KEY in keyof TYPE]: KEY extends keyof TYPE ? TYPE[KEY] : never } : TYPE;
2937
+ declare type Prettify<TYPE> = IsObject<TYPE> extends true ? { [KEY in keyof TYPE]: KEY extends keyof TYPE ? TYPE[KEY] : never; } : TYPE;
2915
2938
  //#endregion
2916
2939
  //#region node_modules/ts-algebra/lib/utils/tail.d.ts
2917
2940
  declare type Tail$2<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer TAIL] ? TAIL : ARRAY;
@@ -2971,7 +2994,7 @@ declare type ResolveEnum<META_ENUM extends EnumType, OPTIONS extends ResolveOpti
2971
2994
  //#region node_modules/ts-algebra/lib/meta-types/object.d.ts
2972
2995
  declare type ObjectTypeId = "object";
2973
2996
  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>;
2974
- 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 : {
2997
+ 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 : {
2975
2998
  type: ObjectTypeId;
2976
2999
  values: VALUES;
2977
3000
  required: REQUIRED_KEYS;
@@ -3002,7 +3025,7 @@ declare type ResolveObject<META_OBJECT extends ObjectType, OPTIONS extends Resol
3002
3025
  [KEY: string]: Resolve<ObjectOpenProps<META_OBJECT>, OPTIONS>;
3003
3026
  }, {
3004
3027
  [KEY: string]: Resolve<Any, OPTIONS>;
3005
- }>, {}>, 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> }>>>;
3028
+ }>, {}>, 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>; }>>>;
3006
3029
  //#endregion
3007
3030
  //#region node_modules/ts-algebra/lib/meta-types/primitive.d.ts
3008
3031
  declare type PrimitiveTypeId = "primitive";
@@ -3061,11 +3084,11 @@ declare type UnionType = {
3061
3084
  };
3062
3085
  declare type UnionValues<META_UNION extends UnionType> = META_UNION["values"];
3063
3086
  declare type ResolveUnion<META_UNION extends UnionType, OPTIONS extends ResolveOptions> = RecurseOnUnion<UnionValues<META_UNION>, OPTIONS>;
3064
- declare type RecurseOnUnion<VALUES extends Type, OPTIONS extends ResolveOptions> = VALUES extends infer META_TYPE ? $Resolve<META_TYPE, OPTIONS> : never;
3087
+ declare type RecurseOnUnion<VALUES extends Type, OPTIONS extends ResolveOptions> = VALUES extends (infer META_TYPE) ? $Resolve<META_TYPE, OPTIONS> : never;
3065
3088
  //#endregion
3066
3089
  //#region node_modules/ts-algebra/lib/meta-types/type.d.ts
3067
3090
  declare type Type = NeverType | AnyType | ConstType | EnumType | PrimitiveType | ArrayType | TupleType | ObjectType | UnionType;
3068
- declare type SerializableType = Type extends infer META_TYPE ? META_TYPE extends {
3091
+ declare type SerializableType = Type extends (infer META_TYPE) ? META_TYPE extends {
3069
3092
  isSerialized: boolean;
3070
3093
  deserialized: unknown;
3071
3094
  } ? META_TYPE : never : never;
@@ -3114,7 +3137,7 @@ declare type ResolveAny<META_ANY extends AnyType, OPTIONS extends ResolveOptions
3114
3137
  //#endregion
3115
3138
  //#region node_modules/ts-algebra/lib/meta-types/intersection/union.d.ts
3116
3139
  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;
3117
- declare type DistributeIntersection<META_UNION extends UnionType, META_TYPE> = $Union<UnionValues<META_UNION> extends infer UNION_VALUE ? $Intersect<UNION_VALUE, META_TYPE> : never>;
3140
+ declare type DistributeIntersection<META_UNION extends UnionType, META_TYPE> = $Union<UnionValues<META_UNION> extends (infer UNION_VALUE) ? $Intersect<UNION_VALUE, META_TYPE> : never>;
3118
3141
  //#endregion
3119
3142
  //#region node_modules/ts-algebra/lib/meta-types/intersection/utils.d.ts
3120
3143
  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>>;
@@ -3132,14 +3155,14 @@ declare type IntersectConstToArray<META_CONST extends ConstType, META_ARRAY exte
3132
3155
  declare type IntersectConstToTuple<META_CONST extends ConstType, META_TUPLE extends TupleType> = CheckExtendsResolved<META_CONST, META_TUPLE>;
3133
3156
  declare type IntersectConstToObject<META_CONST extends ConstType, META_OBJECT extends ObjectType> = If<IsObject<ConstValue<META_CONST>>, IntersectObjectConstToObject<META_CONST, META_OBJECT>, Never>;
3134
3157
  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>;
3135
- 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 };
3136
- declare type NeverKeys<META_OBJECT> = { [KEY in keyof META_OBJECT]: META_OBJECT[KEY] extends Never ? KEY : never }[keyof META_OBJECT];
3158
+ 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; };
3159
+ declare type NeverKeys<META_OBJECT> = { [KEY in keyof META_OBJECT]: META_OBJECT[KEY] extends Never ? KEY : never; }[keyof META_OBJECT];
3137
3160
  //#endregion
3138
3161
  //#region node_modules/ts-algebra/lib/meta-types/intersection/enum.d.ts
3139
3162
  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>>;
3140
3163
  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;
3141
3164
  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>;
3142
- declare type FilterEnumValues<ENUM_VALUES, SERIALIZABLE_META_TYPE> = ENUM_VALUES extends infer ENUM_VALUE ? $Intersect<Const<ENUM_VALUE>, SERIALIZABLE_META_TYPE> extends Never ? never : ENUM_VALUE : never;
3165
+ declare type FilterEnumValues<ENUM_VALUES, SERIALIZABLE_META_TYPE> = ENUM_VALUES extends (infer ENUM_VALUE) ? $Intersect<Const<ENUM_VALUE>, SERIALIZABLE_META_TYPE> extends Never ? never : ENUM_VALUE : never;
3143
3166
  declare type IntersectEnumToPrimitive<META_ENUM extends EnumType, META_PRIMITIVE extends PrimitiveType> = FilterEnum<META_ENUM, META_PRIMITIVE>;
3144
3167
  declare type IntersectEnumToArray<META_ENUM extends EnumType, META_ARRAY extends ArrayType> = FilterEnum<META_ENUM, META_ARRAY>;
3145
3168
  declare type IntersectEnumToTuple<META_ENUM extends EnumType, META_TUPLE extends TupleType> = FilterEnum<META_ENUM, META_TUPLE>;
@@ -3164,8 +3187,8 @@ declare type IntersectArrays<META_ARRAY_A extends ArrayType, META_ARRAY_B extend
3164
3187
  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>;
3165
3188
  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>>;
3166
3189
  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;
3167
- 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>;
3168
- 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>> };
3190
+ 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>;
3191
+ 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>>; };
3169
3192
  //#endregion
3170
3193
  //#region node_modules/ts-algebra/lib/meta-types/intersection/primitive.d.ts
3171
3194
  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>>;
@@ -3179,7 +3202,7 @@ declare type Intersect<META_TYPE_A extends Type, META_TYPE_B extends Type> = $In
3179
3202
  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;
3180
3203
  //#endregion
3181
3204
  //#region node_modules/ts-algebra/lib/meta-types/exclusion/union.d.ts
3182
- 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>;
3205
+ 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>;
3183
3206
  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>>;
3184
3207
  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>>>>;
3185
3208
  //#endregion
@@ -3197,13 +3220,13 @@ declare type CheckNotExtendsResolved<META_CONST extends ConstType, META_TYPE ext
3197
3220
  }> ? Never : META_CONST;
3198
3221
  declare type ExcludeObject<META_CONST extends ConstType, META_OBJECT extends ObjectType> = If<IsObject<ConstValue<META_CONST>>, ObjectRequiredKeys<META_OBJECT> extends keyof ConstValue<META_CONST> ? ExcludeObjectFromConst<META_CONST, META_OBJECT> : META_CONST, META_CONST>;
3199
3222
  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>;
3200
- 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]> };
3201
- declare type RepresentableKeys$1<VALUES> = { [KEY in keyof VALUES]: VALUES[KEY] extends Never ? never : KEY }[keyof VALUES];
3223
+ 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]>; };
3224
+ declare type RepresentableKeys$1<VALUES> = { [KEY in keyof VALUES]: VALUES[KEY] extends Never ? never : KEY; }[keyof VALUES];
3202
3225
  //#endregion
3203
3226
  //#region node_modules/ts-algebra/lib/meta-types/exclusion/enum.d.ts
3204
3227
  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;
3205
3228
  declare type FilterEnumExcluded<META_ENUM extends EnumType, META_TYPE extends Type> = Enum<FilterEnumExcludedValues<EnumValues<META_ENUM>, META_TYPE>>;
3206
- 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;
3229
+ 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;
3207
3230
  declare type ExcludeEnum<META_TYPE extends Type, ENUM_TYPE extends EnumType, ENUM_VALUES = EnumValues<ENUM_TYPE>> = ExcludeEnumValue<META_TYPE, UnionLast<ENUM_VALUES>, ENUM_VALUES>;
3208
3231
  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>>>>;
3209
3232
  //#endregion
@@ -3242,18 +3265,18 @@ declare type ExcludeObjects<META_OBJECT_A extends ObjectType, META_OBJECT_B exte
3242
3265
  onlyOne: PropagateExclusions$1<META_OBJECT_A, VALUE_EXCLUSION_RESULTS>;
3243
3266
  none: OmitOmittableKeys<META_OBJECT_A, VALUE_EXCLUSION_RESULTS>;
3244
3267
  }[And$1<IsObjectOpen<META_OBJECT_A>, Not$1<DoesExtend$1<OPEN_PROPS_EXCLUSION, NeverType>>> extends true ? "moreThanTwo" : GetUnionLength<REPRESENTABLE_KEYS>] : META_OBJECT_A;
3245
- declare type ExcludeObjectValues<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType> = { [KEY in Extract<keyof ObjectValues<META_OBJECT_A> | keyof ObjectValues<META_OBJECT_B> | ObjectRequiredKeys<META_OBJECT_A> | ObjectRequiredKeys<META_OBJECT_B>, string>]: ValueExclusionResult<ObjectValue<META_OBJECT_A, KEY>, IsAllowedIn<META_OBJECT_A, KEY>, IsRequiredIn<META_OBJECT_A, KEY>, ObjectValue<META_OBJECT_B, KEY>, IsAllowedIn<META_OBJECT_B, KEY>, IsRequiredIn<META_OBJECT_B, KEY>> };
3268
+ declare type ExcludeObjectValues<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType> = { [KEY in Extract<keyof ObjectValues<META_OBJECT_A> | keyof ObjectValues<META_OBJECT_B> | ObjectRequiredKeys<META_OBJECT_A> | ObjectRequiredKeys<META_OBJECT_B>, string>]: ValueExclusionResult<ObjectValue<META_OBJECT_A, KEY>, IsAllowedIn<META_OBJECT_A, KEY>, IsRequiredIn<META_OBJECT_A, KEY>, ObjectValue<META_OBJECT_B, KEY>, IsAllowedIn<META_OBJECT_B, KEY>, IsRequiredIn<META_OBJECT_B, KEY>>; };
3246
3269
  declare type GetUnionLength<UNION> = If<IsNever<UNION>, "none", If<IsNever<UnionPop<UNION>>, "onlyOne", "moreThanTwo">>;
3247
3270
  declare type IsAllowedIn<META_OBJECT extends ObjectType, KEY extends string> = Or<DoesExtend$1<KEY, keyof ObjectValues<META_OBJECT>>, IsObjectOpen<META_OBJECT>>;
3248
3271
  declare type IsRequiredIn<META_OBJECT extends ObjectType, KEY extends string> = DoesExtend$1<KEY, ObjectRequiredKeys<META_OBJECT>>;
3249
3272
  declare type DoesObjectSizesMatch<META_OBJECT_A extends ObjectType, META_OBJECT_B extends ObjectType, VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = If<And$1<IsObjectOpen<META_OBJECT_A>, Not$1<IsObjectOpen<META_OBJECT_B>>>, false, And$1<IsExcludedSmallEnough$1<VALUE_EXCLUSION_RESULTS>, IsExcludedBigEnough$1<VALUE_EXCLUSION_RESULTS>>>;
3250
- declare type IsExcludedSmallEnough$1<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = Not$1<DoesExtend$1<true, { [KEY in keyof VALUE_EXCLUSION_RESULTS]: IsOutsideOfSourceScope<VALUE_EXCLUSION_RESULTS[KEY]> }[keyof VALUE_EXCLUSION_RESULTS]>>;
3251
- declare type IsExcludedBigEnough$1<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = Not$1<DoesExtend$1<true, { [KEY in keyof VALUE_EXCLUSION_RESULTS]: IsOutsideOfExcludedScope<VALUE_EXCLUSION_RESULTS[KEY]> }[keyof VALUE_EXCLUSION_RESULTS]>>;
3252
- declare type RepresentableKeys<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = { [KEY in Extract<keyof VALUE_EXCLUSION_RESULTS, string>]: ExclusionResult<VALUE_EXCLUSION_RESULTS[KEY]> extends NeverType ? never : KEY }[Extract<keyof VALUE_EXCLUSION_RESULTS, string>];
3253
- declare type PropagateExclusions$1<META_OBJECT extends ObjectType, VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = _Object<{ [KEY in keyof VALUE_EXCLUSION_RESULTS]: PropagateExclusion<VALUE_EXCLUSION_RESULTS[KEY]> }, ObjectRequiredKeys<META_OBJECT>, ObjectOpenProps<META_OBJECT>, IsObjectClosedOnResolve<META_OBJECT>, IsSerialized<META_OBJECT>, Deserialized<META_OBJECT>>;
3254
- 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;
3255
- 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>];
3256
- 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>;
3273
+ declare type IsExcludedSmallEnough$1<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = Not$1<DoesExtend$1<true, { [KEY in keyof VALUE_EXCLUSION_RESULTS]: IsOutsideOfSourceScope<VALUE_EXCLUSION_RESULTS[KEY]>; }[keyof VALUE_EXCLUSION_RESULTS]>>;
3274
+ declare type IsExcludedBigEnough$1<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = Not$1<DoesExtend$1<true, { [KEY in keyof VALUE_EXCLUSION_RESULTS]: IsOutsideOfExcludedScope<VALUE_EXCLUSION_RESULTS[KEY]>; }[keyof VALUE_EXCLUSION_RESULTS]>>;
3275
+ declare type RepresentableKeys<VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = { [KEY in Extract<keyof VALUE_EXCLUSION_RESULTS, string>]: ExclusionResult<VALUE_EXCLUSION_RESULTS[KEY]> extends NeverType ? never : KEY; }[Extract<keyof VALUE_EXCLUSION_RESULTS, string>];
3276
+ declare type PropagateExclusions$1<META_OBJECT extends ObjectType, VALUE_EXCLUSION_RESULTS extends Record<string, ValueExclusionResultType>> = _Object<{ [KEY in keyof VALUE_EXCLUSION_RESULTS]: PropagateExclusion<VALUE_EXCLUSION_RESULTS[KEY]>; }, ObjectRequiredKeys<META_OBJECT>, ObjectOpenProps<META_OBJECT>, IsObjectClosedOnResolve<META_OBJECT>, IsSerialized<META_OBJECT>, Deserialized<META_OBJECT>>;
3277
+ 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;
3278
+ 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>];
3279
+ 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>;
3257
3280
  //#endregion
3258
3281
  //#region node_modules/ts-algebra/lib/meta-types/exclusion/primitive.d.ts
3259
3282
  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;
@@ -3282,6 +3305,9 @@ declare type ExtractConstValues<CONST_VALUES extends unknown[], RESULT extends u
3282
3305
  //#region node_modules/ts-algebra/lib/meta-types/exclusion/index.d.ts
3283
3306
  declare type _Exclude<META_TYPE_A extends Type, META_TYPE_B extends Type> = _$Exclude<META_TYPE_A, META_TYPE_B>;
3284
3307
  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;
3308
+ declare namespace index_d_exports {
3309
+ 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 };
3310
+ }
3285
3311
  //#endregion
3286
3312
  //#region node_modules/json-schema-to-ts/lib/types/definitions/deserializationPattern.d.ts
3287
3313
  type DeserializationPattern = Readonly<{
@@ -3365,7 +3391,7 @@ type FromSchemaDefaultOptions = {
3365
3391
  };
3366
3392
  //#endregion
3367
3393
  //#region node_modules/json-schema-to-ts/lib/types/parse-options.d.ts
3368
- type IndexReferencesById<SCHEMA_REFERENCES extends readonly JSONSchemaReference[]> = { [REF_SCHEMA in SCHEMA_REFERENCES[number] as REF_SCHEMA["$id"]]: REF_SCHEMA };
3394
+ type IndexReferencesById<SCHEMA_REFERENCES extends readonly JSONSchemaReference[]> = { [REF_SCHEMA in SCHEMA_REFERENCES[number] as REF_SCHEMA["$id"]]: REF_SCHEMA; };
3369
3395
  type ParseOptions<ROOT_SCHEMA extends JSONSchema$1, OPTIONS extends FromSchemaOptions> = {
3370
3396
  parseNotKeyword: OPTIONS["parseNotKeyword"] extends boolean ? OPTIONS["parseNotKeyword"] : FromSchemaDefaultOptions["parseNotKeyword"];
3371
3397
  parseIfThenElseKeywords: OPTIONS["parseIfThenElseKeywords"] extends boolean ? OPTIONS["parseIfThenElseKeywords"] : FromSchemaDefaultOptions["parseIfThenElseKeywords"];
@@ -3401,7 +3427,7 @@ type Split<STRING extends string, SEPARATOR extends string = "", RESULT extends
3401
3427
  type Tail$1<ARRAY extends unknown[]> = ARRAY extends readonly [] ? ARRAY : ARRAY extends readonly [unknown?, ...infer ARRAY_TAIL] ? ARRAY_TAIL : ARRAY;
3402
3428
  //#endregion
3403
3429
  //#region node_modules/json-schema-to-ts/lib/types/type-utils/writable.d.ts
3404
- 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;
3430
+ 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;
3405
3431
  //#endregion
3406
3432
  //#region node_modules/json-schema-to-ts/lib/types/parse-schema/utils.d.ts
3407
3433
  type RemoveInvalidAdditionalItems<SCHEMA extends JSONSchema$1> = SCHEMA extends Readonly<{
@@ -3460,11 +3486,11 @@ type IfThenElseSchema = JSONSchema$1 & {
3460
3486
  then?: JSONSchema$1;
3461
3487
  else?: JSONSchema$1;
3462
3488
  };
3463
- type ParseIfThenElseSchema<IF_THEN_ELSE_SCHEMA extends IfThenElseSchema, OPTIONS extends ParseSchemaOptions, REST_SCHEMA extends JSONSchema$1 = Omit<IF_THEN_ELSE_SCHEMA, "if" | "then" | "else">, IF_SCHEMA extends JSONSchema$1 = MergeSubSchema<REST_SCHEMA, IF_THEN_ELSE_SCHEMA["if"]>, PARSED_THEN_SCHEMA = (IF_THEN_ELSE_SCHEMA extends {
3489
+ type ParseIfThenElseSchema<IF_THEN_ELSE_SCHEMA extends IfThenElseSchema, OPTIONS extends ParseSchemaOptions, REST_SCHEMA extends JSONSchema$1 = Omit<IF_THEN_ELSE_SCHEMA, "if" | "then" | "else">, IF_SCHEMA extends JSONSchema$1 = MergeSubSchema<REST_SCHEMA, IF_THEN_ELSE_SCHEMA["if"]>, PARSED_THEN_SCHEMA = IF_THEN_ELSE_SCHEMA extends {
3464
3490
  then: JSONSchema$1;
3465
- } ? $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 {
3491
+ } ? $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 {
3466
3492
  else: JSONSchema$1;
3467
- } ? $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>>;
3493
+ } ? $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>>;
3468
3494
  //#endregion
3469
3495
  //#region node_modules/json-schema-to-ts/lib/types/parse-schema/multipleTypes.d.ts
3470
3496
  type MultipleTypesSchema = JSONSchema$1 & Readonly<{
@@ -3498,10 +3524,10 @@ type ParseOneOfSchema<ONE_OF_SCHEMA extends OneOfSchema, OPTIONS extends ParseSc
3498
3524
  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;
3499
3525
  //#endregion
3500
3526
  //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/utils.d.ts
3501
- 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>>;
3527
+ 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>>;
3502
3528
  //#endregion
3503
3529
  //#region node_modules/json-schema-to-ts/lib/types/parse-schema/references/external.d.ts
3504
- 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 {
3530
+ 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 {
3505
3531
  rootSchema: IdSchema;
3506
3532
  } ? ParseExternalReferenceWithoutDirectorySchema<Omit<REF_SCHEMA, "$ref">, OPTIONS, EXTERNAL_REFERENCE_ID, SUB_PATH> : Never;
3507
3533
  type ParseDirectory<REFERENCE extends string> = Join<Pop<Split<REFERENCE, "/">>, "/">;
@@ -3572,14 +3598,14 @@ type ObjectSchema$1 = JSONSchema$1 & Readonly<{
3572
3598
  }>;
3573
3599
  type ParseObjectSchema<OBJECT_SCHEMA extends ObjectSchema$1, OPTIONS extends ParseSchemaOptions> = OBJECT_SCHEMA extends Readonly<{
3574
3600
  properties: Readonly<Record<string, JSONSchema$1>>;
3575
- }> ? _$Object<{ [KEY in keyof OBJECT_SCHEMA["properties"]]: ParseSchema<OBJECT_SCHEMA["properties"][KEY], OPTIONS> }, GetRequired<OBJECT_SCHEMA, OPTIONS>, GetOpenProps<OBJECT_SCHEMA, OPTIONS>, GetClosedOnResolve<OBJECT_SCHEMA>> : _$Object<{}, GetRequired<OBJECT_SCHEMA, OPTIONS>, GetOpenProps<OBJECT_SCHEMA, OPTIONS>, GetClosedOnResolve<OBJECT_SCHEMA>>;
3601
+ }> ? _$Object<{ [KEY in keyof OBJECT_SCHEMA["properties"]]: ParseSchema<OBJECT_SCHEMA["properties"][KEY], OPTIONS>; }, GetRequired<OBJECT_SCHEMA, OPTIONS>, GetOpenProps<OBJECT_SCHEMA, OPTIONS>, GetClosedOnResolve<OBJECT_SCHEMA>> : _$Object<{}, GetRequired<OBJECT_SCHEMA, OPTIONS>, GetOpenProps<OBJECT_SCHEMA, OPTIONS>, GetClosedOnResolve<OBJECT_SCHEMA>>;
3576
3602
  type GetRequired<OBJECT_SCHEMA extends ObjectSchema$1, OPTIONS extends ParseSchemaOptions> = (OBJECT_SCHEMA extends Readonly<{
3577
3603
  required: ReadonlyArray<string>;
3578
3604
  }> ? OBJECT_SCHEMA["required"][number] : never) | (OPTIONS["keepDefaultedPropertiesOptional"] extends true ? never : OBJECT_SCHEMA extends Readonly<{
3579
3605
  properties: Readonly<Record<string, JSONSchema$1>>;
3580
3606
  }> ? { [KEY in keyof OBJECT_SCHEMA["properties"] & string]: OBJECT_SCHEMA["properties"][KEY] extends Readonly<{
3581
3607
  default: unknown;
3582
- }> ? KEY : never }[keyof OBJECT_SCHEMA["properties"] & string] : never);
3608
+ }> ? KEY : never; }[keyof OBJECT_SCHEMA["properties"] & string] : never);
3583
3609
  type GetOpenProps<OBJECT_SCHEMA extends ObjectSchema$1, OPTIONS extends ParseSchemaOptions> = OBJECT_SCHEMA extends Readonly<{
3584
3610
  additionalProperties: JSONSchema$1;
3585
3611
  }> ? OBJECT_SCHEMA extends Readonly<{
@@ -3590,8 +3616,8 @@ type GetOpenProps<OBJECT_SCHEMA extends ObjectSchema$1, OPTIONS extends ParseSch
3590
3616
  type GetClosedOnResolve<OBJECT_SCHEMA extends ObjectSchema$1> = OBJECT_SCHEMA extends Readonly<{
3591
3617
  unevaluatedProperties: false;
3592
3618
  }> ? true : false;
3593
- 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]>;
3594
- 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]>;
3619
+ 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]>;
3620
+ 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]>;
3595
3621
  //#endregion
3596
3622
  //#region node_modules/json-schema-to-ts/lib/types/parse-schema/singleType.d.ts
3597
3623
  type SingleTypeSchema = JSONSchema$1 & Readonly<{
@@ -3618,7 +3644,7 @@ type ParseSchemaOptions = {
3618
3644
  references: Record<string, JSONSchema$1>;
3619
3645
  deserialize: DeserializationPattern[] | false;
3620
3646
  };
3621
- 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 {
3647
+ 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 {
3622
3648
  deserialize: DeserializationPattern[];
3623
3649
  } ? $Intersect<DeserializeSchema<SCHEMA, OPTIONS>, RESULT> : RESULT;
3624
3650
  //#endregion
@@ -3762,7 +3788,7 @@ type ServerAdapterInitialContext = {
3762
3788
  };
3763
3789
  //#endregion
3764
3790
  //#region node_modules/fets/typings/types.d.ts
3765
- type StatusCodeMap$1<T> = { [TKey in StatusCode$1]?: T };
3791
+ type StatusCodeMap$1<T> = { [TKey in StatusCode$1]?: T; };
3766
3792
  //#endregion
3767
3793
  //#region node_modules/fets/typings/typed-fetch.d.ts
3768
3794
  type OkStatusCode$1 = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
@@ -4044,7 +4070,7 @@ type TypedResponse<TJSON = unknown, THeaders extends Record<string, string> = Re
4044
4070
  */
4045
4071
  ok: TStatusCode extends OkStatusCode ? true : false;
4046
4072
  };
4047
- type TypedResponseWithJSONStatusMap<TResponseJSONStatusMap extends StatusCodeMap$1<any>> = { [TStatusCode in keyof TResponseJSONStatusMap]: TStatusCode extends StatusCode ? TypedResponse<TResponseJSONStatusMap[TStatusCode], Record<string, string>, TStatusCode> : never }[keyof TResponseJSONStatusMap];
4073
+ type TypedResponseWithJSONStatusMap<TResponseJSONStatusMap extends StatusCodeMap$1<any>> = { [TStatusCode in keyof TResponseJSONStatusMap]: TStatusCode extends StatusCode ? TypedResponse<TResponseJSONStatusMap[TStatusCode], Record<string, string>, TStatusCode> : never; }[keyof TResponseJSONStatusMap];
4048
4074
  type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'CONNECT' | 'TRACE';
4049
4075
  type TypedRequest<TJSON = any, TFormData extends Record<string, FormDataEntryValue | undefined> = Record<string, FormDataEntryValue | undefined>, THeaders extends Record<string, string | undefined> = Record<string, string | undefined>, TMethod extends HTTPMethod = HTTPMethod, TQueryParams = any, TPathParams extends Record<string, any> = Record<string, any>> = Omit<Request, 'json' | 'method' | 'headers' | 'formData'> & TypedBody<TJSON, TFormData, THeaders> & {
4050
4076
  parsedUrl: URL;
@@ -4070,7 +4096,7 @@ interface TypedFormData<TMap extends Record<string, FormDataEntryValue | undefin
4070
4096
  type ClientRequestInit = Omit<RequestInit, 'body' | 'method' | 'headers'>;
4071
4097
  //#endregion
4072
4098
  //#region node_modules/fets/typings/types.d.cts
4073
- type Simplify<T> = { [KeyType in keyof T]: Simplify<T[KeyType]> } & {};
4099
+ type Simplify<T> = { [KeyType in keyof T]: Simplify<T[KeyType]>; } & {};
4074
4100
  type JSONSchema = Exclude<JSONSchema$1, boolean>;
4075
4101
  interface OpenAPIInfo {
4076
4102
  title?: string;
@@ -4156,7 +4182,7 @@ type ArrayItemValue<TJSONSchema extends JSONSchema> = TJSONSchema extends {
4156
4182
  } ? TItems : never;
4157
4183
  type HasCircularAnyOfRef<T extends JSONSchema> = T extends {
4158
4184
  properties: Record<string, JSONSchema>;
4159
- } ? true extends { [K in keyof T['properties']]: PropIntroducesCycle<T['properties'][K], T> }[keyof T['properties']] ? true : false : false;
4185
+ } ? true extends { [K in keyof T['properties']]: PropIntroducesCycle<T['properties'][K], T>; }[keyof T['properties']] ? true : false : false;
4160
4186
  type PropIntroducesCycle<S, Root> = S extends {
4161
4187
  anyOf: infer Items extends readonly JSONSchema[];
4162
4188
  } ? TupleIntroducesCycle<Items, Root> : S extends {
@@ -4167,7 +4193,7 @@ type PropIntroducesCycle<S, Root> = S extends {
4167
4193
  $id: string;
4168
4194
  } ? false : S extends {
4169
4195
  properties: infer P extends Record<string, JSONSchema>;
4170
- } ? true extends { [K in keyof P]: PropIntroducesCycle<P[K], Root> }[keyof P] ? true : AdditionalPropertiesCycle<S, Root> : AdditionalPropertiesCycle<S, Root>;
4196
+ } ? true extends { [K in keyof P]: PropIntroducesCycle<P[K], Root>; }[keyof P] ? true : AdditionalPropertiesCycle<S, Root> : AdditionalPropertiesCycle<S, Root>;
4171
4197
  type AdditionalPropertiesCycle<S, Root> = S extends {
4172
4198
  additionalProperties: infer AP extends JSONSchema;
4173
4199
  } ? PropIntroducesCycle<AP, Root> : false;
@@ -4177,7 +4203,7 @@ type MemberIntroducesCycle<Item, Root> = Item extends {
4177
4203
  } ? [Item] extends [Root] ? true : HasSelfCircularAnyOf<Item> : false;
4178
4204
  type HasSelfCircularAnyOf<T> = T extends {
4179
4205
  properties: Record<string, JSONSchema>;
4180
- } ? true extends { [K in keyof T['properties']]: DirectSelfAnyOf<T['properties'][K], T> }[keyof T['properties']] ? true : false : false;
4206
+ } ? true extends { [K in keyof T['properties']]: DirectSelfAnyOf<T['properties'][K], T>; }[keyof T['properties']] ? true : false : false;
4181
4207
  type DirectSelfAnyOf<S, Root> = S extends {
4182
4208
  anyOf: infer Items extends readonly JSONSchema[];
4183
4209
  } ? TupleHasSelf<Items, Root> : S extends {
@@ -4188,7 +4214,7 @@ type DirectSelfAnyOf<S, Root> = S extends {
4188
4214
  $id: string;
4189
4215
  } ? false : S extends {
4190
4216
  properties: infer P extends Record<string, JSONSchema>;
4191
- } ? true extends { [K in keyof P]: DirectSelfAnyOf<P[K], Root> }[keyof P] ? true : AdditionalPropertiesSelf<S, Root> : AdditionalPropertiesSelf<S, Root>;
4217
+ } ? true extends { [K in keyof P]: DirectSelfAnyOf<P[K], Root>; }[keyof P] ? true : AdditionalPropertiesSelf<S, Root> : AdditionalPropertiesSelf<S, Root>;
4192
4218
  type AdditionalPropertiesSelf<S, Root> = S extends {
4193
4219
  additionalProperties: infer AP extends JSONSchema;
4194
4220
  } ? DirectSelfAnyOf<AP, Root> : false;
@@ -4246,7 +4272,7 @@ type DirectTypeValue<T extends JSONSchema> = T extends {
4246
4272
  } ? AP extends false ? Record<string, never> : DirectIndexSignature<AP> : T extends {
4247
4273
  type: 'object';
4248
4274
  } ? Record<string, unknown> : unknown;
4249
- type DirectNamedProps<Props extends Record<string, JSONSchema>, Req extends readonly string[] | undefined = undefined> = [Req] extends [readonly string[]] ? { [K in Extract<keyof Props, Req[number]>]: DirectType<Props[K]> } & { [K in Exclude<keyof Props, Req[number]>]?: DirectType<Props[K]> } : { [K in keyof Props]?: DirectType<Props[K]> };
4275
+ type DirectNamedProps<Props extends Record<string, JSONSchema>, Req extends readonly string[] | undefined = undefined> = [Req] extends [readonly string[]] ? { [K in Extract<keyof Props, Req[number]>]: DirectType<Props[K]>; } & { [K in Exclude<keyof Props, Req[number]>]?: DirectType<Props[K]>; } : { [K in keyof Props]?: DirectType<Props[K]>; };
4250
4276
  type DirectIndexSignature<AP> = AP extends false ? unknown : AP extends true ? Record<string, unknown> : AP extends JSONSchema ? Record<string, DirectType<AP>> : Record<string, unknown>;
4251
4277
  type DirectUnionType<Items extends readonly JSONSchema[]> = Items extends readonly [infer Head extends JSONSchema, ...infer Tail extends readonly JSONSchema[]] ? DirectType<Head> | DirectUnionType<Tail> : never;
4252
4278
  type DirectIntersectionType<Items extends readonly JSONSchema[]> = Items extends readonly [infer Head extends JSONSchema, ...infer Tail extends readonly JSONSchema[]] ? DirectType<Head> & DirectIntersectionType<Tail> : unknown;
@@ -4275,14 +4301,14 @@ type FromSchema<T> = T extends {
4275
4301
  }];
4276
4302
  }> : never;
4277
4303
  type PromiseOrValue<T> = T | Promise<T>;
4278
- type StatusCodeMap<T> = { [TKey in StatusCode]?: T };
4304
+ type StatusCodeMap<T> = { [TKey in StatusCode]?: T; };
4279
4305
  interface RouterBaseObject<TServerContext, TComponents extends RouterComponentsBase, TRouterSDK extends RouterSDK<string, TypedRequest, TypedResponse>> {
4280
4306
  openAPIDocument: OpenAPIDocument;
4281
4307
  handle: ServerAdapterRequestHandler<TServerContext>;
4282
4308
  route<const TRouteSchemas extends RouteSchemas, TMethod extends HTTPMethod, TPath extends string, TTypedRequest extends TypedRequestFromRouteSchemas<TComponents, TRouteSchemas, TMethod, TPath>, TTypedResponse extends TypedResponseFromRouteSchemas<TComponents, TRouteSchemas>>(opts: RouteWithSchemasOpts<TServerContext, TComponents, TRouteSchemas, TMethod, TPath, TTypedRequest, TTypedResponse>): Router<TServerContext, TComponents, TRouterSDK & RouterSDK<TPath, TTypedRequest, TTypedResponse>>;
4283
4309
  route<TMethod extends HTTPMethod, TPath extends string, TTypedRequest extends TypedRequest<any, Record<string, FormDataEntryValue | undefined>, Record<string, string | undefined>, TMethod, any, Record<ExtractPathParamsWithPattern<TPath>, string>>, TTypedResponse extends TypedResponse>(opts: RouteWithTypesOpts<TServerContext, TMethod, TPath, TTypedRequest, TTypedResponse>): Router<TServerContext, TComponents, TRouterSDK & RouterSDK<TPath, TTypedRequest, TTypedResponse>>;
4284
4310
  use<TSubServerContext, TSubComponents extends RouterComponentsBase, TSubRouterSDK extends RouterSDK<string, TypedRequest, TypedResponse>>(subRouter: Router<TSubServerContext, TSubComponents, TSubRouterSDK>): Router<TServerContext, TComponents, TRouterSDK & TSubRouterSDK>;
4285
- use<const TPrefix extends string, TSubServerContext, TSubComponents extends RouterComponentsBase, TSubRouterSDK extends RouterSDK<string, TypedRequest, TypedResponse>>(prefix: TPrefix, subRouter: Router<TSubServerContext, TSubComponents, TSubRouterSDK>): Router<TServerContext, TComponents, TRouterSDK & { [TKey in keyof TSubRouterSDK as TKey extends string ? `${TPrefix}${TKey}` : TKey]: TSubRouterSDK[TKey] }>;
4311
+ use<const TPrefix extends string, TSubServerContext, TSubComponents extends RouterComponentsBase, TSubRouterSDK extends RouterSDK<string, TypedRequest, TypedResponse>>(prefix: TPrefix, subRouter: Router<TSubServerContext, TSubComponents, TSubRouterSDK>): Router<TServerContext, TComponents, TRouterSDK & { [TKey in keyof TSubRouterSDK as TKey extends string ? `${TPrefix}${TKey}` : TKey]: TSubRouterSDK[TKey]; }>;
4286
4312
  __client: TRouterSDK;
4287
4313
  __onRouterInitHooks: OnRouterInitHook<TServerContext>[];
4288
4314
  __routes: RouteWithSchemasOpts<any, RouterComponentsBase, RouteSchemas, HTTPMethod, string, TypedRequest, TypedResponse>[];
@@ -4294,7 +4320,6 @@ type RouteHandler<TServerContext = {}, TTypedRequest extends TypedRequest = Type
4294
4320
  * The request object represents the incoming HTTP request.
4295
4321
  * This object implements [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) interface.
4296
4322
  */
4297
-
4298
4323
  request: TTypedRequest, context: TServerContext) => PromiseOrValue<TTypedResponse>;
4299
4324
  type OnRouterInitHook<TServerContext> = (router: Router<TServerContext, any, any>) => void;
4300
4325
  type ObjectSchemaWithPrimitiveProperties = JSONSchema & {
@@ -4337,7 +4362,7 @@ type RouterSDKOpts<TTypedRequest extends TypedRequest = TypedRequest, TMethod ex
4337
4362
  } : {
4338
4363
  formData: TFormData;
4339
4364
  }) : never;
4340
- type RouterSDK<TPath extends string = string, TTypedRequest extends TypedRequest = TypedRequest, TTypedResponse extends TypedResponse = TypedResponse> = { [TPathKey in TPath]: { [TMethod in Lowercase<TTypedRequest['method']>]: Partial<RouterSDKOpts<TTypedRequest, TTypedRequest['method']>> extends RouterSDKOpts<TTypedRequest, TTypedRequest['method']> ? (opts?: RouterSDKOpts<TTypedRequest, TTypedRequest['method']> & ClientRequestInit) => ClientTypedResponsePromise<Exclude<TTypedResponse, undefined>> : (opts: RouterSDKOpts<TTypedRequest, TTypedRequest['method']> & ClientRequestInit) => ClientTypedResponsePromise<Exclude<TTypedResponse, undefined>> } };
4365
+ type RouterSDK<TPath extends string = string, TTypedRequest extends TypedRequest = TypedRequest, TTypedResponse extends TypedResponse = TypedResponse> = { [TPathKey in TPath]: { [TMethod in Lowercase<TTypedRequest['method']>]: Partial<RouterSDKOpts<TTypedRequest, TTypedRequest['method']>> extends RouterSDKOpts<TTypedRequest, TTypedRequest['method']> ? (opts?: RouterSDKOpts<TTypedRequest, TTypedRequest['method']> & ClientRequestInit) => ClientTypedResponsePromise<Exclude<TTypedResponse, undefined>> : (opts: RouterSDKOpts<TTypedRequest, TTypedRequest['method']> & ClientRequestInit) => ClientTypedResponsePromise<Exclude<TTypedResponse, undefined>>; }; };
4341
4366
  type FromSchemaWithComponents<TComponents, TSchema extends JSONSchema> = TComponents extends {
4342
4367
  schemas: Record<string, JSONSchema>;
4343
4368
  } ? FromSchema<{
@@ -4358,7 +4383,7 @@ type TypedRequestFromRouteSchemas<TComponents extends RouterComponentsBase, TRou
4358
4383
  } ? FromSchemaWithComponents<TComponents, TRouteSchemas['request']['params']> extends Record<string, any> ? FromSchemaWithComponents<TComponents, TRouteSchemas['request']['params']> : never : Record<ExtractPathParamsWithPattern<TPath>, string>> : TypedRequest<any, Partial<Record<string, FormDataEntryValue>>, Partial<Record<string, string>>, TMethod, any, Record<ExtractPathParamsWithPattern<TPath>, string>>;
4359
4384
  type TypedResponseFromRouteSchemas<TComponents extends RouterComponentsBase, TRouteSchemas extends RouteSchemas> = TRouteSchemas extends {
4360
4385
  responses: StatusCodeMap<JSONSchema>;
4361
- } ? TypedResponseWithJSONStatusMap<{ [TStatusCode in keyof TRouteSchemas['responses']]: TRouteSchemas['responses'][TStatusCode] extends JSONSchema ? FromSchemaWithComponents<TComponents, TRouteSchemas['responses'][TStatusCode]> : never }> : TypedResponse;
4386
+ } ? TypedResponseWithJSONStatusMap<{ [TStatusCode in keyof TRouteSchemas['responses']]: TRouteSchemas['responses'][TStatusCode] extends JSONSchema ? FromSchemaWithComponents<TComponents, TRouteSchemas['responses'][TStatusCode]> : never; }> : TypedResponse;
4362
4387
  type RouteWithSchemasOpts<TServerContext, TComponents extends RouterComponentsBase, TRouteSchemas extends RouteSchemas, TMethod extends HTTPMethod, TPath extends string, TTypedRequest extends TypedRequestFromRouteSchemas<TComponents, TRouteSchemas, TMethod, TPath>, TTypedResponse extends TypedResponseFromRouteSchemas<TComponents, TRouteSchemas>> = {
4363
4388
  schemas: TRouteSchemas;
4364
4389
  security?: SecuritySchemeRefsFromComponents<TComponents>[];
@@ -4540,27 +4565,28 @@ type RumbleInput<UserContext extends Record<string, any>, DB extends DrizzleInst
4540
4565
  };
4541
4566
  //#endregion
4542
4567
  //#region lib/rumble.d.ts
4543
- 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 = "read" | "update" | "delete">(rumbleInput: RumbleInput<UserContext, DB, RequestEvent, Action, PothosConfig> & {
4568
+ 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> & {
4544
4569
  schema: Schema;
4545
4570
  }) => {
4546
4571
  /**
4547
- * The ability builder. Use it to declare whats allowed for each entity in your DB.
4548
- *
4549
- * @example
4550
- *
4551
- * ```ts
4552
- * // users can edit themselves
4553
- abilityBuilder.users
4554
- .allow(["read", "update", "delete"])
4555
- .when(({ userId }) => ({ where: eq(schema.users.id, userId) }));
4556
- // everyone can read posts
4557
- abilityBuilder.posts.allow("read");
4558
- *
4559
- * ```
4560
- */
4572
+ * The ability builder. Use it to declare whats allowed for each entity in your DB.
4573
+ *
4574
+ * @example
4575
+ *
4576
+ * ```ts
4577
+ * // users can edit themselves
4578
+ abilityBuilder.users
4579
+ .allow(["read", "update", "delete"])
4580
+ .when(({ userId }) => ({ where: eq(schema.users.id, userId) }));
4581
+
4582
+ // everyone can read posts
4583
+ abilityBuilder.posts.allow("read");
4584
+ *
4585
+ * ```
4586
+ */
4561
4587
  abilityBuilder: { [key in TableRelationNames<DB>]: {
4562
4588
  allow: (action: Action | Action[]) => {
4563
- when: (queryFilter: DrizzleQueryFunctionInput<DB, key> | ((context: UserContext) => DrizzleQueryFunctionInput<DB, key> | "allow" | undefined)) => void;
4589
+ when: (queryFilter: ((context: UserContext) => "allow" | Promise<"allow" | DrizzleQueryFunctionInput<DB, key> | undefined> | DrizzleQueryFunctionInput<DB, key> | undefined) | DrizzleQueryFunctionInput<DB, key>) => void;
4564
4590
  };
4565
4591
  filter: (action: Action | Action[]) => {
4566
4592
  prefetch: <PrefetchReturnType>(prefetch: Prefetch<UserContext, PrefetchReturnType>) => {
@@ -4570,38 +4596,35 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4570
4596
  };
4571
4597
  _: {
4572
4598
  runtimeFilters: Map<Action, FilterPrefetchCombo<UserContext, any, any>[]>;
4573
- queryFilters: Map<Action, "unrestricted" | (DrizzleQueryFunctionInput<DB, key> | ((context: UserContext) => DrizzleQueryFunctionInput<DB, key> | "allow" | undefined))[]>;
4599
+ queryFilters: Map<Action, "unrestricted" | (((context: UserContext) => "allow" | Promise<"allow" | DrizzleQueryFunctionInput<DB, key> | undefined> | DrizzleQueryFunctionInput<DB, key> | undefined) | DrizzleQueryFunctionInput<DB, key>)[]>;
4574
4600
  };
4575
- } } & {
4601
+ }; } & {
4576
4602
  _: {
4577
- registeredFilters({
4578
- action,
4579
- table
4580
- }: {
4603
+ registeredFilters({ action, table }: {
4581
4604
  table: TableRelationNames<DB>;
4582
4605
  action: Action;
4583
4606
  }): Filter<UserContext, DrizzleTableValueType<DB, TableRelationNames<DB>>>[];
4584
- build(): (ctx: UserContext) => { [key_1 in TableRelationNames<DB>]: {
4585
- filter: (action: Action) => {
4607
+ build(): (ctx: UserContext) => { [key in TableRelationNames<DB>]: {
4608
+ filter: (action: Action) => Promise<{
4586
4609
  query: {
4587
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4588
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4610
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4611
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4589
4612
  };
4590
4613
  sql: {
4591
4614
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4592
4615
  };
4593
4616
  } & {
4594
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
4617
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
4595
4618
  query: {
4596
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4597
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4619
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4620
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4598
4621
  };
4599
4622
  sql: {
4600
4623
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4601
4624
  };
4602
4625
  };
4603
- };
4604
- } };
4626
+ }>;
4627
+ }; };
4605
4628
  };
4606
4629
  };
4607
4630
  /**
@@ -4609,29 +4632,30 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4609
4632
  */
4610
4633
  schemaBuilder: PothosSchemaTypes.SchemaBuilder<PothosSchemaTypes.ExtendDefaultTypes<{
4611
4634
  Context: Awaited<UserContext & {
4612
- abilities: { [key_1 in TableRelationNames<DB>]: {
4613
- filter: (action: Action) => {
4635
+ abilities: { [key in TableRelationNames<DB>]: {
4636
+ filter: (action: Action) => Promise<{
4614
4637
  query: {
4615
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4616
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4638
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4639
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4617
4640
  };
4618
4641
  sql: {
4619
4642
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4620
4643
  };
4621
4644
  } & {
4622
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
4645
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
4623
4646
  query: {
4624
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4625
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4647
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4648
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4626
4649
  };
4627
4650
  sql: {
4628
4651
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4629
4652
  };
4630
4653
  };
4631
- };
4632
- } };
4654
+ }>;
4655
+ }; };
4633
4656
  }>;
4634
4657
  DrizzleRelations: DB["_"]["relations"];
4658
+ AsyncSelections: true;
4635
4659
  Objects: {
4636
4660
  Address: AddressShape;
4637
4661
  };
@@ -4760,40 +4784,36 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4760
4784
  /**
4761
4785
  * A function for creating default objects for your schema
4762
4786
  */
4763
- object: <TableName extends TableRelationNames<DB>, RefName extends string>({
4764
- table,
4765
- refName,
4766
- readAction,
4767
- adjust
4768
- }: {
4787
+ object: <TableName extends TableRelationNames<DB>, RefName extends string>({ table, refName, readAction, adjust }: {
4769
4788
  table: TableName;
4770
4789
  refName?: RefName | undefined;
4771
4790
  readAction?: Action | undefined;
4772
4791
  adjust?: ((t: import("@pothos/plugin-drizzle").DrizzleObjectFieldBuilder<PothosSchemaTypes.ExtendDefaultTypes<{
4773
4792
  Context: Awaited<UserContext & {
4774
- abilities: { [key_1 in TableRelationNames<DB>]: {
4775
- filter: (action: Action) => {
4793
+ abilities: { [key in TableRelationNames<DB>]: {
4794
+ filter: (action: Action) => Promise<{
4776
4795
  query: {
4777
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4778
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4796
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4797
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4779
4798
  };
4780
4799
  sql: {
4781
4800
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4782
4801
  };
4783
4802
  } & {
4784
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
4803
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
4785
4804
  query: {
4786
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4787
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4805
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4806
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4788
4807
  };
4789
4808
  sql: {
4790
4809
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4791
4810
  };
4792
4811
  };
4793
- };
4794
- } };
4812
+ }>;
4813
+ }; };
4795
4814
  }>;
4796
4815
  DrizzleRelations: DB["_"]["relations"];
4816
+ AsyncSelections: true;
4797
4817
  Objects: {
4798
4818
  Address: AddressShape;
4799
4819
  };
@@ -4850,46 +4870,47 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4850
4870
  DefaultFieldNullability: false;
4851
4871
  }>, (DB["_"]["relations"] & {})[TableName], DrizzleTableValueType<DB, TableName>, { [Key in keyof Extract<(DB["_"]["relations"] & {})[TableName]["table"], {
4852
4872
  _: {
4853
- brand: "Table";
4873
+ brand: 'Table';
4854
4874
  };
4855
4875
  }>["_"]["columns"] & string]: Extract<(DB["_"]["relations"] & {})[TableName]["table"], {
4856
4876
  _: {
4857
- brand: "Table";
4877
+ brand: 'Table';
4858
4878
  };
4859
4879
  }>["_"]["columns"][Key]["_"]["notNull"] extends true ? Extract<(DB["_"]["relations"] & {})[TableName]["table"], {
4860
4880
  _: {
4861
- brand: "Table";
4881
+ brand: 'Table';
4862
4882
  };
4863
4883
  }>["_"]["columns"][Key]["_"]["data"] : Extract<(DB["_"]["relations"] & {})[TableName]["table"], {
4864
4884
  _: {
4865
- brand: "Table";
4885
+ brand: 'Table';
4866
4886
  };
4867
- }>["_"]["columns"][Key]["_"]["data"] | null } extends infer T ? { [K in keyof T]: T[K] } : never>) => import("@pothos/core").FieldMap) | undefined;
4887
+ }>["_"]["columns"][Key]["_"]["data"] | null; } extends (infer T) ? { [K in keyof T]: T[K]; } : never>) => import("@pothos/core").FieldMap) | undefined;
4868
4888
  }) => import("@pothos/plugin-drizzle").DrizzleObjectRef<PothosSchemaTypes.ExtendDefaultTypes<{
4869
4889
  Context: Awaited<UserContext & {
4870
- abilities: { [key_1 in TableRelationNames<DB>]: {
4871
- filter: (action: Action) => {
4890
+ abilities: { [key in TableRelationNames<DB>]: {
4891
+ filter: (action: Action) => Promise<{
4872
4892
  query: {
4873
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4874
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4893
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4894
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4875
4895
  };
4876
4896
  sql: {
4877
4897
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4878
4898
  };
4879
4899
  } & {
4880
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
4900
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
4881
4901
  query: {
4882
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4883
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
4902
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
4903
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4884
4904
  };
4885
4905
  sql: {
4886
4906
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4887
4907
  };
4888
4908
  };
4889
- };
4890
- } };
4909
+ }>;
4910
+ }; };
4891
4911
  }>;
4892
4912
  DrizzleRelations: DB["_"]["relations"];
4913
+ AsyncSelections: true;
4893
4914
  Objects: {
4894
4915
  Address: AddressShape;
4895
4916
  };
@@ -4952,59 +4973,52 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
4952
4973
  /**
4953
4974
  * A function for creating where args to filter entities
4954
4975
  */
4955
- whereArg: <TableName extends keyof DrizzleQueryFunction<DB>, RefName_1 extends string>({
4956
- table,
4957
- refName,
4958
- dbName
4959
- }: Partial<{
4976
+ whereArg: <TableName extends keyof DrizzleQueryFunction<DB>, RefName extends string>({ table, refName, dbName }: Partial<{
4960
4977
  table: TableName;
4961
- refName: RefName_1 | undefined;
4978
+ refName: RefName | undefined;
4962
4979
  dbName: string;
4963
4980
  }> & ({
4964
- dbName: string;
4965
- } | {
4966
4981
  table: TableName;
4982
+ } | {
4983
+ dbName: string;
4967
4984
  })) => any;
4968
4985
  /**
4969
4986
  * A function for creating order args to sort entities
4970
4987
  */
4971
- orderArg: <RefName_2 extends string, TableName extends keyof DrizzleQueryFunction<DB>>({
4972
- table,
4973
- refName,
4974
- dbName
4975
- }: Partial<{
4988
+ orderArg: <RefName extends string, TableName extends keyof DrizzleQueryFunction<DB>>({ table, refName, dbName }: Partial<{
4976
4989
  table: TableName;
4977
- refName: RefName_2 | undefined;
4990
+ refName: RefName | undefined;
4978
4991
  dbName: string;
4979
4992
  }> & ({
4980
- dbName: string;
4981
- } | {
4982
4993
  table: TableName;
4994
+ } | {
4995
+ dbName: string;
4983
4996
  })) => PothosSchemaTypes.InputObjectRef<PothosSchemaTypes.ExtendDefaultTypes<{
4984
4997
  Context: Awaited<UserContext & {
4985
- abilities: { [key_1 in TableRelationNames<DB>]: {
4986
- filter: (action: Action) => {
4998
+ abilities: { [key in TableRelationNames<DB>]: {
4999
+ filter: (action: Action) => Promise<{
4987
5000
  query: {
4988
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4989
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
5001
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
5002
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4990
5003
  };
4991
5004
  sql: {
4992
5005
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
4993
5006
  };
4994
5007
  } & {
4995
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
5008
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
4996
5009
  query: {
4997
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
4998
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
5010
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
5011
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
4999
5012
  };
5000
5013
  sql: {
5001
5014
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
5002
5015
  };
5003
5016
  };
5004
- };
5005
- } };
5017
+ }>;
5018
+ }; };
5006
5019
  }>;
5007
5020
  DrizzleRelations: DB["_"]["relations"];
5021
+ AsyncSelections: true;
5008
5022
  Objects: {
5009
5023
  Address: AddressShape;
5010
5024
  };
@@ -5066,40 +5080,28 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5066
5080
  * A function for creating default READ queries.
5067
5081
  * Make sure the objects for the table you are creating the queries for are implemented
5068
5082
  */
5069
- query: <TableName_1 extends TableRelationNames<DB>>({
5070
- table,
5071
- readAction,
5072
- listAction,
5073
- findFirst,
5074
- findMany
5075
- }: {
5076
- table: TableName_1;
5083
+ query: <TableName extends TableRelationNames<DB>>({ table, readAction, listAction, findFirst, findMany }: {
5084
+ table: TableName;
5077
5085
  readAction?: Action | undefined;
5078
5086
  listAction?: Action | undefined;
5079
5087
  findMany?: ((p: {
5080
5088
  tx: DB | Parameters<Parameters<DB["transaction"]>[0]>[0];
5081
- filter: Parameters<DrizzleQueryFunction<DB>[TableName_1]["findMany"]>[0];
5082
- queryArgs: Parameters<DrizzleQueryFunction<DB>[TableName_1]["findMany"]>[0];
5083
- }) => ReturnType<DrizzleQueryFunction<DB>[TableName_1]["findMany"]>) | undefined;
5089
+ filter: Parameters<DrizzleQueryFunction<DB>[TableName]["findMany"]>[0];
5090
+ queryArgs: Parameters<DrizzleQueryFunction<DB>[TableName]["findMany"]>[0];
5091
+ }) => ReturnType<DrizzleQueryFunction<DB>[TableName]["findMany"]>) | undefined;
5084
5092
  findFirst?: ((p: {
5085
5093
  tx: DB;
5086
- filter: Parameters<DrizzleQueryFunction<DB>[TableName_1]["findFirst"]>[0];
5087
- queryArgs: Parameters<DrizzleQueryFunction<DB>[TableName_1]["findFirst"]>[0];
5088
- }) => ReturnType<DrizzleQueryFunction<DB>[TableName_1]["findFirst"]>) | undefined;
5094
+ filter: Parameters<DrizzleQueryFunction<DB>[TableName]["findFirst"]>[0];
5095
+ queryArgs: Parameters<DrizzleQueryFunction<DB>[TableName]["findFirst"]>[0];
5096
+ }) => ReturnType<DrizzleQueryFunction<DB>[TableName]["findFirst"]>) | undefined;
5089
5097
  }) => void;
5090
5098
  /**
5091
5099
  * A function for creating a pubsub instance for a table. Use this to publish or subscribe events
5092
5100
  */
5093
- pubsub: <TableName_1 extends keyof DrizzleQueryFunction<DB>>({
5094
- table
5095
- }: {
5096
- table: TableName_1;
5101
+ pubsub: <TableName extends keyof DrizzleQueryFunction<DB>>({ table }: {
5102
+ table: TableName;
5097
5103
  }) => {
5098
- registerOnInstance({
5099
- instance,
5100
- action,
5101
- primaryKeyValue
5102
- }: {
5104
+ registerOnInstance({ instance, action, primaryKeyValue }: {
5103
5105
  instance: {
5104
5106
  register: (id: string) => void;
5105
5107
  };
@@ -5115,8 +5117,8 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5115
5117
  * The other helpers use this helper internally so in most cases you do not have to
5116
5118
  * call this helper directly, unless you need the reference to an enum type
5117
5119
  */
5118
- enum_: <TsName extends keyof { [K in keyof Schema as Schema[K] extends import("drizzle-orm/pg-core").PgEnum<any> | import("drizzle-orm/pg-core").PgEnumObject<any> ? K : never]: Schema[K] } = never, EnumArg extends import("drizzle-orm/pg-core").PgEnum<any> | import("drizzle-orm/pg-core").PgEnumObject<any> = never, EnumColumn extends import("drizzle-orm").Column = never, RefName_2 extends string = string>(args: {
5119
- refName?: RefName_2 | undefined;
5120
+ enum_: <TsName extends keyof { [K in keyof Schema as Schema[K] extends import("drizzle-orm/pg-core").PgEnum<any> | import("drizzle-orm/pg-core").PgEnumObject<any> ? K : never]: Schema[K]; } = never, EnumArg extends import("drizzle-orm/pg-core").PgEnum<any> | import("drizzle-orm/pg-core").PgEnumObject<any> = never, EnumColumn extends import("drizzle-orm").Column = never, RefName extends string = string>(args: {
5121
+ refName?: RefName | undefined;
5120
5122
  } & ({
5121
5123
  tsName: TsName;
5122
5124
  enum?: never;
@@ -5131,29 +5133,30 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5131
5133
  enum?: never;
5132
5134
  })) => PothosSchemaTypes.EnumRef<PothosSchemaTypes.ExtendDefaultTypes<{
5133
5135
  Context: Awaited<UserContext & {
5134
- abilities: { [key_1 in TableRelationNames<DB>]: {
5135
- filter: (action: Action) => {
5136
+ abilities: { [key in TableRelationNames<DB>]: {
5137
+ filter: (action: Action) => Promise<{
5136
5138
  query: {
5137
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
5138
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
5139
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
5140
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
5139
5141
  };
5140
5142
  sql: {
5141
5143
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
5142
5144
  };
5143
5145
  } & {
5144
- merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key_1>>) => {
5146
+ merge: (p: NonNullable<DrizzleQueryFunctionInput<DB, key>>) => {
5145
5147
  query: {
5146
- single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findFirst"]>[0]>>, "where">;
5147
- many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key_1]["findMany"]>[0]>>, "where" | "limit">;
5148
+ single: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findFirst"]>[0]>>, "where">;
5149
+ many: Pick<NonNullable<NonNullable<Parameters<DB["query"][key]["findMany"]>[0]>>, "limit" | "where">;
5148
5150
  };
5149
5151
  sql: {
5150
5152
  readonly where: import("drizzle-orm").SQL<unknown> | undefined;
5151
5153
  };
5152
5154
  };
5153
- };
5154
- } };
5155
+ }>;
5156
+ }; };
5155
5157
  }>;
5156
5158
  DrizzleRelations: DB["_"]["relations"];
5159
+ AsyncSelections: true;
5157
5160
  Objects: {
5158
5161
  Address: AddressShape;
5159
5162
  };
@@ -5208,24 +5211,16 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5208
5211
  AddressInput: AddressInputShape;
5209
5212
  };
5210
5213
  DefaultFieldNullability: false;
5211
- }>, [EnumColumn] extends [never] ? [EnumArg] extends [never] ? [TsName] extends [never] ? string : TsName extends keyof Schema ? (Schema[TsName] extends infer T ? T extends Schema[TsName] ? T extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : T extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]] : never : never)[number] : string : (EnumArg extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : EnumArg extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]])[number] : EnumColumn extends {
5214
+ }>, [EnumColumn] extends [never] ? [EnumArg] extends [never] ? [TsName] extends [never] ? string : TsName extends keyof Schema ? (Schema[TsName] extends (infer T) ? T extends Schema[TsName] ? T extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : T extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]] : never : never)[number] : string : (EnumArg extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : EnumArg extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]])[number] : EnumColumn extends {
5212
5215
  enumValues: infer CV extends readonly [string, ...string[]];
5213
- } ? CV[number] : string, [EnumColumn] extends [never] ? [EnumArg] extends [never] ? [TsName] extends [never] ? string : TsName extends keyof Schema ? (Schema[TsName] extends infer T_1 ? T_1 extends Schema[TsName] ? T_1 extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : T_1 extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]] : never : never)[number] : string : (EnumArg extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : EnumArg extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]])[number] : EnumColumn extends {
5216
+ } ? CV[number] : string, [EnumColumn] extends [never] ? [EnumArg] extends [never] ? [TsName] extends [never] ? string : TsName extends keyof Schema ? (Schema[TsName] extends (infer T) ? T extends Schema[TsName] ? T extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : T extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]] : never : never)[number] : string : (EnumArg extends import("drizzle-orm/pg-core").PgEnum<infer V extends [string, ...string[]]> ? V : EnumArg extends import("drizzle-orm/pg-core").PgEnumObject<infer O extends object> ? readonly (O[keyof O] & string)[] : readonly [string, ...string[]])[number] : EnumColumn extends {
5214
5217
  enumValues: infer CV extends readonly [string, ...string[]];
5215
5218
  } ? CV[number] : string>;
5216
5219
  /**
5217
5220
  * Create a client to consume a rumble graphql api at the specified location.
5218
5221
  * Requires GraphQL, does not work with the SOFA REST API.
5219
5222
  */
5220
- clientCreator: ({
5221
- apiUrl,
5222
- outputPath,
5223
- rumbleImportPath,
5224
- useExternalUrqlClient,
5225
- removeExisting,
5226
- forceReactivity,
5227
- autoIncludeIdField
5228
- }: {
5223
+ clientCreator: ({ apiUrl, outputPath, rumbleImportPath, useExternalUrqlClient, removeExisting, forceReactivity, autoIncludeIdField }: {
5229
5224
  outputPath: string;
5230
5225
  apiUrl?: string;
5231
5226
  rumbleImportPath?: string;
@@ -5237,12 +5232,8 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5237
5232
  /**
5238
5233
  * A function for creating count queries for your tables
5239
5234
  */
5240
- countQuery: <TableName_1 extends TableRelationNames<DB>>({
5241
- table,
5242
- listAction,
5243
- isAllowed
5244
- }: {
5245
- table: TableName_1;
5235
+ countQuery: <TableName extends TableRelationNames<DB>>({ table, listAction, isAllowed }: {
5236
+ table: TableName;
5246
5237
  listAction?: Action | undefined;
5247
5238
  isAllowed?: ((context: UserContext) => boolean | Promise<boolean>) | undefined;
5248
5239
  }) => void;
@@ -5259,7 +5250,7 @@ declare const rumble: <UserContext extends Record<string, any>, DB extends Drizz
5259
5250
  * An error that gets raised by rumble whenever something does not go according to plan.
5260
5251
  * Mostly internals, configuration errors or other unexpected things.
5261
5252
  */
5262
- declare class RumbleError extends Error {
5253
+ export declare class RumbleError extends Error {
5263
5254
  constructor(message: string);
5264
5255
  }
5265
5256
  /**
@@ -5267,7 +5258,6 @@ declare class RumbleError extends Error {
5267
5258
  * information safely exposeable to the user.
5268
5259
  * E.g. the assert helpers issue these.
5269
5260
  */
5270
- declare class RumbleErrorSafe extends GraphQLError {}
5261
+ export declare class RumbleErrorSafe extends GraphQLError {}
5271
5262
  //#endregion
5272
- export { RumbleError, RumbleErrorSafe, assertFindFirstExists, assertFirstEntryExists, mapNullFieldsToUndefined, rumble };
5273
5263
  //# sourceMappingURL=index.d.mts.map