@skipruntime/core 0.0.13 → 0.0.15

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/src/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  import { deepFreeze, SkManaged, checkOrCloneParam, } from "../skiplang-json/index.js";
7
7
  import { sknative } from "../skiplang-std/index.js";
8
8
  import {} from "./api.js";
9
- import { SkipClassNameError, SkipNonUniqueValueError, SkipResourceInstanceInUseError, SkipUnknownCollectionError, } from "./errors.js";
9
+ import { SkipClassNameError, SkipError, SkipNonUniqueValueError, SkipResourceInstanceInUseError, SkipUnknownCollectionError, } from "./errors.js";
10
10
  import { ResourceBuilder, } from "./binding.js";
11
11
  export * from "./api.js";
12
12
  export * from "./errors.js";
@@ -182,36 +182,49 @@ class CollectionWriter {
182
182
  this.collection = collection;
183
183
  this.refs = refs;
184
184
  }
185
- update(values, isInit) {
186
- const update_ = () => {
187
- return this.refs.binding.SkipRuntime_CollectionWriter__update(this.collection, this.refs.skjson.exportJSON(values), isInit);
188
- };
189
- const errorHdl = this.refs.needGC()
190
- ? this.refs.runWithGC(update_)
191
- : update_();
192
- if (errorHdl)
193
- throw this.refs.handles.deleteHandle(errorHdl);
185
+ async update(values, isInit) {
186
+ await new Promise((resolve, reject) => {
187
+ if (!this.refs.needGC()) {
188
+ reject(new SkipError("CollectionWriter.update cannot be performed."));
189
+ }
190
+ const errorHdl = this.refs.runWithGC(() => {
191
+ const exHdl = this.refs.handles.register({
192
+ resolve,
193
+ reject: (ex) => reject(ex),
194
+ });
195
+ return this.refs.binding.SkipRuntime_CollectionWriter__update(this.collection, this.refs.skjson.exportJSON(values), isInit, this.refs.binding.SkipRuntime_createExecutor(exHdl));
196
+ });
197
+ if (errorHdl)
198
+ reject(this.refs.handles.deleteHandle(errorHdl));
199
+ });
194
200
  }
195
- loading() {
196
- const loading_ = () => {
197
- return this.refs.binding.SkipRuntime_CollectionWriter__loading(this.collection);
198
- };
199
- const errorHdl = this.refs.needGC()
200
- ? this.refs.runWithGC(loading_)
201
- : loading_();
201
+ error(error) {
202
+ if (!this.refs.needGC()) {
203
+ throw new SkipError("CollectionWriter.update cannot be performed.");
204
+ }
205
+ const errorHdl = this.refs.runWithGC(() => this.refs.binding.SkipRuntime_CollectionWriter__error(this.collection, this.refs.skjson.exportJSON(this.toJSONError(error))));
202
206
  if (errorHdl)
203
207
  throw this.refs.handles.deleteHandle(errorHdl);
204
208
  }
205
- error(error) {
206
- const error_ = () => {
207
- return this.refs.binding.SkipRuntime_CollectionWriter__error(this.collection, this.refs.skjson.exportJSON(error));
208
- };
209
- const errorHdl = this.refs.needGC()
210
- ? this.refs.runWithGC(error_)
211
- : error_();
209
+ initialized(error) {
210
+ if (!this.refs.needGC()) {
211
+ throw new SkipError("CollectionWriter.update cannot be performed.");
212
+ }
213
+ const errorHdl = this.refs.runWithGC(() => this.refs.binding.SkipRuntime_CollectionWriter__initialized(this.collection, this.refs.skjson.exportJSON(error ? this.toJSONError(error) : null)));
212
214
  if (errorHdl)
213
215
  throw this.refs.handles.deleteHandle(errorHdl);
214
216
  }
217
+ toJSONError(error) {
218
+ if (error instanceof Error)
219
+ return error.message;
220
+ if (typeof error == "number")
221
+ return error;
222
+ if (typeof error == "boolean")
223
+ return error;
224
+ if (typeof error == "string")
225
+ return error;
226
+ return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error)));
227
+ }
215
228
  }
