@nymphjs/client 1.0.0-beta.9 → 1.0.0-beta.91
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/CHANGELOG.md +378 -0
- package/README.md +6 -6
- package/asyncitertest.js +53 -0
- package/dist/Entity.d.ts +156 -0
- package/{lib → dist}/Entity.js +202 -104
- package/dist/Entity.js.map +1 -0
- package/dist/Entity.types.d.ts +218 -0
- package/dist/Entity.types.js +2 -0
- package/{lib → dist}/EntityWeakCache.d.ts +1 -1
- package/{lib → dist}/EntityWeakCache.js +5 -9
- package/dist/EntityWeakCache.js.map +1 -0
- package/dist/HttpRequester.d.ts +78 -0
- package/dist/HttpRequester.js +365 -0
- package/dist/HttpRequester.js.map +1 -0
- package/{lib → dist}/Nymph.d.ts +44 -11
- package/{lib → dist}/Nymph.js +118 -39
- package/dist/Nymph.js.map +1 -0
- package/{lib → dist}/Nymph.types.d.ts +74 -2
- package/dist/Nymph.types.js +2 -0
- package/{lib → dist}/PubSub.d.ts +16 -10
- package/{lib → dist}/PubSub.js +172 -108
- package/dist/PubSub.js.map +1 -0
- package/{lib → dist}/PubSub.types.d.ts +8 -3
- package/dist/PubSub.types.js +2 -0
- package/{lib → dist}/entityRefresh.d.ts +1 -1
- package/{lib → dist}/entityRefresh.js +21 -13
- package/dist/entityRefresh.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/{lib → dist}/utils.d.ts +1 -1
- package/{lib → dist}/utils.js +28 -21
- package/dist/utils.js.map +1 -0
- package/jest.config.js +11 -2
- package/package.json +23 -27
- package/src/Entity.ts +170 -104
- package/src/Entity.types.ts +29 -47
- package/src/EntityWeakCache.ts +8 -6
- package/src/HttpRequester.ts +308 -35
- package/src/Nymph.ts +134 -70
- package/src/Nymph.types.ts +41 -2
- package/src/PubSub.ts +214 -141
- package/src/PubSub.types.ts +10 -5
- package/src/entityRefresh.ts +6 -6
- package/src/index.ts +10 -10
- package/src/utils.ts +12 -5
- package/tsconfig.json +6 -4
- package/typedoc.json +4 -0
- package/dist/index.js.LICENSE.txt +0 -8
- package/lib/Entity.d.ts +0 -51
- package/lib/Entity.js.map +0 -1
- package/lib/Entity.types.d.ts +0 -65
- package/lib/Entity.types.js +0 -3
- package/lib/EntityWeakCache.js.map +0 -1
- package/lib/HttpRequester.d.ts +0 -42
- package/lib/HttpRequester.js +0 -160
- package/lib/HttpRequester.js.map +0 -1
- package/lib/Nymph.js.map +0 -1
- package/lib/Nymph.types.js +0 -3
- package/lib/PubSub.js.map +0 -1
- package/lib/PubSub.types.js +0 -3
- package/lib/entityRefresh.js.map +0 -1
- package/lib/index.d.ts +0 -13
- package/lib/index.js +0 -34
- package/lib/index.js.map +0 -1
- package/lib/utils.js.map +0 -1
- package/webpack.config.js +0 -28
- /package/{lib → dist}/Entity.types.js.map +0 -0
- /package/{lib → dist}/Nymph.types.js.map +0 -0
- /package/{lib → dist}/PubSub.types.js.map +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { fetchEventSource, EventStreamContentType, } from 'fetch-event-source-hperrin';
|
|
2
|
+
export default class HttpRequester {
|
|
3
|
+
fetch;
|
|
4
|
+
requestCallbacks = [];
|
|
5
|
+
responseCallbacks = [];
|
|
6
|
+
iteratorCallbacks = [];
|
|
7
|
+
static makeUrl(url, data) {
|
|
8
|
+
if (!data) {
|
|
9
|
+
return url;
|
|
10
|
+
}
|
|
11
|
+
for (let [key, value] of Object.entries(data)) {
|
|
12
|
+
url =
|
|
13
|
+
url +
|
|
14
|
+
(url.indexOf('?') !== -1 ? '&' : '?') +
|
|
15
|
+
encodeURIComponent(key) +
|
|
16
|
+
'=' +
|
|
17
|
+
encodeURIComponent(JSON.stringify(value));
|
|
18
|
+
}
|
|
19
|
+
return url;
|
|
20
|
+
}
|
|
21
|
+
constructor(ponyFetch) {
|
|
22
|
+
this.fetch = ponyFetch ? ponyFetch : (...args) => fetch(...args);
|
|
23
|
+
}
|
|
24
|
+
on(event, callback) {
|
|
25
|
+
const prop = (event + 'Callbacks');
|
|
26
|
+
if (!(prop in this)) {
|
|
27
|
+
throw new Error('Invalid event type.');
|
|
28
|
+
}
|
|
29
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
30
|
+
this[prop].push(callback);
|
|
31
|
+
return () => this.off(event, callback);
|
|
32
|
+
}
|
|
33
|
+
off(event, callback) {
|
|
34
|
+
const prop = (event + 'Callbacks');
|
|
35
|
+
if (!(prop in this)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
39
|
+
const i = this[prop].indexOf(callback);
|
|
40
|
+
if (i > -1) {
|
|
41
|
+
// @ts-ignore: The callback should always be the right type here.
|
|
42
|
+
this[prop].splice(i, 1);
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
async GET(opt) {
|
|
47
|
+
return await this._httpRequest('GET', opt);
|
|
48
|
+
}
|
|
49
|
+
async POST(opt) {
|
|
50
|
+
return await this._httpRequest('POST', opt);
|
|
51
|
+
}
|
|
52
|
+
async POST_ITERATOR(opt) {
|
|
53
|
+
return await this._iteratorRequest('POST', opt);
|
|
54
|
+
}
|
|
55
|
+
async PUT(opt) {
|
|
56
|
+
return await this._httpRequest('PUT', opt);
|
|
57
|
+
}
|
|
58
|
+
async PATCH(opt) {
|
|
59
|
+
return await this._httpRequest('PATCH', opt);
|
|
60
|
+
}
|
|
61
|
+
async DELETE(opt) {
|
|
62
|
+
return await this._httpRequest('DELETE', opt);
|
|
63
|
+
}
|
|
64
|
+
async _httpRequest(method, opt) {
|
|
65
|
+
const dataString = JSON.stringify(opt.data);
|
|
66
|
+
let url = opt.url;
|
|
67
|
+
if (method === 'GET') {
|
|
68
|
+
// TODO: what should this size be?
|
|
69
|
+
// && dataString.length < 1) {
|
|
70
|
+
url = HttpRequester.makeUrl(opt.url, opt.data);
|
|
71
|
+
}
|
|
72
|
+
const options = {
|
|
73
|
+
method,
|
|
74
|
+
headers: opt.headers ?? {},
|
|
75
|
+
credentials: 'include',
|
|
76
|
+
};
|
|
77
|
+
if (method !== 'GET' && opt.data) {
|
|
78
|
+
options.headers['Content-Type'] =
|
|
79
|
+
'application/json';
|
|
80
|
+
options.body = dataString;
|
|
81
|
+
}
|
|
82
|
+
for (let i = 0; i < this.requestCallbacks.length; i++) {
|
|
83
|
+
this.requestCallbacks[i] && this.requestCallbacks[i](this, url, options);
|
|
84
|
+
}
|
|
85
|
+
const response = await this.fetch(url, options);
|
|
86
|
+
let text;
|
|
87
|
+
try {
|
|
88
|
+
text = await response.text();
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
throw new InvalidResponseError('Server response did not contain valid text body.');
|
|
92
|
+
}
|
|
93
|
+
if (!response.ok) {
|
|
94
|
+
let errObj;
|
|
95
|
+
try {
|
|
96
|
+
errObj = JSON.parse(text);
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
if (!(e instanceof SyntaxError)) {
|
|
100
|
+
throw e;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (typeof errObj !== 'object') {
|
|
104
|
+
errObj = {
|
|
105
|
+
textStatus: response.statusText,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
errObj.status = response.status;
|
|
109
|
+
throw response.status < 200
|
|
110
|
+
? new InformationalError(response, errObj)
|
|
111
|
+
: response.status < 300
|
|
112
|
+
? new SuccessError(response, errObj)
|
|
113
|
+
: response.status < 400
|
|
114
|
+
? new RedirectError(response, errObj)
|
|
115
|
+
: response.status < 500
|
|
116
|
+
? new ClientError(response, errObj)
|
|
117
|
+
: new ServerError(response, errObj);
|
|
118
|
+
}
|
|
119
|
+
for (let i = 0; i < this.responseCallbacks.length; i++) {
|
|
120
|
+
this.responseCallbacks[i] &&
|
|
121
|
+
this.responseCallbacks[i](this, response, text);
|
|
122
|
+
}
|
|
123
|
+
if (opt.dataType === 'json') {
|
|
124
|
+
if (!text.length) {
|
|
125
|
+
throw new InvalidResponseError('Server response was empty.');
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
return JSON.parse(text);
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
if (!(e instanceof SyntaxError)) {
|
|
132
|
+
throw e;
|
|
133
|
+
}
|
|
134
|
+
throw new InvalidResponseError('Server response was invalid: ' + JSON.stringify(text));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return text;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async _iteratorRequest(method, opt) {
|
|
142
|
+
const dataString = JSON.stringify(opt.data);
|
|
143
|
+
let url = opt.url;
|
|
144
|
+
if (method === 'GET') {
|
|
145
|
+
// TODO: what should this size be?
|
|
146
|
+
// && dataString.length < 1) {
|
|
147
|
+
url = HttpRequester.makeUrl(opt.url, opt.data);
|
|
148
|
+
}
|
|
149
|
+
const hasBody = method !== 'GET' && opt.data;
|
|
150
|
+
const headers = opt.headers ?? {};
|
|
151
|
+
if (hasBody) {
|
|
152
|
+
headers['Content-Type'] = 'application/json';
|
|
153
|
+
}
|
|
154
|
+
for (let i = 0; i < this.iteratorCallbacks.length; i++) {
|
|
155
|
+
this.iteratorCallbacks[i] &&
|
|
156
|
+
this.iteratorCallbacks[i](this, url, headers);
|
|
157
|
+
}
|
|
158
|
+
const responses = [];
|
|
159
|
+
let nextResponseResolve;
|
|
160
|
+
let nextResponseReadyPromise = new Promise((res) => {
|
|
161
|
+
nextResponseResolve = res;
|
|
162
|
+
});
|
|
163
|
+
let responsesDone = false;
|
|
164
|
+
let serverResponse;
|
|
165
|
+
const ctrl = new AbortController();
|
|
166
|
+
fetchEventSource(url, {
|
|
167
|
+
openWhenHidden: true,
|
|
168
|
+
fetch: this.fetch,
|
|
169
|
+
method,
|
|
170
|
+
headers,
|
|
171
|
+
credentials: 'include',
|
|
172
|
+
body: hasBody ? dataString : undefined,
|
|
173
|
+
signal: ctrl.signal,
|
|
174
|
+
async onopen(response) {
|
|
175
|
+
serverResponse = response;
|
|
176
|
+
if (response.ok) {
|
|
177
|
+
if (response.headers.get('content-type') === EventStreamContentType) {
|
|
178
|
+
throw new InvalidResponseError('Server response is not an event stream.');
|
|
179
|
+
}
|
|
180
|
+
// Response is ok, wait for messages.
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
let text = '';
|
|
184
|
+
try {
|
|
185
|
+
text = await response.text();
|
|
186
|
+
}
|
|
187
|
+
catch (e) {
|
|
188
|
+
// Ignore error here.
|
|
189
|
+
}
|
|
190
|
+
let errObj;
|
|
191
|
+
try {
|
|
192
|
+
errObj = JSON.parse(text);
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
if (!(e instanceof SyntaxError)) {
|
|
196
|
+
throw e;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (typeof errObj !== 'object') {
|
|
200
|
+
errObj = {
|
|
201
|
+
textStatus: response.statusText,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
errObj.status = response.status;
|
|
205
|
+
throw response.status < 200
|
|
206
|
+
? new InformationalError(response, errObj)
|
|
207
|
+
: response.status < 300
|
|
208
|
+
? new SuccessError(response, errObj)
|
|
209
|
+
: response.status < 400
|
|
210
|
+
? new RedirectError(response, errObj)
|
|
211
|
+
: response.status < 500
|
|
212
|
+
? new ClientError(response, errObj)
|
|
213
|
+
: new ServerError(response, errObj);
|
|
214
|
+
},
|
|
215
|
+
onmessage(event) {
|
|
216
|
+
if (event.event === 'next') {
|
|
217
|
+
let text = event.data;
|
|
218
|
+
if (opt.dataType === 'json') {
|
|
219
|
+
if (!text.length) {
|
|
220
|
+
responses.push(new InvalidResponseError('Server response was empty.'));
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
try {
|
|
224
|
+
responses.push(JSON.parse(text));
|
|
225
|
+
}
|
|
226
|
+
catch (e) {
|
|
227
|
+
if (!(e instanceof SyntaxError)) {
|
|
228
|
+
responses.push(e);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
responses.push(new InvalidResponseError('Server response was invalid: ' + JSON.stringify(text)));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
responses.push(text);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else if (event.event === 'error') {
|
|
241
|
+
let text = event.data;
|
|
242
|
+
let errObj;
|
|
243
|
+
try {
|
|
244
|
+
errObj = JSON.parse(text);
|
|
245
|
+
}
|
|
246
|
+
catch (e) {
|
|
247
|
+
if (!(e instanceof SyntaxError)) {
|
|
248
|
+
throw e;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (typeof errObj !== 'object') {
|
|
252
|
+
errObj = {
|
|
253
|
+
status: 500,
|
|
254
|
+
textStatus: 'Iterator Error',
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
responses.push(errObj.status < 200
|
|
258
|
+
? new InformationalError(serverResponse, errObj)
|
|
259
|
+
: errObj.status < 300
|
|
260
|
+
? new SuccessError(serverResponse, errObj)
|
|
261
|
+
: errObj.status < 400
|
|
262
|
+
? new RedirectError(serverResponse, errObj)
|
|
263
|
+
: errObj.status < 500
|
|
264
|
+
? new ClientError(serverResponse, errObj)
|
|
265
|
+
: new ServerError(serverResponse, errObj));
|
|
266
|
+
}
|
|
267
|
+
else if (event.event === 'finished') {
|
|
268
|
+
responsesDone = true;
|
|
269
|
+
}
|
|
270
|
+
else if (event.event === 'ping') {
|
|
271
|
+
// Ignore keep-alive pings.
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const resolve = nextResponseResolve;
|
|
275
|
+
if (!responsesDone) {
|
|
276
|
+
nextResponseReadyPromise = new Promise((res) => {
|
|
277
|
+
nextResponseResolve = res;
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
// Resolve the promise to continue any waiting iterator.
|
|
281
|
+
resolve();
|
|
282
|
+
},
|
|
283
|
+
onclose() {
|
|
284
|
+
responses.push(new ConnectionClosedUnexpectedlyError('The connection to the server was closed unexpectedly.'));
|
|
285
|
+
responsesDone = true;
|
|
286
|
+
nextResponseResolve();
|
|
287
|
+
},
|
|
288
|
+
onerror(err) {
|
|
289
|
+
// Rethrow to stop the operation.
|
|
290
|
+
throw err;
|
|
291
|
+
},
|
|
292
|
+
}).catch((err) => {
|
|
293
|
+
responses.push(new ConnectionError('The connection could not be established: ' + err));
|
|
294
|
+
responsesDone = true;
|
|
295
|
+
nextResponseResolve();
|
|
296
|
+
});
|
|
297
|
+
const iterator = {
|
|
298
|
+
abortController: ctrl,
|
|
299
|
+
async *[Symbol.asyncIterator]() {
|
|
300
|
+
do {
|
|
301
|
+
await nextResponseReadyPromise;
|
|
302
|
+
while (responses.length) {
|
|
303
|
+
yield responses.shift();
|
|
304
|
+
}
|
|
305
|
+
} while (!responsesDone);
|
|
306
|
+
},
|
|
307
|
+
};
|
|
308
|
+
return iterator;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
export class InvalidResponseError extends Error {
|
|
312
|
+
constructor(message) {
|
|
313
|
+
super(message);
|
|
314
|
+
this.name = 'InvalidResponseError';
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
export class ConnectionClosedUnexpectedlyError extends Error {
|
|
318
|
+
constructor(message) {
|
|
319
|
+
super(message);
|
|
320
|
+
this.name = 'ConnectionClosedUnexpectedlyError';
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
export class ConnectionError extends Error {
|
|
324
|
+
constructor(message) {
|
|
325
|
+
super(message);
|
|
326
|
+
this.name = 'ConnectionError';
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
export class HttpError extends Error {
|
|
330
|
+
status;
|
|
331
|
+
statusText;
|
|
332
|
+
constructor(name, response, errObj) {
|
|
333
|
+
super(errObj.textStatus);
|
|
334
|
+
this.name = name;
|
|
335
|
+
this.status = response.status;
|
|
336
|
+
this.statusText = response.statusText;
|
|
337
|
+
Object.assign(this, errObj);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
export class InformationalError extends HttpError {
|
|
341
|
+
constructor(response, errObj) {
|
|
342
|
+
super('InformationalError', response, errObj);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
export class SuccessError extends HttpError {
|
|
346
|
+
constructor(response, errObj) {
|
|
347
|
+
super('SuccessError', response, errObj);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
export class RedirectError extends HttpError {
|
|
351
|
+
constructor(response, errObj) {
|
|
352
|
+
super('RedirectError', response, errObj);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
export class ClientError extends HttpError {
|
|
356
|
+
constructor(response, errObj) {
|
|
357
|
+
super('ClientError', response, errObj);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
export class ServerError extends HttpError {
|
|
361
|
+
constructor(response, errObj) {
|
|
362
|
+
super('ServerError', response, errObj);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=HttpRequester.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"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"}
|
package/{lib → dist}/Nymph.d.ts
RENAMED
|
@@ -1,19 +1,52 @@
|
|
|
1
|
-
import Entity from './Entity';
|
|
2
|
-
import { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types';
|
|
3
|
-
import EntityWeakCache from './EntityWeakCache';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
1
|
+
import Entity, { type EntityInstanceType } from './Entity.js';
|
|
2
|
+
import type { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types.js';
|
|
3
|
+
import EntityWeakCache from './EntityWeakCache.js';
|
|
4
|
+
import type { AbortableAsyncIterator } from './HttpRequester.js';
|
|
5
|
+
import type { EventType, NymphOptions, Options, RequestCallback, ResponseCallback, Selector } from './Nymph.types.js';
|
|
6
|
+
import type PubSub from './PubSub.js';
|
|
6
7
|
export default class Nymph {
|
|
8
|
+
/**
|
|
9
|
+
* And optional PubSub client instance.
|
|
10
|
+
*/
|
|
7
11
|
pubsub: PubSub | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* A simple map of names to Entity classes.
|
|
14
|
+
*/
|
|
8
15
|
private entityClasses;
|
|
16
|
+
/**
|
|
17
|
+
* The entity class for this instance of Nymph.
|
|
18
|
+
*/
|
|
9
19
|
Entity: typeof Entity;
|
|
10
20
|
private requestCallbacks;
|
|
11
21
|
private responseCallbacks;
|
|
12
22
|
private restUrl;
|
|
13
23
|
private weakCache;
|
|
24
|
+
/**
|
|
25
|
+
* Headers that will be sent with every request.
|
|
26
|
+
*
|
|
27
|
+
* These are used by Tilmeld for authentication.
|
|
28
|
+
*/
|
|
29
|
+
headers: {
|
|
30
|
+
[k: string]: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The entity cache.
|
|
34
|
+
*/
|
|
14
35
|
cache: EntityWeakCache;
|
|
15
36
|
constructor(NymphOptions: NymphOptions);
|
|
37
|
+
/**
|
|
38
|
+
* Add your class to this instance.
|
|
39
|
+
*
|
|
40
|
+
* This will create a class that extends your class within this instance of
|
|
41
|
+
* Nymph and return it. You can then use this class's constructor and methods,
|
|
42
|
+
* which will use this instance of Nymph.
|
|
43
|
+
*
|
|
44
|
+
* Because this creates a subclass, don't use the class returned from
|
|
45
|
+
* `getEntityClass` to check with `instanceof`. Instead, use the base class
|
|
46
|
+
* that you passed into this method.
|
|
47
|
+
*/
|
|
16
48
|
addEntityClass<T extends EntityConstructor>(entityClass: T): T;
|
|
49
|
+
getEntityClass<T extends EntityConstructor>(className: T): T;
|
|
17
50
|
getEntityClass(className: string): EntityConstructor;
|
|
18
51
|
newUID(name: string): Promise<number>;
|
|
19
52
|
setUID(name: string, value: number): Promise<any>;
|
|
@@ -30,14 +63,14 @@ export default class Nymph {
|
|
|
30
63
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
31
64
|
return: 'guid';
|
|
32
65
|
}, ...selectors: Selector[]): Promise<string | null>;
|
|
33
|
-
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<
|
|
66
|
+
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T> | null>;
|
|
34
67
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
35
68
|
return: 'count';
|
|
36
69
|
}, guid: string): Promise<number>;
|
|
37
70
|
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
38
71
|
return: 'guid';
|
|
39
72
|
}, guid: string): Promise<string | null>;
|
|
40
|
-
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<
|
|
73
|
+
getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityInstanceType<T> | null>;
|
|
41
74
|
getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
42
75
|
return: 'count';
|
|
43
76
|
}, ...selectors: Selector[]): Promise<number>;
|
|
@@ -58,18 +91,18 @@ export default class Nymph {
|
|
|
58
91
|
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
|
|
59
92
|
return: 'guid';
|
|
60
93
|
}, ...selectors: Selector[]): Promise<string[]>;
|
|
61
|
-
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<
|
|
62
|
-
initEntity<T extends EntityConstructor = EntityConstructor>(entityJSON: EntityJson<T>):
|
|
63
|
-
getEntityFromCache<T extends EntityConstructor = EntityConstructor>(EntityClass: EntityConstructor, guid: string):
|
|
94
|
+
getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityInstanceType<T>[]>;
|
|
95
|
+
initEntity<T extends EntityConstructor = EntityConstructor>(entityJSON: EntityJson<T>): EntityInstanceType<T>;
|
|
96
|
+
getEntityFromCache<T extends EntityConstructor = EntityConstructor>(EntityClass: EntityConstructor, guid: string): EntityInstanceType<T> | null;
|
|
64
97
|
setEntityToCache(EntityClass: EntityConstructor, entity: EntityInterface): void;
|
|
65
98
|
initEntitiesFromData<T extends any>(item: T): T;
|
|
66
99
|
deleteEntity(entity: EntityInterface | EntityInterface[], _plural?: boolean): Promise<any>;
|
|
67
100
|
deleteEntities(entities: EntityInterface[]): Promise<any>;
|
|
68
101
|
serverCall(entity: EntityInterface, method: string, params: any[], stateless?: boolean): Promise<ServerCallResponse>;
|
|
69
102
|
serverCallStatic(className: string, method: string, params: any[]): Promise<ServerCallStaticResponse>;
|
|
103
|
+
serverCallStaticIterator(className: string, method: string, params: any[]): Promise<AbortableAsyncIterator<ServerCallStaticResponse>>;
|
|
70
104
|
on<T extends EventType>(event: T, callback: T extends 'request' ? RequestCallback : T extends 'response' ? ResponseCallback : never): () => boolean;
|
|
71
105
|
off<T extends EventType>(event: T, callback: T extends 'request' ? RequestCallback : T extends 'response' ? ResponseCallback : never): boolean;
|
|
72
|
-
setXsrfToken(token: string | null): void;
|
|
73
106
|
}
|
|
74
107
|
export declare class ClassNotAvailableError extends Error {
|
|
75
108
|
constructor(message: string);
|