@rango-dev/queue-manager-react 0.15.0 → 0.15.1-next.0

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/CHANGELOG.md CHANGED
@@ -1,7 +1,3 @@
1
- # [0.15.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-react@0.14.0...queue-manager-react@0.15.0) (2023-08-15)
2
-
3
-
4
-
5
1
  # [0.14.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-react@0.13.0...queue-manager-react@0.14.0) (2023-08-03)
6
2
 
7
3
 
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var c=Object.defineProperty;var a=(e,t)=>c(e,"name",{value:t,configurable:!0});import m,{createContext as M,useContext as x,useEffect as l,useLayoutEffect as y,useMemo as S,useRef as T,useState as p}from"react";import{Manager as C}from"@rango-dev/queue-manager-core";import{useReducer as g}from"react";var s={loadedFromPersistor:!1};function P(e,t){switch(t.type){case"UPDATE":return{...e,[t.name]:t.value};default:return e}}a(P,"reducer");function d(){let[e,t]=g(P,s);return{state:e,update:(n,r)=>{t({type:"UPDATE",name:n,value:r})}}}a(d,"useManagerState");var i=M({manager:void 0,state:s});function v(e){let[,t]=p({}),{state:n,update:r}=d(),u=T(e.context),o=S(()=>new C({queuesDefs:e.queuesDefs,events:{onStorageUpdate:()=>{t({})},onCreateQueue:()=>{t({})},onCreateTask:()=>{t({})},onUpdateQueue:()=>{t({})},onUpdateTask:()=>{t({})},onPersistedDataLoaded:f=>{t({}),e.onPersistedDataLoaded&&e.onPersistedDataLoaded(f),n.loadedFromPersistor||r("loadedFromPersistor",!0)},onTaskBlock:()=>{t({})}},context:u||{},isPaused:e.isPaused}),[]);return y(()=>{u.current=e.context},[e.context]),l(()=>{typeof e.isPaused<"u"&&(e.isPaused?o.pause():o.run(),t({}))},[e.isPaused]),m.createElement(i.Provider,{value:{manager:o,state:n}},e.children)}a(v,"Provider");function D(){let e=x(i);if(!e)throw Error("useManager can only be used within the Provider component");return e}a(D,"useManager");var h=v;export{h as Provider,D as useManager};
1
+ var m=Object.defineProperty;var a=(e,t)=>m(e,"name",{value:t,configurable:!0});import{Manager as x}from"@rango-dev/queue-manager-core";import y,{createContext as l,useContext as p,useEffect as S,useLayoutEffect as T,useMemo as i,useRef as v,useState as C}from"react";import{useReducer as P}from"react";var s={loadedFromPersistor:!1};function M(e,t){switch(t.type){case"UPDATE":return{...e,[t.name]:t.value};default:return e}}a(M,"reducer");function d(){let[e,t]=P(M,s);return{state:e,update:(n,o)=>{t({type:"UPDATE",name:n,value:o})}}}a(d,"useManagerState");var f=l({manager:void 0,state:s});function D(e){let[,t]=C({}),{state:n,update:o}=d(),u=v(e.context),r=i(()=>new x({queuesDefs:e.queuesDefs,events:{onStorageUpdate:()=>{t({})},onCreateQueue:()=>{t({})},onCreateTask:()=>{t({})},onUpdateQueue:()=>{t({})},onUpdateTask:()=>{t({})},onPersistedDataLoaded:g=>{t({}),e.onPersistedDataLoaded&&e.onPersistedDataLoaded(g),n.loadedFromPersistor||o("loadedFromPersistor",!0)},onTaskBlock:()=>{t({})},onDeleteQueue:()=>{t({})}},context:u||{},isPaused:e.isPaused}),[]);T(()=>{u.current=e.context},[e.context]),S(()=>{typeof e.isPaused<"u"&&(e.isPaused?r.pause():r.run(),t({}))},[e.isPaused]);let c=i(()=>({manager:r,state:n}),[r,n]);return y.createElement(f.Provider,{value:c},e.children)}a(D,"Provider");function h(){let e=p(f);if(!e)throw Error("useManager can only be used within the Provider component");return e}a(h,"useManager");var k=D;export{k as Provider,h as useManager};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/provider.tsx", "../src/state.ts"],
4
- "sourcesContent": ["import React, {\n createContext,\n PropsWithChildren,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n ManagerContext as Context,\n Manager,\n QueueDef,\n Events,\n} from '@rango-dev/queue-manager-core';\nimport { ManagerContext, ManagerState } from './types';\nimport { useManagerState, initState as initManagerState } from './state';\n\nconst ManagerCtx = createContext<{\n manager: ManagerContext;\n state: ManagerState;\n}>({\n manager: undefined,\n state: initManagerState,\n});\n\ninterface PropTypes {\n queuesDefs: QueueDef<any, any, any>[];\n context: Context;\n onPersistedDataLoaded?: Events['onPersistedDataLoaded'];\n isPaused?: boolean;\n}\n\nfunction Provider(props: PropsWithChildren<PropTypes>) {\n // TODO: this is not a proper way but i don't want to change the context interface atm.\n const [, forceRender] = useState({});\n const { state, update } = useManagerState();\n const context = useRef(props.context);\n\n const manager = useMemo<Manager>(() => {\n return new Manager({\n queuesDefs: props.queuesDefs,\n events: {\n onStorageUpdate: () => {\n forceRender({});\n },\n onCreateQueue: () => {\n forceRender({});\n },\n onCreateTask: () => {\n forceRender({});\n },\n onUpdateQueue: () => {\n forceRender({});\n },\n onUpdateTask: () => {\n forceRender({});\n },\n onPersistedDataLoaded: (manager) => {\n forceRender({});\n\n if (props.onPersistedDataLoaded) {\n props.onPersistedDataLoaded(manager);\n }\n\n // This condition will make sure, we only update the `loadedFromPersistor`.\n // But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.\n if (!state.loadedFromPersistor) {\n update('loadedFromPersistor', true);\n }\n },\n onTaskBlock: () => {\n forceRender({});\n },\n },\n context: context || {},\n isPaused: props.isPaused,\n });\n }, []);\n\n useLayoutEffect(() => {\n context.current = props.context;\n }, [props.context]);\n\n useEffect(() => {\n if (typeof props.isPaused !== 'undefined') {\n if (props.isPaused) {\n manager.pause();\n } else {\n manager.run();\n }\n forceRender({});\n }\n }, [props.isPaused]);\n\n return (\n <ManagerCtx.Provider value={{ manager, state }}>\n {props.children}\n </ManagerCtx.Provider>\n );\n}\n\nexport function useManager(): { manager: ManagerContext; state: ManagerState } {\n const context = useContext(ManagerCtx);\n if (!context)\n throw Error('useManager can only be used within the Provider component');\n return context;\n}\n\nexport default Provider;\n", "import { useReducer } from 'react';\nimport { ManagerState } from './types';\n\ntype Update<T> = (name: keyof T, value: T[keyof T]) => void;\ntype Action<T> = { type: 'UPDATE'; name: keyof T; value: T[keyof T] };\n\nexport const initState: ManagerState = {\n loadedFromPersistor: false,\n};\n\nfunction reducer(state: ManagerState, action: Action<ManagerState>) {\n switch (action.type) {\n case 'UPDATE':\n return { ...state, [action.name]: action.value };\n default:\n return state;\n }\n}\n\nexport function useManagerState(): {\n state: ManagerState;\n update: Update<ManagerState>;\n} {\n const [state, dispatch] = useReducer(reducer, initState);\n\n return {\n state,\n update: (name, value) => {\n dispatch({\n type: 'UPDATE',\n name,\n value,\n });\n },\n };\n}\n"],
5
- "mappings": "+EAAA,OAAOA,GACL,iBAAAC,EAEA,cAAAC,EACA,aAAAC,EACA,mBAAAC,EACA,WAAAC,EACA,UAAAC,EACA,YAAAC,MACK,QACP,OAEE,WAAAC,MAGK,gCCfP,OAAS,cAAAC,MAAkB,QAMpB,IAAMC,EAA0B,CACrC,oBAAqB,EACvB,EAEA,SAASC,EAAQC,EAAqBC,EAA8B,CAClE,OAAQA,EAAO,KAAM,CACnB,IAAK,SACH,MAAO,CAAE,GAAGD,EAAO,CAACC,EAAO,IAAI,EAAGA,EAAO,KAAM,EACjD,QACE,OAAOD,CACX,CACF,CAPSE,EAAAH,EAAA,WASF,SAASI,GAGd,CACA,GAAM,CAACH,EAAOI,CAAQ,EAAIC,EAAWN,EAASD,CAAS,EAEvD,MAAO,CACL,MAAAE,EACA,OAAQ,CAACM,EAAMC,IAAU,CACvBH,EAAS,CACP,KAAM,SACN,KAAAE,EACA,MAAAC,CACF,CAAC,CACH,CACF,CACF,CAhBgBL,EAAAC,EAAA,mBDAhB,IAAMK,EAAaC,EAGhB,CACD,QAAS,OACT,MAAOC,CACT,CAAC,EASD,SAASC,EAASC,EAAqC,CAErD,GAAM,CAAC,CAAEC,CAAW,EAAIC,EAAS,CAAC,CAAC,EAC7B,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIC,EAAgB,EACpCC,EAAUC,EAAOP,EAAM,OAAO,EAE9BQ,EAAUC,EAAiB,IACxB,IAAIC,EAAQ,CACjB,WAAYV,EAAM,WAClB,OAAQ,CACN,gBAAiB,IAAM,CACrBC,EAAY,CAAC,CAAC,CAChB,EACA,cAAe,IAAM,CACnBA,EAAY,CAAC,CAAC,CAChB,EACA,aAAc,IAAM,CAClBA,EAAY,CAAC,CAAC,CAChB,EACA,cAAe,IAAM,CACnBA,EAAY,CAAC,CAAC,CAChB,EACA,aAAc,IAAM,CAClBA,EAAY,CAAC,CAAC,CAChB,EACA,sBAAwBO,GAAY,CAClCP,EAAY,CAAC,CAAC,EAEVD,EAAM,uBACRA,EAAM,sBAAsBQ,CAAO,EAKhCL,EAAM,qBACTC,EAAO,sBAAuB,EAAI,CAEtC,EACA,YAAa,IAAM,CACjBH,EAAY,CAAC,CAAC,CAChB,CACF,EACA,QAASK,GAAW,CAAC,EACrB,SAAUN,EAAM,QAClB,CAAC,EACA,CAAC,CAAC,EAEL,OAAAW,EAAgB,IAAM,CACpBL,EAAQ,QAAUN,EAAM,OAC1B,EAAG,CAACA,EAAM,OAAO,CAAC,EAElBY,EAAU,IAAM,CACV,OAAOZ,EAAM,SAAa,MACxBA,EAAM,SACRQ,EAAQ,MAAM,EAEdA,EAAQ,IAAI,EAEdP,EAAY,CAAC,CAAC,EAElB,EAAG,CAACD,EAAM,QAAQ,CAAC,EAGjBa,EAAA,cAACjB,EAAW,SAAX,CAAoB,MAAO,CAAE,QAAAY,EAAS,MAAAL,CAAM,GAC1CH,EAAM,QACT,CAEJ,CAnESc,EAAAf,EAAA,YAqEF,SAASgB,GAA+D,CAC7E,IAAMT,EAAUU,EAAWpB,CAAU,EACrC,GAAI,CAACU,EACH,MAAM,MAAM,2DAA2D,EACzE,OAAOA,CACT,CALgBQ,EAAAC,EAAA,cAOhB,IAAOE,EAAQlB",
6
- "names": ["React", "createContext", "useContext", "useEffect", "useLayoutEffect", "useMemo", "useRef", "useState", "Manager", "useReducer", "initState", "reducer", "state", "action", "__name", "useManagerState", "dispatch", "useReducer", "name", "value", "ManagerCtx", "createContext", "initState", "Provider", "props", "forceRender", "useState", "state", "update", "useManagerState", "context", "useRef", "manager", "useMemo", "Manager", "useLayoutEffect", "useEffect", "React", "__name", "useManager", "useContext", "provider_default"]
4
+ "sourcesContent": ["import type { ManagerContext, ManagerState } from './types';\nimport type {\n ManagerContext as Context,\n Events,\n QueueDef,\n} from '@rango-dev/queue-manager-core';\nimport type { PropsWithChildren } from 'react';\n\nimport { Manager } from '@rango-dev/queue-manager-core';\nimport React, {\n createContext,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { initState as initManagerState, useManagerState } from './state';\n\nconst ManagerCtx = createContext<{\n manager: ManagerContext;\n state: ManagerState;\n}>({\n manager: undefined,\n state: initManagerState,\n});\n\ninterface PropTypes {\n queuesDefs: QueueDef<any, any, any>[];\n context: Context;\n onPersistedDataLoaded?: Events['onPersistedDataLoaded'];\n isPaused?: boolean;\n}\n\nfunction Provider(props: PropsWithChildren<PropTypes>) {\n // TODO: this is not a proper way but i don't want to change the context interface atm.\n const [, forceRender] = useState({});\n const { state, update } = useManagerState();\n const context = useRef(props.context);\n\n const manager = useMemo<Manager>(() => {\n return new Manager({\n queuesDefs: props.queuesDefs,\n events: {\n onStorageUpdate: () => {\n forceRender({});\n },\n onCreateQueue: () => {\n forceRender({});\n },\n onCreateTask: () => {\n forceRender({});\n },\n onUpdateQueue: () => {\n forceRender({});\n },\n onUpdateTask: () => {\n forceRender({});\n },\n onPersistedDataLoaded: (manager) => {\n forceRender({});\n\n if (props.onPersistedDataLoaded) {\n props.onPersistedDataLoaded(manager);\n }\n\n /*\n * This condition will make sure, we only update the `loadedFromPersistor`.\n * But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.\n */\n if (!state.loadedFromPersistor) {\n update('loadedFromPersistor', true);\n }\n },\n onTaskBlock: () => {\n forceRender({});\n },\n onDeleteQueue: () => {\n forceRender({});\n },\n },\n context: context || {},\n isPaused: props.isPaused,\n });\n }, []);\n\n useLayoutEffect(() => {\n context.current = props.context;\n }, [props.context]);\n\n useEffect(() => {\n if (typeof props.isPaused !== 'undefined') {\n if (props.isPaused) {\n manager.pause();\n } else {\n manager.run();\n }\n forceRender({});\n }\n }, [props.isPaused]);\n\n const value = useMemo(() => ({ manager, state }), [manager, state]);\n\n return (\n <ManagerCtx.Provider value={value}>{props.children}</ManagerCtx.Provider>\n );\n}\n\nexport function useManager(): { manager: ManagerContext; state: ManagerState } {\n const context = useContext(ManagerCtx);\n if (!context) {\n throw Error('useManager can only be used within the Provider component');\n }\n return context;\n}\n\nexport default Provider;\n", "import { useReducer } from 'react';\nimport { ManagerState } from './types';\n\ntype Update<T> = (name: keyof T, value: T[keyof T]) => void;\ntype Action<T> = { type: 'UPDATE'; name: keyof T; value: T[keyof T] };\n\nexport const initState: ManagerState = {\n loadedFromPersistor: false,\n};\n\nfunction reducer(state: ManagerState, action: Action<ManagerState>) {\n switch (action.type) {\n case 'UPDATE':\n return { ...state, [action.name]: action.value };\n default:\n return state;\n }\n}\n\nexport function useManagerState(): {\n state: ManagerState;\n update: Update<ManagerState>;\n} {\n const [state, dispatch] = useReducer(reducer, initState);\n\n return {\n state,\n update: (name, value) => {\n dispatch({\n type: 'UPDATE',\n name,\n value,\n });\n },\n };\n}\n"],
5
+ "mappings": "+EAQA,OAAS,WAAAA,MAAe,gCACxB,OAAOC,GACL,iBAAAC,EACA,cAAAC,EACA,aAAAC,EACA,mBAAAC,EACA,WAAAC,EACA,UAAAC,EACA,YAAAC,MACK,QCjBP,OAAS,cAAAC,MAAkB,QAMpB,IAAMC,EAA0B,CACrC,oBAAqB,EACvB,EAEA,SAASC,EAAQC,EAAqBC,EAA8B,CAClE,OAAQA,EAAO,KAAM,CACnB,IAAK,SACH,MAAO,CAAE,GAAGD,EAAO,CAACC,EAAO,IAAI,EAAGA,EAAO,KAAM,EACjD,QACE,OAAOD,CACX,CACF,CAPSE,EAAAH,EAAA,WASF,SAASI,GAGd,CACA,GAAM,CAACH,EAAOI,CAAQ,EAAIC,EAAWN,EAASD,CAAS,EAEvD,MAAO,CACL,MAAAE,EACA,OAAQ,CAACM,EAAMC,IAAU,CACvBH,EAAS,CACP,KAAM,SACN,KAAAE,EACA,MAAAC,CACF,CAAC,CACH,CACF,CACF,CAhBgBL,EAAAC,EAAA,mBDEhB,IAAMK,EAAaC,EAGhB,CACD,QAAS,OACT,MAAOC,CACT,CAAC,EASD,SAASC,EAASC,EAAqC,CAErD,GAAM,CAAC,CAAEC,CAAW,EAAIC,EAAS,CAAC,CAAC,EAC7B,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIC,EAAgB,EACpCC,EAAUC,EAAOP,EAAM,OAAO,EAE9BQ,EAAUC,EAAiB,IACxB,IAAIC,EAAQ,CACjB,WAAYV,EAAM,WAClB,OAAQ,CACN,gBAAiB,IAAM,CACrBC,EAAY,CAAC,CAAC,CAChB,EACA,cAAe,IAAM,CACnBA,EAAY,CAAC,CAAC,CAChB,EACA,aAAc,IAAM,CAClBA,EAAY,CAAC,CAAC,CAChB,EACA,cAAe,IAAM,CACnBA,EAAY,CAAC,CAAC,CAChB,EACA,aAAc,IAAM,CAClBA,EAAY,CAAC,CAAC,CAChB,EACA,sBAAwBO,GAAY,CAClCP,EAAY,CAAC,CAAC,EAEVD,EAAM,uBACRA,EAAM,sBAAsBQ,CAAO,EAOhCL,EAAM,qBACTC,EAAO,sBAAuB,EAAI,CAEtC,EACA,YAAa,IAAM,CACjBH,EAAY,CAAC,CAAC,CAChB,EACA,cAAe,IAAM,CACnBA,EAAY,CAAC,CAAC,CAChB,CACF,EACA,QAASK,GAAW,CAAC,EACrB,SAAUN,EAAM,QAClB,CAAC,EACA,CAAC,CAAC,EAELW,EAAgB,IAAM,CACpBL,EAAQ,QAAUN,EAAM,OAC1B,EAAG,CAACA,EAAM,OAAO,CAAC,EAElBY,EAAU,IAAM,CACV,OAAOZ,EAAM,SAAa,MACxBA,EAAM,SACRQ,EAAQ,MAAM,EAEdA,EAAQ,IAAI,EAEdP,EAAY,CAAC,CAAC,EAElB,EAAG,CAACD,EAAM,QAAQ,CAAC,EAEnB,IAAMa,EAAQJ,EAAQ,KAAO,CAAE,QAAAD,EAAS,MAAAL,CAAM,GAAI,CAACK,EAASL,CAAK,CAAC,EAElE,OACEW,EAAA,cAAClB,EAAW,SAAX,CAAoB,MAAOiB,GAAQb,EAAM,QAAS,CAEvD,CAxESe,EAAAhB,EAAA,YA0EF,SAASiB,GAA+D,CAC7E,IAAMV,EAAUW,EAAWrB,CAAU,EACrC,GAAI,CAACU,EACH,MAAM,MAAM,2DAA2D,EAEzE,OAAOA,CACT,CANgBS,EAAAC,EAAA,cAQhB,IAAOE,EAAQnB",
6
+ "names": ["Manager", "React", "createContext", "useContext", "useEffect", "useLayoutEffect", "useMemo", "useRef", "useState", "useReducer", "initState", "reducer", "state", "action", "__name", "useManagerState", "dispatch", "useReducer", "name", "value", "ManagerCtx", "createContext", "initState", "Provider", "props", "forceRender", "useState", "state", "update", "useManagerState", "context", "useRef", "manager", "useMemo", "Manager", "useLayoutEffect", "useEffect", "value", "React", "__name", "useManager", "useContext", "provider_default"]
7
7
  }
