@grupalia/rn-ui-kit 0.116.0 → 0.117.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.
@@ -4,7 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBaseJobRunPolling = useBaseJobRunPolling;
7
+ var _reactQuery = require("@tanstack/react-query");
7
8
  var _react = require("react");
9
+ var _useCurrentTime = require("./useCurrentTime");
10
+ var _timeConstants = require("../utils/timeConstants");
8
11
  function useBaseJobRunPolling({
9
12
  fetchJobRun,
10
13
  onCompleted,
@@ -13,84 +16,58 @@ function useBaseJobRunPolling({
13
16
  pollingIntervalMs,
14
17
  timeoutMs
15
18
  }) {
16
- const [jobRunResponse, setJobRunResponse] = (0, _react.useState)(null);
17
- const [isPolling, setIsPolling] = (0, _react.useState)(false);
18
- const pollTimeoutIdRef = (0, _react.useRef)(null);
19
- const timeoutIdRef = (0, _react.useRef)(null);
20
- const isPollingActiveRef = (0, _react.useRef)(false);
21
- const fetchJobRunRef = (0, _react.useRef)(fetchJobRun);
22
- const onCompletedRef = (0, _react.useRef)(onCompleted);
23
- const onFailedRef = (0, _react.useRef)(onFailed);
24
- const onTimeoutRef = (0, _react.useRef)(onTimeout);
19
+ const [jobRunId, setJobRunId] = (0, _react.useState)(null);
20
+ const [startedAt, setStartedAt] = (0, _react.useState)(null);
21
+ const [finished, setFinished] = (0, _react.useState)(false);
22
+ const now = (0, _useCurrentTime.useCurrentTime)(_timeConstants.MS_IN_A_SECOND);
23
+ const hasTimedOut = startedAt !== null && now.getTime() - startedAt.getTime() > timeoutMs;
24
+ const isEnabled = !finished && !hasTimedOut && jobRunId !== null;
25
+ const {
26
+ data,
27
+ error
28
+ } = (0, _reactQuery.useQuery)({
29
+ queryKey: ['jobRun', jobRunId],
30
+ queryFn: jobRunId !== null ? () => fetchJobRun(jobRunId).then(response => response.data.jobRun) : _reactQuery.skipToken,
31
+ enabled: isEnabled,
32
+ refetchInterval: () => isEnabled ? pollingIntervalMs : false,
33
+ retry: false,
34
+ gcTime: 0
35
+ });
25
36
  (0, _react.useEffect)(() => {
26
- fetchJobRunRef.current = fetchJobRun;
27
- }, [fetchJobRun]);
28
- (0, _react.useEffect)(() => {
29
- onCompletedRef.current = onCompleted;
30
- }, [onCompleted]);
31
- (0, _react.useEffect)(() => {
32
- onFailedRef.current = onFailed;
33
- }, [onFailed]);
34
- (0, _react.useEffect)(() => {
35
- onTimeoutRef.current = onTimeout;
36
- }, [onTimeout]);
37
- const clearPolling = (0, _react.useCallback)(() => {
38
- isPollingActiveRef.current = false;
39
- if (pollTimeoutIdRef.current) {
40
- clearTimeout(pollTimeoutIdRef.current);
41
- pollTimeoutIdRef.current = null;
37
+ if (finished) return;
38
+ if (data?.completed) {
39
+ setFinished(true);
40
+ onCompleted?.(data);
41
+ return;
42
42
  }
43
- if (timeoutIdRef.current) {
44
- clearTimeout(timeoutIdRef.current);
45
- timeoutIdRef.current = null;
43
+ if (data?.failed) {
44
+ setFinished(true);
45
+ onFailed?.(data);
46
+ return;
46
47
  }
47
- setIsPolling(false);
48
+ if (error) {
49
+ setFinished(true);
50
+ onFailed?.();
51
+ return;
52
+ }
53
+ if (hasTimedOut) {
54
+ setFinished(true);
55
+ onTimeout?.();
56
+ }
57
+ }, [data, error, finished, hasTimedOut, onCompleted, onFailed, onTimeout]);
58
+ const startPolling = (0, _react.useCallback)(id => {
59
+ setJobRunId(id);
60
+ setStartedAt(new Date());
61
+ setFinished(false);
48
62
  }, []);
49
- const startPolling = (0, _react.useCallback)(jobRunId => {
50
- clearPolling();
51
- setIsPolling(true);
52
- isPollingActiveRef.current = true;
53
- const poll = () => {
54
- if (!isPollingActiveRef.current) return;
55
- fetchJobRunRef.current(jobRunId).then(response => {
56
- if (!isPollingActiveRef.current) return;
57
- const {
58
- jobRun
59
- } = response.data;
60
- setJobRunResponse(jobRun);
61
- if (jobRun.completed) {
62
- clearPolling();
63
- onCompletedRef.current?.(jobRun);
64
- return;
65
- }
66
- if (jobRun.failed) {
67
- clearPolling();
68
- onFailedRef.current?.(jobRun);
69
- return;
70
- }
71
- pollTimeoutIdRef.current = setTimeout(poll, pollingIntervalMs);
72
- }).catch(() => {
73
- if (!isPollingActiveRef.current) return;
74
- clearPolling();
75
- onFailedRef.current?.();
76
- });
77
- };
78
- poll();
79
- timeoutIdRef.current = setTimeout(() => {
80
- clearPolling();
81
- onTimeoutRef.current?.();
82
- }, timeoutMs);
83
- }, [clearPolling, pollingIntervalMs, timeoutMs]);
84
63
  const stopPolling = (0, _react.useCallback)(() => {
85
- clearPolling();
86
- setJobRunResponse(null);
87
- }, [clearPolling]);
88
- (0, _react.useEffect)(() => () => {
89
- clearPolling();
90
- }, [clearPolling]);
64
+ setJobRunId(null);
65
+ setStartedAt(null);
66
+ setFinished(false);
67
+ }, []);
91
68
  return {
92
- jobRunResponse,
93
- isPolling,
69
+ jobRunResponse: data ?? null,
70
+ isPolling: isEnabled,
94
71
  startPolling,
95
72
  stopPolling
96
73
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useBaseJobRunPolling","fetchJobRun","onCompleted","onFailed","onTimeout","pollingIntervalMs","timeoutMs","jobRunResponse","setJobRunResponse","useState","isPolling","setIsPolling","pollTimeoutIdRef","useRef","timeoutIdRef","isPollingActiveRef","fetchJobRunRef","onCompletedRef","onFailedRef","onTimeoutRef","useEffect","current","clearPolling","useCallback","clearTimeout","startPolling","jobRunId","poll","then","response","jobRun","data","completed","failed","setTimeout","catch","stopPolling"],"sourceRoot":"../../../src","sources":["hooks/useBaseJobRunPolling.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_react","_useCurrentTime","_timeConstants","useBaseJobRunPolling","fetchJobRun","onCompleted","onFailed","onTimeout","pollingIntervalMs","timeoutMs","jobRunId","setJobRunId","useState","startedAt","setStartedAt","finished","setFinished","now","useCurrentTime","MS_IN_A_SECOND","hasTimedOut","getTime","isEnabled","data","error","useQuery","queryKey","queryFn","then","response","jobRun","skipToken","enabled","refetchInterval","retry","gcTime","useEffect","completed","failed","startPolling","useCallback","id","Date","stopPolling","jobRunResponse","isPolling"],"sourceRoot":"../../../src","sources":["hooks/useBaseJobRunPolling.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AAkBO,SAASI,oBAAoBA,CAAwD;EAC1FC,WAAW;EACXC,WAAW;EACXC,QAAQ;EACRC,SAAS;EACTC,iBAAiB;EACjBC;AACgD,CAAC,EACD;EAChD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAC7D,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAc,IAAI,CAAC;EAC7D,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAE/C,MAAMK,GAAG,GAAG,IAAAC,8BAAc,EAACC,6BAAc,CAAC;EAC1C,MAAMC,WAAW,GAAGP,SAAS,KAAK,IAAI,IAAII,GAAG,CAACI,OAAO,CAAC,CAAC,GAAGR,SAAS,CAACQ,OAAO,CAAC,CAAC,GAAGZ,SAAS;EACzF,MAAMa,SAAS,GAAG,CAACP,QAAQ,IAAI,CAACK,WAAW,IAAIV,QAAQ,KAAK,IAAI;EAEhE,MAAM;IAAEa,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,oBAAQ,EAAC;IAC/BC,QAAQ,EAAE,CAAC,QAAQ,EAAEhB,QAAQ,CAAC;IAC9BiB,OAAO,EAAEjB,QAAQ,KAAK,IAAI,GACtB,MAAMN,WAAW,CAACM,QAAQ,CAAC,CAACkB,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACN,IAAI,CAACO,MAAM,CAAC,GACpEC,qBAAS;IACbC,OAAO,EAAEV,SAAS;IAClBW,eAAe,EAAEA,CAAA,KAAOX,SAAS,GAAGd,iBAAiB,GAAG,KAAM;IAC9D0B,KAAK,EAAE,KAAK;IACZC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIrB,QAAQ,EAAE;IAEd,IAAIQ,IAAI,EAAEc,SAAS,EAAE;MACnBrB,WAAW,CAAC,IAAI,CAAC;MACjBX,WAAW,GAAGkB,IAAI,CAAC;MACnB;IACF;IAEA,IAAIA,IAAI,EAAEe,MAAM,EAAE;MAChBtB,WAAW,CAAC,IAAI,CAAC;MACjBV,QAAQ,GAAGiB,IAAI,CAAC;MAChB;IACF;IAEA,IAAIC,KAAK,EAAE;MACTR,WAAW,CAAC,IAAI,CAAC;MACjBV,QAAQ,GAAG,CAAC;MACZ;IACF;IAEA,IAAIc,WAAW,EAAE;MACfJ,WAAW,CAAC,IAAI,CAAC;MACjBT,SAAS,GAAG,CAAC;IACf;EACF,CAAC,EAAE,CAACgB,IAAI,EAAEC,KAAK,EAAET,QAAQ,EAAEK,WAAW,EAAEf,WAAW,EAAEC,QAAQ,EAAEC,SAAS,CAAC,CAAC;EAE1E,MAAMgC,YAAY,GAAG,IAAAC,kBAAW,EAAEC,EAAU,IAAK;IAC/C9B,WAAW,CAAC8B,EAAE,CAAC;IACf3B,YAAY,CAAC,IAAI4B,IAAI,CAAC,CAAC,CAAC;IACxB1B,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2B,WAAW,GAAG,IAAAH,kBAAW,EAAC,MAAM;IACpC7B,WAAW,CAAC,IAAI,CAAC;IACjBG,YAAY,CAAC,IAAI,CAAC;IAClBE,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACL4B,cAAc,EAAErB,IAAI,IAAI,IAAI;IAC5BsB,SAAS,EAAEvB,SAAS;IACpBiB,YAAY;IACZI;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { skipToken, useQuery } from '@tanstack/react-query';
4
+ import { useCallback, useEffect, useState } from 'react';
5
+ import { useCurrentTime } from "./useCurrentTime.js";
6
+ import { MS_IN_A_SECOND } from "../utils/timeConstants.js";
4
7
  export function useBaseJobRunPolling({
5
8
  fetchJobRun,
6
9
  onCompleted,
@@ -9,84 +12,58 @@ export function useBaseJobRunPolling({
9
12
  pollingIntervalMs,
10
13
  timeoutMs
11
14
  }) {
12
- const [jobRunResponse, setJobRunResponse] = useState(null);
13
- const [isPolling, setIsPolling] = useState(false);
14
- const pollTimeoutIdRef = useRef(null);
15
- const timeoutIdRef = useRef(null);
16
- const isPollingActiveRef = useRef(false);
17
- const fetchJobRunRef = useRef(fetchJobRun);
18
- const onCompletedRef = useRef(onCompleted);
19
- const onFailedRef = useRef(onFailed);
20
- const onTimeoutRef = useRef(onTimeout);
15
+ const [jobRunId, setJobRunId] = useState(null);
16
+ const [startedAt, setStartedAt] = useState(null);
17
+ const [finished, setFinished] = useState(false);
18
+ const now = useCurrentTime(MS_IN_A_SECOND);
19
+ const hasTimedOut = startedAt !== null && now.getTime() - startedAt.getTime() > timeoutMs;
20
+ const isEnabled = !finished && !hasTimedOut && jobRunId !== null;
21
+ const {
22
+ data,
23
+ error
24
+ } = useQuery({
25
+ queryKey: ['jobRun', jobRunId],
26
+ queryFn: jobRunId !== null ? () => fetchJobRun(jobRunId).then(response => response.data.jobRun) : skipToken,
27
+ enabled: isEnabled,
28
+ refetchInterval: () => isEnabled ? pollingIntervalMs : false,
29
+ retry: false,
30
+ gcTime: 0
31
+ });
21
32
  useEffect(() => {
22
- fetchJobRunRef.current = fetchJobRun;
23
- }, [fetchJobRun]);
24
- useEffect(() => {
25
- onCompletedRef.current = onCompleted;
26
- }, [onCompleted]);
27
- useEffect(() => {
28
- onFailedRef.current = onFailed;
29
- }, [onFailed]);
30
- useEffect(() => {
31
- onTimeoutRef.current = onTimeout;
32
- }, [onTimeout]);
33
- const clearPolling = useCallback(() => {
34
- isPollingActiveRef.current = false;
35
- if (pollTimeoutIdRef.current) {
36
- clearTimeout(pollTimeoutIdRef.current);
37
- pollTimeoutIdRef.current = null;
33
+ if (finished) return;
34
+ if (data?.completed) {
35
+ setFinished(true);
36
+ onCompleted?.(data);
37
+ return;
38
38
  }
39
- if (timeoutIdRef.current) {
40
- clearTimeout(timeoutIdRef.current);
41
- timeoutIdRef.current = null;
39
+ if (data?.failed) {
40
+ setFinished(true);
41
+ onFailed?.(data);
42
+ return;
42
43
  }
43
- setIsPolling(false);
44
+ if (error) {
45
+ setFinished(true);
46
+ onFailed?.();
47
+ return;
48
+ }
49
+ if (hasTimedOut) {
50
+ setFinished(true);
51
+ onTimeout?.();
52
+ }
53
+ }, [data, error, finished, hasTimedOut, onCompleted, onFailed, onTimeout]);
54
+ const startPolling = useCallback(id => {
55
+ setJobRunId(id);
56
+ setStartedAt(new Date());
57
+ setFinished(false);
44
58
  }, []);
45
- const startPolling = useCallback(jobRunId => {
46
- clearPolling();
47
- setIsPolling(true);
48
- isPollingActiveRef.current = true;
49
- const poll = () => {
50
- if (!isPollingActiveRef.current) return;
51
- fetchJobRunRef.current(jobRunId).then(response => {
52
- if (!isPollingActiveRef.current) return;
53
- const {
54
- jobRun
55
- } = response.data;
56
- setJobRunResponse(jobRun);
57
- if (jobRun.completed) {
58
- clearPolling();
59
- onCompletedRef.current?.(jobRun);
60
- return;
61
- }
62
- if (jobRun.failed) {
63
- clearPolling();
64
- onFailedRef.current?.(jobRun);
65
- return;
66
- }
67
- pollTimeoutIdRef.current = setTimeout(poll, pollingIntervalMs);
68
- }).catch(() => {
69
- if (!isPollingActiveRef.current) return;
70
- clearPolling();
71
- onFailedRef.current?.();
72
- });
73
- };
74
- poll();
75
- timeoutIdRef.current = setTimeout(() => {
76
- clearPolling();
77
- onTimeoutRef.current?.();
78
- }, timeoutMs);
79
- }, [clearPolling, pollingIntervalMs, timeoutMs]);
80
59
  const stopPolling = useCallback(() => {
81
- clearPolling();
82
- setJobRunResponse(null);
83
- }, [clearPolling]);
84
- useEffect(() => () => {
85
- clearPolling();
86
- }, [clearPolling]);
60
+ setJobRunId(null);
61
+ setStartedAt(null);
62
+ setFinished(false);
63
+ }, []);
87
64
  return {
88
- jobRunResponse,
89
- isPolling,
65
+ jobRunResponse: data ?? null,
66
+ isPolling: isEnabled,
90
67
  startPolling,
91
68
  stopPolling
92
69
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","useBaseJobRunPolling","fetchJobRun","onCompleted","onFailed","onTimeout","pollingIntervalMs","timeoutMs","jobRunResponse","setJobRunResponse","isPolling","setIsPolling","pollTimeoutIdRef","timeoutIdRef","isPollingActiveRef","fetchJobRunRef","onCompletedRef","onFailedRef","onTimeoutRef","current","clearPolling","clearTimeout","startPolling","jobRunId","poll","then","response","jobRun","data","completed","failed","setTimeout","catch","stopPolling"],"sourceRoot":"../../../src","sources":["hooks/useBaseJobRunPolling.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["skipToken","useQuery","useCallback","useEffect","useState","useCurrentTime","MS_IN_A_SECOND","useBaseJobRunPolling","fetchJobRun","onCompleted","onFailed","onTimeout","pollingIntervalMs","timeoutMs","jobRunId","setJobRunId","startedAt","setStartedAt","finished","setFinished","now","hasTimedOut","getTime","isEnabled","data","error","queryKey","queryFn","then","response","jobRun","enabled","refetchInterval","retry","gcTime","completed","failed","startPolling","id","Date","stopPolling","jobRunResponse","isPolling"],"sourceRoot":"../../../src","sources":["hooks/useBaseJobRunPolling.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAExD,SAASC,cAAc,QAAQ,qBAAkB;AAIjD,SAASC,cAAc,QAAQ,2BAAwB;AAkBvD,OAAO,SAASC,oBAAoBA,CAAwD;EAC1FC,WAAW;EACXC,WAAW;EACXC,QAAQ;EACRC,SAAS;EACTC,iBAAiB;EACjBC;AACgD,CAAC,EACD;EAChD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAgB,IAAI,CAAC;EAC7D,MAAM,CAACY,SAAS,EAAEC,YAAY,CAAC,GAAGb,QAAQ,CAAc,IAAI,CAAC;EAC7D,MAAM,CAACc,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CAAC,KAAK,CAAC;EAE/C,MAAMgB,GAAG,GAAGf,cAAc,CAACC,cAAc,CAAC;EAC1C,MAAMe,WAAW,GAAGL,SAAS,KAAK,IAAI,IAAII,GAAG,CAACE,OAAO,CAAC,CAAC,GAAGN,SAAS,CAACM,OAAO,CAAC,CAAC,GAAGT,SAAS;EACzF,MAAMU,SAAS,GAAG,CAACL,QAAQ,IAAI,CAACG,WAAW,IAAIP,QAAQ,KAAK,IAAI;EAEhE,MAAM;IAAEU,IAAI;IAAEC;EAAM,CAAC,GAAGxB,QAAQ,CAAC;IAC/ByB,QAAQ,EAAE,CAAC,QAAQ,EAAEZ,QAAQ,CAAC;IAC9Ba,OAAO,EAAEb,QAAQ,KAAK,IAAI,GACtB,MAAMN,WAAW,CAACM,QAAQ,CAAC,CAACc,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACL,IAAI,CAACM,MAAM,CAAC,GACpE9B,SAAS;IACb+B,OAAO,EAAER,SAAS;IAClBS,eAAe,EAAEA,CAAA,KAAOT,SAAS,GAAGX,iBAAiB,GAAG,KAAM;IAC9DqB,KAAK,EAAE,KAAK;IACZC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF/B,SAAS,CAAC,MAAM;IACd,IAAIe,QAAQ,EAAE;IAEd,IAAIM,IAAI,EAAEW,SAAS,EAAE;MACnBhB,WAAW,CAAC,IAAI,CAAC;MACjBV,WAAW,GAAGe,IAAI,CAAC;MACnB;IACF;IAEA,IAAIA,IAAI,EAAEY,MAAM,EAAE;MAChBjB,WAAW,CAAC,IAAI,CAAC;MACjBT,QAAQ,GAAGc,IAAI,CAAC;MAChB;IACF;IAEA,IAAIC,KAAK,EAAE;MACTN,WAAW,CAAC,IAAI,CAAC;MACjBT,QAAQ,GAAG,CAAC;MACZ;IACF;IAEA,IAAIW,WAAW,EAAE;MACfF,WAAW,CAAC,IAAI,CAAC;MACjBR,SAAS,GAAG,CAAC;IACf;EACF,CAAC,EAAE,CAACa,IAAI,EAAEC,KAAK,EAAEP,QAAQ,EAAEG,WAAW,EAAEZ,WAAW,EAAEC,QAAQ,EAAEC,SAAS,CAAC,CAAC;EAE1E,MAAM0B,YAAY,GAAGnC,WAAW,CAAEoC,EAAU,IAAK;IAC/CvB,WAAW,CAACuB,EAAE,CAAC;IACfrB,YAAY,CAAC,IAAIsB,IAAI,CAAC,CAAC,CAAC;IACxBpB,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMqB,WAAW,GAAGtC,WAAW,CAAC,MAAM;IACpCa,WAAW,CAAC,IAAI,CAAC;IACjBE,YAAY,CAAC,IAAI,CAAC;IAClBE,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLsB,cAAc,EAAEjB,IAAI,IAAI,IAAI;IAC5BkB,SAAS,EAAEnB,SAAS;IACpBc,YAAY;IACZG;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,26 +1,49 @@
1
- interface JobRun<TResult = unknown> {
1
+ interface BaseJobRun {
2
2
  id: number;
3
3
  jobId: number;
4
- status: 'running' | 'completed' | 'failed';
5
- completed: boolean;
6
- running: boolean;
7
- failed: boolean;
8
- errorMessage: string | null;
9
- errorDetail: string | null;
10
- result: TResult | null;
11
4
  retryCount: number;
12
5
  createdAt: string;
13
6
  updatedAt: string;
14
7
  }
15
- interface JobRunResponse<TResult = unknown> {
8
+ interface RunningJobRun extends BaseJobRun {
9
+ status: 'running';
10
+ completed: false;
11
+ running: true;
12
+ failed: false;
13
+ result: null;
14
+ errorType: null;
15
+ errorMessage: null;
16
+ errorDetail: null;
17
+ }
18
+ interface CompletedJobRun<TResult = unknown> extends BaseJobRun {
19
+ status: 'completed';
20
+ completed: true;
21
+ running: false;
22
+ failed: false;
23
+ result: TResult;
24
+ errorType: null;
25
+ errorMessage: null;
26
+ errorDetail: null;
27
+ }
28
+ interface FailedJobRun<TErrorType extends string = string> extends BaseJobRun {
29
+ status: 'failed';
30
+ completed: false;
31
+ running: false;
32
+ failed: true;
33
+ result: null;
34
+ errorType: TErrorType | null;
35
+ errorMessage: string | null;
36
+ errorDetail: string | null;
37
+ }
38
+ type JobRun<TResult = unknown, TErrorType extends string = string> = RunningJobRun | CompletedJobRun<TResult> | FailedJobRun<TErrorType>;
39
+ interface JobRunResponse<TResult = unknown, TErrorType extends string = string> {
16
40
  data: {
17
- jobRun: JobRun<TResult>;
41
+ jobRun: JobRun<TResult, TErrorType>;
18
42
  };
19
43
  }
20
- type UploadIneErrorType = 'expired_ine_error' | 'illegible_ine_expiration_year_error' | 'active_group_customer_using_promoter_app_error';
44
+ type UploadIneErrorType = 'expired_ine_error' | 'illegible_ine_expiration_year_error';
21
45
  interface BaseUploadIneJobRunResult<TUser = unknown> {
22
- user?: TUser;
23
- errorType?: UploadIneErrorType;
46
+ user: TUser;
24
47
  }
25
- export type { JobRun, JobRunResponse, UploadIneErrorType, BaseUploadIneJobRunResult, };
48
+ export type { JobRun, JobRunResponse, RunningJobRun, CompletedJobRun, FailedJobRun, UploadIneErrorType, BaseUploadIneJobRunResult, };
26
49
  //# sourceMappingURL=jobRun.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobRun.d.ts","sourceRoot":"","sources":["../../../../src/api/jobRun.ts"],"names":[],"mappings":"AAAA,UAAU,MAAM,CAAC,OAAO,GAAG,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc,CAAC,OAAO,GAAG,OAAO;IACxC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACnC;AAED,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,qCAAqC,GACrC,gDAAgD,CAAC;AAErD,UAAU,yBAAyB,CAAC,KAAK,GAAG,OAAO;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED,YAAY,EACV,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,yBAAyB,GACtE,CAAC"}
1
+ {"version":3,"file":"jobRun.d.ts","sourceRoot":"","sources":["../../../../src/api/jobRun.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAc,SAAQ,UAAU;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,UAAU,eAAe,CAAC,OAAO,GAAG,OAAO,CAAE,SAAQ,UAAU;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,UAAU,YAAY,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU;IAC3E,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,KAAK,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM,IAC7D,aAAa,GACb,eAAe,CAAC,OAAO,CAAC,GACxB,YAAY,CAAC,UAAU,CAAC,CAAC;AAE7B,UAAU,cAAc,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IAC5E,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;CAC/C;AAED,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,qCAAqC,CAAC;AAE1C,UAAU,yBAAyB,CAAC,KAAK,GAAG,OAAO;IACjD,IAAI,EAAE,KAAK,CAAC;CACb;AAED,YAAY,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,CAAC"}
@@ -1,18 +1,18 @@
1
- import type { JobRun, JobRunResponse } from '../api/jobRun';
2
- interface UseBaseJobRunPollingOptions<TResult = unknown> {
3
- fetchJobRun: (jobRunId: number) => Promise<JobRunResponse<TResult>>;
4
- onCompleted?: (jobRun: JobRun<TResult>) => void;
5
- onFailed?: (jobRun?: JobRun<TResult>) => void;
1
+ import type { CompletedJobRun, FailedJobRun, JobRun, JobRunResponse } from '../api/jobRun';
2
+ interface UseBaseJobRunPollingOptions<TResult = unknown, TErrorType extends string = string> {
3
+ fetchJobRun: (jobRunId: number) => Promise<JobRunResponse<TResult, TErrorType>>;
4
+ onCompleted?: (jobRun: CompletedJobRun<TResult>) => void;
5
+ onFailed?: (jobRun?: FailedJobRun<TErrorType>) => void;
6
6
  onTimeout?: () => void;
7
7
  pollingIntervalMs: number;
8
8
  timeoutMs: number;
9
9
  }
10
- interface UseBaseJobRunPollingReturn<TResult = unknown> {
11
- jobRunResponse: JobRun<TResult> | null;
10
+ interface UseBaseJobRunPollingReturn<TResult = unknown, TErrorType extends string = string> {
11
+ jobRunResponse: JobRun<TResult, TErrorType> | null;
12
12
  isPolling: boolean;
13
13
  startPolling: (jobRunId: number) => void;
14
14
  stopPolling: () => void;
15
15
  }
16
- export declare function useBaseJobRunPolling<TResult = unknown>({ fetchJobRun, onCompleted, onFailed, onTimeout, pollingIntervalMs, timeoutMs, }: UseBaseJobRunPollingOptions<TResult>): UseBaseJobRunPollingReturn<TResult>;
16
+ export declare function useBaseJobRunPolling<TResult = unknown, TErrorType extends string = string>({ fetchJobRun, onCompleted, onFailed, onTimeout, pollingIntervalMs, timeoutMs, }: UseBaseJobRunPollingOptions<TResult, TErrorType>): UseBaseJobRunPollingReturn<TResult, TErrorType>;
17
17
  export type { UseBaseJobRunPollingOptions, UseBaseJobRunPollingReturn };
18
18
  //# sourceMappingURL=useBaseJobRunPolling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseJobRunPolling.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useBaseJobRunPolling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,UAAU,2BAA2B,CAAC,OAAO,GAAG,OAAO;IACrD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,0BAA0B,CAAC,OAAO,GAAG,OAAO;IACpD,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,EACtD,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,GACV,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,CA2F5E;AAED,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"useBaseJobRunPolling.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useBaseJobRunPolling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EACtD,MAAM,eAAe,CAAC;AAGvB,UAAU,2BAA2B,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IACzF,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,0BAA0B,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IACxF,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM,EAAE,EAC1F,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,GACV,EAAE,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,GACjD,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC,CAiEhD;AAED,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,26 +1,49 @@
1
- interface JobRun<TResult = unknown> {
1
+ interface BaseJobRun {
2
2
  id: number;
3
3
  jobId: number;
4
- status: 'running' | 'completed' | 'failed';
5
- completed: boolean;
6
- running: boolean;
7
- failed: boolean;
8
- errorMessage: string | null;
9
- errorDetail: string | null;
10
- result: TResult | null;
11
4
  retryCount: number;
12
5
  createdAt: string;
13
6
  updatedAt: string;
14
7
  }
15
- interface JobRunResponse<TResult = unknown> {
8
+ interface RunningJobRun extends BaseJobRun {
9
+ status: 'running';
10
+ completed: false;
11
+ running: true;
12
+ failed: false;
13
+ result: null;
14
+ errorType: null;
15
+ errorMessage: null;
16
+ errorDetail: null;
17
+ }
18
+ interface CompletedJobRun<TResult = unknown> extends BaseJobRun {
19
+ status: 'completed';
20
+ completed: true;
21
+ running: false;
22
+ failed: false;
23
+ result: TResult;
24
+ errorType: null;
25
+ errorMessage: null;
26
+ errorDetail: null;
27
+ }
28
+ interface FailedJobRun<TErrorType extends string = string> extends BaseJobRun {
29
+ status: 'failed';
30
+ completed: false;
31
+ running: false;
32
+ failed: true;
33
+ result: null;
34
+ errorType: TErrorType | null;
35
+ errorMessage: string | null;
36
+ errorDetail: string | null;
37
+ }
38
+ type JobRun<TResult = unknown, TErrorType extends string = string> = RunningJobRun | CompletedJobRun<TResult> | FailedJobRun<TErrorType>;
39
+ interface JobRunResponse<TResult = unknown, TErrorType extends string = string> {
16
40
  data: {
17
- jobRun: JobRun<TResult>;
41
+ jobRun: JobRun<TResult, TErrorType>;
18
42
  };
19
43
  }
20
- type UploadIneErrorType = 'expired_ine_error' | 'illegible_ine_expiration_year_error' | 'active_group_customer_using_promoter_app_error';
44
+ type UploadIneErrorType = 'expired_ine_error' | 'illegible_ine_expiration_year_error';
21
45
  interface BaseUploadIneJobRunResult<TUser = unknown> {
22
- user?: TUser;
23
- errorType?: UploadIneErrorType;
46
+ user: TUser;
24
47
  }
25
- export type { JobRun, JobRunResponse, UploadIneErrorType, BaseUploadIneJobRunResult, };
48
+ export type { JobRun, JobRunResponse, RunningJobRun, CompletedJobRun, FailedJobRun, UploadIneErrorType, BaseUploadIneJobRunResult, };
26
49
  //# sourceMappingURL=jobRun.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobRun.d.ts","sourceRoot":"","sources":["../../../../src/api/jobRun.ts"],"names":[],"mappings":"AAAA,UAAU,MAAM,CAAC,OAAO,GAAG,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc,CAAC,OAAO,GAAG,OAAO;IACxC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACnC;AAED,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,qCAAqC,GACrC,gDAAgD,CAAC;AAErD,UAAU,yBAAyB,CAAC,KAAK,GAAG,OAAO;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED,YAAY,EACV,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,yBAAyB,GACtE,CAAC"}
1
+ {"version":3,"file":"jobRun.d.ts","sourceRoot":"","sources":["../../../../src/api/jobRun.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAc,SAAQ,UAAU;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,UAAU,eAAe,CAAC,OAAO,GAAG,OAAO,CAAE,SAAQ,UAAU;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,UAAU,YAAY,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU;IAC3E,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,KAAK,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM,IAC7D,aAAa,GACb,eAAe,CAAC,OAAO,CAAC,GACxB,YAAY,CAAC,UAAU,CAAC,CAAC;AAE7B,UAAU,cAAc,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IAC5E,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;CAC/C;AAED,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,qCAAqC,CAAC;AAE1C,UAAU,yBAAyB,CAAC,KAAK,GAAG,OAAO;IACjD,IAAI,EAAE,KAAK,CAAC;CACb;AAED,YAAY,EACV,MAAM,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,GAC1B,CAAC"}
@@ -1,18 +1,18 @@
1
- import type { JobRun, JobRunResponse } from '../api/jobRun';
2
- interface UseBaseJobRunPollingOptions<TResult = unknown> {
3
- fetchJobRun: (jobRunId: number) => Promise<JobRunResponse<TResult>>;
4
- onCompleted?: (jobRun: JobRun<TResult>) => void;
5
- onFailed?: (jobRun?: JobRun<TResult>) => void;
1
+ import type { CompletedJobRun, FailedJobRun, JobRun, JobRunResponse } from '../api/jobRun';
2
+ interface UseBaseJobRunPollingOptions<TResult = unknown, TErrorType extends string = string> {
3
+ fetchJobRun: (jobRunId: number) => Promise<JobRunResponse<TResult, TErrorType>>;
4
+ onCompleted?: (jobRun: CompletedJobRun<TResult>) => void;
5
+ onFailed?: (jobRun?: FailedJobRun<TErrorType>) => void;
6
6
  onTimeout?: () => void;
7
7
  pollingIntervalMs: number;
8
8
  timeoutMs: number;
9
9
  }
10
- interface UseBaseJobRunPollingReturn<TResult = unknown> {
11
- jobRunResponse: JobRun<TResult> | null;
10
+ interface UseBaseJobRunPollingReturn<TResult = unknown, TErrorType extends string = string> {
11
+ jobRunResponse: JobRun<TResult, TErrorType> | null;
12
12
  isPolling: boolean;
13
13
  startPolling: (jobRunId: number) => void;
14
14
  stopPolling: () => void;
15
15
  }
16
- export declare function useBaseJobRunPolling<TResult = unknown>({ fetchJobRun, onCompleted, onFailed, onTimeout, pollingIntervalMs, timeoutMs, }: UseBaseJobRunPollingOptions<TResult>): UseBaseJobRunPollingReturn<TResult>;
16
+ export declare function useBaseJobRunPolling<TResult = unknown, TErrorType extends string = string>({ fetchJobRun, onCompleted, onFailed, onTimeout, pollingIntervalMs, timeoutMs, }: UseBaseJobRunPollingOptions<TResult, TErrorType>): UseBaseJobRunPollingReturn<TResult, TErrorType>;
17
17
  export type { UseBaseJobRunPollingOptions, UseBaseJobRunPollingReturn };
18
18
  //# sourceMappingURL=useBaseJobRunPolling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseJobRunPolling.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useBaseJobRunPolling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,UAAU,2BAA2B,CAAC,OAAO,GAAG,OAAO;IACrD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,0BAA0B,CAAC,OAAO,GAAG,OAAO;IACpD,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,EACtD,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,GACV,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,CA2F5E;AAED,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"useBaseJobRunPolling.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useBaseJobRunPolling.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EACtD,MAAM,eAAe,CAAC;AAGvB,UAAU,2BAA2B,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IACzF,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,0BAA0B,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IACxF,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM,EAAE,EAC1F,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,GACV,EAAE,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,GACjD,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC,CAiEhD;AAED,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grupalia/rn-ui-kit",
3
- "version": "0.116.0",
3
+ "version": "0.117.0",
4
4
  "description": "Grupalia React Native UI Kit",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/module/index.d.ts",