reactronic 0.24.113 → 0.24.114

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.
Files changed (40) hide show
  1. package/build/dist/source/Clock.d.ts +1 -1
  2. package/build/dist/source/Clock.js +1 -1
  3. package/build/dist/source/Options.d.ts +3 -3
  4. package/build/dist/source/Pipe.d.ts +1 -1
  5. package/build/dist/source/Pipe.js +1 -1
  6. package/build/dist/source/Reaction.d.ts +1 -1
  7. package/build/dist/source/Reaction.js +1 -1
  8. package/build/dist/source/Ref.js +1 -1
  9. package/build/dist/source/RxSystem.js +5 -5
  10. package/build/dist/source/api.d.ts +10 -10
  11. package/build/dist/source/api.js +9 -9
  12. package/build/dist/source/{RxNode.d.ts → tree/RxNode.d.ts} +2 -4
  13. package/build/dist/source/{RxTree.d.ts → tree/RxTree.d.ts} +1 -1
  14. package/build/dist/source/{RxTree.js → tree/RxTree.js} +16 -20
  15. package/package.json +1 -1
  16. /package/build/dist/source/{impl → core}/Changeset.d.ts +0 -0
  17. /package/build/dist/source/{impl → core}/Changeset.js +0 -0
  18. /package/build/dist/source/{impl → core}/Data.d.ts +0 -0
  19. /package/build/dist/source/{impl → core}/Data.js +0 -0
  20. /package/build/dist/source/{impl → core}/Journal.d.ts +0 -0
  21. /package/build/dist/source/{impl → core}/Journal.js +0 -0
  22. /package/build/dist/source/{impl → core}/Meta.d.ts +0 -0
  23. /package/build/dist/source/{impl → core}/Meta.js +0 -0
  24. /package/build/dist/source/{impl → core}/Monitor.d.ts +0 -0
  25. /package/build/dist/source/{impl → core}/Monitor.js +0 -0
  26. /package/build/dist/source/{impl → core}/Mvcc.d.ts +0 -0
  27. /package/build/dist/source/{impl → core}/Mvcc.js +0 -0
  28. /package/build/dist/source/{impl → core}/MvccArray.d.ts +0 -0
  29. /package/build/dist/source/{impl → core}/MvccArray.js +0 -0
  30. /package/build/dist/source/{impl → core}/MvccMap.d.ts +0 -0
  31. /package/build/dist/source/{impl → core}/MvccMap.js +0 -0
  32. /package/build/dist/source/{impl → core}/MvccMergeList.d.ts +0 -0
  33. /package/build/dist/source/{impl → core}/MvccMergeList.js +0 -0
  34. /package/build/dist/source/{impl → core}/Reaction.d.ts +0 -0
  35. /package/build/dist/source/{impl → core}/Reaction.js +0 -0
  36. /package/build/dist/source/{impl → core}/Transaction.d.ts +0 -0
  37. /package/build/dist/source/{impl → core}/Transaction.js +0 -0
  38. /package/build/dist/source/{RxNode.js → tree/RxNode.js} +0 -0
  39. /package/build/dist/source/{util → tree}/RxNodeUtils.d.ts +0 -0
  40. /package/build/dist/source/{util → tree}/RxNodeUtils.js +0 -0
