@discordkit/core 1.0.3 → 1.1.0-next.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordSession.js","sourceRoot":"","sources":["../../src/DiscordSession.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,8BAA8B,CAAC;AAEvD,gBAAgB;AAChB,MAAa,cAAc;IACzB,QAAQ,GAAW,gBAAQ,CAAC;IAC5B,UAAU,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,SAAyB;QACnC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC7D,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,EAAE,CACvE,CAAC;SACH;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC,CAAC;IAEF,YAAY,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,UAAU,GAAG,GAAW,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;CACH;AA3CD,wCA2CC;AAEY,QAAA,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"DiscordSession.js","sourceRoot":"","sources":["../../src/DiscordSession.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,8BAA8B,CAAC;AAEvD,gBAAgB;AAChB,MAAa,cAAc;IACzB,QAAQ,GAAW,gBAAQ,CAAC;IAC5B,UAAU,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,SAAyB;QACnC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC,CAAC;IAEF,YAAY,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,UAAU,GAAG,GAAW,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;CACH;AA3CD,wCA2CC;AAEY,QAAA,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addParams.js","sourceRoot":"","sources":["../../src/addParams.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AACnD,qDAA+C;AASxC,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,MAAS,EACJ,EAAE;IACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,EAAE;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB"}
1
+ {"version":3,"file":"addParams.js","sourceRoot":"","sources":["../../src/addParams.ts"],"names":[],"mappings":";;;AAAA,yDAAmD;AACnD,qDAA+C;AASxC,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,MAAS,EACJ,EAAE;IACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAXW,QAAA,SAAS,aAWpB"}
@@ -1,7 +1,7 @@
1
- import type { z } from "zod";
1
+ import type { BaseSchema, Output } from "valibot";
2
2
  import type { RequestParams } from "./addParams.js";
3
3
  import type { RequestBody } from "./request.js";
4
- export type Fetcher<S extends z.ZodTypeAny | null = null, R = void> = S extends null ? () => Promise<R> : (config: z.infer<NonNullable<S>>) => Promise<R>;
4
+ export type Fetcher<S extends BaseSchema | null = null, R = void> = S extends null ? () => Promise<R> : (config: Output<NonNullable<S>>) => Promise<R>;
5
5
  export declare const get: <T>(url: string, params?: RequestParams) => Promise<T>;
6
6
  export declare const post: <T>(url: string, body?: RequestBody) => Promise<T>;
7
7
  export declare const put: <T>(url: string, body?: RequestBody) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAC9C,qDAA+C;AAC/C,qDAA+C;AAIxC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAa,EACb,MAAM,GAAG,KAAK,EACd,IAAkB,EACN,EAAE;IACd,MAAM,KAAK,GAAG,2BAAO,CAAC,UAAU,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACxE;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,OAAO,EAAE;YACP,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,gBACzC,GAAG,CAAC,UACN,EAAE,CACH,CAAC;KACH;IAED,OAAO,IAAA,4BAAW,EAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AA5BW,QAAA,OAAO,WA4BlB"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAC9C,qDAA+C;AAC/C,qDAA+C;AAIxC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAa,EACb,MAAM,GAAG,KAAK,EACd,IAAkB,EACN,EAAE;IACd,MAAM,KAAK,GAAG,2BAAO,CAAC,UAAU,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,OAAO,EAAE;YACP,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,gBACzC,GAAG,CAAC,UACN,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,4BAAW,EAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AA5BW,QAAA,OAAO,WA4BlB"}
@@ -1,2 +1 @@
1
- import { z } from "zod";
2
- export declare const snowflake: z.ZodType<string, z.ZodTypeDef, string>;
1
+ export declare const snowflake: import("valibot").SpecialSchema<string, string>;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.snowflake = void 0;
4
- const zod_1 = require("zod");
4
+ const valibot_1 = require("valibot");
5
5
  const isNonNullable_js_1 = require("./isNonNullable.js");
