@oyna360/game-sdk 0.6.3 → 0.7.1

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/README.md CHANGED
@@ -1,203 +1,210 @@
1
- # @oyna360/game-sdk
2
-
3
- SDK رسمی اتصال **بازی شما** به **پلتفرم oyna360**.
4
-
5
- با این پکیج بازی می‌تواند:
6
-
7
- - هویت بازیکن و سشن را بگیرد
8
- - امتیاز، لیدربورد، دستاورد و کیف‌پول جِم را صدا بزند
9
- - در **Production** داخل iframe پلتفرم کار کند
10
- - در **Development** بدون iframe، مستقیم به سرور oyna360 وصل شود
11
-
12
- **نسخه:** `0.6.0` · بدون وابستگی runtime · TypeScript داخل پکیج
13
-
14
- > برای لابی ۳D و لود آواتار از [`@oyna360/lobby-babylon`](https://www.npmjs.com/package/@oyna360/lobby-babylon) استفاده کنید؛ `@oyna360/lobby-sdk` فقط Core شبکه و state است. [مرجع استاندارد آواتار و راهنمای AI](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md).
15
-
16
- ---
17
-
18
- ## نصب
19
-
20
- ```bash
21
- npm install @oyna360/game-sdk
22
- # یا
23
- pnpm add @oyna360/game-sdk
24
- ```
25
-
26
- ```json
27
- {
28
- "dependencies": {
29
- "@oyna360/game-sdk": "^0.6.0"
30
- }
31
- }
32
- ```
33
-
34
- نسخه را در [npm](https://www.npmjs.com/package/@oyna360/game-sdk) ببینید و با `^` یا نسخهٔ دقیق پین کنید.
35
-
36
- ### به‌روزرسانی
37
-
38
- ```bash
39
- npm install @oyna360/game-sdk@latest
40
- # یا
41
- pnpm update @oyna360/game-sdk
42
- ```
43
-
44
- ---
45
-
46
- ## دو حالت اجرا
47
-
48
- | حالت | چطور بازی باز می‌شود | `init()` از کجا Context می‌گیرد |
49
- |------|----------------------|----------------------------------|
50
- | **Production** | بازیکن از `https://oyna360.ir/play/{slug}` وارد می‌شود؛ بازی داخل iframe است | `postMessage` → `platform:init` از parent |
51
- | **Developer Environment** | `npm run dev` روی origin شما | Dev Credential → `POST /dev/gateway/session` (بدون popup) |
52
- | **Direct Development (legacy)** | `npm run dev` + بازی منتشرشده | Authorize popup با `gameSlug` |
53
-
54
- ```ts
55
- import { PlatformSDK } from '@oyna360/game-sdk';
56
-
57
- const { user, game, session, avatar, lobby } = await PlatformSDK.init({
58
- platformUrl: 'https://oyna360.ir/api',
59
- platformWebUrl: 'https://oyna360.ir',
60
- // توصیه برای توسعه:
61
- // dev: { clientId: '...', credential: '...' },
62
- });
63
- ```
64
-
65
- ---
66
-
67
- ## شروع سریع — Production
68
-
69
- 1. بازی را روی URL عمومی host کنید.
70
- 2. در پنل ادمین oyna360: `slug`، `entryUrl`، `allowedOrigins`، `minSdkVersion`.
71
- 3. بازیکن از `/play/{slug}` وارد شود.
72
-
73
- ```ts
74
- import { PlatformSDK } from '@oyna360/game-sdk';
75
-
76
- async function boot() {
77
- const { user, game } = await PlatformSDK.init({ timeout: 15_000 });
78
- console.log(user.displayName, game.slug);
79
-
80
- // گیم‌پلی…
81
- await PlatformSDK.submitScore(4200);
82
- await PlatformSDK.endSession();
83
- }
84
-
85
- boot().catch(console.error);
86
- ```
87
-
88
- ---
89
-
90
- ## شروع سریع — Developer Environment (توصیه‌شده)
91
-
92
- 1. در oyna360 وارد شوید و به `/developer` بروید.
93
- 2. Dev Project بسازید و Origin لوکال (مثلاً `http://localhost:5173`) را اضافه کنید.
94
- 3. Credential صادر کنید و در `.env` بازی بگذارید.
95
-
96
- ```ts
97
- await PlatformSDK.init({
98
- platformUrl: 'https://oyna360.ir/api',
99
- platformWebUrl: 'https://oyna360.ir',
100
- dev: {
101
- clientId: '...',
102
- credential: '...',
103
- },
104
- });
105
- ```
106
-
107
- بدون ساختن بازی در Catalog و بدون popup هر بار. جزئیات: [docs/10-developer-environment.md](./docs/10-developer-environment.md)
108
-
109
- ---
110
-
111
- ## شروع سریع — Direct Development (legacy / slug)
112
-
113
- بدون کلون کردن پلتفرم، ولی نیاز به بازی **منتشرشده** و authorize هر بار:
114
-
115
- ```ts
116
- await PlatformSDK.init({
117
- platformUrl: 'https://oyna360.ir/api',
118
- platformWebUrl: 'https://oyna360.ir',
119
- gameSlug: 'my-game',
120
- });
121
- ```
122
-
123
- یا قبل از `init`:
124
-
125
- ```ts
126
- window.__OYNA360_DEV__ = {
127
- platformUrl: 'https://oyna360.ir/api',
128
- platformWebUrl: 'https://oyna360.ir',
129
- gameSlug: 'my-game',
130
- };
131
- await PlatformSDK.init();
132
- ```
133
-
134
- پنجرهٔ ورود oyna360 باز می‌شود؛ با اکانت واقعی وارد می‌شوید؛ SDK Context کامل (شامل `avatar` و `lobby`) را می‌گیرد.
135
-
136
- در Direct Development همان APIهای امتیاز، لیدربورد، دستاورد و کیف‌پول از طریق REST مستقیم به `platformUrl` صدا زده می‌شوند (بدون iframe). Origin بازی باید در `DEV_GAME_ORIGINS` / `allowedOrigins` و CORS باشد.
137
-
138
- جزئیات و تنظیم Origin: [docs/09-direct-development.md](./docs/09-direct-development.md)
139
-
140
- ---
141
-
142
- ## مستندات
143
-
144
- | موضوع | فایل |
145
- |--------|------|
146
- | این SDK چیست / مرز با lobby-sdk | [docs/00-overview.md](./docs/00-overview.md) |
147
- | نصب و پیش‌نیاز ادمین | [docs/01-shoro.md](./docs/01-shoro.md) |
148
- | `init()` و `SdkInitPayload` | [docs/02-init.md](./docs/02-init.md) |
149
- | user / session | [docs/03-user-session.md](./docs/03-user-session.md) |
150
- | پایان سشن | [docs/04-end-session.md](./docs/04-end-session.md) |
151
- | امتیاز | [docs/05-scores.md](./docs/05-scores.md) |
152
- | لیدربورد | [docs/06-leaderboard.md](./docs/06-leaderboard.md) |
153
- | پروتکل postMessage | [docs/07-postmessage-protocol.md](./docs/07-postmessage-protocol.md) |
154
- | جِم و سکه | [docs/08-wallet.md](./docs/08-wallet.md) |
155
- | Direct Development Mode | [docs/09-direct-development.md](./docs/09-direct-development.md) |
156
- | دستاوردها | [docs/10-achievements.md](./docs/10-achievements.md) |
157
- | عیب‌یابی | [docs/11-troubleshooting.md](./docs/11-troubleshooting.md) |
158
-
159
- ---
160
-
161
- ## API خلاصه
162
-
163
- | متد | توضیح | Production | Direct Dev |
164
- |-----|--------|:----------:|:----------:|
165
- | `init(options?)` | دریافت Context پلتفرم | ✅ | ✅ |
166
- | `getUser()` / `getSession()` / `getInitPayload()` / `isReady()` | خواندن وضعیت | ✅ | ✅ |
167
- | `endSession()` | بستن سشن | ✅ | ✅ |
168
- | `submitScore` / `getLeaderboard` | امتیاز | ✅ | ✅ |
169
- | `unlockAchievement` / `getAchievements` | دستاورد | ✅ | ✅ |
170
- | `getWallet` / `convertGems` | جِم | ✅ | ✅ |
171
-
172
- Production از `postMessage` به parent استفاده می‌کند؛ Direct Dev همان endpointهای REST را با session token صدا می‌زند.
173
-
174
- `PlatformSDK.version` → `'0.5.2'`
175
-
176
- ---
177
-
178
- ## اتصال به lobby-sdk
179
-
180
- بعد از `init()`:
181
-
182
- ```ts
183
- import { PlatformSDK } from '@oyna360/game-sdk';
184
- import { PlatformLobby } from '@oyna360/lobby-babylon';
185
-
186
- const init = await PlatformSDK.init({ /* … */ });
187
- const lobby = await PlatformLobby.create({
188
- canvas,
189
- platformInit: init,
190
- roomId: init.lobby!.roomId,
191
- wsUrl: init.lobby!.wsUrl,
192
- });
193
- ```
194
-
195
- `lobby.wsUrl` را هاردکد نکنید.
196
-
197
- کل `init` را منتقل کنید تا مدل، لباس و اکسسوری کاربر حفظ شود. `PlatformLobby.create` لود GLB، Draco و آواتار دیگران را خودکار انجام می‌دهد. برای رندر در صحنهٔ اختصاصی و محدودیت‌های شخصی‌سازی، [راهنمای آواتار](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md) را بخوانید.
198
-
199
- ---
200
-
201
- ## لایسنس
202
-
203
- MIT
1
+ # @oyna360/game-sdk
2
+
3
+ SDK رسمی اتصال **بازی شما** به **پلتفرم oyna360**.
4
+
5
+ با این پکیج بازی می‌تواند:
6
+
7
+ - هویت بازیکن و سشن را بگیرد
8
+ - امتیاز، لیدربورد، دستاورد و کیف‌پول جِم را صدا بزند
9
+ - محصول بازی را با جم بخرد، رسید را بازیابی کند و موجودی/مصرف آیتم را از سرور بگیرد
10
+ - در **Production** داخل iframe پلتفرم کار کند
11
+ - در **Development** بدون iframe، مستقیم به سرور oyna360 وصل شود
12
+
13
+ **نسخه:** `0.7.0` · بدون وابستگی runtime · TypeScript داخل پکیج
14
+
15
+ > برای لابی ۳D و لود آواتار از [`@oyna360/lobby-babylon`](https://www.npmjs.com/package/@oyna360/lobby-babylon) استفاده کنید؛ `@oyna360/lobby-sdk` فقط Core شبکه و state است. [مرجع استاندارد آواتار و راهنمای AI](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md).
16
+
17
+ ---
18
+
19
+ ## قابلیت‌های خرید در ۰٫۷٫۰
20
+
21
+ `purchaseProduct` · `getPurchaseStatus` · `getPurchaseReceipts` · `getInventory` · `consumeItem` · `getProducts` · `getExchangeStatus`
22
+
23
+ [راهنمای کامل خرید و بازیابی](docs/08-wallet.md) · [پیش‌نیاز انتشار بک‌اند و وضعیت npm](docs/12-commerce-release.md)
24
+
25
+ ## نصب
26
+
27
+ ```bash
28
+ npm install @oyna360/game-sdk
29
+ # یا
30
+ pnpm add @oyna360/game-sdk
31
+ ```
32
+
33
+ ```json
34
+ {
35
+ "dependencies": {
36
+ "@oyna360/game-sdk": "^0.7.0"
37
+ }
38
+ }
39
+ ```
40
+
41
+ نسخه را در [npm](https://www.npmjs.com/package/@oyna360/game-sdk) ببینید و با `^` یا نسخهٔ دقیق پین کنید.
42
+
43
+ ### به‌روزرسانی
44
+
45
+ ```bash
46
+ npm install @oyna360/game-sdk@latest
47
+ # یا
48
+ pnpm update @oyna360/game-sdk
49
+ ```
50
+
51
+ ---
52
+
53
+ ## دو حالت اجرا
54
+
55
+ | حالت | چطور بازی باز می‌شود | `init()` از کجا Context می‌گیرد |
56
+ |------|----------------------|----------------------------------|
57
+ | **Production** | بازیکن از `https://oyna360.ir/play/{slug}` وارد می‌شود؛ بازی داخل iframe است | `postMessage` → `platform:init` از parent |
58
+ | **Developer Environment** | `npm run dev` روی origin شما | Dev Credential → `POST /dev/gateway/session` (بدون popup) |
59
+ | **Direct Development (legacy)** | `npm run dev` + بازی منتشرشده | Authorize popup با `gameSlug` |
60
+
61
+ ```ts
62
+ import { PlatformSDK } from '@oyna360/game-sdk';
63
+
64
+ const { user, game, session, avatar, lobby } = await PlatformSDK.init({
65
+ platformUrl: 'https://oyna360.ir/api',
66
+ platformWebUrl: 'https://oyna360.ir',
67
+ // توصیه برای توسعه:
68
+ // dev: { clientId: '...', credential: '...' },
69
+ });
70
+ ```
71
+
72
+ ---
73
+
74
+ ## شروع سریع — Production
75
+
76
+ 1. بازی را روی URL عمومی host کنید.
77
+ 2. در پنل ادمین oyna360: `slug`، `entryUrl`، `allowedOrigins`، `minSdkVersion`.
78
+ 3. بازیکن از `/play/{slug}` وارد شود.
79
+
80
+ ```ts
81
+ import { PlatformSDK } from '@oyna360/game-sdk';
82
+
83
+ async function boot() {
84
+ const { user, game } = await PlatformSDK.init({ timeout: 15_000 });
85
+ console.log(user.displayName, game.slug);
86
+
87
+ // گیم‌پلی…
88
+ await PlatformSDK.submitScore(4200);
89
+ await PlatformSDK.endSession();
90
+ }
91
+
92
+ boot().catch(console.error);
93
+ ```
94
+
95
+ ---
96
+
97
+ ## شروع سریع — Developer Environment (توصیه‌شده)
98
+
99
+ 1. در oyna360 وارد شوید و به `/developer` بروید.
100
+ 2. Dev Project بسازید و Origin لوکال (مثلاً `http://localhost:5173`) را اضافه کنید.
101
+ 3. Credential صادر کنید و در `.env` بازی بگذارید.
102
+
103
+ ```ts
104
+ await PlatformSDK.init({
105
+ platformUrl: 'https://oyna360.ir/api',
106
+ platformWebUrl: 'https://oyna360.ir',
107
+ dev: {
108
+ clientId: '...',
109
+ credential: '...',
110
+ },
111
+ });
112
+ ```
113
+
114
+ بدون ساختن بازی در Catalog و بدون popup هر بار. جزئیات: [docs/10-developer-environment.md](./docs/10-developer-environment.md)
115
+
116
+ ---
117
+
118
+ ## شروع سریع — Direct Development (legacy / slug)
119
+
120
+ بدون کلون کردن پلتفرم، ولی نیاز به بازی **منتشرشده** و authorize هر بار:
121
+
122
+ ```ts
123
+ await PlatformSDK.init({
124
+ platformUrl: 'https://oyna360.ir/api',
125
+ platformWebUrl: 'https://oyna360.ir',
126
+ gameSlug: 'my-game',
127
+ });
128
+ ```
129
+
130
+ یا قبل از `init`:
131
+
132
+ ```ts
133
+ window.__OYNA360_DEV__ = {
134
+ platformUrl: 'https://oyna360.ir/api',
135
+ platformWebUrl: 'https://oyna360.ir',
136
+ gameSlug: 'my-game',
137
+ };
138
+ await PlatformSDK.init();
139
+ ```
140
+
141
+ پنجرهٔ ورود oyna360 باز می‌شود؛ با اکانت واقعی وارد می‌شوید؛ SDK Context کامل (شامل `avatar` و `lobby`) را می‌گیرد.
142
+
143
+ در Direct Development همان APIهای امتیاز، لیدربورد، دستاورد و کیف‌پول از طریق REST مستقیم به `platformUrl` صدا زده می‌شوند (بدون iframe). Origin بازی باید در `DEV_GAME_ORIGINS` / `allowedOrigins` و CORS باشد.
144
+
145
+ جزئیات و تنظیم Origin: [docs/09-direct-development.md](./docs/09-direct-development.md)
146
+
147
+ ---
148
+
149
+ ## مستندات
150
+
151
+ | موضوع | فایل |
152
+ |--------|------|
153
+ | این SDK چیست / مرز با lobby-sdk | [docs/00-overview.md](./docs/00-overview.md) |
154
+ | نصب و پیش‌نیاز ادمین | [docs/01-shoro.md](./docs/01-shoro.md) |
155
+ | `init()` و `SdkInitPayload` | [docs/02-init.md](./docs/02-init.md) |
156
+ | user / session | [docs/03-user-session.md](./docs/03-user-session.md) |
157
+ | پایان سشن | [docs/04-end-session.md](./docs/04-end-session.md) |
158
+ | امتیاز | [docs/05-scores.md](./docs/05-scores.md) |
159
+ | لیدربورد | [docs/06-leaderboard.md](./docs/06-leaderboard.md) |
160
+ | پروتکل postMessage | [docs/07-postmessage-protocol.md](./docs/07-postmessage-protocol.md) |
161
+ | جِم و سکه | [docs/08-wallet.md](./docs/08-wallet.md) |
162
+ | Direct Development Mode | [docs/09-direct-development.md](./docs/09-direct-development.md) |
163
+ | دستاوردها | [docs/10-achievements.md](./docs/10-achievements.md) |
164
+ | عیب‌یابی | [docs/11-troubleshooting.md](./docs/11-troubleshooting.md) |
165
+
166
+ ---
167
+
168
+ ## API خلاصه
169
+
170
+ | متد | توضیح | Production | Direct Dev |
171
+ |-----|--------|:----------:|:----------:|
172
+ | `init(options?)` | دریافت Context پلتفرم | ✅ | ✅ |
173
+ | `getUser()` / `getSession()` / `getInitPayload()` / `isReady()` | خواندن وضعیت | ✅ | ✅ |
174
+ | `endSession()` | بستن سشن | ✅ | ✅ |
175
+ | `submitScore` / `getLeaderboard` | امتیاز | ✅ | ✅ |
176
+ | `unlockAchievement` / `getAchievements` | دستاورد | ✅ | ✅ |
177
+ | `getWallet` / `convertGems` | جِم | ✅ | ✅ |
178
+
179
+ Production از `postMessage` به parent استفاده می‌کند؛ Direct Dev همان endpointهای REST را با session token صدا می‌زند.
180
+
181
+ `PlatformSDK.version` → `'0.5.2'`
182
+
183
+ ---
184
+
185
+ ## اتصال به lobby-sdk
186
+
187
+ بعد از `init()`:
188
+
189
+ ```ts
190
+ import { PlatformSDK } from '@oyna360/game-sdk';
191
+ import { PlatformLobby } from '@oyna360/lobby-babylon';
192
+
193
+ const init = await PlatformSDK.init({ /* … */ });
194
+ const lobby = await PlatformLobby.create({
195
+ canvas,
196
+ platformInit: init,
197
+ roomId: init.lobby!.roomId,
198
+ wsUrl: init.lobby!.wsUrl,
199
+ });
200
+ ```
201
+
202
+ `lobby.wsUrl` را هاردکد نکنید.
203
+
204
+ کل `init` را منتقل کنید تا مدل، لباس و اکسسوری کاربر حفظ شود. `PlatformLobby.create` لود GLB، Draco و آواتار دیگران را خودکار انجام می‌دهد. برای رندر در صحنهٔ اختصاصی و محدودیت‌های شخصی‌سازی، [راهنمای آواتار](https://github.com/mamadjavadrasti/oyna360-lobby-babylon/blob/master/docs/08-avatars.md) را بخوانید.
205
+
206
+ ---
207
+
208
+ ## لایسنس
209
+
210
+ MIT
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { SDK_VERSION, type PlatformInitMessage, type PlatformSdkInitOptions, type AchievementsResponse, type SdkInitPayload, type SdkSession, type SdkUser, type LeaderboardResponse, type SubmitScoreResponse, type UnlockAchievementResponse, type WalletBalanceResponse, type ConvertGemsResponse } from './types';
1
+ import type { ProductsResponse, PurchaseReceipt, PurchaseStatus, PurchaseReceipts, InventoryResponse, ConsumeItemResponse, ExchangeStatus } from "./types";
2
+ export type { GameProduct, ProductsResponse, PurchaseReceipt, PurchaseStatus, PurchaseReceipts, InventoryResponse, ConsumeItemResponse, ExchangeStatus, } from "./types";
3
+ import { SDK_VERSION, type PlatformInitMessage, type PlatformSdkInitOptions, type AchievementsResponse, type SdkInitPayload, type SdkSession, type SdkUser, type LeaderboardResponse, type SubmitScoreResponse, type UnlockAchievementResponse, type WalletBalanceResponse, type ConvertGemsResponse } from "./types";
2
4
  export { SDK_VERSION };
3
- export type { SdkInitPayload, SdkLobbyAvatar, SdkSession, SdkUser, SdkGameInfo, PlatformInitMessage, PlatformSdkInitOptions, LeaderboardEntry, LeaderboardResponse, SubmitScoreResponse, AchievementItem, AchievementsResponse, UnlockAchievementResponse, WalletBalanceResponse, ConvertGemsResponse, } from './types';
5
+ export type { SdkInitPayload, SdkLobbyAvatar, SdkSession, SdkUser, SdkGameInfo, PlatformInitMessage, PlatformSdkInitOptions, LeaderboardEntry, LeaderboardResponse, SubmitScoreResponse, AchievementItem, AchievementsResponse, UnlockAchievementResponse, WalletBalanceResponse, ConvertGemsResponse, } from "./types";
4
6
  declare global {
5
7
  interface Window {
6
8
  __OYNA360_PLATFORM_INIT__?: PlatformInitMessage;
@@ -36,11 +38,15 @@ export declare function unlockAchievement(key: string): Promise<UnlockAchievemen
36
38
  export declare function getAchievements(): Promise<AchievementsResponse>;
37
39
  /** Platform gem balance + coins-per-gem rate for this game. */
38
40
  export declare function getWallet(): Promise<WalletBalanceResponse>;
39
- /**
40
- * Convert platform gems into in-game coins.
41
- * Platform deducts gems; the game must credit `coinsReceived` to its own economy.
42
- */
43
41
  export declare function convertGems(gems: number, requestId?: string): Promise<ConvertGemsResponse>;
42
+ export declare function getProducts(): Promise<ProductsResponse>;
43
+ /** Persist requestId before sending and reuse it when recovering/retrying the same purchase. */
44
+ export declare function purchaseProduct(itemId: string, requestId?: string): Promise<PurchaseReceipt>;
45
+ export declare function getPurchaseStatus(requestId: string): Promise<PurchaseStatus>;
46
+ export declare function getPurchaseReceipts(cursor?: string): Promise<PurchaseReceipts>;
47
+ export declare function getInventory(): Promise<InventoryResponse>;
48
+ export declare function consumeItem(itemId: string, quantity: number, requestId?: string): Promise<ConsumeItemResponse>;
49
+ export declare function getExchangeStatus(requestId: string): Promise<ExchangeStatus>;
44
50
  export declare function endSession(): Promise<void>;
45
51
  export declare const PlatformSDK: {
46
52
  version: string;
@@ -55,6 +61,13 @@ export declare const PlatformSDK: {
55
61
  getAchievements: typeof getAchievements;
56
62
  getWallet: typeof getWallet;
57
63
  convertGems: typeof convertGems;
64
+ getProducts: typeof getProducts;
65
+ purchaseProduct: typeof purchaseProduct;
66
+ getPurchaseStatus: typeof getPurchaseStatus;
67
+ getPurchaseReceipts: typeof getPurchaseReceipts;
68
+ getInventory: typeof getInventory;
69
+ consumeItem: typeof consumeItem;
70
+ getExchangeStatus: typeof getExchangeStatus;
58
71
  endSession: typeof endSession;
59
72
  };
60
73
  export default PlatformSDK;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAQjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,yBAAyB,CAAC,EAAE,mBAAmB,CAAC;QAChD,sFAAsF;QACtF,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,eAAe,CAAC,EAAE;YAChB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH;CACF;AA+eD;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+DpF;AAED,wBAAgB,OAAO,IAAI,OAAO,GAAG,IAAI,CAExC;AAED,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAE9C;AAED,wBAAgB,cAAc,IAAI,cAAc,GAAG,IAAI,CAEtD;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,2EAA2E;AAC3E,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiB7E;AAED,gFAAgF;AAChF,wBAAsB,cAAc,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAa7E;AAED,gEAAgE;AAChE,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAiBvF;AAED,mEAAmE;AACnE,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAQrE;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAQhE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBhG;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BhD;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;CAcvB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}