@shopify/shop-minis-react 0.3.2 → 0.4.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.
- package/dist/components/MinisContainer.js +11 -10
- package/dist/components/MinisContainer.js.map +1 -1
- package/dist/components/atoms/content-wrapper.js.map +1 -1
- package/dist/components/atoms/video-player.js +28 -26
- package/dist/components/atoms/video-player.js.map +1 -1
- package/dist/components/commerce/product-card.js +106 -79
- package/dist/components/commerce/product-card.js.map +1 -1
- package/dist/components/commerce/product-link.js +124 -137
- package/dist/components/commerce/product-link.js.map +1 -1
- package/dist/components/commerce/search.js +20 -20
- package/dist/components/commerce/search.js.map +1 -1
- package/dist/components/ui/sonner.js +3 -1
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/hooks/content/useContent.js +12 -18
- package/dist/hooks/content/useContent.js.map +1 -1
- package/dist/hooks/navigation/useNavigateWithTransition.js +10 -11
- package/dist/hooks/navigation/useNavigateWithTransition.js.map +1 -1
- package/dist/hooks/product/useCuratedProducts.js +9 -11
- package/dist/hooks/product/useCuratedProducts.js.map +1 -1
- package/dist/hooks/product/usePopularProducts.js +9 -11
- package/dist/hooks/product/usePopularProducts.js.map +1 -1
- package/dist/hooks/product/useProduct.js +11 -17
- package/dist/hooks/product/useProduct.js.map +1 -1
- package/dist/hooks/product/useProductList.js +10 -21
- package/dist/hooks/product/useProductList.js.map +1 -1
- package/dist/hooks/product/useProductLists.js +11 -13
- package/dist/hooks/product/useProductLists.js.map +1 -1
- package/dist/hooks/product/useProductMedia.js +12 -18
- package/dist/hooks/product/useProductMedia.js.map +1 -1
- package/dist/hooks/product/useProductSearch.js +34 -27
- package/dist/hooks/product/useProductSearch.js.map +1 -1
- package/dist/hooks/product/useProductVariants.js +11 -14
- package/dist/hooks/product/useProductVariants.js.map +1 -1
- package/dist/hooks/product/useProducts.js +12 -11
- package/dist/hooks/product/useProducts.js.map +1 -1
- package/dist/hooks/product/useRecommendedProducts.js +11 -13
- package/dist/hooks/product/useRecommendedProducts.js.map +1 -1
- package/dist/hooks/shop/useRecommendedShops.js +11 -13
- package/dist/hooks/shop/useRecommendedShops.js.map +1 -1
- package/dist/hooks/shop/useShop.js +12 -11
- package/dist/hooks/shop/useShop.js.map +1 -1
- package/dist/hooks/user/useBuyerAttributes.js +8 -10
- package/dist/hooks/user/useBuyerAttributes.js.map +1 -1
- package/dist/hooks/user/useCurrentUser.js +7 -9
- package/dist/hooks/user/useCurrentUser.js.map +1 -1
- package/dist/hooks/user/useFollowedShops.js +11 -14
- package/dist/hooks/user/useFollowedShops.js.map +1 -1
- package/dist/hooks/user/useOrders.js +7 -9
- package/dist/hooks/user/useOrders.js.map +1 -1
- package/dist/hooks/user/useRecentProducts.js +11 -13
- package/dist/hooks/user/useRecentProducts.js.map +1 -1
- package/dist/hooks/user/useRecentShops.js +10 -13
- package/dist/hooks/user/useRecentShops.js.map +1 -1
- package/dist/hooks/user/useSavedProducts.js +10 -13
- package/dist/hooks/user/useSavedProducts.js.map +1 -1
- package/dist/index.js +269 -264
- package/dist/index.js.map +1 -1
- package/dist/internal/components/product-review-stars.js +78 -0
- package/dist/internal/components/product-review-stars.js.map +1 -0
- package/dist/internal/reactQuery/MinisQueryProvider.js +11 -0
- package/dist/internal/reactQuery/MinisQueryProvider.js.map +1 -0
- package/dist/internal/reactQuery/queryClient.js +33 -0
- package/dist/internal/reactQuery/queryClient.js.map +1 -0
- package/dist/internal/reactQuery/useShopActionInfiniteQuery.js +52 -0
- package/dist/internal/reactQuery/useShopActionInfiniteQuery.js.map +1 -0
- package/dist/internal/reactQuery/useShopActionQuery.js +37 -0
- package/dist/internal/reactQuery/useShopActionQuery.js.map +1 -0
- package/dist/mocks.js +178 -107
- package/dist/mocks.js.map +1 -1
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/focusManager.js +45 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/focusManager.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js +89 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js +55 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutation.js +198 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutation.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js +99 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js +67 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js +39 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/query.js +299 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/query.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryCache.js +80 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryCache.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryClient.js +215 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryClient.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js +300 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/removable.js +25 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/removable.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/retryer.js +76 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/retryer.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/subscribable.js +21 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/subscribable.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/thenable.js +26 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/thenable.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/utils.js +176 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js +7 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js +17 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js +19 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js +21 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/suspense.js +18 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/suspense.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js +64 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js +13 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useQuery.js +9 -0
- package/dist/shop-minis-react/node_modules/.pnpm/@tanstack_react-query@5.86.0_react@19.1.0/node_modules/@tanstack/react-query/build/modern/useQuery.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/star-half.js +21 -0
- package/dist/shop-minis-react/node_modules/.pnpm/lucide-react@0.513.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/star-half.js.map +1 -0
- package/dist/shop-minis-react/node_modules/.pnpm/sonner@2.0.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/sonner/dist/index.js +4 -4
- package/dist/shop-minis-react/node_modules/.pnpm/sonner@2.0.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/sonner/dist/index.js.map +1 -1
- package/package.json +2 -7
- package/src/components/MinisContainer.tsx +6 -3
- package/src/components/atoms/content-wrapper.tsx +1 -1
- package/src/components/atoms/video-player.tsx +7 -0
- package/src/components/commerce/product-card.test.tsx +135 -0
- package/src/components/commerce/product-card.tsx +39 -5
- package/src/components/commerce/product-link.test.tsx +15 -3
- package/src/components/commerce/product-link.tsx +9 -25
- package/src/components/commerce/search.tsx +2 -2
- package/src/components/index.ts +1 -0
- package/src/components/ui/sonner.tsx +2 -2
- package/src/hooks/content/useContent.ts +6 -17
- package/src/hooks/navigation/useNavigateWithTransition.test.ts +46 -7
- package/src/hooks/navigation/useNavigateWithTransition.ts +4 -1
- package/src/hooks/product/useCuratedProducts.ts +4 -6
- package/src/hooks/product/usePopularProducts.ts +4 -6
- package/src/hooks/product/useProduct.ts +6 -17
- package/src/hooks/product/useProductList.ts +4 -19
- package/src/hooks/product/useProductLists.ts +4 -6
- package/src/hooks/product/useProductMedia.ts +6 -17
- package/src/hooks/product/useProductSearch.ts +19 -15
- package/src/hooks/product/useProductVariants.ts +5 -13
- package/src/hooks/product/useProducts.ts +8 -12
- package/src/hooks/product/useRecommendedProducts.ts +4 -6
- package/src/hooks/shop/useRecommendedShops.ts +4 -6
- package/src/hooks/shop/useShop.ts +8 -12
- package/src/hooks/user/useBuyerAttributes.ts +4 -6
- package/src/hooks/user/useCurrentUser.ts +4 -6
- package/src/hooks/user/useFollowedShops.ts +5 -13
- package/src/hooks/user/useOrders.ts +4 -6
- package/src/hooks/user/useRecentProducts.ts +4 -6
- package/src/hooks/user/useRecentShops.ts +5 -13
- package/src/hooks/user/useSavedProducts.ts +5 -13
- package/src/internal/components/product-review-stars.test.tsx +90 -0
- package/src/internal/components/product-review-stars.tsx +113 -0
- package/src/internal/reactQuery/MinisQueryProvider.test.tsx +38 -0
- package/src/internal/reactQuery/MinisQueryProvider.tsx +16 -0
- package/src/internal/reactQuery/index.ts +8 -0
- package/src/internal/reactQuery/queryClient.test.tsx +91 -0
- package/src/internal/reactQuery/queryClient.ts +43 -0
- package/src/internal/reactQuery/useShopActionInfiniteQuery.test.tsx +357 -0
- package/src/internal/reactQuery/useShopActionInfiniteQuery.ts +129 -0
- package/src/internal/reactQuery/useShopActionQuery.test.tsx +184 -0
- package/src/internal/reactQuery/useShopActionQuery.ts +74 -0
- package/src/mocks.ts +10 -2
- package/src/providers/ImagePickerProvider.test.tsx +3 -9
- package/dist/internal/useShopActionsDataFetching.js +0 -79
- package/dist/internal/useShopActionsDataFetching.js.map +0 -1
- package/dist/internal/useShopActionsPaginatedDataFetching.js +0 -96
- package/dist/internal/useShopActionsPaginatedDataFetching.js.map +0 -1
- package/src/hooks/product/useProductSearch.test.ts +0 -470
- package/src/internal/useShopActionsDataFetching.test.ts +0 -465
- package/src/internal/useShopActionsDataFetching.ts +0 -150
- package/src/internal/useShopActionsPaginatedDataFetching.ts +0 -188
- package/src/stories/Accordion.stories.tsx +0 -124
- package/src/stories/AddToCart.stories.tsx +0 -251
- package/src/stories/Alert.stories.tsx +0 -38
- package/src/stories/AlertDialog.stories.tsx +0 -48
- package/src/stories/Avatar.stories.tsx +0 -29
- package/src/stories/Badge.stories.tsx +0 -46
- package/src/stories/Button.stories.tsx +0 -81
- package/src/stories/Card.stories.tsx +0 -40
- package/src/stories/Checkbox.stories.tsx +0 -44
- package/src/stories/FavoriteButton.stories.tsx +0 -58
- package/src/stories/IconButton.stories.tsx +0 -68
- package/src/stories/ImageContentWrapper.stories.tsx +0 -65
- package/src/stories/Input.stories.tsx +0 -44
- package/src/stories/Label.stories.tsx +0 -19
- package/src/stories/List.stories.tsx +0 -64
- package/src/stories/MerchantCard.stories.tsx +0 -127
- package/src/stories/ProductCard.stories.tsx +0 -92
- package/src/stories/ProductLink.stories.tsx +0 -46
- package/src/stories/ProductVariantPrice.stories.tsx +0 -70
- package/src/stories/Progress.stories.tsx +0 -30
- package/src/stories/PullToRefreshList.stories.tsx +0 -122
- package/src/stories/QuantitySelector.stories.tsx +0 -78
- package/src/stories/RadioGroup.stories.tsx +0 -51
- package/src/stories/Search.stories.tsx +0 -37
- package/src/stories/Select.stories.tsx +0 -85
- package/src/stories/Skeleton.stories.tsx +0 -19
- package/src/stories/TextInput.stories.tsx +0 -26
- package/src/stories/Toaster.stories.tsx +0 -46
- package/src/stories/Touchable.stories.tsx +0 -40
- package/src/stories/VideoPlayer.stories.tsx +0 -129
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ensureQueryFn as K, addToStart as Q, addToEnd as k } from "./utils.js";
|
|
2
|
+
function O(a) {
|
|
3
|
+
return {
|
|
4
|
+
onFetch: (e, t) => {
|
|
5
|
+
const s = e.options, c = e.fetchOptions?.meta?.fetchMore?.direction, u = e.state.data?.pages || [], f = e.state.data?.pageParams || [];
|
|
6
|
+
let i = { pages: [], pageParams: [] }, l = 0;
|
|
7
|
+
const d = async () => {
|
|
8
|
+
let g = !1;
|
|
9
|
+
const b = (r) => {
|
|
10
|
+
Object.defineProperty(r, "signal", {
|
|
11
|
+
enumerable: !0,
|
|
12
|
+
get: () => (e.signal.aborted ? g = !0 : e.signal.addEventListener("abort", () => {
|
|
13
|
+
g = !0;
|
|
14
|
+
}), e.signal)
|
|
15
|
+
});
|
|
16
|
+
}, q = K(e.options, e.fetchOptions), m = async (r, n, o) => {
|
|
17
|
+
if (g)
|
|
18
|
+
return Promise.reject();
|
|
19
|
+
if (n == null && r.pages.length)
|
|
20
|
+
return Promise.resolve(r);
|
|
21
|
+
const w = (() => {
|
|
22
|
+
const F = {
|
|
23
|
+
client: e.client,
|
|
24
|
+
queryKey: e.queryKey,
|
|
25
|
+
pageParam: n,
|
|
26
|
+
direction: o ? "backward" : "forward",
|
|
27
|
+
meta: e.options.meta
|
|
28
|
+
};
|
|
29
|
+
return b(F), F;
|
|
30
|
+
})(), C = await q(w), { maxPages: y } = e.options, h = o ? Q : k;
|
|
31
|
+
return {
|
|
32
|
+
pages: h(r.pages, C, y),
|
|
33
|
+
pageParams: h(r.pageParams, n, y)
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
if (c && u.length) {
|
|
37
|
+
const r = c === "backward", n = r ? v : P, o = {
|
|
38
|
+
pages: u,
|
|
39
|
+
pageParams: f
|
|
40
|
+
}, p = n(s, o);
|
|
41
|
+
i = await m(o, p, r);
|
|
42
|
+
} else {
|
|
43
|
+
const r = a ?? u.length;
|
|
44
|
+
do {
|
|
45
|
+
const n = l === 0 ? f[0] ?? s.initialPageParam : P(s, i);
|
|
46
|
+
if (l > 0 && n == null)
|
|
47
|
+
break;
|
|
48
|
+
i = await m(i, n), l++;
|
|
49
|
+
} while (l < r);
|
|
50
|
+
}
|
|
51
|
+
return i;
|
|
52
|
+
};
|
|
53
|
+
e.options.persister ? e.fetchFn = () => e.options.persister?.(
|
|
54
|
+
d,
|
|
55
|
+
{
|
|
56
|
+
client: e.client,
|
|
57
|
+
queryKey: e.queryKey,
|
|
58
|
+
meta: e.options.meta,
|
|
59
|
+
signal: e.signal
|
|
60
|
+
},
|
|
61
|
+
t
|
|
62
|
+
) : e.fetchFn = d;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function P(a, { pages: e, pageParams: t }) {
|
|
67
|
+
const s = e.length - 1;
|
|
68
|
+
return e.length > 0 ? a.getNextPageParam(
|
|
69
|
+
e[s],
|
|
70
|
+
e,
|
|
71
|
+
t[s],
|
|
72
|
+
t
|
|
73
|
+
) : void 0;
|
|
74
|
+
}
|
|
75
|
+
function v(a, { pages: e, pageParams: t }) {
|
|
76
|
+
return e.length > 0 ? a.getPreviousPageParam?.(e[0], e, t[0], t) : void 0;
|
|
77
|
+
}
|
|
78
|
+
function T(a, e) {
|
|
79
|
+
return e ? P(a, e) != null : !1;
|
|
80
|
+
}
|
|
81
|
+
function j(a, e) {
|
|
82
|
+
return !e || !a.getPreviousPageParam ? !1 : v(a, e) != null;
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
T as hasNextPage,
|
|
86
|
+
j as hasPreviousPage,
|
|
87
|
+
O as infiniteQueryBehavior
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=infiniteQueryBehavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infiniteQueryBehavior.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"],"sourcesContent":["// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map"],"names":["infiniteQueryBehavior","pages","context","query","options","direction","oldPages","oldPageParams","result","currentPage","fetchFn","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","data","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","addToStart","addToEnd","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { QueryObserver as d } from "./queryObserver.js";
|
|
2
|
+
import { infiniteQueryBehavior as u, hasPreviousPage as v, hasNextPage as b } from "./infiniteQueryBehavior.js";
|
|
3
|
+
var R = class extends d {
|
|
4
|
+
constructor(e, t) {
|
|
5
|
+
super(e, t);
|
|
6
|
+
}
|
|
7
|
+
bindMethods() {
|
|
8
|
+
super.bindMethods(), this.fetchNextPage = this.fetchNextPage.bind(this), this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
|
|
9
|
+
}
|
|
10
|
+
setOptions(e) {
|
|
11
|
+
super.setOptions({
|
|
12
|
+
...e,
|
|
13
|
+
behavior: u()
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
getOptimisticResult(e) {
|
|
17
|
+
return e.behavior = u(), super.getOptimisticResult(e);
|
|
18
|
+
}
|
|
19
|
+
fetchNextPage(e) {
|
|
20
|
+
return this.fetch({
|
|
21
|
+
...e,
|
|
22
|
+
meta: {
|
|
23
|
+
fetchMore: { direction: "forward" }
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
fetchPreviousPage(e) {
|
|
28
|
+
return this.fetch({
|
|
29
|
+
...e,
|
|
30
|
+
meta: {
|
|
31
|
+
fetchMore: { direction: "backward" }
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
createResult(e, t) {
|
|
36
|
+
const { state: s } = e, i = super.createResult(e, t), { isFetching: c, isRefetching: P, isError: a, isRefetchError: g } = i, r = s.fetchMeta?.fetchMore?.direction, h = a && r === "forward", o = c && r === "forward", n = a && r === "backward", f = c && r === "backward";
|
|
37
|
+
return {
|
|
38
|
+
...i,
|
|
39
|
+
fetchNextPage: this.fetchNextPage,
|
|
40
|
+
fetchPreviousPage: this.fetchPreviousPage,
|
|
41
|
+
hasNextPage: b(t, s.data),
|
|
42
|
+
hasPreviousPage: v(t, s.data),
|
|
43
|
+
isFetchNextPageError: h,
|
|
44
|
+
isFetchingNextPage: o,
|
|
45
|
+
isFetchPreviousPageError: n,
|
|
46
|
+
isFetchingPreviousPage: f,
|
|
47
|
+
isRefetchError: g && !h && !n,
|
|
48
|
+
isRefetching: P && !o && !f
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export {
|
|
53
|
+
R as InfiniteQueryObserver
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=infiniteQueryObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infiniteQueryObserver.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js"],"sourcesContent":["// src/infiniteQueryObserver.ts\nimport { QueryObserver } from \"./queryObserver.js\";\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n} from \"./infiniteQueryBehavior.js\";\nvar InfiniteQueryObserver = class extends QueryObserver {\n constructor(client, options) {\n super(client, options);\n }\n bindMethods() {\n super.bindMethods();\n this.fetchNextPage = this.fetchNextPage.bind(this);\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this);\n }\n setOptions(options) {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior()\n });\n }\n getOptimisticResult(options) {\n options.behavior = infiniteQueryBehavior();\n return super.getOptimisticResult(options);\n }\n fetchNextPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"forward\" }\n }\n });\n }\n fetchPreviousPage(options) {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: \"backward\" }\n }\n });\n }\n createResult(query, options) {\n const { state } = query;\n const parentResult = super.createResult(query, options);\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult;\n const fetchDirection = state.fetchMeta?.fetchMore?.direction;\n const isFetchNextPageError = isError && fetchDirection === \"forward\";\n const isFetchingNextPage = isFetching && fetchDirection === \"forward\";\n const isFetchPreviousPageError = isError && fetchDirection === \"backward\";\n const isFetchingPreviousPage = isFetching && fetchDirection === \"backward\";\n const result = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage\n };\n return result;\n }\n};\nexport {\n InfiniteQueryObserver\n};\n//# sourceMappingURL=infiniteQueryObserver.js.map"],"names":["InfiniteQueryObserver","QueryObserver","client","options","infiniteQueryBehavior","query","state","parentResult","isFetching","isRefetching","isError","isRefetchError","fetchDirection","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","hasNextPage","hasPreviousPage"],"mappings":";;AAOG,IAACA,IAAwB,cAAcC,EAAc;AAAA,EACtD,YAAYC,GAAQC,GAAS;AAC3B,UAAMD,GAAQC,CAAO;AAAA,EACzB;AAAA,EACE,cAAc;AACZ,UAAM,YAAa,GACnB,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,oBAAoB,KAAK,kBAAkB,KAAK,IAAI;AAAA,EAC7D;AAAA,EACE,WAAWA,GAAS;AAClB,UAAM,WAAW;AAAA,MACf,GAAGA;AAAA,MACH,UAAUC,EAAqB;AAAA,IACrC,CAAK;AAAA,EACL;AAAA,EACE,oBAAoBD,GAAS;AAC3B,WAAAA,EAAQ,WAAWC,EAAuB,GACnC,MAAM,oBAAoBD,CAAO;AAAA,EAC5C;AAAA,EACE,cAAcA,GAAS;AACrB,WAAO,KAAK,MAAM;AAAA,MAChB,GAAGA;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,UAAS;AAAA,MACzC;AAAA,IACA,CAAK;AAAA,EACL;AAAA,EACE,kBAAkBA,GAAS;AACzB,WAAO,KAAK,MAAM;AAAA,MAChB,GAAGA;AAAA,MACH,MAAM;AAAA,QACJ,WAAW,EAAE,WAAW,WAAU;AAAA,MAC1C;AAAA,IACA,CAAK;AAAA,EACL;AAAA,EACE,aAAaE,GAAOF,GAAS;AAC3B,UAAM,EAAE,OAAAG,EAAK,IAAKD,GACZE,IAAe,MAAM,aAAaF,GAAOF,CAAO,GAChD,EAAE,YAAAK,GAAY,cAAAC,GAAc,SAAAC,GAAS,gBAAAC,EAAgB,IAAGJ,GACxDK,IAAiBN,EAAM,WAAW,WAAW,WAC7CO,IAAuBH,KAAWE,MAAmB,WACrDE,IAAqBN,KAAcI,MAAmB,WACtDG,IAA2BL,KAAWE,MAAmB,YACzDI,IAAyBR,KAAcI,MAAmB;AAchE,WAbe;AAAA,MACb,GAAGL;AAAA,MACH,eAAe,KAAK;AAAA,MACpB,mBAAmB,KAAK;AAAA,MACxB,aAAaU,EAAYd,GAASG,EAAM,IAAI;AAAA,MAC5C,iBAAiBY,EAAgBf,GAASG,EAAM,IAAI;AAAA,MACpD,sBAAAO;AAAA,MACA,oBAAAC;AAAA,MACA,0BAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,gBAAgBL,KAAkB,CAACE,KAAwB,CAACE;AAAA,MAC5D,cAAcN,KAAgB,CAACK,KAAsB,CAACE;AAAA,IACvD;AAAA,EAEL;AACA;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { notifyManager as r } from "./notifyManager.js";
|
|
2
|
+
import { Removable as a } from "./removable.js";
|
|
3
|
+
import { createRetryer as u } from "./retryer.js";
|
|
4
|
+
var p = class extends a {
|
|
5
|
+
#e;
|
|
6
|
+
#t;
|
|
7
|
+
#i;
|
|
8
|
+
constructor(t) {
|
|
9
|
+
super(), this.mutationId = t.mutationId, this.#t = t.mutationCache, this.#e = [], this.state = t.state || h(), this.setOptions(t.options), this.scheduleGc();
|
|
10
|
+
}
|
|
11
|
+
setOptions(t) {
|
|
12
|
+
this.options = t, this.updateGcTime(this.options.gcTime);
|
|
13
|
+
}
|
|
14
|
+
get meta() {
|
|
15
|
+
return this.options.meta;
|
|
16
|
+
}
|
|
17
|
+
addObserver(t) {
|
|
18
|
+
this.#e.includes(t) || (this.#e.push(t), this.clearGcTimeout(), this.#t.notify({
|
|
19
|
+
type: "observerAdded",
|
|
20
|
+
mutation: this,
|
|
21
|
+
observer: t
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
removeObserver(t) {
|
|
25
|
+
this.#e = this.#e.filter((i) => i !== t), this.scheduleGc(), this.#t.notify({
|
|
26
|
+
type: "observerRemoved",
|
|
27
|
+
mutation: this,
|
|
28
|
+
observer: t
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
optionalRemove() {
|
|
32
|
+
this.#e.length || (this.state.status === "pending" ? this.scheduleGc() : this.#t.remove(this));
|
|
33
|
+
}
|
|
34
|
+
continue() {
|
|
35
|
+
return this.#i?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before
|
|
36
|
+
this.execute(this.state.variables);
|
|
37
|
+
}
|
|
38
|
+
async execute(t) {
|
|
39
|
+
const i = () => {
|
|
40
|
+
this.#s({ type: "continue" });
|
|
41
|
+
};
|
|
42
|
+
this.#i = u({
|
|
43
|
+
fn: () => this.options.mutationFn ? this.options.mutationFn(t) : Promise.reject(new Error("No mutationFn found")),
|
|
44
|
+
onFail: (e, o) => {
|
|
45
|
+
this.#s({ type: "failed", failureCount: e, error: o });
|
|
46
|
+
},
|
|
47
|
+
onPause: () => {
|
|
48
|
+
this.#s({ type: "pause" });
|
|
49
|
+
},
|
|
50
|
+
onContinue: i,
|
|
51
|
+
retry: this.options.retry ?? 0,
|
|
52
|
+
retryDelay: this.options.retryDelay,
|
|
53
|
+
networkMode: this.options.networkMode,
|
|
54
|
+
canRun: () => this.#t.canRun(this)
|
|
55
|
+
});
|
|
56
|
+
const s = this.state.status === "pending", n = !this.#i.canStart();
|
|
57
|
+
try {
|
|
58
|
+
if (s)
|
|
59
|
+
i();
|
|
60
|
+
else {
|
|
61
|
+
this.#s({ type: "pending", variables: t, isPaused: n }), await this.#t.config.onMutate?.(
|
|
62
|
+
t,
|
|
63
|
+
this
|
|
64
|
+
);
|
|
65
|
+
const o = await this.options.onMutate?.(t);
|
|
66
|
+
o !== this.state.context && this.#s({
|
|
67
|
+
type: "pending",
|
|
68
|
+
context: o,
|
|
69
|
+
variables: t,
|
|
70
|
+
isPaused: n
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const e = await this.#i.start();
|
|
74
|
+
return await this.#t.config.onSuccess?.(
|
|
75
|
+
e,
|
|
76
|
+
t,
|
|
77
|
+
this.state.context,
|
|
78
|
+
this
|
|
79
|
+
), await this.options.onSuccess?.(e, t, this.state.context), await this.#t.config.onSettled?.(
|
|
80
|
+
e,
|
|
81
|
+
null,
|
|
82
|
+
this.state.variables,
|
|
83
|
+
this.state.context,
|
|
84
|
+
this
|
|
85
|
+
), await this.options.onSettled?.(e, null, t, this.state.context), this.#s({ type: "success", data: e }), e;
|
|
86
|
+
} catch (e) {
|
|
87
|
+
try {
|
|
88
|
+
throw await this.#t.config.onError?.(
|
|
89
|
+
e,
|
|
90
|
+
t,
|
|
91
|
+
this.state.context,
|
|
92
|
+
this
|
|
93
|
+
), await this.options.onError?.(
|
|
94
|
+
e,
|
|
95
|
+
t,
|
|
96
|
+
this.state.context
|
|
97
|
+
), await this.#t.config.onSettled?.(
|
|
98
|
+
void 0,
|
|
99
|
+
e,
|
|
100
|
+
this.state.variables,
|
|
101
|
+
this.state.context,
|
|
102
|
+
this
|
|
103
|
+
), await this.options.onSettled?.(
|
|
104
|
+
void 0,
|
|
105
|
+
e,
|
|
106
|
+
t,
|
|
107
|
+
this.state.context
|
|
108
|
+
), e;
|
|
109
|
+
} finally {
|
|
110
|
+
this.#s({ type: "error", error: e });
|
|
111
|
+
}
|
|
112
|
+
} finally {
|
|
113
|
+
this.#t.runNext(this);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
#s(t) {
|
|
117
|
+
const i = (s) => {
|
|
118
|
+
switch (t.type) {
|
|
119
|
+
case "failed":
|
|
120
|
+
return {
|
|
121
|
+
...s,
|
|
122
|
+
failureCount: t.failureCount,
|
|
123
|
+
failureReason: t.error
|
|
124
|
+
};
|
|
125
|
+
case "pause":
|
|
126
|
+
return {
|
|
127
|
+
...s,
|
|
128
|
+
isPaused: !0
|
|
129
|
+
};
|
|
130
|
+
case "continue":
|
|
131
|
+
return {
|
|
132
|
+
...s,
|
|
133
|
+
isPaused: !1
|
|
134
|
+
};
|
|
135
|
+
case "pending":
|
|
136
|
+
return {
|
|
137
|
+
...s,
|
|
138
|
+
context: t.context,
|
|
139
|
+
data: void 0,
|
|
140
|
+
failureCount: 0,
|
|
141
|
+
failureReason: null,
|
|
142
|
+
error: null,
|
|
143
|
+
isPaused: t.isPaused,
|
|
144
|
+
status: "pending",
|
|
145
|
+
variables: t.variables,
|
|
146
|
+
submittedAt: Date.now()
|
|
147
|
+
};
|
|
148
|
+
case "success":
|
|
149
|
+
return {
|
|
150
|
+
...s,
|
|
151
|
+
data: t.data,
|
|
152
|
+
failureCount: 0,
|
|
153
|
+
failureReason: null,
|
|
154
|
+
error: null,
|
|
155
|
+
status: "success",
|
|
156
|
+
isPaused: !1
|
|
157
|
+
};
|
|
158
|
+
case "error":
|
|
159
|
+
return {
|
|
160
|
+
...s,
|
|
161
|
+
data: void 0,
|
|
162
|
+
error: t.error,
|
|
163
|
+
failureCount: s.failureCount + 1,
|
|
164
|
+
failureReason: t.error,
|
|
165
|
+
isPaused: !1,
|
|
166
|
+
status: "error"
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
this.state = i(this.state), r.batch(() => {
|
|
171
|
+
this.#e.forEach((s) => {
|
|
172
|
+
s.onMutationUpdate(t);
|
|
173
|
+
}), this.#t.notify({
|
|
174
|
+
mutation: this,
|
|
175
|
+
type: "updated",
|
|
176
|
+
action: t
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
function h() {
|
|
182
|
+
return {
|
|
183
|
+
context: void 0,
|
|
184
|
+
data: void 0,
|
|
185
|
+
error: null,
|
|
186
|
+
failureCount: 0,
|
|
187
|
+
failureReason: null,
|
|
188
|
+
isPaused: !1,
|
|
189
|
+
status: "idle",
|
|
190
|
+
variables: void 0,
|
|
191
|
+
submittedAt: 0
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
export {
|
|
195
|
+
p as Mutation,
|
|
196
|
+
h as getDefaultState
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutation.js"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map"],"names":["Mutation","Removable","#observers","#mutationCache","#retryer","config","getDefaultState","options","observer","x","variables","onContinue","#dispatch","createRetryer","failureCount","error","restored","isPaused","context","data","action","reducer","state","notifyManager"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { notifyManager as n } from "./notifyManager.js";
|
|
2
|
+
import { Mutation as a } from "./mutation.js";
|
|
3
|
+
import { matchMutation as r, noop as f } from "./utils.js";
|
|
4
|
+
import { Subscribable as u } from "./subscribable.js";
|
|
5
|
+
var g = class extends u {
|
|
6
|
+
constructor(t = {}) {
|
|
7
|
+
super(), this.config = t, this.#e = /* @__PURE__ */ new Set(), this.#t = /* @__PURE__ */ new Map(), this.#s = 0;
|
|
8
|
+
}
|
|
9
|
+
#e;
|
|
10
|
+
#t;
|
|
11
|
+
#s;
|
|
12
|
+
build(t, e, s) {
|
|
13
|
+
const i = new a({
|
|
14
|
+
mutationCache: this,
|
|
15
|
+
mutationId: ++this.#s,
|
|
16
|
+
options: t.defaultMutationOptions(e),
|
|
17
|
+
state: s
|
|
18
|
+
});
|
|
19
|
+
return this.add(i), i;
|
|
20
|
+
}
|
|
21
|
+
add(t) {
|
|
22
|
+
this.#e.add(t);
|
|
23
|
+
const e = o(t);
|
|
24
|
+
if (typeof e == "string") {
|
|
25
|
+
const s = this.#t.get(e);
|
|
26
|
+
s ? s.push(t) : this.#t.set(e, [t]);
|
|
27
|
+
}
|
|
28
|
+
this.notify({ type: "added", mutation: t });
|
|
29
|
+
}
|
|
30
|
+
remove(t) {
|
|
31
|
+
if (this.#e.delete(t)) {
|
|
32
|
+
const e = o(t);
|
|
33
|
+
if (typeof e == "string") {
|
|
34
|
+
const s = this.#t.get(e);
|
|
35
|
+
if (s)
|
|
36
|
+
if (s.length > 1) {
|
|
37
|
+
const i = s.indexOf(t);
|
|
38
|
+
i !== -1 && s.splice(i, 1);
|
|
39
|
+
} else s[0] === t && this.#t.delete(e);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.notify({ type: "removed", mutation: t });
|
|
43
|
+
}
|
|
44
|
+
canRun(t) {
|
|
45
|
+
const e = o(t);
|
|
46
|
+
if (typeof e == "string") {
|
|
47
|
+
const i = this.#t.get(e)?.find(
|
|
48
|
+
(c) => c.state.status === "pending"
|
|
49
|
+
);
|
|
50
|
+
return !i || i === t;
|
|
51
|
+
} else
|
|
52
|
+
return !0;
|
|
53
|
+
}
|
|
54
|
+
runNext(t) {
|
|
55
|
+
const e = o(t);
|
|
56
|
+
return typeof e == "string" ? this.#t.get(e)?.find((i) => i !== t && i.state.isPaused)?.continue() ?? Promise.resolve() : Promise.resolve();
|
|
57
|
+
}
|
|
58
|
+
clear() {
|
|
59
|
+
n.batch(() => {
|
|
60
|
+
this.#e.forEach((t) => {
|
|
61
|
+
this.notify({ type: "removed", mutation: t });
|
|
62
|
+
}), this.#e.clear(), this.#t.clear();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
getAll() {
|
|
66
|
+
return Array.from(this.#e);
|
|
67
|
+
}
|
|
68
|
+
find(t) {
|
|
69
|
+
const e = { exact: !0, ...t };
|
|
70
|
+
return this.getAll().find(
|
|
71
|
+
(s) => r(e, s)
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
findAll(t = {}) {
|
|
75
|
+
return this.getAll().filter((e) => r(t, e));
|
|
76
|
+
}
|
|
77
|
+
notify(t) {
|
|
78
|
+
n.batch(() => {
|
|
79
|
+
this.listeners.forEach((e) => {
|
|
80
|
+
e(t);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
resumePausedMutations() {
|
|
85
|
+
const t = this.getAll().filter((e) => e.state.isPaused);
|
|
86
|
+
return n.batch(
|
|
87
|
+
() => Promise.all(
|
|
88
|
+
t.map((e) => e.continue().catch(f))
|
|
89
|
+
)
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
function o(t) {
|
|
94
|
+
return t.options.scope?.id;
|
|
95
|
+
}
|
|
96
|
+
export {
|
|
97
|
+
g as MutationCache
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=mutationCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutationCache.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js"],"sourcesContent":["// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map"],"names":["MutationCache","Subscribable","config","#mutations","#scopes","#mutationId","client","options","state","mutation","Mutation","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","notifyManager","filters","defaultedFilters","matchMutation","event","listener","pausedMutations","x","noop"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var s = (n) => setTimeout(n, 0);
|
|
2
|
+
function c() {
|
|
3
|
+
let n = [], r = 0, u = (t) => {
|
|
4
|
+
t();
|
|
5
|
+
}, i = (t) => {
|
|
6
|
+
t();
|
|
7
|
+
}, l = s;
|
|
8
|
+
const o = (t) => {
|
|
9
|
+
r ? n.push(t) : l(() => {
|
|
10
|
+
u(t);
|
|
11
|
+
});
|
|
12
|
+
}, a = () => {
|
|
13
|
+
const t = n;
|
|
14
|
+
n = [], t.length && l(() => {
|
|
15
|
+
i(() => {
|
|
16
|
+
t.forEach((e) => {
|
|
17
|
+
u(e);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
return {
|
|
23
|
+
batch: (t) => {
|
|
24
|
+
let e;
|
|
25
|
+
r++;
|
|
26
|
+
try {
|
|
27
|
+
e = t();
|
|
28
|
+
} finally {
|
|
29
|
+
r--, r || a();
|
|
30
|
+
}
|
|
31
|
+
return e;
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* All calls to the wrapped function will be batched.
|
|
35
|
+
*/
|
|
36
|
+
batchCalls: (t) => (...e) => {
|
|
37
|
+
o(() => {
|
|
38
|
+
t(...e);
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
schedule: o,
|
|
42
|
+
/**
|
|
43
|
+
* Use this method to set a custom notify function.
|
|
44
|
+
* This can be used to for example wrap notifications with `React.act` while running tests.
|
|
45
|
+
*/
|
|
46
|
+
setNotifyFunction: (t) => {
|
|
47
|
+
u = t;
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Use this method to set a custom function to batch notifications together into a single tick.
|
|
51
|
+
* By default React Query will use the batch function provided by ReactDOM or React Native.
|
|
52
|
+
*/
|
|
53
|
+
setBatchNotifyFunction: (t) => {
|
|
54
|
+
i = t;
|
|
55
|
+
},
|
|
56
|
+
setScheduler: (t) => {
|
|
57
|
+
l = t;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
var f = c();
|
|
62
|
+
export {
|
|
63
|
+
c as createNotifyManager,
|
|
64
|
+
s as defaultScheduler,
|
|
65
|
+
f as notifyManager
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=notifyManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyManager.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js"],"sourcesContent":["// src/notifyManager.ts\nvar defaultScheduler = (cb) => setTimeout(cb, 0);\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map"],"names":["defaultScheduler","cb","createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","result","args","fn","notifyManager"],"mappings":"AACG,IAACA,IAAmB,CAACC,MAAO,WAAWA,GAAI,CAAC;AAC/C,SAASC,IAAsB;AAC7B,MAAIC,IAAQ,CAAE,GACVC,IAAe,GACfC,IAAW,CAACC,MAAa;AAC3B,IAAAA,EAAU;AAAA,EACX,GACGC,IAAgB,CAACD,MAAa;AAChC,IAAAA,EAAU;AAAA,EACX,GACGE,IAAaR;AACjB,QAAMS,IAAW,CAACH,MAAa;AAC7B,IAAIF,IACFD,EAAM,KAAKG,CAAQ,IAEnBE,EAAW,MAAM;AACf,MAAAH,EAASC,CAAQ;AAAA,IACzB,CAAO;AAAA,EAEJ,GACKI,IAAQ,MAAM;AAClB,UAAMC,IAAgBR;AACtB,IAAAA,IAAQ,CAAE,GACNQ,EAAc,UAChBH,EAAW,MAAM;AACf,MAAAD,EAAc,MAAM;AAClB,QAAAI,EAAc,QAAQ,CAACL,MAAa;AAClC,UAAAD,EAASC,CAAQ;AAAA,QAC7B,CAAW;AAAA,MACX,CAAS;AAAA,IACT,CAAO;AAAA,EAEJ;AACD,SAAO;AAAA,IACL,OAAO,CAACA,MAAa;AACnB,UAAIM;AACJ,MAAAR;AACA,UAAI;AACF,QAAAQ,IAASN,EAAU;AAAA,MAC3B,UAAgB;AACR,QAAAF,KACKA,KACHM,EAAO;AAAA,MAEjB;AACM,aAAOE;AAAA,IACR;AAAA;AAAA;AAAA;AAAA,IAID,YAAY,CAACN,MACJ,IAAIO,MAAS;AAClB,MAAAJ,EAAS,MAAM;AACb,QAAAH,EAAS,GAAGO,CAAI;AAAA,MAC1B,CAAS;AAAA,IACF;AAAA,IAEH,UAAAJ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,mBAAmB,CAACK,MAAO;AACzB,MAAAT,IAAWS;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKD,wBAAwB,CAACA,MAAO;AAC9B,MAAAP,IAAgBO;AAAA,IACjB;AAAA,IACD,cAAc,CAACA,MAAO;AACpB,MAAAN,IAAaM;AAAA,IACnB;AAAA,EACG;AACH;AACG,IAACC,IAAgBb,EAAmB;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Subscribable as t } from "./subscribable.js";
|
|
2
|
+
import { isServer as s } from "./utils.js";
|
|
3
|
+
var r = class extends t {
|
|
4
|
+
#n = !0;
|
|
5
|
+
#e;
|
|
6
|
+
#i;
|
|
7
|
+
constructor() {
|
|
8
|
+
super(), this.#i = (e) => {
|
|
9
|
+
if (!s && window.addEventListener) {
|
|
10
|
+
const i = () => e(!0), n = () => e(!1);
|
|
11
|
+
return window.addEventListener("online", i, !1), window.addEventListener("offline", n, !1), () => {
|
|
12
|
+
window.removeEventListener("online", i), window.removeEventListener("offline", n);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
onSubscribe() {
|
|
18
|
+
this.#e || this.setEventListener(this.#i);
|
|
19
|
+
}
|
|
20
|
+
onUnsubscribe() {
|
|
21
|
+
this.hasListeners() || (this.#e?.(), this.#e = void 0);
|
|
22
|
+
}
|
|
23
|
+
setEventListener(e) {
|
|
24
|
+
this.#i = e, this.#e?.(), this.#e = e(this.setOnline.bind(this));
|
|
25
|
+
}
|
|
26
|
+
setOnline(e) {
|
|
27
|
+
this.#n !== e && (this.#n = e, this.listeners.forEach((n) => {
|
|
28
|
+
n(e);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
isOnline() {
|
|
32
|
+
return this.#n;
|
|
33
|
+
}
|
|
34
|
+
}, a = new r();
|
|
35
|
+
export {
|
|
36
|
+
r as OnlineManager,
|
|
37
|
+
a as onlineManager
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=onlineManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onlineManager.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.86.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js"],"sourcesContent":["// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map"],"names":["OnlineManager","Subscribable","#online","#cleanup","#setup","onOnline","isServer","onlineListener","offlineListener","setup","online","listener","onlineManager"],"mappings":";;AAGG,IAACA,IAAgB,cAAcC,EAAa;AAAA,EAC7CC,KAAU;AAAA,EACVC;AAAA,EACAC;AAAA,EACA,cAAc;AACZ,UAAO,GACP,KAAKA,KAAS,CAACC,MAAa;AAC1B,UAAI,CAACC,KAAY,OAAO,kBAAkB;AACxC,cAAMC,IAAiB,MAAMF,EAAS,EAAI,GACpCG,IAAkB,MAAMH,EAAS,EAAK;AAC5C,sBAAO,iBAAiB,UAAUE,GAAgB,EAAK,GACvD,OAAO,iBAAiB,WAAWC,GAAiB,EAAK,GAClD,MAAM;AACX,iBAAO,oBAAoB,UAAUD,CAAc,GACnD,OAAO,oBAAoB,WAAWC,CAAe;AAAA,QACtD;AAAA,MACT;AAAA,IAEK;AAAA,EACL;AAAA,EACE,cAAc;AACZ,IAAK,KAAKL,MACR,KAAK,iBAAiB,KAAKC,EAAM;AAAA,EAEvC;AAAA,EACE,gBAAgB;AACd,IAAK,KAAK,mBACR,KAAKD,KAAY,GACjB,KAAKA,KAAW;AAAA,EAEtB;AAAA,EACE,iBAAiBM,GAAO;AACtB,SAAKL,KAASK,GACd,KAAKN,KAAY,GACjB,KAAKA,KAAWM,EAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AAAA,EACnD;AAAA,EACE,UAAUC,GAAQ;AAEhB,IADgB,KAAKR,OAAYQ,MAE/B,KAAKR,KAAUQ,GACf,KAAK,UAAU,QAAQ,CAACC,MAAa;AACnC,MAAAA,EAASD,CAAM;AAAA,IACvB,CAAO;AAAA,EAEP;AAAA,EACE,WAAW;AACT,WAAO,KAAKR;AAAA,EAChB;AACA,GACIU,IAAgB,IAAIZ,EAAa;","x_google_ignoreList":[0]}
|