reactronic 0.23.111 → 0.23.113
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/build/dist/source/Options.d.ts +11 -0
- package/build/dist/source/{Buffer.d.ts → Pipe.d.ts} +2 -2
- package/build/dist/source/{Buffer.js → Pipe.js} +1 -1
- package/build/dist/source/Reaction.d.ts +2 -13
- package/build/dist/source/Reaction.js +3 -1
- package/build/dist/source/Rx.d.ts +1 -2
- package/build/dist/source/api.d.ts +1 -2
- package/build/dist/source/impl/MvccMergeList.d.ts +2 -2
- package/build/dist/source/impl/MvccMergeList.js +2 -2
- package/build/dist/source/impl/Reaction.d.ts +1 -2
- package/build/dist/source/util/MergeList.d.ts +4 -4
- package/build/dist/source/util/MergeList.js +2 -2
- package/package.json +6 -6
|
@@ -37,3 +37,14 @@ export declare enum Reentrance {
|
|
|
37
37
|
OverwritePrevious = -3,
|
|
38
38
|
RunSideBySide = -4
|
|
39
39
|
}
|
|
40
|
+
export interface AbstractReaction<T> {
|
|
41
|
+
readonly options: MemberOptions;
|
|
42
|
+
readonly args: ReadonlyArray<any>;
|
|
43
|
+
readonly result: T;
|
|
44
|
+
readonly error: any;
|
|
45
|
+
readonly stamp: number;
|
|
46
|
+
readonly isUpToDate: boolean;
|
|
47
|
+
configure(options: Partial<MemberOptions>): MemberOptions;
|
|
48
|
+
markObsolete(): void;
|
|
49
|
+
pullLastResult(args?: any[]): T | undefined;
|
|
50
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ObservableObject } from './impl/Mvcc.js';
|
|
2
|
-
export declare abstract class
|
|
2
|
+
export declare abstract class Pipe<T> extends ObservableObject {
|
|
3
3
|
abstract readonly capacity: number;
|
|
4
4
|
abstract readonly count: number;
|
|
5
5
|
abstract put(...items: T[]): void;
|
|
6
6
|
abstract take(count: number): T[];
|
|
7
|
-
static create<T>(hint?: string, capacity?: number):
|
|
7
|
+
static create<T>(hint?: string, capacity?: number): Pipe<T>;
|
|
8
8
|
}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
import { F } from './util/Utils.js';
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
4
|
-
readonly options: MemberOptions;
|
|
5
|
-
readonly args: ReadonlyArray<any>;
|
|
6
|
-
readonly result: T;
|
|
7
|
-
readonly error: any;
|
|
8
|
-
readonly stamp: number;
|
|
9
|
-
readonly isUpToDate: boolean;
|
|
10
|
-
configure(options: Partial<MemberOptions>): MemberOptions;
|
|
11
|
-
markObsolete(): void;
|
|
12
|
-
pullLastResult(args?: any[]): T | undefined;
|
|
13
|
-
}
|
|
14
|
-
export declare class Reaction<T> {
|
|
2
|
+
import { ObservableObject } from './impl/Mvcc.js';
|
|
3
|
+
export declare class Reaction<T> extends ObservableObject {
|
|
15
4
|
protected action: F<T>;
|
|
16
5
|
constructor(action: F<T>);
|
|
17
6
|
protected launch(): T;
|
|
@@ -7,9 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
import { ObservableObject } from './impl/Mvcc.js';
|
|
10
11
|
import { reactive } from './Rx.js';
|
|
11
|
-
export class Reaction {
|
|
12
|
+
export class Reaction extends ObservableObject {
|
|
12
13
|
constructor(action) {
|
|
14
|
+
super();
|
|
13
15
|
this.action = action;
|
|
14
16
|
}
|
|
15
17
|
launch() {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { F } from './util/Utils.js';
|
|
2
|
-
import { AbstractReaction } from './
|
|
3
|
-
import { MemberOptions, LoggingOptions, ProfilingOptions } from './Options.js';
|
|
2
|
+
import { AbstractReaction, MemberOptions, LoggingOptions, ProfilingOptions } from './Options.js';
|
|
4
3
|
export declare class Rx {
|
|
5
4
|
static why(brief?: boolean): string;
|
|
6
5
|
static getReaction<T>(method: F<T>): AbstractReaction<T>;
|
|
@@ -5,9 +5,8 @@ export { SealedArray } from './util/SealedArray.js';
|
|
|
5
5
|
export { SealedMap } from './util/SealedMap.js';
|
|
6
6
|
export { SealedSet } from './util/SealedSet.js';
|
|
7
7
|
export { Kind, Reentrance, LoggingLevel } from './Options.js';
|
|
8
|
-
export type { MemberOptions, SnapshotOptions, LoggingOptions, ProfilingOptions } from './Options.js';
|
|
8
|
+
export type { AbstractReaction, MemberOptions, SnapshotOptions, LoggingOptions, ProfilingOptions } from './Options.js';
|
|
9
9
|
export type { Worker } from './Worker.js';
|
|
10
|
-
export type { AbstractReaction } from './Reaction.js';
|
|
11
10
|
export { Ref, ToggleRef, refs, toggleRefs, customToggleRefs } from './Ref.js';
|
|
12
11
|
export type { BoolOnly, GivenTypeOnly } from './Ref.js';
|
|
13
12
|
export { TransactionalObject, ObservableObject } from './impl/Mvcc.js';
|
|
@@ -8,14 +8,14 @@ export declare abstract class ObservableMergeList<T> extends ObservableObject im
|
|
|
8
8
|
get removedCount(): number;
|
|
9
9
|
get isMergeInProgress(): boolean;
|
|
10
10
|
lookup(key: string): MergeItem<T> | undefined;
|
|
11
|
-
|
|
11
|
+
specify(key: string): MergeItem<T> | undefined;
|
|
12
12
|
add(instance: T): MergeItem<T>;
|
|
13
13
|
remove(item: MergeItem<T>): void;
|
|
14
14
|
move(item: MergeItem<T>, after: MergeItem<T>): void;
|
|
15
15
|
beginMerge(): void;
|
|
16
16
|
endMerge(error?: unknown): void;
|
|
17
17
|
resetAddedAndRemovedLists(): void;
|
|
18
|
-
|
|
18
|
+
lastSpecifiedItem(): MergeItem<T> | undefined;
|
|
19
19
|
items(): Generator<MergeItem<T>>;
|
|
20
20
|
addedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
21
21
|
removedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
@@ -6,14 +6,14 @@ export class ObservableMergeList extends ObservableObject {
|
|
|
6
6
|
get removedCount() { return this.impl.removedCount; }
|
|
7
7
|
get isMergeInProgress() { return this.impl.isMergeInProgress; }
|
|
8
8
|
lookup(key) { return this.impl.lookup(key); }
|
|
9
|
-
|
|
9
|
+
specify(key) { return this.impl.specify(key); }
|
|
10
10
|
add(instance) { return this.impl.add(instance); }
|
|
11
11
|
remove(item) { return this.impl.remove(item); }
|
|
12
12
|
move(item, after) { this.impl.move(item, after); }
|
|
13
13
|
beginMerge() { this.impl.beginMerge(); }
|
|
14
14
|
endMerge(error) { this.impl.endMerge(error); }
|
|
15
15
|
resetAddedAndRemovedLists() { this.impl.resetAddedAndRemovedLists(); }
|
|
16
|
-
|
|
16
|
+
lastSpecifiedItem() { return this.impl.lastSpecifiedItem(); }
|
|
17
17
|
items() { return this.impl.items(); }
|
|
18
18
|
addedItems(reset) { return this.impl.addedItems(reset); }
|
|
19
19
|
removedItems(reset) { return this.impl.removedItems(reset); }
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { F } from '../util/Utils.js';
|
|
2
|
-
import { MemberOptions } from '../Options.js';
|
|
3
|
-
import { AbstractReaction } from '../Reaction.js';
|
|
2
|
+
import { AbstractReaction, MemberOptions } from '../Options.js';
|
|
4
3
|
import { MemberName, ObjectHandle, ValueSnapshot, Observer, Subscription, AbstractChangeset } from './Data.js';
|
|
5
4
|
import { Transaction } from './Transaction.js';
|
|
6
5
|
import { OptionsImpl } from './Mvcc.js';
|
|
@@ -6,14 +6,14 @@ export interface MergeListReader<T> {
|
|
|
6
6
|
readonly removedCount: number;
|
|
7
7
|
readonly isMergeInProgress: boolean;
|
|
8
8
|
lookup(key: string): MergeItem<T> | undefined;
|
|
9
|
-
|
|
9
|
+
specify(key: string): MergeItem<T> | undefined;
|
|
10
10
|
add(instance: T): MergeItem<T>;
|
|
11
11
|
remove(item: MergeItem<T>): void;
|
|
12
12
|
move(item: MergeItem<T>, after: MergeItem<T>): void;
|
|
13
13
|
beginMerge(): void;
|
|
14
14
|
endMerge(error?: unknown): void;
|
|
15
15
|
resetAddedAndRemovedLists(): void;
|
|
16
|
-
|
|
16
|
+
lastSpecifiedItem(): MergeItem<T> | undefined;
|
|
17
17
|
items(): Generator<MergeItem<T>>;
|
|
18
18
|
addedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
19
19
|
removedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
@@ -45,7 +45,7 @@ export declare class MergeList<T> implements MergeListReader<T> {
|
|
|
45
45
|
get removedCount(): number;
|
|
46
46
|
get isMergeInProgress(): boolean;
|
|
47
47
|
lookup(key: string | undefined): MergeItem<T> | undefined;
|
|
48
|
-
|
|
48
|
+
specify(key: string, resolution?: {
|
|
49
49
|
isDuplicate: boolean;
|
|
50
50
|
}, error?: string): MergeItem<T> | undefined;
|
|
51
51
|
add(instance: T): MergeItem<T>;
|
|
@@ -54,7 +54,7 @@ export declare class MergeList<T> implements MergeListReader<T> {
|
|
|
54
54
|
beginMerge(): void;
|
|
55
55
|
endMerge(error?: unknown): void;
|
|
56
56
|
resetAddedAndRemovedLists(): void;
|
|
57
|
-
|
|
57
|
+
lastSpecifiedItem(): MergeItem<T> | undefined;
|
|
58
58
|
items(): Generator<MergeItem<T>>;
|
|
59
59
|
addedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
60
60
|
removedItems(reset?: boolean): Generator<MergeItem<T>>;
|
|
@@ -43,7 +43,7 @@ export class MergeList {
|
|
|
43
43
|
}
|
|
44
44
|
return result;
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
specify(key, resolution, error) {
|
|
47
47
|
const tag = this.tag;
|
|
48
48
|
if (tag < 0)
|
|
49
49
|
throw new Error(error !== null && error !== void 0 ? error : 'merge is not in progress');
|
|
@@ -142,7 +142,7 @@ export class MergeList {
|
|
|
142
142
|
this.removed.reset();
|
|
143
143
|
this.added.reset();
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
lastSpecifiedItem() {
|
|
146
146
|
return this.current.last;
|
|
147
147
|
}
|
|
148
148
|
*items() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reactronic",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.113",
|
|
4
4
|
"description": "Reactronic - Transactional Reactive State Management",
|
|
5
5
|
"publisher": "Nezaboodka Software",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/nezaboodka/reactronic/blob/master/README.md#readme",
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/node": "20.
|
|
35
|
-
"@types/react": "18.2.
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
37
|
-
"@typescript-eslint/parser": "6.
|
|
34
|
+
"@types/node": "20.10.0",
|
|
35
|
+
"@types/react": "18.2.39",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "6.13.1",
|
|
37
|
+
"@typescript-eslint/parser": "6.13.1",
|
|
38
38
|
"ava": "5.3.1",
|
|
39
39
|
"c8": "8.0.1",
|
|
40
|
-
"eslint": "8.
|
|
40
|
+
"eslint": "8.54.0",
|
|
41
41
|
"react": "18.2.0",
|
|
42
42
|
"ts-node": "10.9.1",
|
|
43
43
|
"typescript": "5.2.2"
|