adaptive-extender 0.9.3 → 0.9.5

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 CHANGED
@@ -1,4 +1,9 @@
1
- ## 0.9.3 (23.01.2026)
1
+ ## 0.9.5 (27.01.2026)
2
+ - Added the ability to specify custom keys (via `DiscriminatorKey`) and values (via `Descendant`) for discriminators.
3
+ - Fixed an issue where static fields could be marked for porting.
4
+ - Improved descriptions for certain porting-related errors.
5
+
6
+ ## 0.9.4 (23.01.2026)
2
7
  - Ported models no longer automatically receive a discriminator unless they are polymorphic descendants.
3
8
  - Improved typing for `Model.export` and its descendants in `Descendant`, ensuring that data is handled as at least an `object` type.
4
9
 
package/README.md CHANGED
@@ -4,162 +4,127 @@
4
4
 
5
5
  Adaptive library for JS/TS development environments.
6
6
 
7
- **Adaptive Extender** is a comprehensive TypeScript library designed to bridge the gap between raw JavaScript primitives and high-level application logic. It augments native objects with fluent, intuitive APIs and provides robust systems for data modeling, time management, and asynchronous control flow.
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
8
 
9
9
  [Change log](./CHANGELOG.md)
10
10
 
11
11
  ---
12
12
 
13
- ## Key Features & Problems Solved
13
+ ## Core Systems
14
14
 
15
- ### 1. Type-Safe Data Portability (`Portable`)
16
- **The Problem:**
17
- Reading data from external sources (APIs, JSON files) usually results in `any` or untyped objects. Validating them requires verbose boilerplate repetitive mapping code. `JSON.parse` offers zero guarantees about shape or types.
18
-
19
- **The Solution:**
20
- The `Portable` system allows you to define strict schemas using decorators directly on your classes. It handles validation, type conversion, and polymorphic resolution automatically.
15
+ ### 1. Strict Data Portability (`Portable`)
16
+ Integrates validation and serialization directly into domain models via decorators. The class definition serves as the authoritative schema, enabling automatic type checking and polymorphic resolution.
21
17
 
22
18
  ```typescript
23
- import { Model, Field, ArrayOf, Nullable } from "adaptive-extender/core";
19
+ import { Model, Field, ArrayOf } from "adaptive-extender/core";
24
20
 
25
- // Define a model
26
21
  class User extends Model {
27
- @Field(String)
28
- name: string = "";
29
-
30
- @Field(Nullable(Number))
31
- age: number | null = null;
32
-
33
- @Field(ArrayOf(String))
34
- tags: string[] = [];
22
+ @Field(String) name: string = "Guest";
23
+ @Field(ArrayOf(Number)) scores: number[] = [];
35
24
  }
36
25
 
37
- // The Problem: Unsafe JSON
38
- const rawData = JSON.parse('{"name": "Alice", "tags": ["admin"]}');
39
-
40
- // The Solution: Typed Import
41
- // Validates structure and types automatically. Throws informative errors if invalid.
42
- const user = User.import(rawData, "api_response");
43
-
44
- console.log(user instanceof User); // true
45
- console.log(user.name); // "Alice"
26
+ // 1. Validates types at runtime
27
+ // 2. Instantiates actual 'User' class
28
+ // 3. Throws informative errors on failure
29
+ const user = User.import(json, "api.user");
46
30
  ```
47
31
 
48
- ### 2. First-Class Time Management (`Timespan`)
49
- **The Problem:**
50
- Calculating durations using raw milliseconds (e.g., `86400000` for a day) is prone to "magic number" errors and is hard to read. Converting back and forth between days, minutes, and milliseconds creates messy math in your business logic.
51
-
52
- **The Solution:**
53
- The `Timespan` class offers a structured, readable way to handle time intervals, inspired by robust systems like .NET.
32
+ ### 2. Value-Object Time (`Timespan`)
33
+ A dedicated structural type for time intervals. It encapsulates duration logic, preventing logic errors associated with raw millisecond arithmetic.
54
34
 