6
- exports.snowflake = zod_1.z
7
- .custom((val) => {
8
- if ((0, isNonNullable_js_1.isNonNullable)(val) &&
9
- (typeof val === `bigint` ||
10
- typeof val === `number` ||
11
- typeof val === `string`)) {
12
- return (zod_1.z.coerce
13
- .date()
14
- // eslint-disable-next-line no-bitwise
15
- .safeParse(Number((BigInt(val) >> 22n) + 1420070400000n)));
16
- }
17
- return false;
18
- }, `Invalid Snowflake ID`)
19
- .describe(`Discord Snowflake ID`);
6
+ exports.snowflake = (0, valibot_1.special)((val) => (0, isNonNullable_js_1.isNonNullable)(val) &&
7
+ (typeof val === `bigint` ||
8
+ typeof val === `number` ||
9
+ typeof val === `string`)
10
+ ? (0, valibot_1.is)((0, valibot_1.coerce)((0, valibot_1.date)(), (input) => new Date(input)),
11
+ // eslint-disable-next-line no-bitwise
12
+ Number((BigInt(val) >> 22n) + 1420070400000n))
13
+ : false, `Invalid Snowflake ID`);
20
14
  //# sourceMappingURL=snowflake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../src/snowflake.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yDAAmD;AAEtC,QAAA,SAAS,GAAG,OAAC;KACvB,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE;IACtB,IACE,IAAA,gCAAa,EAAC,GAAG,CAAC;QAClB,CAAC,OAAO,GAAG,KAAK,QAAQ;YACtB,OAAO,GAAG,KAAK,QAAQ;YACvB,OAAO,GAAG,KAAK,QAAQ,CAAC,EAC1B;QACA,OAAO,CACL,OAAC,CAAC,MAAM;aACL,IAAI,EAAE;YACP,sCAAsC;aACrC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAC5D,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC,EAAE,sBAAsB,CAAC;KACzB,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../src/snowflake.ts"],"names":[],"mappings":";;;AAAA,qCAAoD;AACpD,yDAAmD;AAEtC,QAAA,SAAS,GAAG,IAAA,iBAAO,EAC9B,CAAC,GAAG,EAAE,EAAE,CACN,IAAA,gCAAa,EAAC,GAAG,CAAC;IAClB,CAAC,OAAO,GAAG,KAAK,QAAQ;QACtB,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,KAAK,QAAQ,CAAC;IACxB,CAAC,CAAC,IAAA,YAAE,EACA,IAAA,gBAAM,EAAC,IAAA,cAAI,GAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,sCAAsC;IACtC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAC9C;IACH,CAAC,CAAC,KAAK,EACX,sBAAsB,CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toCamelKeys.js","sourceRoot":"","sources":["../../src/toCamelKeys.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,qDAA+C;AAExC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAW,CAAgC,CAAC;KAC1D;SAAM,IAAI,IAAA,sBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,CAAC,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;KACvC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
