eden2query 0.3.4 → 0.3.6

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/README.md CHANGED
@@ -67,55 +67,58 @@ const queryClient = new QueryClient();
67
67
  queryClient.prefetchQuery(getOptions);
68
68
  ```
69
69
 
70
- ### Hook builders: `createTreatyQueryHook` / `createTreatyMutationHook`
70
+ ### Hook builders: `treatyQueryHook` / `treatyMutationHook`
71
71
 
72
- Create reusable, pre-configured hooks for a Treaty endpoint. The second parameter is **`useOptions`**: either a static options object or a **function** that returns options (so you can use React hooks like `useQueryClient()` inside when the hook runs).
72
+ Create reusable, pre-configured hooks for a Treaty endpoint. The first parameter is the **Treaty function**, and the second optional parameter is **`useOptions`** — a hook that returns default options (so you can use React hooks like `useQueryClient()`).
73
73
 
74
- **Query hook** — pass the Treaty GET thunk and `useOptions` (object or function):
74
+ **Mutation hook** — pass the mutation function and optional `useOptions`:
75
75
 
76
76
  ```ts
77
- const useResource = createTreatyQueryHook(
78
- () => client.api.resource.get({ query: { q: "hello" } }),
79
- { queryKey: ["resource"] },
80
- );
77
+ function myMutationFn(variables: { name: string; q: string }) {
78
+ return client.api.resource.post(
79
+ { name: variables.name },
80
+ { query: { q: variables.q } }
81
+ );
82
+ }
83
+
84
+ const useMutationHook = treatyMutationHook(myMutationFn, () => {
85
+ const queryClient = useQueryClient();
86
+ return {
87
+ onSuccess: () => {
88
+ queryClient.invalidateQueries({ queryKey: ["resource"] });
89
+ },
90
+ };
91
+ });
81
92
 
82
93
  // In a component
83
- const { data } = useResource(); // or useResource({ refetchInterval: 1000 })
94
+ const mutationResult = useMutationHook({
95
+ onSuccess: (data, variables) => {
96
+ console.log(data, variables);
97
+ },
98
+ });
99
+ mutationResult.mutate({
100
+ name: "World",
101
+ q: "hello",
102
+ });
84
103
  ```
85
104
 
86
- **Mutation hook** — pass the Treaty mutation and optional `useOptions`. Use a function when you need React hooks (e.g. for invalidation):
105
+ **Query hook** — pass the query function and optional `useOptions` that receives the `request` and returns options including `queryKey`:
87
106
 
88
107
  ```ts
89
- // Static useOptions
90
- const usePostResource = createTreatyMutationHook(
91
- (vars: { body: { name: string } }) => client.api.resource.post(vars.body),
92
- { onSuccess: () => console.log("Success") },
93
- );
108
+ function myQueryFn(request: { q: string }) {
109
+ return client.api.resource.get({ query: { q: request.q } });
110
+ }
94
111
 
95
- // useOptions as function use React hooks inside (e.g. useQueryClient)
96
- const usePostResourceWithInvalidation = createTreatyMutationHook(
97
- (vars: { body: { name: string } }) => client.api.resource.post(vars.body),
98
- () => {
99
- const queryClient = useQueryClient();
100
- return {
101
- onSettled() {
102
- queryClient.invalidateQueries({ queryKey: ["resource"] });
103
- },
104
- };
105
- },
106
- );
112
+ const useQueryHook = treatyQueryHook(myQueryFn, (request) => ({
113
+ queryKey: ["resource", request] as const,
114
+ enabled: true,
115
+ }));
107
116
 
108
117
  // In a component
