adaptive-extender 0.9.11 → 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 +5 -0
- package/README.md +106 -89
- 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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
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
|
+
|
|
1
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.
|
package/README.md
CHANGED
|
@@ -9,8 +9,6 @@ Extends native prototypes and provides missing standard utilities — with a foc
|
|
|
9
9
|
|
|
10
10
|
[Change log](./CHANGELOG.md)
|
|
11
11
|
|
|
12
|
-
---
|
|
13
|
-
|
|
14
12
|
## Installation
|
|
15
13
|
|
|
16
14
|
```bash
|
|
@@ -25,14 +23,14 @@ npm install adaptive-extender
|
|
|
25
23
|
| `adaptive-extender/node` | Node.js (includes core) |
|
|
26
24
|
| `adaptive-extender/web` | Browser (includes core) |
|
|
27
25
|
|
|
26
|
+
- - -
|
|
27
|
+
|
|
28
28
|
```typescript
|
|
29
29
|
// Import once — extensions are active everywhere
|
|
30
30
|
import "adaptive-extender/core";
|
|
31
31
|
import "adaptive-extender/web"; // Browser only
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
---
|
|
35
|
-
|
|
36
34
|
## Native Extensions
|
|
37
35
|
|
|
38
36
|
### Number
|
|
@@ -42,7 +40,7 @@ volume = volume.clamp(0, 1);
|
|
|
42
40
|
|
|
43
41
|
// Normalize into [0, 1] or remap between ranges
|
|
44
42
|
const normalized = currentValue.lerp(sourceMin, sourceMax);
|
|
45
|
-
const pixelX
|
|
43
|
+
const pixelX = angle.lerp(0, 360, 0, canvasWidth);
|
|
46
44
|
|
|
47
45
|
// True mathematical modulo — works correctly with negative numbers
|
|
48
46
|
const wrappedIndex = (-1).mod(items.length); // → items.length - 1
|
|
@@ -58,7 +56,7 @@ if (String.isWhitespace(userInput)) return;
|
|
|
58
56
|
|
|
59
57
|
const displayName = username.insteadEmpty("Anonymous");
|
|
60
58
|
|
|
61
|
-
"hello world".toTitleCase();
|
|
59
|
+
"hello world".toTitleCase(); // → "Hello World"
|
|
62
60
|
"île-de-france".toLocalTitleCase("fr"); // → "Île-De-France"
|
|
63
61
|
```
|
|
64
62
|
|
|
@@ -68,7 +66,7 @@ const displayName = username.insteadEmpty("Anonymous");
|
|
|
68
66
|
for (const index of Array.range(0, 10)) { ... }
|
|
69
67
|
|
|
70
68
|
for (const [user, role] of Array.zip(users, roles)) {
|
|
71
|
-
|
|
69
|
+
console.log(`${user.name}: ${role}`);
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
// Collect an async iterable into an array
|
|
@@ -83,9 +81,9 @@ const wasRemoved = items.remove(targetItem);
|
|
|
83
81
|
|
|
84
82
|
```typescript
|
|
85
83
|
const [integer, fractional] = Math.split(3.75); // → [3, 0.75]
|
|
86
|
-
Math.sqpw(sideLength);
|
|
87
|
-
Math.toRadians(90);
|
|
88
|
-
Math.toDegrees(Math.PI);
|
|
84
|
+
Math.sqpw(sideLength); // sideLength²
|
|
85
|
+
Math.toRadians(90); // → Math.PI / 2
|
|
86
|
+
Math.toDegrees(Math.PI); // → 180
|
|
89
87
|
|
|
90
88
|
Math.meanArithmetic(1, 2, 3, 4); // → 2.5
|
|
91
89
|
Math.meanGeometric(4, 16);
|
|
@@ -96,8 +94,8 @@ Math.meanHarmonic(1, 2, 4);
|
|
|
96
94
|
|
|
97
95
|
```typescript
|
|
98
96
|
// Like classList.toggle
|
|
99
|
-
selected.toggle(item);
|
|
100
|
-
selected.toggle(item, true);
|
|
97
|
+
selected.toggle(item); // add if absent, remove if present
|
|
98
|
+
selected.toggle(item, true); // force add
|
|
101
99
|
selected.toggle(item, false); // force remove
|
|
102
100
|
|
|
103
101
|
// Add only if key is not already present
|
|
@@ -112,11 +110,11 @@ const safeDate = new Date("invalid").insteadInvalid(new Date());
|
|
|
112
110
|
```typescript
|
|
113
111
|
const request = fetch("/api/data");
|
|
114
112
|
|
|
115
|
-
if (await request.isSettled)
|
|
113
|
+
if (await request.isSettled) { ... }
|
|
116
114
|
if (await request.isResolved) { ... }
|
|
117
115
|
if (await request.isRejected) { ... }
|
|
118
116
|
|
|
119
|
-
const responseData = await request.value;
|
|
117
|
+
const responseData = await request.value; // throws if rejected
|
|
120
118
|
const rejectReason = await request.reason; // throws if resolved
|
|
121
119
|
```
|
|
122
120
|
|
|
@@ -135,8 +133,6 @@ throw new ImplementationError(); // sealed, cannot be subclassed
|
|
|
135
133
|
typename(value); // → "String", "Null", "User", ...
|
|
136
134
|
```
|
|
137
135
|
|
|
138
|
-
---
|
|
139
|
-
|
|
140
136
|
## Classes
|
|
141
137
|
|
|
142
138
|
### Timespan
|
|
@@ -147,15 +143,15 @@ Value object for time intervals. Eliminates raw millisecond arithmetic.
|
|
|
147
143
|
import { Timespan } from "adaptive-extender/core";
|
|
148
144
|
|
|
149
145
|
const sessionDuration = Timespan.fromComponents(0, 30, 0); // 30 minutes
|
|
150
|
-
const uptime
|
|
151
|
-
const parsed
|
|
146
|
+
const uptime = Timespan.fromValue(process.uptime() * 1000);
|
|
147
|
+
const parsed = Timespan.parse("1.02:30:00.500"); // 1d 2h 30m 0.5s
|
|
152
148
|
|
|
153
149
|
console.log(uptime.toString()); // "0.00:12:45.123"
|
|
154
150
|
|
|
155
151
|
uptime.minutes = 0; // other components recalculate automatically
|
|
156
152
|
|
|
157
153
|
if (uptime.valueOf() > sessionDuration.valueOf()) {
|
|
158
|
-
|
|
154
|
+
console.log("Session expired");
|
|
159
155
|
}
|
|
160
156
|
```
|
|
161
157
|
|
|
@@ -169,7 +165,7 @@ import { Color, ColorFormats } from "adaptive-extender/core";
|
|
|
169
165
|
const orange = Color.fromRGB(255, 128, 0);
|
|
170
166
|
const parsed = Color.parse("#ff8800");
|
|
171
167
|
|
|
172
|
-
orange.hue
|
|
168
|
+
orange.hue = 200; // RGB recalculates automatically
|
|
173
169
|
orange.alpha = 0.8;
|
|
174
170
|
|
|
175
171
|
console.log(orange.toString({ format: ColorFormats.hsl, deep: true }));
|
|
@@ -181,20 +177,20 @@ console.log(orange.toString({ format: ColorFormats.hsl, deep: true }));
|
|
|
181
177
|
```typescript
|
|
182
178
|
import { Random } from "adaptive-extender/core";
|
|
183
179
|
|
|
184
|
-
const
|
|
180
|
+
const random = Random.global;
|
|
185
181
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
|
192
188
|
|
|
193
189
|
// Weighted selection
|
|
194
|
-
const loot =
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
190
|
+
const loot = random.case(new Map([
|
|
191
|
+
["common", 70],
|
|
192
|
+
["rare", 25],
|
|
193
|
+
["legendary", 5],
|
|
198
194
|
]));
|
|
199
195
|
```
|
|
200
196
|
|
|
@@ -205,17 +201,15 @@ Mathematical vectors with a LINQ-style iteration API.
|
|
|
205
201
|
```typescript
|
|
206
202
|
import { Vector, Vector2D, Vector3D } from "adaptive-extender/core";
|
|
207
203
|
|
|
208
|
-
const position
|
|
204
|
+
const position = new Vector2D(3, 4);
|
|
209
205
|
const direction = Vector3D.fromScalar(1); // (1, 1, 1)
|
|
210
206
|
|
|
211
207
|
// LINQ-like methods over components
|
|
212
|
-
const normalized = Vector3D.fromVector(
|
|
213
|
-
direction.map(component => component / Math.sqrt(3))
|
|
214
|
-
);
|
|
208
|
+
const normalized = Vector3D.fromVector(direction.map(component => component / Math.sqrt(3)));
|
|
215
209
|
|
|
216
210
|
Vector.isFinite(position);
|
|
217
211
|
const safePosition = position.insteadNaN(Vector2D.newZero);
|
|
218
|
-
const point
|
|
212
|
+
const point = Vector2D.parse("(10, 20)"); // → Vector2D { x: 10, y: 20 }
|
|
219
213
|
```
|
|
220
214
|
|
|
221
215
|
### Controller
|
|
@@ -225,19 +219,23 @@ Abstract base class for async tasks with centralized error handling.
|
|
|
225
219
|
```typescript
|
|
226
220
|
import { Controller } from "adaptive-extender/core";
|
|
227
221
|
|
|
228
|
-
class InitTask extends Controller {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
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
|
+
}
|
|
233
227
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
+
}
|
|
237
235
|
}
|
|
238
236
|
|
|
239
|
-
// Creates an instance and runs it — errors are routed to catch()
|
|
240
|
-
await InitTask.launch();
|
|
237
|
+
// Creates an instance and runs it — errors are routed to catch(), finally() always runs
|
|
238
|
+
await InitTask.launch(8080);
|
|
241
239
|
```
|
|
242
240
|
|
|
243
241
|
### EnvironmentProvider
|
|
@@ -248,9 +246,14 @@ Deserializes environment variables into a strictly typed model. JSON values are
|
|
|
248
246
|
import { EnvironmentProvider, Model, Field, Optional } from "adaptive-extender/core";
|
|
249
247
|
|
|
250
248
|
class AppConfig extends Model {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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;
|
|
254
257
|
}
|
|
255
258
|
|
|
256
259
|
const config = EnvironmentProvider.resolve(process.env, AppConfig);
|
|
@@ -258,8 +261,6 @@ const config = EnvironmentProvider.resolve(process.env, AppConfig);
|
|
|
258
261
|
// Throws TypeError if a required variable is missing or has the wrong type
|
|
259
262
|
```
|
|
260
263
|
|
|
261
|
-
---
|
|
262
|
-
|
|
263
264
|
## Portable Data System
|
|
264
265
|
|
|
265
266
|
Binds classes to their schema via decorators. Importing from JSON validates types automatically and returns a real class instance.
|
|
@@ -270,15 +271,25 @@ Binds classes to their schema via decorators. Importing from JSON validates type
|
|
|
270
271
|
import { Model, Field, ArrayOf, Optional, Nullable } from "adaptive-extender/core";
|
|
271
272
|
|
|
272
273
|
class Tag extends Model {
|
|
273
|
-
|
|
274
|
+
@Field(String)
|
|
275
|
+
name: string = "";
|
|
274
276
|
}
|
|
275
277
|
|
|
276
278
|
class Article extends Model {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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;
|
|
282
293
|
}
|
|
283
294
|
|
|
284
295
|
const article = Article.import(json, "api.article");
|
|
@@ -293,32 +304,39 @@ const raw = Article.export(article); // → plain object, ready for JSON.stringi
|
|
|
293
304
|
```typescript
|
|
294
305
|
import { Model, Field, Descendant, DiscriminatorKey } from "adaptive-extender/core";
|
|
295
306
|
|
|
296
|
-
class Dog extends Model { @Field(String) breed: string = ""; }
|
|
297
|
-
class Cat extends Model { @Field(Boolean) indoor: boolean = true; }
|
|
298
|
-
|
|
299
307
|
@DiscriminatorKey("kind")
|
|
300
308
|
@Descendant(Dog, "dog")
|
|
301
309
|
@Descendant(Cat, "cat")
|
|
302
|
-
abstract class Animal extends Model {
|
|
310
|
+
abstract class Animal extends Model {
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
class Dog extends Animal {
|
|
314
|
+
@Field(String)
|
|
315
|
+
breed: string = "";
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
class Cat extends Animal {
|
|
319
|
+
@Field(Boolean)
|
|
320
|
+
indoor: boolean = true;
|
|
321
|
+
}
|
|
303
322
|
|
|
304
323
|
// { kind: "dog", breed: "Husky" } → Dog instance
|
|
305
|
-
// { kind: "cat", indoor: true }
|
|
324
|
+
// { kind: "cat", indoor: true } → Cat instance
|
|
306
325
|
const animal = Animal.import(json, "api.animal");
|
|
307
326
|
```
|
|
308
327
|
|
|
309
328
|
### Adapters
|
|
310
329
|
|
|
311
|
-
| Adapter
|
|
312
|
-
|
|
|
313
|
-
| `ArrayOf(T)`
|
|
314
|
-
| `SetOf(T)`
|
|
315
|
-
| `RecordOf(T)`
|
|
316
|
-
| `MapOf(K, V)`
|
|
317
|
-
| `Optional(T)`
|
|
318
|
-
| `Nullable(T)`
|
|
319
|
-
| `Deferred(
|
|
320
|
-
|
|
321
|
-
---
|
|
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 |
|
|
322
340
|
|
|
323
341
|
## Web
|
|
324
342
|
|
|
@@ -329,9 +347,9 @@ Type-safe wrappers over `querySelector` — throw instead of returning `null`.
|
|
|
329
347
|
```typescript
|
|
330
348
|
import "adaptive-extender/web";
|
|
331
349
|
|
|
332
|
-
const loginForm
|
|
350
|
+
const loginForm = document.getElement(HTMLFormElement, "#login-form");
|
|
333
351
|
const requiredInputs = loginForm.getElements(HTMLInputElement, "input[required]");
|
|
334
|
-
const container
|
|
352
|
+
const container = loginForm.getClosest(HTMLDivElement, ".wrapper");
|
|
335
353
|
|
|
336
354
|
// Async variants — useful with Shadow DOM
|
|
337
355
|
const canvas = await document.getElementAsync(HTMLCanvasElement, "#scene");
|
|
@@ -349,8 +367,8 @@ const engine = new FastEngine({ launch: true });
|
|
|
349
367
|
engine.limit = 60;
|
|
350
368
|
|
|
351
369
|
engine.addEventListener("trigger", () => {
|
|
352
|
-
|
|
353
|
-
|
|
370
|
+
const deltaTime = engine.delta; // seconds since last frame
|
|
371
|
+
// update scene...
|
|
354
372
|
});
|
|
355
373
|
|
|
356
374
|
// Static — fixed fps via setTimeout
|
|
@@ -366,8 +384,11 @@ Type-safe localStorage with buffered access and auto-save.
|
|
|
366
384
|
import { ArchiveRepository, Model, Field } from "adaptive-extender/web";
|
|
367
385
|
|
|
368
386
|
class Settings extends Model {
|
|
369
|
-
|
|
370
|
-
|
|
387
|
+
@Field(Boolean)
|
|
388
|
+
darkMode: boolean = false;
|
|
389
|
+
|
|
390
|
+
@Field(Number)
|
|
391
|
+
volume: number = 1;
|
|
371
392
|
}
|
|
372
393
|
|
|
373
394
|
const repository = new ArchiveRepository("settings", Settings, new Settings());
|
|
@@ -375,9 +396,9 @@ const repository = new ArchiveRepository("settings", Settings, new Settings());
|
|
|
375
396
|
const settings = repository.content;
|
|
376
397
|
settings.volume = 0.5;
|
|
377
398
|
|
|
378
|
-
repository.save();
|
|
379
|
-
repository.save(3000);
|
|
380
|
-
repository.reset();
|
|
399
|
+
repository.save(); // persist immediately
|
|
400
|
+
repository.save(3000); // debounced — persist after 3 seconds
|
|
401
|
+
repository.reset(); // revert to initial state
|
|
381
402
|
```
|
|
382
403
|
|
|
383
404
|
### Promise Utilities
|
|
@@ -387,23 +408,19 @@ await Promise.asTimeout(1000);
|
|
|
387
408
|
|
|
388
409
|
// AbortController is created and aborted automatically on completion
|
|
389
410
|
const result = await Promise.withSignal((signal, resolve, reject) => {
|
|
390
|
-
|
|
411
|
+
fetch("/api/data", { signal }).then(resolve).catch(reject);
|
|
391
412
|
});
|
|
392
413
|
```
|
|
393
414
|
|
|
394
|
-
---
|
|
395
|
-
|
|
396
415
|
## Reflect Utilities
|
|
397
416
|
|
|
398
417
|
```typescript
|
|
399
418
|
// Apply a function only if the value is not null / undefined
|
|
400
|
-
const upper
|
|
419
|
+
const upper = Reflect.mapNull(maybeNull, text => text.toUpperCase());
|
|
401
420
|
const trimmed = Reflect.mapUndefined(maybeUndefined, text => text.trim());
|
|
402
|
-
const parsed
|
|
421
|
+
const parsed = Reflect.mapNullable(maybeNullable, text => Number.parseInt(text));
|
|
403
422
|
```
|
|
404
423
|
|
|
405
|
-
---
|
|
406
|
-
|
|
407
424
|
## License
|
|
408
425
|
|
|
409
426
|
Apache-2.0
|
|
@@ -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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"}
|