@take-out/helpers 0.0.36 → 0.0.38

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.
@@ -113,11 +113,11 @@ const useEmitter = (emitter, cb, args) => {
113
113
  }), [emitter, getCallback]);
114
114
  },
115
115
  useEmitterValue = (emitter, options) => {
116
- const [state, setState] = (0, import_react.useState)(emitter.value),
117
- disabled = options?.disable;
116
+ const disabled = options?.disable,
117
+ [state, setState] = (0, import_react.useState)(() => emitter.value);
118
118
  return (0, import_react.useLayoutEffect)(() => {
119
119
  if (!disabled) return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
120
- }, [disabled, emitter, state]), state;
120
+ }, [disabled, emitter]), state;
121
121
  },
122
122
  useEmitterSelector = (emitter, selector, options, args = import_constants.EMPTY_ARRAY) => {
123
123
  const [state, setState] = (0, import_react.useState)(() => selector(emitter.value)),
@@ -99,11 +99,11 @@ const useEmitter = (emitter, cb, args) => {
99
99
  }
100
100
  }), [emitter, getCallback]);
101
101
  }, useEmitterValue = (emitter, options) => {
102
- const [state, setState] = (0, import_react.useState)(emitter.value), disabled = options?.disable;
102
+ const disabled = options?.disable, [state, setState] = (0, import_react.useState)(() => emitter.value);
103
103
  return (0, import_react.useLayoutEffect)(() => {
104
104
  if (!disabled)
105
105
  return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
106
- }, [disabled, emitter, state]), state;
106
+ }, [disabled, emitter]), state;
107
107
  }, useEmitterSelector = (emitter, selector, options, args = import_constants.EMPTY_ARRAY) => {
108
108
  const [state, setState] = (0, import_react.useState)(() => selector(emitter.value)), disabled = options?.disable, getSelector = useGet(selector);
109
109
  if (options?.lazy !== !0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/emitter.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -133,15 +133,21 @@ var useEmitter = function(emitter, cb, args) {
133
133
  getCallback
134
134
  ]);
135
135
  }, useEmitterValue = function(emitter, options) {
136
- var [state, setState] = (0, import_react.useState)(emitter.value), disabled = options == null ? void 0 : options.disable;
137
- return (0, import_react.useLayoutEffect)(function() {
138
- if (!disabled)
139
- return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
140
- }, [
141
- disabled,
142
- emitter,
143
- state
144
- ]), state;
136
+ var disabled = options == null ? void 0 : options.disable, [state, setState] = (0, import_react.useState)(function() {
137
+ return emitter.value;
138
+ });
139
+ return (0, import_react.useLayoutEffect)(
140
+ function() {
141
+ if (!disabled)
142
+ return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
143
+ },
144
+ // intentionally omit state from deps - we only want to re-subscribe when emitter changes
145
+ // eslint-disable-next-line react-hooks/exhaustive-deps
146
+ [
147
+ disabled,
148
+ emitter
149
+ ]
150
+ ), state;
145
151
  }, useEmitterSelector = function(emitter, selector, options) {
146
152
  var args = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : import_constants.EMPTY_ARRAY, [state, setState] = (0, import_react.useState)(function() {
147
153
  return selector(emitter.value);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/emitter.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Emitter", "next", "_jsx"]
6
6
  }
@@ -71,11 +71,11 @@ const useEmitter = (emitter, cb, args) => {
71
71
  }
72
72
  }), [emitter, getCallback]);
