@discordkit/core 1.1.0-next.1 → 2.0.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.
Files changed (127) hide show
  1. package/dist/DiscordSession.js.map +1 -0
  2. package/dist/addParams.d.ts +2 -0
  3. package/dist/addParams.js.map +1 -0
  4. package/dist/buildURL.d.ts +2 -0
  5. package/dist/buildURL.js.map +1 -0
  6. package/dist/getAsset.js.map +1 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/{cjs/isNonNullable.d.ts → isNonNullable.d.ts} +3 -1
  9. package/dist/isNonNullable.js.map +1 -0
  10. package/dist/isObject.js.map +1 -0
  11. package/dist/{cjs/methods.d.ts → methods.d.ts} +6 -2
  12. package/dist/methods.js.map +1 -0
  13. package/dist/request.js.map +1 -0
  14. package/dist/snowflake.d.ts +1 -0
  15. package/dist/snowflake.js +9 -0
  16. package/dist/snowflake.js.map +1 -0
  17. package/dist/toCamelCase.js.map +1 -0
  18. package/dist/toCamelKeys.js.map +1 -0
  19. package/dist/toProcedure.d.ts +31 -0
  20. package/dist/{esm/toProcedure.js → toProcedure.js} +4 -5
  21. package/dist/toProcedure.js.map +1 -0
  22. package/dist/{cjs/toQuery.d.ts → toQuery.d.ts} +3 -3
  23. package/dist/toQuery.js.map +1 -0
  24. package/dist/toSnakeCase.js.map +1 -0
  25. package/dist/toSnakeKeys.js.map +1 -0
  26. package/dist/toValidated.d.ts +13 -0
  27. package/dist/toValidated.js +23 -0
  28. package/dist/toValidated.js.map +1 -0
  29. package/package.json +12 -31
  30. package/dist/cjs/DiscordSession.js +0 -44
  31. package/dist/cjs/DiscordSession.js.map +0 -1
  32. package/dist/cjs/addParams.d.ts +0 -2
  33. package/dist/cjs/addParams.js +0 -15
  34. package/dist/cjs/addParams.js.map +0 -1
  35. package/dist/cjs/buildURL.d.ts +0 -1
  36. package/dist/cjs/buildURL.js +0 -8
  37. package/dist/cjs/buildURL.js.map +0 -1
  38. package/dist/cjs/getAsset.js +0 -7
  39. package/dist/cjs/getAsset.js.map +0 -1
  40. package/dist/cjs/index.js +0 -15
  41. package/dist/cjs/index.js.map +0 -1
  42. package/dist/cjs/isNonNullable.js +0 -24
  43. package/dist/cjs/isNonNullable.js.map +0 -1
  44. package/dist/cjs/isObject.js +0 -6
  45. package/dist/cjs/isObject.js.map +0 -1
  46. package/dist/cjs/methods.js +0 -16
  47. package/dist/cjs/methods.js.map +0 -1
  48. package/dist/cjs/request.js +0 -25
  49. package/dist/cjs/request.js.map +0 -1
  50. package/dist/cjs/snowflake.d.ts +0 -1
  51. package/dist/cjs/snowflake.js +0 -14
  52. package/dist/cjs/snowflake.js.map +0 -1
  53. package/dist/cjs/toCamelCase.js +0 -6
  54. package/dist/cjs/toCamelCase.js.map +0 -1
  55. package/dist/cjs/toCamelKeys.js +0 -19
  56. package/dist/cjs/toCamelKeys.js.map +0 -1
  57. package/dist/cjs/toProcedure.d.ts +0 -37
  58. package/dist/cjs/toProcedure.js +0 -31
  59. package/dist/cjs/toProcedure.js.map +0 -1
  60. package/dist/cjs/toQuery.js +0 -13
  61. package/dist/cjs/toQuery.js.map +0 -1
  62. package/dist/cjs/toSnakeCase.js +0 -8
  63. package/dist/cjs/toSnakeCase.js.map +0 -1
  64. package/dist/cjs/toSnakeKeys.js +0 -19
  65. package/dist/cjs/toSnakeKeys.js.map +0 -1
  66. package/dist/cjs/toValidated.d.ts +0 -12
  67. package/dist/cjs/toValidated.js +0 -27
  68. package/dist/cjs/toValidated.js.map +0 -1
  69. package/dist/esm/DiscordSession.d.ts +0 -16
  70. package/dist/esm/DiscordSession.js.map +0 -1
  71. package/dist/esm/addParams.d.ts +0 -2
  72. package/dist/esm/addParams.js.map +0 -1
  73. package/dist/esm/buildURL.d.ts +0 -1
  74. package/dist/esm/buildURL.js.map +0 -1
  75. package/dist/esm/getAsset.d.ts +0 -2
  76. package/dist/esm/getAsset.js.map +0 -1
  77. package/dist/esm/index.d.ts +0 -8
  78. package/dist/esm/index.js.map +0 -1
  79. package/dist/esm/isNonNullable.d.ts +0 -19
  80. package/dist/esm/isNonNullable.js.map +0 -1
  81. package/dist/esm/isObject.d.ts +0 -1
  82. package/dist/esm/isObject.js.map +0 -1
  83. package/dist/esm/methods.d.ts +0 -9
  84. package/dist/esm/methods.js.map +0 -1
  85. package/dist/esm/request.d.ts +0 -2
  86. package/dist/esm/request.js.map +0 -1
  87. package/dist/esm/snowflake.d.ts +0 -1
  88. package/dist/esm/snowflake.js +0 -11
  89. package/dist/esm/snowflake.js.map +0 -1
  90. package/dist/esm/toCamelCase.d.ts +0 -1
  91. package/dist/esm/toCamelCase.js.map +0 -1
  92. package/dist/esm/toCamelKeys.d.ts +0 -2
  93. package/dist/esm/toCamelKeys.js.map +0 -1
  94. package/dist/esm/toProcedure.d.ts +0 -37
  95. package/dist/esm/toProcedure.js.map +0 -1
  96. package/dist/esm/toQuery.d.ts +0 -28
  97. package/dist/esm/toQuery.js.map +0 -1
  98. package/dist/esm/toSnakeCase.d.ts +0 -1
  99. package/dist/esm/toSnakeCase.js.map +0 -1
  100. package/dist/esm/toSnakeKeys.d.ts +0 -2
  101. package/dist/esm/toSnakeKeys.js.map +0 -1
  102. package/dist/esm/toValidated.d.ts +0 -12
  103. package/dist/esm/toValidated.js +0 -23
  104. package/dist/esm/toValidated.js.map +0 -1
  105. /package/dist/{cjs/DiscordSession.d.ts → DiscordSession.d.ts} +0 -0
  106. /package/dist/{esm/DiscordSession.js → DiscordSession.js} +0 -0
  107. /package/dist/{esm/addParams.js → addParams.js} +0 -0
  108. /package/dist/{esm/buildURL.js → buildURL.js} +0 -0
  109. /package/dist/{cjs/getAsset.d.ts → getAsset.d.ts} +0 -0
  110. /package/dist/{esm/getAsset.js → getAsset.js} +0 -0
  111. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  112. /package/dist/{esm/index.js → index.js} +0 -0
  113. /package/dist/{esm/isNonNullable.js → isNonNullable.js} +0 -0
  114. /package/dist/{cjs/isObject.d.ts → isObject.d.ts} +0 -0
  115. /package/dist/{esm/isObject.js → isObject.js} +0 -0
  116. /package/dist/{esm/methods.js → methods.js} +0 -0
  117. /package/dist/{cjs/request.d.ts → request.d.ts} +0 -0
  118. /package/dist/{esm/request.js → request.js} +0 -0
  119. /package/dist/{cjs/toCamelCase.d.ts → toCamelCase.d.ts} +0 -0
  120. /package/dist/{esm/toCamelCase.js → toCamelCase.js} +0 -0
  121. /package/dist/{cjs/toCamelKeys.d.ts → toCamelKeys.d.ts} +0 -0
  122. /package/dist/{esm/toCamelKeys.js → toCamelKeys.js} +0 -0
  123. /package/dist/{esm/toQuery.js → toQuery.js} +0 -0
  124. /package/dist/{cjs/toSnakeCase.d.ts → toSnakeCase.d.ts} +0 -0
  125. /package/dist/{esm/toSnakeCase.js → toSnakeCase.js} +0 -0
  126. /package/dist/{cjs/toSnakeKeys.d.ts → toSnakeKeys.d.ts} +0 -0
  127. /package/dist/{esm/toSnakeKeys.js → toSnakeKeys.js} +0 -0
