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.
@@ -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 Buffer<T> extends ObservableObject {
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): Buffer<T>;
7
+ static create<T>(hint?: string, capacity?: number): Pipe<T>;
8
8
  }
@@ -1,4 +1,4 @@
1
1
  import { ObservableObject } from './impl/Mvcc.js';
2
- export class Buffer extends ObservableObject {
2
+ export class Pipe extends ObservableObject {
3
3
  static create(hint, capacity) { throw new Error('not implemented'); }
4
4
  }
@@ -1,17 +1,6 @@
1
1
  import { F } from './util/Utils.js';
2
- import { MemberOptions } from './Options.js';
3
- export interface AbstractReaction<T> {
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 './Reaction.js';
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
- claim(key: string): MergeItem<T> | undefined;
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
- lastClaimedItem(): MergeItem<T> | undefined;
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
- claim(key) { return this.impl.claim(key); }
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
- lastClaimedItem() { return this.impl.lastClaimedItem(); }
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
- claim(key: string): MergeItem<T> | undefined;
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
- lastClaimedItem(): MergeItem<T> | undefined;
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
- claim(key: string, resolution?: {
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
- lastClaimedItem(): MergeItem<T> | undefined;
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
- claim(key, resolution, error) {
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
- lastClaimedItem() {
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.111",
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.8.9",
35
- "@types/react": "18.2.33",
36
- "@typescript-eslint/eslint-plugin": "6.9.0",
37
- "@typescript-eslint/parser": "6.9.0",
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.52.0",
40
+ "eslint": "8.54.0",
41
41
  "react": "18.2.0",
42
42
  "ts-node": "10.9.1",
43
43
  "typescript": "5.2.2"