aegis-api 0.0.0-stage → 0.1.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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +229 -2
  3. package/dist/client.d.ts +22 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +37 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/errors.d.ts +18 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +16 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/generated/schema.d.ts +3650 -0
  12. package/dist/generated/schema.d.ts.map +1 -0
  13. package/dist/generated/schema.js +6 -0
  14. package/dist/generated/schema.js.map +1 -0
  15. package/dist/http.d.ts +25 -0
  16. package/dist/http.d.ts.map +1 -0
  17. package/dist/http.js +108 -0
  18. package/dist/http.js.map +1 -0
  19. package/dist/index.d.ts +26 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +6 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/resources/base.d.ts +9 -0
  24. package/dist/resources/base.d.ts.map +1 -0
  25. package/dist/resources/base.js +11 -0
  26. package/dist/resources/base.js.map +1 -0
  27. package/dist/resources/bible.d.ts +47 -0
  28. package/dist/resources/bible.d.ts.map +1 -0
  29. package/dist/resources/bible.js +36 -0
  30. package/dist/resources/bible.js.map +1 -0
  31. package/dist/resources/binary.d.ts +18 -0
  32. package/dist/resources/binary.d.ts.map +1 -0
  33. package/dist/resources/binary.js +12 -0
  34. package/dist/resources/binary.js.map +1 -0
  35. package/dist/resources/fun.d.ts +18 -0
  36. package/dist/resources/fun.d.ts.map +1 -0
  37. package/dist/resources/fun.js +8 -0
  38. package/dist/resources/fun.js.map +1 -0
  39. package/dist/resources/general.d.ts +19 -0
  40. package/dist/resources/general.d.ts.map +1 -0
  41. package/dist/resources/general.js +8 -0
  42. package/dist/resources/general.js.map +1 -0
  43. package/dist/resources/holidays.d.ts +29 -0
  44. package/dist/resources/holidays.d.ts.map +1 -0
  45. package/dist/resources/holidays.js +12 -0
  46. package/dist/resources/holidays.js.map +1 -0
  47. package/dist/resources/index.d.ts +12 -0
  48. package/dist/resources/index.d.ts.map +1 -0
  49. package/dist/resources/index.js +12 -0
  50. package/dist/resources/index.js.map +1 -0
  51. package/dist/resources/jobs.d.ts +28 -0
  52. package/dist/resources/jobs.d.ts.map +1 -0
  53. package/dist/resources/jobs.js +12 -0
  54. package/dist/resources/jobs.js.map +1 -0
  55. package/dist/resources/minecraft.d.ts +27 -0
  56. package/dist/resources/minecraft.d.ts.map +1 -0
  57. package/dist/resources/minecraft.js +16 -0
  58. package/dist/resources/minecraft.js.map +1 -0
  59. package/dist/resources/music/index.d.ts +3 -0
  60. package/dist/resources/music/index.d.ts.map +1 -0
  61. package/dist/resources/music/index.js +3 -0
  62. package/dist/resources/music/index.js.map +1 -0
  63. package/dist/resources/music/music-events.d.ts +43 -0
  64. package/dist/resources/music/music-events.d.ts.map +1 -0
  65. package/dist/resources/music/music-events.js +8 -0
  66. package/dist/resources/music/music-events.js.map +1 -0
  67. package/dist/resources/music/music.d.ts +106 -0
  68. package/dist/resources/music/music.d.ts.map +1 -0
  69. package/dist/resources/music/music.js +106 -0
  70. package/dist/resources/music/music.js.map +1 -0
  71. package/dist/resources/roblox.d.ts +43 -0
  72. package/dist/resources/roblox.d.ts.map +1 -0
  73. package/dist/resources/roblox.js +12 -0
  74. package/dist/resources/roblox.js.map +1 -0
  75. package/dist/resources/translation.d.ts +26 -0
  76. package/dist/resources/translation.d.ts.map +1 -0
  77. package/dist/resources/translation.js +16 -0
  78. package/dist/resources/translation.js.map +1 -0
  79. package/dist/socket.d.ts +36 -0
  80. package/dist/socket.d.ts.map +1 -0
  81. package/dist/socket.js +139 -0
  82. package/dist/socket.js.map +1 -0
  83. package/dist/types.d.ts +65 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +2 -0
  86. package/dist/types.js.map +1 -0
  87. package/package.json +51 -4