@@ -0,0 +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,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"}
@@ -0,0 +1,2 @@
1
+ export type RequestParams = Partial<Record<string, number[] | string[] | boolean | number | string | null | undefined>>;
2
+ export declare const addParams: (url: URL, params: RequestParams) => URL;
@@ -0,0 +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,CAAC,GAAQ,EAAE,MAAqB,EAAO,EAAE;IAChE,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"}
@@ -0,0 +1,2 @@
1
+ import { type RequestParams } from "./addParams.js";
2
+ export declare const buildURL: (resource: string, params?: RequestParams, base?: string) => URL;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildURL.js","sourceRoot":"","sources":["../src/buildURL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,MAAsB,EACtB,IAAa,EACR,EAAE,CACP,SAAS,CACP,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,EACtD,MAAM,IAAI,EAAE,CACb,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAsset.js","sourceRoot":"","sources":["../src/getAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,MAAuC,EAC/B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAAC,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
+ type Maybe<T> = T | null | undefined;
1
2
  /**
2
3
  * Used to test whether a `Maybe` typed value is `null` or `undefined`.
3
4
  *
@@ -16,4 +17,5 @@
16
17
  * }
17
18
  * ```
18
19
  */
19
- export declare const isNonNullable: <T extends unknown>(val?: T | undefined) => val is NonNullable<T>;
20
+ export declare const isNonNullable: <T extends Maybe<unknown>>(val?: T) => val is NonNullable<T>;
21
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNonNullable.js","sourceRoot":"","sources":["../src/isNonNullable.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAO,EACgB,EAAE,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isObject.js","sourceRoot":"","sources":["../src/isObject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAiB,EAAE,CACtD,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
@@ -1,7 +1,11 @@
1
- import type { BaseSchema, Output } from "valibot";
1
+ import type { GenericSchema, GenericSchemaAsync, InferOutput } from "valibot";
2
2
  import type { RequestParams } from "./addParams.js";