55
35
  ```typescript
56
36
  import { Timespan } from "adaptive-extender/core";
57
37
 
58
- // The Problem: Unreadable Math
59
- // setTimeout(() => {}, 2 * 60 * 60 * 1000 + 30 * 1000);
60
-
61
- // ✅ The Solution: Explicit Definition
62
- const duration = Timespan.fromComponents(0, 2, 30, 0); // 0 days, 2 hours, 30 min
38
+ // Readable, safe arithmetic
39
+ const cacheDuration = Timespan.fromComponents(0, 0, 5, 0); // 5 minutes
40
+ const uptime = Timespan.fromValue(process.uptime() * 1000);
63
41
 
64
- console.log(duration.valueOf()); // 9000000 (milliseconds)
65
- console.log(`Duration: ${duration.hours}h ${duration.minutes}m`);
42
+ // Use valueOf() for precise millisecond comparison
43
+ if (uptime.valueOf() > cacheDuration.valueOf()) {
44
+ console.log("Cache expired");
45
+ }
66
46
 
67
- // Parsing support
68
- const fromString = Timespan.parse("02:30:00.000");
47
+ // Structured formatting
48
+ console.log(uptime.toString()); // e.g. "0.00:12:45.123"
69
49
  ```
70
50
 
71
- ### 3. Extended Native Prototypes
72
- **The Problem:**
73
- JavaScript's standard library often lacks convenient utility methods found in other languages. Developers often write repetitive helper functions like `isEmpty(str)` or manual `for` loops to generate number ranges.
74
-
75
- **The Solution:**
76
- Adaptive Extender safely adds non-enumerable, standard-compliant extensions to native prototypes (`Array`, `String`, `Math`, etc.), making your code more expressive.
51
+ ### 3. Native Prototype Extensions
52
+ Native prototypes (`Array`, `String`, `Math`) are augmented with missing standard utility methods. These extensions are non-enumerable and designed to be conflict-free.
77
53
 
78
- #### String Utilities
79
54
  ```typescript
80
- // Original: Checks are verbose
81
- if (str !== null && str !== undefined && str.trim() !== "") { ... }
55
+ // Sequence generation
56
+ for (const i of Array.range(0, 5)) { ... }
82
57
 
83
- // Extended: Clean & Readable
84
- if (!String.isWhitespace(str)) { ... }
58
+ // Parallel iteration
59
+ for (const [user, role] of Array.zip(users, roles)) { ... }
85
60
 
86
- // Fallback values
87
- const displayName = userInput.insteadWhitespace("files/default.png");
61
+ // Safe Swap
62
+ items.swap(0, items.length - 1);
88
63
  ```
89
64
 
90
- #### Array Utilities
65
+ ### 4. Structured Primitives (`Vector`, `Controller`)
66
+ Provides abstract base classes for mathematical vectors and unified controller logic for complex execution flows.
67
+
91
68
  ```typescript
92
- // Original: Manual loops for sequences
93
- const nums = [];
94
- for (let i = 0; i < 5; i++) nums.push(i);
95
-
96
- // Extended: Python-like Range
97
- const nums = Array.range(0, 5); // [0, 1, 2, 3, 4]
98
-
99
- // Zipping arrays
100
- const names = ["A", "B"];
101
- const ages = [20, 30];
102
- for (const [name, age] of Array.zip(names, ages)) {
103
- console.log(`${name} is ${age}`);
69
+ import { Controller } from "adaptive-extender/core";
70
+
71
+ // Cancellable, error-handling async worker
72
+ class ImportTask extends Controller {
73
+ async run() { ... }
74
+ async catch(err) { ... }
104
75
  }
105
76
  ```
106
77
 
107
- ### 4. Advanced Promise Control
108
- **The Problem:**
109
- Managing complex asynchronous states or checking if a promise has settled without awaiting it can be difficult.
78
+ ---
110
79
 
