@rango-dev/queue-manager-react 0.1.14-next.4 → 0.1.14-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
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
- 'use strict'
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
+ }
@@ -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
@@ -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
- declare 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 {};
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
@@ -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,aAAK,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"}
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 declare type ManagerContext = Manager | undefined;
3
- export declare type ManagerState = {
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
@@ -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,oBAAY,cAAc,GAAG,OAAO,GAAG,SAAS,CAAC;AACjD,oBAAY,YAAY,GAAG;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC"}
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.1.14-next.4",
3
+ "version": "0.1.14-next.6",
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
- "dev": "tsdx watch",
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