Comparing version 0.5.31 to 0.5.32
import { FC } from 'react'; | ||
import { transaction, untrack } from 'reactive-box'; | ||
export { value, selector, prop, cache, signal, ready, on, once, effect, un, sync, cycle, loop, pool, stoppable, isolate, shared, initial, observe, useValue, useLocal, useScoped, shared as useShared, Scope, free, mock, unmock, transaction, untrack, Ensurable, Selector, Value, Signal, StopSignal, ReadySignal, }; | ||
export { value, selector, prop, cache, signal, ready, on, effect, un, sync, cycle, loop, pool, stoppable, isolate, shared, initial, observe, useValue, useLocal, useScoped, shared as useShared, Scope, free, mock, unmock, transaction, untrack, Ensurable, Selector, Value, Signal, StopSignal, ReadySignal, }; | ||
declare type Ensurable<T> = T | void; | ||
@@ -54,4 +54,4 @@ declare type Callable<T> = { | ||
watch: { | ||
(listener: (value: K, prev: K) => void): () => void; | ||
once(listener: (value: K, prev: K) => void): () => void; | ||
(listener: (value: K extends Ensurable<infer P> ? P : K, prev: K) => void): () => void; | ||
once(listener: (value: K extends Ensurable<infer P> ? P : K, prev: K) => void): () => void; | ||
}; | ||
@@ -165,13 +165,17 @@ reset(): void; | ||
declare function pool<K extends () => Promise<any>>(body: K): Pool<K>; | ||
declare function on<T>(target: Reactionable<Ensurable<T>>, listener: (value: T, prev?: T) => void): () => void; | ||
declare function on<T>(target: Reactionable<Ensurable<T>>, listener: (value: T, prev: Ensurable<T>) => void): () => void; | ||
declare namespace on { | ||
var once: typeof import(".").once; | ||
var once: { | ||
<T>(target: Reactionable<Ensurable<T>>, listener: (value: T, prev: Ensurable<T>) => void): () => void; | ||
<T_1>(target: Reactionable<T_1>, listener: (value: T_1, prev: T_1) => void): () => void; | ||
}; | ||
} | ||
declare function on<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void; | ||
declare function on<T>(target: Reactionable<T>, listener: (value: T, prev: T) => void): () => void; | ||
declare namespace on { | ||
var once: typeof import(".").once; | ||
var once: { | ||
<T>(target: Reactionable<Ensurable<T>>, listener: (value: T, prev: Ensurable<T>) => void): () => void; | ||
<T_1>(target: Reactionable<T_1>, listener: (value: T_1, prev: T_1) => void): () => void; | ||
}; | ||
} | ||
declare function once<T>(target: Reactionable<Ensurable<T>>, listener: (value: T, prev?: T) => void): () => void; | ||
declare function once<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void; | ||
declare function sync<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void; | ||
declare function sync<T>(target: Reactionable<T>, listener: (value: T, prev: T) => void): () => void; | ||
declare function effect(fn: () => void): () => void; | ||
@@ -178,0 +182,0 @@ declare function effect(fn: () => () => any): () => any; |
@@ -12,3 +12,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.untrack = exports.transaction = exports.unmock = exports.mock = exports.free = exports.Scope = exports.useShared = exports.useScoped = exports.useLocal = exports.useValue = exports.observe = exports.initial = exports.shared = exports.isolate = exports.stoppable = exports.pool = exports.loop = exports.cycle = exports.sync = exports.un = exports.effect = exports.once = exports.on = exports.ready = exports.signal = exports.cache = exports.prop = exports.selector = exports.value = void 0; | ||
exports.untrack = exports.transaction = exports.unmock = exports.mock = exports.free = exports.Scope = exports.useShared = exports.useScoped = exports.useLocal = exports.useValue = exports.observe = exports.initial = exports.shared = exports.isolate = exports.stoppable = exports.pool = exports.loop = exports.cycle = exports.sync = exports.un = exports.effect = exports.on = exports.ready = exports.signal = exports.cache = exports.prop = exports.selector = exports.value = void 0; | ||
const reactive_box_1 = require("reactive-box"); | ||
@@ -110,5 +110,4 @@ Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return reactive_box_1.transaction; } }); | ||
function ready_from(source) { | ||
if (source[0]) | ||
source = source[0]; | ||
const dest = ready(source()); | ||
const fn = source[0] || source; | ||
const dest = ready(fn()); | ||
on(source, dest); | ||
@@ -328,3 +327,2 @@ return dest; | ||
} | ||
exports.once = once; | ||
function sync(target, listener) { | ||
@@ -331,0 +329,0 @@ is_sync = 1; |
{ | ||
"name": "realar", | ||
"version": "0.5.31", | ||
"version": "0.5.32", | ||
"description": "React state manager", | ||
@@ -88,3 +88,3 @@ "repository": { | ||
}, | ||
"gitHead": "f4e5fcfcdd9e170aa8a001794c05449bee1dbe35" | ||
"gitHead": "39f691a82c172cdc450fb02f4450398718e85db5" | ||
} |
@@ -430,3 +430,3 @@ # Realar | ||
_Documentation not ready yet for `effect`, `loop`, `pool`, `stoppable`, `initial`, `mock`, `unmock`, `free`, `transaction`, `untrack`, `isolate`, `ready`, `once`, `un` functions. It's coming soon._ | ||
_Documentation not ready yet for `effect`, `loop`, `pool`, `stoppable`, `initial`, `mock`, `unmock`, `free`, `transaction`, `untrack`, `isolate`, `ready`, `un` functions. It's coming soon._ | ||
@@ -433,0 +433,0 @@ ### Demos |
@@ -12,3 +12,2 @@ import React, { Context, FC } from 'react'; | ||
on, | ||
once, | ||
effect, | ||
@@ -142,5 +141,6 @@ un, | ||
select(): Selector<K>; | ||
watch: { | ||
(listener: (value: K, prev: K) => void): () => void; | ||
once(listener: (value: K, prev: K) => void): () => void; | ||
(listener: (value: K extends Ensurable<infer P> ? P : K, prev: K) => void): () => void; | ||
once(listener: (value: K extends Ensurable<infer P> ? P : K, prev: K) => void): () => void; | ||
}; | ||
@@ -304,5 +304,4 @@ reset(): void; | ||
function ready_from<T>(source: Reactionable<T>): ReadySignal<T> { | ||
if ((source as any)[0]) source = (source as any)[0]; | ||
const dest = ready((source as any)()); | ||
const fn = (source as any)[0] || (source as any); | ||
const dest = ready(fn()); | ||
on(source, dest); | ||
@@ -476,6 +475,6 @@ | ||
function run() { | ||
function run(this: any) { | ||
const stop = stop_signal(); | ||
isolate(threads.sub.once(stop, t => t.filter(ctx => ctx !== stop))); | ||
threads.update(t => t.concat(stop)); | ||
threads.update(t => t.concat(stop as any)); | ||
@@ -487,3 +486,3 @@ const stack = stoppable_context; | ||
try { | ||
ret = body.apply(this, arguments); | ||
ret = (body as any).apply(this, arguments); | ||
} finally { | ||
@@ -509,5 +508,5 @@ stoppable_context = stack; | ||
target: Reactionable<Ensurable<T>>, | ||
listener: (value: T, prev?: T) => void | ||
listener: (value: T, prev: Ensurable<T>) => void | ||
): () => void; | ||
function on<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void; | ||
function on<T>(target: Reactionable<T>, listener: (value: T, prev: T) => void): () => void; | ||
function on(target: any, listener: (value: any, prev?: any) => void): () => void { | ||
@@ -545,5 +544,5 @@ const sync_mode = is_sync; | ||
target: Reactionable<Ensurable<T>>, | ||
listener: (value: T, prev?: T) => void | ||
listener: (value: T, prev: Ensurable<T>) => void | ||
): () => void; | ||
function once<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void; | ||
function once<T>(target: Reactionable<T>, listener: (value: T, prev: T) => void): () => void; | ||
function once(target: any, listener: (value: any, prev?: any) => void): () => void { | ||
@@ -560,3 +559,3 @@ const unsub = on(target, (value, prev) => { | ||
function sync<T>(target: Reactionable<T>, listener: (value: T, prev?: T) => void): () => void { | ||
function sync<T>(target: Reactionable<T>, listener: (value: T, prev: T) => void): () => void { | ||
is_sync = 1; | ||
@@ -695,3 +694,3 @@ return on(target, listener); | ||
function observe<T extends FC>(FunctionComponent: T): T { | ||
return function () { | ||
return function (this: any) { | ||
const forceUpdate = useForceUpdate(); | ||
@@ -705,3 +704,3 @@ const ref = useRef<[T, () => void]>(); | ||
try { | ||
return ref.current[0].apply(this, arguments); | ||
return (ref.current[0] as any).apply(this, arguments); | ||
} finally { | ||
@@ -715,3 +714,3 @@ is_observe = stack; | ||
target: (new (...args: T) => M) | ((...args: T) => M), | ||
deps = [] as T | ||
deps = ([] as unknown) as T | ||
): M { | ||
@@ -718,0 +717,0 @@ const h = useMemo(() => { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
76493
1414