111
- **The Solution:**
112
- Extensions to `Promise` and the `Promisable<T>` type simplify async workflows.
80
+ ## Native Extensions
113
81
 
114
- ```typescript
115
- import { type Promisable } from "adaptive-extender/core";
82
+ A collection of high-performance utilities that eliminate common boilerplate.
116
83
 
117
- // Unified type for Sync or Async values
118
- function process(input: Promisable<string>) {
119
- // ...
120
- }
121
-
122
- // Check status (async check)
123
- if (await mytask.isSettled) {
124
- console.log("Task finished");
125
- }
126
- ```
84
+ | Feature | Native JavaScript | Adaptive Extender |
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` |
127
94
 
128
95
  ---
129
96
 
130
- ## 📦 Modules
97
+ ## Architecture
131
98
 
132
- The library is split into scopes to keep your bundle size optimal:
99
+ - **`adaptive-extender/core`**:
100
+ Universal utilities. Works in Browser, Node, Deno.
101
+ *(Math, arrays, promises, portable system, time)*
133
102
 
134
- - **`adaptive-extender/core`**:
135
- Platform-agnostic utilities (Math, Primitives, Time, Portable System). Works in Node.js, Deno, and Browser.
136
-
137
- - **`adaptive-extender/node`**:
138
- Node.js specific extensions (Environment, File System processing).
139
-
140
- - **`adaptive-extender/web`**:
141
- Browser specific DOM extensions (Element, ParentNode hooks).
103
+ - **`adaptive-extender/node`**:
104
+ Backend-specific tools.
105
+ *(Enhanced `fs` operations, strict environment variable parsing)*
142
106
 
143
- ---
107
+ - **`adaptive-extender/web`**:
108
+ Frontend-specific tools.
109
+ *(DOM element wrappers, parent-node extensions)*
144
110
 
145
- ## 🚀 Installation
111
+ ## Installation
146
112
 
147
113
  ```bash
148
114
  npm install adaptive-extender
149
115
  ```
150
116
 
151
- ## 🛠 Usage
152
-
153
- Simply import the module to activate the extensions.
117
+ ## Usage
154
118
 
155
119
  ```typescript
156
- // Import core to register global proto extensions
157
120
  import "adaptive-extender/core";
158
121
 