3
3
  import type { RequestBody } from "./request.js";
4
- export type Fetcher<S extends BaseSchema | null = null, R = void> = S extends null ? () => Promise<R> : (config: Output<NonNullable<S>>) => Promise<R>;
4
+ export type Fetcher<
5
+ /** A schema to validate the input arguments of a fetch call */
6
+ S extends GenericSchema | GenericSchemaAsync | null = null,
7
+ /** The return value expected from the fetch call */
8
+ R = void> = S extends null ? () => Promise<R> : (config: InferOutput<NonNullable<S>>) => Promise<R>;
5
9
  export declare const get: <T>(url: string, params?: RequestParams) => Promise<T>;
6
10
  export declare const post: <T>(url: string, body?: RequestBody) => Promise<T>;
7
11
  export declare const put: <T>(url: string, body?: RequestBody) => Promise<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAWvC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAK,GAAW,EAAE,MAAsB,EAAc,EAAE,CAC9E,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC3E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC5E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAY,GAAW,EAAc,EAAE,CAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +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,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"}
@@ -0,0 +1 @@
1
+ export declare const snowflake: import("valibot").CustomSchema<string, import("valibot").ErrorMessage<import("valibot").CustomIssue> | undefined>;
@@ -0,0 +1,9 @@
1
+ import { custom, pipe, transform, union, string, number, is } from "valibot";
2
+ import { isNonNullable } from "./isNonNullable.js";
3
+ export const snowflake = custom((val) => isNonNullable(val) &&
4
+ (typeof val === `bigint` ||
5
+ typeof val === `number` ||
6
+ typeof val === `string`)
7
+ ? is(pipe(union([string(), number()]), transform((input) => new Date(input))), Number((BigInt(val) >> 22n) + 1420070400000n))
8
+ : false, `Invalid Snowflake ID`);
9
+ //# sourceMappingURL=snowflake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowflake.js","sourceRoot":"","sources":["../src/snowflake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAC7B,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,IAAI,CACF,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAC3B,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CACtC,EACD,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,CAC9C;IACH,CAAC,CAAC,KAAK,EACX,sBAAsB,CACvB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toCamelCase.js","sourceRoot":"","sources":["../src/toCamelCase.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CACjD,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC"}
@@ -0,0 +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,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"}
@@ -0,0 +1,31 @@
1
+ import type { GenericSchema, GenericSchemaAsync, InferInput, InferOutput } from "valibot";
2
+ import type { AnyProcedureBuilder, MutationProcedure, ProcedureType, QueryProcedure, SubscriptionProcedure } from "@trpc/server/unstable-core-do-not-import";
3
+ import type { Fetcher } from "./methods.js";
4
+ type Result<T = void> = T extends GenericSchema | GenericSchemaAsync ? InferOutput<T> : T;
5
+ type Schema = GenericSchema | GenericSchemaAsync;
6
+ type ProvedureDef<I extends Schema | null = null, O extends Schema | null = null> = I extends Schema ? O extends Schema ? {
7
+ input: InferInput<I>;
8
+ output: InferOutput<O>;
9
+ meta: unknown;
10
+ } : {
11
+ input: InferInput<I>;
12
+ output: undefined;
13
+ meta: unknown;
14
+ } : O extends Schema ? {
15
+ input: undefined;
16
+ output: InferOutput<O>;
17
+ meta: unknown;
18
+ } : {
19
+ input: undefined;
20
+ output: undefined;
21
+ meta: unknown;
22
+ };
23
+ type BaseProcedure<T extends ProcedureType, I extends Schema | null = null, O extends Schema | null = null> = T extends `query` ? QueryProcedure<ProvedureDef<I, O>> : T extends `mutation` ? MutationProcedure<ProvedureDef<I, O>> : SubscriptionProcedure<ProvedureDef<I, O>>;
24
+ /**
25
+ * Given a {@link Fetcher | Fetcher} function and it's associated input and
26
+ * output Zod schemas, this produces a function which accepts a tRPC procedure
27
+ * builder of the given procedure type. This can then be used in a tRPC router
28
+ * to scaffold an API route to forward a request to Discord's API.
29
+ */
30
+ export declare const toProcedure: <T extends ProcedureType, I extends GenericSchema | GenericSchemaAsync | null = null, O extends GenericSchema | GenericSchemaAsync | null = null>(type: T, fn: Fetcher<I extends GenericSchema | GenericSchemaAsync ? I : null, Result<O>>, input?: I, output?: O) => (procedure: AnyProcedureBuilder) => BaseProcedure<T, I, O>;
31
+ export {};
@@ -1,4 +1,3 @@
1
- import { wrap } from "@decs/typeschema";
2
1
  import { isNonNullable } from "./isNonNullable.js";
