@serverbench/js 1.0.1 → 1.0.3

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 (79) hide show
  1. package/dist/{Serverbench.cjs → index.cjs} +16 -6
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +99 -0
  4. package/dist/index.d.ts +99 -0
  5. package/dist/{Serverbench.js → index.js} +7 -2
  6. package/dist/index.js.map +1 -0
  7. package/package.json +5 -4
  8. package/dist/Member.cjs +0 -19
  9. package/dist/Member.cjs.map +0 -1
  10. package/dist/Member.d.cts +0 -7
  11. package/dist/Member.d.ts +0 -7
  12. package/dist/Member.js +0 -1
  13. package/dist/Member.js.map +0 -1
  14. package/dist/Serverbench-BnPNK96A.d.cts +0 -38
  15. package/dist/Serverbench-DlERhe0-.d.ts +0 -38
  16. package/dist/Serverbench.cjs.map +0 -1
  17. package/dist/Serverbench.d.cts +0 -10
  18. package/dist/Serverbench.d.ts +0 -10
  19. package/dist/Serverbench.js.map +0 -1
  20. package/dist/element/Element.cjs +0 -275
  21. package/dist/element/Element.cjs.map +0 -1
  22. package/dist/element/Element.d.cts +0 -10
  23. package/dist/element/Element.d.ts +0 -10
  24. package/dist/element/Element.js +0 -255
  25. package/dist/element/Element.js.map +0 -1
  26. package/dist/store/ICountryCurrency.cjs +0 -19
  27. package/dist/store/ICountryCurrency.cjs.map +0 -1
  28. package/dist/store/ICountryCurrency.d.cts +0 -7
  29. package/dist/store/ICountryCurrency.d.ts +0 -7
  30. package/dist/store/ICountryCurrency.js +0 -1
  31. package/dist/store/ICountryCurrency.js.map +0 -1
  32. package/dist/store/IDiscount.cjs +0 -19
  33. package/dist/store/IDiscount.cjs.map +0 -1
  34. package/dist/store/IDiscount.d.cts +0 -13
  35. package/dist/store/IDiscount.d.ts +0 -13
  36. package/dist/store/IDiscount.js +0 -1
  37. package/dist/store/IDiscount.js.map +0 -1
  38. package/dist/store/ISku.cjs +0 -19
  39. package/dist/store/ISku.cjs.map +0 -1
  40. package/dist/store/ISku.d.cts +0 -17
  41. package/dist/store/ISku.d.ts +0 -17
  42. package/dist/store/ISku.js +0 -1
  43. package/dist/store/ISku.js.map +0 -1
  44. package/dist/store/ISkuPerkUsage.cjs +0 -19
  45. package/dist/store/ISkuPerkUsage.cjs.map +0 -1
  46. package/dist/store/ISkuPerkUsage.d.cts +0 -7
  47. package/dist/store/ISkuPerkUsage.d.ts +0 -7
  48. package/dist/store/ISkuPerkUsage.js +0 -1
  49. package/dist/store/ISkuPerkUsage.js.map +0 -1
  50. package/dist/store/ISkuPrice.cjs +0 -19
  51. package/dist/store/ISkuPrice.cjs.map +0 -1
  52. package/dist/store/ISkuPrice.d.cts +0 -10
  53. package/dist/store/ISkuPrice.d.ts +0 -10
  54. package/dist/store/ISkuPrice.js +0 -1
  55. package/dist/store/ISkuPrice.js.map +0 -1
  56. package/dist/store/IStore.cjs +0 -19
  57. package/dist/store/IStore.cjs.map +0 -1
  58. package/dist/store/IStore.d.cts +0 -18
  59. package/dist/store/IStore.d.ts +0 -18
  60. package/dist/store/IStore.js +0 -1
  61. package/dist/store/IStore.js.map +0 -1
  62. package/dist/store/IStoreCategory.cjs +0 -19
  63. package/dist/store/IStoreCategory.cjs.map +0 -1
  64. package/dist/store/IStoreCategory.d.cts +0 -16
  65. package/dist/store/IStoreCategory.d.ts +0 -16
  66. package/dist/store/IStoreCategory.js +0 -1
  67. package/dist/store/IStoreCategory.js.map +0 -1
  68. package/dist/store/IStoreCategorySet.cjs +0 -19
  69. package/dist/store/IStoreCategorySet.cjs.map +0 -1
  70. package/dist/store/IStoreCategorySet.d.cts +0 -6
  71. package/dist/store/IStoreCategorySet.d.ts +0 -6
  72. package/dist/store/IStoreCategorySet.js +0 -1
  73. package/dist/store/IStoreCategorySet.js.map +0 -1
  74. package/dist/store/Store.cjs +0 -301
  75. package/dist/store/Store.cjs.map +0 -1
  76. package/dist/store/Store.d.cts +0 -10
  77. package/dist/store/Store.d.ts +0 -10
  78. package/dist/store/Store.js +0 -281
  79. package/dist/store/Store.js.map +0 -1
@@ -51,12 +51,14 @@ var __async = (__this, __arguments, generator) => {
51
51
  });
52
52
  };
53
53
 