159
- // Use features
160
- const list = Array.range(1, 10);
122
+ // Extensions are now active
123
+ if (String.isEmpty(config.name)) {
124
+ // ...
125
+ }
161
126
  ```
162
127
 
163
- ## 📄 License
128
+ ## License
164
129
 
165
130
  Apache-2.0
@@ -76,6 +76,17 @@ export declare function Deferred<M, S>(resolver: (_: void) => PortableConstructo
76
76
  * @param descendant The subclass constructor to register.
77
77
  */
78
78
  export declare function Descendant<M extends typeof Model>(descendant: PortableConstructor<Model, object>): (target: M, context: ClassDecoratorContext) => void;
79
+ /**
80
+ * Decorator to register a descendant class in the base class's polymorphic registry.
81
+ * @param descendant The subclass constructor to register.
82
+ * @param discriminator The custom discriminator value.
83
+ */
84
+ export declare function Descendant<M extends typeof Model>(descendant: PortableConstructor<Model, object>, discriminator: string): (target: M, context: ClassDecoratorContext) => void;
85
+ /**
86
+ * Decorator to register a custom discriminator key for the polymorphic model.
87
+ * @param key The property key to use for the discriminator.
88
+ */
89
+ export declare function DiscriminatorKey<M extends typeof Model>(key: string): (target: M, context: ClassDecoratorContext) => void;
79
90
  /**
80
91
  * A portable adapter that facilitates the conversion between `Date` instances and millisecond timestamps.
81
92
  */
@@ -28,12 +28,29 @@ class FieldDescriptor {
28
28
  }
29
29
  }
30
30
  //#endregion
31
+ //#region Descendant descriptor
32
+ class DescendantDescriptor {
33
+ #type;
34
+ #discriminator;
35
+ constructor(type, discriminator) {
36
+ this.#type = type;
37
+ this.#discriminator = discriminator;
38
+ }
39
+ get type() {
40
+ return this.#type;
41
+ }
42
+ get discriminator() {
43
+ return this.#discriminator ?? this.#type.name;
44
+ }
45
+ }
46
+ //#endregion
31
47
  //#region Portability metadata
32
48
  class PortabilityMetadata {
33
49
  static #registry = new WeakMap();
34
50
  #model;
35
51
  #fields = new Map();
36
52
  #descendants = [];
53
+ #discriminator = "$type";
37
54
  constructor(model) {
38
55
  this.#model = model;
39
56
  }
@@ -55,6 +72,12 @@ class PortabilityMetadata {
55
72
  get descendants() {
56
73
  return this.#descendants;
57
74
  }
75
+ get discriminator() {
76
+ return this.#discriminator;
77
+ }
78
+ set discriminator(value) {
79
+ this.#discriminator = value;
80
+ }
58
81
  }
59
82
  //#endregion
60
83
  //#region Model
@@ -71,14 +94,17 @@ export class Model {
71
94
  */
72
95
  static import(source, name) {
73
96
  const model = this;
74
- const { descendants } = PortabilityMetadata.read(model);
97
+ const { descendants, discriminator: key } = PortabilityMetadata.read(model);
75
98
  if (descendants.length > 0) {
76
99
  const object = Object.import(source, name);
77
- const descriminator = String.import(Reflect.get(object, "$type"), `${name}.$type`);
78
- const descendant = descendants.find(descendant => descendant.name === descriminator);
79
- if (descendant === undefined)
80
- throw new TypeError(`Invalid '${descriminator}' descriminator for ${name}`);
81
- return descendant.import(source, name);
100
+ const value = Reflect.get(object, key);
101
+ if (value === undefined)
102
+ throw new TypeError(`Missing '${key}' discriminator in ${name}`);
103
+ const discriminator = String.import(value, `${name}.${key}`);
104
+ const descriptor = descendants.find(descriptor => descriptor.discriminator === discriminator);
105
+ if (descriptor === undefined)
106
+ throw new TypeError(`Unknown '${discriminator}' discriminator for ${name}`);
107
+ return descriptor.type.import(source, name);
82
108
  }
83
109
  const object = Object.import(source, name);
84
110
  const instance = Reflect.construct(this, []);
@@ -96,13 +122,14 @@ export class Model {
96
122
  */
97
123
  static export(source) {
98
124
  const model = this;
99
- const { descendants } = PortabilityMetadata.read(model);
125
+ const { descendants, discriminator: key } = PortabilityMetadata.read(model);
100
126
  if (descendants.length > 0) {
101
- const descendant = descendants.find(descendant => source instanceof descendant);
102
- if (descendant === undefined)
127
+ const descriptor = descendants.find(descriptor => source instanceof descriptor.type);
128
+ if (descriptor === undefined)
103
129
  throw new TypeError(`Invalid '${typename(source)}' type for source`);
130
+ const descendant = descriptor.type;
104
131
  const exported = descendant.export(source);
105
- Reflect.set(exported, "$type", descendant.name);
132
+ Reflect.set(exported, key, descriptor.discriminator);
106
133
  return exported;
107
134
  }
108
135
  const object = new Object();
@@ -117,6 +144,8 @@ export class Model {
117
144
  }
118
145
  export function Field(type, name) {
119
146
  return function (_, context) {
147
+ if (context.static)
148
+ throw new TypeError("Portable fields cannot be static");
120
149
  const key = context.name;
121
150
  if (typeof (key) === "symbol")
122
151
  throw new TypeError("Symbols are not supported as portable keys");
@@ -135,7 +164,13 @@ export function Field(type, name) {
135
164
  * @param type The portable type of the array elements.
136
165
  */
137
166
  export function ArrayOf(type) {
138
- return class {
167
+ return class ArrayWrapper {
168
+ static [Symbol.hasInstance](instance) {
169
+ return type[Symbol.hasInstance](instance);
170
+ }
171
+ static get name() {
172
+ return type.name;
173
+ }
139
174
  static import(source, name) {
140
175
  return Array.import(source, name).map((item, index) => type.import(item, `${name}[${index}]`));
141
176
  }
@@ -149,7 +184,13 @@ export function ArrayOf(type) {
149
184
  * @param type The inner portable type.
150
185
  */
151
186
  export function Nullable(type) {
152
- return class {
187
+ return class NullableWrapper {
188
+ static [Symbol.hasInstance](instance) {
189
+ return type[Symbol.hasInstance](instance);
190
+ }
191
+ static get name() {
192
+ return type.name;
193
+ }
153
194
  static import(source, name) {
154
195
  return Reflect.mapNull(source, source => type.import(source, name));
155
196
  }
@@ -163,7 +204,13 @@ export function Nullable(type) {
163
204
  * @param type The inner portable type.
164
205
  */
165
206
  export function Optional(type) {
166
- return class {
207
+ return class OptionalWrapper {
208
+ static [Symbol.hasInstance](instance) {
209
+ return type[Symbol.hasInstance](instance);
210
+ }
211
+ static get name() {
212
+ return type.name;
213
+ }
167
214
  static import(source, name) {
168
215
  return Reflect.mapUndefined(source, source => type.import(source, name));
169
216
  }
@@ -177,9 +224,9 @@ export function Optional(type) {
177
224
  * @param resolver Function that returns the actual type constructor.
178
225
  */
179
226
  export function Deferred(resolver) {
180
- return class {
227
+ return class DeferredWrapper {
181
228
  static [Symbol.hasInstance](instance) {
182
- return instance instanceof resolver();
229
+ return resolver()[Symbol.hasInstance](instance);
183
230
  }
184
231
  static get name() {
185
232
  return resolver().name;
@@ -192,14 +239,20 @@ export function Deferred(resolver) {
192
239
  }
193
240
  };
194
241
  }
242
+ export function Descendant(descendant, discriminator) {
243
+ return function (model) {
244
+ const { descendants } = PortabilityMetadata.read(model);
245
+ descendants.push(new DescendantDescriptor(descendant, discriminator));
246
+ };
247
+ }
195
248
  /**
196
- * Decorator to register a descendant class in the base class's polymorphic registry.
197
- * @param descendant The subclass constructor to register.
249
+ * Decorator to register a custom discriminator key for the polymorphic model.
250
+ * @param key The property key to use for the discriminator.
198
251
  */
199
- export function Descendant(descendant) {
252
+ export function DiscriminatorKey(key) {
200
253
  return function (model) {
201
- const { descendants } = PortabilityMetadata.read(model);
202
- descendants.push(descendant);
254
+ const metadata = PortabilityMetadata.read(model);
255
+ metadata.discriminator = key;
203
256
  };
204
257
  }
205
258
  //#endregion
@@ -209,7 +262,7 @@ export function Descendant(descendant) {
209
262
  */
210
263
  export const Timestamp = {
211
264
  [Symbol.hasInstance](instance) {
212
- return instance instanceof Date;
265
+ return Date[Symbol.hasInstance](instance);
213
266
  },
214
267
  get name() {
215
268
  return "Timestamp";
@@ -228,7 +281,7 @@ export const Timestamp = {
228
281
  */
229
282
  export const UnixSeconds = {
230
283
  [Symbol.hasInstance](instance) {
231
- return instance instanceof Date;
284
+ return Date[Symbol.hasInstance](instance);
232
285
  },
233
286
  get name() {
234
287
  return "UnixSeconds";
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "adaptive-extender",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "description": "Adaptive library for JS/TS development environments",
5
5
  "type": "module",
6
6
  "main": "./dist/core/index.js",