3
2
  /**
4
3
  * Given a {@link Fetcher | Fetcher} function and it's associated input and
@@ -10,16 +9,16 @@ export const toProcedure = (type, fn, input, output) => (procedure) => {
10
9
  if (isNonNullable(input) && isNonNullable(output)) {
11
10
  // @ts-expect-error
12
11
  return procedure
13
- .input(wrap(input))
14
- .output(wrap(output))[type](async (opts) => fn(opts.input));
12
+ .input(input)
13
+ .output(output)[type](async (opts) => fn(opts.input));
15
14
  }
16
15
  if (isNonNullable(input) && !isNonNullable(output)) {
17
16
  // @ts-expect-error
18
- return procedure.input(wrap(input))[type](async (opts) => fn(opts.input));
17
+ return procedure.input(input)[type](async (opts) => fn(opts.input));
19
18
  }
20
19
  if (!isNonNullable(input) && isNonNullable(output)) {
21
20
  // @ts-expect-error
22
- return procedure.output(wrap(output))[type](async () => fn());
21
+ return procedure.output(output)[type](async () => fn());
23
22
  }
24
23
  // @ts-expect-error
25
24
  return procedure[type](async () => fn());
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toProcedure.js","sourceRoot":"","sources":["../src/toProcedure.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsCnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAKE,IAAO,EACP,EAGC,EACD,KAAS,EACT,MAAU,EACV,EAAE,CACJ,CAAC,SAA8B,EAA0B,EAAE;IACzD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,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;IAC3C,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,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;IACtE,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,mBAAmB;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,mBAAmB;IACnB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BaseSchema } from "valibot";
1
+ import type { GenericSchema } from "valibot";
2
2
  import type { Fetcher } from "./methods.js";
3
3
  interface Register {
4
4
  }
@@ -6,7 +6,7 @@ type QueryKey = readonly unknown[];
6
6
  type QueryMeta = Register extends {
7
7
  queryMeta: infer TQueryMeta;
8
8
  } ? TQueryMeta extends Record<string, unknown> ? TQueryMeta : Record<string, unknown> : Record<string, unknown>;
9
- type FetchDirection = "backward" | "forward";
9
+ type FetchDirection = `backward` | `forward`;
10
10
  type QueryFunctionContext<TQueryKey extends QueryKey = QueryKey, TPageParam = never> = [TPageParam] extends [never] ? {
11
11
  queryKey: TQueryKey;
12
12
  signal: AbortSignal;
@@ -24,5 +24,5 @@ export type QueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey, TP
24
24
  * which can then be used with React-Query as a query function without
25
25
  * the need for any additional boilerplate.
26
26
  */
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>;
27
+ export declare const toQuery: <S extends GenericSchema | 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>>>;
28
28
  export {};
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toSnakeCase.js","sourceRoot":"","sources":["../src/toSnakeCase.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CACjD,GAAG;KACA,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;KACzD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +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,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"}
@@ -0,0 +1,13 @@
1
+ import { type GenericSchema, type GenericSchemaAsync, type InferOutput } from "valibot";
2
+ import type { Fetcher } from "./methods.js";
3
+ type InferFetcherSchema<F> = F extends Fetcher<infer S, unknown> ? S : never;
4
+ type InferFetcherReturn<F> = F extends Fetcher<GenericSchema | GenericSchemaAsync | null, infer R> ? R : never;
5
+ /**
6
+ * Given a {@link Fetcher | Fetcher} function and it's associated input
7
+ * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
8
+ * This is useful in contexts where you want strong guarantees on runtime
9
+ * type-safety when dealing with raw user input in a framework agnostic
10
+ * environment.
11
+ */
12
+ export declare const toValidated: <F extends Fetcher<GenericSchema | GenericSchemaAsync, InferOutput<GenericSchema | GenericSchemaAsync>> | Fetcher<GenericSchema | GenericSchemaAsync> | Fetcher<null, null> | Fetcher<null, InferOutput<GenericSchema | GenericSchemaAsync>>>(fn: F, input?: InferFetcherSchema<F> | null, output?: GenericSchema<unknown, InferFetcherReturn<F>> | GenericSchemaAsync<unknown, InferFetcherReturn<F>>) => F;
13
+ export {};
@@ -0,0 +1,23 @@
1
+ import { parseAsync, isOfKind } from "valibot";
2
+ /**
3
+ * Given a {@link Fetcher | Fetcher} function and it's associated input
4
+ * and output Zod schemas, this returns a new validated {@link Fetcher | Fetcher} function which will validate it's input and result at runtime.
5
+ * This is useful in contexts where you want strong guarantees on runtime
6
+ * type-safety when dealing with raw user input in a framework agnostic
7
+ * environment.
8
+ */
9
+ export const toValidated = (fn, input, output) => new Proxy(fn, {
10
+ async apply(target, _, [config]) {
11
+ // Validate the fetcher args before fetching
12
+ if (input && isOfKind(`schema`, input)) {
13
+ await parseAsync(input, config);
14
+ }
15
+ const result = await target(config);
16
+ // Validate the result of the fetch call before returning
17
+ if (output && isOfKind(`schema`, output)) {
18
+ await parseAsync(output, result);
19
+ }
20
+ return result;
21
+ }
22
+ });
23
+ //# sourceMappingURL=toValidated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toValidated.js","sourceRoot":"","sources":["../src/toValidated.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EACV,QAAQ,EACT,MAAM,SAAS,CAAC;AASjB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAUzB,EAAK,EACL,KAAoC,EACpC,MAEsD,EACnD,EAAE,CACL,IAAI,KAAK,CAAI,EAAE,EAAE;IACf,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC;QAC7B,4CAA4C;QAC5C,IAAI,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpC,yDAAyD;QACzD,IAAI,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,MAAuB,CAAC;IACjC,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@discordkit/core",
3
3
  "description": "Core utility functions for Discordkit",
