@rango-dev/queue-manager-react 0.1.14-next.5 → 0.2.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 +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -8
- package/dist/index.js.map +7 -0
- package/dist/provider.d.ts +15 -15
- package/dist/provider.d.ts.map +1 -1
- package/dist/state.d.ts +8 -8
- package/dist/state.d.ts.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -6
- package/dist/queue-manager-react.cjs.development.js +0 -132
- package/dist/queue-manager-react.cjs.development.js.map +0 -1
- package/dist/queue-manager-react.cjs.production.min.js +0 -2
- package/dist/queue-manager-react.cjs.production.min.js.map +0 -1
- package/dist/queue-manager-react.esm.js +0 -124
- package/dist/queue-manager-react.esm.js.map +0 -1
- /package/src/{index.tsx → index.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# [0.2.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-react@0.1.13...queue-manager-react@0.2.0) (2023-05-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
1
5
|
## [0.1.12](https://github.com/rango-exchange/rango-client/compare/queue-manager-react@0.1.11...queue-manager-react@0.1.12) (2023-05-15)
|
|
2
6
|
|
|
3
7
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as Provider, useManager } from './provider';
|
|
1
|
+
export { default as Provider, useManager } from './provider';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (process.env.NODE_ENV === 'production') {
|
|
5
|
-
module.exports = require('./queue-manager-react.cjs.production.min.js')
|
|
6
|
-
} else {
|
|
7
|
-
module.exports = require('./queue-manager-react.cjs.development.js')
|
|
8
|
-
}
|
|
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};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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"]
|
|
7
|
+
}
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { ManagerContext as Context, QueueDef, Events } from '@rango-dev/queue-manager-core';
|
|
3
|
-
import { ManagerContext, ManagerState } from './types';
|
|
4
|
-
interface PropTypes {
|
|
5
|
-
queuesDefs: QueueDef<any, any, any>[];
|
|
6
|
-
context: Context;
|
|
7
|
-
onPersistedDataLoaded?: Events['onPersistedDataLoaded'];
|
|
8
|
-
isPaused?: boolean;
|
|
9
|
-
}
|
|
10
|
-
declare function Provider(props: PropsWithChildren<PropTypes>): JSX.Element;
|
|
11
|
-
export declare function useManager(): {
|
|
12
|
-
manager: ManagerContext;
|
|
13
|
-
state: ManagerState;
|
|
14
|
-
};
|
|
15
|
-
export default Provider;
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { ManagerContext as Context, QueueDef, Events } from '@rango-dev/queue-manager-core';
|
|
3
|
+
import { ManagerContext, ManagerState } from './types';
|
|
4
|
+
interface PropTypes {
|
|
5
|
+
queuesDefs: QueueDef<any, any, any>[];
|
|
6
|
+
context: Context;
|
|
7
|
+
onPersistedDataLoaded?: Events['onPersistedDataLoaded'];
|
|
8
|
+
isPaused?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare function Provider(props: PropsWithChildren<PropTypes>): JSX.Element;
|
|
11
|
+
export declare function useManager(): {
|
|
12
|
+
manager: ManagerContext;
|
|
13
|
+
state: ManagerState;
|
|
14
|
+
};
|
|
15
|
+
export default Provider;
|
|
16
16
|
//# sourceMappingURL=provider.d.ts.map
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["src/provider.tsx"],"names":[],"mappings":"AAAA,OAAc,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,eAmEpD;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,OAAc,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,eAmEpD;AAED,wBAAgB,UAAU,IAAI;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAK7E;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/state.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ManagerState } from './types';
|
|
2
|
-
|
|
3
|
-
export declare const initState: ManagerState;
|
|
4
|
-
export declare function useManagerState(): {
|
|
5
|
-
state: ManagerState;
|
|
6
|
-
update: Update<ManagerState>;
|
|
7
|
-
};
|
|
8
|
-
export {};
|
|
1
|
+
import { ManagerState } from './types';
|
|
2
|
+
type Update<T> = (name: keyof T, value: T[keyof T]) => void;
|
|
3
|
+
export declare const initState: ManagerState;
|
|
4
|
+
export declare function useManagerState(): {
|
|
5
|
+
state: ManagerState;
|
|
6
|
+
update: Update<ManagerState>;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
9
9
|
//# sourceMappingURL=state.d.ts.map
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["src/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;AAG5D,eAAO,MAAM,SAAS,EAAE,YAEvB,CAAC;AAWF,wBAAgB,eAAe,IAAI;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CAC9B,CAaA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Manager } from '@rango-dev/queue-manager-core';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
loadedFromPersistor: boolean;
|
|
5
|
-
};
|
|
1
|
+
import { Manager } from '@rango-dev/queue-manager-core';
|
|
2
|
+
export type ManagerContext = Manager | undefined;
|
|
3
|
+
export type ManagerState = {
|
|
4
|
+
loadedFromPersistor: boolean;
|
|
5
|
+
};
|
|
6
6
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/queue-manager-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"module": "dist/queue-manager-react.esm.js",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"typings": "dist/index.d.ts",
|
|
8
5
|
"type": "module",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"typings": "dist/index.d.ts",
|
|
9
8
|
"files": [
|
|
10
9
|
"dist",
|
|
11
10
|
"src"
|
|
12
11
|
],
|
|
13
12
|
"scripts": {
|
|
14
|
-
"
|
|
15
|
-
"build": "tsdx build --tsconfig ./tsconfig.json",
|
|
13
|
+
"build": "node ../../scripts/build/command.mjs --path queue-manager/react",
|
|
16
14
|
"clean": "rimraf dist",
|
|
17
15
|
"format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
|
|
18
16
|
"lint": "eslint \"**/*.{ts,tsx}\" --ignore-path ../../.eslintignore"
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var React__default = _interopDefault(React);
|
|
9
|
-
var queueManagerCore = require('@rango-dev/queue-manager-core');
|
|
10
|
-
|
|
11
|
-
function _extends() {
|
|
12
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
13
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
14
|
-
var source = arguments[i];
|
|
15
|
-
for (var key in source) {
|
|
16
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
17
|
-
target[key] = source[key];
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return target;
|
|
22
|
-
};
|
|
23
|
-
return _extends.apply(this, arguments);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var initState = {
|
|
27
|
-
loadedFromPersistor: false
|
|
28
|
-
};
|
|
29
|
-
function reducer(state, action) {
|
|
30
|
-
var _extends2;
|
|
31
|
-
switch (action.type) {
|
|
32
|
-
case 'UPDATE':
|
|
33
|
-
return _extends({}, state, (_extends2 = {}, _extends2[action.name] = action.value, _extends2));
|
|
34
|
-
default:
|
|
35
|
-
return state;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function useManagerState() {
|
|
39
|
-
var _useReducer = React.useReducer(reducer, initState),
|
|
40
|
-
state = _useReducer[0],
|
|
41
|
-
dispatch = _useReducer[1];
|
|
42
|
-
return {
|
|
43
|
-
state: state,
|
|
44
|
-
update: function update(name, value) {
|
|
45
|
-
dispatch({
|
|
46
|
-
type: 'UPDATE',
|
|
47
|
-
name: name,
|
|
48
|
-
value: value
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var ManagerCtx = /*#__PURE__*/React.createContext({
|
|
55
|
-
manager: undefined,
|
|
56
|
-
state: initState
|
|
57
|
-
});
|
|
58
|
-
function Provider(props) {
|
|
59
|
-
// TODO: this is not a proper way but i don't want to change the context interface atm.
|
|
60
|
-
var _useState = React.useState({}),
|
|
61
|
-
forceRender = _useState[1];
|
|
62
|
-
var _useManagerState = useManagerState(),
|
|
63
|
-
state = _useManagerState.state,
|
|
64
|
-
update = _useManagerState.update;
|
|
65
|
-
var context = React.useRef(props.context);
|
|
66
|
-
var manager = React.useMemo(function () {
|
|
67
|
-
return new queueManagerCore.Manager({
|
|
68
|
-
queuesDefs: props.queuesDefs,
|
|
69
|
-
events: {
|
|
70
|
-
onStorageUpdate: function onStorageUpdate() {
|
|
71
|
-
forceRender({});
|
|
72
|
-
},
|
|
73
|
-
onCreateQueue: function onCreateQueue() {
|
|
74
|
-
forceRender({});
|
|
75
|
-
},
|
|
76
|
-
onCreateTask: function onCreateTask() {
|
|
77
|
-
forceRender({});
|
|
78
|
-
},
|
|
79
|
-
onUpdateQueue: function onUpdateQueue() {
|
|
80
|
-
forceRender({});
|
|
81
|
-
},
|
|
82
|
-
onUpdateTask: function onUpdateTask() {
|
|
83
|
-
forceRender({});
|
|
84
|
-
},
|
|
85
|
-
onPersistedDataLoaded: function onPersistedDataLoaded(manager) {
|
|
86
|
-
forceRender({});
|
|
87
|
-
if (props.onPersistedDataLoaded) {
|
|
88
|
-
props.onPersistedDataLoaded(manager);
|
|
89
|
-
}
|
|
90
|
-
// This condition will make sure, we only update the `loadedFromPersistor`.
|
|
91
|
-
// But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.
|
|
92
|
-
if (!state.loadedFromPersistor) {
|
|
93
|
-
update('loadedFromPersistor', true);
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
onTaskBlock: function onTaskBlock() {
|
|
97
|
-
forceRender({});
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
context: context || {},
|
|
101
|
-
isPaused: props.isPaused
|
|
102
|
-
});
|
|
103
|
-
}, []);
|
|
104
|
-
React.useLayoutEffect(function () {
|
|
105
|
-
context.current = props.context;
|
|
106
|
-
}, [props.context]);
|
|
107
|
-
React.useEffect(function () {
|
|
108
|
-
if (typeof props.isPaused !== 'undefined') {
|
|
109
|
-
if (props.isPaused) {
|
|
110
|
-
manager.pause();
|
|
111
|
-
} else {
|
|
112
|
-
manager.run();
|
|
113
|
-
}
|
|
114
|
-
forceRender({});
|
|
115
|
-
}
|
|
116
|
-
}, [props.isPaused]);
|
|
117
|
-
return React__default.createElement(ManagerCtx.Provider, {
|
|
118
|
-
value: {
|
|
119
|
-
manager: manager,
|
|
120
|
-
state: state
|
|
121
|
-
}
|
|
122
|
-
}, props.children);
|
|
123
|
-
}
|
|
124
|
-
function useManager() {
|
|
125
|
-
var context = React.useContext(ManagerCtx);
|
|
126
|
-
if (!context) throw Error('useManager can only be used within the Provider component');
|
|
127
|
-
return context;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
exports.Provider = Provider;
|
|
131
|
-
exports.useManager = useManager;
|
|
132
|
-
//# sourceMappingURL=queue-manager-react.cjs.development.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue-manager-react.cjs.development.js","sources":["../src/state.ts","../src/provider.tsx"],"sourcesContent":["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","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"],"names":["initState","loadedFromPersistor","reducer","state","action","type","_extends","_extends2","name","value","useManagerState","_useReducer","useReducer","dispatch","update","ManagerCtx","createContext","manager","undefined","initManagerState","Provider","props","_useState","useState","forceRender","_useManagerState","context","useRef","useMemo","Manager","queuesDefs","events","onStorageUpdate","onCreateQueue","onCreateTask","onUpdateQueue","onUpdateTask","onPersistedDataLoaded","onTaskBlock","isPaused","useLayoutEffect","current","useEffect","pause","run","React","children","useManager","useContext","Error"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@rango-dev/queue-manager-core");function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var o={loadedFromPersistor:!1};function u(e,t){var n;switch(t.type){case"UPDATE":return a({},e,((n={})[t.name]=t.value,n));default:return e}}var s=t.createContext({manager:void 0,state:o});exports.Provider=function(e){var a,i,c=t.useState({})[1],d=(a=t.useReducer(u,o),i=a[1],{state:a[0],update:function(e,t){i({type:"UPDATE",name:e,value:t})}}),f=d.state,v=d.update,l=t.useRef(e.context),p=t.useMemo((function(){return new r.Manager({queuesDefs:e.queuesDefs,events:{onStorageUpdate:function(){c({})},onCreateQueue:function(){c({})},onCreateTask:function(){c({})},onUpdateQueue:function(){c({})},onUpdateTask:function(){c({})},onPersistedDataLoaded:function(t){c({}),e.onPersistedDataLoaded&&e.onPersistedDataLoaded(t),f.loadedFromPersistor||v("loadedFromPersistor",!0)},onTaskBlock:function(){c({})}},context:l||{},isPaused:e.isPaused})}),[]);return t.useLayoutEffect((function(){l.current=e.context}),[e.context]),t.useEffect((function(){void 0!==e.isPaused&&(e.isPaused?p.pause():p.run(),c({}))}),[e.isPaused]),n.createElement(s.Provider,{value:{manager:p,state:f}},e.children)},exports.useManager=function(){var e=t.useContext(s);if(!e)throw Error("useManager can only be used within the Provider component");return e};
|
|
2
|
-
//# sourceMappingURL=queue-manager-react.cjs.production.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue-manager-react.cjs.production.min.js","sources":["../src/state.ts","../src/provider.tsx"],"sourcesContent":["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","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"],"names":["initState","loadedFromPersistor","reducer","state","action","type","_extends","_extends2","name","value","ManagerCtx","createContext","manager","undefined","initManagerState","props","_useReducer","dispatch","forceRender","useState","_useManagerState","useReducer","update","context","useRef","useMemo","Manager","queuesDefs","events","onStorageUpdate","onCreateQueue","onCreateTask","onUpdateQueue","onUpdateTask","onPersistedDataLoaded","onTaskBlock","isPaused","useLayoutEffect","current","useEffect","pause","run","React","Provider","children","useContext","Error"],"mappings":"kaAMO,IAAMA,EAA0B,CACrCC,qBAAqB,GAGvB,SAASC,EAAQC,EAAqBC,SACpC,OAAQA,EAAOC,MACb,IAAK,SACH,OAAAC,KAAYH,IAAKI,MAAGH,EAAOI,MAAOJ,EAAOK,MAAKF,IAChD,QACE,OAAOJ,GCIb,IAAMO,EAAaC,gBAGhB,CACDC,aAASC,EACTV,MAAOW,qBAUT,SAAkBC,GAEhB,IDbAC,EAAcC,ECaLC,EAAeC,WAAS,OACjCC,GDdAJ,EAA0BK,aAAWnB,EAASF,GAAhCiB,EAAQD,KAEf,CACLb,MAHUa,KAIVM,OAAQ,SAACd,EAAMC,GACbQ,EAAS,CACPZ,KAAM,SACNG,KAAAA,EACAC,MAAAA,OCMEN,EAAKiB,EAALjB,MAAOmB,EAAMF,EAANE,OACTC,EAAUC,SAAOT,EAAMQ,SAEvBX,EAAUa,WAAiB,WAC/B,OAAO,IAAIC,UAAQ,CACjBC,WAAYZ,EAAMY,WAClBC,OAAQ,CACNC,gBAAiB,WACfX,EAAY,KAEdY,cAAe,WACbZ,EAAY,KAEda,aAAc,WACZb,EAAY,KAEdc,cAAe,WACbd,EAAY,KAEde,aAAc,WACZf,EAAY,KAEdgB,sBAAuB,SAACtB,GACtBM,EAAY,IAERH,EAAMmB,uBACRnB,EAAMmB,sBAAsBtB,GAKzBT,EAAMF,qBACTqB,EAAO,uBAAuB,IAGlCa,YAAa,WACXjB,EAAY,MAGhBK,QAASA,GAAW,GACpBa,SAAUrB,EAAMqB,aAEjB,IAiBH,OAfAC,mBAAgB,WACdd,EAAQe,QAAUvB,EAAMQ,UACvB,CAACR,EAAMQ,UAEVgB,aAAU,gBACsB,IAAnBxB,EAAMqB,WACXrB,EAAMqB,SACRxB,EAAQ4B,QAER5B,EAAQ6B,MAEVvB,EAAY,OAEb,CAACH,EAAMqB,WAGRM,gBAAChC,EAAWiC,UAASlC,MAAO,CAAEG,QAAAA,EAAST,MAAAA,IACpCY,EAAM6B,8BAKb,WACE,IAAMrB,EAAUsB,aAAWnC,GAC3B,IAAKa,EACH,MAAMuB,MAAM,6DACd,OAAOvB"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import React, { useReducer, useState, useRef, useMemo, useLayoutEffect, useEffect, useContext, createContext } from 'react';
|
|
2
|
-
import { Manager } from '@rango-dev/queue-manager-core';
|
|
3
|
-
|
|
4
|
-
function _extends() {
|
|
5
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
6
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
7
|
-
var source = arguments[i];
|
|
8
|
-
for (var key in source) {
|
|
9
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
10
|
-
target[key] = source[key];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return target;
|
|
15
|
-
};
|
|
16
|
-
return _extends.apply(this, arguments);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
var initState = {
|
|
20
|
-
loadedFromPersistor: false
|
|
21
|
-
};
|
|
22
|
-
function reducer(state, action) {
|
|
23
|
-
var _extends2;
|
|
24
|
-
switch (action.type) {
|
|
25
|
-
case 'UPDATE':
|
|
26
|
-
return _extends({}, state, (_extends2 = {}, _extends2[action.name] = action.value, _extends2));
|
|
27
|
-
default:
|
|
28
|
-
return state;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function useManagerState() {
|
|
32
|
-
var _useReducer = useReducer(reducer, initState),
|
|
33
|
-
state = _useReducer[0],
|
|
34
|
-
dispatch = _useReducer[1];
|
|
35
|
-
return {
|
|
36
|
-
state: state,
|
|
37
|
-
update: function update(name, value) {
|
|
38
|
-
dispatch({
|
|
39
|
-
type: 'UPDATE',
|
|
40
|
-
name: name,
|
|
41
|
-
value: value
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
var ManagerCtx = /*#__PURE__*/createContext({
|
|
48
|
-
manager: undefined,
|
|
49
|
-
state: initState
|
|
50
|
-
});
|
|
51
|
-
function Provider(props) {
|
|
52
|
-
// TODO: this is not a proper way but i don't want to change the context interface atm.
|
|
53
|
-
var _useState = useState({}),
|
|
54
|
-
forceRender = _useState[1];
|
|
55
|
-
var _useManagerState = useManagerState(),
|
|
56
|
-
state = _useManagerState.state,
|
|
57
|
-
update = _useManagerState.update;
|
|
58
|
-
var context = useRef(props.context);
|
|
59
|
-
var manager = useMemo(function () {
|
|
60
|
-
return new Manager({
|
|
61
|
-
queuesDefs: props.queuesDefs,
|
|
62
|
-
events: {
|
|
63
|
-
onStorageUpdate: function onStorageUpdate() {
|
|
64
|
-
forceRender({});
|
|
65
|
-
},
|
|
66
|
-
onCreateQueue: function onCreateQueue() {
|
|
67
|
-
forceRender({});
|
|
68
|
-
},
|
|
69
|
-
onCreateTask: function onCreateTask() {
|
|
70
|
-
forceRender({});
|
|
71
|
-
},
|
|
72
|
-
onUpdateQueue: function onUpdateQueue() {
|
|
73
|
-
forceRender({});
|
|
74
|
-
},
|
|
75
|
-
onUpdateTask: function onUpdateTask() {
|
|
76
|
-
forceRender({});
|
|
77
|
-
},
|
|
78
|
-
onPersistedDataLoaded: function onPersistedDataLoaded(manager) {
|
|
79
|
-
forceRender({});
|
|
80
|
-
if (props.onPersistedDataLoaded) {
|
|
81
|
-
props.onPersistedDataLoaded(manager);
|
|
82
|
-
}
|
|
83
|
-
// This condition will make sure, we only update the `loadedFromPersistor`.
|
|
84
|
-
// But be aware `onPersistedDataLoaded` is calling after each `sync` which means can be called multiple times.
|
|
85
|
-
if (!state.loadedFromPersistor) {
|
|
86
|
-
update('loadedFromPersistor', true);
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
onTaskBlock: function onTaskBlock() {
|
|
90
|
-
forceRender({});
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
context: context || {},
|
|
94
|
-
isPaused: props.isPaused
|
|
95
|
-
});
|
|
96
|
-
}, []);
|
|
97
|
-
useLayoutEffect(function () {
|
|
98
|
-
context.current = props.context;
|
|
99
|
-
}, [props.context]);
|
|
100
|
-
useEffect(function () {
|
|
101
|
-
if (typeof props.isPaused !== 'undefined') {
|
|
102
|
-
if (props.isPaused) {
|
|
103
|
-
manager.pause();
|
|
104
|
-
} else {
|
|
105
|
-
manager.run();
|
|
106
|
-
}
|
|
107
|
-
forceRender({});
|
|
108
|
-
}
|
|
109
|
-
}, [props.isPaused]);
|
|
110
|
-
return React.createElement(ManagerCtx.Provider, {
|
|
111
|
-
value: {
|
|
112
|
-
manager: manager,
|
|
113
|
-
state: state
|
|
114
|
-
}
|
|
115
|
-
}, props.children);
|
|
116
|
-
}
|
|
117
|
-
function useManager() {
|
|
118
|
-
var context = useContext(ManagerCtx);
|
|
119
|
-
if (!context) throw Error('useManager can only be used within the Provider component');
|
|
120
|
-
return context;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export { Provider, useManager };
|
|
124
|
-
//# sourceMappingURL=queue-manager-react.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue-manager-react.esm.js","sources":["../src/state.ts","../src/provider.tsx"],"sourcesContent":["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","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"],"names":["initState","loadedFromPersistor","reducer","state","action","type","_extends","_extends2","name","value","useManagerState","_useReducer","useReducer","dispatch","update","ManagerCtx","createContext","manager","undefined","initManagerState","Provider","props","_useState","useState","forceRender","_useManagerState","context","useRef","useMemo","Manager","queuesDefs","events","onStorageUpdate","onCreateQueue","onCreateTask","onUpdateQueue","onUpdateTask","onPersistedDataLoaded","onTaskBlock","isPaused","useLayoutEffect","current","useEffect","pause","run","React","children","useManager","useContext","Error"],"mappings":"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"}
|
|
File without changes
|