@skipruntime/core 0.0.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.
@@ -0,0 +1,70 @@
1
+ import type { Pointer, Nullable, Json } from "@skiplang/json";
2
+ import type * as Internal from "./internal.js";
3
+ import { type CollectionUpdate, type ExternalService, type LazyCompute, type Mapper, type Reducer, type Resource, type SkipService } from "@skipruntime/api";
4
+ export type Handle<T> = Internal.Opaque<number, {
5
+ handle_for: T;
6
+ }>;
7
+ export declare class ResourceBuilder {
8
+ private readonly builder;
9
+ constructor(builder: new (params: {
10
+ [param: string]: string;
11
+ }) => Resource);
12
+ build(parameters: {
13
+ [param: string]: string;
14
+ }): Resource;
15
+ }
16
+ export type Notifier<K extends Json, V extends Json> = {
17
+ subscribed: () => void;
18
+ notify: (update: CollectionUpdate<K, V>) => void;
19
+ close: () => void;
20
+ };
21
+ export interface Checker {
22
+ check(request: string): void;
23
+ }
24
+ export interface FromBinding {
25
+ SkipRuntime_NonEmptyIterator__first(values: Pointer<Internal.NonEmptyIterator>): Pointer<Internal.CJSON>;
26
+ SkipRuntime_NonEmptyIterator__uniqueValue(values: Pointer<Internal.NonEmptyIterator>): Nullable<Pointer<Internal.CJSON>>;
27
+ SkipRuntime_NonEmptyIterator__next(values: Pointer<Internal.NonEmptyIterator>): Nullable<Pointer<Internal.CJSON>>;
28
+ SkipRuntime_NonEmptyIterator__clone(values: Pointer<Internal.NonEmptyIterator>): Pointer<Internal.NonEmptyIterator>;
29
+ SkipRuntime_createMapper<K1 extends Json, V1 extends Json, K2 extends Json, V2 extends Json>(ref: Handle<Mapper<K1, V1, K2, V2>>): Pointer<Internal.Mapper>;
30
+ SkipRuntime_createLazyCompute<K extends Json, V extends Json>(ref: Handle<LazyCompute<K, V>>): Pointer<Internal.LazyCompute>;
31
+ SkipRuntime_createExternalService(ref: Handle<ExternalService>): Pointer<Internal.ExternalService>;
32
+ SkipRuntime_CollectionWriter__update(name: string, values: Pointer<Internal.CJArray<Internal.CJArray<Internal.CJSON>>>, isInit: boolean): Handle<Error>;
33
+ SkipRuntime_CollectionWriter__error(name: string, error: Pointer<Internal.CJSON>): Handle<Error>;
34
+ SkipRuntime_CollectionWriter__loading(name: string): Handle<Error>;
35
+ SkipRuntime_createResource(ref: Handle<Resource>): Pointer<Internal.Resource>;
36
+ SkipRuntime_createResourceBuilder(ref: Handle<ResourceBuilder>): Pointer<Internal.ResourceBuilder>;
37
+ SkipRuntime_createService(ref: Handle<SkipService>, jsInputs: Pointer<Internal.CJObject>, resources: Pointer<Internal.ResourceBuilderMap>, remotes: Pointer<Internal.ExternalServiceMap>): Pointer<Internal.Service>;
38
+ SkipRuntime_ResourceBuilderMap__create(): Pointer<Internal.ResourceBuilderMap>;
39
+ SkipRuntime_ResourceBuilderMap__add(map: Pointer<Internal.ResourceBuilderMap>, key: string, collection: Pointer<Internal.ResourceBuilder>): void;
40
+ SkipRuntime_ExternalServiceMap__create(): Pointer<Internal.ExternalServiceMap>;
41
+ SkipRuntime_ExternalServiceMap__add(map: Pointer<Internal.ExternalServiceMap>, key: string, collection: Pointer<Internal.ExternalService>): void;
42
+ SkipRuntime_Collection__getArray(collection: string, key: Pointer<Internal.CJSON>): Pointer<Internal.CJArray<Internal.CJSON>>;
43
+ SkipRuntime_Collection__getUnique(collection: string, key: Pointer<Internal.CJSON>): Nullable<Pointer<Internal.CJSON>>;
44
+ SkipRuntime_Collection__map(collection: string, mapper: Pointer<Internal.Mapper>): string;
45
+ SkipRuntime_Collection__mapReduce(collection: string, mapper: Pointer<Internal.Mapper>, reducer: Pointer<Internal.Reducer>): string;
46
+ SkipRuntime_Collection__reduce(collection: string, reducer: Pointer<Internal.Reducer>): string;
47
+ SkipRuntime_Collection__slice(collection: string, range: Pointer<Internal.CJArray<Internal.CJArray<Internal.CJSON>>>): string;
48
+ SkipRuntime_Collection__take(collection: string, limit: bigint): string;
49
+ SkipRuntime_Collection__merge(collection: string, others: Pointer<Internal.CJArray<Internal.CJString>>): string;
50
+ SkipRuntime_Collection__size(collection: string): bigint;
51
+ SkipRuntime_LazyCollection__getArray(collection: string, key: Pointer<Internal.CJSON>): Pointer<Internal.CJArray<Internal.CJSON>>;
52
+ SkipRuntime_LazyCollection__getUnique(collection: string, key: Pointer<Internal.CJSON>): Pointer<Internal.CJSON>;
53
+ SkipRuntime_createNotifier<K extends Json, V extends Json>(ref: Handle<Notifier<K, V>>): Pointer<Internal.Notifier>;
54
+ SkipRuntime_Runtime__createResource(identifier: string, resource: string, jsonParams: Pointer<Internal.CJObject>): Handle<Error>;
55
+ SkipRuntime_Runtime__getAll(resource: string, jsonParams: Pointer<Internal.CJObject>, request: Pointer<Internal.Request> | null): Pointer<Internal.CJObject | Internal.CJFloat>;
56
+ SkipRuntime_Runtime__getForKey(resource: string, jsonParams: Pointer<Internal.CJObject>, key: Pointer<Internal.CJSON>, request: Pointer<Internal.Request> | null): Pointer<Internal.CJObject | Internal.CJFloat>;
57
+ SkipRuntime_Runtime__closeResource(identifier: string): Handle<Error>;
58
+ SkipRuntime_Runtime__subscribe(collection: string, notifier: Pointer<Internal.Notifier>, watermark: Nullable<string>): bigint;
59
+ SkipRuntime_Runtime__unsubscribe(id: bigint): Handle<Error>;
60
+ SkipRuntime_Runtime__update(input: string, values: Pointer<Internal.CJArray<Internal.CJArray<Internal.CJSON>>>): Handle<Error>;
61
+ SkipRuntime_createReducer<K1 extends Json, V1 extends Json>(ref: Handle<Reducer<K1, V1>>, defaultValue: Pointer<Internal.CJSON>): Pointer<Internal.Reducer>;
62
+ SkipRuntime_initService(service: Pointer<Internal.Service>): Handle<Error>;
63
+ SkipRuntime_closeService(): Handle<Error>;
64
+ SkipRuntime_Context__createLazyCollection(compute: Pointer<Internal.LazyCompute>): string;
65
+ SkipRuntime_Context__jsonExtract(from: Pointer<Internal.CJObject>, pattern: string): Pointer<Internal.CJArray>;
66
+ SkipRuntime_Context__useExternalResource(service: string, identifier: string, params: Pointer<Internal.CJObject>): string;
67
+ SkipRuntime_createIdentifier(supplier: string): Pointer<Internal.Request>;
68
+ SkipRuntime_createChecker(ref: Handle<Checker>): Pointer<Internal.Request>;
69
+ }
70
+ //# sourceMappingURL=binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import {} from "@skipruntime/api";
2
+ export class ResourceBuilder {
3
+ constructor(builder) {
4
+ this.builder = builder;
5
+ }
6
+ build(parameters) {
7
+ const builder = this.builder;
8
+ return new builder(parameters);
9
+ }
10
+ }
11
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAGA,OAAO,EAQN,MAAM,kBAAkB,CAAC;AAI1B,MAAM,OAAO,eAAe;IAC1B,YACmB,OAEH;QAFG,YAAO,GAAP,OAAO,CAEV;IACb,CAAC;IAEJ,KAAK,CAAC,UAAuC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export declare class UnknownCollectionError extends Error {
2
+ }
3
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;CAAG"}
package/dist/errors.js ADDED
@@ -0,0 +1,3 @@
1
+ export class UnknownCollectionError extends Error {
2
+ }
3
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,206 @@
1
+ import type { Pointer, Nullable, Json, JsonConverter } from "@skiplang/json";
2
+ import { sk_freeze, isSkFrozen } from "@skiplang/json";
3
+ import type * as Internal from "./internal.js";
4
+ import { type CollectionUpdate, type Entry, type ExternalService, type LazyCompute, type Mapper, type NonEmptyIterator, type Param, type Reducer, type Resource, type SkipService, type SubscriptionID, type Watermark } from "@skipruntime/api";
5
+ import { UnknownCollectionError } from "./errors.js";
6
+ import { ResourceBuilder, type Notifier, type Checker, type Handle, type FromBinding } from "./binding.js";
7
+ export { UnknownCollectionError, sk_freeze, isSkFrozen };
8
+ export { SkipExternalService } from "./remote.js";
9
+ export { Sum, Min, Max, CountMapper } from "./utils.js";
10
+ export type JSONMapper = Mapper<Json, Json, Json, Json>;
11
+ export type JSONLazyCompute = LazyCompute<Json, Json>;
12
+ export type Entrypoint = {
13
+ host: string;
14
+ streaming_port: number;
15
+ control_port: number;
16
+ secured?: boolean;
17
+ };
18
+ /**
19
+ * _Deep-freeze_ an object, returning the same object that was passed in.
20
+ *
21
+ * This function is similar to
22
+ * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze | `Object.freeze()`}
23
+ * but freezes the object and deep-freezes all its properties,
24
+ * recursively. The object is then not only _immutable_ but also
25
+ * _constant_. Note that as a result all objects reachable from the
26
+ * parameter will be frozen and no longer mutable or extensible, even from
27
+ * other references.
28
+ *
29
+ * The argument object and all its properties, recursively, must not already
30
+ * be frozen by `Object.freeze` (or else `deepFreeze` cannot mark them
31
+ * deep-frozen). Undefined, function (and hence class) values cannot be
32
+ * deep-frozen.
33
+ *
34
+ * The primary use for this function is to satisfy the requirement that all
35
+ * parameters to Skip `Mapper` constructors must be deep-frozen: objects
36
+ * that have not been constructed by Skip can be passed to `deepFreeze()`
37
+ * before passing them to a `Mapper` constructor.
38
+ *
39
+ * @param value - The object to deep-freeze.
40
+ * @returns The same object that was passed in.
41
+ */
42
+ export declare function deepFreeze<T>(value: T): T & Param;
43
+ declare class Handles {
44
+ private nextID;
45
+ private readonly objects;
46
+ private readonly freeIDs;
47
+ register<T>(v: T): Handle<T>;
48
+ get<T>(id: Handle<T>): T;
49
+ apply<R, P extends any[]>(id: Handle<(..._: P) => R>, parameters: P): R;
50
+ deleteHandle<T>(id: Handle<T>): T;
51
+ }
52
+ export declare class Stack {
53
+ private readonly stack;
54
+ push(pointer: Pointer<Internal.Context>): void;
55
+ get(): Nullable<Pointer<Internal.Context>>;
56
+ pop(): void;
57
+ }
58
+ export declare class Refs {
59
+ readonly binding: FromBinding;
60
+ readonly skjson: JsonConverter;
61
+ readonly handles: Handles;
62
+ readonly needGC: () => boolean;
63
+ readonly runWithGC: <T>(fn: () => T) => T;
64
+ constructor(binding: FromBinding, skjson: JsonConverter, handles: Handles, needGC: () => boolean, runWithGC: <T>(fn: () => T) => T);
65
+ }
66
+ export declare class ServiceInstanceFactory {
67
+ private init;
68
+ constructor(init: (service: SkipService) => ServiceInstance);
69
+ initService(service: SkipService): ServiceInstance;
70
+ }
71
+ export type GetResult<T> = {
72
+ request?: string;
73
+ payload: T;
74
+ errors: Json[];
75
+ };
76
+ export type Executor<T> = {
77
+ resolve: (value: T) => void;
78
+ reject: (reason?: any) => void;
79
+ };
80
+ /**
81
+ * A `ServiceInstance` is a running instance of a `SkipService`, providing access to its resources
82
+ * and operations to manage susbscriptions and the service itself.
83
+ */
84
+ export declare class ServiceInstance {
85
+ private readonly refs;
86
+ constructor(refs: Refs);
87
+ /**
88
+ * Instantiate a resource with some parameters and client session authentication token
89
+ * @param identifier - The resource instance identifier
90
+ * @param resource - A resource name, which must correspond to a key in this `SkipService`'s `resources` field
91
+ * @param params - Resource parameters, which will be passed to the resource constructor specified in this `SkipService`'s `resources` field
92
+ */
93
+ instantiateResource(identifier: string, resource: string, params: {
94
+ [param: string]: string;
95
+ }): void;
96
+ /**
97
+ * Creates if not exists and get all current values of specified resource
98
+ * @param resource - the resource name corresponding to a key in remotes field of SkipService
99
+ * @param params - the parameters of the resource used to build the resource with the corresponding constructor specified in remotes field of SkipService
100
+ * @returns The current values of the corresponding resource with reactive responce token to allow subscription
101
+ */
102
+ getAll<K extends Json, V extends Json>(resource: string, params?: {
103
+ [param: string]: string;
104
+ }, request?: string | Executor<Entry<K, V>[]>): GetResult<Entry<K, V>[]>;
105
+ /**
106
+ * Get the current value of a key in the specified resource instance, creating it if it doesn't already exist
107
+ * @param resource - A resource name, which must correspond to a key in this `SkipService`'s `resources` field
108
+ * @param key - A key to look up in the resource instance
109
+ * @param params - Resource parameters, passed to the resource constructor specified in this `SkipService`'s `resources` field
110
+ * @returns The current value(s) for this key in the specified resource instance
111
+ */
112
+ getArray<K extends Json, V extends Json>(resource: string, key: K, params?: {
113
+ [param: string]: string;
114
+ }, request?: string | Executor<V[]>): GetResult<V[]>;
115
+ /**
116
+ * Close the specified resource instance
117
+ * @param resourceInstanceId - The resource identifier
118
+ */
119
+ closeResourceInstance(resourceInstanceId: string): void;
120
+ /**
121
+ * Initiate reactive subscription on a resource instance
122
+ * @param resourceInstanceId - the resource instance identifier
123
+ * @param notifier - the object containing subscription callbacks
124
+ * @param notifier.subscribed - A callback to execute when subscription effectivly done
125
+ * @param notifier.notify - A callback to execute on collection updates
126
+ * @param notifier.close - A callback to execute on resource close
127
+ * @param watermark - the watermark where to start the subscription
128
+ * @returns A subcription identifier
129
+ */
130
+ subscribe<K extends Json, V extends Json>(resourceInstanceId: string, notifier: {
131
+ subscribed: () => void;
132
+ notify: (update: CollectionUpdate<K, V>) => void;
133
+ close: () => void;
134
+ }, watermark?: string): SubscriptionID;
135
+ /**
136
+ * Terminate a client's subscription to a reactive resource instance
137
+ * @param id - The subcription identifier returned by a call to `subscribe`
138
+ */
139
+ unsubscribe(id: SubscriptionID): void;
140
+ /**
141
+ * Update an input collection
142
+ * @param collection - the name of the input collection to update
143
+ * @param entries - entries to update in the collection.
144
+ */
145
+ update<K extends Json, V extends Json>(collection: string, entries: Entry<K, V>[]): void;
146
+ /**
147
+ * Close all resources and shut down the service.
148
+ * Any subsequent calls on the service will result in errors.
149
+ */
150
+ close(): void;
151
+ }
152
+ export declare class NonEmptyIteratorImpl<T> implements NonEmptyIterator<T> {
153
+ private readonly skjson;
154
+ private readonly binding;
155
+ private readonly pointer;
156
+ constructor(skjson: JsonConverter, binding: FromBinding, pointer: Pointer<Internal.NonEmptyIterator>);
157
+ next(): Nullable<T & Param>;
158
+ getUnique(): T & Param;
159
+ toArray: () => (T & Param)[];
160
+ [Symbol.iterator](): Iterator<T & Param>;
161
+ map<U>(f: (value: T & Param, index: number) => U, thisObj?: any): U[];
162
+ }
163
+ export declare class ToBinding {
164
+ private binding;
165
+ private runWithGC;
166
+ private getConverter;
167
+ private getError;
168
+ private readonly stack;
169
+ private readonly handles;
170
+ private skjson?;
171
+ constructor(binding: FromBinding, runWithGC: <T>(fn: () => T) => T, getConverter: () => JsonConverter, getError: (skExc: Pointer<Internal.Exception>) => Error);
172
+ register<T>(v: T): Handle<T>;
173
+ deleteHandle<T>(id: Handle<T>): T;
174
+ SkipRuntime_getErrorHdl(exn: Pointer<Internal.Exception>): Handle<Error>;
175
+ SkipRuntime_pushContext(context: Pointer<Internal.Context>): void;
176
+ SkipRuntime_popContext(): void;
177
+ SkipRuntime_getContext(): Nullable<Pointer<Internal.Context>>;
178
+ SkipRuntime_Mapper__mapEntry(skmapper: Handle<JSONMapper>, key: Pointer<Internal.CJSON>, values: Pointer<Internal.NonEmptyIterator>): Pointer<Internal.CJArray>;
179
+ SkipRuntime_deleteMapper(mapper: Handle<JSONMapper>): void;
180
+ SkipRuntime_LazyCompute__compute(sklazyCompute: Handle<JSONLazyCompute>, self: string, skkey: Pointer<Internal.CJSON>): Pointer<Internal.CJArray>;
181
+ SkipRuntime_deleteLazyCompute(lazyCompute: Handle<JSONLazyCompute>): void;
182
+ SkipRuntime_Resource__instantiate(skresource: Handle<Resource>, skcollections: Pointer<Internal.CJObject>): string;
183
+ SkipRuntime_deleteResource(resource: Handle<Resource>): void;
184
+ SkipRuntime_ResourceBuilder__build(skbuilder: Handle<ResourceBuilder>, skparams: Pointer<Internal.CJObject>): Pointer<Internal.Resource>;
185
+ SkipRuntime_deleteResourceBuilder(builder: Handle<ResourceBuilder>): void;
186
+ SkipRuntime_Service__createGraph(skservice: Handle<SkipService>, skcollections: Pointer<Internal.CJObject>): Pointer<Internal.CJObject>;
187
+ SkipRuntime_deleteService(service: Handle<SkipService>): void;
188
+ SkipRuntime_Notifier__subscribed<K extends Json, V extends Json>(sknotifier: Handle<Notifier<K, V>>): void;
189
+ SkipRuntime_Notifier__notify<K extends Json, V extends Json>(sknotifier: Handle<Notifier<K, V>>, skvalues: Pointer<Internal.CJArray<Internal.CJArray<Internal.CJSON>>>, watermark: Watermark, isUpdates: number): void;
190
+ SkipRuntime_Notifier__close<K extends Json, V extends Json>(sknotifier: Handle<Notifier<K, V>>): void;
191
+ SkipRuntime_deleteNotifier<K extends Json, V extends Json>(notifier: Handle<Notifier<K, V>>): void;
192
+ SkipRuntime_Reducer__add(skreducer: Handle<Reducer<Json, Json>>, skacc: Nullable<Pointer<Internal.CJSON>>, skvalue: Pointer<Internal.CJSON>): Pointer<Internal.CJSON>;
193
+ SkipRuntime_Reducer__remove(skreducer: Handle<Reducer<Json, Json>>, skacc: Pointer<Internal.CJSON>, skvalue: Pointer<Internal.CJSON>): Nullable<Pointer<Internal.CJSON>>;
194
+ SkipRuntime_deleteReducer(reducer: Handle<Reducer<Json, Json>>): void;
195
+ SkipRuntime_ExternalService__subscribe(sksupplier: Handle<ExternalService>, writerId: string, resource: string, skparams: Pointer<Internal.CJObject>): void;
196
+ SkipRuntime_ExternalService__unsubscribe(sksupplier: Handle<ExternalService>, resource: string, skparams: Pointer<Internal.CJObject>): void;
197
+ SkipRuntime_ExternalService__shutdown(sksupplier: Handle<ExternalService>): void;
198
+ SkipRuntime_deleteExternalService(supplier: Handle<ExternalService>): void;
199
+ SkipRuntime_Checker__check(skchecker: Handle<Checker>, request: string): void;
200
+ SkipRuntime_deleteChecker(checker: Handle<Checker>): void;
201
+ initService(service: SkipService): ServiceInstance;
202
+ private getJsonConverter;
203
+ private needGC;
204
+ private refs;
205
+ }
206
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}