UNPKG

@nlabs/arkhamjs-utils-react

Version:

ArkhamJS React Utilities

3 lines (2 loc) 2.92 kB
import{isEqual as m}from"@nlabs/utils";import{useEffect as p,useRef as u,useState as n}from"react";import{FluxContext as d}from"./FluxContext";import{jsx as v}from"react/jsx-runtime";const f=({children:i,flux:r})=>{const[t,a]=n(r.getState()),o=u(t);return p(()=>{const s=e=>{m(e,o.current)||(o.current=e,a(e))};return r.addListener("arkhamjs",s),()=>{r.removeListener("arkhamjs",s)}},[r]),v(d.Provider,{value:{flux:r,state:t},children:i})};export{f as FluxProvider}; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL0ZsdXhQcm92aWRlci50c3giXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2lzRXF1YWx9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge0ZsdXhDb250ZXh0fSBmcm9tICcuL0ZsdXhDb250ZXh0JztcblxuaW1wb3J0IHR5cGUge0ZDfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Rmx1eFByb3ZpZGVyUHJvcHN9IGZyb20gJy4vRmx1eFByb3ZpZGVyLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IEZsdXhQcm92aWRlcjogRkM8Rmx1eFByb3ZpZGVyUHJvcHM+ID0gKHtjaGlsZHJlbiwgZmx1eH0pID0+IHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSB1c2VTdGF0ZShmbHV4LmdldFN0YXRlKCkpO1xuICBjb25zdCByZWYgPSB1c2VSZWYoc3RhdGUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlU3RhdGUgPSAobmV3U3RhdGU6IGFueSkgPT4ge1xuICAgICAgaWYoIWlzRXF1YWwobmV3U3RhdGUsIHJlZi5jdXJyZW50KSkge1xuICAgICAgICByZWYuY3VycmVudCA9IG5ld1N0YXRlO1xuICAgICAgICBzZXRTdGF0ZShuZXdTdGF0ZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBmbHV4LmFkZExpc3RlbmVyKCdhcmtoYW1qcycsIHVwZGF0ZVN0YXRlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBmbHV4LnJlbW92ZUxpc3RlbmVyKCdhcmtoYW1qcycsIHVwZGF0ZVN0YXRlKTtcbiAgICB9O1xuICB9LCBbZmx1eF0pO1xuXG4gIHJldHVybiA8Rmx1eENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3tmbHV4LCBzdGF0ZX19PntjaGlsZHJlbn08L0ZsdXhDb250ZXh0LlByb3ZpZGVyPjtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxPQUFRLFdBQUFBLE1BQWMsZUFDdEIsT0FBUSxhQUFBQyxFQUFXLFVBQUFDLEVBQVEsWUFBQUMsTUFBZSxRQUUxQyxPQUFRLGVBQUFDLE1BQWtCLGdCQXVCakIsY0FBQUMsTUFBQSxvQkFsQkYsTUFBTUMsRUFBc0MsQ0FBQyxDQUFDLFNBQUFDLEVBQVUsS0FBQUMsQ0FBSSxJQUFNLENBQ3ZFLEtBQU0sQ0FBQ0MsRUFBT0MsQ0FBUSxFQUFJUCxFQUFTSyxFQUFLLFNBQVMsQ0FBQyxFQUM1Q0csRUFBTVQsRUFBT08sQ0FBSyxFQUV4QixPQUFBUixFQUFVLElBQU0sQ0FDZCxNQUFNVyxFQUFlQyxHQUFrQixDQUNqQ2IsRUFBUWEsRUFBVUYsRUFBSSxPQUFPLElBQy9CQSxFQUFJLFFBQVVFLEVBQ2RILEVBQVNHLENBQVEsRUFFckIsRUFDQSxPQUFBTCxFQUFLLFlBQVksV0FBWUksQ0FBVyxFQUVqQyxJQUFNLENBQ1hKLEVBQUssZUFBZSxXQUFZSSxDQUFXLENBQzdDLENBQ0YsRUFBRyxDQUFDSixDQUFJLENBQUMsRUFFRkgsRUFBQ0QsRUFBWSxTQUFaLENBQXFCLE1BQU8sQ0FBQyxLQUFBSSxFQUFNLE1BQUFDLENBQUssRUFBSSxTQUFBRixFQUFTLENBQy9EIiwKICAibmFtZXMiOiBbImlzRXF1YWwiLCAidXNlRWZmZWN0IiwgInVzZVJlZiIsICJ1c2VTdGF0ZSIsICJGbHV4Q29udGV4dCIsICJqc3giLCAiRmx1eFByb3ZpZGVyIiwgImNoaWxkcmVuIiwgImZsdXgiLCAic3RhdGUiLCAic2V0U3RhdGUiLCAicmVmIiwgInVwZGF0ZVN0YXRlIiwgIm5ld1N0YXRlIl0KfQo=