nodestack-client 1.0.0 â 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +286 -248
- package/dist/Client.d.ts +13 -1
- package/dist/Client.d.ts.map +1 -1
- package/dist/index.cjs +115 -7
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +115 -7
- package/dist/index.mjs.map +3 -3
- package/dist/services/CollectionService.d.ts +29 -0
- package/dist/services/CollectionService.d.ts.map +1 -1
- package/dist/services/DemoService.d.ts +27 -0
- package/dist/services/DemoService.d.ts.map +1 -0
- package/dist/services/RecordService.d.ts +1 -0
- package/dist/services/RecordService.d.ts.map +1 -1
- package/dist/types.d.ts +66 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +49 -49
package/README.md
CHANGED
|
@@ -1,248 +1,286 @@
|
|
|
1
|
-
# ð nodestack-client
|
|
2
|
-
|
|
3
|
-
> **The Official Lightweight, Type-Safe JavaScript & TypeScript Client SDK for [NodeStack](https://github.com/satya-jugran/nodebase)**
|
|
4
|
-
|
|
5
|
-
[
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
//
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
posts
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
console.error('
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
1
|
+
# ð nodestack-client
|
|
2
|
+
|
|
3
|
+
> **The Official Lightweight, Type-Safe JavaScript & TypeScript Client SDK for [NodeStack](https://github.com/satya-jugran/nodebase)**
|
|
4
|
+
>
|
|
5
|
+
> Published on npm: [`nodestack-client`](https://www.npmjs.com/package/nodestack-client)
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/nodestack-client)
|
|
8
|
+
[](https://www.typescriptlang.org/)
|
|
9
|
+
[](https://opensource.org/licenses/MIT)
|
|
10
|
+
|
|
11
|
+
A zero-dependency, isomorphic JavaScript and TypeScript client for NodeStack with out-of-the-box support for:
|
|
12
|
+
- ⥠**Zero runtime dependencies**: Built purely on standard Web APIs (`fetch`, `FormData`, `AbortController`, `EventSource`).
|
|
13
|
+
- ðŠķ **Ultra-lightweight footprint**: `< 10 KB` minified + gzipped.
|
|
14
|
+
- ð **Pluggable & Reactive Auth**: `LocalAuthStore` (localStorage), `MemoryAuthStore` (Node/SSR/testing), and reactive `onChange` state subscriptions.
|
|
15
|
+
- ðĶ **Fluent Record CRUD & Batch Pagination**: `getList`, `getFullList`, `getFirstListItem`, `create`, `update`, `delete`, `export`, and `import`.
|
|
16
|
+
- ð **File Uploads & Protected File URLs**: Seamless `FormData` file uploads and URL generation with automatic token appending.
|
|
17
|
+
- ðĄ **Multiplexed Realtime SSE**: Single persistent connection with auto-handshake (`NS_CONNECT`), dynamic subscription sync, and automatic reconnection.
|
|
18
|
+
- ðŊ **100% Type Safety**: Works seamlessly with `nodestack typegen` and `GET /api/types.d.ts` for autocompleted collection names and typed record returns.
|
|
19
|
+
- ð **Isomorphic**: Modern Browsers, React / Next.js (SSR + Client), Vue, Svelte, Node.js (18+ / 22+), Bun, Deno, and React Native.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## ðĶ Installation
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install nodestack-client
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or using Yarn / PNPM / Bun:
|
|
30
|
+
```bash
|
|
31
|
+
pnpm add nodestack-client
|
|
32
|
+
# or
|
|
33
|
+
bun add nodestack-client
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## ⥠Quick Start
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
import { NodeStackClient } from 'nodestack-client';
|
|
42
|
+
|
|
43
|
+
// Initialize client
|
|
44
|
+
const client = new NodeStackClient('http://127.0.0.1:8090');
|
|
45
|
+
|
|
46
|
+
// Fetch paginated records
|
|
47
|
+
const result = await client.collection('posts').getList(1, 20, {
|
|
48
|
+
filter: "status = 'published' && views >= 10",
|
|
49
|
+
sort: '-created',
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
console.log(`Found ${result.totalItems} posts:`, result.items);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## ð Authentication
|
|
58
|
+
|
|
59
|
+
### Authenticate as an Auth Collection User (e.g. `users`)
|
|
60
|
+
```typescript
|
|
61
|
+
const authData = await client.collection('users').authWithPassword('alice@example.com', 'password123');
|
|
62
|
+
|
|
63
|
+
console.log('Logged in user:', client.authStore.model);
|
|
64
|
+
console.log('JWT Token:', client.authStore.token);
|
|
65
|
+
console.log('Is valid:', client.authStore.isValid);
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Authenticate as a Superuser / Admin
|
|
69
|
+
```typescript
|
|
70
|
+
const adminAuth = await client.admins.authWithPassword('admin@nodestack.io', 'MySecretAdminPassword');
|
|
71
|
+
console.log('Logged in superuser:', adminAuth.admin.email);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Reactive Auth State Changes
|
|
75
|
+
```typescript
|
|
76
|
+
// Subscribe to login / logout events (ideal for React, Vue, Svelte stores)
|
|
77
|
+
const unbind = client.authStore.onChange((token, model) => {
|
|
78
|
+
console.log('Auth state changed:', { token, model });
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Logout
|
|
82
|
+
client.authStore.clear();
|
|
83
|
+
|
|
84
|
+
// Unsubscribe listener
|
|
85
|
+
unbind();
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### SSR & Node.js Environments (`MemoryAuthStore`)
|
|
89
|
+
In Node.js scripts or server-side rendering where `window.localStorage` is unavailable:
|
|
90
|
+
```typescript
|
|
91
|
+
import { NodeStackClient, MemoryAuthStore } from 'nodestack-client';
|
|
92
|
+
|
|
93
|
+
const serverClient = new NodeStackClient('http://127.0.0.1:8090', {
|
|
94
|
+
authStore: new MemoryAuthStore(),
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## ð Record Operations (CRUD)
|
|
101
|
+
|
|
102
|
+
### 1. Fetch Paginated Records (`getList`)
|
|
103
|
+
```typescript
|
|
104
|
+
const result = await client.collection('posts').getList(1, 10, {
|
|
105
|
+
filter: "category = 'Tech' && price <= 50",
|
|
106
|
+
sort: '-created,title',
|
|
107
|
+
expand: 'author,comments',
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
console.log(result.page, result.totalPages, result.items);
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 2. Fetch All Records Across Pages (`getFullList`)
|
|
114
|
+
Auto-paginates in batches and returns all matching records as a single array:
|
|
115
|
+
```typescript
|
|
116
|
+
const allPosts = await client.collection('posts').getFullList({
|
|
117
|
+
batch: 200,
|
|
118
|
+
filter: "published = true",
|
|
119
|
+
});
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 3. Find First Matching Record (`getFirstListItem`)
|
|
123
|
+
```typescript
|
|
124
|
+
// Throws ClientResponseError(404) if no match is found
|
|
125
|
+
const post = await client.collection('posts').getFirstListItem("slug = 'hello-world'");
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 4. Create Record (JSON or File Uploads)
|
|
129
|
+
```typescript
|
|
130
|
+
// Plain JSON
|
|
131
|
+
const newPost = await client.collection('posts').create({
|
|
132
|
+
title: 'My First Post',
|
|
133
|
+
published: true,
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Multipart Form Data (File Upload)
|
|
137
|
+
const formData = new FormData();
|
|
138
|
+
formData.append('title', 'Post with Cover Photo');
|
|
139
|
+
formData.append('coverImage', fileInput.files[0]);
|
|
140
|
+
|
|
141
|
+
const postWithImage = await client.collection('posts').create(formData);
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 5. Update & Delete Records
|
|
145
|
+
```typescript
|
|
146
|
+
// Update
|
|
147
|
+
const updated = await client.collection('posts').update('rec_123', {
|
|
148
|
+
title: 'Updated Title',
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Delete
|
|
152
|
+
await client.collection('posts').delete('rec_123');
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## ð File URLs Helper
|
|
158
|
+
|
|
159
|
+
NodeStack provides protected and public file serving at `/api/files/:collection/:recordId/:filename`. Construct fully-qualified URLs easily:
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
const record = await client.collection('posts').getOne('rec_123');
|
|
163
|
+
|
|
164
|
+
// 1. Standard URL for <img> tags
|
|
165
|
+
const imageUrl = client.files.getUrl(record, record.coverImage);
|
|
166
|
+
|
|
167
|
+
// 2. Trigger browser download dialog
|
|
168
|
+
const downloadUrl = client.files.getUrl(record, record.attachment, {
|
|
169
|
+
download: true,
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
// 3. Attach authentication token for protected files
|
|
173
|
+
const protectedUrl = client.files.getUrl(record, record.secretDoc, {
|
|
174
|
+
token: true, // Uses active authStore token
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## ðĄ Realtime Subscriptions (SSE)
|
|
181
|
+
|
|
182
|
+
NodeStack uses Server-Sent Events (SSE) with an initial `NS_CONNECT` handshake and multiplexed collection channels. `nodestack-client` manages this with automatic reconnection and topic synchronization:
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
// 1. Subscribe to all changes in a collection
|
|
186
|
+
const unsubscribe = await client.collection('posts').subscribe('*', (event) => {
|
|
187
|
+
console.log(`Action: ${event.action}`); // 'create' | 'update' | 'delete'
|
|
188
|
+
console.log('Record:', event.record);
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// 2. Subscribe to a specific record by ID
|
|
192
|
+
const unbindRecord = await client.collection('posts').subscribe('rec_123', (event) => {
|
|
193
|
+
console.log('Record updated:', event.record);
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
// 3. Clean up subscriptions when unmounting
|
|
197
|
+
await unsubscribe();
|
|
198
|
+
await unbindRecord();
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## ðŊ End-to-End Type Safety
|
|
204
|
+
|
|
205
|
+
Pair `nodestack-client` with `nodestack typegen`:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Generate TypeScript definitions from your running server
|
|
209
|
+
npx nodestack typegen > src/types/nodestack.ts
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Then supply your `SchemaCollections` dictionary to `NodeStackClient`:
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
import { NodeStackClient } from 'nodestack-client';
|
|
216
|
+
import { SchemaCollections } from './types/nodestack';
|
|
217
|
+
|
|
218
|
+
const client = new NodeStackClient<SchemaCollections>('http://127.0.0.1:8090');
|
|
219
|
+
|
|
220
|
+
// Autocomplete for collection names: 'posts' | 'users' | 'orders'
|
|
221
|
+
// Return types are automatically inferred as PostRecord, UserRecord, etc.
|
|
222
|
+
const posts = await client.collection('posts').getList();
|
|
223
|
+
posts.items[0].title; // Fully typed!
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## ðĄïļ Error Handling
|
|
229
|
+
|
|
230
|
+
When NodeStack returns an error (4xx or 5xx), a `ClientResponseError` is thrown:
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
import { ClientResponseError } from 'nodestack-client';
|
|
234
|
+
|
|
235
|
+
try {
|
|
236
|
+
await client.collection('posts').getOne('missing_id');
|
|
237
|
+
} catch (err) {
|
|
238
|
+
if (err instanceof ClientResponseError) {
|
|
239
|
+
console.error('Status:', err.status); // e.g. 404
|
|
240
|
+
console.error('Message:', err.message); // e.g. "Record not found"
|
|
241
|
+
console.error('Data:', err.data); // Raw response JSON
|
|
242
|
+
console.error('Is Aborted:', err.isAbort);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## ⥠Latency & Chaos Simulation (For Testing Frontend States)
|
|
250
|
+
|
|
251
|
+
Test your frontend loading spinners, skeleton states, error toasts, and retry mechanisms against simulated network conditions:
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
// 1. Query-level simulation
|
|
255
|
+
const posts = await client.collection('posts').getList({
|
|
256
|
+
mock_delay: 1500, // 1.5s mobile 3G delay to test loading skeletons
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
// 2. Simulate network drops & HTTP errors
|
|
260
|
+
try {
|
|
261
|
+
await client.collection('posts').getList({
|
|
262
|
+
mock_error: 500, // Or ?mock_fail_rate=0.2 for random 20% drops
|
|
263
|
+
});
|
|
264
|
+
} catch (err) {
|
|
265
|
+
if (err instanceof ClientResponseError) {
|
|
266
|
+
showToast(`Server error (${err.status}): ${err.message}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// 3. App-wide chaos simulation toggle (useful during frontend development)
|
|
271
|
+
client.setChaos({
|
|
272
|
+
delay: 1000, // 1000ms delay on all requests
|
|
273
|
+
failRate: 0.15, // 15% random network drop rate
|
|
274
|
+
errorStatus: 503 // Return 503 on failure
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
// Disable chaos
|
|
278
|
+
client.setChaos(null);
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## ð License
|
|
284
|
+
|
|
285
|
+
MIT ÂĐ NodeStack Contributors
|
|
286
|
+
|
package/dist/Client.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ import { FileService } from './services/FileService';
|
|
|
4
4
|
import { RealtimeService } from './services/RealtimeService';
|
|
5
5
|
import { AdminService } from './services/AdminService';
|
|
6
6
|
import { CollectionService } from './services/CollectionService';
|
|
7
|
-
import
|
|
7
|
+
import { DemoService } from './services/DemoService';
|
|
8
|
+
import type { ClientOptions, SendOptions, RecordModel, ChaosOptions } from './types';
|
|
8
9
|
/**
|
|
9
10
|
* Main NodeStack Client SDK entry point.
|
|
10
11
|
*/
|
|
@@ -15,11 +16,22 @@ export declare class NodeStackClient<TCollections extends Record<string, any> =
|
|
|
15
16
|
readonly realtime: RealtimeService;
|
|
16
17
|
readonly admins: AdminService;
|
|
17
18
|
readonly collections: CollectionService;
|
|
19
|
+
readonly demo: DemoService;
|
|
18
20
|
private customFetch?;
|
|
19
21
|
private defaultHeaders;
|
|
20
22
|
private defaultTimeout;
|
|
23
|
+
private chaosOptions;
|
|
21
24
|
private recordServices;
|
|
22
25
|
constructor(baseUrl?: string, options?: ClientOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Dynamically configure latency & chaos simulation options for all future requests.
|
|
28
|
+
* Pass null to disable client-side chaos injection.
|
|
29
|
+
*/
|
|
30
|
+
setChaos(options: ChaosOptions | null): void;
|
|
31
|
+
/**
|
|
32
|
+
* Get active chaos simulation options.
|
|
33
|
+
*/
|
|
34
|
+
getChaos(): ChaosOptions | null;
|
|
23
35
|
/**
|
|
24
36
|
* Returns a RecordService for interacting with a specific collection.
|
|
25
37
|
* If a schema map type is provided to NodeStackClient, collection names
|
package/dist/Client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,eAAe,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IACjG,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,SAAS,EAAE,aAAa,CAAC;IACzC,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,WAAW,EAAE,iBAAiB,CAAC;IAC/C,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA8C;gBAExD,OAAO,GAAE,MAAY,EAAE,OAAO,GAAE,aAAkB;IAe9D;;;OAGG;IACI,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAInD;;OAEG;IACI,QAAQ,IAAI,YAAY,GAAG,IAAI;IAItC;;;;OAIG;IACI,UAAU,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjF,UAAU,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;IAWlE;;;OAGG;IACU,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IAsJ/E;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAItE;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAIrC;;OAEG;IACU,IAAI,CAAC,IAAI,SAAI,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAOvD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;CAGrC"}
|