@ejercito-fam/habbo-api 1.0.0 → 1.0.2

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 (64) hide show
  1. package/README.md +14 -6
  2. package/dist/constants.d.ts +25 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +26 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/habbo.d.ts +22 -0
  7. package/dist/habbo.d.ts.map +1 -0
  8. package/dist/habbo.js +64 -0
  9. package/dist/habbo.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/{src/index.ts → dist/index.js} +1 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/routes/achievements.d.ts +52 -0
  15. package/dist/routes/achievements.d.ts.map +1 -0
  16. package/dist/routes/achievements.js +40 -0
  17. package/dist/routes/achievements.js.map +1 -0
  18. package/dist/routes/base.d.ts +13 -0
  19. package/dist/routes/base.d.ts.map +1 -0
  20. package/dist/routes/base.js +44 -0
  21. package/dist/routes/base.js.map +1 -0
  22. package/dist/routes/groups.d.ts +111 -0
  23. package/dist/routes/groups.d.ts.map +1 -0
  24. package/dist/routes/groups.js +53 -0
  25. package/dist/routes/groups.js.map +1 -0
  26. package/dist/routes/lists.d.ts +21 -0
  27. package/dist/routes/lists.d.ts.map +1 -0
  28. package/dist/routes/lists.js +38 -0
  29. package/dist/routes/lists.js.map +1 -0
  30. package/dist/routes/marketplace.d.ts +28 -0
  31. package/dist/routes/marketplace.d.ts.map +1 -0
  32. package/dist/routes/marketplace.js +25 -0
  33. package/dist/routes/marketplace.js.map +1 -0
  34. package/dist/routes/ping.d.ts +10 -0
  35. package/dist/routes/ping.d.ts.map +1 -0
  36. package/dist/routes/ping.js +17 -0
  37. package/dist/routes/ping.js.map +1 -0
  38. package/dist/routes/rooms.d.ts +30 -0
  39. package/dist/routes/rooms.d.ts.map +1 -0
  40. package/dist/routes/rooms.js +15 -0
  41. package/dist/routes/rooms.js.map +1 -0
  42. package/dist/routes/users.d.ts +407 -0
  43. package/dist/routes/users.d.ts.map +1 -0
  44. package/dist/routes/users.js +87 -0
  45. package/dist/routes/users.js.map +1 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -0
  47. package/package.json +4 -1
  48. package/.github/workflows/pr.yml +0 -18
  49. package/.prettierignore +0 -1
  50. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  51. package/.yarnrc.yml +0 -5
  52. package/src/constants.ts +0 -25
  53. package/src/habbo.ts +0 -36
  54. package/src/routes/achievements.ts +0 -67
  55. package/src/routes/base.ts +0 -33
  56. package/src/routes/groups.ts +0 -139
  57. package/src/routes/lists.ts +0 -41
  58. package/src/routes/marketplace.ts +0 -36
  59. package/src/routes/ping.ts +0 -17
  60. package/src/routes/rooms.ts +0 -35
  61. package/src/routes/users.ts +0 -448
  62. package/src/tsconfig.json +0 -14
  63. package/tsconfig.base.json +0 -3
  64. package/tsconfig.eslint.json +0 -8
package/README.md CHANGED
@@ -1,9 +1,17 @@
1
- # Bot
1
+ # `@ejercito-fam/habbo-api`
2
2
 