216
229
  class ContextImpl extends SkManaged {
217
230
  constructor(refs) {
@@ -241,51 +254,6 @@ export class ServiceInstanceFactory {
241
254
  return this.init(service);
242
255
  }
243
256
  }
244
- class AllChecker {
245
- constructor(service, executor, resource, params) {
246
- this.service = service;
247
- this.executor = executor;
248
- this.resource = resource;
249
- this.params = params;
250
- }
251
- check(request) {
252
- try {
253
- const result = this.service.getAll(this.resource, this.params, request);
254
- if (result.errors.length > 0) {
255
- this.executor.reject(new Error(JSON.stringify(result.errors)));
256
- }
257
- else {
258
- this.executor.resolve(result.payload);
259
- }
260
- }
261
- catch (ex) {
262
- this.executor.reject(ex);
263
- }
264
- }
265
- }
266
- class OneChecker {
267
- constructor(service, executor, resource, params, key) {
268
- this.service = service;
269
- this.executor = executor;
270
- this.resource = resource;
271
- this.params = params;
272
- this.key = key;
273
- }
274
- check(request) {
275
- try {
276
- const result = this.service.getArray(this.resource, this.key, this.params, request);
277
- if (result.errors.length > 0) {
278
- this.executor.reject(new Error(JSON.stringify(result.errors)));
279
- }
280
- else {
281
- this.executor.resolve(result.payload);
282
- }
283
- }
284
- catch (ex) {
285
- this.executor.reject(ex);
286
- }
287
- }
288
- }
289
257
  /**
290
258
  * A `ServiceInstance` is a running instance of a `SkipService`, providing access to its resources
291
259
  * and operations to manage subscriptions and the service itself.
@@ -301,11 +269,17 @@ export class ServiceInstance {
301
269
  * @param params - Resource parameters, which will be passed to the resource constructor specified in this `SkipService`'s `resources` field
302
270
  */
303
271
  instantiateResource(identifier, resource, params) {
304
- const errorHdl = this.refs.runWithGC(() => {
305
- return this.refs.binding.SkipRuntime_Runtime__createResource(identifier, resource, this.refs.skjson.exportJSON(params));
272
+ return new Promise((resolve, reject) => {
273
+ const errorHdl = this.refs.runWithGC(() => {
274
+ const exHdl = this.refs.handles.register({
275
+ resolve,
276
+ reject: (ex) => reject(ex),
277
+ });
278
+ return this.refs.binding.SkipRuntime_Runtime__createResource(identifier, resource, this.refs.skjson.exportJSON(params), this.refs.binding.SkipRuntime_createExecutor(exHdl));
279
+ });
280
+ if (errorHdl)
281
+ reject(this.refs.handles.deleteHandle(errorHdl));
306
282
  });
307
- if (errorHdl)
308
- throw this.refs.handles.deleteHandle(errorHdl);
309
283
  }
310
284
  /**
311
285
  * Creates if not exists and get all current values of specified resource
@@ -313,18 +287,23 @@ export class ServiceInstance {
313
287
  * @param params - the parameters of the resource used to build the resource with the corresponding constructor specified in remotes field of SkipService
314
288
  * @returns The current values of the corresponding resource with reactive response token to allow subscription
315
289
  */
316
- getAll(resource, params = {}, request) {
317
- const get_ = () => {
318
- return this.refs.skjson.importJSON(this.refs.binding.SkipRuntime_Runtime__getAll(resource, this.refs.skjson.exportJSON(params), request !== undefined
319
- ? typeof request == "string"
320
- ? this.refs.binding.SkipRuntime_createIdentifier(request)
321
- : this.refs.binding.SkipRuntime_createChecker(this.refs.handles.register(new AllChecker(this, request, resource, params)))
322
- : null), true);
323
- };
324
- const result = this.refs.needGC() ? this.refs.runWithGC(get_) : get_();
325
- if (typeof result == "number")
326
- throw this.refs.handles.deleteHandle(result);
327
- return result;
290
+ async getAll(resource, params = {}) {
291
+ const uuid = crypto.randomUUID();
292
+ await this.instantiateResource(uuid, resource, params);
293
+ try {
294
+ const result = this.refs.runWithGC(() => {
295
+ return this.refs.skjson.importJSON(this.refs.binding.SkipRuntime_Runtime__getAll(resource, this.refs.skjson.exportJSON(params)), true);
296
+ });
297
+ if (typeof result == "number")
298
+ throw this.refs.handles.deleteHandle(result);
299
+ const info = result;
300
+ if (info.errors.length > 0)
301
+ throw new SkipError(JSON.stringify(info.errors));
302
+ return info.payload;
303
+ }
304
+ finally {
305
+ this.closeResourceInstance(uuid);
306
+ }
328
307
  }
329
308
  /**
330
309
  * Get the current value of a key in the specified resource instance, creating it if it doesn't already exist
@@ -333,19 +312,23 @@ export class ServiceInstance {
333
312
  * @param params - Resource parameters, passed to the resource constructor specified in this `SkipService`'s `resources` field
334
313
  * @returns The current value(s) for this key in the specified resource instance
335
314
  */
336
- getArray(resource, key, params = {}, request) {
337
- const get_ = () => {
338
- return this.refs.skjson.importJSON(this.refs.binding.SkipRuntime_Runtime__getForKey(resource, this.refs.skjson.exportJSON(params), this.refs.skjson.exportJSON(key), request !== undefined
339
- ? typeof request == "string"
340
- ? this.refs.binding.SkipRuntime_createIdentifier(request)
341
- : this.refs.binding.SkipRuntime_createChecker(this.refs.handles.register(new OneChecker(this, request, resource, params, key)))
342
- : null), true);
343
- };
344
- const needGC = this.refs.needGC();
345
- const result = needGC ? this.refs.runWithGC(get_) : get_();
346
- if (typeof result == "number")
347
- throw this.refs.handles.deleteHandle(result);
348
- return result;
315
+ async getArray(resource, key, params = {}) {
316
+ const uuid = crypto.randomUUID();
317
+ await this.instantiateResource(uuid, resource, params);
318
+ try {
319
+ const result = this.refs.runWithGC(() => {
320
+ return this.refs.skjson.importJSON(this.refs.binding.SkipRuntime_Runtime__getForKey(resource, this.refs.skjson.exportJSON(params), this.refs.skjson.exportJSON(key)), true);
321
+ });
322
+ if (typeof result == "number")
323
+ throw this.refs.handles.deleteHandle(result);
324
+ const info = result;
325
+ if (info.errors.length > 0)
326
+ throw new SkipError(JSON.stringify(info.errors));
327
+ return info.payload;
328
+ }
329
+ finally {
330
+ this.closeResourceInstance(uuid);
331
+ }
349
332
  }
350
333
  /**
351
334
  * Close the specified resource instance
@@ -402,12 +385,17 @@ export class ServiceInstance {
402
385
  * @param entries - entries to update in the collection.
403
386
  */
404
387
  update(collection, entries) {
405
- const errorHdl = this.refs.runWithGC(() => {
406
- return this.refs.binding.SkipRuntime_Runtime__update(collection, this.refs.skjson.exportJSON(entries));
388
+ return new Promise((resolve, reject) => {
389
+ const errorHdl = this.refs.runWithGC(() => {
390
+ const exHdl = this.refs.handles.register({
391
+ resolve,
392
+ reject: (ex) => reject(ex),
393
+ });
394
+ return this.refs.binding.SkipRuntime_Runtime__update(collection, this.refs.skjson.exportJSON(entries), this.refs.binding.SkipRuntime_createExecutor(exHdl));
395
+ });
396
+ if (errorHdl)
397
+ reject(this.refs.handles.deleteHandle(errorHdl));
407
398
  });
408
- if (errorHdl) {
409
- throw this.refs.handles.deleteHandle(errorHdl);
410
- }
411
399
  }
412
400
  /**
413
401
  * Close all resources and shut down the service.
@@ -522,15 +510,8 @@ export class ToBinding {
522
510
  const skjson = this.getJsonConverter();
523
511
  const mapper = this.handles.get(skmapper);
524
512
  const context = new ContextImpl(this.refs());
525
- try {
526
- const result = mapper.mapEntry(skjson.importJSON(key), new ValuesImpl(skjson, this.binding, values), context);
527
- return skjson.exportJSON(Array.from(result));
528
- }
529
- catch (e) {
530
- console.error("Uncaught error during Skip runtime reactive update: ", e);
531
- // Exception in async context will be dropped -- this `throw` is just to appease typechecker
532
- throw e;
533
- }
513
+ const result = mapper.mapEntry(skjson.importJSON(key), new ValuesImpl(skjson, this.binding, values), context);
514
+ return skjson.exportJSON(Array.from(result));
534
515
  }
535
516
  SkipRuntime_deleteMapper(mapper) {
536
517
  this.handles.deleteHandle(mapper);
@@ -634,11 +615,18 @@ export class ToBinding {
634
615
  const supplier = this.handles.get(sksupplier);
635
616
  const writer = new CollectionWriter(writerId, this.refs());
636
617
  const params = skjson.importJSON(skparams, true);
637
- supplier.subscribe(instance, resource, params, {
638
- update: writer.update.bind(writer),
639
- error: writer.error.bind(writer),
640
- loading: writer.loading.bind(writer),
641
- });
618
+ // Ensure notification is made outside the current context update
619
+ setTimeout(() => {
620
+ supplier
621
+ .subscribe(instance, resource, params, {
622
+ update: writer.update.bind(writer),
623
+ error: writer.error.bind(writer),
624
+ })
625
+ .then(() => writer.initialized())
626
+ .catch((e) => writer.initialized(e instanceof Error
627
+ ? e.message
628
+ : JSON.stringify(e, Object.getOwnPropertyNames(e))));
629
+ }, 0);
642
630
  }
643
631
  SkipRuntime_ExternalService__unsubscribe(sksupplier, instance) {
644
632
  const supplier = this.handles.get(sksupplier);
@@ -651,35 +639,46 @@ export class ToBinding {
651
639
  SkipRuntime_deleteExternalService(supplier) {
652
640
  this.handles.deleteHandle(supplier);
653
641
  }
654
- // Checker
655
- SkipRuntime_Checker__check(skchecker, request) {
656
- const checker = this.handles.get(skchecker);
657
- checker.check(request);
642
+ // Executor
643
+ SkipRuntime_Executor__resolve(skexecutor) {
644
+ const checker = this.handles.get(skexecutor);
645
+ checker.resolve();
658
646
  }
659
- SkipRuntime_deleteChecker(checker) {
660
- this.handles.deleteHandle(checker);
647
+ SkipRuntime_Executor__reject(skexecutor, error) {
648
+ const checker = this.handles.get(skexecutor);
649
+ checker.reject(this.handles.deleteHandle(error));
650
+ }
651
+ SkipRuntime_deleteExecutor(executor) {
652
+ this.handles.deleteHandle(executor);
661
653
  }
662
654
  initService(service) {
663
- const refs = this.refs();
664
- const errorHdl = refs.runWithGC(() => {
665
- const skExternalServices = refs.binding.SkipRuntime_ExternalServiceMap__create();
666
- if (service.externalServices) {
667
- for (const [name, remote] of Object.entries(service.externalServices)) {
668
- const skremote = refs.binding.SkipRuntime_createExternalService(refs.handles.register(remote));
669
- refs.binding.SkipRuntime_ExternalServiceMap__add(skExternalServices, name, skremote);
655
+ return new Promise((resolve, reject) => {
656
+ const refs = this.refs();
657
+ const errorHdl = refs.runWithGC(() => {
658
+ const skExternalServices = refs.binding.SkipRuntime_ExternalServiceMap__create();
659
+ if (service.externalServices) {
660
+ for (const [name, remote] of Object.entries(service.externalServices)) {
661
+ const skremote = refs.binding.SkipRuntime_createExternalService(refs.handles.register(remote));
662
+ refs.binding.SkipRuntime_ExternalServiceMap__add(skExternalServices, name, skremote);
663
+ }
670
664
  }
671
- }
672
- const skresources = refs.binding.SkipRuntime_ResourceBuilderMap__create();
673
- for (const [name, builder] of Object.entries(service.resources)) {
674
- const skbuilder = refs.binding.SkipRuntime_createResourceBuilder(refs.handles.register(new ResourceBuilder(builder)));
675
- refs.binding.SkipRuntime_ResourceBuilderMap__add(skresources, name, skbuilder);
676
- }
677
- const skservice = refs.binding.SkipRuntime_createService(refs.handles.register(service), refs.skjson.exportJSON(service.initialData ?? {}), skresources, skExternalServices);
678
- return refs.binding.SkipRuntime_initService(skservice);
665
+ const skresources = refs.binding.SkipRuntime_ResourceBuilderMap__create();
666
+ for (const [name, builder] of Object.entries(service.resources)) {
667
+ const skbuilder = refs.binding.SkipRuntime_createResourceBuilder(refs.handles.register(new ResourceBuilder(builder)));
668
+ refs.binding.SkipRuntime_ResourceBuilderMap__add(skresources, name, skbuilder);
669
+ }
670
+ const skservice = refs.binding.SkipRuntime_createService(refs.handles.register(service), refs.skjson.exportJSON(service.initialData ?? {}), skresources, skExternalServices);
671
+ const exHdl = refs.handles.register({
672
+ resolve: () => {
673
+ resolve(new ServiceInstance(refs));
674
+ },
675
+ reject: (ex) => reject(ex),
676
+ });
677
+ return refs.binding.SkipRuntime_initService(skservice, refs.binding.SkipRuntime_createExecutor(exHdl));
678
+ });
679
+ if (errorHdl)
680
+ reject(refs.handles.deleteHandle(errorHdl));
679
681
  });
680
- if (errorHdl)
681
- throw refs.handles.deleteHandle(errorHdl);
682
- return new ServiceInstance(refs);
683
682
  }
684
683
  //
685
684
  getJsonConverter() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,6 @@ declare const reducer: unique symbol;
34
34
  export type Reducer = T<typeof reducer>;
35
35
  declare const notifier: unique symbol;
36
36
  export type Notifier = T<typeof notifier>;
37
- declare const request: unique symbol;
38
- export type Request = T<typeof request>;
37
+ declare const executor: unique symbol;
38
+ export type Executor = T<typeof executor>;
39
39
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,mBAAmB,8BAA8B,CAAC;AAClD,OAAO,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC;AAE/B,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CACzE,OAAO,OAAO,CACf,GAAG;IAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC;AAEzB,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAC9C,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CACzD,OAAO,gBAAgB,CACxB,GAAG;IAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;CAAE,CAAC;AAEhB,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtC,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AACzC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,GAAG;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC;CAC/C,CAAC;AAEF,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAC7C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,mBAAmB,8BAA8B,CAAC;AAClD,OAAO,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAC;AAE/B,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CACzE,OAAO,OAAO,CACf,GAAG;IAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC;AAEzB,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAC9C,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CACzD,OAAO,gBAAgB,CACxB,GAAG;IAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;CAAE,CAAC;AAEhB,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC;AACpC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtC,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AACzC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC,GAAG;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC;CAC/C,CAAC;AAEF,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAC7C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE1C,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AACtC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skipruntime/core",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dist/src/index.js",
package/src/api.ts CHANGED
@@ -424,9 +424,8 @@ export interface ExternalService {
424
424
  * @param instance - Instance identifier of the external resource.
425
425
  * @param resource - Name of the external resource.
426
426
  * @param params - Parameters of the external resource.
427
- * @param callbacks - Callbacks to react on error/loading/update.
428
- * @param callbacks.error - Error callback.
429
- * @param callbacks.loading - Loading callback.
427
+ * @param callbacks - Callbacks to react on error/update.
428
+ * @param callbacks.error - Error callback to log the error that prevent an idermetiate update.
430
429
  * @param callbacks.update - Update callback.
431
430
  * @returns {void}
432
431
  */
@@ -435,11 +434,10 @@ export interface ExternalService {
435
434
  resource: string,
436
435
  params: Json,
437
436
  callbacks: {
438
- update: (updates: Entry<Json, Json>[], isInit: boolean) => void;
439
- error: (error: Json) => void;
440
- loading: () => void;
437
+ update: (updates: Entry<Json, Json>[], isInit: boolean) => Promise<void>;
438
+ error: (error: unknown) => void;
441
439
  },
442
- ): void;
440
+ ): Promise<void>;
443
441
 
444
442
  /**
445
443
  * Unsubscribe from a resource provided by the external service.
@@ -465,7 +463,7 @@ export type NamedCollections = { [name: string]: EagerCollection<Json, Json> };
465
463
  /**
466
464
  * Resource provided by a `SkipService`.
467
465
  *
468
- * `Resource`s make up the public interface of a `SkipService`, specifying how to respond to reactive requests, either by accessing data from the static computation graph generated in the service's `createGraph` function or extending it with further reactive computations as needed to handle the request.
466
+ * `Resource`s make up the public interface of a `SkipService`, specifying how to respond to reactive requests, either by accessing data from the shared computation graph generated in the service's `createGraph` function or extending it with further reactive computations as needed to handle the request.
469
467
  *
470
468
  * @typeParam Collections - Collections provided to the resource computation by the service's `createGraph`.
471
469
  */
@@ -477,7 +475,7 @@ export interface Resource<
477
475
  *
478
476
  * @param collections - Collections provided by the service's `createGraph`.
479
477
  * @param context - Skip Runtime internal state.
480
- * @returns An eager collection containing the outputs of this resource for the given parameters, produced from the static reactive compute graph output collections of the service's `createGraph`.
478
+ * @returns An eager collection containing the outputs of this resource for the given parameters, produced from the shared reactive compute graph output collections of the service's `createGraph`.
481
479
  */
482
480
  instantiate(
483
481
  collections: Collections,
@@ -511,15 +509,13 @@ export type InitialData<Inputs extends NamedCollections> = {
511
509
  * See `runService` for the write requests of the HTTP API, and `SkipServiceBroker` for the write operations of the method-call API.
512
510
  *
513
511
  * It can be useful to think of the structure of a service's computation as a directed acyclic graph, the _reactive computation graph_, where the vertices are the named collections, and the edges are the functions (`Mapper`s and `Reducer`s) that produce collections from other collections.
514
- * Part of the graph is structured in a way that is not dependent on the data or requests the service encounters at runtime: it is _static_.
515
- * The rest of the graph is _dynamic_ in the sense that collections/vertices are added in response to requests and data received at runtime by the service.
516
- * The static portion of the graph is defined by `createGraph`, which receives the service's input collections.
517
- * The result of `createGraph` is the boundary of the static reactive computation graph: named collections that are made available to the dynamic reactive computation graph as inputs to the `instantiate` computations of `Resource`s.
512
+ * The shared portion of the graph is defined by `createGraph`, which receives the service's input collections.
513
+ * The result of `createGraph` is the boundary of the shared reactive computation graph: named collections that are made available to `Resource`s as inputs to the `instantiate` computations.
518
514
  *
519
515
  * `Resource`s are the mechanism by which a service's collections are exposed to other services and clients for reading.
520
- * A `Resource` implementation provides an `instantiate` function which is similar to `createGraph` but receives the boundary collections of the static reactive computation graph and only produces a single collection.
516
+ * A `Resource` implementation provides an `instantiate` function which is similar to `createGraph` but receives the boundary collections of the shared reactive computation graph and only produces a single collection.
521
517
  * The simplest `Resource`s just return one of the collections they receive as an argument, thereby exposing a collection that would otherwise be internal to the service.
522
- * `Resource`s define the _dynamic_ portion of the reactive computation graph that arises in response to requests and data at runtime, extending the _static_ computation graph.
518
+ * `Resource`s define extensions of the reactive computation graph that arises in response to requests and data at runtime, extending the shared computation graph.
523
519
  *
524
520
  * `Resource`s are exposed by a `SkipService` implementation providing `resources` that associates resource names to `Resource` constructors.
525
521
  * The interface involves class constructor functions for `Resource`s since they are instantiated at runtime by the Skip framework in response to requests, using parameters provided as part of the request.
@@ -529,9 +525,9 @@ export type InitialData<Inputs extends NamedCollections> = {
529
525
  * See `runService` for the HTTP API for reading resources, and `SkipServiceBroker` for a method-call API.
530
526
  *
531
527
  * Some of a Skip service's collections, those of type `EagerCollection`, are eagerly kept up-to-date by the framework.
532
- * This includes the static portion of the reactive computation graph, so the static portion serves as pre-computed data that can be used by individual requests.
528
+ * This includes the boundary of the shared portion of the reactive computation graph, so the shared portion serves as pre-computed data that can be used by individual requests.
533
529
  * The result collections produced by instantiating `Resource`s are also eager and kept up-to-date.
534
- * Note that this implies that the static portion of the reactive computation graph, as well as the results of resources, are eagerly updated when the service receives a write to an input collection.
530
+ * Note that this implies that the shared portion of the reactive computation graph, as well as the results of resources, are eagerly updated when the service receives a write to an input collection.
535
531
  * The computation of a `Resource`'s output collection may use intermediate collections that are either eager or lazy.
536
532
  * A lazy collection, of type `LazyCollection`, is one where the entries are only computed on-demand as a result of querying particular keys.
537
533
  * Lazy collections memoize computations that are performed as part of computing the result of an update to an input of an eager collection.
@@ -565,7 +561,7 @@ export interface SkipService<
565
561
  };
566
562
 
567
563
  /**
568
- * Build the static reactive computation graph by defining collections to be passed to resources.
564
+ * Build the shared reactive computation graph by defining collections to be passed to resources.
569
565
  *
570
566
  * @param inputCollections - The service's input collections.
571
567
  * @param context - Skip Runtime internal state.