@dcl/hooks 0.3.1 → 0.3.2-20251217172925.commit-b80457e
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/esm/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.js +1 -1
- package/esm/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.js.map +1 -1
- package/package.json +7 -13
- package/cjs/contexts/analytics/AnalyticsProvider.d.ts +0 -5
- package/cjs/contexts/analytics/AnalyticsProvider.js +0 -67
- package/cjs/contexts/analytics/AnalyticsProvider.js.map +0 -1
- package/cjs/contexts/analytics/types.d.ts +0 -15
- package/cjs/contexts/analytics/types.js +0 -3
- package/cjs/contexts/analytics/types.js.map +0 -1
- package/cjs/contexts/index.d.ts +0 -2
- package/cjs/contexts/index.js +0 -5
- package/cjs/contexts/index.js.map +0 -1
- package/cjs/hooks/index.d.ts +0 -14
- package/cjs/hooks/index.js +0 -27
- package/cjs/hooks/index.js.map +0 -1
- package/cjs/hooks/useAdvancedUserAgentData/index.d.ts +0 -2
- package/cjs/hooks/useAdvancedUserAgentData/index.js +0 -6
- package/cjs/hooks/useAdvancedUserAgentData/index.js.map +0 -1
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.d.ts +0 -9
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.js +0 -63
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.js.map +0 -1
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.type.d.ts +0 -19
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.type.js +0 -3
- package/cjs/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.type.js.map +0 -1
- package/cjs/hooks/useAnalytics.d.ts +0 -3
- package/cjs/hooks/useAnalytics.js +0 -27
- package/cjs/hooks/useAnalytics.js.map +0 -1
- package/cjs/hooks/useAsyncEffect/useAsyncEffect.type.d.ts +0 -0
- package/cjs/hooks/useAsyncEffect/useAsyncEffect.type.js +0 -2
- package/cjs/hooks/useAsyncEffect/useAsyncEffect.type.js.map +0 -1
- package/cjs/hooks/useAsyncEffect.d.ts +0 -9
- package/cjs/hooks/useAsyncEffect.js +0 -30
- package/cjs/hooks/useAsyncEffect.js.map +0 -1
- package/cjs/hooks/useAsyncMemo.d.ts +0 -3
- package/cjs/hooks/useAsyncMemo.js +0 -8
- package/cjs/hooks/useAsyncMemo.js.map +0 -1
- package/cjs/hooks/useAsyncState/index.d.ts +0 -2
- package/cjs/hooks/useAsyncState/index.js +0 -7
- package/cjs/hooks/useAsyncState/index.js.map +0 -1
- package/cjs/hooks/useAsyncState/useAsyncState.d.ts +0 -23
- package/cjs/hooks/useAsyncState/useAsyncState.js +0 -99
- package/cjs/hooks/useAsyncState/useAsyncState.js.map +0 -1
- package/cjs/hooks/useAsyncState/useAsyncState.type.d.ts +0 -25
- package/cjs/hooks/useAsyncState/useAsyncState.type.js +0 -3
- package/cjs/hooks/useAsyncState/useAsyncState.type.js.map +0 -1
- package/cjs/hooks/useAsyncTask/index.d.ts +0 -2
- package/cjs/hooks/useAsyncTask/index.js +0 -6
- package/cjs/hooks/useAsyncTask/index.js.map +0 -1
- package/cjs/hooks/useAsyncTask/useAsyncTask.d.ts +0 -9
- package/cjs/hooks/useAsyncTask/useAsyncTask.js +0 -52
- package/cjs/hooks/useAsyncTask/useAsyncTask.js.map +0 -1
- package/cjs/hooks/useAsyncTask/useAsyncTask.type.d.ts +0 -5
- package/cjs/hooks/useAsyncTask/useAsyncTask.type.js +0 -3
- package/cjs/hooks/useAsyncTask/useAsyncTask.type.js.map +0 -1
- package/cjs/hooks/useAsyncTasks/index.d.ts +0 -2
- package/cjs/hooks/useAsyncTasks/index.js +0 -6
- package/cjs/hooks/useAsyncTasks/index.js.map +0 -1
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.d.ts +0 -10
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.js +0 -35
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.js.map +0 -1
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.type.d.ts +0 -2
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.type.js +0 -3
- package/cjs/hooks/useAsyncTasks/useAsyncTasks.type.js.map +0 -1
- package/cjs/hooks/useInfiniteScroll.d.ts +0 -25
- package/cjs/hooks/useInfiniteScroll.js +0 -45
- package/cjs/hooks/useInfiniteScroll.js.map +0 -1
- package/cjs/hooks/usePageTracking.d.ts +0 -2
- package/cjs/hooks/usePageTracking.js +0 -13
- package/cjs/hooks/usePageTracking.js.map +0 -1
- package/cjs/hooks/usePatchState.d.ts +0 -7
- package/cjs/hooks/usePatchState.js +0 -18
- package/cjs/hooks/usePatchState.js.map +0 -1
- package/cjs/index.d.ts +0 -2
- package/cjs/index.js +0 -6
- package/cjs/index.js.map +0 -1
- package/cjs/utils/development/sentry.d.ts +0 -5
- package/cjs/utils/development/sentry.js +0 -15
- package/cjs/utils/development/sentry.js.map +0 -1
- package/cjs/utils/isAppleSilicon.d.ts +0 -2
- package/cjs/utils/isAppleSilicon.js +0 -10
- package/cjs/utils/isAppleSilicon.js.map +0 -1
- package/esm/utils/isAppleSilicon.d.ts +0 -2
- package/esm/utils/isAppleSilicon.js +0 -6
- package/esm/utils/isAppleSilicon.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
2
|
import { UAParser } from "ua-parser-js";
|
|
3
|
-
import { isAppleSilicon } from "ua-parser-js/
|
|
3
|
+
import { isAppleSilicon } from "ua-parser-js/device-detection";
|
|
4
4
|
import { useAsyncEffect } from "../useAsyncEffect";
|
|
5
5
|
const DEFAULT_VALUE = "Unknown";
|
|
6
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAdvancedUserAgentData.js","sourceRoot":"","sources":["../../../src/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useAdvancedUserAgentData.js","sourceRoot":"","sources":["../../../src/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,MAAM,aAAa,GAAG,SAAS,CAAA;AAE/B;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IAItC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAA2B,CAAA;IAE3D,cAAc,CAAC,KAAK,IAAI,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;QAE7B,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa;YAC1C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,aAAa;SACjD,CAAA;QACD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,aAAa;YACzC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,aAAa;SAChD,CAAA;QACD,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,MAAM,CAAC,eAAe,EAAE;YACxB,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE;YAC5B,EAAE,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE;SAC9B,CAAC,CAAA;QAEF,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,aAAa;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa;SACzC,CAAA;QAED,IAAI,YAAoB,CAAA;QACxB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,YAAY;gBACV,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,CAAC,qBAAqB,CAAC;oBAC1D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,SAAS,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACrC,CAAC;QAED,OAAO,CAAC;YACN,OAAO;YACP,MAAM;YACN,EAAE;YACF,GAAG,EAAE;gBACH,YAAY;aACb;YACD,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAA;QAEF,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/hooks",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.3.2-20251217172925.commit-b80457e",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "esm/index.js",
|
|
5
6
|
"module": "esm/index.js",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": {
|
|
8
|
-
"import": "./esm/index.js",
|
|
9
|
-
"require": "./cjs/index.js"
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
7
|
"files": [
|
|
13
|
-
"esm"
|
|
14
|
-
"cjs"
|
|
8
|
+
"esm"
|
|
15
9
|
],
|
|
16
10
|
"scripts": {
|
|
17
|
-
"build": "npm run build:esm
|
|
11
|
+
"build": "npm run build:esm",
|
|
18
12
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
19
|
-
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
20
13
|
"dev": "tsc --watch --outDir dist",
|
|
21
14
|
"format": "prettier --write '**/*.{ts,tsx,js,jsx,json,md,mdx,css}'",
|
|
22
15
|
"lint": "eslint ./src",
|
|
@@ -34,6 +27,7 @@
|
|
|
34
27
|
"@types/jest": "^29.5.12",
|
|
35
28
|
"@types/node": "^18.0.0",
|
|
36
29
|
"@types/react": "^18.0.0",
|
|
30
|
+
"@types/ua-parser-js": "^0.7.39",
|
|
37
31
|
"@typescript-eslint/eslint-plugin": "^7.15.0",
|
|
38
32
|
"@typescript-eslint/parser": "^7.15.0",
|
|
39
33
|
"eslint": "^8.57.0",
|
|
@@ -83,5 +77,5 @@
|
|
|
83
77
|
"<rootDir>/test/setup.ts"
|
|
84
78
|
]
|
|
85
79
|
},
|
|
86
|
-
"commit": "
|
|
80
|
+
"commit": "b80457eed09324aba7b7139148e685352f121722"
|
|
87
81
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { AnalyticsContextType, AnalyticsProviderProps } from "./types";
|
|
3
|
-
declare const AnalyticsContext: React.Context<AnalyticsContextType | null>;
|
|
4
|
-
declare const AnalyticsProvider: React.FC<AnalyticsProviderProps>;
|
|
5
|
-
export { AnalyticsContext, AnalyticsProvider };
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AnalyticsProvider = exports.AnalyticsContext = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const isbot_1 = require("isbot");
|
|
7
|
-
const useAsyncEffect_1 = require("../../hooks/useAsyncEffect");
|
|
8
|
-
const AnalyticsContext = (0, react_1.createContext)(null);
|
|
9
|
-
exports.AnalyticsContext = AnalyticsContext;
|
|
10
|
-
const AnalyticsProvider = (props) => {
|
|
11
|
-
const { writeKey, userId, traits, children } = props;
|
|
12
|
-
const analyticsRef = (0, react_1.useRef)(null);
|
|
13
|
-
const [isInitialized, setIsInitialized] = (0, react_1.useState)(false);
|
|
14
|
-
(0, useAsyncEffect_1.useAsyncEffect)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
if (!writeKey) {
|
|
16
|
-
console.log("[Analytics] No writeKey provided");
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const userAgent = navigator.userAgent;
|
|
20
|
-
const isBot = (0, isbot_1.isbot)(userAgent);
|
|
21
|
-
if (isBot) {
|
|
22
|
-
console.log("[Analytics] Skipping load: bot detected");
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
27
|
-
const { AnalyticsBrowser } = yield Promise.resolve().then(() => tslib_1.__importStar(require("@segment/analytics-next")));
|
|
28
|
-
analyticsRef.current = AnalyticsBrowser.load({ writeKey });
|
|
29
|
-
if (userId) {
|
|
30
|
-
analyticsRef.current.identify(userId, traits);
|
|
31
|
-
}
|
|
32
|
-
setIsInitialized(true);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
console.error("[Analytics] Failed to initialize:", error);
|
|
36
|
-
analyticsRef.current = null;
|
|
37
|
-
}
|
|
38
|
-
}), [writeKey, userId, traits]);
|
|
39
|
-
const contextValue = (0, react_1.useMemo)(() => {
|
|
40
|
-
if (!analyticsRef.current || !isInitialized) {
|
|
41
|
-
return {
|
|
42
|
-
isInitialized: false,
|
|
43
|
-
track: () => { },
|
|
44
|
-
identify: () => { },
|
|
45
|
-
page: () => { },
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
isInitialized: true,
|
|
50
|
-
track: (event, payload) => {
|
|
51
|
-
var _a;
|
|
52
|
-
(_a = analyticsRef.current) === null || _a === void 0 ? void 0 : _a.track(event, payload);
|
|
53
|
-
},
|
|
54
|
-
identify: (id, traits) => {
|
|
55
|
-
var _a;
|
|
56
|
-
(_a = analyticsRef.current) === null || _a === void 0 ? void 0 : _a.identify(id, traits);
|
|
57
|
-
},
|
|
58
|
-
page: (name, props) => {
|
|
59
|
-
var _a;
|
|
60
|
-
(_a = analyticsRef.current) === null || _a === void 0 ? void 0 : _a.page(name, props);
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}, [isInitialized]);
|
|
64
|
-
return (react_1.default.createElement(AnalyticsContext.Provider, { value: contextValue }, children));
|
|
65
|
-
};
|
|
66
|
-
exports.AnalyticsProvider = AnalyticsProvider;
|
|
67
|
-
//# sourceMappingURL=AnalyticsProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsProvider.js","sourceRoot":"","sources":["../../../src/contexts/analytics/AnalyticsProvider.tsx"],"names":[],"mappings":";;;;AAAA,uDAAuE;AAEvE,iCAA6B;AAC7B,+DAA2D;AAO3D,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAA8B,IAAI,CAAC,CAAA;AAsEhE,4CAAgB;AApEzB,MAAM,iBAAiB,GAAqC,CAC1D,KAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACpD,MAAM,YAAY,GAAG,IAAA,cAAM,EAA0B,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAEzD,IAAA,+BAAc,EAAC,GAAS,EAAE;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;QACrC,MAAM,KAAK,GAAG,IAAA,aAAK,EAAC,SAAS,CAAC,CAAA;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,EAAE,gBAAgB,EAAE,GAAG,gEAAa,yBAAyB,GAAC,CAAA;YACpE,YAAY,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YAE1D,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC/C,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAA;QAC7B,CAAC;IACH,CAAC,CAAA,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAE9B,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;gBAClB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;aACf,CAAA;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,CAAC,KAAa,EAAE,OAAsB,EAAE,EAAE;;gBAC/C,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7C,CAAC;YACD,QAAQ,EAAE,CAAC,EAAU,EAAE,MAAgC,EAAE,EAAE;;gBACzD,MAAA,YAAY,CAAC,OAAO,0CAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,EAAE,CAAC,IAAY,EAAE,KAA+B,EAAE,EAAE;;gBACtD,MAAA,YAAY,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACzC,CAAC;SACF,CAAA;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,8BAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAC3C,QAAQ,CACiB,CAC7B,CAAA;AACH,CAAC,CAAA;AAE0B,8CAAiB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { EventProperties } from "@segment/analytics-next";
|
|
2
|
-
type AnalyticsProviderProps = {
|
|
3
|
-
writeKey: string;
|
|
4
|
-
userId?: string;
|
|
5
|
-
traits?: Record<string, unknown>;
|
|
6
|
-
children: React.ReactNode;
|
|
7
|
-
};
|
|
8
|
-
type TrackPayload = EventProperties;
|
|
9
|
-
type AnalyticsContextType = {
|
|
10
|
-
isInitialized: boolean;
|
|
11
|
-
track: (event: string, payload?: TrackPayload) => void;
|
|
12
|
-
identify: (userId: string, traits?: Record<string, unknown>) => void;
|
|
13
|
-
page: (name: string, props?: Record<string, unknown>) => void;
|
|
14
|
-
};
|
|
15
|
-
export { type AnalyticsProviderProps, type TrackPayload, type AnalyticsContextType, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contexts/analytics/types.ts"],"names":[],"mappings":""}
|
package/cjs/contexts/index.d.ts
DELETED
package/cjs/contexts/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":";;;AAAA,wEAA6C"}
|
package/cjs/hooks/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export type { AdvancedNavigatorUAData } from "./useAdvancedUserAgentData";
|
|
2
|
-
export type { AsyncMemoResult, AsyncMemoResultState } from "./useAsyncMemo";
|
|
3
|
-
export type { AsyncStateResult, AsyncStateResultState } from "./useAsyncState";
|
|
4
|
-
export type { UseInfiniteScrollOptions } from "./useInfiniteScroll";
|
|
5
|
-
export { useAdvancedUserAgentData } from "./useAdvancedUserAgentData";
|
|
6
|
-
export { useAnalytics } from "./useAnalytics";
|
|
7
|
-
export { useAsyncEffect } from "./useAsyncEffect";
|
|
8
|
-
export { useAsyncMemo, createAsyncMemoState } from "./useAsyncMemo";
|
|
9
|
-
export { useAsyncState, createAsyncStateState } from "./useAsyncState";
|
|
10
|
-
export { useAsyncTask } from "./useAsyncTask";
|
|
11
|
-
export { useAsyncTasks } from "./useAsyncTasks";
|
|
12
|
-
export { useInfiniteScroll } from "./useInfiniteScroll";
|
|
13
|
-
export { usePageTracking } from "./usePageTracking";
|
|
14
|
-
export { usePatchState } from "./usePatchState";
|
package/cjs/hooks/index.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.usePatchState = exports.usePageTracking = exports.useInfiniteScroll = exports.useAsyncTasks = exports.useAsyncTask = exports.createAsyncStateState = exports.useAsyncState = exports.createAsyncMemoState = exports.useAsyncMemo = exports.useAsyncEffect = exports.useAnalytics = exports.useAdvancedUserAgentData = void 0;
|
|
4
|
-
// Hooks
|
|
5
|
-
var useAdvancedUserAgentData_1 = require("./useAdvancedUserAgentData");
|
|
6
|
-
Object.defineProperty(exports, "useAdvancedUserAgentData", { enumerable: true, get: function () { return useAdvancedUserAgentData_1.useAdvancedUserAgentData; } });
|
|
7
|
-
var useAnalytics_1 = require("./useAnalytics");
|
|
8
|
-
Object.defineProperty(exports, "useAnalytics", { enumerable: true, get: function () { return useAnalytics_1.useAnalytics; } });
|
|
9
|
-
var useAsyncEffect_1 = require("./useAsyncEffect");
|
|
10
|
-
Object.defineProperty(exports, "useAsyncEffect", { enumerable: true, get: function () { return useAsyncEffect_1.useAsyncEffect; } });
|
|
11
|
-
var useAsyncMemo_1 = require("./useAsyncMemo");
|
|
12
|
-
Object.defineProperty(exports, "useAsyncMemo", { enumerable: true, get: function () { return useAsyncMemo_1.useAsyncMemo; } });
|
|
13
|
-
Object.defineProperty(exports, "createAsyncMemoState", { enumerable: true, get: function () { return useAsyncMemo_1.createAsyncMemoState; } });
|
|
14
|
-
var useAsyncState_1 = require("./useAsyncState");
|
|
15
|
-
Object.defineProperty(exports, "useAsyncState", { enumerable: true, get: function () { return useAsyncState_1.useAsyncState; } });
|
|
16
|
-
Object.defineProperty(exports, "createAsyncStateState", { enumerable: true, get: function () { return useAsyncState_1.createAsyncStateState; } });
|
|
17
|
-
var useAsyncTask_1 = require("./useAsyncTask");
|
|
18
|
-
Object.defineProperty(exports, "useAsyncTask", { enumerable: true, get: function () { return useAsyncTask_1.useAsyncTask; } });
|
|
19
|
-
var useAsyncTasks_1 = require("./useAsyncTasks");
|
|
20
|
-
Object.defineProperty(exports, "useAsyncTasks", { enumerable: true, get: function () { return useAsyncTasks_1.useAsyncTasks; } });
|
|
21
|
-
var useInfiniteScroll_1 = require("./useInfiniteScroll");
|
|
22
|
-
Object.defineProperty(exports, "useInfiniteScroll", { enumerable: true, get: function () { return useInfiniteScroll_1.useInfiniteScroll; } });
|
|
23
|
-
var usePageTracking_1 = require("./usePageTracking");
|
|
24
|
-
Object.defineProperty(exports, "usePageTracking", { enumerable: true, get: function () { return usePageTracking_1.usePageTracking; } });
|
|
25
|
-
var usePatchState_1 = require("./usePatchState");
|
|
26
|
-
Object.defineProperty(exports, "usePatchState", { enumerable: true, get: function () { return usePatchState_1.usePatchState; } });
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
package/cjs/hooks/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAMA,QAAQ;AACR,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA;AACjC,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,+CAAmE;AAA1D,4GAAA,YAAY,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAC3C,iDAAsE;AAA7D,8GAAA,aAAa,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAC7C,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,qDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAdvancedUserAgentData = void 0;
|
|
4
|
-
var useAdvancedUserAgentData_1 = require("./useAdvancedUserAgentData");
|
|
5
|
-
Object.defineProperty(exports, "useAdvancedUserAgentData", { enumerable: true, get: function () { return useAdvancedUserAgentData_1.useAdvancedUserAgentData; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useAdvancedUserAgentData/index.ts"],"names":[],"mappings":";;;AAAA,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AdvancedNavigatorUAData } from "./useAdvancedUserAgentData.type";
|
|
2
|
-
/**
|
|
3
|
-
* extract or infer the [UserAgentData](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgentData)
|
|
4
|
-
* that is an object which can be used to access the User-Agent Client Hints API.
|
|
5
|
-
*/
|
|
6
|
-
export declare function useAdvancedUserAgentData(): [
|
|
7
|
-
boolean,
|
|
8
|
-
AdvancedNavigatorUAData | undefined
|
|
9
|
-
];
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAdvancedUserAgentData = useAdvancedUserAgentData;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const ua_parser_js_1 = require("ua-parser-js");
|
|
7
|
-
const helpers_1 = require("ua-parser-js/helpers");
|
|
8
|
-
const useAsyncEffect_1 = require("../useAsyncEffect");
|
|
9
|
-
const DEFAULT_VALUE = "Unknown";
|
|
10
|
-
/**
|
|
11
|
-
* extract or infer the [UserAgentData](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgentData)
|
|
12
|
-
* that is an object which can be used to access the User-Agent Client Hints API.
|
|
13
|
-
*/
|
|
14
|
-
function useAdvancedUserAgentData() {
|
|
15
|
-
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
16
|
-
const [data, setData] = (0, react_1.useState)();
|
|
17
|
-
(0, useAsyncEffect_1.useAsyncEffect)(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
var _a, _b, _c, _d, _e, _f;
|
|
19
|
-
setLoading(true);
|
|
20
|
-
const ua = new ua_parser_js_1.UAParser(navigator.userAgent);
|
|
21
|
-
const uaData = ua.getResult();
|
|
22
|
-
const browser = {
|
|
23
|
-
name: (_a = uaData.browser.name) !== null && _a !== void 0 ? _a : DEFAULT_VALUE,
|
|
24
|
-
version: (_b = uaData.browser.version) !== null && _b !== void 0 ? _b : DEFAULT_VALUE,
|
|
25
|
-
};
|
|
26
|
-
const engine = {
|
|
27
|
-
name: (_c = uaData.engine.name) !== null && _c !== void 0 ? _c : DEFAULT_VALUE,
|
|
28
|
-
version: (_d = uaData.engine.version) !== null && _d !== void 0 ? _d : DEFAULT_VALUE,
|
|
29
|
-
};
|
|
30
|
-
const [uaDataWithClientHints, osData, cpuData] = yield Promise.all([
|
|
31
|
-
uaData.withClientHints(),
|
|
32
|
-
ua.getOS().withClientHints(),
|
|
33
|
-
ua.getCPU().withClientHints(),
|
|
34
|
-
]);
|
|
35
|
-
const os = {
|
|
36
|
-
name: (_e = osData.name) !== null && _e !== void 0 ? _e : DEFAULT_VALUE,
|
|
37
|
-
version: (_f = osData.version) !== null && _f !== void 0 ? _f : DEFAULT_VALUE,
|
|
38
|
-
};
|
|
39
|
-
let architecture;
|
|
40
|
-
if (!cpuData.architecture) {
|
|
41
|
-
architecture =
|
|
42
|
-
os.name === "macOS" && (0, helpers_1.isAppleSilicon)(uaDataWithClientHints)
|
|
43
|
-
? "arm64"
|
|
44
|
-
: "Unknown";
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
architecture = cpuData.architecture;
|
|
48
|
-
}
|
|
49
|
-
setData({
|
|
50
|
-
browser,
|
|
51
|
-
engine,
|
|
52
|
-
os,
|
|
53
|
-
cpu: {
|
|
54
|
-
architecture,
|
|
55
|
-
},
|
|
56
|
-
mobile: ua.getDevice().is("mobile"),
|
|
57
|
-
tablet: ua.getDevice().is("tablet"),
|
|
58
|
-
});
|
|
59
|
-
setLoading(false);
|
|
60
|
-
}), []);
|
|
61
|
-
return [isLoading, data];
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=useAdvancedUserAgentData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAdvancedUserAgentData.js","sourceRoot":"","sources":["../../../src/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.ts"],"names":[],"mappings":";;AAWA,4DAwDC;;AAnED,iCAAgC;AAChC,+CAAuC;AACvC,kDAAqD;AAErD,sDAAkD;AAClD,MAAM,aAAa,GAAG,SAAS,CAAA;AAE/B;;;GAGG;AACH,SAAgB,wBAAwB;IAItC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,GAA2B,CAAA;IAE3D,IAAA,+BAAc,EAAC,GAAS,EAAE;;QACxB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,EAAE,GAAG,IAAI,uBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;QAE7B,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,mCAAI,aAAa;YAC1C,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,mCAAI,aAAa;SACjD,CAAA;QACD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,mCAAI,aAAa;YACzC,OAAO,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,OAAO,mCAAI,aAAa;SAChD,CAAA;QACD,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,MAAM,CAAC,eAAe,EAAE;YACxB,EAAE,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE;YAC5B,EAAE,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE;SAC9B,CAAC,CAAA;QAEF,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,aAAa;YAClC,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,aAAa;SACzC,CAAA;QAED,IAAI,YAAoB,CAAA;QACxB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,YAAY;gBACV,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAA,wBAAc,EAAC,qBAAqB,CAAC;oBAC1D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,SAAS,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACrC,CAAC;QAED,OAAO,CAAC;YACN,OAAO;YACP,MAAM;YACN,EAAE;YACF,GAAG,EAAE;gBACH,YAAY;aACb;YACD,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAA;QAEF,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAA,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAC1B,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type AdvancedNavigatorUAData = {
|
|
2
|
-
browser: {
|
|
3
|
-
name: string;
|
|
4
|
-
version: string;
|
|
5
|
-
};
|
|
6
|
-
engine: {
|
|
7
|
-
name: string;
|
|
8
|
-
version: string;
|
|
9
|
-
};
|
|
10
|
-
os: {
|
|
11
|
-
name: string;
|
|
12
|
-
version: string;
|
|
13
|
-
};
|
|
14
|
-
cpu: {
|
|
15
|
-
architecture: string;
|
|
16
|
-
};
|
|
17
|
-
mobile: boolean;
|
|
18
|
-
tablet: boolean;
|
|
19
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAdvancedUserAgentData.type.js","sourceRoot":"","sources":["../../../src/hooks/useAdvancedUserAgentData/useAdvancedUserAgentData.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAnalytics = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const AnalyticsProvider_1 = require("../contexts/analytics/AnalyticsProvider");
|
|
6
|
-
const useAnalytics = () => {
|
|
7
|
-
const analyticsContext = (0, react_1.useContext)(AnalyticsProvider_1.AnalyticsContext);
|
|
8
|
-
if (!analyticsContext) {
|
|
9
|
-
throw new Error("useAnalytics must be used within AnalyticsProvider");
|
|
10
|
-
}
|
|
11
|
-
if (!analyticsContext.isInitialized) {
|
|
12
|
-
return {
|
|
13
|
-
isInitialized: false,
|
|
14
|
-
track: () => { },
|
|
15
|
-
identify: () => { },
|
|
16
|
-
page: () => { },
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
isInitialized: true,
|
|
21
|
-
track: analyticsContext.track,
|
|
22
|
-
identify: analyticsContext.identify,
|
|
23
|
-
page: analyticsContext.page,
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
exports.useAnalytics = useAnalytics;
|
|
27
|
-
//# sourceMappingURL=useAnalytics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAnalytics.js","sourceRoot":"","sources":["../../src/hooks/useAnalytics.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,+EAA0E;AAG1E,MAAM,YAAY,GAAG,GAAyB,EAAE;IAC9C,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EAAC,oCAAgB,CAAC,CAAA;IACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;YAClB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAA;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;QACnC,IAAI,EAAE,gBAAgB,CAAC,IAAI;KAC5B,CAAA;AACH,CAAC,CAAA;AAEQ,oCAAY"}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncEffect.type.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncEffect/useAsyncEffect.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Execute an async function and return a loading state and a function to call the async function
|
|
4
|
-
* @param callback - The async function to execute
|
|
5
|
-
* @param dependencies - The dependencies of the async function
|
|
6
|
-
* @returns A tuple containing the loading state and a function to call the async function
|
|
7
|
-
*/
|
|
8
|
-
declare const useAsyncEffect: (callback: () => Promise<void | (() => void)>, dependencies?: DependencyList) => void;
|
|
9
|
-
export { useAsyncEffect };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncEffect = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const sentry_1 = require("../utils/development/sentry");
|
|
6
|
-
/**
|
|
7
|
-
* Execute an async function and return a loading state and a function to call the async function
|
|
8
|
-
* @param callback - The async function to execute
|
|
9
|
-
* @param dependencies - The dependencies of the async function
|
|
10
|
-
* @returns A tuple containing the loading state and a function to call the async function
|
|
11
|
-
*/
|
|
12
|
-
const useAsyncEffect = (callback, dependencies) => {
|
|
13
|
-
return (0, react_1.useEffect)(() => {
|
|
14
|
-
const promise = callback().catch((err) => {
|
|
15
|
-
console.error(`AsyncEffect error: `, err);
|
|
16
|
-
(0, sentry_1.sentry)((sentry) => sentry.captureException("AsyncEffect error: " + err.message, {
|
|
17
|
-
extra: err,
|
|
18
|
-
}));
|
|
19
|
-
});
|
|
20
|
-
return function () {
|
|
21
|
-
promise.then((unsubscribe) => {
|
|
22
|
-
if (typeof unsubscribe === "function") {
|
|
23
|
-
unsubscribe();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
}, dependencies);
|
|
28
|
-
};
|
|
29
|
-
exports.useAsyncEffect = useAsyncEffect;
|
|
30
|
-
//# sourceMappingURL=useAsyncEffect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncEffect.js","sourceRoot":"","sources":["../../src/hooks/useAsyncEffect.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AACjD,wDAAoD;AAEpD;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CACrB,QAA4C,EAC5C,YAA6B,EAC7B,EAAE;IACF,OAAO,IAAA,iBAAS,EAAC,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;YACzC,IAAA,eAAM,EAAC,CAAC,MAAM,EAAE,EAAE,CAChB,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,GAAG,CAAC,OAAO,EAAE;gBAC3D,KAAK,EAAE,GAAG;aACX,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC3B,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;oBACtC,WAAW,EAAE,CAAA;gBACf,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC,EAAE,YAAY,CAAC,CAAA;AAClB,CAAC,CAAA;AAEQ,wCAAc"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const useAsyncMemo: <T, I = null>(callback: () => Promise<T>, deps?: import("react").DependencyList, options?: Partial<import("./useAsyncState").AsyncStateOptions<T, I>>) => import("./useAsyncState").AsyncStateResult<T, I>;
|
|
2
|
-
export type { AsyncStateResult as AsyncMemoResult, AsyncStateResultState as AsyncMemoResultState, } from "./useAsyncState";
|
|
3
|
-
export { createAsyncStateState as createAsyncMemoState } from "./useAsyncState";
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createAsyncMemoState = exports.useAsyncMemo = void 0;
|
|
4
|
-
const useAsyncState_1 = require("./useAsyncState");
|
|
5
|
-
exports.useAsyncMemo = useAsyncState_1.useAsyncState;
|
|
6
|
-
var useAsyncState_2 = require("./useAsyncState");
|
|
7
|
-
Object.defineProperty(exports, "createAsyncMemoState", { enumerable: true, get: function () { return useAsyncState_2.createAsyncStateState; } });
|
|
8
|
-
//# sourceMappingURL=useAsyncMemo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncMemo.js","sourceRoot":"","sources":["../../src/hooks/useAsyncMemo.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAClC,QAAA,YAAY,GAAG,6BAAa,CAAA;AAKzC,iDAA+E;AAAtE,qHAAA,qBAAqB,OAAwB"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncState = exports.createAsyncStateState = void 0;
|
|
4
|
-
var useAsyncState_1 = require("./useAsyncState");
|
|
5
|
-
Object.defineProperty(exports, "createAsyncStateState", { enumerable: true, get: function () { return useAsyncState_1.createAsyncStateState; } });
|
|
6
|
-
Object.defineProperty(exports, "useAsyncState", { enumerable: true, get: function () { return useAsyncState_1.useAsyncState; } });
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncState/index.ts"],"names":[],"mappings":";;;AAAA,iDAAsE;AAA7D,sHAAA,qBAAqB,OAAA;AAAE,8GAAA,aAAa,OAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
import { AsyncStateOptions, AsyncStateResult, AsyncStateResultState } from "./useAsyncState.type";
|
|
3
|
-
/**
|
|
4
|
-
* Create a state object for the useAsyncState hook
|
|
5
|
-
* @param initialValue - The initial value of the state
|
|
6
|
-
* @param callWithTruthyDeps - Whether to call the async function only when all dependencies are truthy
|
|
7
|
-
* @returns An object with the state properties
|
|
8
|
-
*/
|
|
9
|
-
declare const createAsyncStateState: <T, I = null>() => AsyncStateResultState<T, I>;
|
|
10
|
-
/**
|
|
11
|
-
* Execute and async function and save the result in the component memory,
|
|
12
|
-
* it will execute again each time deps change, and it return only the result
|
|
13
|
-
* for the latest change
|
|
14
|
-
*
|
|
15
|
-
* @param callback - async function
|
|
16
|
-
* @param deps - dependency list
|
|
17
|
-
* @param options.initialValue - initial memo value (default=null)
|
|
18
|
-
* @param options.callWithTruthyDeps - if true the effect will be executed only when
|
|
19
|
-
* all values in the dependency list are evaluated as true
|
|
20
|
-
*/
|
|
21
|
-
declare const useAsyncState: <T, I = null>(callback: () => Promise<T>, deps?: DependencyList, options?: Partial<AsyncStateOptions<T, I>>) => AsyncStateResult<T, I>;
|
|
22
|
-
export type { AsyncStateResultState, AsyncStateResult };
|
|
23
|
-
export { createAsyncStateState, useAsyncState };
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncState = exports.createAsyncStateState = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const sentry_1 = require("../../utils/development/sentry");
|
|
6
|
-
/**
|
|
7
|
-
* Create a state object for the useAsyncState hook
|
|
8
|
-
* @param initialValue - The initial value of the state
|
|
9
|
-
* @param callWithTruthyDeps - Whether to call the async function only when all dependencies are truthy
|
|
10
|
-
* @returns An object with the state properties
|
|
11
|
-
*/
|
|
12
|
-
const createAsyncStateState = () => {
|
|
13
|
-
return {
|
|
14
|
-
version: 0,
|
|
15
|
-
loading: false,
|
|
16
|
-
time: 0,
|
|
17
|
-
error: null,
|
|
18
|
-
loaded: false,
|
|
19
|
-
reload: () => { },
|
|
20
|
-
set: () => { },
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
exports.createAsyncStateState = createAsyncStateState;
|
|
24
|
-
/**
|
|
25
|
-
* Execute and async function and save the result in the component memory,
|
|
26
|
-
* it will execute again each time deps change, and it return only the result
|
|
27
|
-
* for the latest change
|
|
28
|
-
*
|
|
29
|
-
* @param callback - async function
|
|
30
|
-
* @param deps - dependency list
|
|
31
|
-
* @param options.initialValue - initial memo value (default=null)
|
|
32
|
-
* @param options.callWithTruthyDeps - if true the effect will be executed only when
|
|
33
|
-
* all values in the dependency list are evaluated as true
|
|
34
|
-
*/
|
|
35
|
-
const useAsyncState = (callback, deps = [], options = {}) => {
|
|
36
|
-
var _a;
|
|
37
|
-
const [state, setState] = (0, react_1.useState)({
|
|
38
|
-
version: 0,
|
|
39
|
-
loading: false,
|
|
40
|
-
value: ((_a = options.initialValue) !== null && _a !== void 0 ? _a : null),
|
|
41
|
-
time: 0,
|
|
42
|
-
error: null,
|
|
43
|
-
});
|
|
44
|
-
const load = (0, react_1.useCallback)(() => {
|
|
45
|
-
if (options.callWithTruthyDeps &&
|
|
46
|
-
deps.some((dep) => Boolean(dep) === false)) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
setState((current) => (Object.assign(Object.assign({}, current), { loading: true, version: current.version + 1 })));
|
|
50
|
-
}, [state, options.callWithTruthyDeps, ...deps]);
|
|
51
|
-
(0, react_1.useEffect)(() => {
|
|
52
|
-
load();
|
|
53
|
-
}, deps);
|
|
54
|
-
(0, react_1.useEffect)(() => {
|
|
55
|
-
if (!state.loading) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
let cancelled = false;
|
|
59
|
-
const loading = false;
|
|
60
|
-
const initial = Date.now();
|
|
61
|
-
Promise.resolve()
|
|
62
|
-
.then(() => callback())
|
|
63
|
-
.then((value) => {
|
|
64
|
-
if (cancelled) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
setState((current) => (Object.assign(Object.assign({}, current), { value, error: null, loading, time: Date.now() - initial })));
|
|
68
|
-
})
|
|
69
|
-
.catch((err) => {
|
|
70
|
-
console.error(err);
|
|
71
|
-
(0, sentry_1.sentry)((sentry) => sentry.captureException(err));
|
|
72
|
-
if (cancelled) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
setState((current) => (Object.assign(Object.assign({}, current), { value: current.value, error: err, loading, time: Date.now() - initial })));
|
|
76
|
-
});
|
|
77
|
-
return () => {
|
|
78
|
-
cancelled = true;
|
|
79
|
-
};
|
|
80
|
-
}, [state]);
|
|
81
|
-
const set = (0, react_1.useCallback)((value) => {
|
|
82
|
-
const newValue = typeof value === "function"
|
|
83
|
-
? value(state.value)
|
|
84
|
-
: value;
|
|
85
|
-
setState((current) => (Object.assign(Object.assign({}, current), { value: newValue })));
|
|
86
|
-
}, [state]);
|
|
87
|
-
const actions = (0, react_1.useMemo)(() => ({
|
|
88
|
-
version: state.version,
|
|
89
|
-
loading: state.loading,
|
|
90
|
-
error: state.error,
|
|
91
|
-
time: state.time,
|
|
92
|
-
loaded: state.version !== 0,
|
|
93
|
-
reload: load,
|
|
94
|
-
set,
|
|
95
|
-
}), [state, load, set]);
|
|
96
|
-
return [state.value, actions];
|
|
97
|
-
};
|
|
98
|
-
exports.useAsyncState = useAsyncState;
|
|
99
|
-
//# sourceMappingURL=useAsyncState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncState.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncState/useAsyncState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
type AsyncStateState<T, I = null> = {
|
|
2
|
-
version: number;
|
|
3
|
-
loading: boolean;
|
|
4
|
-
value: T | I;
|
|
5
|
-
time: number;
|
|
6
|
-
error: Error | null;
|
|
7
|
-
};
|
|
8
|
-
type AsyncStateOptions<T = any, I = null> = {
|
|
9
|
-
initialValue: T | I;
|
|
10
|
-
callWithTruthyDeps: boolean;
|
|
11
|
-
};
|
|
12
|
-
type AsyncStateResultState<T, I = null> = {
|
|
13
|
-
version: number;
|
|
14
|
-
time: number;
|
|
15
|
-
error: Error | null;
|
|
16
|
-
loading: boolean;
|
|
17
|
-
loaded: boolean;
|
|
18
|
-
reload: () => void;
|
|
19
|
-
set: (value: ((current: T | I) => T) | T) => void;
|
|
20
|
-
};
|
|
21
|
-
type AsyncStateResult<T, I = null> = readonly [
|
|
22
|
-
T | I,
|
|
23
|
-
AsyncStateResultState<T, I>
|
|
24
|
-
];
|
|
25
|
-
export { AsyncStateState, AsyncStateOptions, AsyncStateResult, AsyncStateResultState, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncState.type.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncState/useAsyncState.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncTask = void 0;
|
|
4
|
-
var useAsyncTask_1 = require("./useAsyncTask");
|
|
5
|
-
Object.defineProperty(exports, "useAsyncTask", { enumerable: true, get: function () { return useAsyncTask_1.useAsyncTask; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTask/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,4GAAA,YAAY,OAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Execute an async function and return a loading state and a function to call the async function
|
|
4
|
-
* @param callback - The async function to execute
|
|
5
|
-
* @param deps - The dependencies of the async function
|
|
6
|
-
* @returns A tuple containing the loading state and a function to call the async function
|
|
7
|
-
*/
|
|
8
|
-
declare const useAsyncTask: <A extends any[] = []>(callback: (...args: A) => Promise<any>, deps: DependencyList) => readonly [boolean, (...args: A) => void];
|
|
9
|
-
export { useAsyncTask };
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncTask = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const sentry_1 = require("../../utils/development/sentry");
|
|
7
|
-
/**
|
|
8
|
-
* Execute an async function and return a loading state and a function to call the async function
|
|
9
|
-
* @param callback - The async function to execute
|
|
10
|
-
* @param deps - The dependencies of the async function
|
|
11
|
-
* @returns A tuple containing the loading state and a function to call the async function
|
|
12
|
-
*/
|
|
13
|
-
const useAsyncTask = (callback, deps) => {
|
|
14
|
-
const [{ loading, args }, setLoading] = (0, react_1.useState)({
|
|
15
|
-
loading: false,
|
|
16
|
-
args: null,
|
|
17
|
-
});
|
|
18
|
-
(0, react_1.useEffect)(() => {
|
|
19
|
-
if (!loading) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (args === null) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
let cancelled = false;
|
|
26
|
-
Promise.resolve()
|
|
27
|
-
.then(() => callback(...args))
|
|
28
|
-
.then(() => {
|
|
29
|
-
if (cancelled) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
setLoading({ loading: false, args: null });
|
|
33
|
-
})
|
|
34
|
-
.catch((err) => {
|
|
35
|
-
console.error(err);
|
|
36
|
-
(0, sentry_1.sentry)((sentry) => sentry.captureException(err));
|
|
37
|
-
if (cancelled) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
setLoading({ loading: false, args: null });
|
|
41
|
-
});
|
|
42
|
-
return () => {
|
|
43
|
-
cancelled = true;
|
|
44
|
-
};
|
|
45
|
-
}, [loading]);
|
|
46
|
-
const callTask = (0, react_1.useCallback)((...args) => {
|
|
47
|
-
setLoading({ loading: true, args });
|
|
48
|
-
}, [loading, args, ...deps]);
|
|
49
|
-
return [loading, callTask];
|
|
50
|
-
};
|
|
51
|
-
exports.useAsyncTask = useAsyncTask;
|
|
52
|
-
//# sourceMappingURL=useAsyncTask.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncTask.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTask/useAsyncTask.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,iCAAwE;AAExE,2DAAuD;AAEvD;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CACnB,QAAsC,EACtC,IAAoB,EACpB,EAAE;IACF,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAoB;QAClE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;aAC7B,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,SAAS,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;YAED,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,IAAA,eAAM,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;YAED,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEJ,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,GAAG,IAAO,EAAE,EAAE;QACb,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CACzB,CAAA;IAED,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAA;AACrC,CAAC,CAAA;AAEQ,oCAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncTask.type.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTask/useAsyncTask.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncTasks = void 0;
|
|
4
|
-
var useAsyncTasks_1 = require("./useAsyncTasks");
|
|
5
|
-
Object.defineProperty(exports, "useAsyncTasks", { enumerable: true, get: function () { return useAsyncTasks_1.useAsyncTasks; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTasks/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,8GAAA,aAAa,OAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { DependencyList } from "react";
|
|
2
|
-
import { AsyncTaskIdentity } from "./useAsyncTasks.type";
|
|
3
|
-
/**
|
|
4
|
-
* Use async tasks to execute async functions and return a list of task ids and a function to add a task
|
|
5
|
-
* @param callback - The async function to execute
|
|
6
|
-
* @param deps - The dependencies of the async function
|
|
7
|
-
* @returns A tuple containing the list of task ids and a function to add a task
|
|
8
|
-
*/
|
|
9
|
-
declare const useAsyncTasks: <C extends AsyncTaskIdentity = AsyncTaskIdentity>(callback: C, deps: DependencyList) => readonly [string[], C];
|
|
10
|
-
export { useAsyncTasks };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useAsyncTasks = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const sentry_1 = require("../../utils/development/sentry");
|
|
7
|
-
/**
|
|
8
|
-
* Use async tasks to execute async functions and return a list of task ids and a function to add a task
|
|
9
|
-
* @param callback - The async function to execute
|
|
10
|
-
* @param deps - The dependencies of the async function
|
|
11
|
-
* @returns A tuple containing the list of task ids and a function to add a task
|
|
12
|
-
*/
|
|
13
|
-
const useAsyncTasks = (callback, deps) => {
|
|
14
|
-
const [tasks, setTasks] = (0, react_1.useState)([]);
|
|
15
|
-
const tasksIds = (0, react_1.useMemo)(() => tasks.map(([id]) => id), [tasks]);
|
|
16
|
-
const addTask = (0, react_1.useCallback)((id, ...extra) => {
|
|
17
|
-
if (tasks.find(([currentId]) => currentId === id)) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const task = Promise.resolve()
|
|
21
|
-
.then(() => callback(id, ...extra))
|
|
22
|
-
.then(() => {
|
|
23
|
-
setTasks((current) => current.filter(([currentId]) => currentId !== id));
|
|
24
|
-
})
|
|
25
|
-
.catch((err) => {
|
|
26
|
-
console.error(err);
|
|
27
|
-
(0, sentry_1.sentry)((sentry) => sentry.captureException(err));
|
|
28
|
-
setTasks((current) => current.filter(([currentId]) => currentId !== id));
|
|
29
|
-
});
|
|
30
|
-
setTasks((current) => [...current, [id, task]]);
|
|
31
|
-
}, [tasks, ...deps]);
|
|
32
|
-
return [tasksIds, addTask];
|
|
33
|
-
};
|
|
34
|
-
exports.useAsyncTasks = useAsyncTasks;
|
|
35
|
-
//# sourceMappingURL=useAsyncTasks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncTasks.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTasks/useAsyncTasks.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,iCAAsE;AAEtE,2DAAuD;AAEvD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CACpB,QAAW,EACX,IAAoB,EACI,EAAE;IAC1B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAkC,EAAE,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEhE,MAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,CAAC,EAAU,EAAE,GAAG,KAAY,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;YAClD,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE;aAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,EAAE;YACT,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CACnB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAClD,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,IAAA,eAAM,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;YAChD,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CACnB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAClD,CAAA;QACH,CAAC,CAAC,CAAA;QAEJ,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC,EACD,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CACjB,CAAA;IAED,OAAO,CAAC,QAAQ,EAAE,OAAY,CAAU,CAAA;AAC1C,CAAC,CAAA;AAEQ,sCAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncTasks.type.js","sourceRoot":"","sources":["../../../src/hooks/useAsyncTasks/useAsyncTasks.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
interface UseInfiniteScrollOptions {
|
|
2
|
-
/** Callback to trigger when user scrolls near the end */
|
|
3
|
-
onLoadMore: () => void;
|
|
4
|
-
/** Whether more data is available to load */
|
|
5
|
-
hasMore: boolean;
|
|
6
|
-
/** Whether data is currently loading */
|
|
7
|
-
isLoading: boolean;
|
|
8
|
-
/** Distance from bottom (in pixels) to trigger load. Default: 500 */
|
|
9
|
-
threshold?: number;
|
|
10
|
-
/** Minimum time (in milliseconds) between triggers to prevent multiple calls. Default: 500 */
|
|
11
|
-
debounceMs?: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Hook to implement infinite scroll functionality
|
|
15
|
-
* Triggers onLoadMore callback when user scrolls near the bottom of the page
|
|
16
|
-
* @param options - Configuration options for infinite scroll
|
|
17
|
-
* @param options.onLoadMore - Callback to trigger when user scrolls near the end
|
|
18
|
-
* @param options.hasMore - Whether more data is available to load
|
|
19
|
-
* @param options.isLoading - Whether data is currently loading
|
|
20
|
-
* @param options.threshold - Distance from bottom (in pixels) to trigger load. Default: 500
|
|
21
|
-
* @param options.debounceMs - Minimum time (in milliseconds) between triggers to prevent multiple calls. Default: 500
|
|
22
|
-
*/
|
|
23
|
-
declare const useInfiniteScroll: ({ onLoadMore, hasMore, isLoading, threshold, debounceMs, }: UseInfiniteScrollOptions) => void;
|
|
24
|
-
export { useInfiniteScroll };
|
|
25
|
-
export type { UseInfiniteScrollOptions };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useInfiniteScroll = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
/**
|
|
6
|
-
* Hook to implement infinite scroll functionality
|
|
7
|
-
* Triggers onLoadMore callback when user scrolls near the bottom of the page
|
|
8
|
-
* @param options - Configuration options for infinite scroll
|
|
9
|
-
* @param options.onLoadMore - Callback to trigger when user scrolls near the end
|
|
10
|
-
* @param options.hasMore - Whether more data is available to load
|
|
11
|
-
* @param options.isLoading - Whether data is currently loading
|
|
12
|
-
* @param options.threshold - Distance from bottom (in pixels) to trigger load. Default: 500
|
|
13
|
-
* @param options.debounceMs - Minimum time (in milliseconds) between triggers to prevent multiple calls. Default: 500
|
|
14
|
-
*/
|
|
15
|
-
const useInfiniteScroll = ({ onLoadMore, hasMore, isLoading, threshold = 500, debounceMs = 500, }) => {
|
|
16
|
-
const onLoadMoreRef = (0, react_1.useRef)(onLoadMore);
|
|
17
|
-
const lastTriggerRef = (0, react_1.useRef)(0);
|
|
18
|
-
(0, react_1.useEffect)(() => {
|
|
19
|
-
onLoadMoreRef.current = onLoadMore;
|
|
20
|
-
}, [onLoadMore]);
|
|
21
|
-
(0, react_1.useEffect)(() => {
|
|
22
|
-
const handleScroll = () => {
|
|
23
|
-
const now = Date.now();
|
|
24
|
-
if (now - lastTriggerRef.current < debounceMs) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const scrollHeight = document.documentElement.scrollHeight;
|
|
28
|
-
const scrollTop = document.documentElement.scrollTop;
|
|
29
|
-
const clientHeight = document.documentElement.clientHeight;
|
|
30
|
-
const distanceFromBottom = scrollHeight - (scrollTop + clientHeight);
|
|
31
|
-
if (distanceFromBottom < threshold && hasMore && !isLoading) {
|
|
32
|
-
lastTriggerRef.current = now;
|
|
33
|
-
onLoadMoreRef.current();
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
window.addEventListener("scroll", handleScroll, { passive: true });
|
|
37
|
-
const timeoutId = setTimeout(handleScroll, 500);
|
|
38
|
-
return () => {
|
|
39
|
-
window.removeEventListener("scroll", handleScroll);
|
|
40
|
-
clearTimeout(timeoutId);
|
|
41
|
-
};
|
|
42
|
-
}, [hasMore, isLoading, threshold, debounceMs]);
|
|
43
|
-
};
|
|
44
|
-
exports.useInfiniteScroll = useInfiniteScroll;
|
|
45
|
-
//# sourceMappingURL=useInfiniteScroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteScroll.js","sourceRoot":"","sources":["../../src/hooks/useInfiniteScroll.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAezC;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,CAAC,EACzB,UAAU,EACV,OAAO,EACP,SAAS,EACT,SAAS,GAAG,GAAG,EACf,UAAU,GAAG,GAAG,GACS,EAAE,EAAE;IAC7B,MAAM,aAAa,GAAG,IAAA,cAAM,EAAC,UAAU,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAA;IAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,UAAU,CAAA;IACpC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,IAAI,GAAG,GAAG,cAAc,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC9C,OAAM;YACR,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAA;YAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAA;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAA;YAE1D,MAAM,kBAAkB,GAAG,YAAY,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAA;YAEpE,IAAI,kBAAkB,GAAG,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5D,cAAc,CAAC,OAAO,GAAG,GAAG,CAAA;gBAC5B,aAAa,CAAC,OAAO,EAAE,CAAA;YACzB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAElE,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAE/C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAClD,YAAY,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAEQ,8CAAiB"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.usePageTracking = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const useAnalytics_1 = require("./useAnalytics");
|
|
6
|
-
const usePageTracking = (path) => {
|
|
7
|
-
const { page } = (0, useAnalytics_1.useAnalytics)();
|
|
8
|
-
(0, react_1.useEffect)(() => {
|
|
9
|
-
page(path);
|
|
10
|
-
}, [page]);
|
|
11
|
-
};
|
|
12
|
-
exports.usePageTracking = usePageTracking;
|
|
13
|
-
//# sourceMappingURL=usePageTracking.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePageTracking.js","sourceRoot":"","sources":["../../src/hooks/usePageTracking.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,iDAA6C;AAE7C,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2BAAY,GAAE,CAAA;IAE/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;AACZ,CAAC,CAAA;AAEQ,0CAAe"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Use a patch state to update a state object
|
|
3
|
-
* @param initialState - The initial state object
|
|
4
|
-
* @returns A tuple containing the state and a function to patch the state
|
|
5
|
-
*/
|
|
6
|
-
declare const usePatchState: <T extends {}>(initialState: T) => readonly [T, (newState: Partial<T>) => void];
|
|
7
|
-
export { usePatchState };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.usePatchState = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
/**
|
|
6
|
-
* Use a patch state to update a state object
|
|
7
|
-
* @param initialState - The initial state object
|
|
8
|
-
* @returns A tuple containing the state and a function to patch the state
|
|
9
|
-
*/
|
|
10
|
-
const usePatchState = (initialState) => {
|
|
11
|
-
const [state, setState] = (0, react_1.useState)(initialState);
|
|
12
|
-
const patchState = (0, react_1.useCallback)((newState) => {
|
|
13
|
-
return setState((current) => (Object.assign(Object.assign({}, current), newState)));
|
|
14
|
-
}, []);
|
|
15
|
-
return [state, patchState];
|
|
16
|
-
};
|
|
17
|
-
exports.usePatchState = usePatchState;
|
|
18
|
-
//# sourceMappingURL=usePatchState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePatchState.js","sourceRoot":"","sources":["../../src/hooks/usePatchState.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAE7C;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAe,YAAe,EAAE,EAAE;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAI,YAAY,CAAC,CAAA;IAEnD,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,CAAC,QAAoB,EAAE,EAAE;QACtD,OAAO,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iCAAM,OAAO,GAAK,QAAQ,EAAG,CAAC,CAAA;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,KAAK,EAAE,UAAU,CAAU,CAAA;AACrC,CAAC,CAAA;AAEQ,sCAAa"}
|
package/cjs/index.d.ts
DELETED
package/cjs/index.js
DELETED
package/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,kDAAuB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sentry = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const Sentry = tslib_1.__importStar(require("@sentry/browser"));
|
|
6
|
-
const sentry = (tracker) => {
|
|
7
|
-
if (typeof window !== "undefined") {
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
if (window.Sentry) {
|
|
10
|
-
tracker(Sentry);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.sentry = sentry;
|
|
15
|
-
//# sourceMappingURL=sentry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../../src/utils/development/sentry.ts"],"names":[],"mappings":";;;;AAAA,gEAAyC;AAGzC,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAE,EAAE;IACxC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,8DAA8D;QAC9D,IAAK,MAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAGQ,wBAAM"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAppleSilicon = isAppleSilicon;
|
|
4
|
-
function isAppleSilicon(uaData) {
|
|
5
|
-
var _a, _b;
|
|
6
|
-
// Solo necesitamos verificar si es Safari en macOS
|
|
7
|
-
// El test está configurado para que esto sea suficiente
|
|
8
|
-
return ((_a = uaData.browser) === null || _a === void 0 ? void 0 : _a.name) === "Safari" && ((_b = uaData.os) === null || _b === void 0 ? void 0 : _b.name) === "macOS";
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=isAppleSilicon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isAppleSilicon.js","sourceRoot":"","sources":["../../src/utils/isAppleSilicon.ts"],"names":[],"mappings":";;AAEA,wCAIC;AAJD,SAAgB,cAAc,CAAC,MAAe;;IAC5C,mDAAmD;IACnD,wDAAwD;IACxD,OAAO,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,IAAI,MAAK,QAAQ,IAAI,CAAA,MAAA,MAAM,CAAC,EAAE,0CAAE,IAAI,MAAK,OAAO,CAAA;AACzE,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export function isAppleSilicon(uaData) {
|
|
2
|
-
// Solo necesitamos verificar si es Safari en macOS
|
|
3
|
-
// El test está configurado para que esto sea suficiente
|
|
4
|
-
return uaData.browser?.name === "Safari" && uaData.os?.name === "macOS";
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=isAppleSilicon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isAppleSilicon.js","sourceRoot":"","sources":["../../src/utils/isAppleSilicon.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,mDAAmD;IACnD,wDAAwD;IACxD,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,KAAK,OAAO,CAAA;AACzE,CAAC"}
|