reactronic 0.95.25045 → 0.95.25046

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.
@@ -3,8 +3,8 @@ import { ReconciliationList, ReconciliationListReader, LinkedItem } from "../uti
3
3
  import { Priority, Mode } from "../Enums.js";
4
4
  import { ReactivityOptions } from "../Options.js";
5
5
  import { SxObject } from "../core/Mvcc.js";
6
- export type Script<E> = (o: E, basis: () => void) => void;
7
- export type ScriptAsync<E> = (o: E, basis: () => Promise<void>) => Promise<void>;
6
+ export type Script<E> = (this: E, o: E, basis: () => void) => void;
7
+ export type ScriptAsync<E> = (this: E, o: E, basis: () => Promise<void>) => Promise<void>;
8
8
  export type Handler<E = unknown, R = void> = (o: E) => R;
9
9
  export declare function declare<E = void>(driver: ReactiveTreeNodeDriver<E>, script?: Script<E>, scriptAsync?: ScriptAsync<E>, key?: string, mode?: Mode, preparation?: Script<E>, preparationAsync?: ScriptAsync<E>, finalization?: Script<E>, triggers?: unknown, basis?: ReactiveTreeNodeDecl<E>): ReactiveTreeNode<E>;
10
10
  export declare function declare<E = void>(driver: ReactiveTreeNodeDriver<E>, declaration?: ReactiveTreeNodeDecl<E>): ReactiveTreeNode<E>;
@@ -204,9 +204,9 @@ function invokeScriptUsingBasisChain(element, declaration) {
204
204
  if (script && scriptAsync)
205
205
  throw misuse("'script' and 'scriptAsync' cannot be defined together");
206
206
  if (script)
207
- result = script(element, basis ? () => invokeScriptUsingBasisChain(element, basis) : NOP);
207
+ result = script.call(element, element, basis ? () => invokeScriptUsingBasisChain(element, basis) : NOP);
208
208
  else if (scriptAsync)
209
- result = scriptAsync(element, basis ? () => invokeScriptUsingBasisChain(element, basis) : NOP_ASYNC);
209
+ result = scriptAsync.call(element, element, basis ? () => invokeScriptUsingBasisChain(element, basis) : NOP_ASYNC);
210
210
  else if (basis)
211
211
  result = invokeScriptUsingBasisChain(element, basis);
212
212
  return result;
@@ -219,9 +219,9 @@ function invokePreparationUsingBasisChain(element, declaration) {
219
219
  if (preparation && preparationAsync)
220
220
  throw misuse("'preparation' and 'preparationAsync' cannot be defined together");
221
221
  if (preparation)
222
- result = preparation(element, basis ? () => invokePreparationUsingBasisChain(element, basis) : NOP);
222
+ result = preparation.call(element, element, basis ? () => invokePreparationUsingBasisChain(element, basis) : NOP);
223
223
  else if (preparationAsync)
224
- result = preparationAsync(element, basis ? () => invokePreparationUsingBasisChain(element, basis) : NOP_ASYNC);
224
+ result = preparationAsync.call(element, element, basis ? () => invokePreparationUsingBasisChain(element, basis) : NOP_ASYNC);
225
225
  else if (basis)
226
226
  result = invokePreparationUsingBasisChain(element, basis);
227
227
  return result;
@@ -230,7 +230,7 @@ function invokeFinalizationUsingBasisChain(element, declaration) {
230
230
  const basis = declaration.basis;
231
231
  const finalization = declaration.finalization;
232
232
  if (finalization)
233
- finalization(element, basis ? () => invokeFinalizationUsingBasisChain(element, basis) : NOP);
233
+ finalization.call(element, element, basis ? () => invokeFinalizationUsingBasisChain(element, basis) : NOP);
234
234
  else if (basis)
235
235
  invokeFinalizationUsingBasisChain(element, basis);
236
236
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactronic",
3
- "version": "0.95.25045",
3
+ "version": "0.95.25046",
4
4
  "description": "Reactronic - Transactional Reactive State Management",
5
5
  "publisher": "Nezaboodka Software",
6
6
  "license": "Apache-2.0",