4
- "version": "1.1.0-next.1",
4
+ "version": "2.0.0",
5
5
  "license": "MIT",
6
6
  "author": "Drake Costa <drake@saeris.gg> (https://saeris.gg)",
7
7
  "keywords": [
@@ -20,36 +20,20 @@
20
20
  "registry": "https://registry.npmjs.org"
21
21
  },
22
22
  "type": "module",
23
- "main": "./dist/cjs/index.js",
24
- "module": "./dist/esm/index.js",
25
- "types": "./dist/esm/index.d.ts",
23
+ "main": "./dist/index.js",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
26
  "imports": {
27
27
  "#test-utils": "../../scripts/test-utils.ts"
28
28
  },
29
29
  "exports": {
30
30
  ".": {
31
- "module": "./dist/esm/index.js",
32
- "import": {
33
- "types": "./dist/esm/index.d.ts",
34
- "default": "./dist/esm/index.js"
35
- },
36
- "require": {
37
- "types": "./dist/cjs/index.d.ts",
38
- "default": "./dist/cjs/index.js"
39
- },
40
- "default": "./dist/esm/index.js"
31
+ "types": "./dist/index.d.ts",
32
+ "default": "./dist/index.js"
41
33
  },
42
34
  "./*": {
43
- "module": "./dist/esm/*.js",
44
- "import": {
45
- "types": "./dist/esm/*.d.ts",
46
- "default": "./dist/esm/*.js"
47
- },
48
- "require": {
49
- "types": "./dist/cjs/*.d.ts",
50
- "default": "./dist/cjs/*.js"
51
- },
52
- "default": "./dist/esm/*.js"
35
+ "types": "./dist/*.d.ts",
36
+ "default": "./dist/*.js"
53
37
  },
54
38
  "./package.json": "./package.json"
55
39
  },