54
- // src/Serverbench.ts
55
- var Serverbench_exports = {};
56
- __export(Serverbench_exports, {
57
- default: () => Serverbench
54
+ // src/index.ts
55
+ var src_exports = {};
56
+ __export(src_exports, {
57
+ Element: () => Element,
58
+ Store: () => Store,
59
+ default: () => src_default
58
60
  });
59
- module.exports = __toCommonJS(Serverbench_exports);
61
+ module.exports = __toCommonJS(src_exports);
60
62
 
61
63
  // node_modules/.pnpm/@open-iframe-resizer+core@1.2.1/node_modules/@open-iframe-resizer/core/dist/index.js
62
64
  var g = () => typeof window < "u";
@@ -345,4 +347,12 @@ var _Serverbench = class _Serverbench {
345
347
  };
346
348
  _Serverbench.instance = null;
347
349
  var Serverbench = _Serverbench;
348
- //# sourceMappingURL=Serverbench.cjs.map
350
+
351
+ // src/index.ts
352
+ var src_default = Serverbench;
353
+ // Annotate the CommonJS export names for ESM import in node:
354
+ 0 && (module.exports = {
355
+ Element,
356
+ Store
357
+ });
358
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../node_modules/.pnpm/@open-iframe-resizer+core@1.2.1/node_modules/@open-iframe-resizer/core/dist/index.js","../src/element/Element.ts","../src/store/Store.ts","../src/Serverbench.ts"],"sourcesContent":["import Member from \"./Member.js\";\r\nimport Serverbench from \"./Serverbench.js\";\r\nimport ICountryCurrency from \"./store/ICountryCurrency.js\";\r\nimport ISku from \"./store/ISku.js\";\r\nimport ISkuPerkUsage from \"./store/ISkuPerkUsage.js\";\r\nimport ISkuPrice from \"./store/ISkuPrice.js\";\r\nimport IStore from \"./store/IStore.js\";\r\nimport IStoreCategory from \"./store/IStoreCategory.js\";\r\nimport IStoreCategorySet from \"./store/IStoreCategorySet.js\";\r\nimport Store from \"./store/Store.js\";\r\nimport Element from \"./element/Element.js\"\r\nimport IDiscount from \"./store/IDiscount.js\";\r\n\r\nexport {\r\n Store,\r\n ICountryCurrency,\r\n IDiscount,\r\n ISku,\r\n ISkuPerkUsage,\r\n ISkuPrice,\r\n IStore,\r\n IStoreCategory,\r\n IStoreCategorySet,\r\n}\r\n\r\nexport {\r\n Member\r\n}\r\n\r\nexport {\r\n Element\r\n}\r\n\r\nexport default Serverbench","const g = () => typeof window < \"u\", L = () => window.self !== window.top, m = (e) => e instanceof HTMLIFrameElement, w = (e, t) => {\n e.document.readyState === \"complete\" ? t() : e.addEventListener(\"load\", t);\n}, y = (e, t) => {\n t(), e.addEventListener(\"load\", t);\n}, p = (e, t) => {\n var i, o;\n const n = ((i = e.contentWindow) == null ? void 0 : i.document.readyState) === \"complete\";\n return e.src !== \"about:blank\" && ((o = e.contentWindow) == null ? void 0 : o.location.href) !== \"about:blank\" && n ? t() : e.addEventListener(\"load\", t);\n}, v = () => ({ offsetSize: 0, checkOrigin: !0, enableLegacyLibSupport: !1 }), b = (e) => {\n try {\n return new URL(e.src).origin === window.location.origin;\n } catch {\n return !1;\n }\n}, I = (e) => {\n try {\n const t = new URL(e.src).origin;\n if (t !== \"about:blank\")\n return t;\n } catch {\n }\n return null;\n}, R = (e) => (Object.keys(e).forEach((t) => e[t] === void 0 && delete e[t]), e), h = (e) => {\n const { height: t } = e.documentElement.getBoundingClientRect();\n return Math.ceil(t);\n};\nfunction z(e) {\n y(\n e,\n () => {\n var t;\n return (t = e.contentWindow) == null ? void 0 : t.postMessage(\"[iFrameSizer]ID:0:false:false:32:true:true::auto:::0:false:child:auto:true:::true:::false\", \"*\");\n }\n );\n}\nfunction O(e) {\n if (typeof e.data == \"string\" && e.data.startsWith(\"[iFrameSizer]\")) {\n const [t, n] = e.data.split(\":\"), r = +n;\n return r > 0 ? r : null;\n }\n return null;\n}\nconst a = g() ? M() : null;\nlet l = [];\nconst D = (e, t) => {\n if (!g())\n return [];\n const n = { ...v(), ...R(e ?? {}) }, r = S(t), i = E(n, r);\n return r.map((o) => {\n const s = { iframe: o, settings: n, interactionState: { isHovered: !1 } }, d = C(s, i);\n return l.push(s), {\n unsubscribe: () => {\n d(), l = l.filter((u) => u.iframe !== o);\n }\n };\n });\n};\nfunction S(e) {\n return typeof e == \"string\" ? Array.from(document.querySelectorAll(e)).filter(m) : e ? m(e) ? [e] : [] : Array.from(document.getElementsByTagName(\"iframe\"));\n}\nfunction E(e, t) {\n if (Array.isArray(e.checkOrigin))\n return e.checkOrigin;\n if (!e.checkOrigin)\n return [];\n const n = [];\n for (const r of t) {\n const i = I(r);\n i && n.push(i);\n }\n return n;\n}\nfunction C(e, t) {\n const n = b(e.iframe) ? B(e) : k(e, t), r = H(e);\n return () => {\n n(), r();\n };\n}\nfunction k(e, t) {\n const { iframe: n, settings: r } = e, i = (o) => {\n var u;\n const s = !r.checkOrigin || t.includes(o.origin);\n if (!(!(n.contentWindow === o.source) || !s)) {\n if (((u = o.data) == null ? void 0 : u.type) === \"iframe-resized\") {\n const { height: c } = o.data;\n c && f({ newHeight: c, registeredElement: e });\n return;\n }\n if (r.enableLegacyLibSupport) {\n const c = O(o);\n c !== null && f({ newHeight: c, registeredElement: e });\n return;\n }\n }\n };\n return window.addEventListener(\"message\", i), r.enableLegacyLibSupport && z(n), () => window.removeEventListener(\"message\", i);\n}\nfunction B({ iframe: e }) {\n const t = () => {\n var r;\n const n = (r = e.contentDocument) == null ? void 0 : r.body;\n n && (a == null || a.observe(n));\n };\n return p(e, t), () => {\n var n;\n (n = e.contentDocument) != null && n.body && (a == null || a.unobserve(e.contentDocument.body)), e.removeEventListener(\"load\", t);\n };\n}\nfunction H({ iframe: e, interactionState: t }) {\n const n = () => {\n t.isHovered = !0;\n }, r = () => {\n t.isHovered = !1;\n };\n return e.addEventListener(\"mouseenter\", n), e.addEventListener(\"mouseleave\", r), () => {\n e.removeEventListener(\"mouseenter\", n), e.removeEventListener(\"mouseleave\", r);\n };\n}\nfunction M() {\n const e = ({ target: t }) => {\n const n = l.find((o) => {\n var s;\n return ((s = o.iframe.contentDocument) == null ? void 0 : s.body) === t;\n });\n if (!n)\n return;\n const { iframe: r } = n;\n if (!r.contentDocument)\n return;\n const i = h(r.contentDocument);\n i && f({ newHeight: i, registeredElement: n });\n };\n return new ResizeObserver((t) => t.forEach(e));\n}\nfunction f({ registeredElement: e, newHeight: t }) {\n const { iframe: n, settings: r, interactionState: i } = e, o = n.getBoundingClientRect(), s = t + r.offsetSize;\n if (n.style.height = `${s}px`, !r.onIframeResize)\n return;\n const d = {\n iframe: n,\n settings: { ...r },\n interactionState: { ...i },\n previousRenderState: { rect: o },\n nextRenderState: { rect: n.getBoundingClientRect() }\n };\n r.onIframeResize(d);\n}\nW();\nfunction W() {\n !g() || !L() || w(window, () => {\n const e = () => {\n const n = {\n type: \"iframe-resized\",\n width: document.documentElement.scrollWidth,\n height: h(document)\n };\n window.parent.postMessage(n, \"*\");\n };\n new ResizeObserver(e).observe(document.body);\n });\n}\nconst A = ({ previousRenderState: e, nextRenderState: t, interactionState: n }) => {\n n.isHovered && window.scrollBy(0, t.rect.bottom - e.rect.bottom);\n};\nexport {\n D as initialize,\n W as initializeChildListener,\n A as updateParentScrollOnResize\n};\n","import { initialize } from \"../../node_modules/@open-iframe-resizer/core/dist/index.js\"\r\nimport Serverbench from \"../Serverbench.js\"\r\n\r\nexport default class Element {\r\n\r\n private readonly client: Serverbench\r\n private dark: boolean\r\n private background: boolean\r\n private readonly path: string\r\n private readonly args: Record<string, string | string[]>\r\n\r\n constructor(client: Serverbench, path: string, args: Record<string, string | string[]> = {}, dark: boolean = false, background: boolean = false) {\r\n this.client = client\r\n this.dark = dark\r\n this.background = background\r\n this.path = path\r\n this.args = args\r\n }\r\n\r\n setDark(dark: boolean) {\r\n this.dark = dark\r\n return this\r\n }\r\n\r\n setBackground(background: boolean) {\r\n this.background = background\r\n return this\r\n }\r\n\r\n async mount(element: HTMLElement) {\r\n const queryParams = new URLSearchParams()\r\n queryParams.set('clientId', this.client.clientId)\r\n queryParams.set('clientSecret', this.client.clientSecret)\r\n if (this.dark) queryParams.set('dark', 'true')\r\n if (this.background) queryParams.set('background', 'true')\r\n for (const key in this.args) {\r\n const value = this.args[key]\r\n if (Array.isArray(value)) {\r\n queryParams.set(key, value.join(','))\r\n } else {\r\n queryParams.set(key, value)\r\n }\r\n }\r\n const iframe = document.createElement('iframe');\r\n iframe.src = `https://safe.serverbench.io${this.path}?${queryParams.toString()}`;\r\n iframe.style.width = '100%';\r\n const appended = element.appendChild(iframe);\r\n initialize({}, appended);\r\n return this\r\n }\r\n\r\n}","import Element from \"../element/Element.js\";\r\nimport Member from \"../Member.js\";\r\nimport type Serverbench from \"../Serverbench.js\";\r\nimport IDiscount from \"./IDiscount.js\";\r\nimport ISkuPrice from \"./ISkuPrice.js\";\r\nimport type IStore from \"./IStore.js\";\r\n\r\nexport default class Store {\r\n\r\n private client: Serverbench\r\n\r\n constructor(client: Serverbench) {\r\n this.client = client\r\n }\r\n\r\n async get(username?: string, eid?: string) {\r\n return (await this.client.post('community', '/store/view', {\r\n username,\r\n eid\r\n })) as IStore\r\n }\r\n\r\n checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member) {\r\n return new Element(\r\n this.client,\r\n '/community/checkout',\r\n {\r\n prices: prices.map(price => price.id).join(','),\r\n discounts: discounts.map(discount => discount.id).join(','),\r\n member: member.id\r\n }\r\n )\r\n }\r\n\r\n}","import Store from \"./store/Store.js\"\r\n\r\nexport default class Serverbench {\r\n\r\n clientId: string\r\n clientSecret: string\r\n test: boolean\r\n\r\n private static instance: Serverbench | null = null\r\n\r\n private constructor(clientId: string, clientSecret: string, test: boolean) {\r\n this.clientId = clientId\r\n this.clientSecret = clientSecret\r\n this.test = test\r\n }\r\n\r\n static get(clientId: string, clientSecret: string, test: boolean = false) {\r\n if (!Serverbench.instance || Serverbench.instance.clientId !== clientId || Serverbench.instance.clientSecret !== clientSecret || Serverbench.instance.test !== test) {\r\n Serverbench.instance = new Serverbench(clientId, clientSecret, test)\r\n }\r\n return Serverbench.instance\r\n }\r\n\r\n get store() {\r\n return new Store(this)\r\n }\r\n\r\n private async fetch(realm: string, url: string, body?: any) {\r\n const domain = this.test ? 'https://dev.serverbench.io' : 'https://api.serverbench.io'\r\n const headers = new Headers({\r\n authorization: `ApiKey ${this.clientSecret}`,\r\n })\r\n if (body) {\r\n headers.set('Content-Type', 'application/json')\r\n }\r\n const response = await fetch(`${domain}/${realm}/${this.clientId}${url}`, {\r\n headers,\r\n method: body ? 'POST' : 'GET',\r\n body: body ? JSON.stringify(body) : undefined\r\n })\r\n return response.json()\r\n }\r\n\r\n async get(realm: string, url: string) {\r\n return this.fetch(realm, url)\r\n }\r\n\r\n async post(realm: string, url: string, body: any = {}) {\r\n return this.fetch(realm, url, body)\r\n }\r\n\r\n}"],"mappings":"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","names":["e"]}
@@ -0,0 +1,99 @@
1
+ interface Member {
2
+ name: string;
3
+ eid: string;
4
+ id: string;
5
+ }
6
+
7
+ declare class Element {
8
+ private readonly client;
9
+ private dark;
10
+ private background;
11
+ private readonly path;
12
+ private readonly args;
13
+ constructor(client: Serverbench, path: string, args?: Record<string, string | string[]>, dark?: boolean, background?: boolean);
14
+ setDark(dark: boolean): this;
15
+ setBackground(background: boolean): this;
16
+ mount(element: HTMLElement): Promise<this>;
17
+ }
18
+
19
+ interface ICountryCurrency {
20
+ currency: string;
21
+ digits: number;
22
+ country: string | null;
23
+ }
24
+
25
+ interface ISkuPrice {
26
+ id: string;
27
+ amount: number;
28
+ currency: ICountryCurrency;
29
+ frequency: string | null;
30
+ }
31
+
32
+ interface IDiscount {
33
+ id: string;
34
+ amount: number | null;
35
+ percentage: number | null;
36
+ absolute: number;
37
+ end: Date | null;
38
+ price: ISkuPrice;
39
+ }
40
+
41
+ interface ISkuPerkUsage {
42
+ id: string;
43
+ name: string;
44
+ amount: number | null;
45
+ }
46
+
47
+ interface ISku {
48
+ id: string;
49
+ index: number;
50
+ name: string;
51
+ type: string;
52
+ perks: ISkuPerkUsage[];
53
+ prices: ISkuPrice[];
54
+ available: boolean;
55
+ discounts: IDiscount[];
56
+ }
57
+
58
+ interface IStoreCategorySet {
59
+ id: string;
60
+ name: string;
61
+ }
62
+
63
+ interface IStoreCategory {
64
+ id: string;
65
+ name: string;
66
+ skus: ISku[];
67
+ sets: IStoreCategorySet[];
68
+ policy: string | null;
69
+ }
70
+
71
+ interface IStore {
72
+ categories: IStoreCategory[];
73
+ sets: IStoreCategorySet[];
74
+ currency: ICountryCurrency;
75
+ country: string | null;
76
+ member: Member | null;
77
+ }
78
+
79
+ declare class Store {
80
+ private client;
81
+ constructor(client: Serverbench);
82
+ get(username?: string, eid?: string): Promise<IStore>;
83
+ checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member): Element;
84
+ }
85
+
86
+ declare class Serverbench {
87
+ clientId: string;
88
+ clientSecret: string;
89
+ test: boolean;
90
+ private static instance;
91
+ private constructor();
92
+ static get(clientId: string, clientSecret: string, test?: boolean): Serverbench;
93
+ get store(): Store;
94
+ private fetch;
95
+ get(realm: string, url: string): Promise<any>;
96
+ post(realm: string, url: string, body?: any): Promise<any>;
97
+ }
98
+
99
+ export { Element, type ICountryCurrency, type IDiscount, type ISku, type ISkuPerkUsage, type ISkuPrice, type IStore, type IStoreCategory, type IStoreCategorySet, type Member, Store, Serverbench as default };
@@ -0,0 +1,99 @@
1
+ interface Member {
2
+ name: string;
3
+ eid: string;
4
+ id: string;
5
+ }
6
+
7
+ declare class Element {
8
+ private readonly client;
9
+ private dark;
10
+ private background;
11
+ private readonly path;
12
+ private readonly args;
13
+ constructor(client: Serverbench, path: string, args?: Record<string, string | string[]>, dark?: boolean, background?: boolean);
14
+ setDark(dark: boolean): this;
15
+ setBackground(background: boolean): this;
16
+ mount(element: HTMLElement): Promise<this>;
17
+ }
18
+
19
+ interface ICountryCurrency {
20
+ currency: string;
21
+ digits: number;
22
+ country: string | null;
23
+ }
24
+
25
+ interface ISkuPrice {
26
+ id: string;
27
+ amount: number;
28
+ currency: ICountryCurrency;
29
+ frequency: string | null;
30
+ }
31
+
32
+ interface IDiscount {
33
+ id: string;
34
+ amount: number | null;
35
+ percentage: number | null;
36
+ absolute: number;
37
+ end: Date | null;
38
+ price: ISkuPrice;
39
+ }
40
+
41
+ interface ISkuPerkUsage {
42
+ id: string;
43
+ name: string;
44
+ amount: number | null;
45
+ }
46
+
47
+ interface ISku {
48
+ id: string;
49
+ index: number;
50
+ name: string;
51
+ type: string;
52
+ perks: ISkuPerkUsage[];
53
+ prices: ISkuPrice[];
54
+ available: boolean;
55
+ discounts: IDiscount[];
56
+ }
57
+
58
+ interface IStoreCategorySet {
59
+ id: string;
60
+ name: string;
61
+ }
62
+
63
+ interface IStoreCategory {
64
+ id: string;
65
+ name: string;
66
+ skus: ISku[];
67
+ sets: IStoreCategorySet[];
68
+ policy: string | null;
69
+ }
70
+
71
+ interface IStore {
72
+ categories: IStoreCategory[];
73
+ sets: IStoreCategorySet[];
74
+ currency: ICountryCurrency;
75
+ country: string | null;
76
+ member: Member | null;
77
+ }
78
+
79
+ declare class Store {
80
+ private client;
81
+ constructor(client: Serverbench);
82
+ get(username?: string, eid?: string): Promise<IStore>;
83
+ checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member): Element;
84
+ }
85
+
86
+ declare class Serverbench {
87
+ clientId: string;
88
+ clientSecret: string;
89
+ test: boolean;
90
+ private static instance;
91
+ private constructor();
92
+ static get(clientId: string, clientSecret: string, test?: boolean): Serverbench;
93
+ get store(): Store;
94
+ private fetch;
95
+ get(realm: string, url: string): Promise<any>;
96
+ post(realm: string, url: string, body?: any): Promise<any>;
97
+ }
98
+
99
+ export { Element, type ICountryCurrency, type IDiscount, type ISku, type ISkuPerkUsage, type ISkuPrice, type IStore, type IStoreCategory, type IStoreCategorySet, type Member, Store, Serverbench as default };
@@ -322,7 +322,12 @@ var _Serverbench = class _Serverbench {
322
322
  };