73
73
  }, useEmitterValue = (emitter, options) => {
74
- const [state, setState] = useState(emitter.value), disabled = options?.disable;
74
+ const disabled = options?.disable, [state, setState] = useState(() => emitter.value);
75
75
  return useLayoutEffect(() => {
76
76
  if (!disabled)
77
77
  return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
78
- }, [disabled, emitter, state]), state;
78
+ }, [disabled, emitter]), state;
79
79
  }, useEmitterSelector = (emitter, selector, options, args = EMPTY_ARRAY) => {
80
80
  const [state, setState] = useState(() => selector(emitter.value)), disabled = options?.disable, getSelector = useGet(selector);
81
81
  if (options?.lazy !== !0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/emitter.tsx"],
4
- "mappings": "AAAA,SAAS,cAAc;AACvB,YAAY,WAAW;AACvB,SAAS,KAAK,iBAAiB,gBAAgB;AAE/C,SAAS,wBAAwB;AACjC,SAAS,aAAa,mBAAmB;AACzC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AAgVzB;AAzUX,SAAS,OACP,cACA,cACA,mBACS;AACT,QAAM,SAAS,MAAM,OAAY,gBAAgB,YAAY;AAE7D,yBAAgB,MAAM;AACpB,WAAO,UAAU;AAAA,EACnB,CAAC,GAEM,MAAM;AAAA,IACX,oBACI,IAAI,SAAS,OAAO,SAAS,MAAM,MAAM,IAAI,IAC7C,MAAM,OAAO;AAAA,IACjB,CAAC;AAAA,EACH;AACF;AAWO,MAAM,QAAiB;AAAA,EACpB,cAAc,oBAAI,IAAuB;AAAA,EACjD;AAAA,EACA;AAAA,EAEA,YAAY,OAAU,SAA6B;AACjD,SAAK,QAAQ,OACb,KAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,CAAC,gBACR,KAAK,YAAY,IAAI,UAAU,GACxB,MAAY;AACjB,SAAK,YAAY,OAAO,UAAU;AAAA,EACpC;AAAA,EAGF,OAAO,CAAC,SAAkB;AACxB,IAAI,QAAQ,IAAI,aAAa,iBAC3B,SAAS,MAAM,IAAI;AAErB,UAAM,UAAU,KAAK,SAAS;AAC9B,QAAI;AACF,UAAI,KAAK,SAAS,QAAQ,KAAK,OAAO,IAAI;AACxC;AAAA;AAGF,MAAI,KAAK,UAAU,QACb,QAAQ,IAAI,aAAa,iBAC3B,QAAQ;AAAA,QACN,aAAa,KAAK,SAAS,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOjC;AAKN,QADA,KAAK,QAAQ,MACT,cAAc,KACZ,CAAC,KAAK,SAAS,QAAQ;AACzB,YAAM,OAAO,KAAK,SAAS;AAC3B,cAAQ,eAAe,aAAM,IAAI,EAAE,GACnC,QAAQ,KAAK,IAAI,GACjB,QAAQ,MAAM,SAAS,GACvB,QAAQ,SAAS;AAAA,IACnB;AAEF,SAAK,YAAY,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,EAC3C;AAAA,EAEA,YAAY,MACH,IAAI,QAAW,CAAC,QAAQ;AAC7B,UAAM,UAAU,KAAK,OAAO,CAAC,QAAQ;AACnC,cAAQ,GACR,IAAI,GAAG;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAEL;AAGO,SAAS,oBACd,MACA,cACA,SACY;AACZ,SAAO,YAAY,MAAM,MAAM,cAAc,MAAM,cAAc,OAAO,CAAC;AAC3E;AAEO,SAAS,cACd,MACA,cACA,SACY;AACZ,QAAM,WAAW,oBAAoB,MAAM,YAAY;AACvD,SAAO,IAAI,QAAW,YAAY,cAAc,EAAE,MAAM,GAAG,QAAQ,CAAC;AACtE;AAKO,MAAM,aAAa,CACxB,SACA,IACA,SACS;AACT,QAAM,cAAc,OAAO,EAAE;AAE7B,kBAAgB,MACP,QAAQ,OAAO,CAAC,QAAQ;AAC7B,QAAI;AACF,kBAAY,EAAE,GAAG;AAAA,IACnB,SAAS,KAAK;AACZ,uBAAiB,GAAG;AAAA,IACtB;AAAA,EACF,CAAC,GACA,CAAC,SAAS,WAAW,CAAC;AAC3B,GAEa,kBAAkB,CAC7B,SACA,YACmB;AACnB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAyB,QAAQ,KAAK,GAC1D,WAAW,SAAS;AAE1B,yBAAgB,MAAM;AACpB,QAAI;AACJ,aAAI,QAAQ,UAAU,SACpB,SAAS,QAAQ,KAAK,GAEjB,QAAQ,OAAO,QAAQ;AAAA,EAChC,GAAG,CAAC,UAAU,SAAS,KAAK,CAAC,GAEtB;AACT,GA4Ba,qBAAqB,CAChC,SACA,UACA,SAIA,OAAc,gBACR;AACN,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAY,MAAM,SAAS,QAAQ,KAAK,CAAC,GAC7D,WAAW,SAAS,SACpB,cAAc,OAAO,QAAQ;AAEnC,MAAI,SAAS,SAAS,IAAM;AAC1B,UAAM,OAAO,SAAS,QAAQ,KAAK;AACnC,IAAI,SAAS,SACX,SAAS,IAAI;AAAA,EAEjB;AAGA,yBAAgB,MAAM;AACpB,QAAI;AACJ,aAAO,QAAQ,OAAO,CAAC,QAAQ;AAC7B,YAAI;AAEF,gBAAM,QADa,SAAS,cAAc,WAAW,YAAY,GACzC,GAAG;AAC3B,mBAAS,IAAI;AAAA,QACf,SAAS,OAAO;AACd,cAAI,iBAAiB;AACnB;AAEF,gBAAM;AAAA,QACR;AAAA,MACF,CAAC;AAAA,EACH,GAAG,CAAC,UAAU,SAAS,aAAa,GAAG,IAAI,CAAC,GAErC;AACT,GAEa,sBAAsB,CACjC,UACA,UACA,YACM;AACN,QAAM,cAAc,OAAO,QAAQ,GAC7B,WAAW,SAAS,SAEpB,CAAC,OAAO,QAAQ,IAAI,SAAY,MAAM;AAC1C,UAAM,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK;AAC1C,WAAO,YAAY,EAAE,MAAM;AAAA,EAC7B,CAAC;AAGD,yBAAgB,MAAM;AACpB,QAAI;AACF;AAGF,UAAM,UAAU,MAAM;AACpB,YAAM,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK;AAG1C,UAAI;AACF,cAAM,OAAO,YAAY,EAAE,MAAM;AACjC,iBAAS,CAAC,SACJ,SAAS,UAAU,MAAM,IAAI,KAG7B,OAAO,MAAM,IAAI,IACZ,OAEF,IACR;AAAA,MACH,SAAS,OAAO;AACd,YAAI,iBAAiB;AACnB;AAEF,cAAM;AAAA,MACR;AAAA,IACF,GAEM,YAAY,SAAS,IAAI,CAAC,YAAY,QAAQ,OAAO,OAAO,CAAC;AAEnE,WAAO,MAAM;AACX,gBAAU,QAAQ,CAAC,MAAM,EAAE,CAAC;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,UAAU,aAAa,GAAG,QAAQ,CAAC,GAEhC;AACT,GAEa,mBAAmB,CAC9B,YAEO,CAAC,IAAmC,SACzC,WAAW,SAAS,IAAI,IAAI,GAGnB,oBAAoB,CAC/B,YAMO,CACL,UACA,SACA,SAEO,mBAAmB,SAAS,UAAU,SAAS,IAAI;AAIvD,SAAS,wBACd,MACA,cACA,gBAIA;AACA,QAAM,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,GAC9B,iBAAiB;AAAA,IACrB,sBAAsB,EAAE;AAAA,IACxB;AAAA,EACF;AA8BA,SAAO,CA5BmB,MAAM;AAC9B,UAAM,UAAU,IAAI,cAAc;AAClC,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,0DAA0D;AAE5E,WAAO;AAAA,EACT,GAOuB,CAAC,UAA+B;AACrD,UAAM,EAAE,UAAU,OAAO,OAAO,IAAI,OAC9B,CAAC,OAAO,IAAI;AAAA,MAChB,MAAM,IAAI,QAAW,SAAS,cAAc,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC;AAAA,IACjF;AAEA,2BAAgB,MAAM;AACpB,MAAI,UAAU,UAAa,UAAU,QAAQ,SAC3C,QAAQ,KAAK,KAAK;AAAA,IAEtB,GAAG,CAAC,OAAO,OAAO,CAAC,GAEZ,oBAAC,eAAe,UAAf,EAAwB,OAAO,SAAU,UAAS;AAAA,EAC5D,CAEyC;AAC3C;AAEA,MAAM,WACJ,QAAQ,IAAI,aAAa,gBACrB,oBAAI,IAAsE,IAC1E;AAEN,SAAS,SAAS,SAAuB,OAAgB;AACvD,QAAM,OAAO,QAAQ,SAAS;AAC9B,MAAI,CAAC,KAAM;AACX,QAAM,QAAQ,UAAU,IAAI,IAAI;AAChC,EAAK,UACL,MAAM,eAAe;AACvB;AAEA,SAAS,oBAAoB,MAAc,kBAA2B;AACpE,QAAM,WAAW,UAAU,IAAI,IAAI,GAC7B,eAAe,OAAO,UAAU,sBAAsB,gBAAgB,IACxE,UAAU,eACV;AAEJ,SAAK,YACH,UAAU,IAAI,MAAM;AAAA,IAClB,sBAAsB;AAAA,IACtB,cAAc;AAAA,EAChB,CAAC,GAGI;AACT;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -68,11 +68,11 @@ const useEmitter = (emitter, cb, args) => {
68
68
  }), [emitter, getCallback]);