3
- ## Setup
3
+ ```ts
4
+ import { Habbo, HotelDomainURL } from '@ejercito-fam/habbo-api';
4
5
 
5
- To manage dependencies, it is recommended to use Yarn, using `yarn --immutable` to install dependencies.
6
+ // Initialize the client:
7
+ const client = new Habbo({
8
+ baseURL: HotelDomainURL.Spanish
9
+ });
6
10
 
7
- Create a `.env.development.local` file inside the `src` directory, copying the template from the `.env` file in the same
8
- directory, and then fill in the fields. The ENV loader is powered by
9
- [`@skyra/env-utilities`](https://www.npmjs.com/package/@skyra/env-utilities), more information in the package.
11
+ // Fetch a user by its username:
12
+ const result = await client.users.getByUsername('-tobi-talent-');
13
+
14
+ // Log the user:
15
+ const user = result.unwrap();
16
+ console.log(user);
17
+ ```
@@ -0,0 +1,25 @@
1
+ export declare enum HotelDomainTLD {
2
+ Brazilian = ".com.br",
3
+ Danish = ".dk",
4
+ Dutch = ".nl",
5
+ Finnish = ".fi",
6
+ French = ".fr",
7
+ German = ".de",
8
+ International = ".com",
9
+ Italian = ".it",
10
+ Spanish = ".es",
11
+ Turkish = ".com.tr"
12
+ }
13
+ export declare const HotelDomainURL: {
14
+ readonly Brazilian: "https://www.habbo.com.br";
15
+ readonly Danish: "https://www.habbo.dk";
16
+ readonly Dutch: "https://www.habbo.nl";
17
+ readonly Finnish: "https://www.habbo.fi";
18
+ readonly French: "https://www.habbo.fr";
19
+ readonly German: "https://www.habbo.de";
20
+ readonly International: "https://www.habbo.com";
21
+ readonly Italian: "https://www.habbo.it";
22
+ readonly Spanish: "https://www.habbo.es";
23
+ readonly Turkish: "https://www.habbo.com.tr";
24
+ };
25
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACzB,SAAS,YAAY;IACrB,MAAM,QAAQ;IACd,KAAK,QAAQ;IACb,OAAO,QAAQ;IACf,MAAM,QAAQ;IACd,MAAM,QAAQ;IACd,aAAa,SAAS;IACtB,OAAO,QAAQ;IACf,OAAO,QAAQ;IACf,OAAO,YAAY;CACnB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export var HotelDomainTLD;
2
+ (function (HotelDomainTLD) {
3
+ HotelDomainTLD["Brazilian"] = ".com.br";
4
+ HotelDomainTLD["Danish"] = ".dk";
5
+ HotelDomainTLD["Dutch"] = ".nl";
6
+ HotelDomainTLD["Finnish"] = ".fi";
7
+ HotelDomainTLD["French"] = ".fr";
8
+ HotelDomainTLD["German"] = ".de";
9
+ HotelDomainTLD["International"] = ".com";
10
+ HotelDomainTLD["Italian"] = ".it";
11
+ HotelDomainTLD["Spanish"] = ".es";
12
+ HotelDomainTLD["Turkish"] = ".com.tr";
13
+ })(HotelDomainTLD || (HotelDomainTLD = {}));
14
+ export const HotelDomainURL = {
15
+ Brazilian: `https://www.habbo${HotelDomainTLD.Brazilian}`,
16
+ Danish: `https://www.habbo${HotelDomainTLD.Danish}`,
17
+ Dutch: `https://www.habbo${HotelDomainTLD.Dutch}`,
18
+ Finnish: `https://www.habbo${HotelDomainTLD.Finnish}`,
19
+ French: `https://www.habbo${HotelDomainTLD.French}`,
20
+ German: `https://www.habbo${HotelDomainTLD.German}`,
21
+ International: `https://www.habbo${HotelDomainTLD.International}`,
22
+ Italian: `https://www.habbo${HotelDomainTLD.Italian}`,
23
+ Spanish: `https://www.habbo${HotelDomainTLD.Spanish}`,
24
+ Turkish: `https://www.habbo${HotelDomainTLD.Turkish}`
25
+ };
26
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACzB,uCAAqB,CAAA;IACrB,gCAAc,CAAA;IACd,+BAAa,CAAA;IACb,iCAAe,CAAA;IACf,gCAAc,CAAA;IACd,gCAAc,CAAA;IACd,wCAAsB,CAAA;IACtB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,qCAAmB,CAAA;AACpB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,SAAS,EAAE,oBAAoB,cAAc,CAAC,SAAS,EAAE;IACzD,MAAM,EAAE,oBAAoB,cAAc,CAAC,MAAM,EAAE;IACnD,KAAK,EAAE,oBAAoB,cAAc,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,oBAAoB,cAAc,CAAC,OAAO,EAAE;IACrD,MAAM,EAAE,oBAAoB,cAAc,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,oBAAoB,cAAc,CAAC,MAAM,EAAE;IACnD,aAAa,EAAE,oBAAoB,cAAc,CAAC,aAAa,EAAE;IACjE,OAAO,EAAE,oBAAoB,cAAc,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,oBAAoB,cAAc,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,oBAAoB,cAAc,CAAC,OAAO,EAAE;CAC5C,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { AchievementsAPI } from './routes/achievements.js';
2
+ import { GroupsAPI } from './routes/groups.js';
3
+ import { ListsAPI } from './routes/lists.js';
4
+ import { MarketplaceAPI } from './routes/marketplace.js';
5
+ import { PingAPI } from './routes/ping.js';
6
+ import { RoomsAPI } from './routes/rooms.js';
7
+ import { UsersAPI } from './routes/users.js';
8
+ export declare class Habbo {
9
+ readonly achievements: AchievementsAPI;
10
+ readonly groups: GroupsAPI;
11
+ readonly lists: ListsAPI;
12
+ readonly marketplace: MarketplaceAPI;
13
+ readonly ping: PingAPI;
14
+ readonly rooms: RoomsAPI;
15
+ readonly users: UsersAPI;
16
+ constructor(options?: HabboOptions);
17
+ }
18
+ export interface HabboOptions {
19
+ baseURL?: string | null | undefined;
20
+ timeout?: number | null | undefined;
21
+ }
22
+ //# sourceMappingURL=habbo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"habbo.d.ts","sourceRoot":"","sources":["../src/habbo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,qBAAa,KAAK;IACjB,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,WAAW,EAAE,cAAc,CAAC;IAC5C,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,KAAK,EAAE,QAAQ,CAAC;gBAEb,OAAO,CAAC,EAAE,YAAY;CAYzC;AAED,MAAM,WAAW,YAAY;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC"}
package/dist/habbo.js ADDED
@@ -0,0 +1,64 @@
1
+ import { HotelDomainURL } from './constants.js';
2
+ import { AchievementsAPI } from './routes/achievements.js';
3
+ import { GroupsAPI } from './routes/groups.js';
4
+ import { ListsAPI } from './routes/lists.js';
5
+ import { MarketplaceAPI } from './routes/marketplace.js';
6
+ import { PingAPI } from './routes/ping.js';
7
+ import { RoomsAPI } from './routes/rooms.js';
8
+ import { UsersAPI } from './routes/users.js';
9
+ export class Habbo {
10
+ constructor(options) {
11
+ Object.defineProperty(this, "achievements", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ Object.defineProperty(this, "groups", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "lists", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "marketplace", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "ping", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ Object.defineProperty(this, "rooms", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: void 0
46
+ });
47
+ Object.defineProperty(this, "users", {
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true,
51
+ value: void 0
52
+ });
53
+ const baseURL = options?.baseURL ?? HotelDomainURL.International;
54
+ const timeout = options?.timeout ?? null;
55
+ this.achievements = new AchievementsAPI(baseURL, timeout);
56
+ this.groups = new GroupsAPI(baseURL, timeout);
57
+ this.lists = new ListsAPI(baseURL, timeout);
58
+ this.marketplace = new MarketplaceAPI(baseURL, timeout);
59
+ this.ping = new PingAPI(baseURL, timeout);
60
+ this.rooms = new RoomsAPI(baseURL, timeout);
61
+ this.users = new UsersAPI(baseURL, timeout);
62
+ }
63
+ }
64
+ //# sourceMappingURL=habbo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"habbo.js","sourceRoot":"","sources":["../src/habbo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,OAAO,KAAK;IASjB,YAAmB,OAAsB;QARzB;;;;;WAA8B;QAC9B;;;;;WAAkB;QAClB;;;;;WAAgB;QAChB;;;;;WAA4B;QAC5B;;;;;WAAc;QACd;;;;;WAAgB;QAChB;;;;;WAAgB;QAG/B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC,aAAa,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QAEzC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACD"}
@@ -0,0 +1,10 @@
1
+ export * from './constants.js';
2
+ export * from './habbo.js';
3
+ export * from './routes/achievements.js';
4
+ export * from './routes/groups.js';
5
+ export * from './routes/lists.js';
6
+ export * from './routes/marketplace.js';
7
+ export * from './routes/ping.js';
8
+ export * from './routes/rooms.js';
9
+ export * from './routes/users.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -7,3 +7,4 @@ export * from './routes/marketplace.js';
7
7
  export * from './routes/ping.js';
8
8
  export * from './routes/rooms.js';
9
9
  export * from './routes/users.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { type FetchResult } from '@skyra/safe-fetch';
2
+ import { BaseAPI, type APIOptions } from './base.js';
3
+ import type { HabboUserId } from './users.js';
4
+ export declare class AchievementsAPI extends BaseAPI {
5
+ /**
6
+ * Get all achievements
7
+ *
8
+ * @param options - The options for the API call
9
+ */
10
+ getAll(options?: APIOptions): Promise<FetchResult<Achievement[]>>;
11
+ /**
12
+ * Get the achievements from a specified user ID
13
+ *
14
+ * @param id - The ID of the user
15
+ * @param options - The options for the API call
16
+ */
17
+ getByUserId(id: HabboUserId, options?: APIOptions): Promise<FetchResult<UserAchievement[]>>;
18
+ /**
19
+ * Get the image URL for an achievement
20
+ *
21
+ * @param achievementName - The name of the achievement, retrieved from {@linkcode AchievementData.name}
22
+ *
23
+ * @unstable This feature is not documented, use at your own risk
24
+ */
25
+ getImageURL(achievementName: string): URL;
26
+ }
27
+ export interface Achievement {
28
+ achievement: AchievementData;
29
+ levelRequirements: AchievementRequirements;
30
+ }
31
+ export interface UserAchievement {
32
+ achievement: AchievementData;
33
+ level: number;
34
+ score: number;
35
+ }
36
+ export interface AchievementData {
37
+ id: number;
38
+ name: string;
39
+ creationTime: `${bigint}-${bigint}-${bigint}`;
40
+ state: AchievementDataState;
41
+ category: string;
42
+ }
43
+ export declare enum AchievementDataState {
44
+ Enabled = "ENABLED",
45
+ Archived = "ARCHIVED",
46
+ OffSeason = "OFF_SEASON"
47
+ }
48
+ export interface AchievementRequirements {
49
+ level: number;
50
+ requiredScore: number;
51
+ }
52
+ //# sourceMappingURL=achievements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.d.ts","sourceRoot":"","sources":["../../src/routes/achievements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,OAAO;IAC3C;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAKxE;;;;;OAKG;IACI,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IAKlG;;;;;;OAMG;IACI,WAAW,CAAC,eAAe,EAAE,MAAM,GAAG,GAAG;CAGhD;AAED,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,iBAAiB,EAAE,uBAAuB,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;IAC9C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,oBAAoB;IAC/B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,eAAe;CACxB;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,40 @@
1
+ import { Json } from '@skyra/safe-fetch';
2
+ import { BaseAPI } from './base.js';
3
+ export class AchievementsAPI extends BaseAPI {
4
+ /**
5
+ * Get all achievements
6
+ *
7
+ * @param options - The options for the API call
8
+ */
9
+ getAll(options) {
10
+ const url = this.formatURL('/api/public/achievements');
11
+ return Json(this.fetch(url, options));
12
+ }
13
+ /**
14
+ * Get the achievements from a specified user ID
15
+ *
16
+ * @param id - The ID of the user
17
+ * @param options - The options for the API call
18
+ */
19
+ getByUserId(id, options) {
20
+ const url = this.formatURL(`/api/public/achievements/${id}`);
21
+ return Json(this.fetch(url, options));
22
+ }
23
+ /**
24
+ * Get the image URL for an achievement
25
+ *
26
+ * @param achievementName - The name of the achievement, retrieved from {@linkcode AchievementData.name}
27
+ *
28
+ * @unstable This feature is not documented, use at your own risk
29
+ */
30
+ getImageURL(achievementName) {
31
+ return new URL(`https://images.habbo.com/c_images/album1584/${achievementName}.png`);
32
+ }
33
+ }
34
+ export var AchievementDataState;
35
+ (function (AchievementDataState) {
36
+ AchievementDataState["Enabled"] = "ENABLED";
37
+ AchievementDataState["Archived"] = "ARCHIVED";
38
+ AchievementDataState["OffSeason"] = "OFF_SEASON";
39
+ })(AchievementDataState || (AchievementDataState = {}));
40
+ //# sourceMappingURL=achievements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.js","sourceRoot":"","sources":["../../src/routes/achievements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAGrD,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAC3C;;;;OAIG;IACI,MAAM,CAAC,OAAoB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACvD,OAAO,IAAI,CAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,EAAe,EAAE,OAAoB;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,eAAuB;QACzC,OAAO,IAAI,GAAG,CAAC,+CAA+C,eAAe,MAAM,CAAC,CAAC;IACtF,CAAC;CACD;AAqBD,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC/B,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,gDAAwB,CAAA;AACzB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B"}
@@ -0,0 +1,13 @@
1
+ import { type FetchResult } from '@skyra/safe-fetch';
2
+ export declare abstract class BaseAPI {
3
+ #private;
4
+ protected readonly baseURL: string;
5
+ protected readonly timeout: number | null;
6
+ constructor(baseURL: string, timeout?: number | null | undefined);
7
+ protected formatURL(route: string): URL;
8
+ protected fetch(url: string | URL, options?: APIOptions): Promise<FetchResult<Response>>;
9
+ }
10
+ export interface APIOptions {
11
+ signal?: AbortSignal | number | null | undefined;
12
+ }
13
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/routes/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,8BAAsB,OAAO;;IAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAKvE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAIvC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;CAaxF;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD"}
@@ -0,0 +1,44 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _BaseAPI_instances, _BaseAPI_getSignalOrDefault;
7
+ import { safeFetch } from '@skyra/safe-fetch';
8
+ export class BaseAPI {
9
+ constructor(baseURL, timeout) {
10
+ _BaseAPI_instances.add(this);
11
+ Object.defineProperty(this, "baseURL", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ Object.defineProperty(this, "timeout", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ this.baseURL = baseURL;
24
+ this.timeout = timeout ?? null;
25
+ }
26
+ formatURL(route) {
27
+ return new URL(route, this.baseURL);
28
+ }
29
+ fetch(url, options) {
30
+ return safeFetch(url, { headers: { 'Content-Type': 'application/json' }, signal: __classPrivateFieldGet(this, _BaseAPI_instances, "m", _BaseAPI_getSignalOrDefault).call(this, options) });
31
+ }
32
+ }
33
+ _BaseAPI_instances = new WeakSet(), _BaseAPI_getSignalOrDefault = function _BaseAPI_getSignalOrDefault(options) {
34
+ if (typeof options === 'object' && options !== null) {
35
+ if (typeof options.signal === 'number')
36
+ return AbortSignal.timeout(options.signal);
37
+ if (typeof options.signal === 'object' && options.signal !== null)
38
+ return options.signal;
39
+ }
40
+ if (typeof this.timeout === 'number')
41
+ return AbortSignal.timeout(this.timeout);
42
+ return null;
43
+ };
44
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/routes/base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,mBAAmB,CAAC;AAEhE,MAAM,OAAgB,OAAO;IAI5B,YAAmB,OAAe,EAAE,OAAmC;;QAHpD;;;;;WAAgB;QAChB;;;;;WAAuB;QAGzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;IAChC,CAAC;IAES,SAAS,CAAC,KAAa;QAChC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAES,KAAK,CAAC,GAAiB,EAAE,OAAoB;QACtD,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,uBAAA,IAAI,uDAAoB,MAAxB,IAAI,EAAqB,OAAO,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;CAWD;uGAToB,OAAoB;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnF,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1F,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { type FetchResult } from '@skyra/safe-fetch';
2
+ import { BaseAPI, type APIOptions } from './base.js';
3
+ export declare class GroupsAPI extends BaseAPI {
4
+ /**
5
+ * Get the data for a group given its identifier
6
+ *
7
+ * @param id - The ID of the group
8
+ * @param options - The options for the API call
9
+ */
10
+ getByUniqueId(id: HabboGroupId, options?: APIOptions): Promise<FetchResult<HabboGroup>>;
11
+ /**
12
+ * Get the members from a group given its identifier
13
+ *
14
+ * @param id - The ID of the group
15
+ * @param options - The options for the API call
16
+ */
17
+ getGroupMembers(id: HabboGroupId, options?: APIOptions): Promise<FetchResult<HabboGroupMember[]>>;
18
+ /**
19
+ * Get the image URL for a badge
20
+ *
21
+ * @param badgeCode - The badge's code, retrieved from {@linkcode HabboGroup.badgeCode}
22
+ *
23
+ * @unstable This feature is not documented, use at your own risk
24
+ */
25
+ getGroupBadgeImageURL(badgeCode: string): URL;
26
+ }
27
+ export type HabboGroupId = `g-hh${string}-${string};`;
28
+ /**
29
+ * Represents a Habbo group.
30
+ */
31
+ export interface HabboGroup {
32
+ /**
33
+ * The unique identifier of the group.
34
+ */
35
+ id: HabboGroupId;
36
+ /**
37
+ * The name of the group.
38
+ */
39
+ name: string;
40
+ /**
41
+ * The description of the group.
42
+ */
43
+ description: string;
44
+ /**
45
+ * The type of the group.
46
+ */
47
+ type: HabboGroupType;
48
+ /**
49
+ * The ID of the room associated with the group, or null if no room is associated.
50
+ */
51
+ roomId: number | null;
52
+ /**
53
+ * The badge code of the group.
54
+ */
55
+ badgeCode: string;
56
+ }
57
+ /**
58
+ * Enum representing the type of a Habbo group.
59
+ */
60
+ export declare enum HabboGroupType {
61
+ /**
62
+ * A normal group (public).
63
+ */
64
+ NORMAL = "NORMAL",
65
+ /**
66
+ * A favourite (exclusive) group.
67
+ */
68
+ FAVOURITE = "EXCLUSIVE",
69
+ /**
70
+ * A private (closed) group.
71
+ */
72
+ PRIVATE = "CLOSED"
73
+ }
74
+ /**
75
+ * Represents a member of a Habbo group.
76
+ */
77
+ export interface HabboGroupMember {
78
+ /**
79
+ * Indicates whether the member is online.
80
+ */
81
+ online: boolean;
82
+ /**
83
+ * The gender of the member.
84
+ */
85
+ gender: 'm' | 'f';
86
+ /**
87
+ * The motto of the member.
88
+ */
89
+ motto: string;
90
+ /**
91
+ * The figure of the member in the Habbo world.
92
+ */
93
+ habboFigure: string;
94
+ /**
95
+ * The date since the member joined the group.
96
+ */
97
+ memberSince: string;
98
+ /**
99
+ * The unique identifier of the member.
100
+ */
101
+ uniqueId: string;
102
+ /**
103
+ * The name of the member.
104
+ */
105
+ name: string;
106
+ /**
107
+ * Indicates whether the member is an admin of the group.
108
+ */
109
+ isAdmin: boolean;
110
+ }
111
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/routes/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,qBAAa,SAAU,SAAQ,OAAO;IACrC;;;;;OAKG;IACI,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAK9F;;;;;OAKG;IACI,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAKxG;;;;;;OAMG;IACI,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;CAGpD;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,IAAI,MAAM,GAAG,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,EAAE,EAAE,YAAY,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB;;OAEG;IACH,MAAM,WAAW;IAEjB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,OAAO,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,53 @@
1
+ import { Json } from '@skyra/safe-fetch';
2
+ import { BaseAPI } from './base.js';
3
+ export class GroupsAPI extends BaseAPI {
4
+ /**
5
+ * Get the data for a group given its identifier
6
+ *
7
+ * @param id - The ID of the group
8
+ * @param options - The options for the API call
9
+ */
10
+ getByUniqueId(id, options) {
11
+ const url = this.formatURL(`/api/public/groups/${id}`);
12
+ return Json(this.fetch(url, options));
13
+ }
14
+ /**
15
+ * Get the members from a group given its identifier
16
+ *
17
+ * @param id - The ID of the group
18
+ * @param options - The options for the API call
19
+ */
20
+ getGroupMembers(id, options) {
21
+ const url = this.formatURL(`/api/public/groups/${id}/members`);
22
+ return Json(this.fetch(url, options));
23
+ }
24
+ /**
25
+ * Get the image URL for a badge
26
+ *
27
+ * @param badgeCode - The badge's code, retrieved from {@linkcode HabboGroup.badgeCode}
28
+ *
29
+ * @unstable This feature is not documented, use at your own risk
30
+ */
31
+ getGroupBadgeImageURL(badgeCode) {
32
+ return this.formatURL(`/habbo-imaging/badge/${badgeCode}`);
33
+ }
34
+ }
35
+ /**
36
+ * Enum representing the type of a Habbo group.
37
+ */
38
+ export var HabboGroupType;
39
+ (function (HabboGroupType) {
40
+ /**
41
+ * A normal group (public).
42
+ */
43
+ HabboGroupType["NORMAL"] = "NORMAL";
44
+ /**
45
+ * A favourite (exclusive) group.
46
+ */
47
+ HabboGroupType["FAVOURITE"] = "EXCLUSIVE";
48
+ /**
49
+ * A private (closed) group.
50
+ */
51
+ HabboGroupType["PRIVATE"] = "CLOSED";
52
+ })(HabboGroupType || (HabboGroupType = {}));
53
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/routes/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,OAAO;IACrC;;;;;OAKG;IACI,aAAa,CAAC,EAAgB,EAAE,OAAoB;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAa,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,EAAgB,EAAE,OAAoB;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAqB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACI,qBAAqB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;CACD;AAuCD;;GAEG;AACH,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACzB;;OAEG;IACH,mCAAiB,CAAA;IAEjB;;OAEG;IACH,yCAAuB,CAAA;IAEvB;;OAEG;IACH,oCAAkB,CAAA;AACnB,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB"}
@@ -0,0 +1,21 @@
1
+ import { type FetchResult } from '@skyra/safe-fetch';
2
+ import { BaseAPI, type APIOptions } from './base.js';
3
+ export declare class ListsAPI extends BaseAPI {
4
+ #private;
5
+ /**
6
+ * Get the hot looks from the hotel
7
+ *
8
+ * @param options - The options for the API call
9
+ */
10
+ getHotLooks(options: APIOptions): Promise<FetchResult<HabboHotLookList>>;
11
+ }
12
+ export interface HabboHotLookList {
13
+ url: string;
14
+ entries: HabboHotLookListItem[];
15
+ }
16
+ export interface HabboHotLookListItem {
17
+ gender: 'f' | 'm';
18
+ figure: string;
19
+ hash: string;
20
+ }
21
+ //# sourceMappingURL=lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/routes/lists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,qBAAa,QAAS,SAAQ,OAAO;;IACpC;;;;OAIG;IACU,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;CAoBrF;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,38 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _ListsAPI_instances, _ListsAPI_parseHotLooksXML;
7
+ import {} from '@skyra/safe-fetch';
8
+ import { BaseAPI } from './base.js';
9
+ export class ListsAPI extends BaseAPI {
10
+ constructor() {
11
+ super(...arguments);
12
+ _ListsAPI_instances.add(this);
13
+ }
14
+ /**
15
+ * Get the hot looks from the hotel
16
+ *
17
+ * @param options - The options for the API call
18
+ */
19
+ async getHotLooks(options) {
20
+ const url = this.formatURL('/api/public/lists/hotlooks');
21
+ const data = await this.fetch(url, options);
22
+ return data.map(async (result) => __classPrivateFieldGet(this, _ListsAPI_instances, "m", _ListsAPI_parseHotLooksXML).call(this, await result.text())).intoPromise();
23
+ }
24
+ }
25
+ _ListsAPI_instances = new WeakSet(), _ListsAPI_parseHotLooksXML = function _ListsAPI_parseHotLooksXML(data) {
26
+ const urlResult = /url="(.*)"/.exec(data);
27
+ if (urlResult === null)
28
+ throw new SyntaxError('Could not read hot looks');
29
+ const url = urlResult[1];
30
+ const entries = [];
31
+ for (const result of data.matchAll(/gender="(\w)" figure="(.+)" hash="(.+)"/g)) {
32
+ entries.push({ gender: result[1], figure: result[2], hash: result[3] });
33
+ }
34
+ if (entries.length === 0)
35
+ throw new SyntaxError('Could not read hot looks');
36
+ return { url, entries };
37
+ };
38
+ //# sourceMappingURL=lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/routes/lists.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAoB,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAmB,MAAM,WAAW,CAAC;AAErD,MAAM,OAAO,QAAS,SAAQ,OAAO;IAArC;;;IA0BA,CAAC;IAzBA;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,OAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,uBAAA,IAAI,uDAAkB,MAAtB,IAAI,EAAmB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9F,CAAC;CAgBD;sGAdkB,IAAY;IAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE1E,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,EAA4B,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE5E,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACzB,CAAC"}