323
323
  _Serverbench.instance = null;
324
324
  var Serverbench = _Serverbench;
325
+
326
+ // src/index.ts
327
+ var src_default = Serverbench;
325
328
  export {
326
- Serverbench as default
329
+ Element,
330
+ Store,
331
+ src_default as default
327
332
  };
328
- //# sourceMappingURL=Serverbench.js.map
333
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/.pnpm/@open-iframe-resizer+core@1.2.1/node_modules/@open-iframe-resizer/core/dist/index.js","../src/element/Element.ts","../src/store/Store.ts","../src/Serverbench.ts","../src/index.ts"],"sourcesContent":["const g = () => typeof window < \"u\", L = () => window.self !== window.top, m = (e) => e instanceof HTMLIFrameElement, w = (e, t) => {\n e.document.readyState === \"complete\" ? t() : e.addEventListener(\"load\", t);\n}, y = (e, t) => {\n t(), e.addEventListener(\"load\", t);\n}, p = (e, t) => {\n var i, o;\n const n = ((i = e.contentWindow) == null ? void 0 : i.document.readyState) === \"complete\";\n return e.src !== \"about:blank\" && ((o = e.contentWindow) == null ? void 0 : o.location.href) !== \"about:blank\" && n ? t() : e.addEventListener(\"load\", t);\n}, v = () => ({ offsetSize: 0, checkOrigin: !0, enableLegacyLibSupport: !1 }), b = (e) => {\n try {\n return new URL(e.src).origin === window.location.origin;\n } catch {\n return !1;\n }\n}, I = (e) => {\n try {\n const t = new URL(e.src).origin;\n if (t !== \"about:blank\")\n return t;\n } catch {\n }\n return null;\n}, R = (e) => (Object.keys(e).forEach((t) => e[t] === void 0 && delete e[t]), e), h = (e) => {\n const { height: t } = e.documentElement.getBoundingClientRect();\n return Math.ceil(t);\n};\nfunction z(e) {\n y(\n e,\n () => {\n var t;\n return (t = e.contentWindow) == null ? void 0 : t.postMessage(\"[iFrameSizer]ID:0:false:false:32:true:true::auto:::0:false:child:auto:true:::true:::false\", \"*\");\n }\n );\n}\nfunction O(e) {\n if (typeof e.data == \"string\" && e.data.startsWith(\"[iFrameSizer]\")) {\n const [t, n] = e.data.split(\":\"), r = +n;\n return r > 0 ? r : null;\n }\n return null;\n}\nconst a = g() ? M() : null;\nlet l = [];\nconst D = (e, t) => {\n if (!g())\n return [];\n const n = { ...v(), ...R(e ?? {}) }, r = S(t), i = E(n, r);\n return r.map((o) => {\n const s = { iframe: o, settings: n, interactionState: { isHovered: !1 } }, d = C(s, i);\n return l.push(s), {\n unsubscribe: () => {\n d(), l = l.filter((u) => u.iframe !== o);\n }\n };\n });\n};\nfunction S(e) {\n return typeof e == \"string\" ? Array.from(document.querySelectorAll(e)).filter(m) : e ? m(e) ? [e] : [] : Array.from(document.getElementsByTagName(\"iframe\"));\n}\nfunction E(e, t) {\n if (Array.isArray(e.checkOrigin))\n return e.checkOrigin;\n if (!e.checkOrigin)\n return [];\n const n = [];\n for (const r of t) {\n const i = I(r);\n i && n.push(i);\n }\n return n;\n}\nfunction C(e, t) {\n const n = b(e.iframe) ? B(e) : k(e, t), r = H(e);\n return () => {\n n(), r();\n };\n}\nfunction k(e, t) {\n const { iframe: n, settings: r } = e, i = (o) => {\n var u;\n const s = !r.checkOrigin || t.includes(o.origin);\n if (!(!(n.contentWindow === o.source) || !s)) {\n if (((u = o.data) == null ? void 0 : u.type) === \"iframe-resized\") {\n const { height: c } = o.data;\n c && f({ newHeight: c, registeredElement: e });\n return;\n }\n if (r.enableLegacyLibSupport) {\n const c = O(o);\n c !== null && f({ newHeight: c, registeredElement: e });\n return;\n }\n }\n };\n return window.addEventListener(\"message\", i), r.enableLegacyLibSupport && z(n), () => window.removeEventListener(\"message\", i);\n}\nfunction B({ iframe: e }) {\n const t = () => {\n var r;\n const n = (r = e.contentDocument) == null ? void 0 : r.body;\n n && (a == null || a.observe(n));\n };\n return p(e, t), () => {\n var n;\n (n = e.contentDocument) != null && n.body && (a == null || a.unobserve(e.contentDocument.body)), e.removeEventListener(\"load\", t);\n };\n}\nfunction H({ iframe: e, interactionState: t }) {\n const n = () => {\n t.isHovered = !0;\n }, r = () => {\n t.isHovered = !1;\n };\n return e.addEventListener(\"mouseenter\", n), e.addEventListener(\"mouseleave\", r), () => {\n e.removeEventListener(\"mouseenter\", n), e.removeEventListener(\"mouseleave\", r);\n };\n}\nfunction M() {\n const e = ({ target: t }) => {\n const n = l.find((o) => {\n var s;\n return ((s = o.iframe.contentDocument) == null ? void 0 : s.body) === t;\n });\n if (!n)\n return;\n const { iframe: r } = n;\n if (!r.contentDocument)\n return;\n const i = h(r.contentDocument);\n i && f({ newHeight: i, registeredElement: n });\n };\n return new ResizeObserver((t) => t.forEach(e));\n}\nfunction f({ registeredElement: e, newHeight: t }) {\n const { iframe: n, settings: r, interactionState: i } = e, o = n.getBoundingClientRect(), s = t + r.offsetSize;\n if (n.style.height = `${s}px`, !r.onIframeResize)\n return;\n const d = {\n iframe: n,\n settings: { ...r },\n interactionState: { ...i },\n previousRenderState: { rect: o },\n nextRenderState: { rect: n.getBoundingClientRect() }\n };\n r.onIframeResize(d);\n}\nW();\nfunction W() {\n !g() || !L() || w(window, () => {\n const e = () => {\n const n = {\n type: \"iframe-resized\",\n width: document.documentElement.scrollWidth,\n height: h(document)\n };\n window.parent.postMessage(n, \"*\");\n };\n new ResizeObserver(e).observe(document.body);\n });\n}\nconst A = ({ previousRenderState: e, nextRenderState: t, interactionState: n }) => {\n n.isHovered && window.scrollBy(0, t.rect.bottom - e.rect.bottom);\n};\nexport {\n D as initialize,\n W as initializeChildListener,\n A as updateParentScrollOnResize\n};\n","import { initialize } from \"../../node_modules/@open-iframe-resizer/core/dist/index.js\"\r\nimport Serverbench from \"../Serverbench.js\"\r\n\r\nexport default class Element {\r\n\r\n private readonly client: Serverbench\r\n private dark: boolean\r\n private background: boolean\r\n private readonly path: string\r\n private readonly args: Record<string, string | string[]>\r\n\r\n constructor(client: Serverbench, path: string, args: Record<string, string | string[]> = {}, dark: boolean = false, background: boolean = false) {\r\n this.client = client\r\n this.dark = dark\r\n this.background = background\r\n this.path = path\r\n this.args = args\r\n }\r\n\r\n setDark(dark: boolean) {\r\n this.dark = dark\r\n return this\r\n }\r\n\r\n setBackground(background: boolean) {\r\n this.background = background\r\n return this\r\n }\r\n\r\n async mount(element: HTMLElement) {\r\n const queryParams = new URLSearchParams()\r\n queryParams.set('clientId', this.client.clientId)\r\n queryParams.set('clientSecret', this.client.clientSecret)\r\n if (this.dark) queryParams.set('dark', 'true')\r\n if (this.background) queryParams.set('background', 'true')\r\n for (const key in this.args) {\r\n const value = this.args[key]\r\n if (Array.isArray(value)) {\r\n queryParams.set(key, value.join(','))\r\n } else {\r\n queryParams.set(key, value)\r\n }\r\n }\r\n const iframe = document.createElement('iframe');\r\n iframe.src = `https://safe.serverbench.io${this.path}?${queryParams.toString()}`;\r\n iframe.style.width = '100%';\r\n const appended = element.appendChild(iframe);\r\n initialize({}, appended);\r\n return this\r\n }\r\n\r\n}","import Element from \"../element/Element.js\";\r\nimport Member from \"../Member.js\";\r\nimport type Serverbench from \"../Serverbench.js\";\r\nimport IDiscount from \"./IDiscount.js\";\r\nimport ISkuPrice from \"./ISkuPrice.js\";\r\nimport type IStore from \"./IStore.js\";\r\n\r\nexport default class Store {\r\n\r\n private client: Serverbench\r\n\r\n constructor(client: Serverbench) {\r\n this.client = client\r\n }\r\n\r\n async get(username?: string, eid?: string) {\r\n return (await this.client.post('community', '/store/view', {\r\n username,\r\n eid\r\n })) as IStore\r\n }\r\n\r\n checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member) {\r\n return new Element(\r\n this.client,\r\n '/community/checkout',\r\n {\r\n prices: prices.map(price => price.id).join(','),\r\n discounts: discounts.map(discount => discount.id).join(','),\r\n member: member.id\r\n }\r\n )\r\n }\r\n\r\n}","import Store from \"./store/Store.js\"\r\n\r\nexport default class Serverbench {\r\n\r\n clientId: string\r\n clientSecret: string\r\n test: boolean\r\n\r\n private static instance: Serverbench | null = null\r\n\r\n private constructor(clientId: string, clientSecret: string, test: boolean) {\r\n this.clientId = clientId\r\n this.clientSecret = clientSecret\r\n this.test = test\r\n }\r\n\r\n static get(clientId: string, clientSecret: string, test: boolean = false) {\r\n if (!Serverbench.instance || Serverbench.instance.clientId !== clientId || Serverbench.instance.clientSecret !== clientSecret || Serverbench.instance.test !== test) {\r\n Serverbench.instance = new Serverbench(clientId, clientSecret, test)\r\n }\r\n return Serverbench.instance\r\n }\r\n\r\n get store() {\r\n return new Store(this)\r\n }\r\n\r\n private async fetch(realm: string, url: string, body?: any) {\r\n const domain = this.test ? 'https://dev.serverbench.io' : 'https://api.serverbench.io'\r\n const headers = new Headers({\r\n authorization: `ApiKey ${this.clientSecret}`,\r\n })\r\n if (body) {\r\n headers.set('Content-Type', 'application/json')\r\n }\r\n const response = await fetch(`${domain}/${realm}/${this.clientId}${url}`, {\r\n headers,\r\n method: body ? 'POST' : 'GET',\r\n body: body ? JSON.stringify(body) : undefined\r\n })\r\n return response.json()\r\n }\r\n\r\n async get(realm: string, url: string) {\r\n return this.fetch(realm, url)\r\n }\r\n\r\n async post(realm: string, url: string, body: any = {}) {\r\n return this.fetch(realm, url, body)\r\n }\r\n\r\n}","import Member from \"./Member.js\";\r\nimport Serverbench from \"./Serverbench.js\";\r\nimport ICountryCurrency from \"./store/ICountryCurrency.js\";\r\nimport ISku from \"./store/ISku.js\";\r\nimport ISkuPerkUsage from \"./store/ISkuPerkUsage.js\";\r\nimport ISkuPrice from \"./store/ISkuPrice.js\";\r\nimport IStore from \"./store/IStore.js\";\r\nimport IStoreCategory from \"./store/IStoreCategory.js\";\r\nimport IStoreCategorySet from \"./store/IStoreCategorySet.js\";\r\nimport Store from \"./store/Store.js\";\r\nimport Element from \"./element/Element.js\"\r\nimport IDiscount from \"./store/IDiscount.js\";\r\n\r\nexport {\r\n Store,\r\n ICountryCurrency,\r\n IDiscount,\r\n ISku,\r\n ISkuPerkUsage,\r\n ISkuPrice,\r\n IStore,\r\n IStoreCategory,\r\n IStoreCategorySet,\r\n}\r\n\r\nexport {\r\n Member\r\n}\r\n\r\nexport {\r\n Element\r\n}\r\n\r\nexport default Serverbench"],"mappings":"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","names":["e"]}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@serverbench/js",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
- "main": "./dist/Serverbench.js",
6
- "module": "./dist/Serverbench.mjs",
7
- "types": "./dist/Serverbench.d.ts",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
8
  "files": [
9
9
  "dist"
10
10
  ],