69
69
  },
70
70
  useEmitterValue = (emitter, options) => {
71
- const [state, setState] = useState(emitter.value),
72
- disabled = options?.disable;
71
+ const disabled = options?.disable,
72
+ [state, setState] = useState(() => emitter.value);
73
73
  return useLayoutEffect(() => {
74
74
  if (!disabled) return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
75
- }, [disabled, emitter, state]), state;
75
+ }, [disabled, emitter]), state;
76
76
  },
77
77
  useEmitterSelector = (emitter, selector, options, args = EMPTY_ARRAY) => {
78
78
  const [state, setState] = useState(() => selector(emitter.value)),
@@ -1 +1 @@
1
- {"version":3,"names":["dequal","React","use","useLayoutEffect","useState","handleAbortError","DEBUG_LEVEL","EMPTY_ARRAY","AbortError","globalValue","createGlobalContext","jsx","useGet","currentValue","initialValue","forwardToFunction","curRef","useRef","current","useCallback","args","apply","Emitter","disposables","Set","value","options","constructor","listen","disposable","add","delete","emit","next","process","env","NODE_ENV","setCache","compare","comparator","console","warn","name","silent","groupCollapsed","info","trace","groupEnd","forEach","cb","nextValue","Promise","res","dispose","val","createGlobalEmitter","defaultValue","createEmitter","existing","createOrUpdateCache","useEmitter","emitter","getCallback","err","useEmitterValue","state","setState","disabled","disable","useEmitterSelector","selector","getSelector","lazy","error","useEmittersSelector","emitters","values","map","e","handler","prev","isEqual","disposals","d","createUseEmitter","createUseSelector","createContextualEmitter","defaultOptions","id","Math","random","toString","EmitterContext","Error","props","children","Provider","HMRCache","Map","cache","get","defaultValueProp","originalDefaultValue","set"],"sources":["../../src/emitter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dequal","React","use","useLayoutEffect","useState","handleAbortError","DEBUG_LEVEL","EMPTY_ARRAY","AbortError","globalValue","createGlobalContext","jsx","useGet","currentValue","initialValue","forwardToFunction","curRef","useRef","current","useCallback","args","apply","Emitter","disposables","Set","value","options","constructor","listen","disposable","add","delete","emit","next","process","env","NODE_ENV","setCache","compare","comparator","console","warn","name","silent","groupCollapsed","info","trace","groupEnd","forEach","cb","nextValue","Promise","res","dispose","val","createGlobalEmitter","defaultValue","createEmitter","existing","createOrUpdateCache","useEmitter","emitter","getCallback","err","useEmitterValue","disabled","disable","state","setState","useEmitterSelector","selector","getSelector","lazy","error","useEmittersSelector","emitters","values","map","e","handler","prev","isEqual","disposals","d","createUseEmitter","createUseSelector","createContextualEmitter","defaultOptions","id","Math","random","toString","EmitterContext","Error","props","children","Provider","HMRCache","Map","cache","get","defaultValueProp","originalDefaultValue","set"],"sources":["../../src/emitter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -101,11 +101,16 @@ var useEmitter = function (emitter, cb, args) {
101
101
  }, [emitter, getCallback]);
102
102
  },
103
103
  useEmitterValue = function (emitter, options) {
104
- var [state, setState] = useState(emitter.value),
105
- disabled = options?.disable;
104
+ var disabled = options?.disable,
105
+ [state, setState] = useState(function () {
106
+ return emitter.value;
107
+ });
106
108
  return useLayoutEffect(function () {
107
109
  if (!disabled) return emitter.value !== state && setState(emitter.value), emitter.listen(setState);
108
- }, [disabled, emitter, state]), state;
110
+ },
111
+ // intentionally omit state from deps - we only want to re-subscribe when emitter changes
112
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
+ [disabled, emitter]), state;
109
114
  },
110
115
  useEmitterSelector = function (emitter, selector, options) {
111
116
  var args = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : EMPTY_ARRAY,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","dequal","React","use","useLayoutEffect","useState","handleAbortError","DEBUG_LEVEL","EMPTY_ARRAY","AbortError","globalValue","createGlobalContext","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_instanceof","left","right","Symbol","hasInstance","useGet","currentValue","initialValue","forwardToFunction","curRef","useRef","current","useCallback","_len","arguments","length","args","Array","_key","_curRef_current","apply","Emitter","Emitter2","options","_this","Set","disposable","disposables","add","delete","next","_this_options","process","env","NODE_ENV","setCache","compare","comparator","_this_options1","console","warn","name","_this_options2","silent","_this_options3","groupCollapsed","info","trace","groupEnd","forEach","cb","Promise","res","dispose","listen","val","createGlobalEmitter","defaultValue","createEmitter","existing","createOrUpdateCache","useEmitter","emitter","getCallback","err","useEmitterValue","state","setState","disabled","disable","useEmitterSelector","selector","getSelector","lazy","selectorFn","next2","error","useEmittersSelector","emitters","values","map","e","handler"],"sources":["../../src/emitter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","dequal","React","use","useLayoutEffect","useState","handleAbortError","DEBUG_LEVEL","EMPTY_ARRAY","AbortError","globalValue","createGlobalContext","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_instanceof","left","right","Symbol","hasInstance","useGet","currentValue","initialValue","forwardToFunction","curRef","useRef","current","useCallback","_len","arguments","length","args","Array","_key","_curRef_current","apply","Emitter","Emitter2","options","_this","Set","disposable","disposables","add","delete","next","_this_options","process","env","NODE_ENV","setCache","compare","comparator","_this_options1","console","warn","name","_this_options2","silent","_this_options3","groupCollapsed","info","trace","groupEnd","forEach","cb","Promise","res","dispose","listen","val","createGlobalEmitter","defaultValue","createEmitter","existing","createOrUpdateCache","useEmitter","emitter","getCallback","err","useEmitterValue","disabled","disable","state","setState","useEmitterSelector","selector","getSelector","lazy","selectorFn","next2","error","useEmittersSelector","emitters","values","map","e"],"sources":["../../src/emitter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/helpers",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "source": "src/index.ts",
package/src/emitter.tsx CHANGED
@@ -144,20 +144,30 @@ export const useEmitter = <E extends Emitter<any>>(
144
144
  }, [emitter, getCallback])
