@effect-rx/rx-react 0.1.3 → 0.1.4
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/index.d.ts.map +1 -1
- package/index.js +18 -19
- package/index.js.map +1 -1
- package/mjs/index.mjs +18 -19
- package/mjs/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +20 -19
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,eAAe,kCAA0D,CAAA;AAwBtF;;;GAGG;AACH,eAAO,MAAM,UAAU,wBAOtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,8CAA6C,IAGjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,wDAAuD,IAG9E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,2DAA0D,IAAI,CAIpE,CAAA;AAEZ;;;GAGG;AACH,eAAO,MAAM,WAAW,qEAAoE,IAAI,CAIpF,CAAA"}
|
package/index.js
CHANGED
|
@@ -24,25 +24,24 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
24
24
|
*/
|
|
25
25
|
const RegistryContext = /*#__PURE__*/React.createContext( /*#__PURE__*/Registry.make());
|
|
26
26
|
exports.RegistryContext = RegistryContext;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.value = this.registry.get(this.rx);
|
|
36
|
-
} else {
|
|
37
|
-
this.init = true;
|
|
38
|
-
}
|
|
39
|
-
return this.registry.subscribe(this.rx, a => {
|
|
40
|
-
this.value = a;
|
|
41
|
-
f();
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
this.snapshot = () => this.value;
|
|
27
|
+
function makeStore(registry, rx) {
|
|
28
|
+
let getter = function () {
|
|
29
|
+
return registry.get(rx);
|
|
30
|
+
};
|
|
31
|
+
function subscribe(f) {
|
|
32
|
+
const [get, unmount] = registry.subscribeGetter(rx, f);
|
|
33
|
+
getter = get;
|
|
34
|
+
return unmount;
|
|
45
35
|
}
|
|
36
|
+
function snapshot() {
|
|
37
|
+
return getter();
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
rx,
|
|
41
|
+
registry,
|
|
42
|
+
subscribe,
|
|
43
|
+
snapshot
|
|
44
|
+
};
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
48
47
|
* @since 1.0.0
|
|
@@ -52,7 +51,7 @@ const useRxValue = rx => {
|
|
|
52
51
|
const registry = React.useContext(RegistryContext);
|
|
53
52
|
const store = React.useRef(undefined);
|
|
54
53
|
if (store.current?.rx !== rx || store.current?.registry !== registry) {
|
|
55
|
-
store.current =
|
|
54
|
+
store.current = makeStore(registry, rx);
|
|
56
55
|
}
|
|
57
56
|
return React.useSyncExternalStore(store.current.subscribe, store.current.snapshot);
|
|
58
57
|
};
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","Registry_1","exports","React","Result","Result_1","Rx","Rx_1","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RegistryContext","createContext","make","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Registry","_interopRequireWildcard","require","Registry_1","exports","React","Result","Result_1","Rx","Rx_1","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RegistryContext","createContext","make","makeStore","registry","rx","getter","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","useUpdateRx","useRx","useRxUpdate"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/mjs/index.mjs
CHANGED
|
@@ -14,25 +14,24 @@ export { Rx_1 as Rx };
|
|
|
14
14
|
* @category context
|
|
15
15
|
*/
|
|
16
16
|
export const RegistryContext = /*#__PURE__*/React.createContext( /*#__PURE__*/Registry.make());
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.value = this.registry.get(this.rx);
|
|
26
|
-
} else {
|
|
27
|
-
this.init = true;
|
|
28
|
-
}
|
|
29
|
-
return this.registry.subscribe(this.rx, a => {
|
|
30
|
-
this.value = a;
|
|
31
|
-
f();
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
this.snapshot = () => this.value;
|
|
17
|
+
function makeStore(registry, rx) {
|
|
18
|
+
let getter = function () {
|
|
19
|
+
return registry.get(rx);
|
|
20
|
+
};
|
|
21
|
+
function subscribe(f) {
|
|
22
|
+
const [get, unmount] = registry.subscribeGetter(rx, f);
|
|
23
|
+
getter = get;
|
|
24
|
+
return unmount;
|
|
35
25
|
}
|
|
26
|
+
function snapshot() {
|
|
27
|
+
return getter();
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
rx,
|
|
31
|
+
registry,
|
|
32
|
+
subscribe,
|
|
33
|
+
snapshot
|
|
34
|
+
};
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* @since 1.0.0
|
|
@@ -42,7 +41,7 @@ export const useRxValue = rx => {
|
|
|
42
41
|
const registry = React.useContext(RegistryContext);
|
|
43
42
|
const store = React.useRef(undefined);
|
|
44
43
|
if (store.current?.rx !== rx || store.current?.registry !== registry) {
|
|
45
|
-
store.current =
|
|
44
|
+
store.current = makeStore(registry, rx);
|
|
46
45
|
}
|
|
47
46
|
return React.useSyncExternalStore(store.current.subscribe, store.current.snapshot);
|
|
48
47
|
};
|
package/mjs/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["Registry","React","Result","Rx","RegistryContext","createContext","make","
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Registry","React","Result","Rx","RegistryContext","createContext","make","makeStore","registry","rx","getter","get","subscribe","f","unmount","subscribeGetter","snapshot","useRxValue","useContext","store","useRef","undefined","current","useSyncExternalStore","useSetRx","useCallback","value","set","useUpdateRx","useRx","useRxUpdate"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,wBAAwB;AAElD,OAAO,KAAKC,KAAK,MAAM,OAAO;4BAEJ,wBAAwB;uBAAtCD,QAAQ;0BACI,sBAAsB;qBAAlCE,MAAM;sBACE,kBAAkB;iBAA1BC,EAAE;AAEd;;;;AAIA,OAAO,MAAMC,eAAe,gBAAGH,KAAK,CAACI,aAAa,eAAoBL,QAAQ,CAACM,IAAI,EAAE,CAAC;AAStF,SAASC,SAASA,CAAIC,QAA2B,EAAEC,EAAY;EAC7D,IAAIC,MAAM,GAAG,SAAAA,CAAA;IACX,OAAOF,QAAQ,CAACG,GAAG,CAACF,EAAE,CAAC;EACzB,CAAC;EACD,SAASG,SAASA,CAACC,CAAa;IAC9B,MAAM,CAACF,GAAG,EAAEG,OAAO,CAAC,GAAGN,QAAQ,CAACO,eAAe,CAACN,EAAE,EAAEI,CAAC,CAAC;IACtDH,MAAM,GAAGC,GAAG;IACZ,OAAOG,OAAO;EAChB;EACA,SAASE,QAAQA,CAAA;IACf,OAAON,MAAM,EAAE;EACjB;EACA,OAAO;IAAED,EAAE;IAAED,QAAQ;IAAEI,SAAS;IAAEI;EAAQ,CAAE;AAC9C;AAEA;;;;AAIA,OAAO,MAAMC,UAAU,GAAOR,EAAY,IAAO;EAC/C,MAAMD,QAAQ,GAAGP,KAAK,CAACiB,UAAU,CAACd,eAAe,CAAC;EAClD,MAAMe,KAAK,GAAGlB,KAAK,CAACmB,MAAM,CAAaC,SAAgB,CAAC;EACxD,IAAIF,KAAK,CAACG,OAAO,EAAEb,EAAE,KAAKA,EAAE,IAAIU,KAAK,CAACG,OAAO,EAAEd,QAAQ,KAAKA,QAAQ,EAAE;IACpEW,KAAK,CAACG,OAAO,GAAGf,SAAS,CAACC,QAAQ,EAAEC,EAAE,CAAC;;EAEzC,OAAOR,KAAK,CAACsB,oBAAoB,CAACJ,KAAK,CAACG,OAAO,CAACV,SAAS,EAAEO,KAAK,CAACG,OAAO,CAACN,QAAQ,CAAC;AACpF,CAAC;AAED;;;;AAIA,OAAO,MAAMQ,QAAQ,GAAUf,EAAsB,IAAoB;EACvE,MAAMD,QAAQ,GAAGP,KAAK,CAACiB,UAAU,CAACd,eAAe,CAAC;EAClD,OAAOH,KAAK,CAACwB,WAAW,CAAEC,KAAK,IAAKlB,QAAQ,CAACmB,GAAG,CAAClB,EAAE,EAAEiB,KAAK,CAAC,EAAE,CAAClB,QAAQ,EAAEC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;AAIA,OAAO,MAAMmB,WAAW,GAAUnB,EAAsB,IAA8B;EACpF,MAAMD,QAAQ,GAAGP,KAAK,CAACiB,UAAU,CAACd,eAAe,CAAC;EAClD,OAAOH,KAAK,CAACwB,WAAW,CAAEZ,CAAC,IAAKL,QAAQ,CAACmB,GAAG,CAAClB,EAAE,EAAEI,CAAC,CAACL,QAAQ,CAACG,GAAG,CAACF,EAAE,CAAC,CAAC,CAAC,EAAE,CAACD,QAAQ,EAAEC,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;AAIA,OAAO,MAAMoB,KAAK,GAAUpB,EAAsB,IAChD,CACEQ,UAAU,CAACR,EAAE,CAAC,EACde,QAAQ,CAACf,EAAE,CAAC,CACJ;AAEZ;;;;AAIA,OAAO,MAAMqB,WAAW,GAAUrB,EAAsB,IACtD,CACEQ,UAAU,CAACR,EAAE,CAAC,EACdmB,WAAW,CAACnB,EAAE,CAAC,CACP"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-rx/rx-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Reactive toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"sideEffects": [],
|
|
36
36
|
"author": "Effect contributors",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@effect-rx/rx": "^0.1.
|
|
38
|
+
"@effect-rx/rx": "^0.1.4"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@effect/data": "^0.18.5",
|
package/src/index.ts
CHANGED
|
@@ -15,25 +15,26 @@ export * as Rx from "@effect-rx/rx/Rx"
|
|
|
15
15
|
*/
|
|
16
16
|
export const RegistryContext = React.createContext<Registry.Registry>(Registry.make())
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
interface RxStore<A> {
|
|
19
|
+
readonly rx: Rx.Rx<A>
|
|
20
|
+
readonly registry: Registry.Registry
|
|
21
|
+
readonly subscribe: (f: () => void) => () => void
|
|
22
|
+
readonly snapshot: () => A
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function makeStore<A>(registry: Registry.Registry, rx: Rx.Rx<A>): RxStore<A> {
|
|
26
|
+
let getter = function() {
|
|
27
|
+
return registry.get(rx)
|
|
28
|
+
}
|
|
29
|
+
function subscribe(f: () => void): () => void {
|
|
30
|
+
const [get, unmount] = registry.subscribeGetter(rx, f)
|
|
31
|
+
getter = get
|
|
32
|
+
return unmount
|
|
33
|
+
}
|
|
34
|
+
function snapshot() {
|
|
35
|
+
return getter()
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
return { rx, registry, subscribe, snapshot }
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
/**
|
|
@@ -44,7 +45,7 @@ export const useRxValue = <A>(rx: Rx.Rx<A>): A => {
|
|
|
44
45
|
const registry = React.useContext(RegistryContext)
|
|
45
46
|
const store = React.useRef<RxStore<A>>(undefined as any)
|
|
46
47
|
if (store.current?.rx !== rx || store.current?.registry !== registry) {
|
|
47
|
-
store.current =
|
|
48
|
+
store.current = makeStore(registry, rx)
|
|
48
49
|
}
|
|
49
50
|
return React.useSyncExternalStore(store.current.subscribe, store.current.snapshot)
|
|
50
51
|
}
|