1
+ {"version":3,"file":"toCamelKeys.js","sourceRoot":"","sources":["../../src/toCamelKeys.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,qDAA+C;AAExC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAW,CAAgC,CAAC;IAC3D,CAAC;SAAM,IAAI,IAAA,sBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,CAAC,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
@@ -1,15 +1,17 @@
1
- import type { z } from "zod";
1
+ import { type TypeSchema, type Infer, type InferIn, type Schema } from "@decs/typeschema";
2
+ import type { BaseSchema, Output } from "valibot";
2
3
  import type { AnyRootConfig, inferParser, Procedure, unsetMarker } from "@trpc/server";
3
4
  import type { Fetcher } from "./methods.js";
4
- type Result<T = void> = T extends z.ZodTypeAny ? z.infer<T> : T;
5
+ type Wrap<T extends Schema> = TypeSchema<Infer<T>, InferIn<T>>;
6
+ type Result<T = void> = T extends BaseSchema ? Output<T> : T;
5
7
  type UnsetMarker = typeof unsetMarker;
6
- type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends z.ZodTypeAny | null = null, O extends z.ZodTypeAny | null = null> = Procedure<T, {
8
+ type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends BaseSchema | null = null, O extends BaseSchema | null = null> = Procedure<T, {
7
9
  _config: AnyRootConfig;
8
10
  _ctx_out: object;
9
- _input_in: I extends z.ZodTypeAny ? inferParser<I>["in"] : UnsetMarker;
10
- _input_out: I extends z.ZodTypeAny ? inferParser<I>["out"] : UnsetMarker;
11
- _output_in: O extends z.ZodTypeAny ? inferParser<O>["in"] : UnsetMarker;
12
- _output_out: O extends z.ZodTypeAny ? inferParser<O>["out"] : UnsetMarker;
11
+ _input_in: I extends BaseSchema ? inferParser<Wrap<I>>["in"] : UnsetMarker;
12
+ _input_out: I extends BaseSchema ? inferParser<Wrap<I>>["out"] : UnsetMarker;
13
+ _output_in: O extends BaseSchema ? inferParser<Wrap<O>>["in"] : UnsetMarker;
14
+ _output_out: O extends BaseSchema ? inferParser<Wrap<O>>["out"] : UnsetMarker;
13
15
  _meta: object;
14
16
  }>;
15
17
  /**
@@ -18,7 +20,7 @@ type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends z.
18
20
  * builder of the given procedure type. This can then be used in a tRPC router
19
21
  * to scaffold an API route to forward a request to Discord's API.
20
22
  */
21
- export declare const toProcedure: <T extends "query" | "mutation" | "subscription", I extends z.ZodTypeAny | null = null, O extends z.ZodTypeAny | null = null>(type: T, fn: Fetcher<I extends z.ZodTypeAny ? I : z.ZodUnknown, Result<O>>, input?: I | undefined, output?: O | undefined) => (procedure: import("@trpc/server").ProcedureBuilder<{
23
+ export declare const toProcedure: <T extends "query" | "mutation" | "subscription", I extends BaseSchema | null = null, O extends BaseSchema | null = null>(type: T, fn: Fetcher<I extends BaseSchema ? I : null, Result<O>>, input?: I | undefined, output?: O | undefined) => (procedure: import("@trpc/server").ProcedureBuilder<{
22
24
  _config: import("@trpc/server").RootConfig<{
23
25
  ctx: object;
24
26
  meta: object;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toProcedure = void 0;
4
+ const typeschema_1 = require("@decs/typeschema");
4
5
  const isNonNullable_js_1 = require("./isNonNullable.js");
5
6
  /**
6
7
  * Given a {@link Fetcher | Fetcher} function and it's associated input and
@@ -12,16 +13,16 @@ const toProcedure = (type, fn, input, output) => (procedure) => {
12
13
  if ((0, isNonNullable_js_1.isNonNullable)(input) && (0, isNonNullable_js_1.isNonNullable)(output)) {
13
14
  // @ts-expect-error
14
15
  return procedure
15
- .input(input)
16
- .output(output)[type](async (opts) => fn(opts.input));
16
+ .input((0, typeschema_1.wrap)(input))
17
+ .output((0, typeschema_1.wrap)(output))[type](async (opts) => fn(opts.input));
17
18
  }
18
19
  if ((0, isNonNullable_js_1.isNonNullable)(input) && !(0, isNonNullable_js_1.isNonNullable)(output)) {
19
20
  // @ts-expect-error
20
- return procedure.input(input)[type](async (opts) => fn(opts.input));
21
+ return procedure.input((0, typeschema_1.wrap)(input))[type](async (opts) => fn(opts.input));
21
22
  }
22
23
  if (!(0, isNonNullable_js_1.isNonNullable)(input) && (0, isNonNullable_js_1.isNonNullable)(output)) {
23
24
  // @ts-expect-error
24
- return procedure.output(output)[type](async () => fn());
25
+ return procedure.output((0, typeschema_1.wrap)(output))[type](async () => fn());
25
26
  }
26
27
  // @ts-expect-error
27
28
  return procedure[type](async () => fn());
@@ -1 +1 @@
1
- {"version":3,"file":"toProcedure.js","sourceRoot":"","sources":["../../src/toProcedure.ts"],"names":[],"mappings":";;;AAQA,yDAAmD;AA0BnD;;;;;GAKG;AACI,MAAM,WAAW,GACtB,CAKE,IAAO,EACP,EAAiE,EACjE,KAAS,EACT,MAAU,EACV,EAAE,CACJ,CAAC,SAA2B,EAA0B,EAAE;IACtD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE;QACjD,mBAAmB;QACnB,OAAO,SAAS;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,MAAM,CAAC,CACd,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1C;IACD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE;QAClD,mBAAmB;QACnB,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACrE;IACD,IAAI,CAAC,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE;QAClD,mBAAmB;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;KACzD;IACD,mBAAmB;IACnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AA7BS,QAAA,WAAW,eA6BpB"}
1
+ {"version":3,"file":"toProcedure.js","sourceRoot":"","sources":["../../src/toProcedure.ts"],"names":[],"mappings":";;;AAAA,iDAM0B;AAS1B,yDAAmD;AAgCnD;;;;;GAKG;AACI,MAAM,WAAW,GACtB,CAKE,IAAO,EACP,EAAuD,EACvD,KAAS,EACT,MAAU,EACV,EAAE,CACJ,CAAC,SAA2B,EAA0B,EAAE;IACtD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QAClD,mBAAmB;QACnB,OAAO,SAAS;aACb,KAAK,CAAC,IAAA,iBAAI,EAAC,KAAK,CAAC,CAAC;aAClB,MAAM,CAAC,IAAA,iBAAI,EAAC,MAAM,CAAC,CAAC,CACpB,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QACnD,mBAAmB;QACnB,OAAO,SAAS,CAAC,KAAK,CAAC,IAAA,iBAAI,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,IAAA,gCAAa,EAAC,KAAK,CAAC,IAAI,IAAA,gCAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QACnD,mBAAmB;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,IAAA,iBAAI,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,mBAAmB;IACnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AA7BS,QAAA,WAAW,eA6BpB"}
@@ -1,9 +1,28 @@
1
- import type { QueryFunction } from "@tanstack/react-query";
2
- import type { z } from "zod";
1
+ import type { BaseSchema } from "valibot";
3
2
  import type { Fetcher } from "./methods.js";
3
+ interface Register {
4
+ }
5
+ type QueryKey = readonly unknown[];
6
+ type QueryMeta = Register extends {
7
+ queryMeta: infer TQueryMeta;
8
+ } ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>;
9
+ type FetchDirection = "backward" | "forward";
10
+ type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
11
+ queryKey: TQueryKey;
12
+ signal: AbortSignal;
13
+ meta: QueryMeta | undefined;
14
+ } : {
15
+ queryKey: TQueryKey;
16
+ signal: AbortSignal;
17
+ pageParam: TPageParam;
18
+ direction: FetchDirection;
19
+ meta: QueryMeta | undefined;
20
+ };
21
+ export type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Promise<T> | T;
4
22
  /**
5
23
  * Given a {@link Fetcher | Fetcher} function, transforms it into a curried function
6
24
  * which can then be used with React-Query as a query function without
7
25
  * the need for any additional boilerplate.
8
26
  */
9
- export declare const toQuery: <S extends z.ZodTypeAny | null, R, T extends Fetcher<S, R>>(fn: T) => Parameters<T>["length"] extends 0 ? () => QueryFunction<Awaited<ReturnType<T>>> : (config: Parameters<T>[0]) => QueryFunction<Awaited<ReturnType<T>>>;
27
+ export declare const toQuery: <S extends BaseSchema | null, R, T extends Fetcher<S, R>>(fn: T) => Parameters<T>["length"] extends 0 ? () => QueryFunction<Awaited<ReturnType<T>>, QueryKey, never> : (config: Parameters<T>[0]) => QueryFunction<Awaited<ReturnType<T>>, QueryKey, never>;
28
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AACI,MAAM,OAAO,GAClB,CACE,EAAK,EAGiE,EAAE;AAC1E,mBAAmB;AACnB,CAAC,GAAG,MAAiB,EAAE,EAAE,CACzB,KAAK,IAAI,EAAE,CACT,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AATL,QAAA,OAAO,WASF"}
1
+ {"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":";;;AAoCA;;;;GAIG;AACI,MAAM,OAAO,GAClB,CACE,EAAK,EAGiE,EAAE;AAC1E,mBAAmB;AACnB,CAAC,GAAG,MAAiB,EAAE,EAAE,CACzB,KAAK,IAAI,EAAE,CACT,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AATL,QAAA,OAAO,WASF"}
@@ -1 +1 @@
1
- {"version":3,"file":"toSnakeKeys.js","sourceRoot":"","sources":["../../src/toSnakeKeys.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,qDAA+C;AAExC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAW,CAAgC,CAAC;KAC1D;SAAM,IAAI,IAAA,sBAAQ,EAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,CAAC,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;KACvC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
1
+ {"version":3,"file":"toSnakeKeys.js","sourceRoot":"","sources":["../../src/toSnakeKeys.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,qDAA+C;AAExC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAW,CAAgC,CAAC;IAC3D,CAAC;SAAM,IAAI,IAAA,sBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,IAAA,4BAAW,EAAC,GAAG,CAAC,CAAC,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB"}
@@ -1,6 +1,6 @@
1
- import type { z } from "zod";
1
+ import type { BaseSchema, Output } from "valibot";
2
2
  import type { Fetcher } from "./methods.js";
3
- type ToValidated = <F extends Fetcher<null, null> | Fetcher<null, z.infer<z.ZodTypeAny>> | Fetcher<z.ZodTypeAny, z.infer<z.ZodTypeAny>> | Fetcher<z.ZodTypeAny>>(...args: F extends Fetcher<infer I, ReturnType<F> extends Promise<void> ? never : z.infer<infer O & z.ZodTypeAny>> ? [fn: F, input: I, output: O] : F extends Fetcher<null, ReturnType<F> extends Promise<void> ? never : z.infer<infer O & z.ZodTypeAny>> ? [fn: F, input: null, output: O] : F extends Fetcher<infer I> ? [fn: F, input: I] : F extends Fetcher<null, null> ? [fn: F] : never) => F;
3
+ type ToValidated = <F extends Fetcher<BaseSchema, Output<BaseSchema>> | Fetcher<BaseSchema> | Fetcher<null, null> | Fetcher<null, Output<BaseSchema>>>(...args: F extends Fetcher<infer I, ReturnType<F> extends Promise<void> ? never : Output<BaseSchema & infer O>> ? [fn: F, input: I, output: O] : F extends Fetcher<null, ReturnType<F> extends Promise<void> ? never : Output<BaseSchema & infer O>> ? [fn: F, input: null, output: O] : F extends Fetcher<infer I> ? [fn: F, input: I] : F extends Fetcher<null, null> ? [fn: F] : never) => F;
4
4
  /**
5
5
  * Given a {@link Fetcher | Fetcher} function and it's associated input
6
6
  * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toValidated = void 0;
4
4
  const isNonNullable_js_1 = require("./isNonNullable.js");
5
5
  const isObject_js_1 = require("./isObject.js");
6
- const isSchema = (val) => (0, isNonNullable_js_1.isNonNullable)(val) && (0, isObject_js_1.isObject)(val) && `parse` in val;
6
+ const isSchema = (val) => (0, isNonNullable_js_1.isNonNullable)(val) && (0, isObject_js_1.isObject)(val) && `_parse` in val;
7
7
  /**
8
8
  * Given a {@link Fetcher | Fetcher} function and it's associated input
9
9
  * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
@@ -15,11 +15,11 @@ const toValidated = (fn, input, output) =>
15
15
  // @ts-expect-error
16
16
  async (config) => {
17
17
  if (isSchema(input)) {
18
- input.parse(config);
18
+ input._parse(config);
19
19
  }
20
20
  const result = await fn(config);
21
21
  if (isSchema(output)) {
22
- output.parse(result);
22
+ output._parse(result);
23
23
  }
24
24
  return result;
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toValidated.js","sourceRoot":"","sources":["../../src/toValidated.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AACnD,+CAAyC;AAGzC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAuB,EAAE,CACrD,IAAA,gCAAa,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC;AA8BxD;;;;;;GAMG;AACI,MAAM,WAAW,GACtB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACtB,mBAAmB;AACnB,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAfS,QAAA,WAAW,eAepB"}
1
+ {"version":3,"file":"toValidated.js","sourceRoot":"","sources":["../../src/toValidated.ts"],"names":[],"mappings":";;;AACA,yDAAmD;AACnD,+CAAyC;AAGzC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAqB,EAAE,CACnD,IAAA,gCAAa,EAAC,GAAG,CAAC,IAAI,IAAA,sBAAQ,EAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC;AA4BzD;;;;;;GAMG;AACI,MAAM,WAAW,GACtB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACtB,mBAAmB;AACnB,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAfS,QAAA,WAAW,eAepB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordSession.js","sourceRoot":"","sources":["../../src/DiscordSession.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAEvD,gBAAgB;AAChB,MAAM,OAAO,cAAc;IACzB,QAAQ,GAAW,QAAQ,CAAC;IAC5B,UAAU,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,SAAyB;QACnC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC7D,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,EAAE,CACvE,CAAC;SACH;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC,CAAC;IAEF,YAAY,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,UAAU,GAAG,GAAW,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;CACH;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"DiscordSession.js","sourceRoot":"","sources":["../../src/DiscordSession.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAEvD,gBAAgB;AAChB,MAAM,OAAO,cAAc;IACzB,QAAQ,GAAW,QAAQ,CAAC;IAC5B,UAAU,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,SAAyB;QACnC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,EAAE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC,CAAC;IAEF,YAAY,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,UAAU,GAAG,GAAW,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;CACH;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addParams.js","sourceRoot":"","sources":["../../src/addParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,MAAS,EACJ,EAAE;IACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"addParams.js","sourceRoot":"","sources":["../../src/addParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,MAAS,EACJ,EAAE;IACP,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { z } from "zod";
1
+ import type { BaseSchema, Output } from "valibot";
2
2
  import type { RequestParams } from "./addParams.js";
3
3
  import type { RequestBody } from "./request.js";
4
- export type Fetcher<S extends z.ZodTypeAny | null = null, R = void> = S extends null ? () => Promise<R> : (config: z.infer<NonNullable<S>>) => Promise<R>;
4
+ export type Fetcher<S extends BaseSchema | null = null, R = void> = S extends null ? () => Promise<R> : (config: Output<NonNullable<S>>) => Promise<R>;
5
5
  export declare const get: <T>(url: string, params?: RequestParams) => Promise<T>;
6
6
  export declare const post: <T>(url: string, body?: RequestBody) => Promise<T>;
7
7
  export declare const put: <T>(url: string, body?: RequestBody) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAa,EACb,MAAM,GAAG,KAAK,EACd,IAAkB,EACN,EAAE;IACd,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACxE;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,OAAO,EAAE;YACP,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,gBACzC,GAAG,CAAC,UACN,EAAE,CACH,CAAC;KACH;IAED,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,QAAa,EACb,MAAM,GAAG,KAAK,EACd,IAAkB,EACN,EAAE;IACd,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACrD,OAAO,EAAE;YACP,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,QAAQ,EAAE,gBACzC,GAAG,CAAC,UACN,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC"}
@@ -1,2 +1 @@
1
- import { z } from "zod";
2
- export declare const snowflake: z.ZodType<string, z.ZodTypeDef, string>;
1
+ export declare const snowflake: import("valibot").SpecialSchema<string, string>;
@@ -1,17 +1,11 @@
1
- import { z } from "zod";
1
+ import { special, coerce, date, is } from "valibot";
2
2
  import { isNonNullable } from "./isNonNullable.js";
3
- export const snowflake = z
4
- .custom((val) => {
5
- if (isNonNullable(val) &&
6
- (typeof val === `bigint` ||
7
- typeof val === `number` ||
8
- typeof val === `string`)) {
9
- return (z.coerce
10
- .date()
11
- // eslint-disable-next-line no-bitwise
12
- .safeParse(Number((BigInt(val) >> 22n) + 1420070400000n)));
13
- }
14
- return false;
15
- }, `Invalid Snowflake ID`)
16
- .describe(`Discord Snowflake ID`);
3
+ export const snowflake = special((val) => isNonNullable(val) &&
4
+ (typeof val === `bigint` ||
5
+ typeof val === `number` ||
6
+ typeof val === `string`)
7
+ ? is(coerce(date(), (input) => new Date(input)),
8
+ // eslint-disable-next-line no-bitwise
9
+ Number((BigInt(val) >> 22n) + 1420070400000n))
10
+ : false, `Invalid Snowflake ID`);
17
11
  //# sourceMappingURL=snowflake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../src/snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,MAAM,CAAS,CAAC,GAAG,EAAE,EAAE;IACtB,IACE,aAAa,CAAC,GAAG,CAAC;QAClB,CAAC,OAAO,GAAG,KAAK,QAAQ;YACtB,OAAO,GAAG,KAAK,QAAQ;YACvB,OAAO,GAAG,KAAK,QAAQ,CAAC,EAC1B;QACA,OAAO,CACL,CAAC,CAAC,MAAM;aACL,IAAI,EAAE;YACP,sCAAsC;aACrC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAC5D,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC,EAAE,sBAAsB,CAAC;KACzB,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../../src/snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,CAAC,GAAG,EAAE,EAAE,CACN,aAAa,CAAC,GAAG,CAAC;IAClB,CAAC,OAAO,GAAG,KAAK,QAAQ;QACtB,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,KAAK,QAAQ,CAAC;IACxB,CAAC,CAAC,EAAE,CACA,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,sCAAsC;IACtC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAC9C;IACH,CAAC,CAAC,KAAK,EACX,sBAAsB,CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toCamelKeys.js","sourceRoot":"","sources":["../../src/toCamelKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAgC,CAAC;KAC1D;SAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;KACvC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"toCamelKeys.js","sourceRoot":"","sources":["../../src/toCamelKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAgC,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
@@ -1,15 +1,17 @@
1
- import type { z } from "zod";
1
+ import { type TypeSchema, type Infer, type InferIn, type Schema } from "@decs/typeschema";
2
+ import type { BaseSchema, Output } from "valibot";
2
3
  import type { AnyRootConfig, inferParser, Procedure, unsetMarker } from "@trpc/server";
3
4
  import type { Fetcher } from "./methods.js";
4
- type Result<T = void> = T extends z.ZodTypeAny ? z.infer<T> : T;
5
+ type Wrap<T extends Schema> = TypeSchema<Infer<T>, InferIn<T>>;
6
+ type Result<T = void> = T extends BaseSchema ? Output<T> : T;
5
7
  type UnsetMarker = typeof unsetMarker;
6
- type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends z.ZodTypeAny | null = null, O extends z.ZodTypeAny | null = null> = Procedure<T, {
8
+ type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends BaseSchema | null = null, O extends BaseSchema | null = null> = Procedure<T, {
7
9
  _config: AnyRootConfig;
8
10
  _ctx_out: object;
9
- _input_in: I extends z.ZodTypeAny ? inferParser<I>["in"] : UnsetMarker;
10
- _input_out: I extends z.ZodTypeAny ? inferParser<I>["out"] : UnsetMarker;
11
- _output_in: O extends z.ZodTypeAny ? inferParser<O>["in"] : UnsetMarker;
12
- _output_out: O extends z.ZodTypeAny ? inferParser<O>["out"] : UnsetMarker;
11
+ _input_in: I extends BaseSchema ? inferParser<Wrap<I>>["in"] : UnsetMarker;
12
+ _input_out: I extends BaseSchema ? inferParser<Wrap<I>>["out"] : UnsetMarker;
13
+ _output_in: O extends BaseSchema ? inferParser<Wrap<O>>["in"] : UnsetMarker;
14
+ _output_out: O extends BaseSchema ? inferParser<Wrap<O>>["out"] : UnsetMarker;
13
15
  _meta: object;
14
16
  }>;
15
17
  /**
@@ -18,7 +20,7 @@ type BaseProcedure<T extends "mutation" | "query" | "subscription", I extends z.
18
20
  * builder of the given procedure type. This can then be used in a tRPC router
19
21
  * to scaffold an API route to forward a request to Discord's API.
20
22
  */
21
- export declare const toProcedure: <T extends "query" | "mutation" | "subscription", I extends z.ZodTypeAny | null = null, O extends z.ZodTypeAny | null = null>(type: T, fn: Fetcher<I extends z.ZodTypeAny ? I : z.ZodUnknown, Result<O>>, input?: I | undefined, output?: O | undefined) => (procedure: import("@trpc/server").ProcedureBuilder<{
23
+ export declare const toProcedure: <T extends "query" | "mutation" | "subscription", I extends BaseSchema | null = null, O extends BaseSchema | null = null>(type: T, fn: Fetcher<I extends BaseSchema ? I : null, Result<O>>, input?: I | undefined, output?: O | undefined) => (procedure: import("@trpc/server").ProcedureBuilder<{
22
24
  _config: import("@trpc/server").RootConfig<{
23
25
  ctx: object;
24
26
  meta: object;
@@ -1,3 +1,4 @@
1
+ import { wrap } from "@decs/typeschema";
1
2
  import { isNonNullable } from "./isNonNullable.js";
2
3
  /**
3
4
  * Given a {@link Fetcher | Fetcher} function and it's associated input and
@@ -9,16 +10,16 @@ export const toProcedure = (type, fn, input, output) => (procedure) => {
9
10
  if (isNonNullable(input) && isNonNullable(output)) {
10
11
  // @ts-expect-error
11
12
  return procedure
12
- .input(input)
13
- .output(output)[type](async (opts) => fn(opts.input));
13
+ .input(wrap(input))
14
+ .output(wrap(output))[type](async (opts) => fn(opts.input));
14
15
  }
15
16
  if (isNonNullable(input) && !isNonNullable(output)) {
16
17
  // @ts-expect-error
17
- return procedure.input(input)[type](async (opts) => fn(opts.input));
18
+ return procedure.input(wrap(input))[type](async (opts) => fn(opts.input));
18
19
  }
19
20
  if (!isNonNullable(input) && isNonNullable(output)) {
20
21
  // @ts-expect-error
21
- return procedure.output(output)[type](async () => fn());
22
+ return procedure.output(wrap(output))[type](async () => fn());
22
23
  }
23
24
  // @ts-expect-error
24
25
  return procedure[type](async () => fn());
@@ -1 +1 @@
1
- {"version":3,"file":"toProcedure.js","sourceRoot":"","sources":["../../src/toProcedure.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0BnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAKE,IAAO,EACP,EAAiE,EACjE,KAAS,EACT,MAAU,EACV,EAAE,CACJ,CAAC,SAA2B,EAA0B,EAAE;IACtD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QACjD,mBAAmB;QACnB,OAAO,SAAS;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,MAAM,CAAC,CACd,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1C;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QAClD,mBAAmB;QACnB,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACrE;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;QAClD,mBAAmB;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;KACzD;IACD,mBAAmB;IACnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"toProcedure.js","sourceRoot":"","sources":["../../src/toProcedure.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAKL,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAgCnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAKE,IAAO,EACP,EAAuD,EACvD,KAAS,EACT,MAAU,EACV,EAAE,CACJ,CAAC,SAA2B,EAA0B,EAAE;IACtD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,mBAAmB;QACnB,OAAO,SAAS;aACb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACpB,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,mBAAmB;QACnB,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,mBAAmB;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,mBAAmB;IACnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,9 +1,28 @@
1
- import type { QueryFunction } from "@tanstack/react-query";
2
- import type { z } from "zod";
1
+ import type { BaseSchema } from "valibot";
3
2
  import type { Fetcher } from "./methods.js";
3
+ interface Register {
4
+ }
5
+ type QueryKey = readonly unknown[];
6
+ type QueryMeta = Register extends {
7
+ queryMeta: infer TQueryMeta;
8
+ } ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>;
9
+ type FetchDirection = "backward" | "forward";
10
+ type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
11
+ queryKey: TQueryKey;
12
+ signal: AbortSignal;
13
+ meta: QueryMeta | undefined;
14
+ } : {
15
+ queryKey: TQueryKey;
16
+ signal: AbortSignal;
17
+ pageParam: TPageParam;
18
+ direction: FetchDirection;
19
+ meta: QueryMeta | undefined;
20
+ };
21
+ export type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = (context: QueryFunctionContext<TQueryKey, TPageParam>) => Promise<T> | T;
4
22
  /**
5
23
  * Given a {@link Fetcher | Fetcher} function, transforms it into a curried function
6
24
  * which can then be used with React-Query as a query function without
7
25
  * the need for any additional boilerplate.
8
26
  */
9
- export declare const toQuery: <S extends z.ZodTypeAny | null, R, T extends Fetcher<S, R>>(fn: T) => Parameters<T>["length"] extends 0 ? () => QueryFunction<Awaited<ReturnType<T>>> : (config: Parameters<T>[0]) => QueryFunction<Awaited<ReturnType<T>>>;
27
+ export declare const toQuery: <S extends BaseSchema | null, R, T extends Fetcher<S, R>>(fn: T) => Parameters<T>["length"] extends 0 ? () => QueryFunction<Awaited<ReturnType<T>>, QueryKey, never> : (config: Parameters<T>[0]) => QueryFunction<Awaited<ReturnType<T>>, QueryKey, never>;
28
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAClB,CACE,EAAK,EAGiE,EAAE;AAC1E,mBAAmB;AACnB,CAAC,GAAG,MAAiB,EAAE,EAAE,CACzB,KAAK,IAAI,EAAE,CACT,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":"AAoCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAClB,CACE,EAAK,EAGiE,EAAE;AAC1E,mBAAmB;AACnB,CAAC,GAAG,MAAiB,EAAE,EAAE,CACzB,KAAK,IAAI,EAAE,CACT,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toSnakeKeys.js","sourceRoot":"","sources":["../../src/toSnakeKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAgC,CAAC;KAC1D;SAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;KACvC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"toSnakeKeys.js","sourceRoot":"","sources":["../../src/toSnakeKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,CAAI,EACyB,EAAE;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAgC,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAgC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { z } from "zod";
1
+ import type { BaseSchema, Output } from "valibot";
2
2
  import type { Fetcher } from "./methods.js";
3
- type ToValidated = <F extends Fetcher<null, null> | Fetcher<null, z.infer<z.ZodTypeAny>> | Fetcher<z.ZodTypeAny, z.infer<z.ZodTypeAny>> | Fetcher<z.ZodTypeAny>>(...args: F extends Fetcher<infer I, ReturnType<F> extends Promise<void> ? never : z.infer<infer O & z.ZodTypeAny>> ? [fn: F, input: I, output: O] : F extends Fetcher<null, ReturnType<F> extends Promise<void> ? never : z.infer<infer O & z.ZodTypeAny>> ? [fn: F, input: null, output: O] : F extends Fetcher<infer I> ? [fn: F, input: I] : F extends Fetcher<null, null> ? [fn: F] : never) => F;
3
+ type ToValidated = <F extends Fetcher<BaseSchema, Output<BaseSchema>> | Fetcher<BaseSchema> | Fetcher<null, null> | Fetcher<null, Output<BaseSchema>>>(...args: F extends Fetcher<infer I, ReturnType<F> extends Promise<void> ? never : Output<BaseSchema & infer O>> ? [fn: F, input: I, output: O] : F extends Fetcher<null, ReturnType<F> extends Promise<void> ? never : Output<BaseSchema & infer O>> ? [fn: F, input: null, output: O] : F extends Fetcher<infer I> ? [fn: F, input: I] : F extends Fetcher<null, null> ? [fn: F] : never) => F;
4
4
  /**
5
5
  * Given a {@link Fetcher | Fetcher} function and it's associated input
6
6
  * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
@@ -1,6 +1,6 @@
1
1
  import { isNonNullable } from "./isNonNullable.js";
2
2
  import { isObject } from "./isObject.js";
3
- const isSchema = (val) => isNonNullable(val) && isObject(val) && `parse` in val;
3
+ const isSchema = (val) => isNonNullable(val) && isObject(val) && `_parse` in val;
4
4
  /**
5
5
  * Given a {@link Fetcher | Fetcher} function and it's associated input
6
6
  * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
@@ -12,11 +12,11 @@ export const toValidated = (fn, input, output) =>
12
12
  // @ts-expect-error
13
13
  async (config) => {
14
14
  if (isSchema(input)) {
15
- input.parse(config);
15
+ input._parse(config);
16
16
  }
17
17
  const result = await fn(config);
18
18
  if (isSchema(output)) {
19
- output.parse(result);
19
+ output._parse(result);
20
20
  }
21
21
  return result;
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toValidated.js","sourceRoot":"","sources":["../../src/toValidated.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAuB,EAAE,CACrD,aAAa,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC;AA8BxD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACtB,mBAAmB;AACnB,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"toValidated.js","sourceRoot":"","sources":["../../src/toValidated.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAqB,EAAE,CACnD,aAAa,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,GAAG,CAAC;AA4BzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACtB,mBAAmB;AACnB,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@discordkit/core",
3
3
  "description": "Core utility functions for Discordkit",
4
- "version": "1.0.3",
4
+ "version": "1.1.0-next.1",
5
5
  "license": "MIT",
6
6
  "author": "Drake Costa <drake@saeris.gg> (https://saeris.gg)",
7
7
  "keywords": [
8
8
  "discordkit",
9
9
  "core",
10
- "itilities"
10
+ "utilities"
11
11
  ],
12
12
  "homepage": "https://github.com/discordkit/discordkit#readme",
13
13
  "repository": {
@@ -23,11 +23,16 @@
23
23
  "main": "./dist/cjs/index.js",
24
24
  "module": "./dist/esm/index.js",
25
25
  "types": "./dist/esm/index.d.ts",
26
+ "imports": {
27
+ "#test-utils": "../../scripts/test-utils.ts"
28
+ },
26
29
  "exports": {
27
30
  ".": {
28
- "types": "./dist/esm/index.d.ts",
29
31
  "module": "./dist/esm/index.js",
30
- "import": "./dist/esm/index.js",
32
+ "import": {
33
+ "types": "./dist/esm/index.d.ts",
34
+ "default": "./dist/esm/index.js"
35
+ },
31
36
  "require": {
32
37
  "types": "./dist/cjs/index.d.ts",
33
38
  "default": "./dist/cjs/index.js"
@@ -35,9 +40,11 @@
35
40
  "default": "./dist/esm/index.js"
36
41
  },
37
42
  "./*": {
38
- "types": "./dist/esm/*.d.ts",
39
43
  "module": "./dist/esm/*.js",
40
- "import": "./dist/esm/*.js",
44
+ "import": {
45
+ "types": "./dist/esm/*.d.ts",
46
+ "default": "./dist/esm/*.js"
47
+ },
41
48
  "require": {
42
49
  "types": "./dist/cjs/*.d.ts",
43
50
  "default": "./dist/cjs/*.js"
@@ -56,9 +63,12 @@
56
63
  "build:cjs": "tsc --project ./tsconfig.build.json --outdir dist/cjs --module commonjs --moduleresolution node"
57
64
  },
58
65
  "peerDependencies": {
59
- "zod": "^3.17.3"
66
+ "valibot": ">= 0.21.0"
60
67
  },
61
68
  "devDependencies": {
62
- "typescript": "^5.2.2"
69
+ "typescript": "^5.3.2"
70
+ },
71
+ "dependencies": {
72
+ "@decs/typeschema": "^0.12.1"
63
73
  }
64
74
  }