145
145
  }
146
146
 
147
+ // i think this was useSyncExternalStore but removed for concurrent rendering improvements
148
+ // wondering if we could just always return a deferred value? or default to it?
149
+
147
150
  export const useEmitterValue = <E extends Emitter<any>>(
148
151
  emitter: E,
149
152
  options?: { disable?: boolean }
150
153
  ): EmitterType<E> => {
151
- const [state, setState] = useState<EmitterType<E>>(emitter.value)
152
154
  const disabled = options?.disable
153
155
 
156
+ // use a function initializer to get current emitter value
157
+ const [state, setState] = useState<EmitterType<E>>(() => emitter.value)
158
+
154
159
  useLayoutEffect(() => {
155
160
  if (disabled) return
161
+
162
+ // sync immediately in case emitter changed between render and effect
156
163
  if (emitter.value !== state) {
157
164
  setState(emitter.value)
158
165
  }
166
+
159
167
  return emitter.listen(setState)
160
- }, [disabled, emitter, state])
168
+ // intentionally omit state from deps - we only want to re-subscribe when emitter changes
169
+ // eslint-disable-next-line react-hooks/exhaustive-deps
170
+ }, [disabled, emitter])
161
171
 
162
172
  return state
163
173
  }
@@ -20,6 +20,8 @@ export declare function createGlobalEmitter<T>(name: string, defaultValue: T, op
20
20
  export declare function createEmitter<T>(name: string, defaultValue: T, options?: CreateEmitterOpts<T>): Emitter<T>;
21
21
  export type EmitterType<E extends Emitter<any>> = E extends Emitter<infer Val> ? Val : never;
22
22
  export declare const useEmitter: <E extends Emitter<any>>(emitter: E, cb: (cb: EmitterType<E>) => void, args?: any[]) => void;
23
+ // i think this was useSyncExternalStore but removed for concurrent rendering improvements
24
+ // wondering if we could just always return a deferred value? or default to it?
23
25
  export declare const useEmitterValue: <E extends Emitter<any>>(emitter: E, options?: {
24
26
  disable?: boolean;
25
27
  }) => EmitterType<E>;
@@ -1,5 +1,5 @@
1
1
  {
2
- "mappings": "AAUA,cAAc,KAAK,yBAAyB,OAAO;KAwB9C,eAAe,KAAK,kBAAkB,KAAK;CAC9C;AACD;KAEI,kBAAkB,KAAK;CAC1B;CACA,cAAcA,GAAG,GAAGC,GAAG;AACxB;AAED,OAAO,cAAM,cAAc,GAAG;CAC5B,QAAQ;CACR,OAAO;CACP,UAAU,eAAe;CAEzB,YAAYC,OAAO,GAAGC,UAAU,eAAe;CAK/C,SAAUC,aAAaC,IAAI;CAO3B,OAAQC,MAAM;CAqCd,iBAAgB,QAAQ;AAQzB;;AAGD,OAAO,iBAAS,oBAAoB,GAClCC,cACAC,cAAc,GACdC,UAAU,kBAAkB,KAC3B,QAAQ;AAIX,OAAO,iBAAS,cAAc,GAC5BF,cACAC,cAAc,GACdC,UAAU,kBAAkB,KAC3B,QAAQ;AAKX,YAAY,YAAY,UAAU,gBAChC,UAAU,cAAc,OAAO;AAEjC,OAAO,cAAM,aAAc,UAAU,cACnCC,SAAS,GACTC,KAAKC,IAAI,YAAY,aACrBC;AAeF,OAAO,cAAM,kBAAmB,UAAU,cACxCH,SAAS,GACTI,UAAU;CAAE;AAAmB,MAC9B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCf,OAAO,cAAM;CAAsB,UAAU;CAAc,UAAU,YAAY;CAAI;EACnFJ,SAAS,GACTK,WAAWb,OAAO,MAAM,GACxBc,UAAU;CACR;CACA;AACD,GACDC,iBACC;AAgCH,OAAO,cAAM;OAA6B,mBAAmB;CAAgB;EAC3EC,UAAU,GACVC,WAAWC,WAAW,WAAW,KAAI,YAAY,EAAE,UAAU,GAC7DC,UAAU;CAAE;CAAmB,WAAWC,GAAG,GAAGC,GAAG;AAAe,MACjE;AAgDH,OAAO,cAAM,mBAAoB,UAAU,cACzCb,SAAS,QACNc,KAAKC,KAAK,YAAY,aAAaZ;AAKxC,OAAO,cAAM,oBAAqB,UAAU,cAC1CH,SAAS,QACN,GACHgB,WAAWC,OAAO,YAAY,OAAO,GACrCC,UAAU;CAAE;CAAmB;AAAgB,GAC/Cf,iBACG;AAUL,OAAO,iBAAS,wBAAwB,GACtCN,cACAC,cAAc,GACdqB,iBAAiB,KAAK,eAAe,IAAI,0BAEnC,QAAQ,KACbC,OAAO,kBAAkB;CAAE,QAAQ;CAAG;AAAkB,OAAM,IAAI",
2
+ "mappings": "AAUA,cAAc,KAAK,yBAAyB,OAAO;KAwB9C,eAAe,KAAK,kBAAkB,KAAK;CAC9C;AACD;KAEI,kBAAkB,KAAK;CAC1B;CACA,cAAcA,GAAG,GAAGC,GAAG;AACxB;AAED,OAAO,cAAM,cAAc,GAAG;CAC5B,QAAQ;CACR,OAAO;CACP,UAAU,eAAe;CAEzB,YAAYC,OAAO,GAAGC,UAAU,eAAe;CAK/C,SAAUC,aAAaC,IAAI;CAO3B,OAAQC,MAAM;CAqCd,iBAAgB,QAAQ;AAQzB;;AAGD,OAAO,iBAAS,oBAAoB,GAClCC,cACAC,cAAc,GACdC,UAAU,kBAAkB,KAC3B,QAAQ;AAIX,OAAO,iBAAS,cAAc,GAC5BF,cACAC,cAAc,GACdC,UAAU,kBAAkB,KAC3B,QAAQ;AAKX,YAAY,YAAY,UAAU,gBAChC,UAAU,cAAc,OAAO;AAEjC,OAAO,cAAM,aAAc,UAAU,cACnCC,SAAS,GACTC,KAAKC,IAAI,YAAY,aACrBC;;;AAkBF,OAAO,cAAM,kBAAmB,UAAU,cACxCH,SAAS,GACTI,UAAU;CAAE;AAAmB,MAC9B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDf,OAAO,cAAM;CAAsB,UAAU;CAAc,UAAU,YAAY;CAAI;EACnFJ,SAAS,GACTK,WAAWb,OAAO,MAAM,GACxBc,UAAU;CACR;CACA;AACD,GACDC,iBACC;AAgCH,OAAO,cAAM;OAA6B,mBAAmB;CAAgB;EAC3EC,UAAU,GACVC,WAAWC,WAAW,WAAW,KAAI,YAAY,EAAE,UAAU,GAC7DC,UAAU;CAAE;CAAmB,WAAWC,GAAG,GAAGC,GAAG;AAAe,MACjE;AAgDH,OAAO,cAAM,mBAAoB,UAAU,cACzCb,SAAS,QACNc,KAAKC,KAAK,YAAY,aAAaZ;AAKxC,OAAO,cAAM,oBAAqB,UAAU,cAC1CH,SAAS,QACN,GACHgB,WAAWC,OAAO,YAAY,OAAO,GACrCC,UAAU;CAAE;CAAmB;AAAgB,GAC/Cf,iBACG;AAUL,OAAO,iBAAS,wBAAwB,GACtCN,cACAC,cAAc,GACdqB,iBAAiB,KAAK,eAAe,IAAI,0BAEnC,QAAQ,KACbC,OAAO,kBAAkB;CAAE,QAAQ;CAAG;AAAkB,OAAM,IAAI",
3
3
  "names": [
4
4
  "a: T",
5
5
  "b: T",
@@ -37,7 +37,7 @@
37
37
  "src/emitter.tsx"
38
38
  ],
39
39
  "sourcesContent": [
40
- "import { dequal } from 'dequal'\nimport * as React from 'react'\nimport { use, useLayoutEffect, useState } from 'react'\n\nimport { handleAbortError } from './async/abortable'\nimport { DEBUG_LEVEL, EMPTY_ARRAY } from './constants'\nimport { AbortError } from './error/errors'\nimport { globalValue } from './global/globalValue'\nimport { createGlobalContext } from './react/createGlobalContext'\n\nimport type { JSX, PropsWithChildren } from 'react'\n\n// keeps a reference to the current value easily\n\n// TODO can replace with useEffectEvent\nfunction useGet<A>(\n currentValue: A,\n initialValue?: any,\n forwardToFunction?: boolean\n): () => A {\n const curRef = React.useRef<any>(initialValue ?? currentValue)\n\n useLayoutEffect(() => {\n curRef.current = currentValue\n })\n\n return React.useCallback(\n forwardToFunction\n ? (...args) => curRef.current?.apply(null, args)\n : () => curRef.current,\n []\n )\n}\n\ntype EmitterOptions<T> = CreateEmitterOpts<T> & {\n name: string\n}\n\ntype CreateEmitterOpts<T> = {\n silent?: boolean\n comparator?: (a: T, b: T) => boolean\n}\n\nexport class Emitter<const T> {\n private disposables = new Set<(cb: any) => void>()\n value: T\n options?: EmitterOptions<T>\n\n constructor(value: T, options?: EmitterOptions<T>) {\n this.value = value\n this.options = options\n }\n\n listen = (disposable: (cb: T) => void): (() => void) => {\n this.disposables.add(disposable)\n return (): void => {\n this.disposables.delete(disposable)\n }\n }\n\n emit = (next: T): void => {\n if (process.env.NODE_ENV === 'development') {\n setCache(this, next)\n }\n const compare = this.options?.comparator\n if (compare) {\n if (this.value && compare(this.value, next)) {\n return\n }\n } else {\n if (this.value === next) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `[emitter] ${this.options?.name} no comparator option but received same value!\n \nthis will emit the same value again, which can be desirable, but we warn to ensure it's not unintended:\n\n- if you want this behavior, add { comparator: isEqualNever }\n- if you want only non-equal values: { comparator: isEqualIdentity }\n- if you want only deeply non-equal values: { comparator: isEqualDeep }`\n )\n }\n }\n }\n this.value = next\n if (DEBUG_LEVEL > 1) {\n if (!this.options?.silent) {\n const name = this.options?.name\n console.groupCollapsed(`📣 ${name}`)\n console.info(next)\n console.trace(`trace >`)\n console.groupEnd()\n }\n }\n this.disposables.forEach((cb) => cb(next))\n }\n\n nextValue = (): Promise<T> => {\n return new Promise<T>((res) => {\n const dispose = this.listen((val) => {\n dispose()\n res(val)\n })\n })\n }\n}\n\n// just createEmitter but ensures it doesn't mess up on HMR\nexport function createGlobalEmitter<T>(\n name: string,\n defaultValue: T,\n options?: CreateEmitterOpts<T>\n): Emitter<T> {\n return globalValue(name, () => createEmitter(name, defaultValue, options))\n}\n\nexport function createEmitter<T>(\n name: string,\n defaultValue: T,\n options?: CreateEmitterOpts<T>\n): Emitter<T> {\n const existing = createOrUpdateCache(name, defaultValue) as T\n return new Emitter<T>(existing || defaultValue, { name, ...options })\n}\n\nexport type EmitterType<E extends Emitter<any>> =\n E extends Emitter<infer Val> ? Val : never\n\nexport const useEmitter = <E extends Emitter<any>>(\n emitter: E,\n cb: (cb: EmitterType<E>) => void,\n args?: any[]\n): void => {\n const getCallback = useGet(cb)\n\n useLayoutEffect(() => {\n return emitter.listen((val) => {\n try {\n getCallback()(val)\n } catch (err) {\n handleAbortError(err)\n }\n })\n }, [emitter, getCallback])\n}\n\nexport const useEmitterValue = <E extends Emitter<any>>(\n emitter: E,\n options?: { disable?: boolean }\n): EmitterType<E> => {\n const [state, setState] = useState<EmitterType<E>>(emitter.value)\n const disabled = options?.disable\n\n useLayoutEffect(() => {\n if (disabled) return\n if (emitter.value !== state) {\n setState(emitter.value)\n }\n return emitter.listen(setState)\n }, [disabled, emitter, state])\n\n return state\n}\n\n/**\n * By default selectors run every render, as well as when emitters update. This is a change\n * from the previous behavior where they only ran when emitters changed value.\n *\n * The reason for this is because emitters capture the variables in scope of the component\n * each render already by using \"useGet\" by default, which makes them easier to use - you\n * don't need to pass an args[] array except for edge cases.\n *\n * Before explaining why we switched to the default, understand the different uses:\n *\n * - Default behavior - selector is updated every render, and ran every render, as well as\n * when emitter value changes, so you basically are always up to date.\n *\n * - Set an args[] array as the fourth argument - this will stop the automatic capturing\n * and instead update selector only when you change args[] yourself. This is good for when you\n * want explicit control over re-selection and rendering.\n *\n * - With { lazy: true }, the selector only runs when the emitter value changes. If used with\n * args[], you capture the context of the selector based on args[], if not, it's based on the\n * current render.\n *\n * I made this change when we had 16 usages of useEmitterSelector and 100% of them are doing very\n * cheap calculations, so this feels like the right pattern. For the rare case of a heavy selector,\n * you have the option to control it.\n *\n */\nexport const useEmitterSelector = <E extends Emitter<any>, T extends EmitterType<E>, R>(\n emitter: E,\n selector: (value: T) => R,\n options?: {\n disable?: boolean\n lazy?: boolean\n },\n args: any[] = EMPTY_ARRAY\n): R => {\n const [state, setState] = useState<R>(() => selector(emitter.value))\n const disabled = options?.disable\n const getSelector = useGet(selector)\n\n if (options?.lazy !== true) {\n const next = selector(emitter.value)\n if (next !== state) {\n setState(next)\n }\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (disabled) return\n return emitter.listen((val) => {\n try {\n const selectorFn = args !== EMPTY_ARRAY ? selector : getSelector()\n const next = selectorFn(val)\n setState(next)\n } catch (error) {\n if (error instanceof AbortError) {\n return\n }\n throw error\n }\n })\n }, [disabled, emitter, getSelector, ...args])\n\n return state\n}\n\nexport const useEmittersSelector = <const E extends readonly Emitter<any>[], R>(\n emitters: E,\n selector: (values: { [K in keyof E]: EmitterType<E[K]> }) => R,\n options?: { disable?: boolean; isEqual?: (a: R, b: R) => boolean }\n): R => {\n const getSelector = useGet(selector)\n const disabled = options?.disable\n\n const [state, setState] = useState<R>(() => {\n const values = emitters.map((e) => e.value) as { [K in keyof E]: EmitterType<E[K]> }\n return getSelector()(values)\n })\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (disabled) {\n return\n }\n\n const handler = () => {\n const values = emitters.map((e) => e.value) as {\n [K in keyof E]: EmitterType<E[K]>\n }\n try {\n const next = getSelector()(values)\n setState((prev) => {\n if (options?.isEqual?.(prev, next)) {\n return prev\n }\n if (dequal(prev, next)) {\n return prev\n }\n return next\n })\n } catch (error) {\n if (error instanceof AbortError) {\n return\n }\n throw error\n }\n }\n\n const disposals = emitters.map((emitter) => emitter.listen(handler))\n\n return () => {\n disposals.forEach((d) => d())\n }\n }, [disabled, getSelector, ...emitters])\n\n return state\n}\n\nexport const createUseEmitter = <E extends Emitter<any>>(\n emitter: E\n): ((cb: (val: EmitterType<E>) => void, args?: any[]) => void) => {\n return (cb: (val: EmitterType<E>) => void, args?: any[]) =>\n useEmitter(emitter, cb, args)\n}\n\nexport const createUseSelector = <E extends Emitter<any>>(\n emitter: E\n): (<R>(\n selector: (value: EmitterType<E>) => R,\n options?: { disable?: boolean; lazy?: boolean },\n args?: any[]\n) => R) => {\n return <R,>(\n selector: (value: EmitterType<E>) => R,\n options?: { disable?: boolean; lazy?: boolean },\n args?: any[]\n ): R => {\n return useEmitterSelector(emitter, selector, options, args)\n }\n}\n\nexport function createContextualEmitter<T>(\n name: string,\n defaultValue: T,\n defaultOptions?: Omit<EmitterOptions<T>, 'name'>\n): readonly [\n () => Emitter<T>,\n (props: PropsWithChildren<{ value?: T; silent?: boolean }>) => JSX.Element,\n] {\n const id = Math.random().toString(36)\n const EmitterContext = createGlobalContext<Emitter<T> | null>(\n `contextual-emitter/${id}`,\n null\n )\n\n const useContextEmitter = () => {\n const emitter = use(EmitterContext)\n if (!emitter) {\n throw new Error('useContextEmitter must be used within an EmitterProvider')\n }\n return emitter\n }\n\n type ProvideEmitterProps = PropsWithChildren<{\n value?: T\n silent?: boolean\n }>\n\n const ProvideEmitter = (props: ProvideEmitterProps) => {\n const { children, value, silent } = props\n const [emitter] = useState(\n () => new Emitter<T>(value ?? defaultValue, { name, silent, ...defaultOptions })\n )\n\n useLayoutEffect(() => {\n if (value !== undefined && value !== emitter.value) {\n emitter.emit(value)\n }\n }, [value, emitter])\n\n return <EmitterContext.Provider value={emitter}>{children}</EmitterContext.Provider>\n }\n\n return [useContextEmitter, ProvideEmitter] as const\n}\n\nconst HMRCache =\n process.env.NODE_ENV === 'development'\n ? new Map<string, { originalDefaultValue: unknown; currentValue: unknown }>()\n : null\n\nfunction setCache(emitter: Emitter<any>, value: unknown) {\n const name = emitter.options?.name\n if (!name) return\n const cache = HMRCache?.get(name)\n if (!cache) return\n cache.currentValue = value\n}\n\nfunction createOrUpdateCache(name: string, defaultValueProp: unknown) {\n const existing = HMRCache?.get(name)\n const defaultValue = dequal(existing?.originalDefaultValue, defaultValueProp)\n ? existing?.currentValue\n : defaultValueProp\n\n if (!existing) {\n HMRCache?.set(name, {\n originalDefaultValue: defaultValueProp,\n currentValue: defaultValue,\n })\n }\n\n return defaultValue\n}\n"
40
+ "import { dequal } from 'dequal'\nimport * as React from 'react'\nimport { use, useLayoutEffect, useState } from 'react'\n\nimport { handleAbortError } from './async/abortable'\nimport { DEBUG_LEVEL, EMPTY_ARRAY } from './constants'\nimport { AbortError } from './error/errors'\nimport { globalValue } from './global/globalValue'\nimport { createGlobalContext } from './react/createGlobalContext'\n\nimport type { JSX, PropsWithChildren } from 'react'\n\n// keeps a reference to the current value easily\n\n// TODO can replace with useEffectEvent\nfunction useGet<A>(\n currentValue: A,\n initialValue?: any,\n forwardToFunction?: boolean\n): () => A {\n const curRef = React.useRef<any>(initialValue ?? currentValue)\n\n useLayoutEffect(() => {\n curRef.current = currentValue\n })\n\n return React.useCallback(\n forwardToFunction\n ? (...args) => curRef.current?.apply(null, args)\n : () => curRef.current,\n []\n )\n}\n\ntype EmitterOptions<T> = CreateEmitterOpts<T> & {\n name: string\n}\n\ntype CreateEmitterOpts<T> = {\n silent?: boolean\n comparator?: (a: T, b: T) => boolean\n}\n\nexport class Emitter<const T> {\n private disposables = new Set<(cb: any) => void>()\n value: T\n options?: EmitterOptions<T>\n\n constructor(value: T, options?: EmitterOptions<T>) {\n this.value = value\n this.options = options\n }\n\n listen = (disposable: (cb: T) => void): (() => void) => {\n this.disposables.add(disposable)\n return (): void => {\n this.disposables.delete(disposable)\n }\n }\n\n emit = (next: T): void => {\n if (process.env.NODE_ENV === 'development') {\n setCache(this, next)\n }\n const compare = this.options?.comparator\n if (compare) {\n if (this.value && compare(this.value, next)) {\n return\n }\n } else {\n if (this.value === next) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `[emitter] ${this.options?.name} no comparator option but received same value!\n \nthis will emit the same value again, which can be desirable, but we warn to ensure it's not unintended:\n\n- if you want this behavior, add { comparator: isEqualNever }\n- if you want only non-equal values: { comparator: isEqualIdentity }\n- if you want only deeply non-equal values: { comparator: isEqualDeep }`\n )\n }\n }\n }\n this.value = next\n if (DEBUG_LEVEL > 1) {\n if (!this.options?.silent) {\n const name = this.options?.name\n console.groupCollapsed(`📣 ${name}`)\n console.info(next)\n console.trace(`trace >`)\n console.groupEnd()\n }\n }\n this.disposables.forEach((cb) => cb(next))\n }\n\n nextValue = (): Promise<T> => {\n return new Promise<T>((res) => {\n const dispose = this.listen((val) => {\n dispose()\n res(val)\n })\n })\n }\n}\n\n// just createEmitter but ensures it doesn't mess up on HMR\nexport function createGlobalEmitter<T>(\n name: string,\n defaultValue: T,\n options?: CreateEmitterOpts<T>\n): Emitter<T> {\n return globalValue(name, () => createEmitter(name, defaultValue, options))\n}\n\nexport function createEmitter<T>(\n name: string,\n defaultValue: T,\n options?: CreateEmitterOpts<T>\n): Emitter<T> {\n const existing = createOrUpdateCache(name, defaultValue) as T\n return new Emitter<T>(existing || defaultValue, { name, ...options })\n}\n\nexport type EmitterType<E extends Emitter<any>> =\n E extends Emitter<infer Val> ? Val : never\n\nexport const useEmitter = <E extends Emitter<any>>(\n emitter: E,\n cb: (cb: EmitterType<E>) => void,\n args?: any[]\n): void => {\n const getCallback = useGet(cb)\n\n useLayoutEffect(() => {\n return emitter.listen((val) => {\n try {\n getCallback()(val)\n } catch (err) {\n handleAbortError(err)\n }\n })\n }, [emitter, getCallback])\n}\n\n// i think this was useSyncExternalStore but removed for concurrent rendering improvements\n// wondering if we could just always return a deferred value? or default to it?\n\nexport const useEmitterValue = <E extends Emitter<any>>(\n emitter: E,\n options?: { disable?: boolean }\n): EmitterType<E> => {\n const disabled = options?.disable\n\n // use a function initializer to get current emitter value\n const [state, setState] = useState<EmitterType<E>>(() => emitter.value)\n\n useLayoutEffect(() => {\n if (disabled) return\n\n // sync immediately in case emitter changed between render and effect\n if (emitter.value !== state) {\n setState(emitter.value)\n }\n\n return emitter.listen(setState)\n // intentionally omit state from deps - we only want to re-subscribe when emitter changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disabled, emitter])\n\n return state\n}\n\n/**\n * By default selectors run every render, as well as when emitters update. This is a change\n * from the previous behavior where they only ran when emitters changed value.\n *\n * The reason for this is because emitters capture the variables in scope of the component\n * each render already by using \"useGet\" by default, which makes them easier to use - you\n * don't need to pass an args[] array except for edge cases.\n *\n * Before explaining why we switched to the default, understand the different uses:\n *\n * - Default behavior - selector is updated every render, and ran every render, as well as\n * when emitter value changes, so you basically are always up to date.\n *\n * - Set an args[] array as the fourth argument - this will stop the automatic capturing\n * and instead update selector only when you change args[] yourself. This is good for when you\n * want explicit control over re-selection and rendering.\n *\n * - With { lazy: true }, the selector only runs when the emitter value changes. If used with\n * args[], you capture the context of the selector based on args[], if not, it's based on the\n * current render.\n *\n * I made this change when we had 16 usages of useEmitterSelector and 100% of them are doing very\n * cheap calculations, so this feels like the right pattern. For the rare case of a heavy selector,\n * you have the option to control it.\n *\n */\nexport const useEmitterSelector = <E extends Emitter<any>, T extends EmitterType<E>, R>(\n emitter: E,\n selector: (value: T) => R,\n options?: {\n disable?: boolean\n lazy?: boolean\n },\n args: any[] = EMPTY_ARRAY\n): R => {\n const [state, setState] = useState<R>(() => selector(emitter.value))\n const disabled = options?.disable\n const getSelector = useGet(selector)\n\n if (options?.lazy !== true) {\n const next = selector(emitter.value)\n if (next !== state) {\n setState(next)\n }\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (disabled) return\n return emitter.listen((val) => {\n try {\n const selectorFn = args !== EMPTY_ARRAY ? selector : getSelector()\n const next = selectorFn(val)\n setState(next)\n } catch (error) {\n if (error instanceof AbortError) {\n return\n }\n throw error\n }\n })\n }, [disabled, emitter, getSelector, ...args])\n\n return state\n}\n\nexport const useEmittersSelector = <const E extends readonly Emitter<any>[], R>(\n emitters: E,\n selector: (values: { [K in keyof E]: EmitterType<E[K]> }) => R,\n options?: { disable?: boolean; isEqual?: (a: R, b: R) => boolean }\n): R => {\n const getSelector = useGet(selector)\n const disabled = options?.disable\n\n const [state, setState] = useState<R>(() => {\n const values = emitters.map((e) => e.value) as { [K in keyof E]: EmitterType<E[K]> }\n return getSelector()(values)\n })\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (disabled) {\n return\n }\n\n const handler = () => {\n const values = emitters.map((e) => e.value) as {\n [K in keyof E]: EmitterType<E[K]>\n }\n try {\n const next = getSelector()(values)\n setState((prev) => {\n if (options?.isEqual?.(prev, next)) {\n return prev\n }\n if (dequal(prev, next)) {\n return prev\n }\n return next\n })\n } catch (error) {\n if (error instanceof AbortError) {\n return\n }\n throw error\n }\n }\n\n const disposals = emitters.map((emitter) => emitter.listen(handler))\n\n return () => {\n disposals.forEach((d) => d())\n }\n }, [disabled, getSelector, ...emitters])\n\n return state\n}\n\nexport const createUseEmitter = <E extends Emitter<any>>(\n emitter: E\n): ((cb: (val: EmitterType<E>) => void, args?: any[]) => void) => {\n return (cb: (val: EmitterType<E>) => void, args?: any[]) =>\n useEmitter(emitter, cb, args)\n}\n\nexport const createUseSelector = <E extends Emitter<any>>(\n emitter: E\n): (<R>(\n selector: (value: EmitterType<E>) => R,\n options?: { disable?: boolean; lazy?: boolean },\n args?: any[]\n) => R) => {\n return <R,>(\n selector: (value: EmitterType<E>) => R,\n options?: { disable?: boolean; lazy?: boolean },\n args?: any[]\n ): R => {\n return useEmitterSelector(emitter, selector, options, args)\n }\n}\n\nexport function createContextualEmitter<T>(\n name: string,\n defaultValue: T,\n defaultOptions?: Omit<EmitterOptions<T>, 'name'>\n): readonly [\n () => Emitter<T>,\n (props: PropsWithChildren<{ value?: T; silent?: boolean }>) => JSX.Element,\n] {\n const id = Math.random().toString(36)\n const EmitterContext = createGlobalContext<Emitter<T> | null>(\n `contextual-emitter/${id}`,\n null\n )\n\n const useContextEmitter = () => {\n const emitter = use(EmitterContext)\n if (!emitter) {\n throw new Error('useContextEmitter must be used within an EmitterProvider')\n }\n return emitter\n }\n\n type ProvideEmitterProps = PropsWithChildren<{\n value?: T\n silent?: boolean\n }>\n\n const ProvideEmitter = (props: ProvideEmitterProps) => {\n const { children, value, silent } = props\n const [emitter] = useState(\n () => new Emitter<T>(value ?? defaultValue, { name, silent, ...defaultOptions })\n )\n\n useLayoutEffect(() => {\n if (value !== undefined && value !== emitter.value) {\n emitter.emit(value)\n }\n }, [value, emitter])\n\n return <EmitterContext.Provider value={emitter}>{children}</EmitterContext.Provider>\n }\n\n return [useContextEmitter, ProvideEmitter] as const\n}\n\nconst HMRCache =\n process.env.NODE_ENV === 'development'\n ? new Map<string, { originalDefaultValue: unknown; currentValue: unknown }>()\n : null\n\nfunction setCache(emitter: Emitter<any>, value: unknown) {\n const name = emitter.options?.name\n if (!name) return\n const cache = HMRCache?.get(name)\n if (!cache) return\n cache.currentValue = value\n}\n\nfunction createOrUpdateCache(name: string, defaultValueProp: unknown) {\n const existing = HMRCache?.get(name)\n const defaultValue = dequal(existing?.originalDefaultValue, defaultValueProp)\n ? existing?.currentValue\n : defaultValueProp\n\n if (!existing) {\n HMRCache?.set(name, {\n originalDefaultValue: defaultValueProp,\n currentValue: defaultValue,\n })\n }\n\n return defaultValue\n}\n"
41
41
  ],
42
42
  "version": 3
43
43
  }
@@ -1,4 +0,0 @@
1
- export { createStorage, createStorageValue } from './createStorage'
2
- export type { Storage, StorageValue } from './createStorage'
3
- export { getStorageDriver, setStorageDriver } from './driver'
4
- export type { StorageDriver } from './types'