chem-rx 0.0.14 → 0.0.16
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/dist/Atom.d.ts.map +1 -1
- package/dist/index.cjs.js +9 -1
- package/dist/index.iife.js +9 -1
- package/dist/index.js +12 -2
- package/dist/useAtom.d.ts +2 -2
- package/dist/useAtom.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Atom.ts +13 -2
- package/src/useAtom.ts +4 -2
package/dist/Atom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../src/Atom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"Atom.d.ts","sourceRoot":"","sources":["../src/Atom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAMf,UAAU,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;KACxB,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,qBAAa,YAAY,CAAC,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAM;IAElC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAQ;IAC7C,2BAA2B,EAAE,YAAY,GAAG,IAAI,CAAQ;gBAE5C,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAcrC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,EAAE,CAAC,EACP,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACb,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnB,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtB,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC1B,YAAY,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,GAAG,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAC1C,YAAY,CAAC,OAAO,CAAC;IAWxB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAIpE,SAAS,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAIhE,KAAK;IAKL,OAAO;IAIP,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EACnB,GAAG,EAAE,CAAC,GAML,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAK3C,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EACtB,GAAG,EAAE,CAAC,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAoB5D;AAED,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;IAIf,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CAM5C;AAED,qBAAa,gBAAgB,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAUtC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EACnB,GAAG,EAAE,CAAC,GAML,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAKzD,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EACtB,GAAG,EAAE,CAAC,GACL,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAIjE;AAED,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,EAAE,CAAC,EAAE;IAQ9B,IAAI,CAAC,OAAO,EAAE,CAAC;CAGhB;AAuDD,wBAAgB,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAClC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGxB,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,SAAS;KACd,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC;CAC1B,GACG,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,GACR,QAAQ,CAAC,CAAC,CAAC,CAAC;AAGf,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,CAAC,EAAE,CAAC,SAAS;KACf,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC;CAC1B,GACG,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,GACR,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAGvB,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,CAAC,EAAE,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAC3E,QAAQ,CAAC,CAAC,CAAC,CAAC;AAGf,wBAAgB,IAAI,CAAC,CAAC,EACpB,KAAK,CAAC,EAAE,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CAAE,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAC3E,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAGvB,wBAAgB,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGvE,wBAAgB,IAAI,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,EAC1D,KAAK,EAAE,CAAC,GACP,QAAQ,CAAC,CAAC,CAAC,CAAC;AAGf,wBAAgB,IAAI,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,EAC1D,KAAK,CAAC,EAAE,CAAC,GACR,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAGvB,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAG/C,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAGxD,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;yBAAvD,IAAI"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -116,9 +116,17 @@ var ReadOnlyAtom = /*#__PURE__*/function () {
|
|
|
116
116
|
return val == null ? void 0 : val[key];
|
|
117
117
|
};
|
|
118
118
|
_proto.select = function select(key) {
|
|
119
|
-
|
|
119
|
+
// console.log("key", key);
|
|
120
|
+
var newObs = this._behavior$.pipe(rxjs.distinctUntilChanged(function (a, b) {
|
|
121
|
+
if (a === b) return true;
|
|
122
|
+
if (a && b && a[key] === b[key]) return true;
|
|
123
|
+
return false;
|
|
124
|
+
}), rxjs.map(function (k) {
|
|
125
|
+
// console.log("insideee", k, key);
|
|
126
|
+
|
|
120
127
|
return k == null ? void 0 : k[key];
|
|
121
128
|
}));
|
|
129
|
+
// console.log("obs", newObs);
|
|
122
130
|
// Can't get typescript to recognize the types here so I'm cheating
|
|
123
131
|
return Atom(newObs);
|
|
124
132
|
};
|
package/dist/index.iife.js
CHANGED
|
@@ -114,9 +114,17 @@ var chemicalRx = (function (exports, rxjs, react) {
|
|
|
114
114
|
return val == null ? void 0 : val[key];
|
|
115
115
|
};
|
|
116
116
|
_proto.select = function select(key) {
|
|
117
|
-
|
|
117
|
+
// console.log("key", key);
|
|
118
|
+
var newObs = this._behavior$.pipe(rxjs.distinctUntilChanged(function (a, b) {
|
|
119
|
+
if (a === b) return true;
|
|
120
|
+
if (a && b && a[key] === b[key]) return true;
|
|
121
|
+
return false;
|
|
122
|
+
}), rxjs.map(function (k) {
|
|
123
|
+
// console.log("insideee", k, key);
|
|
124
|
+
|
|
118
125
|
return k == null ? void 0 : k[key];
|
|
119
126
|
}));
|
|
127
|
+
// console.log("obs", newObs);
|
|
120
128
|
// Can't get typescript to recognize the types here so I'm cheating
|
|
121
129
|
return Atom(newObs);
|
|
122
130
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { combineLatest, isObservable, BehaviorSubject, map,
|
|
1
|
+
import { combineLatest, isObservable, BehaviorSubject, map, distinctUntilChanged } from 'rxjs';
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
3
|
|
|
4
4
|
function _extends() {
|
|
@@ -61,7 +61,17 @@ class ReadOnlyAtom {
|
|
|
61
61
|
return val == null ? void 0 : val[key];
|
|
62
62
|
}
|
|
63
63
|
select(key) {
|
|
64
|
-
|
|
64
|
+
// console.log("key", key);
|
|
65
|
+
const newObs = this._behavior$.pipe(distinctUntilChanged((a, b) => {
|
|
66
|
+
if (a === b) return true;
|
|
67
|
+
if (a && b && a[key] === b[key]) return true;
|
|
68
|
+
return false;
|
|
69
|
+
}), map(k => {
|
|
70
|
+
// console.log("insideee", k, key);
|
|
71
|
+
|
|
72
|
+
return k == null ? void 0 : k[key];
|
|
73
|
+
}));
|
|
74
|
+
// console.log("obs", newObs);
|
|
65
75
|
// Can't get typescript to recognize the types here so I'm cheating
|
|
66
76
|
return Atom(newObs);
|
|
67
77
|
}
|
package/dist/useAtom.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BaseAtom, NullableBaseAtom } from "./Atom";
|
|
2
|
-
export declare function useAtom<T>(atom: BaseAtom<T> | NullableBaseAtom<T>): T;
|
|
1
|
+
import { BaseAtom, NullableBaseAtom, ReadOnlyAtom } from "./Atom";
|
|
2
|
+
export declare function useAtom<T>(atom: BaseAtom<T> | NullableBaseAtom<T> | ReadOnlyAtom<T>): T;
|
|
3
3
|
//# sourceMappingURL=useAtom.d.ts.map
|
package/dist/useAtom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAtom.d.ts","sourceRoot":"","sources":["../src/useAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"useAtom.d.ts","sourceRoot":"","sources":["../src/useAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAElE,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GACxD,CAAC,CAcH"}
|
package/package.json
CHANGED
package/src/Atom.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BehaviorSubject,
|
|
3
3
|
combineLatest,
|
|
4
|
+
distinctUntilChanged,
|
|
4
5
|
distinctUntilKeyChanged,
|
|
5
6
|
isObservable,
|
|
6
7
|
map,
|
|
@@ -153,10 +154,20 @@ export class ReadOnlyAtom<T> {
|
|
|
153
154
|
select<K extends keyof T>(
|
|
154
155
|
key: K
|
|
155
156
|
): T[K] extends (infer W)[] ? ArrayAtom<W> : BaseAtom<T[K]> {
|
|
157
|
+
// console.log("key", key);
|
|
156
158
|
const newObs = this._behavior$.pipe(
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
distinctUntilChanged((a, b) => {
|
|
160
|
+
if (a === b) return true;
|
|
161
|
+
if (a && b && a[key] === b[key]) return true;
|
|
162
|
+
return false;
|
|
163
|
+
}),
|
|
164
|
+
map((k) => {
|
|
165
|
+
// console.log("insideee", k, key);
|
|
166
|
+
|
|
167
|
+
return k?.[key];
|
|
168
|
+
})
|
|
159
169
|
);
|
|
170
|
+
// console.log("obs", newObs);
|
|
160
171
|
// Can't get typescript to recognize the types here so I'm cheating
|
|
161
172
|
return Atom(newObs) as unknown as T[K] extends (infer W)[]
|
|
162
173
|
? ArrayAtom<W>
|
package/src/useAtom.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
|
-
import { BaseAtom, NullableBaseAtom } from "./Atom";
|
|
2
|
+
import { BaseAtom, NullableBaseAtom, ReadOnlyAtom } from "./Atom";
|
|
3
3
|
|
|
4
|
-
export function useAtom<T>(
|
|
4
|
+
export function useAtom<T>(
|
|
5
|
+
atom: BaseAtom<T> | NullableBaseAtom<T> | ReadOnlyAtom<T>
|
|
6
|
+
): T {
|
|
5
7
|
const [value, setValue] = useState<T>(atom.value());
|
|
6
8
|
|
|
7
9
|
useEffect(() => {
|