adaptive-extender 0.9.10 → 0.9.12
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 +6 -1
- package/README.md +366 -70
- package/dist/core/controller.d.ts +11 -4
- package/dist/core/controller.js +19 -4
- package/dist/core/controller.js.map +1 -1
- package/dist/core/portable.d.ts +5 -0
- package/dist/core/portable.js +31 -0
- package/dist/core/portable.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/archivable.d.ts +0 -19
- package/dist/core/archivable.js +0 -3
- package/dist/core/archivable.js.map +0 -1
- package/dist/core/debug_types.d.ts +0 -1
- package/dist/core/debug_types.js +0 -65
- package/dist/core/debug_types.js.map +0 -1
- package/dist/core/repro_issue.d.ts +0 -1
- package/dist/core/repro_issue.js +0 -55
- package/dist/core/repro_issue.js.map +0 -1
- package/dist/node/environment.d.ts +0 -20
- package/dist/node/environment.js +0 -37
- package/dist/node/environment.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
## 0.9.
|
|
1
|
+
## 0.9.12 (03.04.2026)
|
|
2
|
+
- `Controller` now accepts typed arguments via the generic parameter `A`; arguments are forwarded from `launch()` to `run()`.
|
|
3
|
+
- Added `finally()` lifecycle hook to `Controller`, called unconditionally after `run()` and `catch()`.
|
|
4
|
+
- Added `EnumFrom` adapter for portable enum fields, supporting both TypeScript `enum` declarations (numeric and string) and plain const-object enums.
|
|
5
|
+
|
|
6
|
+
## 0.9.11 (17.03.2026)
|
|
2
7
|
- Moved `environment` module from [node](./src/node/environment.ts) to [core](./src/core/environment.ts).
|
|
3
8
|
- Added `EnvironmentProvider` class for resolving environment variables.
|
|
4
9
|
- Added `RecordOf` and `MapOf` adapters for portable maps in [portable](./src/core/portable.ts) module.
|
package/README.md
CHANGED
|
@@ -1,128 +1,424 @@
|
|
|
1
1
|
# Adaptive Extender
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/adaptive-extender)
|
|
4
|
+
[](./LICENSE)
|
|
5
|
+
[](https://bundlephobia.com/package/adaptive-extender)
|
|
6
|
+
[](https://www.typescriptlang.org/)
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
**Adaptive Extender** enables strict portability, structured time management, and LINQ-like collections by extending native prototypes. It provides a robust standard library layer for enterprise-grade architecture.
|
|
8
|
+
Extends native prototypes and provides missing standard utilities — with a focus on strict typing, safety, and code readability.
|
|
8
9
|
|
|
9
10
|
[Change log](./CHANGELOG.md)
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install adaptive-extender
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Packages
|
|
19
|
+
|
|
20
|
+
| Package | Environment |
|
|
21
|
+
| :----------------------- | :---------------------- |
|
|
22
|
+
| `adaptive-extender/core` | Browser, Node.js, Deno |
|
|
23
|
+
| `adaptive-extender/node` | Node.js (includes core) |
|
|
24
|
+
| `adaptive-extender/web` | Browser (includes core) |
|
|
25
|
+
|
|
26
|
+
- - -
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
// Import once — extensions are active everywhere
|
|
30
|
+
import "adaptive-extender/core";
|
|
31
|
+
import "adaptive-extender/web"; // Browser only
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Native Extensions
|
|
35
|
+
|
|
36
|
+
### Number
|
|
12
37
|
|
|
13
|
-
|
|
38
|
+
```typescript
|
|
39
|
+
volume = volume.clamp(0, 1);
|
|
40
|
+
|
|
41
|
+
// Normalize into [0, 1] or remap between ranges
|
|
42
|
+
const normalized = currentValue.lerp(sourceMin, sourceMax);
|
|
43
|
+
const pixelX = angle.lerp(0, 360, 0, canvasWidth);
|
|
44
|
+
|
|
45
|
+
// True mathematical modulo — works correctly with negative numbers
|
|
46
|
+
const wrappedIndex = (-1).mod(items.length); // → items.length - 1
|
|
47
|
+
|
|
48
|
+
// Chainable fallback for invalid values
|
|
49
|
+
const ratio = (numerator / denominator).insteadNaN(0).insteadInfinity(1);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### String
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
if (String.isWhitespace(userInput)) return;
|
|
14
56
|
|
|
15
|
-
|
|
16
|
-
|
|
57
|
+
const displayName = username.insteadEmpty("Anonymous");
|
|
58
|
+
|
|
59
|
+
"hello world".toTitleCase(); // → "Hello World"
|
|
60
|
+
"île-de-france".toLocalTitleCase("fr"); // → "Île-De-France"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Array
|
|
17
64
|
|
|
18
65
|
```typescript
|
|
19
|
-
|
|
66
|
+
for (const index of Array.range(0, 10)) { ... }
|
|
20
67
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@Field(ArrayOf(Number)) scores: number[] = [];
|
|
68
|
+
for (const [user, role] of Array.zip(users, roles)) {
|
|
69
|
+
console.log(`${user.name}: ${role}`);
|
|
24
70
|
}
|
|
25
71
|
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
72
|
+
// Collect an async iterable into an array
|
|
73
|
+
const packets = await Array.fromAsync(readableStream);
|
|
74
|
+
|
|
75
|
+
items.swap(0, items.length - 1);
|
|
76
|
+
items.resize(10, null);
|
|
77
|
+
const wasRemoved = items.remove(targetItem);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Math
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
const [integer, fractional] = Math.split(3.75); // → [3, 0.75]
|
|
84
|
+
Math.sqpw(sideLength); // sideLength²
|
|
85
|
+
Math.toRadians(90); // → Math.PI / 2
|
|
86
|
+
Math.toDegrees(Math.PI); // → 180
|
|
87
|
+
|
|
88
|
+
Math.meanArithmetic(1, 2, 3, 4); // → 2.5
|
|
89
|
+
Math.meanGeometric(4, 16);
|
|
90
|
+
Math.meanHarmonic(1, 2, 4);
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Set / Map / Date
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
// Like classList.toggle
|
|
97
|
+
selected.toggle(item); // add if absent, remove if present
|
|
98
|
+
selected.toggle(item, true); // force add
|
|
99
|
+
selected.toggle(item, false); // force remove
|
|
100
|
+
|
|
101
|
+
// Add only if key is not already present
|
|
102
|
+
cache.add(requestKey, response); // → false if key exists
|
|
103
|
+
|
|
104
|
+
// Detect and replace invalid dates
|
|
105
|
+
const safeDate = new Date("invalid").insteadInvalid(new Date());
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Promise
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
const request = fetch("/api/data");
|
|
112
|
+
|
|
113
|
+
if (await request.isSettled) { ... }
|
|
114
|
+
if (await request.isResolved) { ... }
|
|
115
|
+
if (await request.isRejected) { ... }
|
|
116
|
+
|
|
117
|
+
const responseData = await request.value; // throws if rejected
|
|
118
|
+
const rejectReason = await request.reason; // throws if resolved
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Error / Global
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
// Wrap anything into an Error (string, undefined, object)
|
|
125
|
+
const error = Error.from(thrown);
|
|
126
|
+
|
|
127
|
+
// Assert non-null — throws ReferenceError with a message
|
|
128
|
+
const appRoot = ReferenceError.suppress(document.getElementById("app"));
|
|
129
|
+
|
|
130
|
+
throw new ImplementationError(); // sealed, cannot be subclassed
|
|
131
|
+
|
|
132
|
+
// Get type name without typeof / manual checks
|
|
133
|
+
typename(value); // → "String", "Null", "User", ...
|
|
30
134
|
```
|
|
31
135
|
|
|
32
|
-
|
|
33
|
-
|
|
136
|
+
## Classes
|
|
137
|
+
|
|
138
|
+
### Timespan
|
|
139
|
+
|
|
140
|
+
Value object for time intervals. Eliminates raw millisecond arithmetic.
|
|
34
141
|
|
|
35
142
|
```typescript
|
|
36
143
|
import { Timespan } from "adaptive-extender/core";
|
|
37
144
|
|
|
38
|
-
|
|
39
|
-
const cacheDuration = Timespan.fromComponents(0, 0, 5, 0); // 5 minutes
|
|
145
|
+
const sessionDuration = Timespan.fromComponents(0, 30, 0); // 30 minutes
|
|
40
146
|
const uptime = Timespan.fromValue(process.uptime() * 1000);
|
|
147
|
+
const parsed = Timespan.parse("1.02:30:00.500"); // 1d 2h 30m 0.5s
|
|
148
|
+
|
|
149
|
+
console.log(uptime.toString()); // "0.00:12:45.123"
|
|
150
|
+
|
|
151
|
+
uptime.minutes = 0; // other components recalculate automatically
|
|
41
152
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
console.log("Cache expired");
|
|
153
|
+
if (uptime.valueOf() > sessionDuration.valueOf()) {
|
|
154
|
+
console.log("Session expired");
|
|
45
155
|
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Color
|
|
159
|
+
|
|
160
|
+
Full color object with RGB, HSL, HEX support and alpha channel. Changing a component in one color space automatically recalculates the other.
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import { Color, ColorFormats } from "adaptive-extender/core";
|
|
164
|
+
|
|
165
|
+
const orange = Color.fromRGB(255, 128, 0);
|
|
166
|
+
const parsed = Color.parse("#ff8800");
|
|
46
167
|
|
|
47
|
-
//
|
|
48
|
-
|
|
168
|
+
orange.hue = 200; // RGB recalculates automatically
|
|
169
|
+
orange.alpha = 0.8;
|
|
170
|
+
|
|
171
|
+
console.log(orange.toString({ format: ColorFormats.hsl, deep: true }));
|
|
172
|
+
// → "hsla(200, 100%, 50%, 0.8)"
|
|
49
173
|
```
|
|
50
174
|
|
|
51
|
-
###
|
|
52
|
-
Native prototypes (`Array`, `String`, `Math`) are augmented with missing standard utility methods. These extensions are non-enumerable and designed to be conflict-free.
|
|
175
|
+
### Random
|
|
53
176
|
|
|
54
177
|
```typescript
|
|
55
|
-
|
|
56
|
-
|
|
178
|
+
import { Random } from "adaptive-extender/core";
|
|
179
|
+
|
|
180
|
+
const random = Random.global;
|
|
181
|
+
|
|
182
|
+
random.boolean(0.9); // true with 90% probability
|
|
183
|
+
random.number(0, 1); // float [0, 1)
|
|
184
|
+
random.integer(1, 6); // int [1, 6]
|
|
185
|
+
random.item(options); // random element from array
|
|
186
|
+
random.subarray(items, 3); // 3 random elements
|
|
187
|
+
random.shuffle(array); // shuffle in place
|
|
188
|
+
|
|
189
|
+
// Weighted selection
|
|
190
|
+
const loot = random.case(new Map([
|
|
191
|
+
["common", 70],
|
|
192
|
+
["rare", 25],
|
|
193
|
+
["legendary", 5],
|
|
194
|
+
]));
|
|
195
|
+
```
|
|
57
196
|
|
|
58
|
-
|
|
59
|
-
for (const [user, role] of Array.zip(users, roles)) { ... }
|
|
197
|
+
### Vector
|
|
60
198
|
|
|
61
|
-
|
|
62
|
-
|
|
199
|
+
Mathematical vectors with a LINQ-style iteration API.
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
import { Vector, Vector2D, Vector3D } from "adaptive-extender/core";
|
|
203
|
+
|
|
204
|
+
const position = new Vector2D(3, 4);
|
|
205
|
+
const direction = Vector3D.fromScalar(1); // (1, 1, 1)
|
|
206
|
+
|
|
207
|
+
// LINQ-like methods over components
|
|
208
|
+
const normalized = Vector3D.fromVector(direction.map(component => component / Math.sqrt(3)));
|
|
209
|
+
|
|
210
|
+
Vector.isFinite(position);
|
|
211
|
+
const safePosition = position.insteadNaN(Vector2D.newZero);
|
|
212
|
+
const point = Vector2D.parse("(10, 20)"); // → Vector2D { x: 10, y: 20 }
|
|
63
213
|
```
|
|
64
214
|
|
|
65
|
-
###
|
|
66
|
-
|
|
215
|
+
### Controller
|
|
216
|
+
|
|
217
|
+
Abstract base class for async tasks with centralized error handling.
|
|
67
218
|
|
|
68
219
|
```typescript
|
|
69
220
|
import { Controller } from "adaptive-extender/core";
|
|
70
221
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
222
|
+
class InitTask extends Controller<[port: number]> {
|
|
223
|
+
async run(port: number): Promise<void> {
|
|
224
|
+
const response = await fetch(`/api/init?port=${port}`);
|
|
225
|
+
// ...
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
async catch(error: Error): Promise<void> {
|
|
229
|
+
console.error("Init failed:", error.message);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
async finally(): Promise<void> {
|
|
233
|
+
console.log("Done.");
|
|
234
|
+
}
|
|
75
235
|
}
|
|
236
|
+
|
|
237
|
+
// Creates an instance and runs it — errors are routed to catch(), finally() always runs
|
|
238
|
+
await InitTask.launch(8080);
|
|
76
239
|
```
|
|
77
240
|
|
|
78
|
-
|
|
241
|
+
### EnvironmentProvider
|
|
79
242
|
|
|
80
|
-
|
|
243
|
+
Deserializes environment variables into a strictly typed model. JSON values are parsed automatically.
|
|
244
|
+
|
|
245
|
+
```typescript
|
|
246
|
+
import { EnvironmentProvider, Model, Field, Optional } from "adaptive-extender/core";
|
|
247
|
+
|
|
248
|
+
class AppConfig extends Model {
|
|
249
|
+
@Field(String)
|
|
250
|
+
DB_HOST: string = "localhost";
|
|
251
|
+
|
|
252
|
+
@Field(Number)
|
|
253
|
+
DB_PORT: number = 5432;
|
|
254
|
+
|
|
255
|
+
@Field(Optional(String))
|
|
256
|
+
LOG_LEVEL?: string;
|
|
257
|
+
}
|
|
81
258
|
|
|
82
|
-
|
|
259
|
+
const config = EnvironmentProvider.resolve(process.env, AppConfig);
|
|
260
|
+
// config.DB_PORT is a number, not a string
|
|
261
|
+
// Throws TypeError if a required variable is missing or has the wrong type
|
|
262
|
+
```
|
|
83
263
|
|
|
84
|
-
|
|
85
|
-
| :--- | :--- | :--- |
|
|
86
|
-
| **Math Clamping** | `Math.min(Math.max(val, 0), 100)` | `val.clamp(0, 100)` |
|
|
87
|
-
| **Math Remap** | `(val - a) * (d - c) / (b - a) + c` | `val.lerp(a, b, c, d)` |
|
|
88
|
-
| **Modulo** | `((val % n) + n) % n` | `val.mod(n)` |
|
|
89
|
-
| **Random** | `Math.floor(Math.random()...` | `Random.global.number(min, max)` |
|
|
90
|
-
| **String Empty** | `!str \|\| str.trim().length === 0` | `String.isWhitespace(str)` |
|
|
91
|
-
| **String Defaults** | `str \|\| "default"` | `str.insteadEmpty("default")` |
|
|
92
|
-
| **Async List** | *Manual loop with `Promise.all`* | `await Array.fromAsync(stream)` |
|
|
93
|
-
| **Promise State** | *n/a* | `await task.isSettled` |
|
|
264
|
+
## Portable Data System
|
|
94
265
|
|
|
95
|
-
|
|
266
|
+
Binds classes to their schema via decorators. Importing from JSON validates types automatically and returns a real class instance.
|
|
96
267
|
|
|
97
|
-
|
|
268
|
+
### Basic Usage
|
|
98
269
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
*(Math, arrays, promises, portable system, time)*
|
|
270
|
+
```typescript
|
|
271
|
+
import { Model, Field, ArrayOf, Optional, Nullable } from "adaptive-extender/core";
|
|
102
272
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
273
|
+
class Tag extends Model {
|
|
274
|
+
@Field(String)
|
|
275
|
+
name: string = "";
|
|
276
|
+
}
|
|
106
277
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
278
|
+
class Article extends Model {
|
|
279
|
+
@Field(String)
|
|
280
|
+
title: string = "";
|
|
281
|
+
|
|
282
|
+
@Field(Number)
|
|
283
|
+
views: number = 0;
|
|
284
|
+
|
|
285
|
+
@Field(ArrayOf(Tag))
|
|
286
|
+
tags: Tag[] = [];
|
|
287
|
+
|
|
288
|
+
@Field(Optional(String))
|
|
289
|
+
subtitle?: string;
|
|
290
|
+
|
|
291
|
+
@Field(Nullable(String))
|
|
292
|
+
draft: string | null = null;
|
|
293
|
+
}
|
|
110
294
|
|
|
111
|
-
|
|
295
|
+
const article = Article.import(json, "api.article");
|
|
296
|
+
// article instanceof Article → true
|
|
297
|
+
// TypeError with exact path on failure: "api.article.tags[2].name"
|
|
112
298
|
|
|
113
|
-
|
|
114
|
-
npm install adaptive-extender
|
|
299
|
+
const raw = Article.export(article); // → plain object, ready for JSON.stringify
|
|
115
300
|
```
|
|
116
301
|
|
|
117
|
-
|
|
302
|
+
### Polymorphism
|
|
118
303
|
|
|
119
304
|
```typescript
|
|
120
|
-
import "adaptive-extender/core";
|
|
305
|
+
import { Model, Field, Descendant, DiscriminatorKey } from "adaptive-extender/core";
|
|
306
|
+
|
|
307
|
+
@DiscriminatorKey("kind")
|
|
308
|
+
@Descendant(Dog, "dog")
|
|
309
|
+
@Descendant(Cat, "cat")
|
|
310
|
+
abstract class Animal extends Model {
|
|
311
|
+
}
|
|
121
312
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
313
|
+
class Dog extends Animal {
|
|
314
|
+
@Field(String)
|
|
315
|
+
breed: string = "";
|
|
125
316
|
}
|
|
317
|
+
|
|
318
|
+
class Cat extends Animal {
|
|
319
|
+
@Field(Boolean)
|
|
320
|
+
indoor: boolean = true;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// { kind: "dog", breed: "Husky" } → Dog instance
|
|
324
|
+
// { kind: "cat", indoor: true } → Cat instance
|
|
325
|
+
const animal = Animal.import(json, "api.animal");
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Adapters
|
|
329
|
+
|
|
330
|
+
| Adapter | Type |
|
|
331
|
+
| :----------------- | :------------------------------------- |
|
|
332
|
+
| `ArrayOf(T)` | `T[]` |
|
|
333
|
+
| `SetOf(T)` | `Set<T>` ↔ `T[]` |
|
|
334
|
+
| `RecordOf(T)` | `Map<string, T>` ↔ `Record<string, T>` |
|
|
335
|
+
| `MapOf(K, V)` | `Map<K, V>` ↔ `[K, V][]` |
|
|
336
|
+
| `Optional(T)` | `T \| undefined` |
|
|
337
|
+
| `Nullable(T)` | `T \| null` |
|
|
338
|
+
| `Deferred(_ => T)` | Circular references |
|
|
339
|
+
| `EnumFrom(E)` | TypeScript `enum` or const-object enum |
|
|
340
|
+
|
|
341
|
+
## Web
|
|
342
|
+
|
|
343
|
+
### DOM Queries
|
|
344
|
+
|
|
345
|
+
Type-safe wrappers over `querySelector` — throw instead of returning `null`.
|
|
346
|
+
|
|
347
|
+
```typescript
|
|
348
|
+
import "adaptive-extender/web";
|
|
349
|
+
|
|
350
|
+
const loginForm = document.getElement(HTMLFormElement, "#login-form");
|
|
351
|
+
const requiredInputs = loginForm.getElements(HTMLInputElement, "input[required]");
|
|
352
|
+
const container = loginForm.getClosest(HTMLDivElement, ".wrapper");
|
|
353
|
+
|
|
354
|
+
// Async variants — useful with Shadow DOM
|
|
355
|
+
const canvas = await document.getElementAsync(HTMLCanvasElement, "#scene");
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### Game Engines
|
|
359
|
+
|
|
360
|
+
Three update-loop engines for UI animation or game logic:
|
|
361
|
+
|
|
362
|
+
```typescript
|
|
363
|
+
import { FastEngine, StaticEngine } from "adaptive-extender/web";
|
|
364
|
+
|
|
365
|
+
// Fast — requestAnimationFrame based
|
|
366
|
+
const engine = new FastEngine({ launch: true });
|
|
367
|
+
engine.limit = 60;
|
|
368
|
+
|
|
369
|
+
engine.addEventListener("trigger", () => {
|
|
370
|
+
const deltaTime = engine.delta; // seconds since last frame
|
|
371
|
+
// update scene...
|
|
372
|
+
});
|
|
373
|
+
|
|
374
|
+
// Static — fixed fps via setTimeout
|
|
375
|
+
const fixedEngine = new StaticEngine({ launch: true });
|
|
376
|
+
fixedEngine.limit = 30;
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Archive (localStorage)
|
|
380
|
+
|
|
381
|
+
Type-safe localStorage with buffered access and auto-save.
|
|
382
|
+
|
|
383
|
+
```typescript
|
|
384
|
+
import { ArchiveRepository, Model, Field } from "adaptive-extender/web";
|
|
385
|
+
|
|
386
|
+
class Settings extends Model {
|
|
387
|
+
@Field(Boolean)
|
|
388
|
+
darkMode: boolean = false;
|
|
389
|
+
|
|
390
|
+
@Field(Number)
|
|
391
|
+
volume: number = 1;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
const repository = new ArchiveRepository("settings", Settings, new Settings());
|
|
395
|
+
|
|
396
|
+
const settings = repository.content;
|
|
397
|
+
settings.volume = 0.5;
|
|
398
|
+
|
|
399
|
+
repository.save(); // persist immediately
|
|
400
|
+
repository.save(3000); // debounced — persist after 3 seconds
|
|
401
|
+
repository.reset(); // revert to initial state
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### Promise Utilities
|
|
405
|
+
|
|
406
|
+
```typescript
|
|
407
|
+
await Promise.asTimeout(1000);
|
|
408
|
+
|
|
409
|
+
// AbortController is created and aborted automatically on completion
|
|
410
|
+
const result = await Promise.withSignal((signal, resolve, reject) => {
|
|
411
|
+
fetch("/api/data", { signal }).then(resolve).catch(reject);
|
|
412
|
+
});
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## Reflect Utilities
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
// Apply a function only if the value is not null / undefined
|
|
419
|
+
const upper = Reflect.mapNull(maybeNull, text => text.toUpperCase());
|
|
420
|
+
const trimmed = Reflect.mapUndefined(maybeUndefined, text => text.trim());
|
|
421
|
+
const parsed = Reflect.mapNullable(maybeNullable, text => Number.parseInt(text));
|
|
126
422
|
```
|
|
127
423
|
|
|
128
424
|
## License
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
import "./error.js";
|
|
2
|
+
import { type Constructor } from "./global.js";
|
|
2
3
|
/**
|
|
3
4
|
* Represents a controller that can be launched and handle errors.
|
|
4
5
|
*/
|
|
5
|
-
export declare abstract class Controller {
|
|
6
|
+
export declare abstract class Controller<A extends readonly any[] = []> {
|
|
6
7
|
/**
|
|
7
|
-
* @throws {TypeError} If the constructor is called
|
|
8
|
+
* @throws {TypeError} If the constructor is called directly.
|
|
8
9
|
*/
|
|
9
10
|
constructor();
|
|
10
11
|
/**
|
|
11
12
|
* When overridden in a derived class, executes the controller's logic.
|
|
13
|
+
* @param args The arguments forwarded from {@link launch}.
|
|
12
14
|
*/
|
|
13
|
-
run(): Promise<void>;
|
|
15
|
+
run(...args: A): Promise<void>;
|
|
14
16
|
/**
|
|
15
17
|
* When overridden in a derived class, handles an error that occurred during the controller's execution.
|
|
16
18
|
*/
|
|
17
19
|
catch(error: Error): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* When overridden in a derived class, runs unconditionally after {@link run} and {@link catch}.
|
|
22
|
+
*/
|
|
23
|
+
finally(): Promise<void>;
|
|
18
24
|
/**
|
|
19
25
|
* Creates an instance of the controller and runs it.
|
|
26
|
+
* @param args The arguments to forward to {@link run}.
|
|
20
27
|
*/
|
|
21
|
-
static launch(this:
|
|
28
|
+
static launch<A extends readonly any[]>(this: Constructor<Controller<A>>, ...args: A): Promise<void>;
|
|
22
29
|
}
|
package/dist/core/controller.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
import "./error.js";
|
|
3
|
+
import {} from "./global.js";
|
|
3
4
|
//#region Controller
|
|
4
5
|
/**
|
|
5
6
|
* Represents a controller that can be launched and handle errors.
|
|
6
7
|
*/
|
|
7
8
|
export class Controller {
|
|
8
9
|
/**
|
|
9
|
-
* @throws {TypeError} If the constructor is called
|
|
10
|
+
* @throws {TypeError} If the constructor is called directly.
|
|
10
11
|
*/
|
|
11
12
|
constructor() {
|
|
12
13
|
if (new.target === Controller)
|
|
@@ -14,25 +15,39 @@ export class Controller {
|
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* When overridden in a derived class, executes the controller's logic.
|
|
18
|
+
* @param args The arguments forwarded from {@link launch}.
|
|
17
19
|
*/
|
|
18
|
-
async run() {
|
|
20
|
+
async run(...args) {
|
|
21
|
+
void args;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* When overridden in a derived class, handles an error that occurred during the controller's execution.
|
|
22
25
|
*/
|
|
23
26
|
async catch(error) {
|
|
27
|
+
void error;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* When overridden in a derived class, runs unconditionally after {@link run} and {@link catch}.
|
|
31
|
+
*/
|
|
32
|
+
async finally() {
|
|
24
33
|
}
|
|
25
34
|
/**
|
|
26
35
|
* Creates an instance of the controller and runs it.
|
|
36
|
+
* @param args The arguments to forward to {@link run}.
|
|
27
37
|
*/
|
|
28
|
-
static async launch() {
|
|
38
|
+
static async launch(...args) {
|
|
29
39
|
const controller = Reflect.construct(this, []);
|
|
40
|
+
if (!(controller instanceof this))
|
|
41
|
+
throw new TypeError(`Unable to construct an instance of ${this.name}`);
|
|
30
42
|
try {
|
|
31
|
-
await controller.run();
|
|
43
|
+
await controller.run(...args);
|
|
32
44
|
}
|
|
33
45
|
catch (reason) {
|
|
34
46
|
await controller.catch(Error.from(reason));
|
|
35
47
|
}
|
|
48
|
+
finally {
|
|
49
|
+
await controller.finally();
|
|
50
|
+
}
|
|
36
51
|
}
|
|
37
52
|
}
|
|
38
53
|
//# sourceMappingURL=controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,YAAY,CAAC;AACpB,OAAO,EAAoB,MAAM,aAAa,CAAC;AAE/C,oBAAoB;AACpB;;GAEG;AACH,MAAM,OAAgB,UAAU;IAC/B;;OAEG;IACH;QACC,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IACzG,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,GAAG,IAAO;QACnB,KAAK,IAAI,CAAC;IACX,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAY;QACvB,KAAK,KAAK,CAAC;IACZ,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,OAAO;IACb,CAAC;IACD;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAA6D,GAAG,IAAO;QACzF,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC;YACJ,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACjB,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACV,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACF,CAAC;CACD"}
|
package/dist/core/portable.d.ts
CHANGED
|
@@ -103,6 +103,11 @@ export declare function RecordOf<M, S>(type: PortableConstructor<M, S>): Portabl
|
|
|
103
103
|
* @param value The portable type of the map values.
|
|
104
104
|
*/
|
|
105
105
|
export declare function MapOf<MK, SK, MV, SV>(typeKey: PortableConstructor<MK, SK>, typeValue: PortableConstructor<MV, SV>): PortableConstructor<Map<MK, MV>, [SK, SV][]>;
|
|
106
|
+
/**
|
|
107
|
+
* Creates a portable wrapper for enum types, strictly operating only on enum values.
|
|
108
|
+
* @param reference The enum object reference.
|
|
109
|
+
*/
|
|
110
|
+
export declare function EnumFrom<T extends Readonly<Record<string, unknown>>>(reference: T): PortableConstructor<T[keyof T], T[keyof T]>;
|
|
106
111
|
/**
|
|
107
112
|
* A portable adapter that facilitates the conversion between `Date` instances and millisecond timestamps.
|
|
108
113
|
*/
|
package/dist/core/portable.js
CHANGED
|
@@ -332,6 +332,37 @@ export function MapOf(typeKey, typeValue) {
|
|
|
332
332
|
},
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Creates a portable wrapper for enum types, strictly operating only on enum values.
|
|
337
|
+
* @param reference The enum object reference.
|
|
338
|
+
*/
|
|
339
|
+
export function EnumFrom(reference) {
|
|
340
|
+
const values = new Set();
|
|
341
|
+
for (const [key, value] of Object.entries(reference)) {
|
|
342
|
+
const index = Number(key);
|
|
343
|
+
if (String(index) === key && typeof value === "string" && Reflect.get(reference, value) === index)
|
|
344
|
+
continue;
|
|
345
|
+
values.add(value);
|
|
346
|
+
}
|
|
347
|
+
return {
|
|
348
|
+
[Symbol.hasInstance](instance) {
|
|
349
|
+
return values.has(instance);
|
|
350
|
+
},
|
|
351
|
+
get name() {
|
|
352
|
+
return "Enum";
|
|
353
|
+
},
|
|
354
|
+
import(source, name) {
|
|
355
|
+
if (values.has(source))
|
|
356
|
+
return source;
|
|
357
|
+
throw new TypeError(`Unable to import enum from ${name} due to invalid value`);
|
|
358
|
+
},
|
|
359
|
+
export(source) {
|
|
360
|
+
if (values.has(source) === false)
|
|
361
|
+
throw new TypeError(`Unable to export enum due to invalid value`);
|
|
362
|
+
return source;
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
}
|
|
335
366
|
/**
|
|
336
367
|
* A portable adapter that facilitates the conversion between `Date` instances and millisecond timestamps.
|
|
337
368
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portable.js","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"portable.js","sourceRoot":"","sources":["../../src/core/portable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Defines the interface for an archivable object's prototype.
|
|
3
|
-
* @template S The type of the notation returned by the export method.
|
|
4
|
-
*/
|
|
5
|
-
export interface ArchivablePrototype<S = any> {
|
|
6
|
-
/**
|
|
7
|
-
* Creates a new instance of the archivable object.
|
|
8
|
-
*/
|
|
9
|
-
new (...args: any): any;
|
|
10
|
-
/**
|
|
11
|
-
* Imports data from a source and returns a new instance.
|
|
12
|
-
* @throws {TypeError} If unable to import the source.
|
|
13
|
-
*/
|
|
14
|
-
import(source: any, name: string): InstanceType<this>;
|
|
15
|
-
/**
|
|
16
|
-
* Exports the state of an instance to a notation.
|
|
17
|
-
*/
|
|
18
|
-
export(source: InstanceType<this>): S;
|
|
19
|
-
}
|
package/dist/core/archivable.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archivable.js","sourceRoot":"","sources":["../../src/core/archivable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/core/debug_types.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
-
var _, done = false;
|
|
7
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
-
var context = {};
|
|
9
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
-
if (kind === "accessor") {
|
|
14
|
-
if (result === void 0) continue;
|
|
15
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
-
}
|
|
20
|
-
else if (_ = accept(result)) {
|
|
21
|
-
if (kind === "field") initializers.unshift(_);
|
|
22
|
-
else descriptor[key] = _;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
-
done = true;
|
|
27
|
-
};
|
|
28
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
-
import { Model, Field } from "./portable";
|
|
36
|
-
// Mock types
|
|
37
|
-
class MyModel extends Model {
|
|
38
|
-
}
|
|
39
|
-
let TestClass = (() => {
|
|
40
|
-
let _classSuper = Model;
|
|
41
|
-
let _prop_decorators;
|
|
42
|
-
let _prop_initializers = [];
|
|
43
|
-
let _prop_extraInitializers = [];
|
|
44
|
-
let _date_decorators;
|
|
45
|
-
let _date_initializers = [];
|
|
46
|
-
let _date_extraInitializers = [];
|
|
47
|
-
return class TestClass extends _classSuper {
|
|
48
|
-
static {
|
|
49
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
50
|
-
_prop_decorators = [Field(MyType)];
|
|
51
|
-
_date_decorators = [Field(Date)];
|
|
52
|
-
__esDecorate(null, null, _prop_decorators, { kind: "field", name: "prop", static: false, private: false, access: { has: obj => "prop" in obj, get: obj => obj.prop, set: (obj, value) => { obj.prop = value; } }, metadata: _metadata }, _prop_initializers, _prop_extraInitializers);
|
|
53
|
-
__esDecorate(null, null, _date_decorators, { kind: "field", name: "date", static: false, private: false, access: { has: obj => "date" in obj, get: obj => obj.date, set: (obj, value) => { obj.date = value; } }, metadata: _metadata }, _date_initializers, _date_extraInitializers);
|
|
54
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
55
|
-
}
|
|
56
|
-
// Check if compilation fails or inference is weird
|
|
57
|
-
prop = __runInitializers(this, _prop_initializers, void 0);
|
|
58
|
-
date = (__runInitializers(this, _prop_extraInitializers), __runInitializers(this, _date_initializers, void 0));
|
|
59
|
-
constructor() {
|
|
60
|
-
super(...arguments);
|
|
61
|
-
__runInitializers(this, _date_extraInitializers);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
})();
|
|
65
|
-
//# sourceMappingURL=debug_types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug_types.js","sourceRoot":"","sources":["../../src/core/debug_types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,KAAK,EAA4B,MAAM,YAAY,CAAC;AAEpE,aAAa;AACb,MAAM,OAAQ,SAAQ,KAAK;CAAG;IAIxB,SAAS;sBAAS,KAAK;;;;;;;iBAAvB,SAAU,SAAQ,WAAK;;;gCAExB,KAAK,CAAC,MAAM,CAAC;gCAGb,KAAK,CAAC,IAAI,CAAC;YAFZ,8JAAA,IAAI,6BAAJ,IAAI,mFAAW;YAGf,8JAAA,IAAI,6BAAJ,IAAI,mFAAQ;;;QALZ,mDAAmD;QAEnD,IAAI,uDAAW;QAGf,IAAI,2GAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/core/repro_issue.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
-
var _, done = false;
|
|
7
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
-
var context = {};
|
|
9
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
-
if (kind === "accessor") {
|
|
14
|
-
if (result === void 0) continue;
|
|
15
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
-
}
|
|
20
|
-
else if (_ = accept(result)) {
|
|
21
|
-
if (kind === "field") initializers.unshift(_);
|
|
22
|
-
else descriptor[key] = _;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
-
done = true;
|
|
27
|
-
};
|
|
28
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
-
import { Model, Field } from "./portable";
|
|
36
|
-
let TestDate = (() => {
|
|
37
|
-
let _classSuper = Model;
|
|
38
|
-
let _dateField_decorators;
|
|
39
|
-
let _dateField_initializers = [];
|
|
40
|
-
let _dateField_extraInitializers = [];
|
|
41
|
-
return class TestDate extends _classSuper {
|
|
42
|
-
static {
|
|
43
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
44
|
-
_dateField_decorators = [Field(Date)];
|
|
45
|
-
__esDecorate(null, null, _dateField_decorators, { kind: "field", name: "dateField", static: false, private: false, access: { has: obj => "dateField" in obj, get: obj => obj.dateField, set: (obj, value) => { obj.dateField = value; } }, metadata: _metadata }, _dateField_initializers, _dateField_extraInitializers);
|
|
46
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
47
|
-
}
|
|
48
|
-
dateField = __runInitializers(this, _dateField_initializers, void 0);
|
|
49
|
-
constructor() {
|
|
50
|
-
super(...arguments);
|
|
51
|
-
__runInitializers(this, _dateField_extraInitializers);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
})();
|
|
55
|
-
//# sourceMappingURL=repro_issue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repro_issue.js","sourceRoot":"","sources":["../../src/core/repro_issue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;IAEpC,QAAQ;sBAAS,KAAK;;;;iBAAtB,QAAS,SAAQ,WAAK;;;qCACvB,KAAK,CAAC,IAAI,CAAC;YACZ,6KAAA,SAAS,6BAAT,SAAS,6FAAQ;;;QAAjB,SAAS,4DAAQ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import "../core/index.js";
|
|
2
|
-
import "dotenv/config";
|
|
3
|
-
/**
|
|
4
|
-
* Represents the system environment and provides utility methods to access environment variables.
|
|
5
|
-
*/
|
|
6
|
-
export declare class Environment {
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves a new instance of the Environment class.
|
|
9
|
-
*/
|
|
10
|
-
static get env(): Environment;
|
|
11
|
-
/**
|
|
12
|
-
* Checks if a specific key exists within the environment variables.
|
|
13
|
-
*/
|
|
14
|
-
hasValue(key: string): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Reads and parses the value of a specific environment variable.
|
|
17
|
-
* @throws {ReferenceError} if the key is missing.
|
|
18
|
-
*/
|
|
19
|
-
readValue(key: string): any;
|
|
20
|
-
}
|
package/dist/node/environment.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
import "../core/index.js";
|
|
3
|
-
import "dotenv/config";
|
|
4
|
-
//#region Environment
|
|
5
|
-
/**
|
|
6
|
-
* Represents the system environment and provides utility methods to access environment variables.
|
|
7
|
-
*/
|
|
8
|
-
export class Environment {
|
|
9
|
-
/**
|
|
10
|
-
* Retrieves a new instance of the Environment class.
|
|
11
|
-
*/
|
|
12
|
-
static get env() {
|
|
13
|
-
return new Environment();
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Checks if a specific key exists within the environment variables.
|
|
17
|
-
*/
|
|
18
|
-
hasValue(key) {
|
|
19
|
-
const { env } = process;
|
|
20
|
-
return (env[key] !== undefined);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Reads and parses the value of a specific environment variable.
|
|
24
|
-
* @throws {ReferenceError} if the key is missing.
|
|
25
|
-
*/
|
|
26
|
-
readValue(key) {
|
|
27
|
-
const { env } = process;
|
|
28
|
-
const text = ReferenceError.suppress(env[key], `Key '${key}' at environment not registered`);
|
|
29
|
-
try {
|
|
30
|
-
return JSON.parse(text);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return text;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=environment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/node/environment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AAEvB,qBAAqB;AACrB;;GAEG;AACH,MAAM,OAAO,WAAW;IACvB;;OAEG;IACH,MAAM,KAAK,GAAG;QACb,OAAO,IAAI,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAW;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAW;QACpB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,iCAAiC,CAAC,CAAC;QAC7F,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD"}
|