@mmstack/primitives 21.0.15 → 21.0.17
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/README.md +276 -15
- package/fesm2022/mmstack-primitives.mjs +160 -13
- package/fesm2022/mmstack-primitives.mjs.map +1 -1
- package/package.json +1 -1
- package/types/mmstack-primitives.d.ts +40 -11
package/package.json
CHANGED
|
@@ -1331,32 +1331,61 @@ type Sensors<TKey extends keyof SensorTypedOptions> = {
|
|
|
1331
1331
|
};
|
|
1332
1332
|
declare function sensors<const TType extends keyof SensorTypedOptions>(track: TType[], opt?: SensorsOptions<TType>): Sensors<TType>;
|
|
1333
1333
|
|
|
1334
|
-
type BaseType = string | number | boolean | symbol | undefined | null | Function | Date | RegExp
|
|
1334
|
+
type BaseType = string | number | boolean | symbol | undefined | null | Function | Date | RegExp;
|
|
1335
1335
|
type Key = string | number;
|
|
1336
1336
|
type AnyRecord = Record<Key, any>;
|
|
1337
|
-
|
|
1338
|
-
|
|
1337
|
+
/**
|
|
1338
|
+
* @internal
|
|
1339
|
+
* Validates whether a value is a Signal Store.
|
|
1340
|
+
*/
|
|
1341
|
+
declare function isStore<T>(value: unknown): value is SignalStore<T>;
|
|
1342
|
+
type SignalArrayStore<T extends any[]> = Signal<T> & {
|
|
1343
|
+
readonly [index: number]: SignalStore<T[number]>;
|
|
1344
|
+
readonly length: Signal<number>;
|
|
1345
|
+
[Symbol.iterator](): Iterator<SignalStore<T[number]>>;
|
|
1346
|
+
};
|
|
1347
|
+
type WritableArrayStore<T extends any[]> = WritableSignal<T> & {
|
|
1348
|
+
readonly asReadonlyStore: () => SignalArrayStore<T>;
|
|
1349
|
+
readonly [index: number]: WritableSignalStore<T[number]>;
|
|
1350
|
+
readonly length: Signal<number>;
|
|
1351
|
+
[Symbol.iterator](): Iterator<WritableSignalStore<T[number]>>;
|
|
1352
|
+
};
|
|
1353
|
+
type MutableArrayStore<T extends any[]> = MutableSignal<T> & {
|
|
1354
|
+
readonly asReadonlyStore: () => SignalArrayStore<T>;
|
|
1355
|
+
readonly [index: number]: MutableSignalStore<T[number]>;
|
|
1356
|
+
readonly length: Signal<number>;
|
|
1357
|
+
[Symbol.iterator](): Iterator<MutableSignalStore<T[number]>>;
|
|
1358
|
+
};
|
|
1359
|
+
type SignalStore<T> = Signal<T> & (NonNullable<T> extends BaseType ? unknown : NonNullable<T> extends Array<any> ? SignalArrayStore<NonNullable<T>> : Readonly<{
|
|
1339
1360
|
[K in keyof Required<T>]: SignalStore<NonNullable<T>[K]>;
|
|
1340
1361
|
}>);
|
|
1341
1362
|
type WritableSignalStore<T> = WritableSignal<T> & {
|
|
1342
1363
|
readonly asReadonlyStore: () => SignalStore<T>;
|
|
1343
|
-
} & (NonNullable<T> extends BaseType ? unknown : Readonly<{
|
|
1364
|
+
} & (NonNullable<T> extends BaseType ? unknown : NonNullable<T> extends Array<any> ? WritableArrayStore<NonNullable<T>> : Readonly<{
|
|
1344
1365
|
[K in keyof Required<T>]: WritableSignalStore<NonNullable<T>[K]>;
|
|
1345
1366
|
}>);
|
|
1346
1367
|
type MutableSignalStore<T> = MutableSignal<T> & {
|
|
1347
1368
|
readonly asReadonlyStore: () => SignalStore<T>;
|
|
1348
|
-
} & (NonNullable<T> extends BaseType ? unknown : Readonly<{
|
|
1369
|
+
} & (NonNullable<T> extends BaseType ? unknown : NonNullable<T> extends Array<any> ? MutableArrayStore<NonNullable<T>> : Readonly<{
|
|
1349
1370
|
[K in keyof Required<T>]: MutableSignalStore<NonNullable<T>[K]>;
|
|
1350
1371
|
}>);
|
|
1351
|
-
/**
|
|
1352
|
-
* Validates whether a value is a Signal Store.
|
|
1353
|
-
*/
|
|
1354
|
-
declare function isStore<T>(value: unknown): value is SignalStore<T>;
|
|
1355
1372
|
declare function toStore<T extends AnyRecord>(source: MutableSignal<T>, injector?: Injector): MutableSignalStore<T>;
|
|
1356
1373
|
declare function toStore<T extends AnyRecord>(source: WritableSignal<T>, injector?: Injector): WritableSignalStore<T>;
|
|
1357
1374
|
declare function toStore<T extends AnyRecord>(source: Signal<T>, injector?: Injector): SignalStore<T>;
|
|
1358
|
-
|
|
1359
|
-
|
|
1375
|
+
/**
|
|
1376
|
+
* Creates a WritableSignalStore from a value.
|
|
1377
|
+
* @see {@link toStore}
|
|
1378
|
+
*/
|
|
1379
|
+
declare function store<T extends AnyRecord>(value: T, opt?: CreateSignalOptions<T> & {
|
|
1380
|
+
injector?: Injector;
|
|
1381
|
+
}): WritableSignalStore<T>;
|
|
1382
|
+
/**
|
|
1383
|
+
* Creates a MutableSignalStore from a value.
|
|
1384
|
+
* @see {@link toStore}
|
|
1385
|
+
*/
|
|
1386
|
+
declare function mutableStore<T extends AnyRecord>(value: T, opt?: CreateSignalOptions<T> & {
|
|
1387
|
+
injector?: Injector;
|
|
1388
|
+
}): MutableSignalStore<T>;
|
|
1360
1389
|
|
|
1361
1390
|
/**
|
|
1362
1391
|
* Interface for storage mechanisms compatible with the `stored` signal.
|