109
- const postMutation = usePostResource();
110
- postMutation.mutate({ body: { name: "World" } });
111
-
112
- const postWithInvalidation = usePostResourceWithInvalidation({
113
- onSuccess: () => console.log("Success"),
114
- });
115
- postWithInvalidation.mutate({ body: { name: "World" } });
118
+ const queryResult = useQueryHook({ q: "hello" });
116
119
  ```
117
120
 
118
- Hooks accept the same options as `useQuery` / `useMutation`; call-time options are merged with the base options from `useOptions`.
121
+ Hooks accept the same options as `useQuery` / `useMutation`; call-time options are merged with the base options from `useOptions`. Callbacks are chained: base options run first, then `useOptions` callbacks, then call-site callbacks.
119
122
 
120
123
  ## API
121
124
 
@@ -124,13 +127,13 @@ Hooks accept the same options as `useQuery` / `useMutation`; call-time options a
124
127
  **`treatyMutationOptions(fn, mutationOptions?)`** — wraps a Treaty mutation into `mutationOptions`. Two shapes:
125
128
 
126
129
  - **No-arg:** `fn` is `() => Promise<...>`. Use when the mutation has no call-time input (e.g. DELETE with fixed path params). `mutate()` is called with no arguments.
127
- - **With variables:** `fn` is `(vars) => Promise<...>`. Use for POST/PUT etc. `mutate(vars)` receives a single object (e.g. `{ body, query }` or the Treaty methods first argument). You can pass the Treaty method directly when its signature matches (e.g. `client.api.resource({ id }).put`).
130
+ - **With variables:** `fn` is `(vars) => Promise<...>`. Use for POST/PUT etc. `mutate(vars)` receives a single object (e.g. `{ body, query }` or the Treaty method's first argument). You can pass the Treaty method directly when its signature matches (e.g. `client.api.resource({ id }).put`).
128
131
 
129
132
  The optional second argument accepts all `mutationOptions` fields except `mutationFn` (e.g. `onSuccess`, `onSettled`, `onMutate`).
130
133
 
131
- **`createTreatyQueryHook(fn, useOptions)`** — returns a hook that wraps `useQuery` with the given Treaty GET thunk. **`useOptions`** is either a query options object (e.g. `{ queryKey: [...] }`) or a function that returns options; the function is called when the hook runs, so you can use React hooks (e.g. `useQueryClient()`) inside it. The returned hook accepts the same options as `useQuery`; call-time options are merged with the base options.
134
+ **`treatyMutationHook(mutationFn, useOptions?)`** — returns a hook that wraps `useMutation` with the given Treaty mutation function. **`mutationFn`** is the Treaty mutation function (e.g. `myMutationFn`). **`useOptions`** is optional; it's a hook that returns default mutation options (so you can use `useQueryClient()` for invalidation). The returned hook accepts the same options as `useMutation`; callbacks are chained (base `useOptions` → call-site).
132
135
 
133
- **`createTreatyMutationHook(fn, useOptions?)`** — returns a hook that wraps `useMutation` with the given Treaty mutation. Same fn shapes as `treatyMutationOptions` (no-arg or with variables). **`useOptions`** is optional; it can be a mutation options object or a function that returns options (so you can use `useQueryClient()` etc. for invalidation). The returned hook accepts the same options as `useMutation`.
136
+ **`treatyQueryHook(queryFn, useOptions?)`** — returns a hook that wraps `useQuery` with the given Treaty query function. **`queryFn`** is the Treaty query function (e.g. `myQueryFn`). **`useOptions`** is optional; it's a function `(request) => ...` that receives the query request and returns default query options including `queryKey` (so you can use React hooks like `useQueryClient()`). The returned hook is called with `(request, options?)`; callbacks are chained (base → `useOptions` → call-site).
134
137
 
135
138
  **`InferTreatyQueryOptions<T>`** — full `UseQueryOptions` type for a given Treaty query.
136
139
 
package/dist/index.d.ts CHANGED
@@ -1,38 +1,48 @@
1
1
  import { Treaty } from "@elysiajs/eden";
2
- import { UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
3
- type TreatyResponse = Record<number, unknown>;
4
- type TreatyFunctionWithoutParams<TResponse extends TreatyResponse = TreatyResponse> = () => Promise<Treaty.TreatyResponse<TResponse>>;
5
- type TreatyFunctionWithParams<
6
- TParams,
7
- TResponse extends TreatyResponse
8
- > = (params: TParams) => Promise<Treaty.TreatyResponse<TResponse>>;
9
- type TreatyData<TResponse extends TreatyResponse> = Treaty.TreatyResponse<TResponse>["data"];
10
- type TreatyError<TResponse extends TreatyResponse> = Treaty.TreatyResponse<TResponse>["error"];
11
- type TreatyMutationOptions<
12
- TVariables,
13
- TResponse extends TreatyResponse
14
- > = UseMutationOptions<TreatyData<TResponse>, TreatyError<TResponse>, TVariables>;
15
- type UseTreatyMutationResult<
16
- TVariables,
17
- TResponse extends TreatyResponse
18
- > = (UseMutationResult<TreatyData<TResponse>, TreatyError<TResponse>, TVariables>);
19
- type UseTreatyQueryResult<TResponse extends TreatyResponse> = (UseQueryResult<TreatyData<TResponse>, TreatyError<TResponse>>);
20
- type TreatyQueryOptions<TResponse extends Record<number, unknown>> = UseQueryOptions<TreatyData<TResponse>, TreatyError<TResponse>>;
21
- type UseTreatyMutationHook<
22
- TVariables,
23
- TResponse extends TreatyResponse
24
- > = ((options: Partial<Omit<TreatyMutationOptions<TVariables, TResponse>, "mutationFn">>) => UseTreatyMutationResult<TVariables, TResponse>);
25
- type UseTreatyQueryHook<TResponse extends TreatyResponse> = ((options: Partial<Omit<TreatyQueryOptions<TResponse>, "queryFn">>) => UseTreatyQueryResult<TResponse>);
26
- declare function treatyMutationOptions<TResponse extends TreatyResponse>(fn: TreatyFunctionWithoutParams<TResponse>, options?: Omit<TreatyMutationOptions<void, TResponse>, "mutationFn">): TreatyMutationOptions<void, TResponse>;
27
- declare function treatyMutationOptions<
28
- TVariables,
29
- TResponse extends TreatyResponse
30
- >(fn: TreatyFunctionWithParams<TVariables, TResponse>, options?: Omit<TreatyMutationOptions<TVariables, TResponse>, "mutationFn">): TreatyMutationOptions<TVariables, TResponse>;
31
- declare function treatyQueryOptions<TResponse extends TreatyResponse = TreatyResponse>(fn: TreatyFunctionWithoutParams<TResponse>, options: Omit<TreatyQueryOptions<TResponse>, "queryFn">): TreatyQueryOptions<TResponse>;
32
- declare function createTreatyMutationHook<TResponse extends TreatyResponse>(fn: TreatyFunctionWithoutParams<TResponse>, useOptions?: (Omit<TreatyMutationOptions<void, TResponse>, "mutationFn"> | (() => Omit<TreatyMutationOptions<void, TResponse>, "mutationFn">))): UseTreatyMutationHook<void, TResponse>;
33
- declare function createTreatyMutationHook<
34
- TVariables,
35
- TResponse extends TreatyResponse
36
- >(fn: TreatyFunctionWithParams<TVariables, TResponse>, useOptions?: (Omit<TreatyMutationOptions<TVariables, TResponse>, "mutationFn"> | (() => Omit<TreatyMutationOptions<TVariables, TResponse>, "mutationFn">))): UseTreatyMutationHook<TVariables, TResponse>;
37
- declare function createTreatyQueryHook<TResponse extends TreatyResponse>(fn: TreatyFunctionWithoutParams<TResponse>, useOptions: (Omit<TreatyQueryOptions<TResponse>, "queryFn"> | (() => Omit<TreatyQueryOptions<TResponse>, "queryFn">))): UseTreatyQueryHook<TResponse>;
38
- export { treatyQueryOptions, treatyMutationOptions, createTreatyQueryHook, createTreatyMutationHook, UseTreatyQueryHook, UseTreatyMutationHook, TreatyQueryOptions, TreatyMutationOptions, TreatyError, TreatyData };
2
+ import { QueryKey, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
3
+ type TreatyFunction = (...request: any[]) => Promise<Treaty.TreatyResponse<Record<number, unknown>>>;
4
+ type InferTreatyData<TFn extends TreatyFunction> = Awaited<ReturnType<TFn>>["data"];
5
+ type InferTreatyError<TFn extends TreatyFunction> = Awaited<ReturnType<TFn>>["error"];
6
+ type InferTreatyRequest<TFn extends TreatyFunction> = Parameters<TFn>[0];
7
+ type InferTreatyMutationOptions<TFn extends TreatyFunction> = UseMutationOptions<InferTreatyData<TFn>, InferTreatyError<TFn>, InferTreatyRequest<TFn>>;
8
+ type InferTreatyQueryOptions<
9
+ TFn extends TreatyFunction,
10
+ TQueryKey extends QueryKey = unknown[]
11
+ > = UseQueryOptions<InferTreatyData<TFn>, InferTreatyError<TFn>, InferTreatyData<TFn>, TQueryKey>;
12
+ declare function treatyMutationOptions<TFn extends TreatyFunction>(options: {
13
+ mutationFn: TFn;
14
+ } & Omit<InferTreatyMutationOptions<TFn>, "mutationFn">): InferTreatyMutationOptions<TFn>;
15
+ declare function treatyQueryOptions<
16
+ TFn extends TreatyFunction,
17
+ const TQueryKey extends QueryKey
18
+ >(options: {
19
+ queryKey: TQueryKey;
20
+ queryFn: TFn;
21
+ } & Omit<InferTreatyQueryOptions<TFn, TQueryKey>, "queryKey" | "queryFn">): InferTreatyQueryOptions<TFn, TQueryKey>;
22
+ type UseTreatyMutationResult<TFn extends TreatyFunction> = UseMutationResult<InferTreatyData<TFn>, InferTreatyError<TFn>, InferTreatyRequest<TFn>>;
23
+ type UseTreatyQueryResult<
24
+ TFn extends TreatyFunction,
25
+ TQueryKey extends QueryKey = unknown[]
26
+ > = UseQueryResult<InferTreatyData<TFn>, InferTreatyError<TFn>>;
27
+ type TreatyMutationHookOptions<TFn extends TreatyFunction> = Omit<InferTreatyMutationOptions<TFn>, "mutationFn">;
28
+ type TreatyQueryHookOptions<
29
+ TFn extends TreatyFunction,
30
+ TQueryKey extends QueryKey = unknown[]
31
+ > = Omit<InferTreatyQueryOptions<TFn, TQueryKey>, "queryKey" | "queryFn">;
32
+ type TreatyQueryHookUseOptions<
33
+ TFn extends TreatyFunction,
34
+ TQueryKey extends QueryKey = unknown[]
35
+ > = {
36
+ queryKey: TQueryKey;
37
+ } & TreatyQueryHookOptions<TFn, TQueryKey>;
38
+ type TreatyMutationHook<TFn extends TreatyFunction> = (options?: TreatyMutationHookOptions<TFn>) => UseTreatyMutationResult<TFn>;
39
+ type TreatyQueryHook<
40
+ TFn extends TreatyFunction,
41
+ TQueryKey extends QueryKey = unknown[]
42
+ > = (request: InferTreatyRequest<TFn>, options?: TreatyQueryHookOptions<TFn, TQueryKey>) => UseTreatyQueryResult<TFn, TQueryKey>;
43
+ declare function treatyMutationHook<TFn extends TreatyFunction>(mutationFn: TFn, useOptions?: () => TreatyMutationHookOptions<TFn>): TreatyMutationHook<TFn>;
44
+ declare function treatyQueryHook<
45
+ TFn extends TreatyFunction,
46
+ TQueryKey extends QueryKey = QueryKey
47
+ >(queryFn: TFn, useOptions?: (request: InferTreatyRequest<TFn>) => TreatyQueryHookUseOptions<TFn, TQueryKey>): TreatyQueryHook<TFn, TQueryKey>;
48
+ export { treatyQueryOptions, treatyQueryHook, treatyMutationOptions, treatyMutationHook, InferTreatyQueryOptions, InferTreatyMutationOptions };
package/dist/index.js CHANGED
@@ -1,15 +1,57 @@
1
- // src/lib.ts
2
- import {
3
- mutationOptions,
4
- queryOptions,
5
- useMutation,
6
- useQuery
7
- } from "@tanstack/react-query";
8
- function treatyMutationOptions(fn, options) {
1
+ // src/treaty.ts
2
+ import { mutationOptions, queryOptions, useMutation, useQuery } from "@tanstack/react-query";
3
+
4
+ // src/utils.ts
5
+ function mergeMutationOptions(base, options) {
6
+ if (!options)
7
+ return base;
8
+ const { onSuccess, onError, onSettled, onMutate, ...rest } = options;
9
+ return {
10
+ ...base,
11
+ ...rest,
12
+ ...onMutate !== undefined && {
13
+ onMutate: async (variables, context) => {
14
+ const prev = await base.onMutate?.(variables, context);
15
+ const next = await options.onMutate?.(variables, context);
16
+ return next !== undefined ? next : prev;
17
+ }
18
+ },
19
+ ...onSuccess !== undefined && {
20
+ onSuccess: async (data, variables, onMutateResult, context) => {
21
+ await base.onSuccess?.(data, variables, onMutateResult, context);
22
+ await options.onSuccess?.(data, variables, onMutateResult, context);
23
+ }
24
+ },
25
+ ...onError !== undefined && {
26
+ onError: async (error, variables, onMutateResult, context) => {
27
+ await base.onError?.(error, variables, onMutateResult, context);
28
+ await options.onError?.(error, variables, onMutateResult, context);
29
+ }
30
+ },
31
+ ...onSettled !== undefined && {
32
+ onSettled: async (data, error, variables, onMutateResult, context) => {
33
+ await base.onSettled?.(data, error, variables, onMutateResult, context);
34
+ await options.onSettled?.(data, error, variables, onMutateResult, context);
35
+ }
36
+ }
37
+ };
38
+ }
39
+ function mergeQueryOptions(base, options) {
40
+ if (!options)
41
+ return base;
42
+ return {
43
+ ...base,
44
+ ...options
45
+ };
46
+ }
47
+
48
+ // src/treaty.ts
49
+ function treatyMutationOptions(options) {
50
+ const { mutationFn, ...rest } = options;
9
51
  return mutationOptions({
10
- ...options,
52
+ ...rest,
11
53
  mutationFn: async (variables) => {
12
- const response = await (fn.length === 0 ? fn() : fn(variables));
54
+ const response = await mutationFn(variables);
13
55
  const { data, error } = response;
14
56
  if (error)
15
57
  throw error;
@@ -17,11 +59,13 @@ function treatyMutationOptions(fn, options) {
17
59
  }
18
60
  });
19
61
  }
20
- function treatyQueryOptions(fn, options) {
62
+ function treatyQueryOptions(options) {
63
+ const { queryFn, queryKey, ...rest } = options;
21
64
  return queryOptions({
22
- ...options,
65
+ ...rest,
66
+ queryKey,
23
67
  queryFn: async () => {
24
- const response = await fn();
68
+ const response = await queryFn();
25
69
  const { data, error } = response;
26
70
  if (error)
27
71
  throw error;
@@ -29,30 +73,32 @@ function treatyQueryOptions(fn, options) {
29
73
  }
30
74
  });
31
75
  }
32
- function createTreatyMutationHook(fn, useOptions) {
76
+ function treatyMutationHook(mutationFn, useOptions) {
33
77
  return (options) => {
34
- const initOptions = typeof useOptions === "function" ? useOptions() : useOptions;
35
- return useMutation({
36
- ...treatyMutationOptions(fn, initOptions),
37
- ...options
38
- });
78
+ const baseOptions = treatyMutationOptions({ mutationFn });
79
+ const defaultOptions = useOptions?.();
80
+ const merged = mergeMutationOptions(mergeMutationOptions(baseOptions, defaultOptions), options);
81
+ return useMutation(merged);
39
82
  };
40
83
  }
41
- function createTreatyQueryHook(fn, useOptions) {
42
- return (options) => {
43
- const initOptions = typeof useOptions === "function" ? useOptions() : useOptions;
44
- return useQuery({
45
- ...treatyQueryOptions(fn, initOptions),
46
- ...options
84
+ function treatyQueryHook(queryFn, useOptions) {
85
+ return (request, options) => {
86
+ const defaultOptions = useOptions?.(request);
87
+ const baseOptions = treatyQueryOptions({
88
+ queryKey: defaultOptions?.queryKey ?? ["resource", request],
89
+ queryFn: () => queryFn(request),
90
+ ...defaultOptions
47
91
  });
92
+ const merged = mergeQueryOptions(baseOptions, options);
93
+ return useQuery(merged);
48
94
  };
49
95
  }
50
96
  export {
51
97
  treatyQueryOptions,
98
+ treatyQueryHook,
52
99
  treatyMutationOptions,
53
- createTreatyQueryHook,
54
- createTreatyMutationHook
100
+ treatyMutationHook
55
101
  };
56
102
 
57
- //# debugId=7C7D36173641BA3264756E2164756E21
58
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjXFxsaWIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbCiAgICAiaW1wb3J0IHR5cGUgeyBUcmVhdHkgfSBmcm9tIFwiQGVseXNpYWpzL2VkZW5cIjtcclxuaW1wb3J0IHtcclxuICBtdXRhdGlvbk9wdGlvbnMsXHJcbiAgcXVlcnlPcHRpb25zLFxyXG4gIHVzZU11dGF0aW9uLFxyXG4gIHVzZVF1ZXJ5LFxyXG4gIHR5cGUgVXNlTXV0YXRpb25PcHRpb25zLFxyXG4gIHR5cGUgVXNlTXV0YXRpb25SZXN1bHQsXHJcbiAgdHlwZSBVc2VRdWVyeU9wdGlvbnMsXHJcbiAgdHlwZSBVc2VRdWVyeVJlc3VsdCxcclxufSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XCI7XHJcblxyXG50eXBlIFRyZWF0eVJlc3BvbnNlID0gUmVjb3JkPG51bWJlciwgdW5rbm93bj47XHJcblxyXG5leHBvcnQgdHlwZSBUcmVhdHlGdW5jdGlvbldpdGhvdXRQYXJhbXM8XHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UgPSBUcmVhdHlSZXNwb25zZSxcclxuPiA9ICgpID0+IFByb21pc2U8VHJlYXR5LlRyZWF0eVJlc3BvbnNlPFRSZXNwb25zZT4+O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJlYXR5RnVuY3Rpb25XaXRoUGFyYW1zPFxyXG4gIFRQYXJhbXMsXHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UsXHJcbj4gPSAocGFyYW1zOiBUUGFyYW1zKSA9PiBQcm9taXNlPFRyZWF0eS5UcmVhdHlSZXNwb25zZTxUUmVzcG9uc2U+PjtcclxuXHJcbmV4cG9ydCB0eXBlIFRyZWF0eUZ1bmN0aW9uPFxyXG4gIFRQYXJhbXMsXHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UsXHJcbj4gPSBUcmVhdHlGdW5jdGlvbldpdGhvdXRQYXJhbXM8VFJlc3BvbnNlPiB8IFRyZWF0eUZ1bmN0aW9uV2l0aFBhcmFtczxUUGFyYW1zLCBUUmVzcG9uc2U+O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJlYXR5RGF0YTxUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZT4gPVxyXG4gIFRyZWF0eS5UcmVhdHlSZXNwb25zZTxUUmVzcG9uc2U+W1wiZGF0YVwiXTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyZWF0eUVycm9yPFRSZXNwb25zZSBleHRlbmRzIFRyZWF0eVJlc3BvbnNlPiA9XHJcbiAgVHJlYXR5LlRyZWF0eVJlc3BvbnNlPFRSZXNwb25zZT5bXCJlcnJvclwiXTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyZWF0eU11dGF0aW9uT3B0aW9uczxcclxuICBUVmFyaWFibGVzLFxyXG4gIFRSZXNwb25zZSBleHRlbmRzIFRyZWF0eVJlc3BvbnNlLFxyXG4+ID0gVXNlTXV0YXRpb25PcHRpb25zPFxyXG4gIFRyZWF0eURhdGE8VFJlc3BvbnNlPixcclxuICBUcmVhdHlFcnJvcjxUUmVzcG9uc2U+LFxyXG4gIFRWYXJpYWJsZXNcclxuPjtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZVRyZWF0eU11dGF0aW9uUmVzdWx0PFxyXG4gIFRWYXJpYWJsZXMsXHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UsXHJcbj4gPSAoXHJcbiAgVXNlTXV0YXRpb25SZXN1bHQ8XHJcbiAgICBUcmVhdHlEYXRhPFRSZXNwb25zZT4sXHJcbiAgICBUcmVhdHlFcnJvcjxUUmVzcG9uc2U+LFxyXG4gICAgVFZhcmlhYmxlc1xyXG4gID5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZVRyZWF0eVF1ZXJ5UmVzdWx0PFxyXG4gIFRSZXNwb25zZSBleHRlbmRzIFRyZWF0eVJlc3BvbnNlLFxyXG4+ID0gKFxyXG4gIFVzZVF1ZXJ5UmVzdWx0PFxyXG4gICAgVHJlYXR5RGF0YTxUUmVzcG9uc2U+LFxyXG4gICAgVHJlYXR5RXJyb3I8VFJlc3BvbnNlPlxyXG4gID5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyZWF0eVF1ZXJ5T3B0aW9uczxUUmVzcG9uc2UgZXh0ZW5kcyBSZWNvcmQ8bnVtYmVyLCB1bmtub3duPj4gPVxyXG4gIFVzZVF1ZXJ5T3B0aW9uczxUcmVhdHlEYXRhPFRSZXNwb25zZT4sIFRyZWF0eUVycm9yPFRSZXNwb25zZT4+O1xyXG5cclxuZXhwb3J0IHR5cGUgVXNlVHJlYXR5TXV0YXRpb25Ib29rPFxyXG4gIFRWYXJpYWJsZXMsXHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UsXHJcbj4gPSAoXHJcbiAgKG9wdGlvbnM6IFBhcnRpYWw8T21pdDxUcmVhdHlNdXRhdGlvbk9wdGlvbnM8VFZhcmlhYmxlcywgVFJlc3BvbnNlPiwgXCJtdXRhdGlvbkZuXCI+PikgPT4gXHJcbiAgICBVc2VUcmVhdHlNdXRhdGlvblJlc3VsdDxUVmFyaWFibGVzLCBUUmVzcG9uc2U+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBVc2VUcmVhdHlRdWVyeUhvb2s8XHJcbiAgVFJlc3BvbnNlIGV4dGVuZHMgVHJlYXR5UmVzcG9uc2UsXHJcbj4gPSAoXHJcbiAgKG9wdGlvbnM6IFBhcnRpYWw8T21pdDxUcmVhdHlRdWVyeU9wdGlvbnM8VFJlc3BvbnNlPiwgXCJxdWVyeUZuXCI+PikgPT4gXHJcbiAgICBVc2VUcmVhdHlRdWVyeVJlc3VsdDxUUmVzcG9uc2U+XHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJlYXR5TXV0YXRpb25PcHRpb25zPFRSZXNwb25zZSBleHRlbmRzIFRyZWF0eVJlc3BvbnNlPihcclxuICBmbjogVHJlYXR5RnVuY3Rpb25XaXRob3V0UGFyYW1zPFRSZXNwb25zZT4sXHJcbiAgb3B0aW9ucz86IE9taXQ8VHJlYXR5TXV0YXRpb25PcHRpb25zPHZvaWQsIFRSZXNwb25zZT4sIFwibXV0YXRpb25GblwiPixcclxuKTogVHJlYXR5TXV0YXRpb25PcHRpb25zPHZvaWQsIFRSZXNwb25zZT47XHJcbmV4cG9ydCBmdW5jdGlvbiB0cmVhdHlNdXRhdGlvbk9wdGlvbnM8XHJcbiAgVFZhcmlhYmxlcyxcclxuICBUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZSxcclxuPihcclxuICBmbjogVHJlYXR5RnVuY3Rpb25XaXRoUGFyYW1zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4sXHJcbiAgb3B0aW9ucz86IE9taXQ8VHJlYXR5TXV0YXRpb25PcHRpb25zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4sIFwibXV0YXRpb25GblwiPixcclxuKTogVHJlYXR5TXV0YXRpb25PcHRpb25zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT47XHJcbmV4cG9ydCBmdW5jdGlvbiB0cmVhdHlNdXRhdGlvbk9wdGlvbnM8XHJcbiAgVFZhcmlhYmxlcyxcclxuICBUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZSxcclxuPihcclxuICBmbjogVHJlYXR5RnVuY3Rpb248VFZhcmlhYmxlcywgVFJlc3BvbnNlPixcclxuICBvcHRpb25zPzogT21pdDxUcmVhdHlNdXRhdGlvbk9wdGlvbnM8VFZhcmlhYmxlcywgVFJlc3BvbnNlPiwgXCJtdXRhdGlvbkZuXCI+LFxyXG4pOiBUcmVhdHlNdXRhdGlvbk9wdGlvbnM8VFZhcmlhYmxlcywgVFJlc3BvbnNlPiB7XHJcbiAgdHlwZSBURGF0YSA9IFRyZWF0eURhdGE8VFJlc3BvbnNlPjtcclxuICB0eXBlIFRFcnJvciA9IFRyZWF0eUVycm9yPFRSZXNwb25zZT47XHJcbiAgcmV0dXJuIG11dGF0aW9uT3B0aW9uczxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzPih7XHJcbiAgICAuLi5vcHRpb25zLFxyXG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHZhcmlhYmxlcykgPT4ge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IChcclxuICAgICAgICBmbi5sZW5ndGggPT09IDAgPyAoZm4gYXMgKCkgPT4gUHJvbWlzZTxUcmVhdHkuVHJlYXR5UmVzcG9uc2U8VFJlc3BvbnNlPj4pKCkgOiAoZm4gYXMgVHJlYXR5RnVuY3Rpb25XaXRoUGFyYW1zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4pKHZhcmlhYmxlcylcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gcmVzcG9uc2U7XHJcbiAgICAgIGlmIChlcnJvcikgdGhyb3cgZXJyb3I7XHJcbiAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyZWF0eVF1ZXJ5T3B0aW9uczxcclxuICBUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZSA9IFRyZWF0eVJlc3BvbnNlLFxyXG4+KFxyXG4gIGZuOiBUcmVhdHlGdW5jdGlvbldpdGhvdXRQYXJhbXM8VFJlc3BvbnNlPixcclxuICBvcHRpb25zOiBPbWl0PFRyZWF0eVF1ZXJ5T3B0aW9uczxUUmVzcG9uc2U+LCBcInF1ZXJ5Rm5cIj4sXHJcbik6IFRyZWF0eVF1ZXJ5T3B0aW9uczxUUmVzcG9uc2U+IHtcclxuICB0eXBlIFREYXRhID0gVHJlYXR5RGF0YTxUUmVzcG9uc2U+O1xyXG4gIHR5cGUgVEVycm9yID0gVHJlYXR5RXJyb3I8VFJlc3BvbnNlPjtcclxuICByZXR1cm4gcXVlcnlPcHRpb25zPFREYXRhLCBURXJyb3I+KHtcclxuICAgIC4uLm9wdGlvbnMsXHJcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZm4oKTtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gcmVzcG9uc2U7XHJcbiAgICAgIGlmIChlcnJvcikgdGhyb3cgZXJyb3I7XHJcbiAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWF0eU11dGF0aW9uSG9vazxUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZT4oXHJcbiAgZm46IFRyZWF0eUZ1bmN0aW9uV2l0aG91dFBhcmFtczxUUmVzcG9uc2U+LFxyXG4gIHVzZU9wdGlvbnM/OiAoXHJcbiAgICBPbWl0PFRyZWF0eU11dGF0aW9uT3B0aW9uczx2b2lkLCBUUmVzcG9uc2U+LCBcIm11dGF0aW9uRm5cIj4gfCBcclxuICAgICgoKSA9PiBPbWl0PFRyZWF0eU11dGF0aW9uT3B0aW9uczx2b2lkLCBUUmVzcG9uc2U+LCBcIm11dGF0aW9uRm5cIj4pXHJcbiAgKSxcclxuKTogVXNlVHJlYXR5TXV0YXRpb25Ib29rPHZvaWQsIFRSZXNwb25zZT47XHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmVhdHlNdXRhdGlvbkhvb2s8XHJcbiAgVFZhcmlhYmxlcyxcclxuICBUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZSxcclxuPihcclxuICBmbjogVHJlYXR5RnVuY3Rpb25XaXRoUGFyYW1zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4sXHJcbiAgdXNlT3B0aW9ucz86IChcclxuICAgIE9taXQ8VHJlYXR5TXV0YXRpb25PcHRpb25zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4sIFwibXV0YXRpb25GblwiPiB8IFxyXG4gICAgKCgpID0+IE9taXQ8VHJlYXR5TXV0YXRpb25PcHRpb25zPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4sIFwibXV0YXRpb25GblwiPilcclxuICApLFxyXG4pOiBVc2VUcmVhdHlNdXRhdGlvbkhvb2s8VFZhcmlhYmxlcywgVFJlc3BvbnNlPjtcclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWF0eU11dGF0aW9uSG9vazxcclxuICBUVmFyaWFibGVzLFxyXG4gIFRSZXNwb25zZSBleHRlbmRzIFRyZWF0eVJlc3BvbnNlLFxyXG4+KFxyXG4gIGZuOiBUcmVhdHlGdW5jdGlvbjxUVmFyaWFibGVzLCBUUmVzcG9uc2U+LFxyXG4gIHVzZU9wdGlvbnM/OiAoXHJcbiAgICBPbWl0PFRyZWF0eU11dGF0aW9uT3B0aW9uczxUVmFyaWFibGVzLCBUUmVzcG9uc2U+LCBcIm11dGF0aW9uRm5cIj4gfCBcclxuICAgICgoKSA9PiBPbWl0PFRyZWF0eU11dGF0aW9uT3B0aW9uczxUVmFyaWFibGVzLCBUUmVzcG9uc2U+LCBcIm11dGF0aW9uRm5cIj4pXHJcbiAgKSxcclxuKTogVXNlVHJlYXR5TXV0YXRpb25Ib29rPFRWYXJpYWJsZXMsIFRSZXNwb25zZT4ge1xyXG4gIHJldHVybiAob3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgaW5pdE9wdGlvbnMgPSB0eXBlb2YgdXNlT3B0aW9ucyA9PT0gXCJmdW5jdGlvblwiID8gdXNlT3B0aW9ucygpIDogdXNlT3B0aW9ucztcclxuICAgIHJldHVybiB1c2VNdXRhdGlvbih7XHJcbiAgICAgIC4uLnRyZWF0eU11dGF0aW9uT3B0aW9ucyhmbiwgaW5pdE9wdGlvbnMpLFxyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgfSk7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWF0eVF1ZXJ5SG9vazxcclxuICBUUmVzcG9uc2UgZXh0ZW5kcyBUcmVhdHlSZXNwb25zZSxcclxuPihcclxuICBmbjogVHJlYXR5RnVuY3Rpb25XaXRob3V0UGFyYW1zPFRSZXNwb25zZT4sXHJcbiAgdXNlT3B0aW9uczogKFxyXG4gICAgT21pdDxUcmVhdHlRdWVyeU9wdGlvbnM8VFJlc3BvbnNlPiwgXCJxdWVyeUZuXCI+IHwgXHJcbiAgICAoKCkgPT4gT21pdDxUcmVhdHlRdWVyeU9wdGlvbnM8VFJlc3BvbnNlPiwgXCJxdWVyeUZuXCI+KVxyXG4gICksXHJcbik6IFVzZVRyZWF0eVF1ZXJ5SG9vazxUUmVzcG9uc2U+IHtcclxuICByZXR1cm4gKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGluaXRPcHRpb25zID0gdHlwZW9mIHVzZU9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIiA/IHVzZU9wdGlvbnMoKSA6IHVzZU9wdGlvbnM7XHJcbiAgICByZXR1cm4gdXNlUXVlcnkoe1xyXG4gICAgICAuLi50cmVhdHlRdWVyeU9wdGlvbnMoZm4sIGluaXRPcHRpb25zKSxcclxuICAgICAgLi4ub3B0aW9ucyxcclxuICAgIH0pO1xyXG4gIH07XHJcbn0iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMkZPLFNBQVMscUJBR2YsQ0FDQyxJQUNBLFNBQzhDO0FBQUEsRUFHOUMsT0FBTyxnQkFBMkM7QUFBQSxPQUM3QztBQUFBLElBQ0gsWUFBWSxPQUFPLGNBQWM7QUFBQSxNQUMvQixNQUFNLFdBQVcsT0FDZixHQUFHLFdBQVcsSUFBSyxHQUF1RCxJQUFLLEdBQXVELFNBQVM7QUFBQSxNQUVqSixRQUFRLE1BQU0sVUFBVTtBQUFBLE1BQ3hCLElBQUk7QUFBQSxRQUFPLE1BQU07QUFBQSxNQUNqQixPQUFPO0FBQUE7QUFBQSxFQUVYLENBQUM7QUFBQTtBQUdJLFNBQVMsa0JBRWYsQ0FDQyxJQUNBLFNBQytCO0FBQUEsRUFHL0IsT0FBTyxhQUE0QjtBQUFBLE9BQzlCO0FBQUEsSUFDSCxTQUFTLFlBQVk7QUFBQSxNQUNuQixNQUFNLFdBQVcsTUFBTSxHQUFHO0FBQUEsTUFDMUIsUUFBUSxNQUFNLFVBQVU7QUFBQSxNQUN4QixJQUFJO0FBQUEsUUFBTyxNQUFNO0FBQUEsTUFDakIsT0FBTztBQUFBO0FBQUEsRUFFWCxDQUFDO0FBQUE7QUFvQkksU0FBUyx3QkFHZixDQUNDLElBQ0EsWUFJOEM7QUFBQSxFQUM5QyxPQUFPLENBQUMsWUFBWTtBQUFBLElBQ2xCLE1BQU0sY0FBYyxPQUFPLGVBQWUsYUFBYSxXQUFXLElBQUk7QUFBQSxJQUN0RSxPQUFPLFlBQVk7QUFBQSxTQUNkLHNCQUFzQixJQUFJLFdBQVc7QUFBQSxTQUNyQztBQUFBLElBQ0wsQ0FBQztBQUFBO0FBQUE7QUFJRSxTQUFTLHFCQUVmLENBQ0MsSUFDQSxZQUkrQjtBQUFBLEVBQy9CLE9BQU8sQ0FBQyxZQUFZO0FBQUEsSUFDbEIsTUFBTSxjQUFjLE9BQU8sZUFBZSxhQUFhLFdBQVcsSUFBSTtBQUFBLElBQ3RFLE9BQU8sU0FBUztBQUFBLFNBQ1gsbUJBQW1CLElBQUksV0FBVztBQUFBLFNBQ2xDO0FBQUEsSUFDTCxDQUFDO0FBQUE7QUFBQTsiLAogICJkZWJ1Z0lkIjogIjdDN0QzNjE3MzY0MUJBMzI2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
103
+ //# debugId=3974E80E199B9F8064756E2164756E21
104
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjXFx0cmVhdHkudHMiLCAic3JjXFx1dGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICJpbXBvcnQgdHlwZSB7IFRyZWF0eSB9IGZyb20gXCJAZWx5c2lhanMvZWRlblwiO1xyXG5pbXBvcnQgeyBtdXRhdGlvbk9wdGlvbnMsIHF1ZXJ5T3B0aW9ucywgdXNlTXV0YXRpb24sIHVzZVF1ZXJ5LCB0eXBlIFF1ZXJ5S2V5LCB0eXBlIFVzZU11dGF0aW9uT3B0aW9ucywgdHlwZSBVc2VNdXRhdGlvblJlc3VsdCwgdHlwZSBVc2VRdWVyeU9wdGlvbnMsIHR5cGUgVXNlUXVlcnlSZXN1bHQgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XCI7XHJcbmltcG9ydCB7IG1lcmdlTXV0YXRpb25PcHRpb25zLCBtZXJnZVF1ZXJ5T3B0aW9ucyB9IGZyb20gXCIuL3V0aWxzXCI7XHJcblxyXG50eXBlIFRyZWF0eUZ1bmN0aW9uID0gKC4uLnJlcXVlc3Q6IGFueVtdKSA9PiBcclxuICBQcm9taXNlPFRyZWF0eS5UcmVhdHlSZXNwb25zZTxSZWNvcmQ8bnVtYmVyLCB1bmtub3duPj4+O1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mZXJUcmVhdHlEYXRhPFxyXG4gIFRGbiBleHRlbmRzIFRyZWF0eUZ1bmN0aW9uLFxyXG4+ID0gQXdhaXRlZDxSZXR1cm5UeXBlPFRGbj4+W1wiZGF0YVwiXTtcclxuXHJcbmV4cG9ydCB0eXBlIEluZmVyVHJlYXR5RXJyb3I8XHJcbiAgVEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24sXHJcbj4gPSBBd2FpdGVkPFJldHVyblR5cGU8VEZuPj5bXCJlcnJvclwiXTtcclxuXHJcbmV4cG9ydCB0eXBlIEluZmVyVHJlYXR5UmVxdWVzdDxcclxuICBURm4gZXh0ZW5kcyBUcmVhdHlGdW5jdGlvbixcclxuPiA9IFBhcmFtZXRlcnM8VEZuPlswXTtcclxuXHJcbmV4cG9ydCB0eXBlIEluZmVyVHJlYXR5TXV0YXRpb25PcHRpb25zPFxyXG4gIFRGbiBleHRlbmRzIFRyZWF0eUZ1bmN0aW9uLFxyXG4+ID0gVXNlTXV0YXRpb25PcHRpb25zPFxyXG4gIEluZmVyVHJlYXR5RGF0YTxURm4+LFxyXG4gIEluZmVyVHJlYXR5RXJyb3I8VEZuPixcclxuICBJbmZlclRyZWF0eVJlcXVlc3Q8VEZuPlxyXG4+O1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mZXJUcmVhdHlRdWVyeU9wdGlvbnM8XHJcbiAgVEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24sXHJcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSB1bmtub3duW10sXHJcbj4gPSBVc2VRdWVyeU9wdGlvbnM8XHJcbiAgSW5mZXJUcmVhdHlEYXRhPFRGbj4sXHJcbiAgSW5mZXJUcmVhdHlFcnJvcjxURm4+LFxyXG4gIEluZmVyVHJlYXR5RGF0YTxURm4+LFxyXG4gIFRRdWVyeUtleVxyXG4+O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyZWF0eU11dGF0aW9uT3B0aW9uczxURm4gZXh0ZW5kcyBUcmVhdHlGdW5jdGlvbj4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgbXV0YXRpb25GbjogVEZuO1xyXG4gIH0gJiBPbWl0PFxyXG4gICAgSW5mZXJUcmVhdHlNdXRhdGlvbk9wdGlvbnM8VEZuPixcclxuICAgIFwibXV0YXRpb25GblwiXHJcbiAgPlxyXG4pOiBJbmZlclRyZWF0eU11dGF0aW9uT3B0aW9uczxURm4+IHtcclxuICB0eXBlIFREYXRhID0gSW5mZXJUcmVhdHlEYXRhPFRGbj47XHJcbiAgdHlwZSBURXJyb3IgPSBJbmZlclRyZWF0eUVycm9yPFRGbj47XHJcbiAgdHlwZSBUVmFyaWFibGVzID0gSW5mZXJUcmVhdHlSZXF1ZXN0PFRGbj47XHJcbiAgY29uc3QgeyBtdXRhdGlvbkZuLCAuLi5yZXN0IH0gPSBvcHRpb25zO1xyXG4gIHJldHVybiBtdXRhdGlvbk9wdGlvbnM8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcz4oe1xyXG4gICAgLi4ucmVzdCxcclxuICAgIG11dGF0aW9uRm46IGFzeW5jICh2YXJpYWJsZXMpID0+IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtdXRhdGlvbkZuKHZhcmlhYmxlcyk7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IHJlc3BvbnNlO1xyXG4gICAgICBpZiAoZXJyb3IpIHRocm93IGVycm9yO1xyXG4gICAgICByZXR1cm4gZGF0YTtcclxuICAgIH0sXHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmVhdHlRdWVyeU9wdGlvbnM8XHJcbiAgVEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24sXHJcbiAgY29uc3QgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXksXHJcbj4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgcXVlcnlLZXk6IFRRdWVyeUtleTtcclxuICAgIHF1ZXJ5Rm46IFRGbjtcclxuICB9ICYgT21pdDxcclxuICAgIEluZmVyVHJlYXR5UXVlcnlPcHRpb25zPFRGbiwgVFF1ZXJ5S2V5PixcclxuICAgIFwicXVlcnlLZXlcIiB8IFwicXVlcnlGblwiXHJcbiAgPlxyXG4pOiBJbmZlclRyZWF0eVF1ZXJ5T3B0aW9uczxURm4sIFRRdWVyeUtleT4ge1xyXG4gIHR5cGUgVERhdGEgPSBJbmZlclRyZWF0eURhdGE8VEZuPjtcclxuICB0eXBlIFRFcnJvciA9IEluZmVyVHJlYXR5RXJyb3I8VEZuPjtcclxuICBjb25zdCB7IHF1ZXJ5Rm4sIHF1ZXJ5S2V5LCAuLi5yZXN0IH0gPSBvcHRpb25zO1xyXG4gIHJldHVybiBxdWVyeU9wdGlvbnM8VERhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4oe1xyXG4gICAgLi4ucmVzdCxcclxuICAgIHF1ZXJ5S2V5LFxyXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHF1ZXJ5Rm4oKTtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gcmVzcG9uc2U7XHJcbiAgICAgIGlmIChlcnJvcikgdGhyb3cgZXJyb3I7XHJcbiAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVXNlVHJlYXR5TXV0YXRpb25SZXN1bHQ8VEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24+ID0gVXNlTXV0YXRpb25SZXN1bHQ8XHJcbiAgSW5mZXJUcmVhdHlEYXRhPFRGbj4sXHJcbiAgSW5mZXJUcmVhdHlFcnJvcjxURm4+LFxyXG4gIEluZmVyVHJlYXR5UmVxdWVzdDxURm4+XHJcbj47XHJcblxyXG5leHBvcnQgdHlwZSBVc2VUcmVhdHlRdWVyeVJlc3VsdDxcclxuICBURm4gZXh0ZW5kcyBUcmVhdHlGdW5jdGlvbixcclxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IHVua25vd25bXSxcclxuPiA9IFVzZVF1ZXJ5UmVzdWx0PFxyXG4gIEluZmVyVHJlYXR5RGF0YTxURm4+LFxyXG4gIEluZmVyVHJlYXR5RXJyb3I8VEZuPlxyXG4+O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJlYXR5TXV0YXRpb25Ib29rT3B0aW9uczxURm4gZXh0ZW5kcyBUcmVhdHlGdW5jdGlvbj4gPSBPbWl0PFxyXG4gIEluZmVyVHJlYXR5TXV0YXRpb25PcHRpb25zPFRGbj4sXHJcbiAgXCJtdXRhdGlvbkZuXCJcclxuPjtcclxuXHJcbmV4cG9ydCB0eXBlIFRyZWF0eVF1ZXJ5SG9va09wdGlvbnM8XHJcbiAgVEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24sXHJcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSB1bmtub3duW10sXHJcbj4gPSBPbWl0PFxyXG4gIEluZmVyVHJlYXR5UXVlcnlPcHRpb25zPFRGbiwgVFF1ZXJ5S2V5PixcclxuICBcInF1ZXJ5S2V5XCIgfCBcInF1ZXJ5Rm5cIlxyXG4+O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJlYXR5UXVlcnlIb29rVXNlT3B0aW9uczxcclxuICBURm4gZXh0ZW5kcyBUcmVhdHlGdW5jdGlvbixcclxuICBUUXVlcnlLZXkgZXh0ZW5kcyBRdWVyeUtleSA9IHVua25vd25bXSxcclxuPiA9IHtcclxuICBxdWVyeUtleTogVFF1ZXJ5S2V5O1xyXG59ICYgVHJlYXR5UXVlcnlIb29rT3B0aW9uczxURm4sIFRRdWVyeUtleT47XHJcblxyXG5leHBvcnQgdHlwZSBUcmVhdHlNdXRhdGlvbkhvb2s8VEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24+ID0gKFxyXG4gIG9wdGlvbnM/OiBUcmVhdHlNdXRhdGlvbkhvb2tPcHRpb25zPFRGbj5cclxuKSA9PiBVc2VUcmVhdHlNdXRhdGlvblJlc3VsdDxURm4+O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJlYXR5UXVlcnlIb29rPFxyXG4gIFRGbiBleHRlbmRzIFRyZWF0eUZ1bmN0aW9uLFxyXG4gIFRRdWVyeUtleSBleHRlbmRzIFF1ZXJ5S2V5ID0gdW5rbm93bltdLFxyXG4+ID0gKFxyXG4gIHJlcXVlc3Q6IEluZmVyVHJlYXR5UmVxdWVzdDxURm4+LFxyXG4gIG9wdGlvbnM/OiBUcmVhdHlRdWVyeUhvb2tPcHRpb25zPFRGbiwgVFF1ZXJ5S2V5PlxyXG4pID0+IFVzZVRyZWF0eVF1ZXJ5UmVzdWx0PFRGbiwgVFF1ZXJ5S2V5PjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmVhdHlNdXRhdGlvbkhvb2s8VEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24+KFxyXG4gIG11dGF0aW9uRm46IFRGbixcclxuICB1c2VPcHRpb25zPzogKCkgPT4gVHJlYXR5TXV0YXRpb25Ib29rT3B0aW9uczxURm4+XHJcbik6IFRyZWF0eU11dGF0aW9uSG9vazxURm4+IHtcclxuICByZXR1cm4gKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGJhc2VPcHRpb25zID0gdHJlYXR5TXV0YXRpb25PcHRpb25zKHsgbXV0YXRpb25GbiB9KTtcclxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdXNlT3B0aW9ucz8uKCk7XHJcbiAgICBjb25zdCBtZXJnZWQgPSBtZXJnZU11dGF0aW9uT3B0aW9ucyhcclxuICAgICAgbWVyZ2VNdXRhdGlvbk9wdGlvbnMoYmFzZU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zKSxcclxuICAgICAgb3B0aW9uc1xyXG4gICAgKTtcclxuICAgIHJldHVybiB1c2VNdXRhdGlvbihtZXJnZWQpO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmVhdHlRdWVyeUhvb2s8XHJcbiAgVEZuIGV4dGVuZHMgVHJlYXR5RnVuY3Rpb24sXHJcbiAgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXkgPSBRdWVyeUtleSxcclxuPihcclxuICBxdWVyeUZuOiBURm4sXHJcbiAgdXNlT3B0aW9ucz86IChcclxuICAgIHJlcXVlc3Q6IEluZmVyVHJlYXR5UmVxdWVzdDxURm4+XHJcbiAgKSA9PiBUcmVhdHlRdWVyeUhvb2tVc2VPcHRpb25zPFRGbiwgVFF1ZXJ5S2V5PlxyXG4pOiBUcmVhdHlRdWVyeUhvb2s8VEZuLCBUUXVlcnlLZXk+IHtcclxuICByZXR1cm4gKHJlcXVlc3QsIG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zID0gdXNlT3B0aW9ucz8uKHJlcXVlc3QpO1xyXG4gICAgY29uc3QgYmFzZU9wdGlvbnMgPSB0cmVhdHlRdWVyeU9wdGlvbnMoe1xyXG4gICAgICBxdWVyeUtleTogKGRlZmF1bHRPcHRpb25zPy5xdWVyeUtleSA/PyAoW1wicmVzb3VyY2VcIiwgcmVxdWVzdF0gYXMgdW5rbm93bikpIGFzIFRRdWVyeUtleSxcclxuICAgICAgcXVlcnlGbjogKCgpID0+IHF1ZXJ5Rm4ocmVxdWVzdCkpIGFzIFRGbixcclxuICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG1lcmdlZCA9IG1lcmdlUXVlcnlPcHRpb25zKFxyXG4gICAgICBiYXNlT3B0aW9ucyxcclxuICAgICAgb3B0aW9ucyBhcyBVc2VRdWVyeU9wdGlvbnM8XHJcbiAgICAgICAgSW5mZXJUcmVhdHlEYXRhPFRGbj4sXHJcbiAgICAgICAgSW5mZXJUcmVhdHlFcnJvcjxURm4+LFxyXG4gICAgICAgIEluZmVyVHJlYXR5RGF0YTxURm4+LFxyXG4gICAgICAgIFRRdWVyeUtleVxyXG4gICAgICA+IHwgdW5kZWZpbmVkXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHVzZVF1ZXJ5KG1lcmdlZCk7XHJcbiAgfTtcclxufSIsCiAgICAiaW1wb3J0IHR5cGUgeyBRdWVyeUtleSwgVXNlTXV0YXRpb25PcHRpb25zLCBVc2VRdWVyeU9wdGlvbnMgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VNdXRhdGlvbk9wdGlvbnM8VERhdGEsIFRFcnJvciwgVFZhcmlhYmxlcywgVENvbnRleHQ+KFxyXG4gIGJhc2U6IFVzZU11dGF0aW9uT3B0aW9uczxURGF0YSwgVEVycm9yLCBUVmFyaWFibGVzLCBUQ29udGV4dD4sXHJcbiAgb3B0aW9ucz86IFBhcnRpYWw8VXNlTXV0YXRpb25PcHRpb25zPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0Pj5cclxuKTogVXNlTXV0YXRpb25PcHRpb25zPFREYXRhLCBURXJyb3IsIFRWYXJpYWJsZXMsIFRDb250ZXh0PiB7XHJcbiAgaWYgKCFvcHRpb25zKSByZXR1cm4gYmFzZTtcclxuICBjb25zdCB7IG9uU3VjY2Vzcywgb25FcnJvciwgb25TZXR0bGVkLCBvbk11dGF0ZSwgLi4ucmVzdCB9ID0gb3B0aW9ucztcclxuICByZXR1cm4ge1xyXG4gICAgLi4uYmFzZSxcclxuICAgIC4uLnJlc3QsXHJcbiAgICAuLi4ob25NdXRhdGUgIT09IHVuZGVmaW5lZCAmJiB7XHJcbiAgICAgIG9uTXV0YXRlOiBhc3luYyAodmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgcHJldiA9IGF3YWl0IGJhc2Uub25NdXRhdGU/Lih2YXJpYWJsZXMsIGNvbnRleHQpO1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSBhd2FpdCBvcHRpb25zLm9uTXV0YXRlPy4odmFyaWFibGVzLCBjb250ZXh0KTtcclxuICAgICAgICByZXR1cm4gKG5leHQgIT09IHVuZGVmaW5lZCA/IG5leHQgOiBwcmV2KSBhcyBUQ29udGV4dDtcclxuICAgICAgfSxcclxuICAgIH0pLFxyXG4gICAgLi4uKG9uU3VjY2VzcyAhPT0gdW5kZWZpbmVkICYmIHtcclxuICAgICAgb25TdWNjZXNzOiBhc3luYyAoZGF0YSwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCkgPT4ge1xyXG4gICAgICAgIGF3YWl0IGJhc2Uub25TdWNjZXNzPy4oZGF0YSwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCk7XHJcbiAgICAgICAgYXdhaXQgb3B0aW9ucy5vblN1Y2Nlc3M/LihkYXRhLCB2YXJpYWJsZXMsIG9uTXV0YXRlUmVzdWx0LCBjb250ZXh0KTtcclxuICAgICAgfSxcclxuICAgIH0pLFxyXG4gICAgLi4uKG9uRXJyb3IgIT09IHVuZGVmaW5lZCAmJiB7XHJcbiAgICAgIG9uRXJyb3I6IGFzeW5jIChlcnJvciwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCkgPT4ge1xyXG4gICAgICAgIGF3YWl0IGJhc2Uub25FcnJvcj8uKGVycm9yLCB2YXJpYWJsZXMsIG9uTXV0YXRlUmVzdWx0LCBjb250ZXh0KTtcclxuICAgICAgICBhd2FpdCBvcHRpb25zLm9uRXJyb3I/LihlcnJvciwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICAgIC4uLihvblNldHRsZWQgIT09IHVuZGVmaW5lZCAmJiB7XHJcbiAgICAgIG9uU2V0dGxlZDogYXN5bmMgKGRhdGEsIGVycm9yLCB2YXJpYWJsZXMsIG9uTXV0YXRlUmVzdWx0LCBjb250ZXh0KSA9PiB7XHJcbiAgICAgICAgYXdhaXQgYmFzZS5vblNldHRsZWQ/LihkYXRhLCBlcnJvciwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCk7XHJcbiAgICAgICAgYXdhaXQgb3B0aW9ucy5vblNldHRsZWQ/LihkYXRhLCBlcnJvciwgdmFyaWFibGVzLCBvbk11dGF0ZVJlc3VsdCwgY29udGV4dCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VRdWVyeU9wdGlvbnM8VERhdGEsIFRFcnJvciwgVFF1ZXJ5S2V5IGV4dGVuZHMgUXVlcnlLZXk+KFxyXG4gIGJhc2U6IFVzZVF1ZXJ5T3B0aW9uczxURGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PixcclxuICBvcHRpb25zPzogUGFydGlhbDxVc2VRdWVyeU9wdGlvbnM8VERhdGEsIFRFcnJvciwgVERhdGEsIFRRdWVyeUtleT4+XHJcbik6IFVzZVF1ZXJ5T3B0aW9uczxURGF0YSwgVEVycm9yLCBURGF0YSwgVFF1ZXJ5S2V5PiB7XHJcbiAgaWYgKCFvcHRpb25zKSByZXR1cm4gYmFzZTtcclxuICByZXR1cm4ge1xyXG4gICAgLi4uYmFzZSxcclxuICAgIC4uLm9wdGlvbnMsXHJcbiAgfTtcclxufVxyXG4iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBQ0E7OztBQ0NPLFNBQVMsb0JBQXlELENBQ3ZFLE1BQ0EsU0FDeUQ7QUFBQSxFQUN6RCxJQUFJLENBQUM7QUFBQSxJQUFTLE9BQU87QUFBQSxFQUNyQixRQUFRLFdBQVcsU0FBUyxXQUFXLGFBQWEsU0FBUztBQUFBLEVBQzdELE9BQU87QUFBQSxPQUNGO0FBQUEsT0FDQTtBQUFBLE9BQ0MsYUFBYSxhQUFhO0FBQUEsTUFDNUIsVUFBVSxPQUFPLFdBQVcsWUFBWTtBQUFBLFFBQ3RDLE1BQU0sT0FBTyxNQUFNLEtBQUssV0FBVyxXQUFXLE9BQU87QUFBQSxRQUNyRCxNQUFNLE9BQU8sTUFBTSxRQUFRLFdBQVcsV0FBVyxPQUFPO0FBQUEsUUFDeEQsT0FBUSxTQUFTLFlBQVksT0FBTztBQUFBO0FBQUEsSUFFeEM7QUFBQSxPQUNJLGNBQWMsYUFBYTtBQUFBLE1BQzdCLFdBQVcsT0FBTyxNQUFNLFdBQVcsZ0JBQWdCLFlBQVk7QUFBQSxRQUM3RCxNQUFNLEtBQUssWUFBWSxNQUFNLFdBQVcsZ0JBQWdCLE9BQU87QUFBQSxRQUMvRCxNQUFNLFFBQVEsWUFBWSxNQUFNLFdBQVcsZ0JBQWdCLE9BQU87QUFBQTtBQUFBLElBRXRFO0FBQUEsT0FDSSxZQUFZLGFBQWE7QUFBQSxNQUMzQixTQUFTLE9BQU8sT0FBTyxXQUFXLGdCQUFnQixZQUFZO0FBQUEsUUFDNUQsTUFBTSxLQUFLLFVBQVUsT0FBTyxXQUFXLGdCQUFnQixPQUFPO0FBQUEsUUFDOUQsTUFBTSxRQUFRLFVBQVUsT0FBTyxXQUFXLGdCQUFnQixPQUFPO0FBQUE7QUFBQSxJQUVyRTtBQUFBLE9BQ0ksY0FBYyxhQUFhO0FBQUEsTUFDN0IsV0FBVyxPQUFPLE1BQU0sT0FBTyxXQUFXLGdCQUFnQixZQUFZO0FBQUEsUUFDcEUsTUFBTSxLQUFLLFlBQVksTUFBTSxPQUFPLFdBQVcsZ0JBQWdCLE9BQU87QUFBQSxRQUN0RSxNQUFNLFFBQVEsWUFBWSxNQUFNLE9BQU8sV0FBVyxnQkFBZ0IsT0FBTztBQUFBO0FBQUEsSUFFN0U7QUFBQSxFQUNGO0FBQUE7QUFHSyxTQUFTLGlCQUE0RCxDQUMxRSxNQUNBLFNBQ2tEO0FBQUEsRUFDbEQsSUFBSSxDQUFDO0FBQUEsSUFBUyxPQUFPO0FBQUEsRUFDckIsT0FBTztBQUFBLE9BQ0Y7QUFBQSxPQUNBO0FBQUEsRUFDTDtBQUFBOzs7QURWSyxTQUFTLHFCQUFpRCxDQUMvRCxTQU1pQztBQUFBLEVBSWpDLFFBQVEsZUFBZSxTQUFTO0FBQUEsRUFDaEMsT0FBTyxnQkFBMkM7QUFBQSxPQUM3QztBQUFBLElBQ0gsWUFBWSxPQUFPLGNBQWM7QUFBQSxNQUMvQixNQUFNLFdBQVcsTUFBTSxXQUFXLFNBQVM7QUFBQSxNQUMzQyxRQUFRLE1BQU0sVUFBVTtBQUFBLE1BQ3hCLElBQUk7QUFBQSxRQUFPLE1BQU07QUFBQSxNQUNqQixPQUFPO0FBQUE7QUFBQSxFQUVYLENBQUM7QUFBQTtBQUdJLFNBQVMsa0JBR2YsQ0FDQyxTQU95QztBQUFBLEVBR3pDLFFBQVEsU0FBUyxhQUFhLFNBQVM7QUFBQSxFQUN2QyxPQUFPLGFBQThDO0FBQUEsT0FDaEQ7QUFBQSxJQUNIO0FBQUEsSUFDQSxTQUFTLFlBQVk7QUFBQSxNQUNuQixNQUFNLFdBQVcsTUFBTSxRQUFRO0FBQUEsTUFDL0IsUUFBUSxNQUFNLFVBQVU7QUFBQSxNQUN4QixJQUFJO0FBQUEsUUFBTyxNQUFNO0FBQUEsTUFDakIsT0FBTztBQUFBO0FBQUEsRUFFWCxDQUFDO0FBQUE7QUFpREksU0FBUyxrQkFBOEMsQ0FDNUQsWUFDQSxZQUN5QjtBQUFBLEVBQ3pCLE9BQU8sQ0FBQyxZQUFZO0FBQUEsSUFDbEIsTUFBTSxjQUFjLHNCQUFzQixFQUFFLFdBQVcsQ0FBQztBQUFBLElBQ3hELE1BQU0saUJBQWlCLGFBQWE7QUFBQSxJQUNwQyxNQUFNLFNBQVMscUJBQ2IscUJBQXFCLGFBQWEsY0FBYyxHQUNoRCxPQUNGO0FBQUEsSUFDQSxPQUFPLFlBQVksTUFBTTtBQUFBO0FBQUE7QUFJdEIsU0FBUyxlQUdmLENBQ0MsU0FDQSxZQUdpQztBQUFBLEVBQ2pDLE9BQU8sQ0FBQyxTQUFTLFlBQVk7QUFBQSxJQUMzQixNQUFNLGlCQUFpQixhQUFhLE9BQU87QUFBQSxJQUMzQyxNQUFNLGNBQWMsbUJBQW1CO0FBQUEsTUFDckMsVUFBVyxnQkFBZ0IsWUFBYSxDQUFDLFlBQVksT0FBTztBQUFBLE1BQzVELFNBQVUsTUFBTSxRQUFRLE9BQU87QUFBQSxTQUM1QjtBQUFBLElBQ0wsQ0FBQztBQUFBLElBQ0QsTUFBTSxTQUFTLGtCQUNiLGFBQ0EsT0FNRjtBQUFBLElBQ0EsT0FBTyxTQUFTLE1BQU07QUFBQTtBQUFBOyIsCiAgImRlYnVnSWQiOiAiMzk3NEU4MEUxOTlCOUY4MDY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eden2query",
3
3
  "description": "Type-safe Eden Treaty to React Query helpers",
4
- "version": "0.3.4",
4
+ "version": "0.3.6",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -41,10 +41,12 @@
41
41
  "peerDependencies": {
42
42
  "@elysiajs/eden": "^1.4.6",
43
43
  "@tanstack/react-query": "^5.90.20",
44
+ "react": "^19.2.4",
44
45
  "typescript": "^5"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@types/bun": "latest",
49
+ "@types/react": "^19.2.14",
48
50
  "bunup": "^0.16.22",
49
51
  "elysia": "^1.4.22",
50
52
  "prettier": "^3.4.2"