silentium 0.0.64 → 0.0.65
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 +7 -0
- package/dist/silentium.cjs +68 -72
- package/dist/silentium.cjs.map +1 -1
- package/dist/silentium.d.ts +3 -5
- package/dist/silentium.js +68 -72
- package/dist/silentium.js.map +1 -1
- package/dist/silentium.min.js +1 -1
- package/dist/silentium.min.mjs +1 -1
- package/dist/silentium.min.mjs.map +1 -1
- package/dist/silentium.mjs +68 -72
- package/dist/silentium.mjs.map +1 -1
- package/package.json +1 -1
- package/src/base/Of.ts +1 -1
- package/src/components/FromEvent.test.ts +1 -1
- package/src/components/FromEvent.ts +1 -1
- package/src/components/LazyApplied.ts +1 -1
- package/src/components/Once._main.test.ts +1 -1
- package/src/components/Once._notcalled.test.ts +1 -1
- package/src/components/Shared._main.test.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.0.65](https://github.com/silentium-lab/silentium/compare/v0.0.64...v0.0.65) (2025-08-23)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **main:** fix imports src ([668f981](https://github.com/silentium-lab/silentium/commit/668f981e3cf45d9a83fcb23f429b938d984d1c97))
|
|
11
|
+
|
|
5
12
|
### [0.0.64](https://github.com/silentium-lab/silentium/compare/v0.0.63...v0.0.64) (2025-08-23)
|
|
6
13
|
|
|
7
14
|
|
package/dist/silentium.cjs
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var helpers = require('src/helpers');
|
|
4
|
-
var DestroyFunc$1 = require('src/base/DestroyFunc');
|
|
5
|
-
var base = require('src/base');
|
|
6
|
-
|
|
7
3
|
class Destroyable {
|
|
8
4
|
constructor(deps) {
|
|
9
5
|
this.deps = deps;
|
|
@@ -53,13 +49,56 @@ class From extends TheOwner {
|
|
|
53
49
|
class TheInformation extends Destroyable {
|
|
54
50
|
}
|
|
55
51
|
|
|
52
|
+
const isFilled = (value) => {
|
|
53
|
+
return value !== void 0 && value !== null;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var __defProp$7 = Object.defineProperty;
|
|
57
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
58
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
59
|
+
class OwnerPool {
|
|
60
|
+
constructor() {
|
|
61
|
+
__publicField$7(this, "owners");
|
|
62
|
+
__publicField$7(this, "innerOwner");
|
|
63
|
+
this.owners = /* @__PURE__ */ new Set();
|
|
64
|
+
this.innerOwner = new From((v) => {
|
|
65
|
+
this.owners.forEach((g) => {
|
|
66
|
+
g.give(v);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
owner() {
|
|
71
|
+
return this.innerOwner;
|
|
72
|
+
}
|
|
73
|
+
size() {
|
|
74
|
+
return this.owners.size;
|
|
75
|
+
}
|
|
76
|
+
has(owner) {
|
|
77
|
+
return this.owners.has(owner);
|
|
78
|
+
}
|
|
79
|
+
add(owner) {
|
|
80
|
+
this.owners.add(owner);
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
remove(g) {
|
|
84
|
+
this.owners.delete(g);
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
destroy() {
|
|
88
|
+
this.owners.forEach((g) => {
|
|
89
|
+
this.remove(g);
|
|
90
|
+
});
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
56
95
|
class Of extends TheInformation {
|
|
57
96
|
constructor(theValue) {
|
|
58
97
|
super([theValue]);
|
|
59
98
|
this.theValue = theValue;
|
|
60
99
|
}
|
|
61
100
|
value(o) {
|
|
62
|
-
if (
|
|
101
|
+
if (isFilled(this.theValue)) {
|
|
63
102
|
o.give(this.theValue);
|
|
64
103
|
}
|
|
65
104
|
return this;
|
|
@@ -79,14 +118,14 @@ class Lazy extends Destroyable {
|
|
|
79
118
|
}
|
|
80
119
|
}
|
|
81
120
|
|
|
82
|
-
var __defProp$
|
|
83
|
-
var __defNormalProp$
|
|
84
|
-
var __publicField$
|
|
121
|
+
var __defProp$6 = Object.defineProperty;
|
|
122
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
123
|
+
var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
|
|
85
124
|
class OfFunc extends TheInformation {
|
|
86
125
|
constructor(valueFn) {
|
|
87
126
|
super([valueFn]);
|
|
88
127
|
this.valueFn = valueFn;
|
|
89
|
-
__publicField$
|
|
128
|
+
__publicField$6(this, "mbDestructor");
|
|
90
129
|
}
|
|
91
130
|
value(o) {
|
|
92
131
|
this.mbDestructor = this.valueFn(o);
|
|
@@ -99,15 +138,15 @@ class OfFunc extends TheInformation {
|
|
|
99
138
|
}
|
|
100
139
|
}
|
|
101
140
|
|
|
102
|
-
var __defProp$
|
|
103
|
-
var __defNormalProp$
|
|
104
|
-
var __publicField$
|
|
141
|
+
var __defProp$5 = Object.defineProperty;
|
|
142
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
143
|
+
var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
105
144
|
class All extends TheInformation {
|
|
106
145
|
constructor(...theInfos) {
|
|
107
146
|
super(theInfos);
|
|
108
|
-
__publicField$
|
|
109
|
-
__publicField$
|
|
110
|
-
__publicField$
|
|
147
|
+
__publicField$5(this, "keysKnown");
|
|
148
|
+
__publicField$5(this, "keysFilled", /* @__PURE__ */ new Set());
|
|
149
|
+
__publicField$5(this, "infos");
|
|
111
150
|
this.infos = theInfos;
|
|
112
151
|
this.keysKnown = new Set(Object.keys(theInfos));
|
|
113
152
|
}
|
|
@@ -132,13 +171,13 @@ class All extends TheInformation {
|
|
|
132
171
|
}
|
|
133
172
|
}
|
|
134
173
|
|
|
135
|
-
var __defProp$
|
|
136
|
-
var __defNormalProp$
|
|
137
|
-
var __publicField$
|
|
174
|
+
var __defProp$4 = Object.defineProperty;
|
|
175
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
176
|
+
var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, key + "" , value);
|
|
138
177
|
class Any extends TheInformation {
|
|
139
178
|
constructor(...theInfos) {
|
|
140
179
|
super(theInfos);
|
|
141
|
-
__publicField$
|
|
180
|
+
__publicField$4(this, "infos");
|
|
142
181
|
this.infos = theInfos;
|
|
143
182
|
}
|
|
144
183
|
value(o) {
|
|
@@ -165,13 +204,13 @@ class Applied extends TheInformation {
|
|
|
165
204
|
}
|
|
166
205
|
}
|
|
167
206
|
|
|
168
|
-
var __defProp$
|
|
169
|
-
var __defNormalProp$
|
|
170
|
-
var __publicField$
|
|
207
|
+
var __defProp$3 = Object.defineProperty;
|
|
208
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
209
|
+
var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, key + "" , value);
|
|
171
210
|
class Chain extends TheInformation {
|
|
172
211
|
constructor(...infos) {
|
|
173
212
|
super(infos);
|
|
174
|
-
__publicField$
|
|
213
|
+
__publicField$3(this, "theInfos");
|
|
175
214
|
this.theInfos = infos;
|
|
176
215
|
}
|
|
177
216
|
value(o) {
|
|
@@ -237,14 +276,14 @@ class Filtered extends TheInformation {
|
|
|
237
276
|
}
|
|
238
277
|
}
|
|
239
278
|
|
|
240
|
-
var __defProp$
|
|
241
|
-
var __defNormalProp$
|
|
242
|
-
var __publicField$
|
|
279
|
+
var __defProp$2 = Object.defineProperty;
|
|
280
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
281
|
+
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, key + "" , value);
|
|
243
282
|
class FromCallback extends TheInformation {
|
|
244
283
|
constructor(waitForCb, ...args) {
|
|
245
284
|
super([waitForCb]);
|
|
246
285
|
this.waitForCb = waitForCb;
|
|
247
|
-
__publicField$
|
|
286
|
+
__publicField$2(this, "theArgs");
|
|
248
287
|
this.theArgs = args;
|
|
249
288
|
}
|
|
250
289
|
value(o) {
|
|
@@ -280,7 +319,7 @@ class FromEvent extends TheInformation {
|
|
|
280
319
|
new From(([emitter, eventName, subscribe, unsubscribe]) => {
|
|
281
320
|
emitter[subscribe](eventName, handler);
|
|
282
321
|
this.addDep(
|
|
283
|
-
new DestroyFunc
|
|
322
|
+
new DestroyFunc(() => {
|
|
284
323
|
emitter[unsubscribe](eventName, handler);
|
|
285
324
|
})
|
|
286
325
|
);
|
|
@@ -306,49 +345,6 @@ class FromPromise extends TheInformation {
|
|
|
306
345
|
}
|
|
307
346
|
}
|
|
308
347
|
|
|
309
|
-
const isFilled = (value) => {
|
|
310
|
-
return value !== void 0 && value !== null;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
var __defProp$2 = Object.defineProperty;
|
|
314
|
-
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
315
|
-
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
316
|
-
class OwnerPool {
|
|
317
|
-
constructor() {
|
|
318
|
-
__publicField$2(this, "owners");
|
|
319
|
-
__publicField$2(this, "innerOwner");
|
|
320
|
-
this.owners = /* @__PURE__ */ new Set();
|
|
321
|
-
this.innerOwner = new From((v) => {
|
|
322
|
-
this.owners.forEach((g) => {
|
|
323
|
-
g.give(v);
|
|
324
|
-
});
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
owner() {
|
|
328
|
-
return this.innerOwner;
|
|
329
|
-
}
|
|
330
|
-
size() {
|
|
331
|
-
return this.owners.size;
|
|
332
|
-
}
|
|
333
|
-
has(owner) {
|
|
334
|
-
return this.owners.has(owner);
|
|
335
|
-
}
|
|
336
|
-
add(owner) {
|
|
337
|
-
this.owners.add(owner);
|
|
338
|
-
return this;
|
|
339
|
-
}
|
|
340
|
-
remove(g) {
|
|
341
|
-
this.owners.delete(g);
|
|
342
|
-
return this;
|
|
343
|
-
}
|
|
344
|
-
destroy() {
|
|
345
|
-
this.owners.forEach((g) => {
|
|
346
|
-
this.remove(g);
|
|
347
|
-
});
|
|
348
|
-
return this;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
348
|
var __defProp$1 = Object.defineProperty;
|
|
353
349
|
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
354
350
|
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -383,7 +379,7 @@ class Late extends TheInformation {
|
|
|
383
379
|
}
|
|
384
380
|
}
|
|
385
381
|
|
|
386
|
-
class LazyApplied extends
|
|
382
|
+
class LazyApplied extends Lazy {
|
|
387
383
|
constructor(baseLazy, applier) {
|
|
388
384
|
super();
|
|
389
385
|
this.baseLazy = baseLazy;
|
package/dist/silentium.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"silentium.cjs","sources":["../src/base/Destroyable.ts","../src/base/DestroyFunc.ts","../src/base/TheOwner.ts","../src/base/From.ts","../src/base/TheInformation.ts","../src/base/Of.ts","../src/base/Lazy.ts","../src/base/OfFunc.ts","../src/components/All.ts","../src/components/Any.ts","../src/components/Applied.ts","../src/components/Chain.ts","../src/components/ExecutorApplied.ts","../src/components/Filtered.ts","../src/components/FromCallback.ts","../src/components/FromEvent.ts","../src/components/FromPromise.ts","../src/helpers/isFilled.ts","../src/helpers/OwnerPool.ts","../src/components/Late.ts","../src/components/LazyApplied.ts","../src/components/LazyClass.ts","../src/components/Map.ts","../src/components/Once.ts","../src/components/Sequence.ts","../src/components/Shared.ts","../src/components/Stream.ts"],"sourcesContent":["/**\n * Representation of Destroyable object\n */\nexport class Destroyable {\n public constructor(private deps?: unknown[]) {}\n\n public destroy() {\n this.deps?.forEach((dep) => {\n if (dep instanceof Destroyable) {\n dep.destroy();\n }\n });\n return this;\n }\n\n /**\n * Add dependency what can be destroyed\n */\n public addDep(dep: unknown) {\n this.deps?.push(dep);\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\n\n/**\n * Representation of destructor function as object\n */\nexport class DestroyFunc extends Destroyable {\n public constructor(private destructor: () => void) {\n super();\n }\n\n public destroy(): this {\n this.destructor();\n return this;\n }\n}\n","/**\n * Representation of Information Owner\n */\nexport abstract class TheOwner<T = unknown> {\n public abstract give(value: T): this;\n}\n","import { TheOwner } from \"./TheOwner\";\n\n/**\n * Owner from function\n */\nexport class From<T = unknown> extends TheOwner<T> {\n public constructor(private fn: (value: T) => void) {\n super();\n }\n\n public give(value: T): this {\n this.fn(value);\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\nimport { TheOwner } from \"./TheOwner\";\n\n/**\n * Representation of Information\n */\nexport abstract class TheInformation<T = unknown> extends Destroyable {\n public abstract value(o: TheOwner<T>): this;\n}\n","import { TheOwner } from \"./TheOwner\";\nimport { TheInformation } from \"./TheInformation\";\nimport { isFilled } from \"src/helpers\";\n\n/**\n * Information from primitive value\n */\nexport class Of<T> extends TheInformation<T> {\n public constructor(private theValue: T) {\n super([theValue]);\n }\n\n public value(o: TheOwner<T>): this {\n if (isFilled(this.theValue)) {\n o.give(this.theValue);\n }\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\nimport { Of } from \"./Of\";\nimport { TheInformation } from \"./TheInformation\";\n\n/**\n * Ability to create information after some event\n */\nexport class Lazy<T = unknown> extends Destroyable {\n public constructor(\n protected buildFn?: (...args: TheInformation[]) => TheInformation<T>,\n ) {\n super();\n }\n\n public get(...args: TheInformation[]) {\n args.forEach((dep) => {\n this.addDep(dep);\n });\n return this.buildFn?.(...args) ?? (new Of(null) as TheInformation<T>);\n }\n}\n","import { TheOwner } from \"./TheOwner\";\nimport { TheInformation } from \"./TheInformation\";\n\ntype DestructorFnType = () => void;\n\n/**\n * Information of function\n */\nexport class OfFunc<T> extends TheInformation<T> {\n private mbDestructor?: DestructorFnType | void;\n\n public constructor(\n private valueFn: (o: TheOwner<T>) => DestructorFnType | undefined | void,\n ) {\n super([valueFn]);\n }\n\n public value(o: TheOwner<T>): this {\n this.mbDestructor = this.valueFn(o);\n return this;\n }\n\n public destroy(): this {\n super.destroy();\n this.mbDestructor?.();\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\ntype ExtractTypeS<T> = T extends TheInformation<infer U> ? U : never;\n\nexport type ExtractTypesFromArrayS<T extends TheInformation<any>[]> = {\n [K in keyof T]: ExtractTypeS<T[K]>;\n};\n\n/**\n * Combines multiple information sources into a single unified source\n * represented as an array containing values from all sources\n * https://silentium-lab.github.io/silentium/#/en/information/all\n */\nexport class All<const T extends TheInformation[]> extends TheInformation<\n ExtractTypesFromArrayS<T>\n> {\n private keysKnown: Set<string>;\n private keysFilled = new Set();\n private infos: T;\n\n public constructor(...theInfos: T) {\n super(theInfos);\n this.infos = theInfos;\n this.keysKnown = new Set<string>(Object.keys(theInfos));\n }\n\n public value(o: TheOwner<ExtractTypesFromArrayS<T>>): this {\n const result: Record<string, unknown> = {};\n\n Object.entries(this.infos).forEach(([key, info]) => {\n this.keysKnown.add(key);\n info.value(\n new From((v) => {\n this.keysFilled.add(key);\n result[key] = v;\n if (this.isAllFilled()) {\n o.give(Object.values(result) as ExtractTypesFromArrayS<T>);\n }\n }),\n );\n });\n return this;\n }\n\n private isAllFilled() {\n return (\n this.keysFilled.size > 0 && this.keysFilled.size === this.keysKnown.size\n );\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * From a set of information sources we get\n * a common response from any source for a single owner\n * https://silentium-lab.github.io/silentium/#/en/information/any\n */\nexport class Any<T> extends TheInformation<T> {\n private infos: TheInformation<T>[];\n\n public constructor(...theInfos: TheInformation<T>[]) {\n super(theInfos);\n this.infos = theInfos;\n }\n\n public value(o: TheOwner<T>): this {\n this.infos.forEach((info) => {\n info.value(o);\n });\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information to which the function was applied to change the value\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class Applied<T, R> extends TheInformation<R> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private applier: (v: T) => R,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<R>): this {\n this.baseSrc.value(\n new From((v) => {\n o.give(this.applier(v));\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype Last<T extends any[]> = T extends [...infer U, infer L] ? L : never;\n\n/**\n * The set of information sources forms a sequential chain where each source provides\n * an answer. The final answer will be the output result. If any source in the chain\n * provides a new answer, the component's overall response will be repeated.\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class Chain<T extends TheInformation[]> extends TheInformation<Last<T>> {\n private theInfos: T;\n\n public constructor(...infos: T) {\n super(infos);\n this.theInfos = infos;\n }\n\n public value(o: TheOwner<Last<T>>) {\n let lastValue: Last<T> | undefined;\n\n const handleI = (index: number) => {\n const info = this.theInfos[index] as TheInformation<Last<T>>;\n const nextI = this.theInfos[index + 1] as\n | TheInformation<Last<T>>\n | undefined;\n\n info.value(\n new From((v) => {\n if (!nextI) {\n lastValue = v;\n }\n\n if (lastValue) {\n o.give(lastValue);\n }\n\n if (nextI && !lastValue) {\n handleI(index + 1);\n }\n }),\n );\n };\n\n handleI(0);\n\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information to which a function is applied in order\n * to control the value passing process\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class ExecutorApplied<T> extends TheInformation<T> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private applier: (executor: (v: T) => void) => (v: T) => void,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From(\n this.applier((v) => {\n o.give(v);\n }),\n ),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information whose value is being validated\n * via a predicate; if the predicate returns true, the value\n * can be passed to the output\n * https://silentium-lab.github.io/silentium/#/en/information/filtered\n */\nexport class Filtered<T> extends TheInformation<T> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private predicate: (v: T) => boolean,\n private defaultValue?: T,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From((v) => {\n if (this.predicate(v)) {\n o.give(v);\n } else if (this.defaultValue !== undefined) {\n o.give(this.defaultValue);\n }\n }),\n );\n return this;\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * When receiving a reference to a function expecting a callback, the component\n * creates its own callback, and the data received in this callback\n * will become the value of the information object\n * https://silentium-lab.github.io/silentium/#/en/information/from-callback\n */\nexport class FromCallback<T> extends TheInformation<T> {\n private theArgs: unknown[];\n\n public constructor(\n private waitForCb: (cb: (v: T) => any, ...args: unknown[]) => unknown,\n ...args: unknown[]\n ) {\n super([waitForCb]);\n this.theArgs = args;\n }\n\n public value(o: TheOwner<T>): this {\n this.waitForCb(\n (v) => {\n o.give(v);\n },\n ...this.theArgs,\n );\n return this;\n }\n}\n","import { DestroyFunc } from \"src/base/DestroyFunc\";\nimport { From, Of, TheInformation, TheOwner } from \"../base\";\nimport { All } from \"./All\";\n\n/**\n * A component that receives data from an event and\n * presents it as an information object\n * https://silentium-lab.github.io/silentium/#/en/information/from-event\n */\nexport class FromEvent<T = unknown> extends TheInformation<T> {\n public constructor(\n private emitterSrc: TheInformation<any>,\n private eventNameSrc: TheInformation<string>,\n private subscribeMethodSrc: TheInformation<string>,\n private unsubscribeMethodSrc: TheInformation<string> = new Of(\"\"),\n ) {\n super([emitterSrc, eventNameSrc, subscribeMethodSrc, unsubscribeMethodSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n const a = new All(\n this.emitterSrc,\n this.eventNameSrc,\n this.subscribeMethodSrc,\n this.unsubscribeMethodSrc,\n );\n const handler = (v: T) => {\n o.give(v);\n };\n a.value(\n new From(([emitter, eventName, subscribe, unsubscribe]) => {\n emitter[subscribe](eventName, handler);\n this.addDep(\n new DestroyFunc(() => {\n emitter[unsubscribe](eventName, handler);\n }),\n );\n }),\n );\n return this;\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * Component that gets a value from a promise and\n * presents it as information\n * https://silentium-lab.github.io/silentium/#/en/information/from-promise\n */\nexport class FromPromise<T> extends TheInformation<T> {\n public constructor(\n private p: Promise<T>,\n private errorOwner?: TheOwner,\n ) {\n super([p]);\n }\n\n public value(o: TheOwner<T>): this {\n this.p\n .then((v) => {\n o.give(v);\n })\n .catch((e) => {\n this.errorOwner?.give(e);\n });\n return this;\n }\n}\n","export const isFilled = <T>(value?: T): value is T => {\n return value !== undefined && value !== null;\n};\n","import { From, TheOwner } from \"../base\";\n\n/**\n * Helps maintain an owner list allowing different\n * owners to get information from a common source\n * https://silentium-lab.github.io/silentium/#/en/utils/owner-pool\n */\nexport class OwnerPool<T> {\n private owners: Set<TheOwner<T>>;\n private innerOwner: TheOwner<T>;\n\n public constructor() {\n this.owners = new Set<TheOwner<T>>();\n this.innerOwner = new From((v) => {\n this.owners.forEach((g) => {\n g.give(v);\n });\n });\n }\n\n public owner() {\n return this.innerOwner;\n }\n\n public size(): number {\n return this.owners.size;\n }\n\n public has(owner: TheOwner<T>): boolean {\n return this.owners.has(owner);\n }\n\n public add(owner: TheOwner<T>) {\n this.owners.add(owner);\n return this;\n }\n\n public remove(g: TheOwner<T>) {\n this.owners.delete(g);\n return this;\n }\n\n public destroy() {\n this.owners.forEach((g) => {\n this.remove(g);\n });\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\nimport { isFilled } from \"../helpers\";\n\n/**\n * A component that allows creating linked objects of information and its owner\n * in such a way that if a new value is assigned to the owner, this value\n * will become the value of the linked information source\n * https://silentium-lab.github.io/silentium/#/en/information/of\n */\nexport class Late<T> extends TheInformation<T> {\n private theOwner?: TheOwner<T>;\n private lateOwner = new From((v: T) => {\n this.theValue = v;\n this.notify();\n });\n\n public constructor(private theValue?: T) {\n super([theValue]);\n }\n\n public value(o: TheOwner<T>): this {\n if (this.theOwner) {\n throw new Error(\n \"Late component gets new owner, when another was already connected!\",\n );\n }\n this.theOwner = o;\n this.notify();\n return this;\n }\n\n public owner() {\n return this.lateOwner;\n }\n\n private notify() {\n if (isFilled(this.theValue) && this.theOwner) {\n this.theOwner.give(this.theValue);\n }\n return this;\n }\n}\n","import { Lazy, TheInformation } from \"src/base\";\n\n/**\n * Lazy with applied function to its results\n */\nexport class LazyApplied<T> extends Lazy<T> {\n public constructor(\n private baseLazy: Lazy,\n private applier: (i: TheInformation) => TheInformation<T>,\n ) {\n super();\n }\n\n public get(...args: TheInformation[]): TheInformation<T> {\n return this.applier(this.baseLazy.get(...args));\n }\n}\n","import { Lazy } from \"../base\";\n\n/**\n * Lazy instance from class constructor\n */\nexport class LazyClass<T> extends Lazy<T> {\n public constructor(constrFn: any) {\n const buildFn = (...args: unknown[]) => new constrFn(...args);\n super(buildFn);\n }\n}\n","import { From, Lazy, Of, TheInformation, TheOwner } from \"../base\";\nimport { All } from \"./All\";\n\n/**\n * Component that applies an info object constructor to each data item,\n * producing an information source with new values\n * https://silentium-lab.github.io/silentium/#/en/information/map\n */\nexport class Map<T, TG> extends TheInformation<TG[]> {\n public constructor(\n private baseSrc: TheInformation<T[]>,\n private targetSrc: Lazy<TG>,\n ) {\n super([baseSrc, targetSrc]);\n }\n\n public value(o: TheOwner<TG[]>) {\n this.baseSrc.value(\n new From((v) => {\n const infos: TheInformation<TG>[] = [];\n v.forEach((val) => {\n let valInfo: TheInformation<T> | T = val;\n if (!(valInfo instanceof TheInformation)) {\n valInfo = new Of(valInfo);\n }\n const info = this.targetSrc.get(valInfo);\n infos.push(info);\n });\n const allI = new All(...infos);\n allI.value(o);\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Limits the number of values from the information source\n * to a single value - once the first value is emitted, no more\n * values are delivered from the source\n * https://silentium-lab.github.io/silentium/#/en/information/once\n */\nexport class Once<T> extends TheInformation<T> {\n public constructor(private baseSrc: TheInformation<T>) {\n super();\n }\n\n public value(o: TheOwner<T>): this {\n let isFilled = false;\n this.baseSrc.value(\n new From((v) => {\n if (!isFilled) {\n isFilled = true;\n o.give(v);\n }\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * A component that takes one value at a time and returns\n * an array of all previous values\n * https://silentium-lab.github.io/silentium/#/en/information/sequence\n */\nexport class Sequence<T> extends TheInformation<T[]> {\n public constructor(private baseSrc: TheInformation<T>) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T[]>): this {\n const result: T[] = [];\n this.baseSrc.value(\n new From((v) => {\n result.push(v);\n o.give(result);\n }),\n );\n return this;\n }\n}\n","import { isFilled, OwnerPool } from \"../helpers\";\nimport { From, OfFunc, TheInformation, TheOwner } from \"../base\";\n\n/**\n * An information object that helps multiple owners access\n * a single another information object\n * https://silentium-lab.github.io/silentium/#/en/information/pool\n */\nexport class Shared<T> extends TheInformation<T> {\n private lastValue: T | undefined;\n private ownersPool = new OwnerPool<T>();\n\n public constructor(\n private baseSrc: TheInformation<T>,\n private stateless = false,\n ) {\n super([baseSrc]);\n this.addDep(this.ownersPool);\n this.baseSrc.value(\n new From((v) => {\n this.ownersPool.owner().give(v);\n this.lastValue = v;\n }),\n );\n }\n\n public value(o: TheOwner<T>): this {\n const i = new OfFunc((g: TheOwner<T>) => {\n if (\n !this.stateless &&\n isFilled(this.lastValue) &&\n !this.ownersPool.has(g)\n ) {\n g.give(this.lastValue);\n }\n this.ownersPool.add(g);\n return () => {\n this.ownersPool.remove(g);\n };\n });\n i.value(o);\n this.addDep(i);\n\n return this;\n }\n\n public pool() {\n return this.ownersPool;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Component that receives a data array and yields values one by one\n * https://silentium-lab.github.io/silentium/#/en/information/stream\n */\nexport class Stream<T> extends TheInformation<T> {\n public constructor(private baseSrc: TheInformation<T[]>) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From((v) => {\n v.forEach((cv) => {\n o.give(cv);\n });\n }),\n );\n return this;\n }\n}\n"],"names":["isFilled","__publicField","DestroyFunc","Lazy"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"silentium.cjs","sources":["../src/base/Destroyable.ts","../src/base/DestroyFunc.ts","../src/base/TheOwner.ts","../src/base/From.ts","../src/base/TheInformation.ts","../src/helpers/isFilled.ts","../src/helpers/OwnerPool.ts","../src/base/Of.ts","../src/base/Lazy.ts","../src/base/OfFunc.ts","../src/components/All.ts","../src/components/Any.ts","../src/components/Applied.ts","../src/components/Chain.ts","../src/components/ExecutorApplied.ts","../src/components/Filtered.ts","../src/components/FromCallback.ts","../src/components/FromEvent.ts","../src/components/FromPromise.ts","../src/components/Late.ts","../src/components/LazyApplied.ts","../src/components/LazyClass.ts","../src/components/Map.ts","../src/components/Once.ts","../src/components/Sequence.ts","../src/components/Shared.ts","../src/components/Stream.ts"],"sourcesContent":["/**\n * Representation of Destroyable object\n */\nexport class Destroyable {\n public constructor(private deps?: unknown[]) {}\n\n public destroy() {\n this.deps?.forEach((dep) => {\n if (dep instanceof Destroyable) {\n dep.destroy();\n }\n });\n return this;\n }\n\n /**\n * Add dependency what can be destroyed\n */\n public addDep(dep: unknown) {\n this.deps?.push(dep);\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\n\n/**\n * Representation of destructor function as object\n */\nexport class DestroyFunc extends Destroyable {\n public constructor(private destructor: () => void) {\n super();\n }\n\n public destroy(): this {\n this.destructor();\n return this;\n }\n}\n","/**\n * Representation of Information Owner\n */\nexport abstract class TheOwner<T = unknown> {\n public abstract give(value: T): this;\n}\n","import { TheOwner } from \"./TheOwner\";\n\n/**\n * Owner from function\n */\nexport class From<T = unknown> extends TheOwner<T> {\n public constructor(private fn: (value: T) => void) {\n super();\n }\n\n public give(value: T): this {\n this.fn(value);\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\nimport { TheOwner } from \"./TheOwner\";\n\n/**\n * Representation of Information\n */\nexport abstract class TheInformation<T = unknown> extends Destroyable {\n public abstract value(o: TheOwner<T>): this;\n}\n","export const isFilled = <T>(value?: T): value is T => {\n return value !== undefined && value !== null;\n};\n","import { From, TheOwner } from \"../base\";\n\n/**\n * Helps maintain an owner list allowing different\n * owners to get information from a common source\n * https://silentium-lab.github.io/silentium/#/en/utils/owner-pool\n */\nexport class OwnerPool<T> {\n private owners: Set<TheOwner<T>>;\n private innerOwner: TheOwner<T>;\n\n public constructor() {\n this.owners = new Set<TheOwner<T>>();\n this.innerOwner = new From((v) => {\n this.owners.forEach((g) => {\n g.give(v);\n });\n });\n }\n\n public owner() {\n return this.innerOwner;\n }\n\n public size(): number {\n return this.owners.size;\n }\n\n public has(owner: TheOwner<T>): boolean {\n return this.owners.has(owner);\n }\n\n public add(owner: TheOwner<T>) {\n this.owners.add(owner);\n return this;\n }\n\n public remove(g: TheOwner<T>) {\n this.owners.delete(g);\n return this;\n }\n\n public destroy() {\n this.owners.forEach((g) => {\n this.remove(g);\n });\n return this;\n }\n}\n","import { TheOwner } from \"./TheOwner\";\nimport { TheInformation } from \"./TheInformation\";\nimport { isFilled } from \"../helpers\";\n\n/**\n * Information from primitive value\n */\nexport class Of<T> extends TheInformation<T> {\n public constructor(private theValue: T) {\n super([theValue]);\n }\n\n public value(o: TheOwner<T>): this {\n if (isFilled(this.theValue)) {\n o.give(this.theValue);\n }\n return this;\n }\n}\n","import { Destroyable } from \"./Destroyable\";\nimport { Of } from \"./Of\";\nimport { TheInformation } from \"./TheInformation\";\n\n/**\n * Ability to create information after some event\n */\nexport class Lazy<T = unknown> extends Destroyable {\n public constructor(\n protected buildFn?: (...args: TheInformation[]) => TheInformation<T>,\n ) {\n super();\n }\n\n public get(...args: TheInformation[]) {\n args.forEach((dep) => {\n this.addDep(dep);\n });\n return this.buildFn?.(...args) ?? (new Of(null) as TheInformation<T>);\n }\n}\n","import { TheOwner } from \"./TheOwner\";\nimport { TheInformation } from \"./TheInformation\";\n\ntype DestructorFnType = () => void;\n\n/**\n * Information of function\n */\nexport class OfFunc<T> extends TheInformation<T> {\n private mbDestructor?: DestructorFnType | void;\n\n public constructor(\n private valueFn: (o: TheOwner<T>) => DestructorFnType | undefined | void,\n ) {\n super([valueFn]);\n }\n\n public value(o: TheOwner<T>): this {\n this.mbDestructor = this.valueFn(o);\n return this;\n }\n\n public destroy(): this {\n super.destroy();\n this.mbDestructor?.();\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\ntype ExtractTypeS<T> = T extends TheInformation<infer U> ? U : never;\n\nexport type ExtractTypesFromArrayS<T extends TheInformation<any>[]> = {\n [K in keyof T]: ExtractTypeS<T[K]>;\n};\n\n/**\n * Combines multiple information sources into a single unified source\n * represented as an array containing values from all sources\n * https://silentium-lab.github.io/silentium/#/en/information/all\n */\nexport class All<const T extends TheInformation[]> extends TheInformation<\n ExtractTypesFromArrayS<T>\n> {\n private keysKnown: Set<string>;\n private keysFilled = new Set();\n private infos: T;\n\n public constructor(...theInfos: T) {\n super(theInfos);\n this.infos = theInfos;\n this.keysKnown = new Set<string>(Object.keys(theInfos));\n }\n\n public value(o: TheOwner<ExtractTypesFromArrayS<T>>): this {\n const result: Record<string, unknown> = {};\n\n Object.entries(this.infos).forEach(([key, info]) => {\n this.keysKnown.add(key);\n info.value(\n new From((v) => {\n this.keysFilled.add(key);\n result[key] = v;\n if (this.isAllFilled()) {\n o.give(Object.values(result) as ExtractTypesFromArrayS<T>);\n }\n }),\n );\n });\n return this;\n }\n\n private isAllFilled() {\n return (\n this.keysFilled.size > 0 && this.keysFilled.size === this.keysKnown.size\n );\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * From a set of information sources we get\n * a common response from any source for a single owner\n * https://silentium-lab.github.io/silentium/#/en/information/any\n */\nexport class Any<T> extends TheInformation<T> {\n private infos: TheInformation<T>[];\n\n public constructor(...theInfos: TheInformation<T>[]) {\n super(theInfos);\n this.infos = theInfos;\n }\n\n public value(o: TheOwner<T>): this {\n this.infos.forEach((info) => {\n info.value(o);\n });\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information to which the function was applied to change the value\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class Applied<T, R> extends TheInformation<R> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private applier: (v: T) => R,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<R>): this {\n this.baseSrc.value(\n new From((v) => {\n o.give(this.applier(v));\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype Last<T extends any[]> = T extends [...infer U, infer L] ? L : never;\n\n/**\n * The set of information sources forms a sequential chain where each source provides\n * an answer. The final answer will be the output result. If any source in the chain\n * provides a new answer, the component's overall response will be repeated.\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class Chain<T extends TheInformation[]> extends TheInformation<Last<T>> {\n private theInfos: T;\n\n public constructor(...infos: T) {\n super(infos);\n this.theInfos = infos;\n }\n\n public value(o: TheOwner<Last<T>>) {\n let lastValue: Last<T> | undefined;\n\n const handleI = (index: number) => {\n const info = this.theInfos[index] as TheInformation<Last<T>>;\n const nextI = this.theInfos[index + 1] as\n | TheInformation<Last<T>>\n | undefined;\n\n info.value(\n new From((v) => {\n if (!nextI) {\n lastValue = v;\n }\n\n if (lastValue) {\n o.give(lastValue);\n }\n\n if (nextI && !lastValue) {\n handleI(index + 1);\n }\n }),\n );\n };\n\n handleI(0);\n\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information to which a function is applied in order\n * to control the value passing process\n * https://silentium-lab.github.io/silentium/#/en/information/applied\n */\nexport class ExecutorApplied<T> extends TheInformation<T> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private applier: (executor: (v: T) => void) => (v: T) => void,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From(\n this.applier((v) => {\n o.give(v);\n }),\n ),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Information whose value is being validated\n * via a predicate; if the predicate returns true, the value\n * can be passed to the output\n * https://silentium-lab.github.io/silentium/#/en/information/filtered\n */\nexport class Filtered<T> extends TheInformation<T> {\n public constructor(\n private baseSrc: TheInformation<T>,\n private predicate: (v: T) => boolean,\n private defaultValue?: T,\n ) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From((v) => {\n if (this.predicate(v)) {\n o.give(v);\n } else if (this.defaultValue !== undefined) {\n o.give(this.defaultValue);\n }\n }),\n );\n return this;\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * When receiving a reference to a function expecting a callback, the component\n * creates its own callback, and the data received in this callback\n * will become the value of the information object\n * https://silentium-lab.github.io/silentium/#/en/information/from-callback\n */\nexport class FromCallback<T> extends TheInformation<T> {\n private theArgs: unknown[];\n\n public constructor(\n private waitForCb: (cb: (v: T) => any, ...args: unknown[]) => unknown,\n ...args: unknown[]\n ) {\n super([waitForCb]);\n this.theArgs = args;\n }\n\n public value(o: TheOwner<T>): this {\n this.waitForCb(\n (v) => {\n o.give(v);\n },\n ...this.theArgs,\n );\n return this;\n }\n}\n","import { DestroyFunc } from \"../base/DestroyFunc\";\nimport { From, Of, TheInformation, TheOwner } from \"../base\";\nimport { All } from \"./All\";\n\n/**\n * A component that receives data from an event and\n * presents it as an information object\n * https://silentium-lab.github.io/silentium/#/en/information/from-event\n */\nexport class FromEvent<T = unknown> extends TheInformation<T> {\n public constructor(\n private emitterSrc: TheInformation<any>,\n private eventNameSrc: TheInformation<string>,\n private subscribeMethodSrc: TheInformation<string>,\n private unsubscribeMethodSrc: TheInformation<string> = new Of(\"\"),\n ) {\n super([emitterSrc, eventNameSrc, subscribeMethodSrc, unsubscribeMethodSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n const a = new All(\n this.emitterSrc,\n this.eventNameSrc,\n this.subscribeMethodSrc,\n this.unsubscribeMethodSrc,\n );\n const handler = (v: T) => {\n o.give(v);\n };\n a.value(\n new From(([emitter, eventName, subscribe, unsubscribe]) => {\n emitter[subscribe](eventName, handler);\n this.addDep(\n new DestroyFunc(() => {\n emitter[unsubscribe](eventName, handler);\n }),\n );\n }),\n );\n return this;\n }\n}\n","import { TheInformation, TheOwner } from \"../base\";\n\n/**\n * Component that gets a value from a promise and\n * presents it as information\n * https://silentium-lab.github.io/silentium/#/en/information/from-promise\n */\nexport class FromPromise<T> extends TheInformation<T> {\n public constructor(\n private p: Promise<T>,\n private errorOwner?: TheOwner,\n ) {\n super([p]);\n }\n\n public value(o: TheOwner<T>): this {\n this.p\n .then((v) => {\n o.give(v);\n })\n .catch((e) => {\n this.errorOwner?.give(e);\n });\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\nimport { isFilled } from \"../helpers\";\n\n/**\n * A component that allows creating linked objects of information and its owner\n * in such a way that if a new value is assigned to the owner, this value\n * will become the value of the linked information source\n * https://silentium-lab.github.io/silentium/#/en/information/of\n */\nexport class Late<T> extends TheInformation<T> {\n private theOwner?: TheOwner<T>;\n private lateOwner = new From((v: T) => {\n this.theValue = v;\n this.notify();\n });\n\n public constructor(private theValue?: T) {\n super([theValue]);\n }\n\n public value(o: TheOwner<T>): this {\n if (this.theOwner) {\n throw new Error(\n \"Late component gets new owner, when another was already connected!\",\n );\n }\n this.theOwner = o;\n this.notify();\n return this;\n }\n\n public owner() {\n return this.lateOwner;\n }\n\n private notify() {\n if (isFilled(this.theValue) && this.theOwner) {\n this.theOwner.give(this.theValue);\n }\n return this;\n }\n}\n","import { Lazy, TheInformation } from \"../base\";\n\n/**\n * Lazy with applied function to its results\n */\nexport class LazyApplied<T> extends Lazy<T> {\n public constructor(\n private baseLazy: Lazy,\n private applier: (i: TheInformation) => TheInformation<T>,\n ) {\n super();\n }\n\n public get(...args: TheInformation[]): TheInformation<T> {\n return this.applier(this.baseLazy.get(...args));\n }\n}\n","import { Lazy } from \"../base\";\n\n/**\n * Lazy instance from class constructor\n */\nexport class LazyClass<T> extends Lazy<T> {\n public constructor(constrFn: any) {\n const buildFn = (...args: unknown[]) => new constrFn(...args);\n super(buildFn);\n }\n}\n","import { From, Lazy, Of, TheInformation, TheOwner } from \"../base\";\nimport { All } from \"./All\";\n\n/**\n * Component that applies an info object constructor to each data item,\n * producing an information source with new values\n * https://silentium-lab.github.io/silentium/#/en/information/map\n */\nexport class Map<T, TG> extends TheInformation<TG[]> {\n public constructor(\n private baseSrc: TheInformation<T[]>,\n private targetSrc: Lazy<TG>,\n ) {\n super([baseSrc, targetSrc]);\n }\n\n public value(o: TheOwner<TG[]>) {\n this.baseSrc.value(\n new From((v) => {\n const infos: TheInformation<TG>[] = [];\n v.forEach((val) => {\n let valInfo: TheInformation<T> | T = val;\n if (!(valInfo instanceof TheInformation)) {\n valInfo = new Of(valInfo);\n }\n const info = this.targetSrc.get(valInfo);\n infos.push(info);\n });\n const allI = new All(...infos);\n allI.value(o);\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Limits the number of values from the information source\n * to a single value - once the first value is emitted, no more\n * values are delivered from the source\n * https://silentium-lab.github.io/silentium/#/en/information/once\n */\nexport class Once<T> extends TheInformation<T> {\n public constructor(private baseSrc: TheInformation<T>) {\n super();\n }\n\n public value(o: TheOwner<T>): this {\n let isFilled = false;\n this.baseSrc.value(\n new From((v) => {\n if (!isFilled) {\n isFilled = true;\n o.give(v);\n }\n }),\n );\n return this;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * A component that takes one value at a time and returns\n * an array of all previous values\n * https://silentium-lab.github.io/silentium/#/en/information/sequence\n */\nexport class Sequence<T> extends TheInformation<T[]> {\n public constructor(private baseSrc: TheInformation<T>) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T[]>): this {\n const result: T[] = [];\n this.baseSrc.value(\n new From((v) => {\n result.push(v);\n o.give(result);\n }),\n );\n return this;\n }\n}\n","import { isFilled, OwnerPool } from \"../helpers\";\nimport { From, OfFunc, TheInformation, TheOwner } from \"../base\";\n\n/**\n * An information object that helps multiple owners access\n * a single another information object\n * https://silentium-lab.github.io/silentium/#/en/information/pool\n */\nexport class Shared<T> extends TheInformation<T> {\n private lastValue: T | undefined;\n private ownersPool = new OwnerPool<T>();\n\n public constructor(\n private baseSrc: TheInformation<T>,\n private stateless = false,\n ) {\n super([baseSrc]);\n this.addDep(this.ownersPool);\n this.baseSrc.value(\n new From((v) => {\n this.ownersPool.owner().give(v);\n this.lastValue = v;\n }),\n );\n }\n\n public value(o: TheOwner<T>): this {\n const i = new OfFunc((g: TheOwner<T>) => {\n if (\n !this.stateless &&\n isFilled(this.lastValue) &&\n !this.ownersPool.has(g)\n ) {\n g.give(this.lastValue);\n }\n this.ownersPool.add(g);\n return () => {\n this.ownersPool.remove(g);\n };\n });\n i.value(o);\n this.addDep(i);\n\n return this;\n }\n\n public pool() {\n return this.ownersPool;\n }\n}\n","import { From, TheInformation, TheOwner } from \"../base\";\n\n/**\n * Component that receives a data array and yields values one by one\n * https://silentium-lab.github.io/silentium/#/en/information/stream\n */\nexport class Stream<T> extends TheInformation<T> {\n public constructor(private baseSrc: TheInformation<T[]>) {\n super([baseSrc]);\n }\n\n public value(o: TheOwner<T>): this {\n this.baseSrc.value(\n new From((v) => {\n v.forEach((cv) => {\n o.give(cv);\n });\n }),\n );\n return this;\n }\n}\n"],"names":["__publicField"],"mappings":"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"}
|
package/dist/silentium.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Lazy as Lazy$1, TheInformation as TheInformation$1 } from 'src/base';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Representation of Destroyable object
|
|
5
3
|
*/
|
|
@@ -212,11 +210,11 @@ declare class Late<T> extends TheInformation<T> {
|
|
|
212
210
|
/**
|
|
213
211
|
* Lazy with applied function to its results
|
|
214
212
|
*/
|
|
215
|
-
declare class LazyApplied<T> extends Lazy
|
|
213
|
+
declare class LazyApplied<T> extends Lazy<T> {
|
|
216
214
|
private baseLazy;
|
|
217
215
|
private applier;
|
|
218
|
-
constructor(baseLazy: Lazy
|
|
219
|
-
get(...args: TheInformation
|
|
216
|
+
constructor(baseLazy: Lazy, applier: (i: TheInformation) => TheInformation<T>);
|
|
217
|
+
get(...args: TheInformation[]): TheInformation<T>;
|
|
220
218
|
}
|
|
221
219
|
|
|
222
220
|
/**
|
package/dist/silentium.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { isFilled as isFilled$1 } from 'src/helpers';
|
|
2
|
-
import { DestroyFunc as DestroyFunc$1 } from 'src/base/DestroyFunc';
|
|
3
|
-
import { Lazy as Lazy$1 } from 'src/base';
|
|
4
|
-
|
|
5
1
|
class Destroyable {
|
|
6
2
|
constructor(deps) {
|
|
7
3
|
this.deps = deps;
|
|
@@ -51,13 +47,56 @@ class From extends TheOwner {
|
|
|
51
47
|
class TheInformation extends Destroyable {
|
|
52
48
|
}
|
|
53
49
|
|
|
50
|
+
const isFilled = (value) => {
|
|
51
|
+
return value !== void 0 && value !== null;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var __defProp$7 = Object.defineProperty;
|
|
55
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
56
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
57
|
+
class OwnerPool {
|
|
58
|
+
constructor() {
|
|
59
|
+
__publicField$7(this, "owners");
|
|
60
|
+
__publicField$7(this, "innerOwner");
|
|
61
|
+
this.owners = /* @__PURE__ */ new Set();
|
|
62
|
+
this.innerOwner = new From((v) => {
|
|
63
|
+
this.owners.forEach((g) => {
|
|
64
|
+
g.give(v);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
owner() {
|
|
69
|
+
return this.innerOwner;
|
|
70
|
+
}
|
|
71
|
+
size() {
|
|
72
|
+
return this.owners.size;
|
|
73
|
+
}
|
|
74
|
+
has(owner) {
|
|
75
|
+
return this.owners.has(owner);
|
|
76
|
+
}
|
|
77
|
+
add(owner) {
|
|
78
|
+
this.owners.add(owner);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
remove(g) {
|
|
82
|
+
this.owners.delete(g);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
destroy() {
|
|
86
|
+
this.owners.forEach((g) => {
|
|
87
|
+
this.remove(g);
|
|
88
|
+
});
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
54
93
|
class Of extends TheInformation {
|
|
55
94
|
constructor(theValue) {
|
|
56
95
|
super([theValue]);
|
|
57
96
|
this.theValue = theValue;
|
|
58
97
|
}
|
|
59
98
|
value(o) {
|
|
60
|
-
if (isFilled
|
|
99
|
+
if (isFilled(this.theValue)) {
|
|
61
100
|
o.give(this.theValue);
|
|
62
101
|
}
|
|
63
102
|
return this;
|
|
@@ -77,14 +116,14 @@ class Lazy extends Destroyable {
|
|
|
77
116
|
}
|
|
78
117
|
}
|
|
79
118
|
|
|
80
|
-
var __defProp$
|
|
81
|
-
var __defNormalProp$
|
|
82
|
-
var __publicField$
|
|
119
|
+
var __defProp$6 = Object.defineProperty;
|
|
120
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
121
|
+
var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
|
|
83
122
|
class OfFunc extends TheInformation {
|
|
84
123
|
constructor(valueFn) {
|
|
85
124
|
super([valueFn]);
|
|
86
125
|
this.valueFn = valueFn;
|
|
87
|
-
__publicField$
|
|
126
|
+
__publicField$6(this, "mbDestructor");
|
|
88
127
|
}
|
|
89
128
|
value(o) {
|
|
90
129
|
this.mbDestructor = this.valueFn(o);
|
|
@@ -97,15 +136,15 @@ class OfFunc extends TheInformation {
|
|
|
97
136
|
}
|
|
98
137
|
}
|
|
99
138
|
|
|
100
|
-
var __defProp$
|
|
101
|
-
var __defNormalProp$
|
|
102
|
-
var __publicField$
|
|
139
|
+
var __defProp$5 = Object.defineProperty;
|
|
140
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
141
|
+
var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
103
142
|
class All extends TheInformation {
|
|
104
143
|
constructor(...theInfos) {
|
|
105
144
|
super(theInfos);
|
|
106
|
-
__publicField$
|
|
107
|
-
__publicField$
|
|
108
|
-
__publicField$
|
|
145
|
+
__publicField$5(this, "keysKnown");
|
|
146
|
+
__publicField$5(this, "keysFilled", /* @__PURE__ */ new Set());
|
|
147
|
+
__publicField$5(this, "infos");
|
|
109
148
|
this.infos = theInfos;
|
|
110
149
|
this.keysKnown = new Set(Object.keys(theInfos));
|
|
111
150
|
}
|
|
@@ -130,13 +169,13 @@ class All extends TheInformation {
|
|
|
130
169
|
}
|
|
131
170
|
}
|
|
132
171
|
|
|
133
|
-
var __defProp$
|
|
134
|
-
var __defNormalProp$
|
|
135
|
-
var __publicField$
|
|
172
|
+
var __defProp$4 = Object.defineProperty;
|
|
173
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
174
|
+
var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, key + "" , value);
|
|
136
175
|
class Any extends TheInformation {
|
|
137
176
|
constructor(...theInfos) {
|
|
138
177
|
super(theInfos);
|
|
139
|
-
__publicField$
|
|
178
|
+
__publicField$4(this, "infos");
|
|
140
179
|
this.infos = theInfos;
|
|
141
180
|
}
|
|
142
181
|
value(o) {
|
|
@@ -163,13 +202,13 @@ class Applied extends TheInformation {
|
|
|
163
202
|
}
|
|
164
203
|
}
|
|
165
204
|
|
|
166
|
-
var __defProp$
|
|
167
|
-
var __defNormalProp$
|
|
168
|
-
var __publicField$
|
|
205
|
+
var __defProp$3 = Object.defineProperty;
|
|
206
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
207
|
+
var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, key + "" , value);
|
|
169
208
|
class Chain extends TheInformation {
|
|
170
209
|
constructor(...infos) {
|
|
171
210
|
super(infos);
|
|
172
|
-
__publicField$
|
|
211
|
+
__publicField$3(this, "theInfos");
|
|
173
212
|
this.theInfos = infos;
|
|
174
213
|
}
|
|
175
214
|
value(o) {
|
|
@@ -235,14 +274,14 @@ class Filtered extends TheInformation {
|
|
|
235
274
|
}
|
|
236
275
|
}
|
|
237
276
|
|
|
238
|
-
var __defProp$
|
|
239
|
-
var __defNormalProp$
|
|
240
|
-
var __publicField$
|
|
277
|
+
var __defProp$2 = Object.defineProperty;
|
|
278
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
279
|
+
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, key + "" , value);
|
|
241
280
|
class FromCallback extends TheInformation {
|
|
242
281
|
constructor(waitForCb, ...args) {
|
|
243
282
|
super([waitForCb]);
|
|
244
283
|
this.waitForCb = waitForCb;
|
|
245
|
-
__publicField$
|
|
284
|
+
__publicField$2(this, "theArgs");
|
|
246
285
|
this.theArgs = args;
|
|
247
286
|
}
|
|
248
287
|
value(o) {
|
|
@@ -278,7 +317,7 @@ class FromEvent extends TheInformation {
|
|
|
278
317
|
new From(([emitter, eventName, subscribe, unsubscribe]) => {
|
|
279
318
|
emitter[subscribe](eventName, handler);
|
|
280
319
|
this.addDep(
|
|
281
|
-
new DestroyFunc
|
|
320
|
+
new DestroyFunc(() => {
|
|
282
321
|
emitter[unsubscribe](eventName, handler);
|
|
283
322
|
})
|
|
284
323
|
);
|
|
@@ -304,49 +343,6 @@ class FromPromise extends TheInformation {
|
|
|
304
343
|
}
|
|
305
344
|
}
|
|
306
345
|
|
|
307
|
-
const isFilled = (value) => {
|
|
308
|
-
return value !== void 0 && value !== null;
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
var __defProp$2 = Object.defineProperty;
|
|
312
|
-
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
313
|
-
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
314
|
-
class OwnerPool {
|
|
315
|
-
constructor() {
|
|
316
|
-
__publicField$2(this, "owners");
|
|
317
|
-
__publicField$2(this, "innerOwner");
|
|
318
|
-
this.owners = /* @__PURE__ */ new Set();
|
|
319
|
-
this.innerOwner = new From((v) => {
|
|
320
|
-
this.owners.forEach((g) => {
|
|
321
|
-
g.give(v);
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
owner() {
|
|
326
|
-
return this.innerOwner;
|
|
327
|
-
}
|
|
328
|
-
size() {
|
|
329
|
-
return this.owners.size;
|
|
330
|
-
}
|
|
331
|
-
has(owner) {
|
|
332
|
-
return this.owners.has(owner);
|
|
333
|
-
}
|
|
334
|
-
add(owner) {
|
|
335
|
-
this.owners.add(owner);
|
|
336
|
-
return this;
|
|
337
|
-
}
|
|
338
|
-
remove(g) {
|
|
339
|
-
this.owners.delete(g);
|
|
340
|
-
return this;
|
|
341
|
-
}
|
|
342
|
-
destroy() {
|
|
343
|
-
this.owners.forEach((g) => {
|
|
344
|
-
this.remove(g);
|
|
345
|
-
});
|
|
346
|
-
return this;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
|
|
350
346
|
var __defProp$1 = Object.defineProperty;
|
|
351
347
|
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
352
348
|
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -381,7 +377,7 @@ class Late extends TheInformation {
|
|
|
381
377
|
}
|
|
382
378
|
}
|
|
383
379
|
|
|
384
|
-
class LazyApplied extends Lazy
|
|
380
|
+
class LazyApplied extends Lazy {
|
|
385
381
|
constructor(baseLazy, applier) {
|
|
386
382
|
super();
|
|
387
383
|
this.baseLazy = baseLazy;
|