@@ -1,6 +1,7 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { ManagerContext as Context, QueueDef, Events } from '@rango-dev/queue-manager-core';
3
- import { ManagerContext, ManagerState } from './types';
1
+ import type { ManagerContext, ManagerState } from './types';
2
+ import type { ManagerContext as Context, Events, QueueDef } from '@rango-dev/queue-manager-core';
3
+ import type { PropsWithChildren } from 'react';
4
+ import React from 'react';
4
5
  interface PropTypes {
5
6
  queuesDefs: QueueDef<any, any, any>[];
6
7
  context: Context;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,cAAc,IAAI,OAAO,EAEzB,QAAQ,EACR,MAAM,EACP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWvD,UAAU,SAAS;IACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBAmEpD;AAED,wBAAgB,UAAU,IAAI;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAK7E;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EACV,cAAc,IAAI,OAAO,EACzB,MAAM,EACN,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,KAQN,MAAM,OAAO,CAAC;AAYf,UAAU,SAAS;IACjB,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBAwEpD;AAED,wBAAgB,UAAU,IAAI;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAM7E;AAED,eAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/queue-manager-react",
3
- "version": "0.15.0",
3
+ "version": "0.15.1-next.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
package/src/provider.tsx CHANGED
@@ -1,6 +1,14 @@
1
+ import type { ManagerContext, ManagerState } from './types';
2
+ import type {
3
+ ManagerContext as Context,
4
+ Events,
5
+ QueueDef,
6
+ } from '@rango-dev/queue-manager-core';
7
+ import type { PropsWithChildren } from 'react';
8
+
9
+ import { Manager } from '@rango-dev/queue-manager-core';
1
10
  import React, {
2
11
  createContext,
3
- PropsWithChildren,
4
12
  useContext,
5
13
  useEffect,
6
14
  useLayoutEffect,
@@ -8,14 +16,8 @@ import React, {
8
16
  useRef,
9
17
  useState,
10
18
  } from 'react';
11
- import {
12
- ManagerContext as Context,
13
- Manager,
14
- QueueDef,
15
- Events,
16
- } from '@rango-dev/queue-manager-core';
17
- import { ManagerContext, ManagerState } from './types';
18
- import { useManagerState, initState as initManagerState } from './state';
19
+
20
+ import { initState as initManagerState, useManagerState } from './state';
19
21
 
20
22
  const ManagerCtx = createContext<{
21
23
  manager: ManagerContext;
@@ -64,8 +66,10 @@ function Provider(props: PropsWithChildren<PropTypes>) {
64
66
  props.onPersistedDataLoaded(manager);
65
67
  }
66
68
 
67
- // This condition will make sure, we only update the `loadedFromPersistor`.
68
- // But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.
69
+ /*
70
+ * This condition will make sure, we only update the `loadedFromPersistor`.
71
+ * But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.
72
+ */
69
73
  if (!state.loadedFromPersistor) {
70
74
  update('loadedFromPersistor', true);
71
75
  }
@@ -73,6 +77,9 @@ function Provider(props: PropsWithChildren<PropTypes>) {
73
77
  onTaskBlock: () => {
74
78
  forceRender({});
75
79
  },
80
+ onDeleteQueue: () => {
81
+ forceRender({});
82
+ },
76
83
  },
77
84
  context: context || {},
78
85
  isPaused: props.isPaused,
@@ -94,17 +101,18 @@ function Provider(props: PropsWithChildren<PropTypes>) {
94
101
  }
95
102
  }, [props.isPaused]);
96
103
 
104
+ const value = useMemo(() => ({ manager, state }), [manager, state]);
105
+
97
106
  return (
98
- <ManagerCtx.Provider value={{ manager, state }}>
99
- {props.children}
100
- </ManagerCtx.Provider>
107
+ <ManagerCtx.Provider value={value}>{props.children}</ManagerCtx.Provider>
101
108
  );
102
109
  }
103
110
 
104
111
  export function useManager(): { manager: ManagerContext; state: ManagerState } {
105
112
  const context = useContext(ManagerCtx);
106
- if (!context)
113
+ if (!context) {
107
114
  throw Error('useManager can only be used within the Provider component');
115
+ }
108
116
  return context;
109
117
  }
110
118