@@ -13,6 +13,7 @@
13
13
  "author": "",
14
14
  "license": "ISC",
15
15
  "devDependencies": {
16
+ "npm-bump": "^0.0.33",
16
17
  "tsup": "^8.3.5",
17
18
  "typescript": "^5.7.2"
18
19
  },
package/dist/Member.cjs DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // src/Member.ts
17
- var Member_exports = {};
18
- module.exports = __toCommonJS(Member_exports);
19
- //# sourceMappingURL=Member.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Member.ts"],"sourcesContent":["export default interface Member {\r\n name: string\r\n eid: string\r\n id: string\r\n}"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/dist/Member.d.cts DELETED
@@ -1,7 +0,0 @@
1
- interface Member {
2
- name: string;
3
- eid: string;
4
- id: string;
5
- }
6
-
7
- export type { Member as default };
package/dist/Member.d.ts DELETED
@@ -1,7 +0,0 @@
1
- interface Member {
2
- name: string;
3
- eid: string;
4
- id: string;
5
- }
6
-
7
- export type { Member as default };
package/dist/Member.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Member.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,38 +0,0 @@
1
- import Member from './Member.cjs';
2
- import IDiscount from './store/IDiscount.cjs';
3
- import ISkuPrice from './store/ISkuPrice.cjs';
4
- import IStore from './store/IStore.cjs';
5
-
6
- declare class Element {
7
- private readonly client;
8
- private dark;
9
- private background;
10
- private readonly path;
11
- private readonly args;
12
- constructor(client: Serverbench, path: string, args?: Record<string, string | string[]>, dark?: boolean, background?: boolean);
13
- setDark(dark: boolean): this;
14
- setBackground(background: boolean): this;
15
- mount(element: HTMLElement): Promise<this>;
16
- }
17
-
18
- declare class Store {
19
- private client;
20
- constructor(client: Serverbench);
21
- get(username?: string, eid?: string): Promise<IStore>;
22
- checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member): Element;
23
- }
24
-
25
- declare class Serverbench {
26
- clientId: string;
27
- clientSecret: string;
28
- test: boolean;
29
- private static instance;
30
- private constructor();
31
- static get(clientId: string, clientSecret: string, test?: boolean): Serverbench;
32
- get store(): Store;
33
- private fetch;
34
- get(realm: string, url: string): Promise<any>;
35
- post(realm: string, url: string, body?: any): Promise<any>;
36
- }
37
-
38
- export { Element as E, Store as S, Serverbench as a };
@@ -1,38 +0,0 @@
1
- import Member from './Member.js';
2
- import IDiscount from './store/IDiscount.js';
3
- import ISkuPrice from './store/ISkuPrice.js';
4
- import IStore from './store/IStore.js';
5
-
6
- declare class Element {
7
- private readonly client;
8
- private dark;
9
- private background;
10
- private readonly path;
11
- private readonly args;
12
- constructor(client: Serverbench, path: string, args?: Record<string, string | string[]>, dark?: boolean, background?: boolean);
13
- setDark(dark: boolean): this;
14
- setBackground(background: boolean): this;
15
- mount(element: HTMLElement): Promise<this>;
16
- }
17
-
18
- declare class Store {
19
- private client;
20
- constructor(client: Serverbench);
21
- get(username?: string, eid?: string): Promise<IStore>;
22
- checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member): Element;
23
- }
24
-
25
- declare class Serverbench {
26
- clientId: string;
27
- clientSecret: string;
28
- test: boolean;
29
- private static instance;
30
- private constructor();
31
- static get(clientId: string, clientSecret: string, test?: boolean): Serverbench;
32
- get store(): Store;
33
- private fetch;
34
- get(realm: string, url: string): Promise<any>;
35
- post(realm: string, url: string, body?: any): Promise<any>;
36
- }
37
-
38
- export { Element as E, Store as S, Serverbench as a };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Serverbench.ts","../node_modules/.pnpm/@open-iframe-resizer+core@1.2.1/node_modules/@open-iframe-resizer/core/dist/index.js","../src/element/Element.ts","../src/store/Store.ts"],"sourcesContent":["import Store from \"./store/Store.js\"\r\n\r\nexport default class Serverbench {\r\n\r\n clientId: string\r\n clientSecret: string\r\n test: boolean\r\n\r\n private static instance: Serverbench | null = null\r\n\r\n private constructor(clientId: string, clientSecret: string, test: boolean) {\r\n this.clientId = clientId\r\n this.clientSecret = clientSecret\r\n this.test = test\r\n }\r\n\r\n static get(clientId: string, clientSecret: string, test: boolean = false) {\r\n if (!Serverbench.instance || Serverbench.instance.clientId !== clientId || Serverbench.instance.clientSecret !== clientSecret || Serverbench.instance.test !== test) {\r\n Serverbench.instance = new Serverbench(clientId, clientSecret, test)\r\n }\r\n return Serverbench.instance\r\n }\r\n\r\n get store() {\r\n return new Store(this)\r\n }\r\n\r\n private async fetch(realm: string, url: string, body?: any) {\r\n const domain = this.test ? 'https://dev.serverbench.io' : 'https://api.serverbench.io'\r\n const headers = new Headers({\r\n authorization: `ApiKey ${this.clientSecret}`,\r\n })\r\n if (body) {\r\n headers.set('Content-Type', 'application/json')\r\n }\r\n const response = await fetch(`${domain}/${realm}/${this.clientId}${url}`, {\r\n headers,\r\n method: body ? 'POST' : 'GET',\r\n body: body ? JSON.stringify(body) : undefined\r\n })\r\n return response.json()\r\n }\r\n\r\n async get(realm: string, url: string) {\r\n return this.fetch(realm, url)\r\n }\r\n\r\n async post(realm: string, url: string, body: any = {}) {\r\n return this.fetch(realm, url, body)\r\n }\r\n\r\n}","const g = () => typeof window < \"u\", L = () => window.self !== window.top, m = (e) => e instanceof HTMLIFrameElement, w = (e, t) => {\n e.document.readyState === \"complete\" ? t() : e.addEventListener(\"load\", t);\n}, y = (e, t) => {\n t(), e.addEventListener(\"load\", t);\n}, p = (e, t) => {\n var i, o;\n const n = ((i = e.contentWindow) == null ? void 0 : i.document.readyState) === \"complete\";\n return e.src !== \"about:blank\" && ((o = e.contentWindow) == null ? void 0 : o.location.href) !== \"about:blank\" && n ? t() : e.addEventListener(\"load\", t);\n}, v = () => ({ offsetSize: 0, checkOrigin: !0, enableLegacyLibSupport: !1 }), b = (e) => {\n try {\n return new URL(e.src).origin === window.location.origin;\n } catch {\n return !1;\n }\n}, I = (e) => {\n try {\n const t = new URL(e.src).origin;\n if (t !== \"about:blank\")\n return t;\n } catch {\n }\n return null;\n}, R = (e) => (Object.keys(e).forEach((t) => e[t] === void 0 && delete e[t]), e), h = (e) => {\n const { height: t } = e.documentElement.getBoundingClientRect();\n return Math.ceil(t);\n};\nfunction z(e) {\n y(\n e,\n () => {\n var t;\n return (t = e.contentWindow) == null ? void 0 : t.postMessage(\"[iFrameSizer]ID:0:false:false:32:true:true::auto:::0:false:child:auto:true:::true:::false\", \"*\");\n }\n );\n}\nfunction O(e) {\n if (typeof e.data == \"string\" && e.data.startsWith(\"[iFrameSizer]\")) {\n const [t, n] = e.data.split(\":\"), r = +n;\n return r > 0 ? r : null;\n }\n return null;\n}\nconst a = g() ? M() : null;\nlet l = [];\nconst D = (e, t) => {\n if (!g())\n return [];\n const n = { ...v(), ...R(e ?? {}) }, r = S(t), i = E(n, r);\n return r.map((o) => {\n const s = { iframe: o, settings: n, interactionState: { isHovered: !1 } }, d = C(s, i);\n return l.push(s), {\n unsubscribe: () => {\n d(), l = l.filter((u) => u.iframe !== o);\n }\n };\n });\n};\nfunction S(e) {\n return typeof e == \"string\" ? Array.from(document.querySelectorAll(e)).filter(m) : e ? m(e) ? [e] : [] : Array.from(document.getElementsByTagName(\"iframe\"));\n}\nfunction E(e, t) {\n if (Array.isArray(e.checkOrigin))\n return e.checkOrigin;\n if (!e.checkOrigin)\n return [];\n const n = [];\n for (const r of t) {\n const i = I(r);\n i && n.push(i);\n }\n return n;\n}\nfunction C(e, t) {\n const n = b(e.iframe) ? B(e) : k(e, t), r = H(e);\n return () => {\n n(), r();\n };\n}\nfunction k(e, t) {\n const { iframe: n, settings: r } = e, i = (o) => {\n var u;\n const s = !r.checkOrigin || t.includes(o.origin);\n if (!(!(n.contentWindow === o.source) || !s)) {\n if (((u = o.data) == null ? void 0 : u.type) === \"iframe-resized\") {\n const { height: c } = o.data;\n c && f({ newHeight: c, registeredElement: e });\n return;\n }\n if (r.enableLegacyLibSupport) {\n const c = O(o);\n c !== null && f({ newHeight: c, registeredElement: e });\n return;\n }\n }\n };\n return window.addEventListener(\"message\", i), r.enableLegacyLibSupport && z(n), () => window.removeEventListener(\"message\", i);\n}\nfunction B({ iframe: e }) {\n const t = () => {\n var r;\n const n = (r = e.contentDocument) == null ? void 0 : r.body;\n n && (a == null || a.observe(n));\n };\n return p(e, t), () => {\n var n;\n (n = e.contentDocument) != null && n.body && (a == null || a.unobserve(e.contentDocument.body)), e.removeEventListener(\"load\", t);\n };\n}\nfunction H({ iframe: e, interactionState: t }) {\n const n = () => {\n t.isHovered = !0;\n }, r = () => {\n t.isHovered = !1;\n };\n return e.addEventListener(\"mouseenter\", n), e.addEventListener(\"mouseleave\", r), () => {\n e.removeEventListener(\"mouseenter\", n), e.removeEventListener(\"mouseleave\", r);\n };\n}\nfunction M() {\n const e = ({ target: t }) => {\n const n = l.find((o) => {\n var s;\n return ((s = o.iframe.contentDocument) == null ? void 0 : s.body) === t;\n });\n if (!n)\n return;\n const { iframe: r } = n;\n if (!r.contentDocument)\n return;\n const i = h(r.contentDocument);\n i && f({ newHeight: i, registeredElement: n });\n };\n return new ResizeObserver((t) => t.forEach(e));\n}\nfunction f({ registeredElement: e, newHeight: t }) {\n const { iframe: n, settings: r, interactionState: i } = e, o = n.getBoundingClientRect(), s = t + r.offsetSize;\n if (n.style.height = `${s}px`, !r.onIframeResize)\n return;\n const d = {\n iframe: n,\n settings: { ...r },\n interactionState: { ...i },\n previousRenderState: { rect: o },\n nextRenderState: { rect: n.getBoundingClientRect() }\n };\n r.onIframeResize(d);\n}\nW();\nfunction W() {\n !g() || !L() || w(window, () => {\n const e = () => {\n const n = {\n type: \"iframe-resized\",\n width: document.documentElement.scrollWidth,\n height: h(document)\n };\n window.parent.postMessage(n, \"*\");\n };\n new ResizeObserver(e).observe(document.body);\n });\n}\nconst A = ({ previousRenderState: e, nextRenderState: t, interactionState: n }) => {\n n.isHovered && window.scrollBy(0, t.rect.bottom - e.rect.bottom);\n};\nexport {\n D as initialize,\n W as initializeChildListener,\n A as updateParentScrollOnResize\n};\n","import { initialize } from \"../../node_modules/@open-iframe-resizer/core/dist/index.js\"\r\nimport Serverbench from \"../Serverbench.js\"\r\n\r\nexport default class Element {\r\n\r\n private readonly client: Serverbench\r\n private dark: boolean\r\n private background: boolean\r\n private readonly path: string\r\n private readonly args: Record<string, string | string[]>\r\n\r\n constructor(client: Serverbench, path: string, args: Record<string, string | string[]> = {}, dark: boolean = false, background: boolean = false) {\r\n this.client = client\r\n this.dark = dark\r\n this.background = background\r\n this.path = path\r\n this.args = args\r\n }\r\n\r\n setDark(dark: boolean) {\r\n this.dark = dark\r\n return this\r\n }\r\n\r\n setBackground(background: boolean) {\r\n this.background = background\r\n return this\r\n }\r\n\r\n async mount(element: HTMLElement) {\r\n const queryParams = new URLSearchParams()\r\n queryParams.set('clientId', this.client.clientId)\r\n queryParams.set('clientSecret', this.client.clientSecret)\r\n if (this.dark) queryParams.set('dark', 'true')\r\n if (this.background) queryParams.set('background', 'true')\r\n for (const key in this.args) {\r\n const value = this.args[key]\r\n if (Array.isArray(value)) {\r\n queryParams.set(key, value.join(','))\r\n } else {\r\n queryParams.set(key, value)\r\n }\r\n }\r\n const iframe = document.createElement('iframe');\r\n iframe.src = `https://safe.serverbench.io${this.path}?${queryParams.toString()}`;\r\n iframe.style.width = '100%';\r\n const appended = element.appendChild(iframe);\r\n initialize({}, appended);\r\n return this\r\n }\r\n\r\n}","import Element from \"../element/Element.js\";\r\nimport Member from \"../Member.js\";\r\nimport type Serverbench from \"../Serverbench.js\";\r\nimport IDiscount from \"./IDiscount.js\";\r\nimport ISkuPrice from \"./ISkuPrice.js\";\r\nimport type IStore from \"./IStore.js\";\r\n\r\nexport default class Store {\r\n\r\n private client: Serverbench\r\n\r\n constructor(client: Serverbench) {\r\n this.client = client\r\n }\r\n\r\n async get(username?: string, eid?: string) {\r\n return (await this.client.post('community', '/store/view', {\r\n username,\r\n eid\r\n })) as IStore\r\n }\r\n\r\n checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member) {\r\n return new Element(\r\n this.client,\r\n '/community/checkout',\r\n {\r\n prices: prices.map(price => price.id).join(','),\r\n discounts: discounts.map(discount => discount.id).join(','),\r\n member: member.id\r\n }\r\n )\r\n }\r\n\r\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,IAAI,MAAM,OAAO,SAAS;AAAhC,IAAqC,IAAI,MAAM,OAAO,SAAS,OAAO;AAAtE,IAA2E,IAAI,CAAC,MAAM,aAAa;AAAnG,IAAsH,IAAI,CAAC,GAAG,MAAM;AAClI,IAAE,SAAS,eAAe,aAAa,EAAE,IAAI,EAAE,iBAAiB,QAAQ,CAAC;AAC3E;AAFA,IAEG,IAAI,CAAC,GAAG,MAAM;AACf,IAAE,GAAG,EAAE,iBAAiB,QAAQ,CAAC;AACnC;AAJA,IAIG,IAAI,CAAC,GAAG,MAAM;AACf,MAAI,GAAG;AACP,QAAM,MAAM,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,SAAS,gBAAgB;AAC/E,SAAO,EAAE,QAAQ,mBAAmB,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,SAAS,UAAU,iBAAiB,IAAI,EAAE,IAAI,EAAE,iBAAiB,QAAQ,CAAC;AAC1J;AARA,IAQG,IAAI,OAAO,EAAE,YAAY,GAAG,aAAa,MAAI,wBAAwB,MAAG;AAR3E,IAQ+E,IAAI,CAAC,MAAM;AACxF,MAAI;AACF,WAAO,IAAI,IAAI,EAAE,GAAG,EAAE,WAAW,OAAO,SAAS;AAAA,EACnD,SAAQA,IAAA;AACN,WAAO;AAAA,EACT;AACF;AAdA,IAcG,IAAI,CAAC,MAAM;AACZ,MAAI;AACF,UAAM,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE;AACzB,QAAI,MAAM;AACR,aAAO;AAAA,EACX,SAAQA,IAAA;AAAA,EACR;AACA,SAAO;AACT;AAtBA,IAsBG,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,UAAU,OAAO,EAAE,CAAC,CAAC,GAAG;AAtB9E,IAsBkF,IAAI,CAAC,MAAM;AAC3F,QAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,sBAAsB;AAC9D,SAAO,KAAK,KAAK,CAAC;AACpB;AACA,SAAS,EAAE,GAAG;AACZ;AAAA,IACE;AAAA,IACA,MAAM;AACJ,UAAI;AACJ,cAAQ,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,YAAY,6FAA6F,GAAG;AAAA,IAChK;AAAA,EACF;AACF;AACA,SAAS,EAAE,GAAG;AACZ,MAAI,OAAO,EAAE,QAAQ,YAAY,EAAE,KAAK,WAAW,eAAe,GAAG;AACnE,UAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,GAAG,IAAI,CAAC;AACvC,WAAO,IAAI,IAAI,IAAI;AAAA,EACrB;AACA,SAAO;AACT;AACA,IAAM,IAAI,EAAE,IAAI,EAAE,IAAI;AACtB,IAAI,IAAI,CAAC;AACT,IAAM,IAAI,CAAC,GAAG,MAAM;AAClB,MAAI,CAAC,EAAE;AACL,WAAO,CAAC;AACV,QAAM,IAAI,kCAAK,EAAE,IAAM,EAAE,gBAAK,CAAC,CAAC,IAAK,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;AACzD,SAAO,EAAE,IAAI,CAAC,MAAM;AAClB,UAAM,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,kBAAkB,EAAE,WAAW,MAAG,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC;AACrF,WAAO,EAAE,KAAK,CAAC,GAAG;AAAA,MAChB,aAAa,MAAM;AACjB,UAAE,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,SAAS,EAAE,GAAG;AACZ,SAAO,OAAO,KAAK,WAAW,MAAM,KAAK,SAAS,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,SAAS,qBAAqB,QAAQ,CAAC;AAC7J;AACA,SAAS,EAAE,GAAG,GAAG;AACf,MAAI,MAAM,QAAQ,EAAE,WAAW;AAC7B,WAAO,EAAE;AACX,MAAI,CAAC,EAAE;AACL,WAAO,CAAC;AACV,QAAM,IAAI,CAAC;AACX,aAAW,KAAK,GAAG;AACjB,UAAM,IAAI,EAAE,CAAC;AACb,SAAK,EAAE,KAAK,CAAC;AAAA,EACf;AACA,SAAO;AACT;AACA,SAAS,EAAE,GAAG,GAAG;AACf,QAAM,IAAI,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAC/C,SAAO,MAAM;AACX,MAAE,GAAG,EAAE;AAAA,EACT;AACF;AACA,SAAS,EAAE,GAAG,GAAG;AACf,QAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM;AAC/C,QAAI;AACJ,UAAM,IAAI,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM;AAC/C,QAAI,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,CAAC,IAAI;AAC5C,YAAM,IAAI,EAAE,SAAS,OAAO,SAAS,EAAE,UAAU,kBAAkB;AACjE,cAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;AACxB,aAAK,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AAC7C;AAAA,MACF;AACA,UAAI,EAAE,wBAAwB;AAC5B,cAAM,IAAI,EAAE,CAAC;AACb,cAAM,QAAQ,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AACtD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,OAAO,iBAAiB,WAAW,CAAC,GAAG,EAAE,0BAA0B,EAAE,CAAC,GAAG,MAAM,OAAO,oBAAoB,WAAW,CAAC;AAC/H;AACA,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG;AACxB,QAAM,IAAI,MAAM;AACd,QAAI;AACJ,UAAM,KAAK,IAAI,EAAE,oBAAoB,OAAO,SAAS,EAAE;AACvD,UAAM,KAAK,QAAQ,EAAE,QAAQ,CAAC;AAAA,EAChC;AACA,SAAO,EAAE,GAAG,CAAC,GAAG,MAAM;AACpB,QAAI;AACJ,KAAC,IAAI,EAAE,oBAAoB,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,UAAU,EAAE,gBAAgB,IAAI,IAAI,EAAE,oBAAoB,QAAQ,CAAC;AAAA,EAClI;AACF;AACA,SAAS,EAAE,EAAE,QAAQ,GAAG,kBAAkB,EAAE,GAAG;AAC7C,QAAM,IAAI,MAAM;AACd,MAAE,YAAY;AAAA,EAChB,GAAG,IAAI,MAAM;AACX,MAAE,YAAY;AAAA,EAChB;AACA,SAAO,EAAE,iBAAiB,cAAc,CAAC,GAAG,EAAE,iBAAiB,cAAc,CAAC,GAAG,MAAM;AACrF,MAAE,oBAAoB,cAAc,CAAC,GAAG,EAAE,oBAAoB,cAAc,CAAC;AAAA,EAC/E;AACF;AACA,SAAS,IAAI;AACX,QAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM;AAC3B,UAAM,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,UAAI;AACJ,eAAS,IAAI,EAAE,OAAO,oBAAoB,OAAO,SAAS,EAAE,UAAU;AAAA,IACxE,CAAC;AACD,QAAI,CAAC;AACH;AACF,UAAM,EAAE,QAAQ,EAAE,IAAI;AACtB,QAAI,CAAC,EAAE;AACL;AACF,UAAM,IAAI,EAAE,EAAE,eAAe;AAC7B,SAAK,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AAAA,EAC/C;AACA,SAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C;AACA,SAAS,EAAE,EAAE,mBAAmB,GAAG,WAAW,EAAE,GAAG;AACjD,QAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,kBAAkB,EAAE,IAAI,GAAG,IAAI,EAAE,sBAAsB,GAAG,IAAI,IAAI,EAAE;AACpG,MAAI,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE;AAChC;AACF,QAAM,IAAI;AAAA,IACR,QAAQ;AAAA,IACR,UAAU,mBAAK;AAAA,IACf,kBAAkB,mBAAK;AAAA,IACvB,qBAAqB,EAAE,MAAM,EAAE;AAAA,IAC/B,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,EAAE;AAAA,EACrD;AACA,IAAE,eAAe,CAAC;AACpB;AACA,EAAE;AACF,SAAS,IAAI;AACX,GAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,MAAM;AAC9B,UAAM,IAAI,MAAM;AACd,YAAM,IAAI;AAAA,QACR,MAAM;AAAA,QACN,OAAO,SAAS,gBAAgB;AAAA,QAChC,QAAQ,EAAE,QAAQ;AAAA,MACpB;AACA,aAAO,OAAO,YAAY,GAAG,GAAG;AAAA,IAClC;AACA,QAAI,eAAe,CAAC,EAAE,QAAQ,SAAS,IAAI;AAAA,EAC7C,CAAC;AACH;;;AC7JA,IAAqB,UAArB,MAA6B;AAAA,EAQzB,YAAY,QAAqB,MAAc,OAA0C,CAAC,GAAG,OAAgB,OAAO,aAAsB,OAAO;AAC7I,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,aAAa;AAClB,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,QAAQ,MAAe;AACnB,SAAK,OAAO;AACZ,WAAO;AAAA,EACX;AAAA,EAEA,cAAc,YAAqB;AAC/B,SAAK,aAAa;AAClB,WAAO;AAAA,EACX;AAAA,EAEM,MAAM,SAAsB;AAAA;AAC9B,YAAM,cAAc,IAAI,gBAAgB;AACxC,kBAAY,IAAI,YAAY,KAAK,OAAO,QAAQ;AAChD,kBAAY,IAAI,gBAAgB,KAAK,OAAO,YAAY;AACxD,UAAI,KAAK,KAAM,aAAY,IAAI,QAAQ,MAAM;AAC7C,UAAI,KAAK,WAAY,aAAY,IAAI,cAAc,MAAM;AACzD,iBAAW,OAAO,KAAK,MAAM;AACzB,cAAM,QAAQ,KAAK,KAAK,GAAG;AAC3B,YAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,sBAAY,IAAI,KAAK,MAAM,KAAK,GAAG,CAAC;AAAA,QACxC,OAAO;AACH,sBAAY,IAAI,KAAK,KAAK;AAAA,QAC9B;AAAA,MACJ;AACA,YAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,aAAO,MAAM,8BAA8B,KAAK,IAAI,IAAI,YAAY,SAAS,CAAC;AAC9E,aAAO,MAAM,QAAQ;AACrB,YAAM,WAAW,QAAQ,YAAY,MAAM;AAC3C,QAAW,CAAC,GAAG,QAAQ;AACvB,aAAO;AAAA,IACX;AAAA;AAEJ;;;AC5CA,IAAqB,QAArB,MAA2B;AAAA,EAIvB,YAAY,QAAqB;AAC7B,SAAK,SAAS;AAAA,EAClB;AAAA,EAEM,IAAI,UAAmB,KAAc;AAAA;AACvC,aAAQ,MAAM,KAAK,OAAO,KAAK,aAAa,eAAe;AAAA,QACvD;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,IACL;AAAA;AAAA,EAEA,SAAS,QAAqB,WAAwB,QAAgB;AAClE,WAAO,IAAI;AAAA,MACP,KAAK;AAAA,MACL;AAAA,MACA;AAAA,QACI,QAAQ,OAAO,IAAI,WAAS,MAAM,EAAE,EAAE,KAAK,GAAG;AAAA,QAC9C,WAAW,UAAU,IAAI,cAAY,SAAS,EAAE,EAAE,KAAK,GAAG;AAAA,QAC1D,QAAQ,OAAO;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAEJ;;;AHhCA,IAAqB,eAArB,MAAqB,aAAY;AAAA,EAQrB,YAAY,UAAkB,cAAsB,MAAe;AACvE,SAAK,WAAW;AAChB,SAAK,eAAe;AACpB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,OAAO,IAAI,UAAkB,cAAsB,OAAgB,OAAO;AACtE,QAAI,CAAC,aAAY,YAAY,aAAY,SAAS,aAAa,YAAY,aAAY,SAAS,iBAAiB,gBAAgB,aAAY,SAAS,SAAS,MAAM;AACjK,mBAAY,WAAW,IAAI,aAAY,UAAU,cAAc,IAAI;AAAA,IACvE;AACA,WAAO,aAAY;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,IAAI,MAAM,IAAI;AAAA,EACzB;AAAA,EAEc,MAAM,OAAe,KAAa,MAAY;AAAA;AACxD,YAAM,SAAS,KAAK,OAAO,+BAA+B;AAC1D,YAAM,UAAU,IAAI,QAAQ;AAAA,QACxB,eAAe,UAAU,KAAK,YAAY;AAAA,MAC9C,CAAC;AACD,UAAI,MAAM;AACN,gBAAQ,IAAI,gBAAgB,kBAAkB;AAAA,MAClD;AACA,YAAM,WAAW,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,KAAK,QAAQ,GAAG,GAAG,IAAI;AAAA,QACtE;AAAA,QACA,QAAQ,OAAO,SAAS;AAAA,QACxB,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,MACxC,CAAC;AACD,aAAO,SAAS,KAAK;AAAA,IACzB;AAAA;AAAA,EAEM,IAAI,OAAe,KAAa;AAAA;AAClC,aAAO,KAAK,MAAM,OAAO,GAAG;AAAA,IAChC;AAAA;AAAA,EAEM,KAAK,IAAe,IAA6B;AAAA,+CAA5C,OAAe,KAAa,OAAY,CAAC,GAAG;AACnD,aAAO,KAAK,MAAM,OAAO,KAAK,IAAI;AAAA,IACtC;AAAA;AAEJ;AAjDqB,aAMF,WAA+B;AANlD,IAAqB,cAArB;","names":["e"]}
@@ -1,10 +0,0 @@
1
- export { a as default } from './Serverbench-BnPNK96A.cjs';
2
- import './Member.cjs';
3
- import './store/IDiscount.cjs';
4
- import './store/ISkuPrice.cjs';
5
- import './store/ICountryCurrency.cjs';
6
- import './store/IStore.cjs';
7
- import './store/IStoreCategory.cjs';
8
- import './store/ISku.cjs';
9
- import './store/ISkuPerkUsage.cjs';
10
- import './store/IStoreCategorySet.cjs';
@@ -1,10 +0,0 @@
1
- export { a as default } from './Serverbench-DlERhe0-.js';
2
- import './Member.js';
3
- import './store/IDiscount.js';
4
- import './store/ISkuPrice.js';
5
- import './store/ICountryCurrency.js';
6
- import './store/IStore.js';
7
- import './store/IStoreCategory.js';
8
- import './store/ISku.js';
9
- import './store/ISkuPerkUsage.js';
10
- import './store/IStoreCategorySet.js';
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../node_modules/.pnpm/@open-iframe-resizer+core@1.2.1/node_modules/@open-iframe-resizer/core/dist/index.js","../src/element/Element.ts","../src/store/Store.ts","../src/Serverbench.ts"],"sourcesContent":["const g = () => typeof window < \"u\", L = () => window.self !== window.top, m = (e) => e instanceof HTMLIFrameElement, w = (e, t) => {\n e.document.readyState === \"complete\" ? t() : e.addEventListener(\"load\", t);\n}, y = (e, t) => {\n t(), e.addEventListener(\"load\", t);\n}, p = (e, t) => {\n var i, o;\n const n = ((i = e.contentWindow) == null ? void 0 : i.document.readyState) === \"complete\";\n return e.src !== \"about:blank\" && ((o = e.contentWindow) == null ? void 0 : o.location.href) !== \"about:blank\" && n ? t() : e.addEventListener(\"load\", t);\n}, v = () => ({ offsetSize: 0, checkOrigin: !0, enableLegacyLibSupport: !1 }), b = (e) => {\n try {\n return new URL(e.src).origin === window.location.origin;\n } catch {\n return !1;\n }\n}, I = (e) => {\n try {\n const t = new URL(e.src).origin;\n if (t !== \"about:blank\")\n return t;\n } catch {\n }\n return null;\n}, R = (e) => (Object.keys(e).forEach((t) => e[t] === void 0 && delete e[t]), e), h = (e) => {\n const { height: t } = e.documentElement.getBoundingClientRect();\n return Math.ceil(t);\n};\nfunction z(e) {\n y(\n e,\n () => {\n var t;\n return (t = e.contentWindow) == null ? void 0 : t.postMessage(\"[iFrameSizer]ID:0:false:false:32:true:true::auto:::0:false:child:auto:true:::true:::false\", \"*\");\n }\n );\n}\nfunction O(e) {\n if (typeof e.data == \"string\" && e.data.startsWith(\"[iFrameSizer]\")) {\n const [t, n] = e.data.split(\":\"), r = +n;\n return r > 0 ? r : null;\n }\n return null;\n}\nconst a = g() ? M() : null;\nlet l = [];\nconst D = (e, t) => {\n if (!g())\n return [];\n const n = { ...v(), ...R(e ?? {}) }, r = S(t), i = E(n, r);\n return r.map((o) => {\n const s = { iframe: o, settings: n, interactionState: { isHovered: !1 } }, d = C(s, i);\n return l.push(s), {\n unsubscribe: () => {\n d(), l = l.filter((u) => u.iframe !== o);\n }\n };\n });\n};\nfunction S(e) {\n return typeof e == \"string\" ? Array.from(document.querySelectorAll(e)).filter(m) : e ? m(e) ? [e] : [] : Array.from(document.getElementsByTagName(\"iframe\"));\n}\nfunction E(e, t) {\n if (Array.isArray(e.checkOrigin))\n return e.checkOrigin;\n if (!e.checkOrigin)\n return [];\n const n = [];\n for (const r of t) {\n const i = I(r);\n i && n.push(i);\n }\n return n;\n}\nfunction C(e, t) {\n const n = b(e.iframe) ? B(e) : k(e, t), r = H(e);\n return () => {\n n(), r();\n };\n}\nfunction k(e, t) {\n const { iframe: n, settings: r } = e, i = (o) => {\n var u;\n const s = !r.checkOrigin || t.includes(o.origin);\n if (!(!(n.contentWindow === o.source) || !s)) {\n if (((u = o.data) == null ? void 0 : u.type) === \"iframe-resized\") {\n const { height: c } = o.data;\n c && f({ newHeight: c, registeredElement: e });\n return;\n }\n if (r.enableLegacyLibSupport) {\n const c = O(o);\n c !== null && f({ newHeight: c, registeredElement: e });\n return;\n }\n }\n };\n return window.addEventListener(\"message\", i), r.enableLegacyLibSupport && z(n), () => window.removeEventListener(\"message\", i);\n}\nfunction B({ iframe: e }) {\n const t = () => {\n var r;\n const n = (r = e.contentDocument) == null ? void 0 : r.body;\n n && (a == null || a.observe(n));\n };\n return p(e, t), () => {\n var n;\n (n = e.contentDocument) != null && n.body && (a == null || a.unobserve(e.contentDocument.body)), e.removeEventListener(\"load\", t);\n };\n}\nfunction H({ iframe: e, interactionState: t }) {\n const n = () => {\n t.isHovered = !0;\n }, r = () => {\n t.isHovered = !1;\n };\n return e.addEventListener(\"mouseenter\", n), e.addEventListener(\"mouseleave\", r), () => {\n e.removeEventListener(\"mouseenter\", n), e.removeEventListener(\"mouseleave\", r);\n };\n}\nfunction M() {\n const e = ({ target: t }) => {\n const n = l.find((o) => {\n var s;\n return ((s = o.iframe.contentDocument) == null ? void 0 : s.body) === t;\n });\n if (!n)\n return;\n const { iframe: r } = n;\n if (!r.contentDocument)\n return;\n const i = h(r.contentDocument);\n i && f({ newHeight: i, registeredElement: n });\n };\n return new ResizeObserver((t) => t.forEach(e));\n}\nfunction f({ registeredElement: e, newHeight: t }) {\n const { iframe: n, settings: r, interactionState: i } = e, o = n.getBoundingClientRect(), s = t + r.offsetSize;\n if (n.style.height = `${s}px`, !r.onIframeResize)\n return;\n const d = {\n iframe: n,\n settings: { ...r },\n interactionState: { ...i },\n previousRenderState: { rect: o },\n nextRenderState: { rect: n.getBoundingClientRect() }\n };\n r.onIframeResize(d);\n}\nW();\nfunction W() {\n !g() || !L() || w(window, () => {\n const e = () => {\n const n = {\n type: \"iframe-resized\",\n width: document.documentElement.scrollWidth,\n height: h(document)\n };\n window.parent.postMessage(n, \"*\");\n };\n new ResizeObserver(e).observe(document.body);\n });\n}\nconst A = ({ previousRenderState: e, nextRenderState: t, interactionState: n }) => {\n n.isHovered && window.scrollBy(0, t.rect.bottom - e.rect.bottom);\n};\nexport {\n D as initialize,\n W as initializeChildListener,\n A as updateParentScrollOnResize\n};\n","import { initialize } from \"../../node_modules/@open-iframe-resizer/core/dist/index.js\"\r\nimport Serverbench from \"../Serverbench.js\"\r\n\r\nexport default class Element {\r\n\r\n private readonly client: Serverbench\r\n private dark: boolean\r\n private background: boolean\r\n private readonly path: string\r\n private readonly args: Record<string, string | string[]>\r\n\r\n constructor(client: Serverbench, path: string, args: Record<string, string | string[]> = {}, dark: boolean = false, background: boolean = false) {\r\n this.client = client\r\n this.dark = dark\r\n this.background = background\r\n this.path = path\r\n this.args = args\r\n }\r\n\r\n setDark(dark: boolean) {\r\n this.dark = dark\r\n return this\r\n }\r\n\r\n setBackground(background: boolean) {\r\n this.background = background\r\n return this\r\n }\r\n\r\n async mount(element: HTMLElement) {\r\n const queryParams = new URLSearchParams()\r\n queryParams.set('clientId', this.client.clientId)\r\n queryParams.set('clientSecret', this.client.clientSecret)\r\n if (this.dark) queryParams.set('dark', 'true')\r\n if (this.background) queryParams.set('background', 'true')\r\n for (const key in this.args) {\r\n const value = this.args[key]\r\n if (Array.isArray(value)) {\r\n queryParams.set(key, value.join(','))\r\n } else {\r\n queryParams.set(key, value)\r\n }\r\n }\r\n const iframe = document.createElement('iframe');\r\n iframe.src = `https://safe.serverbench.io${this.path}?${queryParams.toString()}`;\r\n iframe.style.width = '100%';\r\n const appended = element.appendChild(iframe);\r\n initialize({}, appended);\r\n return this\r\n }\r\n\r\n}","import Element from \"../element/Element.js\";\r\nimport Member from \"../Member.js\";\r\nimport type Serverbench from \"../Serverbench.js\";\r\nimport IDiscount from \"./IDiscount.js\";\r\nimport ISkuPrice from \"./ISkuPrice.js\";\r\nimport type IStore from \"./IStore.js\";\r\n\r\nexport default class Store {\r\n\r\n private client: Serverbench\r\n\r\n constructor(client: Serverbench) {\r\n this.client = client\r\n }\r\n\r\n async get(username?: string, eid?: string) {\r\n return (await this.client.post('community', '/store/view', {\r\n username,\r\n eid\r\n })) as IStore\r\n }\r\n\r\n checkout(prices: ISkuPrice[], discounts: IDiscount[], member: Member) {\r\n return new Element(\r\n this.client,\r\n '/community/checkout',\r\n {\r\n prices: prices.map(price => price.id).join(','),\r\n discounts: discounts.map(discount => discount.id).join(','),\r\n member: member.id\r\n }\r\n )\r\n }\r\n\r\n}","import Store from \"./store/Store.js\"\r\n\r\nexport default class Serverbench {\r\n\r\n clientId: string\r\n clientSecret: string\r\n test: boolean\r\n\r\n private static instance: Serverbench | null = null\r\n\r\n private constructor(clientId: string, clientSecret: string, test: boolean) {\r\n this.clientId = clientId\r\n this.clientSecret = clientSecret\r\n this.test = test\r\n }\r\n\r\n static get(clientId: string, clientSecret: string, test: boolean = false) {\r\n if (!Serverbench.instance || Serverbench.instance.clientId !== clientId || Serverbench.instance.clientSecret !== clientSecret || Serverbench.instance.test !== test) {\r\n Serverbench.instance = new Serverbench(clientId, clientSecret, test)\r\n }\r\n return Serverbench.instance\r\n }\r\n\r\n get store() {\r\n return new Store(this)\r\n }\r\n\r\n private async fetch(realm: string, url: string, body?: any) {\r\n const domain = this.test ? 'https://dev.serverbench.io' : 'https://api.serverbench.io'\r\n const headers = new Headers({\r\n authorization: `ApiKey ${this.clientSecret}`,\r\n })\r\n if (body) {\r\n headers.set('Content-Type', 'application/json')\r\n }\r\n const response = await fetch(`${domain}/${realm}/${this.clientId}${url}`, {\r\n headers,\r\n method: body ? 'POST' : 'GET',\r\n body: body ? JSON.stringify(body) : undefined\r\n })\r\n return response.json()\r\n }\r\n\r\n async get(realm: string, url: string) {\r\n return this.fetch(realm, url)\r\n }\r\n\r\n async post(realm: string, url: string, body: any = {}) {\r\n return this.fetch(realm, url, body)\r\n }\r\n\r\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,IAAI,MAAM,OAAO,SAAS;AAAhC,IAAqC,IAAI,MAAM,OAAO,SAAS,OAAO;AAAtE,IAA2E,IAAI,CAAC,MAAM,aAAa;AAAnG,IAAsH,IAAI,CAAC,GAAG,MAAM;AAClI,IAAE,SAAS,eAAe,aAAa,EAAE,IAAI,EAAE,iBAAiB,QAAQ,CAAC;AAC3E;AAFA,IAEG,IAAI,CAAC,GAAG,MAAM;AACf,IAAE,GAAG,EAAE,iBAAiB,QAAQ,CAAC;AACnC;AAJA,IAIG,IAAI,CAAC,GAAG,MAAM;AACf,MAAI,GAAG;AACP,QAAM,MAAM,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,SAAS,gBAAgB;AAC/E,SAAO,EAAE,QAAQ,mBAAmB,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,SAAS,UAAU,iBAAiB,IAAI,EAAE,IAAI,EAAE,iBAAiB,QAAQ,CAAC;AAC1J;AARA,IAQG,IAAI,OAAO,EAAE,YAAY,GAAG,aAAa,MAAI,wBAAwB,MAAG;AAR3E,IAQ+E,IAAI,CAAC,MAAM;AACxF,MAAI;AACF,WAAO,IAAI,IAAI,EAAE,GAAG,EAAE,WAAW,OAAO,SAAS;AAAA,EACnD,SAAQA,IAAA;AACN,WAAO;AAAA,EACT;AACF;AAdA,IAcG,IAAI,CAAC,MAAM;AACZ,MAAI;AACF,UAAM,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE;AACzB,QAAI,MAAM;AACR,aAAO;AAAA,EACX,SAAQA,IAAA;AAAA,EACR;AACA,SAAO;AACT;AAtBA,IAsBG,IAAI,CAAC,OAAO,OAAO,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,UAAU,OAAO,EAAE,CAAC,CAAC,GAAG;AAtB9E,IAsBkF,IAAI,CAAC,MAAM;AAC3F,QAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,sBAAsB;AAC9D,SAAO,KAAK,KAAK,CAAC;AACpB;AACA,SAAS,EAAE,GAAG;AACZ;AAAA,IACE;AAAA,IACA,MAAM;AACJ,UAAI;AACJ,cAAQ,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,YAAY,6FAA6F,GAAG;AAAA,IAChK;AAAA,EACF;AACF;AACA,SAAS,EAAE,GAAG;AACZ,MAAI,OAAO,EAAE,QAAQ,YAAY,EAAE,KAAK,WAAW,eAAe,GAAG;AACnE,UAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,GAAG,GAAG,IAAI,CAAC;AACvC,WAAO,IAAI,IAAI,IAAI;AAAA,EACrB;AACA,SAAO;AACT;AACA,IAAM,IAAI,EAAE,IAAI,EAAE,IAAI;AACtB,IAAI,IAAI,CAAC;AACT,IAAM,IAAI,CAAC,GAAG,MAAM;AAClB,MAAI,CAAC,EAAE;AACL,WAAO,CAAC;AACV,QAAM,IAAI,kCAAK,EAAE,IAAM,EAAE,gBAAK,CAAC,CAAC,IAAK,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;AACzD,SAAO,EAAE,IAAI,CAAC,MAAM;AAClB,UAAM,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,kBAAkB,EAAE,WAAW,MAAG,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC;AACrF,WAAO,EAAE,KAAK,CAAC,GAAG;AAAA,MAChB,aAAa,MAAM;AACjB,UAAE,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,SAAS,EAAE,GAAG;AACZ,SAAO,OAAO,KAAK,WAAW,MAAM,KAAK,SAAS,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,SAAS,qBAAqB,QAAQ,CAAC;AAC7J;AACA,SAAS,EAAE,GAAG,GAAG;AACf,MAAI,MAAM,QAAQ,EAAE,WAAW;AAC7B,WAAO,EAAE;AACX,MAAI,CAAC,EAAE;AACL,WAAO,CAAC;AACV,QAAM,IAAI,CAAC;AACX,aAAW,KAAK,GAAG;AACjB,UAAM,IAAI,EAAE,CAAC;AACb,SAAK,EAAE,KAAK,CAAC;AAAA,EACf;AACA,SAAO;AACT;AACA,SAAS,EAAE,GAAG,GAAG;AACf,QAAM,IAAI,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAC/C,SAAO,MAAM;AACX,MAAE,GAAG,EAAE;AAAA,EACT;AACF;AACA,SAAS,EAAE,GAAG,GAAG;AACf,QAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM;AAC/C,QAAI;AACJ,UAAM,IAAI,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM;AAC/C,QAAI,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,CAAC,IAAI;AAC5C,YAAM,IAAI,EAAE,SAAS,OAAO,SAAS,EAAE,UAAU,kBAAkB;AACjE,cAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;AACxB,aAAK,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AAC7C;AAAA,MACF;AACA,UAAI,EAAE,wBAAwB;AAC5B,cAAM,IAAI,EAAE,CAAC;AACb,cAAM,QAAQ,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AACtD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,OAAO,iBAAiB,WAAW,CAAC,GAAG,EAAE,0BAA0B,EAAE,CAAC,GAAG,MAAM,OAAO,oBAAoB,WAAW,CAAC;AAC/H;AACA,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG;AACxB,QAAM,IAAI,MAAM;AACd,QAAI;AACJ,UAAM,KAAK,IAAI,EAAE,oBAAoB,OAAO,SAAS,EAAE;AACvD,UAAM,KAAK,QAAQ,EAAE,QAAQ,CAAC;AAAA,EAChC;AACA,SAAO,EAAE,GAAG,CAAC,GAAG,MAAM;AACpB,QAAI;AACJ,KAAC,IAAI,EAAE,oBAAoB,QAAQ,EAAE,SAAS,KAAK,QAAQ,EAAE,UAAU,EAAE,gBAAgB,IAAI,IAAI,EAAE,oBAAoB,QAAQ,CAAC;AAAA,EAClI;AACF;AACA,SAAS,EAAE,EAAE,QAAQ,GAAG,kBAAkB,EAAE,GAAG;AAC7C,QAAM,IAAI,MAAM;AACd,MAAE,YAAY;AAAA,EAChB,GAAG,IAAI,MAAM;AACX,MAAE,YAAY;AAAA,EAChB;AACA,SAAO,EAAE,iBAAiB,cAAc,CAAC,GAAG,EAAE,iBAAiB,cAAc,CAAC,GAAG,MAAM;AACrF,MAAE,oBAAoB,cAAc,CAAC,GAAG,EAAE,oBAAoB,cAAc,CAAC;AAAA,EAC/E;AACF;AACA,SAAS,IAAI;AACX,QAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM;AAC3B,UAAM,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,UAAI;AACJ,eAAS,IAAI,EAAE,OAAO,oBAAoB,OAAO,SAAS,EAAE,UAAU;AAAA,IACxE,CAAC;AACD,QAAI,CAAC;AACH;AACF,UAAM,EAAE,QAAQ,EAAE,IAAI;AACtB,QAAI,CAAC,EAAE;AACL;AACF,UAAM,IAAI,EAAE,EAAE,eAAe;AAC7B,SAAK,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAAC;AAAA,EAC/C;AACA,SAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC/C;AACA,SAAS,EAAE,EAAE,mBAAmB,GAAG,WAAW,EAAE,GAAG;AACjD,QAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,kBAAkB,EAAE,IAAI,GAAG,IAAI,EAAE,sBAAsB,GAAG,IAAI,IAAI,EAAE;AACpG,MAAI,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE;AAChC;AACF,QAAM,IAAI;AAAA,IACR,QAAQ;AAAA,IACR,UAAU,mBAAK;AAAA,IACf,kBAAkB,mBAAK;AAAA,IACvB,qBAAqB,EAAE,MAAM,EAAE;AAAA,IAC/B,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,EAAE;AAAA,EACrD;AACA,IAAE,eAAe,CAAC;AACpB;AACA,EAAE;AACF,SAAS,IAAI;AACX,GAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,MAAM;AAC9B,UAAM,IAAI,MAAM;AACd,YAAM,IAAI;AAAA,QACR,MAAM;AAAA,QACN,OAAO,SAAS,gBAAgB;AAAA,QAChC,QAAQ,EAAE,QAAQ;AAAA,MACpB;AACA,aAAO,OAAO,YAAY,GAAG,GAAG;AAAA,IAClC;AACA,QAAI,eAAe,CAAC,EAAE,QAAQ,SAAS,IAAI;AAAA,EAC7C,CAAC;AACH;;;AC7JA,IAAqB,UAArB,MAA6B;AAAA,EAQzB,YAAY,QAAqB,MAAc,OAA0C,CAAC,GAAG,OAAgB,OAAO,aAAsB,OAAO;AAC7I,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,aAAa;AAClB,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,QAAQ,MAAe;AACnB,SAAK,OAAO;AACZ,WAAO;AAAA,EACX;AAAA,EAEA,cAAc,YAAqB;AAC/B,SAAK,aAAa;AAClB,WAAO;AAAA,EACX;AAAA,EAEM,MAAM,SAAsB;AAAA;AAC9B,YAAM,cAAc,IAAI,gBAAgB;AACxC,kBAAY,IAAI,YAAY,KAAK,OAAO,QAAQ;AAChD,kBAAY,IAAI,gBAAgB,KAAK,OAAO,YAAY;AACxD,UAAI,KAAK,KAAM,aAAY,IAAI,QAAQ,MAAM;AAC7C,UAAI,KAAK,WAAY,aAAY,IAAI,cAAc,MAAM;AACzD,iBAAW,OAAO,KAAK,MAAM;AACzB,cAAM,QAAQ,KAAK,KAAK,GAAG;AAC3B,YAAI,MAAM,QAAQ,KAAK,GAAG;AACtB,sBAAY,IAAI,KAAK,MAAM,KAAK,GAAG,CAAC;AAAA,QACxC,OAAO;AACH,sBAAY,IAAI,KAAK,KAAK;AAAA,QAC9B;AAAA,MACJ;AACA,YAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,aAAO,MAAM,8BAA8B,KAAK,IAAI,IAAI,YAAY,SAAS,CAAC;AAC9E,aAAO,MAAM,QAAQ;AACrB,YAAM,WAAW,QAAQ,YAAY,MAAM;AAC3C,QAAW,CAAC,GAAG,QAAQ;AACvB,aAAO;AAAA,IACX;AAAA;AAEJ;;;AC5CA,IAAqB,QAArB,MAA2B;AAAA,EAIvB,YAAY,QAAqB;AAC7B,SAAK,SAAS;AAAA,EAClB;AAAA,EAEM,IAAI,UAAmB,KAAc;AAAA;AACvC,aAAQ,MAAM,KAAK,OAAO,KAAK,aAAa,eAAe;AAAA,QACvD;AAAA,QACA;AAAA,MACJ,CAAC;AAAA,IACL;AAAA;AAAA,EAEA,SAAS,QAAqB,WAAwB,QAAgB;AAClE,WAAO,IAAI;AAAA,MACP,KAAK;AAAA,MACL;AAAA,MACA;AAAA,QACI,QAAQ,OAAO,IAAI,WAAS,MAAM,EAAE,EAAE,KAAK,GAAG;AAAA,QAC9C,WAAW,UAAU,IAAI,cAAY,SAAS,EAAE,EAAE,KAAK,GAAG;AAAA,QAC1D,QAAQ,OAAO;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAEJ;;;AChCA,IAAqB,eAArB,MAAqB,aAAY;AAAA,EAQrB,YAAY,UAAkB,cAAsB,MAAe;AACvE,SAAK,WAAW;AAChB,SAAK,eAAe;AACpB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,OAAO,IAAI,UAAkB,cAAsB,OAAgB,OAAO;AACtE,QAAI,CAAC,aAAY,YAAY,aAAY,SAAS,aAAa,YAAY,aAAY,SAAS,iBAAiB,gBAAgB,aAAY,SAAS,SAAS,MAAM;AACjK,mBAAY,WAAW,IAAI,aAAY,UAAU,cAAc,IAAI;AAAA,IACvE;AACA,WAAO,aAAY;AAAA,EACvB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,IAAI,MAAM,IAAI;AAAA,EACzB;AAAA,EAEc,MAAM,OAAe,KAAa,MAAY;AAAA;AACxD,YAAM,SAAS,KAAK,OAAO,+BAA+B;AAC1D,YAAM,UAAU,IAAI,QAAQ;AAAA,QACxB,eAAe,UAAU,KAAK,YAAY;AAAA,MAC9C,CAAC;AACD,UAAI,MAAM;AACN,gBAAQ,IAAI,gBAAgB,kBAAkB;AAAA,MAClD;AACA,YAAM,WAAW,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,IAAI,KAAK,QAAQ,GAAG,GAAG,IAAI;AAAA,QACtE;AAAA,QACA,QAAQ,OAAO,SAAS;AAAA,QACxB,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,MACxC,CAAC;AACD,aAAO,SAAS,KAAK;AAAA,IACzB;AAAA;AAAA,EAEM,IAAI,OAAe,KAAa;AAAA;AAClC,aAAO,KAAK,MAAM,OAAO,GAAG;AAAA,IAChC;AAAA;AAAA,EAEM,KAAK,IAAe,IAA6B;AAAA,+CAA5C,OAAe,KAAa,OAAY,CAAC,GAAG;AACnD,aAAO,KAAK,MAAM,OAAO,KAAK,IAAI;AAAA,IACtC;AAAA;AAEJ;AAjDqB,aAMF,WAA+B;AANlD,IAAqB,cAArB;","names":["e"]}