@@ -0,0 +1,29 @@
1
+ import { Resource } from './base.js';
2
+ export declare class HolidaysResource extends Resource {
3
+ next(countryCode: string): Promise<{
4
+ country: {
5
+ name: string;
6
+ code: string;
7
+ };
8
+ nextHolidays: {
9
+ name: string;
10
+ date: string;
11
+ national: boolean;
12
+ type: (string | null)[];
13
+ }[];
14
+ }>;
15
+ year(countryCode: string, year: number): Promise<{
16
+ year: number;
17
+ country: {
18
+ name: string;
19
+ code: string;
20
+ };
21
+ holidays: {
22
+ name: string;
23
+ date: string;
24
+ national: boolean;
25
+ type: (string | null)[];
26
+ }[];
27
+ }>;
28
+ }
29
+ //# sourceMappingURL=holidays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holidays.d.ts","sourceRoot":"","sources":["../../src/resources/holidays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAKpC,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,IAAI,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;IAIxB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;CAGvC"}
@@ -0,0 +1,12 @@
1
+ import { Resource } from './base.js';
2
+ const NEXT = '/v1/holidays/{countryCode}/next';
3
+ const YEAR = '/v1/holidays/{countryCode}/{year}';
4
+ export class HolidaysResource extends Resource {
5
+ next(countryCode) {
6
+ return this.call('get', NEXT, { params: { countryCode } });
7
+ }
8
+ year(countryCode, year) {
9
+ return this.call('get', YEAR, { params: { countryCode, year } });
10
+ }
11
+ }
12
+ //# sourceMappingURL=holidays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holidays.js","sourceRoot":"","sources":["../../src/resources/holidays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,IAAI,GAAG,mCAA4C,CAAA;AAEzD,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAC5C,IAAI,CAAC,WAAmB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC,WAAmB,EAAE,IAAY;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ export { Resource } from './base.js';
2
+ export { BibleResource, type BibleSearchQuery, type BibleVersesQuery, } from './bible.js';
3
+ export { BinaryResource, type DecodeQuery, type EncodeQuery } from './binary.js';
4
+ export { FunResource, type RoleplayQuery } from './fun.js';
5
+ export { GeneralResource } from './general.js';
6
+ export { HolidaysResource } from './holidays.js';
7
+ export { JobsResource, type WaitQuery } from './jobs.js';
8
+ export { MinecraftResource, type RenderQuery } from './minecraft.js';
9
+ export { MUSIC_EVENTS, MUSIC_SEARCH_PROVIDERS, MusicResource, type LoopBody, type MoveBody, type MuteBody, type MusicEventMap, type MusicEventName, type MusicEventTrack, type MusicSearchProvider, type PlayBody, type SearchQuery, type SeekBody, type VolumeBody, } from './music/index.js';
10
+ export { RobloxResource } from './roblox.js';
11
+ export { TranslationResource, type DetectQuery, type TranslateQuery, } from './translation.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EACL,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,12 @@
1
+ export { Resource } from './base.js';
2
+ export { BibleResource, } from './bible.js';
3
+ export { BinaryResource } from './binary.js';
4
+ export { FunResource } from './fun.js';
5
+ export { GeneralResource } from './general.js';
6
+ export { HolidaysResource } from './holidays.js';
7
+ export { JobsResource } from './jobs.js';
8
+ export { MinecraftResource } from './minecraft.js';
9
+ export { MUSIC_EVENTS, MUSIC_SEARCH_PROVIDERS, MusicResource, } from './music/index.js';
10
+ export { RobloxResource } from './roblox.js';
11
+ export { TranslationResource, } from './translation.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EACL,aAAa,GAGd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAsC,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,WAAW,EAAsB,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAkB,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,gBAAgB,CAAA;AACpE,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,aAAa,GAYd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACL,mBAAmB,GAGpB,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { Resource } from './base.js';
2
+ import type { Operation, QueryOf } from '../types.js';
3
+ declare const JOB_WAIT: "/v1/jobs/{id}/wait";
4
+ export type WaitQuery = QueryOf<Operation<typeof JOB_WAIT, 'get'>>;
5
+ export declare class JobsResource extends Resource {
6
+ get(id: string): Promise<{
7
+ id: string;
8
+ type: string;
9
+ status: "pending" | "processing" | "completed" | "failed";
10
+ payload?: unknown;
11
+ result?: unknown;
12
+ error?: string;
13
+ createdAt: number;
14
+ updatedAt: number;
15
+ }>;
16
+ wait(id: string, query?: WaitQuery): Promise<{
17
+ id: string;
18
+ type: string;
19
+ status: "pending" | "processing" | "completed" | "failed";
20
+ payload?: unknown;
21
+ result?: unknown;
22
+ error?: string;
23
+ createdAt: number;
24
+ updatedAt: number;
25
+ }>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/resources/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrD,QAAA,MAAM,QAAQ,EAAG,oBAA6B,CAAA;AAE9C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;AAElE,qBAAa,YAAa,SAAQ,QAAQ;IACxC,GAAG,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;IAId,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS;;;;;;;;;;CAGnC"}
@@ -0,0 +1,12 @@
1
+ import { Resource } from './base.js';
2
+ const JOB = '/v1/jobs/{id}';
3
+ const JOB_WAIT = '/v1/jobs/{id}/wait';
4
+ export class JobsResource extends Resource {
5
+ get(id) {
6
+ return this.call('get', JOB, { params: { id } });
7
+ }
8
+ wait(id, query) {
9
+ return this.call('get', JOB_WAIT, { params: { id }, query });
10
+ }
11
+ }
12
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/resources/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,MAAM,GAAG,GAAG,eAAwB,CAAA;AACpC,MAAM,QAAQ,GAAG,oBAA6B,CAAA;AAI9C,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,EAAU,EAAE,KAAiB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import { Resource } from './base.js';
2
+ import type { Operation, QueryOf } from '../types.js';
3
+ declare const RENDER: "/v1/minecraft/render/{player}";
4
+ export type RenderQuery = QueryOf<Operation<typeof RENDER, 'get'>>;
5
+ export declare class MinecraftResource extends Resource {
6
+ info(player: string): Promise<{
7
+ id: string;
8
+ name: string;
9
+ platform: "java" | "bedrock";
10
+ slim: boolean;
11
+ updatedAt: number | null;
12
+ }>;
13
+ textures(player: string): Promise<{
14
+ skin: string | null;
15
+ cape: string | null;
16
+ slim: boolean;
17
+ hash: string | null;
18
+ updatedAt: number | null;
19
+ }>;
20
+ render(player: string, query?: RenderQuery): Promise<{
21
+ jobId: string;
22
+ status: "pending" | "processing";
23
+ name: string;
24
+ }>;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=minecraft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minecraft.d.ts","sourceRoot":"","sources":["../../src/resources/minecraft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAIrD,QAAA,MAAM,MAAM,EAAG,+BAAwC,CAAA;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAElE,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,IAAI,CAAC,MAAM,EAAE,MAAM;;;;;;;IAInB,QAAQ,CAAC,MAAM,EAAE,MAAM;;;;;;;IAIvB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW;;;;;CAG3C"}
@@ -0,0 +1,16 @@
1
+ import { Resource } from './base.js';
2
+ const INFO = '/v1/minecraft/info/{player}';
3
+ const TEXTURES = '/v1/minecraft/textures/{player}';
4
+ const RENDER = '/v1/minecraft/render/{player}';
5
+ export class MinecraftResource extends Resource {
6
+ info(player) {
7
+ return this.call('get', INFO, { params: { player } });
8
+ }
9
+ textures(player) {
10
+ return this.call('get', TEXTURES, { params: { player } });
11
+ }
12
+ render(player, query) {
13
+ return this.call('get', RENDER, { params: { player }, query });
14
+ }
15
+ }
16
+ //# sourceMappingURL=minecraft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minecraft.js","sourceRoot":"","sources":["../../src/resources/minecraft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,MAAM,IAAI,GAAG,6BAAsC,CAAA;AACnD,MAAM,QAAQ,GAAG,iCAA0C,CAAA;AAC3D,MAAM,MAAM,GAAG,+BAAwC,CAAA;AAIvD,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC7C,IAAI,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,KAAmB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAChE,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { MUSIC_EVENTS, type MusicEventMap, type MusicEventName, type MusicEventTrack, } from './music-events.js';
2
+ export { MUSIC_SEARCH_PROVIDERS, MusicResource, type LoopBody, type MoveBody, type MuteBody, type MusicSearchProvider, type PlayBody, type SearchQuery, type SeekBody, type VolumeBody, } from './music.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/music/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { MUSIC_EVENTS, } from './music-events.js';
2
+ export { MUSIC_SEARCH_PROVIDERS, MusicResource, } from './music.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/music/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,sBAAsB,EACtB,aAAa,GASd,MAAM,YAAY,CAAA"}
@@ -0,0 +1,43 @@
1
+ /** Mirrors the track shape the API sends over the socket. */
2
+ export type MusicEventTrack = {
3
+ title: string;
4
+ author: string;
5
+ lengthMs: number;
6
+ uri: string | null;
7
+ artworkUrl: string | null;
8
+ isStream: boolean;
9
+ };
10
+ /** One event a socket can deliver, as the API names it. */
11
+ export type MusicEventMap = {
12
+ trackStarted: {
13
+ type: 'trackStarted';
14
+ botId: string;
15
+ guildId: string;
16
+ track: MusicEventTrack;
17
+ };
18
+ trackEnded: {
19
+ type: 'trackEnded';
20
+ botId: string;
21
+ guildId: string;
22
+ reason: string;
23
+ };
24
+ queueEmptied: {
25
+ type: 'queueEmptied';
26
+ botId: string;
27
+ guildId: string;
28
+ };
29
+ playerClosed: {
30
+ type: 'playerClosed';
31
+ botId: string;
32
+ guildId: string;
33
+ reason: 'idle' | 'disconnected';
34
+ };
35
+ botStopped: {
36
+ type: 'botStopped';
37
+ botId: string;
38
+ reason: string;
39
+ };
40
+ };
41
+ export type MusicEventName = keyof MusicEventMap;
42
+ export declare const MUSIC_EVENTS: MusicEventName[];
43
+ //# sourceMappingURL=music-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-events.d.ts","sourceRoot":"","sources":["../../../src/resources/music/music-events.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,eAAe,CAAA;KACvB,CAAA;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACtE,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,GAAG,cAAc,CAAA;KAChC,CAAA;IACD,UAAU,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAClE,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAA;AAEhD,eAAO,MAAM,YAAY,EAAE,cAAc,EAMxC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export const MUSIC_EVENTS = [
2
+ 'trackStarted',
3
+ 'trackEnded',
4
+ 'queueEmptied',
5
+ 'playerClosed',
6
+ 'botStopped',
7
+ ];
8
+ //# sourceMappingURL=music-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-events.js","sourceRoot":"","sources":["../../../src/resources/music/music-events.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;IACd,YAAY;CACb,CAAA"}
@@ -0,0 +1,106 @@
1
+ import { Resource } from '../base.js';
2
+ import { type SocketOptions } from '../../socket.js';
3
+ import type { Http } from '../../http.js';
4
+ import type { MusicEventMap, MusicEventName } from './music-events.js';
5
+ import type { JsonBodyOf, Operation, QueryOf } from '../../types.js';
6
+ declare const PLAY: "/v1/music/guilds/{guildId}/play";
7
+ declare const QUEUE_ENTRY: "/v1/music/guilds/{guildId}/queue/{index}";
8
+ declare const VOLUME: "/v1/music/guilds/{guildId}/volume";
9
+ declare const MUTE: "/v1/music/guilds/{guildId}/mute";
10
+ declare const SEEK: "/v1/music/guilds/{guildId}/seek";
11
+ declare const LOOP: "/v1/music/guilds/{guildId}/loop";
12
+ declare const SEARCH: "/v1/music/search";
13
+ export type PlayBody = JsonBodyOf<Operation<typeof PLAY, 'post'>>;
14
+ export type SearchQuery = QueryOf<Operation<typeof SEARCH, 'get'>>;
15
+ export type MusicSearchProvider = NonNullable<SearchQuery['provider']>;
16
+ export declare const MUSIC_SEARCH_PROVIDERS: readonly ["youtube", "spotify"];
17
+ export type SeekBody = JsonBodyOf<Operation<typeof SEEK, 'post'>>;
18
+ export type VolumeBody = JsonBodyOf<Operation<typeof VOLUME, 'patch'>>;
19
+ export type MuteBody = JsonBodyOf<Operation<typeof MUTE, 'post'>>;
20
+ export type LoopBody = JsonBodyOf<Operation<typeof LOOP, 'put'>>;
21
+ export type MoveBody = JsonBodyOf<Operation<typeof QUEUE_ENTRY, 'patch'>>;
22
+ export declare class MusicResource extends Resource {
23
+ private readonly socket;
24
+ constructor(http: Http, options?: SocketOptions);
25
+ /** True while the event socket is open, which is only after a listener. */
26
+ get listening(): boolean;
27
+ /** Opens the socket on the first listener; the return unsubscribes. */
28
+ on<K extends MusicEventName>(event: K, listener: (data: MusicEventMap[K]) => void): () => void;
29
+ once<K extends MusicEventName>(event: K, listener: (data: MusicEventMap[K]) => void): () => void;
30
+ off<K extends MusicEventName>(event: K, listener: (data: MusicEventMap[K]) => void): void;
31
+ /** Closes the socket. A later `on` will not reopen it. */
32
+ disconnect(): void;
33
+ search(params: SearchQuery): Promise<{
34
+ results: import("../../index.js").components["schemas"]["MusicSearchTrack"][];
35
+ }>;
36
+ play(guildId: string, body: PlayBody): Promise<{
37
+ track: import("../../index.js").components["schemas"]["Track"];
38
+ position: number;
39
+ added: number;
40
+ }>;
41
+ pause(guildId: string): Promise<{
42
+ paused: boolean;
43
+ }>;
44
+ resume(guildId: string): Promise<{
45
+ paused: boolean;
46
+ }>;
47
+ skip(guildId: string): Promise<{
48
+ track: import("../../index.js").components["schemas"]["Track"] & unknown;
49
+ }>;
50
+ stop(guildId: string): Promise<{
51
+ ok: true;
52
+ }>;
53
+ queue(guildId: string): Promise<{
54
+ channelId: string;
55
+ paused: boolean;
56
+ positionMs: number;
57
+ volume: number;
58
+ muted: boolean;
59
+ loop: "off" | "track" | "queue";
60
+ current: import("../../index.js").components["schemas"]["Track"] & unknown;
61
+ queue: import("../../index.js").components["schemas"]["Track"][];
62
+ }>;
63
+ clearQueue(guildId: string): Promise<{
64
+ cleared: number;
65
+ }>;
66
+ volume(guildId: string): Promise<{
67
+ volume: number;
68
+ muted: boolean;
69
+ }>;
70
+ setVolume(guildId: string, body: VolumeBody): Promise<{
71
+ volume: number;
72
+ muted: boolean;
73
+ }>;
74
+ mute(guildId: string, body?: MuteBody): Promise<{
75
+ muted: boolean;
76
+ }>;
77
+ unmute(guildId: string): Promise<{
78
+ muted: boolean;
79
+ }>;
80
+ seek(guildId: string, body: SeekBody): Promise<{
81
+ positionMs: number;
82
+ }>;
83
+ shuffle(guildId: string): Promise<{
84
+ queue: import("../../index.js").components["schemas"]["Track"][];
85
+ }>;
86
+ restart(guildId: string): Promise<{
87
+ track: import("../../index.js").components["schemas"]["Track"];
88
+ positionMs: number;
89
+ }>;
90
+ loop(guildId: string): Promise<{
91
+ loop: "off" | "track" | "queue";
92
+ }>;
93
+ setLoop(guildId: string, body: LoopBody): Promise<{
94
+ loop: "off" | "track" | "queue";
95
+ }>;
96
+ removeFromQueue(guildId: string, index: number): Promise<{
97
+ removed: import("../../index.js").components["schemas"]["Track"];
98
+ queue: import("../../index.js").components["schemas"]["Track"][];
99
+ }>;
100
+ moveInQueue(guildId: string, index: number, body: MoveBody): Promise<{
101
+ moved: import("../../index.js").components["schemas"]["Track"];
102
+ queue: import("../../index.js").components["schemas"]["Track"][];
103
+ }>;
104
+ }
105
+ export {};
106
+ //# sourceMappingURL=music.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music.d.ts","sourceRoot":"","sources":["../../../src/resources/music/music.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { Resource } from '../base.js';
2
+ import { EventSocket } from '../../socket.js';
3
+ const PLAY = '/v1/music/guilds/{guildId}/play';
4
+ const PAUSE = '/v1/music/guilds/{guildId}/pause';
5
+ const RESUME = '/v1/music/guilds/{guildId}/resume';
6
+ const SKIP = '/v1/music/guilds/{guildId}/skip';
7
+ const GUILD = '/v1/music/guilds/{guildId}';
8
+ const QUEUE = '/v1/music/guilds/{guildId}/queue';
9
+ const QUEUE_ENTRY = '/v1/music/guilds/{guildId}/queue/{index}';
10
+ const VOLUME = '/v1/music/guilds/{guildId}/volume';
11
+ const MUTE = '/v1/music/guilds/{guildId}/mute';
12
+ const SEEK = '/v1/music/guilds/{guildId}/seek';
13
+ const SHUFFLE = '/v1/music/guilds/{guildId}/shuffle';
14
+ const RESTART = '/v1/music/guilds/{guildId}/restart';
15
+ const LOOP = '/v1/music/guilds/{guildId}/loop';
16
+ const SEARCH = '/v1/music/search';
17
+ export const MUSIC_SEARCH_PROVIDERS = [
18
+ 'youtube',
19
+ 'spotify',
20
+ ];
21
+ export class MusicResource extends Resource {
22
+ socket;
23
+ constructor(http, options = {}) {
24
+ super(http);
25
+ this.socket = new EventSocket(options);
26
+ }
27
+ /** True while the event socket is open, which is only after a listener. */
28
+ get listening() {
29
+ return this.socket.connected;
30
+ }
31
+ /** Opens the socket on the first listener; the return unsubscribes. */
32
+ on(event, listener) {
33
+ return this.socket.on(event, listener);
34
+ }
35
+ once(event, listener) {
36
+ return this.socket.once(event, listener);
37
+ }
38
+ off(event, listener) {
39
+ this.socket.off(event, listener);
40
+ }
41
+ /** Closes the socket. A later `on` will not reopen it. */
42
+ disconnect() {
43
+ this.socket.close();
44
+ }
45
+ search(params) {
46
+ return this.call('get', SEARCH, { query: params });
47
+ }
48
+ play(guildId, body) {
49
+ return this.call('post', PLAY, { params: { guildId }, body });
50
+ }
51
+ pause(guildId) {
52
+ return this.call('post', PAUSE, { params: { guildId } });
53
+ }
54
+ resume(guildId) {
55
+ return this.call('post', RESUME, { params: { guildId } });
56
+ }
57
+ skip(guildId) {
58
+ return this.call('post', SKIP, { params: { guildId } });
59
+ }
60
+ stop(guildId) {
61
+ return this.call('delete', GUILD, { params: { guildId } });
62
+ }
63
+ queue(guildId) {
64
+ return this.call('get', QUEUE, { params: { guildId } });
65
+ }
66
+ clearQueue(guildId) {
67
+ return this.call('delete', QUEUE, { params: { guildId } });
68
+ }
69
+ volume(guildId) {
70
+ return this.call('get', VOLUME, { params: { guildId } });
71
+ }
72
+ setVolume(guildId, body) {
73
+ return this.call('patch', VOLUME, { params: { guildId }, body });
74
+ }
75
+ mute(guildId, body) {
76
+ return this.call('post', MUTE, { params: { guildId }, body });
77
+ }
78
+ unmute(guildId) {
79
+ return this.call('delete', MUTE, { params: { guildId } });
80
+ }
81
+ seek(guildId, body) {
82
+ return this.call('post', SEEK, { params: { guildId }, body });
83
+ }
84
+ shuffle(guildId) {
85
+ return this.call('post', SHUFFLE, { params: { guildId } });
86
+ }
87
+ restart(guildId) {
88
+ return this.call('post', RESTART, { params: { guildId } });
89
+ }
90
+ loop(guildId) {
91
+ return this.call('get', LOOP, { params: { guildId } });
92
+ }
93
+ setLoop(guildId, body) {
94
+ return this.call('put', LOOP, { params: { guildId }, body });
95
+ }
96
+ removeFromQueue(guildId, index) {
97
+ return this.call('delete', QUEUE_ENTRY, { params: { guildId, index } });
98
+ }
99
+ moveInQueue(guildId, index, body) {
100
+ return this.call('patch', QUEUE_ENTRY, {
101
+ params: { guildId, index },
102
+ body,
103
+ });
104
+ }
105
+ }
106
+ //# sourceMappingURL=music.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music.js","sourceRoot":"","sources":["../../../src/resources/music/music.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAKjE,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,KAAK,GAAG,kCAA2C,CAAA;AACzD,MAAM,MAAM,GAAG,mCAA4C,CAAA;AAC3D,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,KAAK,GAAG,4BAAqC,CAAA;AACnD,MAAM,KAAK,GAAG,kCAA2C,CAAA;AACzD,MAAM,WAAW,GAAG,0CAAmD,CAAA;AACvE,MAAM,MAAM,GAAG,mCAA4C,CAAA;AAC3D,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,OAAO,GAAG,oCAA6C,CAAA;AAC7D,MAAM,OAAO,GAAG,oCAA6C,CAAA;AAC7D,MAAM,IAAI,GAAG,iCAA0C,CAAA;AACvD,MAAM,MAAM,GAAG,kBAA2B,CAAA;AAO1C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS;IACT,SAAS;CACwC,CAAA;AAQnD,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACxB,MAAM,CAA4B;IAEnD,YAAY,IAAU,EAAE,UAAyB,EAAE;QACjD,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAgB,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,2EAA2E;IAC3E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC;IAED,uEAAuE;IACvE,EAAE,CACA,KAAQ,EACR,QAA0C;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CACF,KAAQ,EACR,QAA0C;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG,CACD,KAAQ,EACR,QAA0C;QAE1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,0DAA0D;IAC1D,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS,CAAC,OAAe,EAAE,IAAgB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAe;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,IAAc;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,eAAe,CAAC,OAAe,EAAE,KAAa;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,KAAa,EAAE,IAAc;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YACrC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ import { Resource } from './base.js';
2
+ export declare class RobloxResource extends Resource {
3
+ user(target: string | number): Promise<{
4
+ id: string;
5
+ username: string;
6
+ displayName: string;
7
+ description: string;
8
+ followers: number;
9
+ followings: number;
10
+ friends: number;
11
+ isVerified: boolean;
12
+ isBanned: boolean;
13
+ createdAt: string;
14
+ avatar: string | null;
15
+ avatarHeadshot: string | null;
16
+ }>;
17
+ game(target: string | number): Promise<{
18
+ universeId: number;
19
+ rootPlaceId: number;
20
+ name: string;
21
+ description: string;
22
+ url: string;
23
+ iconUrl: string | null;
24
+ creator: {
25
+ id: number;
26
+ name: string;
27
+ type: string;
28
+ hasVerifiedBadge: boolean;
29
+ };
30
+ price: number | null;
31
+ playing: number;
32
+ visits: number;
33
+ favoritedCount: number;
34
+ maxPlayers: number;
35
+ genre: string;
36
+ genreCategory: string | null;
37
+ universeAvatarType: string;
38
+ createVipServersAllowed: boolean;
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ }>;
42
+ }
43
+ //# sourceMappingURL=roblox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roblox.d.ts","sourceRoot":"","sources":["../../src/resources/roblox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAKpC,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;;;;;;;;;;;;;;IAI5B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B"}
@@ -0,0 +1,12 @@
1
+ import { Resource } from './base.js';
2
+ const USER = '/v1/roblox/user/{target}';
3
+ const GAME = '/v1/roblox/game/{target}';
4
+ export class RobloxResource extends Resource {
5
+ user(target) {
6
+ return this.call('get', USER, { params: { target: String(target) } });
7
+ }
8
+ game(target) {
9
+ return this.call('get', GAME, { params: { target: String(target) } });
10
+ }
11
+ }
12
+ //# sourceMappingURL=roblox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roblox.js","sourceRoot":"","sources":["../../src/resources/roblox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,IAAI,GAAG,0BAAmC,CAAA;AAChD,MAAM,IAAI,GAAG,0BAAmC,CAAA;AAEhD,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,IAAI,CAAC,MAAuB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,MAAuB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IACvE,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import { Resource } from './base.js';
2
+ import type { Operation, QueryOf } from '../types.js';
3
+ declare const TRANSLATE: "/v1/translation/translate";
4
+ declare const DETECT: "/v1/translation/detect";
5
+ export type TranslateQuery = QueryOf<Operation<typeof TRANSLATE, 'get'>>;
6
+ export type DetectQuery = QueryOf<Operation<typeof DETECT, 'get'>>;
7
+ export declare class TranslationResource extends Resource {
8
+ translate(query: TranslateQuery): Promise<{
9
+ originalText: string;
10
+ translatedText: string;
11
+ sourceLanguage: string;
12
+ targetLanguage: string;
13
+ }>;
14
+ detect(query: DetectQuery): Promise<{
15
+ text: string;
16
+ language: string;
17
+ }>;
18
+ languages(): Promise<{
19
+ languages: {
20
+ code: string;
21
+ name: string;
22
+ }[];
23
+ }>;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=translation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../src/resources/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErD,QAAA,MAAM,SAAS,EAAG,2BAAoC,CAAA;AACtD,QAAA,MAAM,MAAM,EAAG,wBAAiC,CAAA;AAGhD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AAElE,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,SAAS,CAAC,KAAK,EAAE,cAAc;;;;;;IAI/B,MAAM,CAAC,KAAK,EAAE,WAAW;;;;IAIzB,SAAS;;;;;;CAGV"}
@@ -0,0 +1,16 @@
1
+ import { Resource } from './base.js';
2
+ const TRANSLATE = '/v1/translation/translate';
3
+ const DETECT = '/v1/translation/detect';
4
+ const LANGUAGES = '/v1/translation/languages';
5
+ export class TranslationResource extends Resource {
6
+ translate(query) {
7
+ return this.call('get', TRANSLATE, { query });
8
+ }
9
+ detect(query) {
10
+ return this.call('get', DETECT, { query });
11
+ }
12
+ languages() {
13
+ return this.call('get', LANGUAGES);
14
+ }
15
+ }
16
+ //# sourceMappingURL=translation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/resources/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,MAAM,SAAS,GAAG,2BAAoC,CAAA;AACtD,MAAM,MAAM,GAAG,wBAAiC,CAAA;AAChD,MAAM,SAAS,GAAG,2BAAoC,CAAA;AAMtD,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,SAAS,CAAC,KAAqB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACpC,CAAC;CACF"}