ywana-core8 0.1.0 → 0.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ywana-core8",
3
- "version": "0.1.000",
3
+ "version": "0.1.001",
4
4
  "description": "ywana-core8",
5
5
  "homepage": "https://ywana.github.io/workspace",
6
6
  "author": "Ernesto Roldan Garcia",
@@ -13,7 +13,7 @@ export const TaskContext = React.createContext({})
13
13
  */
14
14
  export const TaskContextProvider = (props) => {
15
15
 
16
- const { host, url = "/tasks", frequency = 1000, children, ctx, concurrent = false } = props
16
+ const { host, url = "/tasks", frequency = 1000, children, ctx } = props
17
17
  const API = CollectionAPI(url, host, "")
18
18
  const [listeners, setListeners] = useState({})
19
19
  const appContext = useContext(ctx)
@@ -26,11 +26,7 @@ export const TaskContextProvider = (props) => {
26
26
  useEffect(() => {
27
27
  if (Object.keys(listeners).length === 0) return
28
28
  const _interval = setInterval(async () => {
29
- if (concurrent) {
30
- await concurrentExecuteListeners()
31
- } else {
32
- await executeListeners()
33
- }
29
+ await executeListeners()
34
30
  }, frequency)
35
31
  return () => clearInterval(_interval)
36
32
  }, [listeners])
@@ -40,21 +36,17 @@ export const TaskContextProvider = (props) => {
40
36
  for (let i = 0; i < taskIDs.length; i++) {
41
37
  const taskID = taskIDs[i]
42
38
  const tsk = await task(taskID)
39
+ if (!tsk) {
40
+ console.log("Task not found", taskID)
41
+ removeListener(taskID)
42
+ console.log("Listener removed", taskID)
43
+ continue
44
+ }
43
45
  const listener = listeners[taskID]
44
46
  if (listener) listener(tsk, appContextRef.current)
45
47
  }
46
48
  }
47
49
 
48
- async function concurrentExecuteListeners() {
49
- const taskIDs = Object.keys(listeners);
50
- const taskPromises = taskIDs.map(taskID => context.task(taskID).then(tsk => [tsk, taskID]));
51
- const tasks = await Promise.all(taskPromises);
52
- tasks.forEach(([tsk, taskID]) => {
53
- const listener = listeners[taskID];
54
- if (listener) listener(tsk, appContextRef.current);
55
- });
56
- }
57
-
58
50
  async function tasks(filters, likes) {
59
51
  try {
60
52
  const response = await API.all(filters, likes);