@serverbench/js 1.0.1 → 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.
- package/dist/{Serverbench.cjs → index.cjs} +16 -6
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +99 -0
- package/dist/index.d.ts +99 -0
- package/dist/{Serverbench.js → index.js} +7 -2
- package/dist/index.js.map +1 -0
- package/package.json +4 -4
- package/dist/Member.cjs +0 -19
- package/dist/Member.cjs.map +0 -1
- package/dist/Member.d.cts +0 -7
- package/dist/Member.d.ts +0 -7
- package/dist/Member.js +0 -1
- package/dist/Member.js.map +0 -1
- package/dist/Serverbench-BnPNK96A.d.cts +0 -38
- package/dist/Serverbench-DlERhe0-.d.ts +0 -38
- package/dist/Serverbench.cjs.map +0 -1
- package/dist/Serverbench.d.cts +0 -10
- package/dist/Serverbench.d.ts +0 -10
- package/dist/Serverbench.js.map +0 -1
- package/dist/element/Element.cjs +0 -275
- package/dist/element/Element.cjs.map +0 -1
- package/dist/element/Element.d.cts +0 -10
- package/dist/element/Element.d.ts +0 -10
- package/dist/element/Element.js +0 -255
- package/dist/element/Element.js.map +0 -1
- package/dist/store/ICountryCurrency.cjs +0 -19
- package/dist/store/ICountryCurrency.cjs.map +0 -1
- package/dist/store/ICountryCurrency.d.cts +0 -7
- package/dist/store/ICountryCurrency.d.ts +0 -7
- package/dist/store/ICountryCurrency.js +0 -1
- package/dist/store/ICountryCurrency.js.map +0 -1
- package/dist/store/IDiscount.cjs +0 -19
- package/dist/store/IDiscount.cjs.map +0 -1
- package/dist/store/IDiscount.d.cts +0 -13
- package/dist/store/IDiscount.d.ts +0 -13
- package/dist/store/IDiscount.js +0 -1
- package/dist/store/IDiscount.js.map +0 -1
- package/dist/store/ISku.cjs +0 -19
- package/dist/store/ISku.cjs.map +0 -1
- package/dist/store/ISku.d.cts +0 -17
- package/dist/store/ISku.d.ts +0 -17
- package/dist/store/ISku.js +0 -1
- package/dist/store/ISku.js.map +0 -1
- package/dist/store/ISkuPerkUsage.cjs +0 -19
- package/dist/store/ISkuPerkUsage.cjs.map +0 -1
- package/dist/store/ISkuPerkUsage.d.cts +0 -7
- package/dist/store/ISkuPerkUsage.d.ts +0 -7
- package/dist/store/ISkuPerkUsage.js +0 -1
- package/dist/store/ISkuPerkUsage.js.map +0 -1
- package/dist/store/ISkuPrice.cjs +0 -19
- package/dist/store/ISkuPrice.cjs.map +0 -1
- package/dist/store/ISkuPrice.d.cts +0 -10
- package/dist/store/ISkuPrice.d.ts +0 -10
- package/dist/store/ISkuPrice.js +0 -1
- package/dist/store/ISkuPrice.js.map +0 -1
- package/dist/store/IStore.cjs +0 -19
- package/dist/store/IStore.cjs.map +0 -1
- package/dist/store/IStore.d.cts +0 -18
- package/dist/store/IStore.d.ts +0 -18
- package/dist/store/IStore.js +0 -1
- package/dist/store/IStore.js.map +0 -1
- package/dist/store/IStoreCategory.cjs +0 -19
- package/dist/store/IStoreCategory.cjs.map +0 -1
- package/dist/store/IStoreCategory.d.cts +0 -16
- package/dist/store/IStoreCategory.d.ts +0 -16
- package/dist/store/IStoreCategory.js +0 -1
- package/dist/store/IStoreCategory.js.map +0 -1
- package/dist/store/IStoreCategorySet.cjs +0 -19
- package/dist/store/IStoreCategorySet.cjs.map +0 -1
- package/dist/store/IStoreCategorySet.d.cts +0 -6
- package/dist/store/IStoreCategorySet.d.ts +0 -6
- package/dist/store/IStoreCategorySet.js +0 -1
- package/dist/store/IStoreCategorySet.js.map +0 -1
- package/dist/store/Store.cjs +0 -301
- package/dist/store/Store.cjs.map +0 -1
- package/dist/store/Store.d.cts +0 -10
- package/dist/store/Store.d.ts +0 -10
- package/dist/store/Store.js +0 -281
- 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/
|
55
|
-
var
|
56
|
-
__export(
|
57
|
-
|
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(
|
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
|
-
|
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\n\r\nexport {\r\n Store,\r\n ICountryCurrency,\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"]}
|
package/dist/index.d.cts
ADDED
@@ -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 ISku, type ISkuPerkUsage, type ISkuPrice, type IStore, type IStoreCategory, type IStoreCategorySet, type Member, Store, Serverbench as default };
|
package/dist/index.d.ts
ADDED
@@ -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 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
|
-
|
329
|
+
Element,
|
330
|
+
Store,
|
331
|
+
src_default as default
|
327
332
|
};
|
328
|
-
//# sourceMappingURL=
|
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\n\r\nexport {\r\n Store,\r\n ICountryCurrency,\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.
|
3
|
+
"version": "1.0.2",
|
4
4
|
"description": "",
|
5
|
-
"main": "./dist/
|
6
|
-
"module": "./dist/
|
7
|
-
"types": "./dist/
|
5
|
+
"main": "./dist/index.js",
|
6
|
+
"module": "./dist/index.mjs",
|
7
|
+
"types": "./dist/index.d.ts",
|
8
8
|
"files": [
|
9
9
|
"dist"
|
10
10
|
],
|
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
|
package/dist/Member.cjs.map
DELETED
@@ -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
package/dist/Member.d.ts
DELETED
package/dist/Member.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=Member.js.map
|
package/dist/Member.js.map
DELETED
@@ -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 };
|
package/dist/Serverbench.cjs.map
DELETED
@@ -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"]}
|
package/dist/Serverbench.d.cts
DELETED
@@ -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';
|
package/dist/Serverbench.d.ts
DELETED
@@ -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';
|
package/dist/Serverbench.js.map
DELETED
@@ -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":"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","names":["e"]}
|