@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.
- package/dist/cjs/DiscordSession.js.map +1 -1
- package/dist/cjs/addParams.js.map +1 -1
- package/dist/cjs/methods.d.ts +2 -2
- package/dist/cjs/request.js.map +1 -1
- package/dist/cjs/snowflake.d.ts +1 -2
- package/dist/cjs/snowflake.js +9 -15
- package/dist/cjs/snowflake.js.map +1 -1
- package/dist/cjs/toCamelKeys.js.map +1 -1
- package/dist/cjs/toProcedure.d.ts +10 -8
- package/dist/cjs/toProcedure.js +5 -4
- package/dist/cjs/toProcedure.js.map +1 -1
- package/dist/cjs/toQuery.d.ts +22 -3
- package/dist/cjs/toQuery.js.map +1 -1
- package/dist/cjs/toSnakeKeys.js.map +1 -1
- package/dist/cjs/toValidated.d.ts +2 -2
- package/dist/cjs/toValidated.js +3 -3
- package/dist/cjs/toValidated.js.map +1 -1
- package/dist/esm/DiscordSession.js.map +1 -1
- package/dist/esm/addParams.js.map +1 -1
- package/dist/esm/methods.d.ts +2 -2
- package/dist/esm/request.js.map +1 -1
- package/dist/esm/snowflake.d.ts +1 -2
- package/dist/esm/snowflake.js +9 -15
- package/dist/esm/snowflake.js.map +1 -1
- package/dist/esm/toCamelKeys.js.map +1 -1
- package/dist/esm/toProcedure.d.ts +10 -8
- package/dist/esm/toProcedure.js +5 -4
- package/dist/esm/toProcedure.js.map +1 -1
- package/dist/esm/toQuery.d.ts +22 -3
- package/dist/esm/toQuery.js.map +1 -1
- package/dist/esm/toSnakeKeys.js.map +1 -1
- package/dist/esm/toValidated.d.ts +2 -2
- package/dist/esm/toValidated.js +3 -3
- package/dist/esm/toValidated.js.map +1 -1
- package/package.json +18 -8
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/cjs/methods.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
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
|
|
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>;
|
package/dist/cjs/request.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/cjs/snowflake.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const snowflake: z.ZodType<string, z.ZodTypeDef, string>;
|
|
1
|
+
export declare const snowflake: import("valibot").SpecialSchema<string, string>;
|
package/dist/cjs/snowflake.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.snowflake = void 0;
|
|
4
|
-
const
|
|
4
|
+
const valibot_1 = require("valibot");
|
|
5
5
|
const isNonNullable_js_1 = require("./isNonNullable.js");
|
|
6
|
-
exports.snowflake =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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,
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
10
|
-
_input_out: I extends
|
|
11
|
-
_output_in: O extends
|
|
12
|
-
_output_out: O extends
|
|
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
|
|
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;
|
package/dist/cjs/toProcedure.js
CHANGED
|
@@ -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":";;;
|
|
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"}
|
package/dist/cjs/toQuery.d.ts
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
import type {
|
|
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
|
|
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 {};
|
package/dist/cjs/toQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":";;;
|
|
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;
|
|
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 {
|
|
1
|
+
import type { BaseSchema, Output } from "valibot";
|
|
2
2
|
import type { Fetcher } from "./methods.js";
|
|
3
|
-
type ToValidated = <F extends Fetcher<
|
|
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.
|
package/dist/cjs/toValidated.js
CHANGED
|
@@ -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) && `
|
|
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.
|
|
18
|
+
input._parse(config);
|
|
19
19
|
}
|
|
20
20
|
const result = await fn(config);
|
|
21
21
|
if (isSchema(output)) {
|
|
22
|
-
output.
|
|
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,
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/esm/methods.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
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
|
|
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>;
|
package/dist/esm/request.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/esm/snowflake.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const snowflake: z.ZodType<string, z.ZodTypeDef, string>;
|
|
1
|
+
export declare const snowflake: import("valibot").SpecialSchema<string, string>;
|
package/dist/esm/snowflake.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { special, coerce, date, is } from "valibot";
|
|
2
2
|
import { isNonNullable } from "./isNonNullable.js";
|
|
3
|
-
export const snowflake =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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,
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
|
10
|
-
_input_out: I extends
|
|
11
|
-
_output_in: O extends
|
|
12
|
-
_output_out: O extends
|
|
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
|
|
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;
|
package/dist/esm/toProcedure.js
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/esm/toQuery.d.ts
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
import type {
|
|
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
|
|
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 {};
|
package/dist/esm/toQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toQuery.js","sourceRoot":"","sources":["../../src/toQuery.ts"],"names":[],"mappings":"
|
|
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;
|
|
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 {
|
|
1
|
+
import type { BaseSchema, Output } from "valibot";
|
|
2
2
|
import type { Fetcher } from "./methods.js";
|
|
3
|
-
type ToValidated = <F extends Fetcher<
|
|
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.
|
package/dist/esm/toValidated.js
CHANGED
|
@@ -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) && `
|
|
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.
|
|
15
|
+
input._parse(config);
|
|
16
16
|
}
|
|
17
17
|
const result = await fn(config);
|
|
18
18
|
if (isSchema(output)) {
|
|
19
|
-
output.
|
|
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,
|
|
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.
|
|
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
|
-
"
|
|
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":
|
|
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":
|
|
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
|
-
"
|
|
66
|
+
"valibot": ">= 0.21.0"
|
|
60
67
|
},
|
|
61
68
|
"devDependencies": {
|
|
62
|
-
"typescript": "^5.
|
|
69
|
+
"typescript": "^5.3.2"
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@decs/typeschema": "^0.12.1"
|
|
63
73
|
}
|
|
64
74
|
}
|