@integration-app/react 0.1.16 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,9 @@
1
+ import { FlowInstance } from '@integration-app/sdk/flows';
2
+ import { FindFlowInstancesQuery } from '@integration-app/sdk/flows/api';
3
+ export declare function useFlowInstances(query?: FindFlowInstancesQuery): {
4
+ items: FlowInstance[];
5
+ loading: boolean;
6
+ error?: Error;
7
+ refresh(): Promise<void>;
8
+ loadMore(): Promise<void>;
9
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useFlowInstances = void 0;
4
+ const useElements_1 = require("../hooks/useElements");
5
+ function useFlowInstances(query) {
6
+ const { ...rest } = (0, useElements_1.useElements)(query, (integrationApp) => integrationApp.flowInstances);
7
+ return {
8
+ ...rest,
9
+ };
10
+ }
11
+ exports.useFlowInstances = useFlowInstances;
12
+ //# sourceMappingURL=useFlowInstances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFlowInstances.js","sourceRoot":"","sources":["../../src/flows/useFlowInstances.ts"],"names":[],"mappings":";;;AAEA,sDAAkD;AAElD,SAAgB,gBAAgB,CAAC,KAA8B;IAC7D,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAA,yBAAW,EAC7B,KAAK,EACL,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,aAAa,CACjD,CAAA;IAED,OAAO;QACL,GAAG,IAAI;KACR,CAAA;AACH,CAAC;AATD,4CASC"}
@@ -5,13 +5,18 @@ const integration_app_context_1 = require("../contexts/integration-app-context")
5
5
  const react_1 = require("react");
6
6
  function useElements(initialQuery, accessorGenerator) {
7
7
  const integrationApp = (0, integration_app_context_1.useIntegrationApp)();
8
+ const refreshId = (0, react_1.useRef)(0);
8
9
  const [items, setItems] = (0, react_1.useState)([]);
9
10
  const [nextCursor, setNextCursor] = (0, react_1.useState)(undefined);
10
11
  const [loading, setLoading] = (0, react_1.useState)(false);
11
12
  const [error, setError] = (0, react_1.useState)(null);
12
13
  async function loadMore() {
13
- setError(null);
14
- setLoading(true);
14
+ const startingRefreshId = refreshId.current;
15
+ function setStateIfCurrentRefresh(stateSetter, valueGetter) {
16
+ stateSetter((value) => startingRefreshId === refreshId.current ? valueGetter(value) : value);
17
+ }
18
+ setStateIfCurrentRefresh(setError, () => null);
19
+ setStateIfCurrentRefresh(setLoading, () => true);
15
20
  const queryParams = {
16
21
  ...initialQuery,
17
22
  };
@@ -19,14 +24,14 @@ function useElements(initialQuery, accessorGenerator) {
19
24
  queryParams.cursor = nextCursor;
20
25
  try {
21
26
  const data = await accessorGenerator(integrationApp).find(queryParams);
22
- setNextCursor(data.cursor);
23
- setItems([...items, ...data.items]);
27
+ setStateIfCurrentRefresh(setNextCursor, () => data.cursor);
28
+ setStateIfCurrentRefresh(setItems, (items) => [...items, ...data.items]);
24
29
  }
25
30
  catch (e) {
26
- setError(e);
31
+ setStateIfCurrentRefresh(setError, () => e);
27
32
  }
28
33
  finally {
29
- setLoading(false);
34
+ setStateIfCurrentRefresh(setLoading, () => false);
30
35
  }
31
36
  }
32
37
  (0, react_1.useEffect)(() => {
@@ -36,10 +41,11 @@ function useElements(initialQuery, accessorGenerator) {
36
41
  }
37
42
  refresh();
38
43
  }, [JSON.stringify(initialQuery)]);
39
- function refresh() {
44
+ async function refresh() {
45
+ refreshId.current += 1;
40
46
  setItems([]);
41
47
  setNextCursor(undefined);
42
- return loadMore();
48
+ await loadMore();
43
49
  }
44
50
  return {
45
51
  items,
@@ -1 +1 @@
1
- {"version":3,"file":"useElements.js","sourceRoot":"","sources":["../../src/hooks/useElements.tsx"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,iCAA2C;AAuB3C,SAAgB,WAAW,CACzB,YAAuB,EACvB,iBAAgE;IAEhE,MAAM,cAAc,GAAG,IAAA,2CAAiB,GAAE,CAAA;IAE1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAY,EAAE,CAAC,CAAA;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAM,SAAS,CAAC,CAAA;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAQ,IAAI,CAAC,CAAA;IAE/C,KAAK,UAAU,QAAQ;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,MAAM,WAAW,GAAG;YAClB,GAAG,YAAY;SAChB,CAAA;QAED,IAAI,UAAU;YAAE,WAAW,CAAC,MAAM,GAAG,UAAU,CAAA;QAE/C,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEtE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1B,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,QAAQ,CAAC,CAAC,CAAC,CAAA;SACZ;gBAAS;YACR,UAAU,CAAC,KAAK,CAAC,CAAA;SAClB;IACH,CAAC;IAGD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,EAAE;YACnB,QAAQ,CACN,IAAI,KAAK,CACP,mFAAmF,CACpF,CACF,CAAA;YAED,OAAM;SACP;QAED,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAElC,SAAS,OAAO;QACd,QAAQ,CAAC,EAAE,CAAC,CAAA;QACZ,aAAa,CAAC,SAAS,CAAC,CAAA;QACxB,OAAO,QAAQ,EAAE,CAAA;IACnB,CAAC;IAED,OAAO;QACL,KAAK;QAEL,OAAO;QACP,QAAQ;QAER,OAAO;QAEP,KAAK;KACN,CAAA;AACH,CAAC;AAhED,kCAgEC"}
1
+ {"version":3,"file":"useElements.js","sourceRoot":"","sources":["../../src/hooks/useElements.tsx"],"names":[],"mappings":";;;AAAA,iFAAuE;AACvE,iCAAmD;AAuBnD,SAAgB,WAAW,CACzB,YAAuB,EACvB,iBAAgE;IAEhE,MAAM,cAAc,GAAG,IAAA,2CAAiB,GAAE,CAAA;IAE1C,MAAM,SAAS,GAAG,IAAA,cAAM,EAAS,CAAC,CAAC,CAAA;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAY,EAAE,CAAC,CAAA;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAM,SAAS,CAAC,CAAA;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAQ,IAAI,CAAC,CAAA;IAE/C,KAAK,UAAU,QAAQ;QACrB,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAA;QAE3C,SAAS,wBAAwB,CAAC,WAAW,EAAE,WAAyB;YAItE,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,iBAAiB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE,CAAA;QACH,CAAC;QAED,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAC9C,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAEhD,MAAM,WAAW,GAAG;YAClB,GAAG,YAAY;SAChB,CAAA;QAED,IAAI,UAAU;YAAE,WAAW,CAAC,MAAM,GAAG,UAAU,CAAA;QAE/C,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEtE,wBAAwB,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1D,wBAAwB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;SAC5C;gBAAS;YACR,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;SAClD;IACH,CAAC;IAGD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,EAAE;YACnB,QAAQ,CACN,IAAI,KAAK,CACP,mFAAmF,CACpF,CACF,CAAA;YAED,OAAM;SACP;QAED,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAElC,KAAK,UAAU,OAAO;QACpB,SAAS,CAAC,OAAO,IAAI,CAAC,CAAA;QACtB,QAAQ,CAAC,EAAE,CAAC,CAAA;QACZ,aAAa,CAAC,SAAS,CAAC,CAAA;QACxB,MAAM,QAAQ,EAAE,CAAA;IAClB,CAAC;IAED,OAAO;QACL,KAAK;QAEL,OAAO;QACP,QAAQ;QAER,OAAO;QAEP,KAAK;KACN,CAAA;AACH,CAAC;AA7ED,kCA6EC"}
package/index.d.ts CHANGED
@@ -16,5 +16,6 @@ export { useAppEventSubscription } from './app-events/useAppEventSubscription';
16
16
  export { useFlow } from './flows/useFlow';
17
17
  export { useFlows } from './flows/useFlows';
18
18
  export { useFlowInstance } from './flows/useFlowInstance';
19
+ export { useFlowInstances } from './flows/useFlowInstances';
19
20
  export { useFlowRun } from './flows/useFlowRun';
20
21
  export { DataForm } from '@integration-app/sdk/data-form';
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataForm = exports.useFlowRun = exports.useFlowInstance = exports.useFlows = exports.useFlow = exports.useAppEventSubscription = exports.useAppEventType = exports.useDataSourceLocations = exports.useDataSourceCollection = exports.useDataSource = exports.useFieldMappingInstances = exports.useFieldMappingInstance = exports.useFieldMappings = exports.useFieldMapping = exports.useConnections = exports.useConnection = exports.useIntegrations = exports.useIntegration = exports.useConnectorSpec = exports.IntegrationAppProvider = exports.useIntegrationApp = void 0;
3
+ exports.DataForm = exports.useFlowRun = exports.useFlowInstances = exports.useFlowInstance = exports.useFlows = exports.useFlow = exports.useAppEventSubscription = exports.useAppEventType = exports.useDataSourceLocations = exports.useDataSourceCollection = exports.useDataSource = exports.useFieldMappingInstances = exports.useFieldMappingInstance = exports.useFieldMappings = exports.useFieldMapping = exports.useConnections = exports.useConnection = exports.useIntegrations = exports.useIntegration = exports.useConnectorSpec = exports.IntegrationAppProvider = exports.useIntegrationApp = void 0;
4
4
  var integration_app_context_1 = require("./contexts/integration-app-context");
5
5
  Object.defineProperty(exports, "useIntegrationApp", { enumerable: true, get: function () { return integration_app_context_1.useIntegrationApp; } });
6
6
  Object.defineProperty(exports, "IntegrationAppProvider", { enumerable: true, get: function () { return integration_app_context_1.IntegrationAppProvider; } });
@@ -38,6 +38,8 @@ var useFlows_1 = require("./flows/useFlows");
38
38
  Object.defineProperty(exports, "useFlows", { enumerable: true, get: function () { return useFlows_1.useFlows; } });
39
39
  var useFlowInstance_1 = require("./flows/useFlowInstance");
40
40
  Object.defineProperty(exports, "useFlowInstance", { enumerable: true, get: function () { return useFlowInstance_1.useFlowInstance; } });
41
+ var useFlowInstances_1 = require("./flows/useFlowInstances");
42
+ Object.defineProperty(exports, "useFlowInstances", { enumerable: true, get: function () { return useFlowInstances_1.useFlowInstances; } });
41
43
  var useFlowRun_1 = require("./flows/useFlowRun");
42
44
  Object.defineProperty(exports, "useFlowRun", { enumerable: true, get: function () { return useFlowRun_1.useFlowRun; } });
43
45
  var data_form_1 = require("@integration-app/sdk/data-form");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;AAAA,8EAG2C;AAFzC,4HAAA,iBAAiB,OAAA;AACjB,iIAAA,sBAAsB,OAAA;AAGxB,sEAAmE;AAA1D,qHAAA,gBAAgB,OAAA;AACzB,gEAA8D;AAArD,gHAAA,cAAc,OAAA;AACvB,kEAAgE;AAAvD,kHAAA,eAAe,OAAA;AACxB,8DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,gEAA8D;AAArD,gHAAA,cAAc,OAAA;AAEvB,oEAAkE;AAAzD,kHAAA,eAAe,OAAA;AACxB,sEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AAEzB,oFAAkF;AAAzE,kIAAA,uBAAuB,OAAA;AAChC,sFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AAEjC,8DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,kFAAgF;AAAvE,kIAAA,uBAAuB,OAAA;AAChC,gFAA8E;AAArE,gIAAA,sBAAsB,OAAA;AAE/B,gEAA8D;AAArD,kHAAA,eAAe,OAAA;AAExB,gFAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAEhC,2CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,6CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AAEjB,2DAAyD;AAAhD,kHAAA,eAAe,OAAA;AAExB,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AAEnB,4DAAyD;AAAhD,qGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;AAAA,8EAG2C;AAFzC,4HAAA,iBAAiB,OAAA;AACjB,iIAAA,sBAAsB,OAAA;AAGxB,sEAAmE;AAA1D,qHAAA,gBAAgB,OAAA;AACzB,gEAA8D;AAArD,gHAAA,cAAc,OAAA;AACvB,kEAAgE;AAAvD,kHAAA,eAAe,OAAA;AACxB,8DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,gEAA8D;AAArD,gHAAA,cAAc,OAAA;AAEvB,oEAAkE;AAAzD,kHAAA,eAAe,OAAA;AACxB,sEAAoE;AAA3D,oHAAA,gBAAgB,OAAA;AAEzB,oFAAkF;AAAzE,kIAAA,uBAAuB,OAAA;AAChC,sFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AAEjC,8DAA4D;AAAnD,8GAAA,aAAa,OAAA;AACtB,kFAAgF;AAAvE,kIAAA,uBAAuB,OAAA;AAChC,gFAA8E;AAArE,gIAAA,sBAAsB,OAAA;AAE/B,gEAA8D;AAArD,kHAAA,eAAe,OAAA;AAExB,gFAA8E;AAArE,kIAAA,uBAAuB,OAAA;AAEhC,2CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,6CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AAEjB,2DAAyD;AAAhD,kHAAA,eAAe,OAAA;AACxB,6DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AAEzB,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AAEnB,4DAAyD;AAAhD,qGAAA,QAAQ,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integration-app/react",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "React SDK for building native integrations.",
5
5
  "author": "integration.app",
6
6
  "scripts": {