@@ -59,16 +43,13 @@
59
43
  "sideEffects": false,
60
44
  "scripts": {
61
45
  "dev": "yarn build --watch --declarationmap",
62
- "build": "tsc --project ./tsconfig.build.json",
63
- "build:cjs": "tsc --project ./tsconfig.build.json --outdir dist/cjs --module commonjs --moduleresolution node"
46
+ "build": "tsc",
47
+ "lint": "eslint --cache"
64
48
  },
65
49
  "peerDependencies": {
66
- "valibot": ">= 0.21.0"
50
+ "valibot": ">= 1.0.0"
67
51
  },
68
52
  "devDependencies": {
69
- "typescript": "^5.3.2"
70
- },
71
- "dependencies": {
72
- "@decs/typeschema": "^0.12.1"
53
+ "typescript": "^5.8.3"
73
54
  }
74
55
  }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.discord = exports.DiscordSession = exports.endpoint = void 0;
4
- exports.endpoint = `https://discord.com/api/v10/`;
5
- /** @internal */
6
- class DiscordSession {
7
- endpoint = exports.endpoint;
8
- #authToken = null;
9
- get ready() {
10
- return Boolean(this.#authToken);
11
- }
12
- constructor(authToken) {
13
- if (authToken) {
14
- this.setToken(authToken);
15
- }
16
- }
17
- /**
18
- * Clears the current session details, then attempts to set
19
- * new session values
20
- */
21
- setToken = (token) => {
22
- this.#authToken = null;
23
- if (!token) {
24
- throw new Error(`Must provide a non-empty string to set Auth Token`);
25
- }
26
- if (!token.startsWith(`Bot `) && !token.startsWith(`Bearer `)) {
27
- throw new Error(`Token must begin with either "Bot " or "Bearer ", received: ${token}`);
28
- }
29
- this.#authToken = token;
30
- };
31
- clearSession = () => {
32
- this.#authToken = null;
33
- };
34
- getSession = () => {
35
- const token = this.#authToken;
36
- if (!token) {
37
- throw new Error(`Auth Token must be set before requests can be made.`);
38
- }
39
- return token;
40
- };
41
- }
42
- exports.DiscordSession = DiscordSession;
43
- exports.discord = new DiscordSession();
44
- //# sourceMappingURL=DiscordSession.js.map
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- export type RequestParams = Partial<Record<string, number[] | string[] | boolean | number | string | null | undefined>>;
2
- export declare const addParams: <P extends Partial<Record<string, string | number | boolean | string[] | number[] | null | undefined>>>(url: URL, params: P) => URL;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addParams = void 0;
4
- const isNonNullable_js_1 = require("./isNonNullable.js");
5
- const toSnakeCase_js_1 = require("./toSnakeCase.js");
6
- const addParams = (url, params) => {
7
- for (const [key, value] of Object.entries(params)) {
8
- if ((0, isNonNullable_js_1.isNonNullable)(value)) {
9
- url.searchParams.set((0, toSnakeCase_js_1.toSnakeCase)(key), value.toString());
10
- }
11
- }
12
- return url;
13
- };
14
- exports.addParams = addParams;
15
- //# sourceMappingURL=addParams.js.map
@@ -1 +0,0 @@
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 +0,0 @@
1
- export declare const buildURL: <P extends Partial<Record<string, string | number | boolean | string[] | number[] | null | undefined>>>(resource: string, params?: P | undefined, base?: string) => URL;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildURL = void 0;
4
- const DiscordSession_js_1 = require("./DiscordSession.js");
5
- const addParams_js_1 = require("./addParams.js");
6
- const buildURL = (resource, params, base) => (0, addParams_js_1.addParams)(new URL(resource.replace(/^\//, ``), base ?? DiscordSession_js_1.endpoint), params ?? {});
7
- exports.buildURL = buildURL;
8
- //# sourceMappingURL=buildURL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildURL.js","sourceRoot":"","sources":["../../src/buildURL.ts"],"names":[],"mappings":";;;AAAA,2DAA+C;AAC/C,iDAA+D;AAExD,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,MAAU,EACV,IAAa,EACR,EAAE,CACP,IAAA,wBAAS,EACP,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,4BAAQ,CAAC,EACtD,MAAM,IAAI,EAAE,CACb,CAAC;AARS,QAAA,QAAQ,YAQjB"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAsset = void 0;
4
- const buildURL_js_1 = require("./buildURL.js");
5
- const getAsset = (resource, params) => (0, buildURL_js_1.buildURL)(resource, params, `https://cdn.discordapp.com/`).href;
6
- exports.getAsset = getAsset;
7
- //# sourceMappingURL=getAsset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAsset.js","sourceRoot":"","sources":["../../src/getAsset.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAElC,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,MAAuC,EAC/B,EAAE,CAAC,IAAA,sBAAQ,EAAC,QAAQ,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAAC,IAAI,CAAC;AAH/D,QAAA,QAAQ,YAGuD"}
package/dist/cjs/index.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.discord = exports.endpoint = void 0;
4
- const tslib_1 = require("tslib");
5
- var DiscordSession_js_1 = require("./DiscordSession.js");
6
- Object.defineProperty(exports, "endpoint", { enumerable: true, get: function () { return DiscordSession_js_1.endpoint; } });
7
- Object.defineProperty(exports, "discord", { enumerable: true, get: function () { return DiscordSession_js_1.discord; } });
8
- tslib_1.__exportStar(require("./buildURL.js"), exports);
9
- tslib_1.__exportStar(require("./getAsset.js"), exports);
10
- tslib_1.__exportStar(require("./methods.js"), exports);
11
- tslib_1.__exportStar(require("./toProcedure.js"), exports);
12
- tslib_1.__exportStar(require("./toQuery.js"), exports);
13
- tslib_1.__exportStar(require("./toValidated.js"), exports);
14
- tslib_1.__exportStar(require("./snowflake.js"), exports);
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAwD;AAA/C,6GAAA,QAAQ,OAAA;AAAE,4GAAA,OAAO,OAAA;AAC1B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,2DAAiC;AACjC,uDAA6B;AAC7B,2DAAiC;AACjC,yDAA+B"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNonNullable = void 0;
4
- /**
5
- * Used to test whether a `Maybe` typed value is `null` or `undefined`.
6
- *
7
- * When called, the given value's type is narrowed to `NonNullable<T>`.
8
- *
9
- * ### Example Usage:
10
- *
11
- * ```ts
12
- * const fn = (str: Maybe<string>) => {
13
- * if (!isNonNullable(str)) {
14
- * // typeof str = null | undefined
15
- * // ...
16
- * }
17
- * // typeof str = string
18
- * // ...
19
- * }
20
- * ```
21
- */
22
- const isNonNullable = (val) => typeof val !== `undefined` && val !== null;
23
- exports.isNonNullable = isNonNullable;
24
- //# sourceMappingURL=isNonNullable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isNonNullable.js","sourceRoot":"","sources":["../../src/isNonNullable.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;GAiBG;AACI,MAAM,aAAa,GAAG,CAC3B,GAAO,EACgB,EAAE,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC;AAF1D,QAAA,aAAa,iBAE6C"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isObject = void 0;
4
- const isObject = (val) => Boolean(val) && typeof val === `object` && !Array.isArray(val);
5
- exports.isObject = isObject;
6
- //# sourceMappingURL=isObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isObject.js","sourceRoot":"","sources":["../../src/isObject.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAiB,EAAE,CACtD,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AADpD,QAAA,QAAQ,YAC4C"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.remove = exports.patch = exports.put = exports.post = exports.get = void 0;
4
- const buildURL_js_1 = require("./buildURL.js");
5
- const request_js_1 = require("./request.js");
6
- const get = async (url, params) => (0, request_js_1.request)((0, buildURL_js_1.buildURL)(url, params));
7
- exports.get = get;
8
- const post = async (url, body) => (0, request_js_1.request)((0, buildURL_js_1.buildURL)(url), `POST`, body);
9
- exports.post = post;
10
- const put = async (url, body) => (0, request_js_1.request)((0, buildURL_js_1.buildURL)(url), `PUT`, body);
11
- exports.put = put;
12
- const patch = async (url, body) => (0, request_js_1.request)((0, buildURL_js_1.buildURL)(url), `PATCH`, body);
13
- exports.patch = patch;
14
- const remove = async (url) => (0, request_js_1.request)((0, buildURL_js_1.buildURL)(url), `DELETE`);
15
- exports.remove = remove;
16
- //# sourceMappingURL=methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/methods.ts"],"names":[],"mappings":";;;AAEA,+CAAyC;AAEzC,6CAAuC;AAShC,MAAM,GAAG,GAAG,KAAK,EAAK,GAAW,EAAE,MAAsB,EAAc,EAAE,CAC9E,IAAA,oBAAO,EAAC,IAAA,sBAAQ,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AADpB,QAAA,GAAG,OACiB;AAE1B,MAAM,IAAI,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC3E,IAAA,oBAAO,EAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAD1B,QAAA,IAAI,QACsB;AAEhC,MAAM,GAAG,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC1E,IAAA,oBAAO,EAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AADzB,QAAA,GAAG,OACsB;AAE/B,MAAM,KAAK,GAAG,KAAK,EAAK,GAAW,EAAE,IAAkB,EAAc,EAAE,CAC5E,IAAA,oBAAO,EAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAD3B,QAAA,KAAK,SACsB;AAEjC,MAAM,MAAM,GAAG,KAAK,EAAY,GAAW,EAAc,EAAE,CAChE,IAAA,oBAAO,EAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AADtB,QAAA,MAAM,UACgB"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = void 0;
4
- const DiscordSession_js_1 = require("./DiscordSession.js");
5
- const toCamelKeys_js_1 = require("./toCamelKeys.js");
6
- const toSnakeKeys_js_1 = require("./toSnakeKeys.js");
7
- const request = async (resource, method = `GET`, body) => {
8
- const token = DiscordSession_js_1.discord.getSession();
9
- if (!token) {
10
- throw new Error(`Auth Token must be set before requests can be made.`);
11
- }
12
- const res = await fetch(resource.toString(), {
13
- method,
14
- body: body ? JSON.stringify((0, toSnakeKeys_js_1.toSnakeKeys)(body)) : body,
15
- headers: {
16
- Authorization: token
17
- }
18
- });
19
- if (!res.ok) {
20
- throw new Error(`Request to resource '${resource.toString()}' failed:\n\n${res.statusText}`);
21
- }
22
- return (0, toCamelKeys_js_1.toCamelKeys)(await res.json());
23
- };
24
- exports.request = request;
25
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
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 +0,0 @@
1
- export declare const snowflake: import("valibot").SpecialSchema<string, string>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snowflake = void 0;
4
- const valibot_1 = require("valibot");
5
- const isNonNullable_js_1 = require("./isNonNullable.js");
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`);
14
- //# sourceMappingURL=snowflake.js.map
@@ -1 +0,0 @@
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,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toCamelCase = void 0;
4
- const toCamelCase = (str) => str.replace(/_(?<char>[a-zA-Z])/g, (g) => g[1].toUpperCase());
5
- exports.toCamelCase = toCamelCase;
6
- //# sourceMappingURL=toCamelCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toCamelCase.js","sourceRoot":"","sources":["../../src/toCamelCase.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CACjD,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AADnD,QAAA,WAAW,eACwC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toCamelKeys = void 0;
4
- const isObject_js_1 = require("./isObject.js");
5
- const toCamelCase_js_1 = require("./toCamelCase.js");
6
- const toCamelKeys = (o) => {
7
- if (Array.isArray(o)) {
8
- return o.map(exports.toCamelKeys);
9
- }
10
- else if ((0, isObject_js_1.isObject)(o)) {
11
- return Object.entries(o).reduce((acc, [key, value]) => {
12
- acc[(0, toCamelCase_js_1.toCamelCase)(key)] = (0, exports.toCamelKeys)(value);
13
- return acc;
14
- }, {});
15
- }
16
- return o;
17
- };
18
- exports.toCamelKeys = toCamelKeys;
19
- //# sourceMappingURL=toCamelKeys.js.map
@@ -1 +0,0 @@
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"}