@@ -1,4 +1,4 @@
1
- import { ObservableObject } from './impl/Mvcc.js';
1
+ import { ObservableObject } from './core/Mvcc.js';
2
2
  export declare class Clock extends ObservableObject {
3
3
  hour: number;
4
4
  minute: number;
@@ -7,7 +7,7 @@ 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
+ import { ObservableObject } from './core/Mvcc.js';
11
11
  import { transactional } from './RxSystem.js';
12
12
  export class Clock extends ObservableObject {
13
13
  constructor(interval = 1000) {
@@ -1,9 +1,9 @@
1
1
  import { LoggingOptions } from './Logging.js';
2
- import { SeparationMode } from './impl/Data.js';
2
+ import { SeparationMode } from './core/Data.js';
3
3
  export { LoggingLevel } from './Logging.js';
4
4
  export type { LoggingOptions, ProfilingOptions } from './Logging.js';
5
- import { Journal } from './impl/Journal.js';
6
- import { Monitor } from './impl/Monitor.js';
5
+ import { Journal } from './core/Journal.js';
6
+ import { Monitor } from './core/Monitor.js';
7
7
  export interface SnapshotOptions {
8
8
  readonly hint?: string;
9
9
  readonly separation?: SeparationMode;
@@ -1,4 +1,4 @@
1
- import { ObservableObject } from './impl/Mvcc.js';
1
+ import { ObservableObject } from './core/Mvcc.js';
2
2
  export declare abstract class Pipe<T> extends ObservableObject {
3
3
  abstract readonly capacity: number;
4
4
  abstract readonly count: number;
@@ -1,4 +1,4 @@
1
- import { ObservableObject } from './impl/Mvcc.js';
1
+ import { ObservableObject } from './core/Mvcc.js';
2
2
  export class Pipe extends ObservableObject {
3
3
  static create(hint, capacity) { throw new Error('not implemented'); }
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import { F } from './util/Utils.js';
2
- import { ObservableObject } from './impl/Mvcc.js';
2
+ import { ObservableObject } from './core/Mvcc.js';
3
3
  export declare class Reaction<T> extends ObservableObject {
4
4
  protected action: F<T>;
5
5
  constructor(action: F<T>);
@@ -7,7 +7,7 @@ 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
+ import { ObservableObject } from './core/Mvcc.js';
11
11
  import { reactive } from './RxSystem.js';
12
12
  export class Reaction extends ObservableObject {
13
13
  constructor(action) {
@@ -1,4 +1,4 @@
1
- import { Transaction } from './impl/Transaction.js';
1
+ import { Transaction } from './core/Transaction.js';
2
2
  import { unobs } from './RxSystem.js';
3
3
  export function refs(owner) {
4
4
  return new Proxy(owner, RefGettingProxy);
@@ -1,10 +1,10 @@
1
1
  import { Log } from './util/Dbg.js';
2
2
  import { Kind } from './Options.js';
3
- import { Meta, ObjectHandle } from './impl/Data.js';
4
- import { Changeset } from './impl/Changeset.js';
5
- import { Mvcc } from './impl/Mvcc.js';
6
- import { Transaction } from './impl/Transaction.js';
7
- import { ReactionImpl } from './impl/Reaction.js';
3
+ import { Meta, ObjectHandle } from './core/Data.js';
4
+ import { Changeset } from './core/Changeset.js';
5
+ import { Mvcc } from './core/Mvcc.js';
6
+ import { Transaction } from './core/Transaction.js';
7
+ import { ReactionImpl } from './core/Reaction.js';
8
8
  export class RxSystem {
9
9
  static why(brief = false) { return brief ? ReactionImpl.briefWhy() : ReactionImpl.why(); }
10
10
  static getReaction(method) { return ReactionImpl.getControllerOf(method); }
@@ -9,15 +9,15 @@ export type { AbstractReaction, MemberOptions, SnapshotOptions, LoggingOptions,
9
9
  export type { Worker } from './Worker.js';
10
10
  export { Ref, ToggleRef, refs, toggleRefs, customToggleRefs } from './Ref.js';
11
11
  export type { BoolOnly, GivenTypeOnly } from './Ref.js';
12
- export { TransactionalObject, ObservableObject } from './impl/Mvcc.js';
13
- export { TransactionalArray, ObservableArray } from './impl/MvccArray.js';
14
- export { TransactionalMap, ObservableMap } from './impl/MvccMap.js';
15
- export { Changeset } from './impl/Changeset.js';
16
- export { Transaction } from './impl/Transaction.js';
17
- export { Monitor } from './impl/Monitor.js';
18
- export { Journal } from './impl/Journal.js';
12
+ export { TransactionalObject, ObservableObject } from './core/Mvcc.js';
13
+ export { TransactionalArray, ObservableArray } from './core/MvccArray.js';
14
+ export { TransactionalMap, ObservableMap } from './core/MvccMap.js';
15
+ export { Changeset } from './core/Changeset.js';
16
+ export { Transaction } from './core/Transaction.js';
17
+ export { Monitor } from './core/Monitor.js';
18
+ export { Journal } from './core/Journal.js';
19
19
  export { RxSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, options } from './RxSystem.js';
20
- export { Mode, Priority } from './RxNode.js';
21
- export type { Delegate, SimpleDelegate, RxElement, RxNode, RxNodeDecl, RxNodeDriver, RxNodeContext } from './RxNode.js';
22
- export { RxTree, BaseDriver, RxNodeVariable } from './RxTree.js';
20
+ export { Mode, Priority } from './tree/RxNode.js';
21
+ export type { Delegate, SimpleDelegate, RxElement, RxNode, RxNodeDecl, RxNodeDriver, RxNodeContext } from './tree/RxNode.js';
22
+ export { RxTree, BaseDriver, RxNodeVariable } from './tree/RxTree.js';
23
23
  export { Clock } from './Clock.js';
@@ -5,14 +5,14 @@ export { SealedMap } from './util/SealedMap.js';
5
5
  export { SealedSet } from './util/SealedSet.js';
6
6
  export { Kind, Reentrance, LoggingLevel } from './Options.js';
7
7
  export { Ref, ToggleRef, refs, toggleRefs, customToggleRefs } from './Ref.js';
8
- export { TransactionalObject, ObservableObject } from './impl/Mvcc.js';
9
- export { TransactionalArray, ObservableArray } from './impl/MvccArray.js';
10
- export { TransactionalMap, ObservableMap } from './impl/MvccMap.js';
11
- export { Changeset } from './impl/Changeset.js';
12
- export { Transaction } from './impl/Transaction.js';
13
- export { Monitor } from './impl/Monitor.js';
14
- export { Journal } from './impl/Journal.js';
8
+ export { TransactionalObject, ObservableObject } from './core/Mvcc.js';
9
+ export { TransactionalArray, ObservableArray } from './core/MvccArray.js';
10
+ export { TransactionalMap, ObservableMap } from './core/MvccMap.js';
11
+ export { Changeset } from './core/Changeset.js';
12
+ export { Transaction } from './core/Transaction.js';
13
+ export { Monitor } from './core/Monitor.js';
14
+ export { Journal } from './core/Journal.js';
15
15
  export { RxSystem, raw, obs, transactional, reactive, cached, transaction, unobs, sensitive, options } from './RxSystem.js';
16
- export { Mode, Priority } from './RxNode.js';
17
- export { RxTree, BaseDriver, RxNodeVariable } from './RxTree.js';
16
+ export { Mode, Priority } from './tree/RxNode.js';
17
+ export { RxTree, BaseDriver, RxNodeVariable } from './tree/RxTree.js';
18
18
  export { Clock } from './Clock.js';
@@ -1,5 +1,5 @@
1
- import { MergeListReader, MergedItem } from './util/MergeList.js';
2
- import { MemberOptions } from './Options.js';
1
+ import { MergeListReader, MergedItem } from '../util/MergeList.js';
2
+ import { MemberOptions } from '../Options.js';
3
3
  export type Delegate<T> = (element: T, base: () => void) => void;
4
4
  export type SimpleDelegate<T = unknown, R = void> = (element: T) => R;
5
5
  export declare enum Mode {
@@ -40,8 +40,6 @@ export interface RxNodeDecl<E extends RxElement> {
40
40
  key?: string;
41
41
  mode?: Mode;
42
42
  triggers?: unknown;
43
- specify?: Delegate<E>;
44
- create?: Delegate<E>;
45
43
  initialize?: Delegate<E>;
46
44
  update?: Delegate<E>;
47
45
  finalize?: Delegate<E>;
@@ -1,4 +1,4 @@
1
- import { LoggingOptions } from './Logging.js';
1
+ import { LoggingOptions } from '../Logging.js';
2
2
  import { Priority, RxNodeDecl, RxNodeDriver, SimpleDelegate, RxNode, RxElement } from './RxNode.js';
3
3
  export declare class RxTree {
4
4
  static readonly shortFrameDuration = 16;
@@ -16,13 +16,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
16
  step((generator = generator.apply(thisArg, _arguments || [])).next());
17
17
  });
18
18
  };
19
- import { MergeList } from './util/MergeList.js';
19
+ import { MergeList } from '../util/MergeList.js';
20
+ import { emitLetters, getCallerInfo } from './RxNodeUtils.js';
21
+ import { Reentrance } from '../Options.js';
22
+ import { ObservableObject } from '../core/Mvcc.js';
23
+ import { Transaction } from '../core/Transaction.js';
24
+ import { RxSystem, options, raw, reactive, unobs } from '../RxSystem.js';
20
25
  import { Priority, Mode } from './RxNode.js';
21
- import { emitLetters, getCallerInfo } from './util/RxNodeUtils.js';
22
- import { Reentrance } from './Options.js';
23
- import { ObservableObject } from './impl/Mvcc.js';
24
- import { Transaction } from './impl/Transaction.js';
25
- import { RxSystem, options, raw, reactive, unobs } from './RxSystem.js';
26
26
  export class RxTree {
27
27
  static declare(driver, declaration, preset) {
28
28
  var _a;
@@ -62,7 +62,7 @@ export class RxTree {
62
62
  const node = new RxNodeImpl(key || '', driver, declaration, owner);
63
63
  node.seat = MergeList.createItem(node);
64
64
  result = node.element;
65
- triggerUpdateGivenSeat(node.seat);
65
+ triggerSeatUpdate(node.seat);
66
66
  }
67
67
  return result;
68
68
  }
@@ -71,7 +71,7 @@ export class RxTree {
71
71
  const declaration = node.declaration;
72
72
  if (!triggersAreEqual(triggers, declaration.triggers)) {
73
73
  declaration.triggers = triggers;
74
- triggerUpdateGivenSeat(node.seat);
74
+ triggerSeatUpdate(node.seat);
75
75
  }
76
76
  }
77
77
  static updateNestedTreesThenDo(action) {
@@ -319,20 +319,19 @@ function runUpdateNestedTreesThenDo(error, action) {
319
319
  for (const child of children.items()) {
320
320
  if (Transaction.isCanceled)
321
321
  break;
322
- const node = child.instance;
323
- const el = node.element;
324
- const isPart = node.driver.isPartitionSeparator;
322
+ const childNode = child.instance;
323
+ const isPart = childNode.driver.isPartitionSeparator;
325
324
  const host = isPart ? owner : partition;
326
- const p = (_a = el.node.priority) !== null && _a !== void 0 ? _a : Priority.Realtime;
325
+ const p = (_a = childNode.priority) !== null && _a !== void 0 ? _a : Priority.Realtime;
327
326
  mounting = markToMountIfNecessary(mounting, host, child, children, sequential);
328
327
  if (p === Priority.Realtime)
329
- triggerUpdateGivenSeat(child);
328
+ triggerSeatUpdate(child);
330
329
  else if (p === Priority.Normal)
331
330
  p1 = push(child, p1);
332
331
  else
333
332
  p2 = push(child, p2);
334
333
  if (isPart)
335
- partition = node;
334
+ partition = childNode;
336
335
  }
337
336
  if (!Transaction.isCanceled && (p1 !== undefined || p2 !== undefined))
338
337
  promised = startIncrementalUpdate(curr, children, p1, p2).then(() => action(error), e => action(e));
@@ -346,8 +345,7 @@ function runUpdateNestedTreesThenDo(error, action) {
346
345
  }
347
346
  function markToMountIfNecessary(mounting, host, seat, children, sequential) {
348
347
  const node = seat.instance;
349
- const el = node.element;
350
- if (el.native && !node.has(Mode.ManualMount)) {
348
+ if (node.element.native && !node.has(Mode.ManualMount)) {
351
349
  if (mounting || node.host !== host) {
352
350
  children.markAsMoved(seat);
353
351
  mounting = false;
@@ -380,7 +378,7 @@ function updateIncrementally(owner, stamp, allChildren, items, priority) {
380
378
  const frameDurationLimit = priority === Priority.Background ? RxTree.shortFrameDuration : Infinity;
381
379
  let frameDuration = Math.min(frameDurationLimit, Math.max(RxTree.frameDuration / 4, RxTree.shortFrameDuration));
382
380
  for (const child of items) {
383
- triggerUpdateGivenSeat(child);
381
+ triggerSeatUpdate(child);
384
382
  if (Transaction.isFrameOver(1, frameDuration)) {
385
383
  RxTree.currentUpdatePriority = outerPriority;
386
384
  yield Transaction.requestNextFrame(0);
@@ -398,7 +396,7 @@ function updateIncrementally(owner, stamp, allChildren, items, priority) {
398
396
  }
399
397
  });
400
398
  }
401
- function triggerUpdateGivenSeat(seat) {
399
+ function triggerSeatUpdate(seat) {
402
400
  const node = seat.instance;
403
401
  if (node.stamp >= 0) {
404
402
  if (node.has(Mode.IndependentUpdate)) {
@@ -472,8 +470,6 @@ function triggerFinalization(seat, isLeader, individual) {
472
470
  console.log(`WARNING: it is recommended to assign explicit key for conditional element in order to avoid unexpected side effects: ${node.key}`);
473
471
  node.stamp = ~node.stamp;
474
472
  const childrenAreLeaders = unobs(() => driver.finalize(el, isLeader));
475
- el.native = null;
476
- el.controller = null;
477
473
  if (node.has(Mode.IndependentUpdate)) {
478
474
  seat.aux = undefined;
479
475
  const last = gLastToDispose;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactronic",
3
- "version": "0.24.113",
3
+ "version": "0.24.114",
4
4
  "description": "Reactronic - Transactional Reactive State Management",
5
5
  "publisher": "Nezaboodka Software",
6
6
  "license": "Apache-2.0",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes