valync 0.3.4 → 0.4.1

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
@@ -88,38 +88,38 @@ AsyncData<T>; // contains Option<T>: Some(value) or None
88
88
  import { useValync, AsyncValue } from "@epikoder/valync-react";
89
89
 
90
90
  function UserProfile({ userId }: { userId: string }) {
91
- const [state, refetch] = useValync<{ name: string; age: number }>(
92
- `/api/user/${userId}`,
93
- {
94
- fetchOnMount: true,
95
- retryCount: 2,
96
- },
97
- );
98
-
99
- return state.when({
100
- loading: () => <div>Loading...</div>,
101
- error: (err) => <div>Error: {err.message}</div>,
102
- data: (opt) =>
103
- opt.some ? (
104
- <div>
105
- {opt.val.name} ({opt.val.age} years old)
106
- </div>
107
- ) : (
108
- <div>No data available</div>
109
- ),
110
- });
91
+ const [state, refetch] = useValync<{ name: string; age: number }>(
92
+ `/api/user/${userId}`,
93
+ {
94
+ fetchOnMount: true,
95
+ retryCount: 2,
96
+ },
97
+ );
98
+
99
+ return state.when({
100
+ loading: () => <div>Loading...</div>,
101
+ error: (err) => <div>Error: {err.message}</div>,
102
+ data: (opt) =>
103
+ opt.some ? (
104
+ <div>
105
+ {opt.val.name} ({opt.val.age} years old)
106
+ </div>
107
+ ) : (
108
+ <div>No data available</div>
109
+ ),
110
+ });
111
111
  }
112
112
  ```
113
113
 
114
114
  ```tsx
115
115
  const [state, onLogin] = useValync("/api/auth", {
116
- cache: false,
117
- fetchOnMount: false,
118
- init: {
119
- method: "POST",
120
- headers: { "Content-Type": "application/json" },
121
- body: JSON.stringify({ email, password }),
122
- },
116
+ cache: false,
117
+ fetchOnMount: false,
118
+ init: {
119
+ method: "POST",
120
+ headers: { "Content-Type": "application/json" },
121
+ body: JSON.stringify({ email, password }),
122
+ },
123
123
  });
124
124
  ```
125
125
 
@@ -130,21 +130,21 @@ import { useValync, AsyncValue } from "@epikoder/valync-vue";
130
130
  import { computed } from "vue";
131
131
 
132
132
  export default {
133
- setup() {
134
- const [state, refetch] = useValync("/api/user/123", {
135
- fetchOnMount: true,
136
- });
137
-
138
- const userDisplay = computed(() =>
139
- state.when({
140
- loading: () => "Loading...",
141
- error: (e) => `Error: ${e.message}`,
142
- data: (opt) => (opt.some ? `${opt.val.name}` : "No user"),
143
- }),
144
- );
145
-
146
- return { userDisplay, refetch };
147
- },
133
+ setup() {
134
+ const [state, refetch] = useValync("/api/user/123", {
135
+ fetchOnMount: true,
136
+ });
137
+
138
+ const userDisplay = computed(() =>
139
+ state.when({
140
+ loading: () => "Loading...",
141
+ error: (e) => `Error: ${e.message}`,
142
+ data: (opt) => (opt.some ? `${opt.val.name}` : "No user"),
143
+ }),
144
+ );
145
+
146
+ return { userDisplay, refetch };
147
+ },
148
148
  };
149
149
  ```
150
150
 
@@ -160,9 +160,9 @@ for use within template you can use `state.isLoading()`, `state.isData()` and `s
160
160
 
161
161
  ```tsx
162
162
  import axios from "axios";
163
- import { createValyn } from "valync/react";
163
+ import { createValync } from "valync/react";
164
164
 
165
- const useAxiosValync = createValyn({
165
+ const useAxiosValync = createValync({
166
166
  client: async (url, init) =>
167
167
  await axios({ url, ...init }).then((res) => {"status": "success"; "data": res.data}), // transforms to data
168
168
  });
@@ -1,6 +1,10 @@
1
1
  import { Option } from "ts-results-es";
2
+ import { DefaultValyncClient } from "./util";
3
+ export { DefaultValyncClient };
4
+ export type RequestBody = BodyInit | Record<string, unknown>;
2
5
  export type ValyncOptions<T> = {
3
6
  init?: Omit<RequestInit, "signal">;
7
+ files?: File[] | [string, File][];
4
8
  cache?: boolean;
5
9
  fetchOnMount?: boolean;
6
10
  retryCount?: number;
@@ -79,4 +83,9 @@ export declare class AsyncData<T> extends AsyncValue<T> {
79
83
  constructor(value: Option<T>);
80
84
  when<R>(h: Handler<T, R>): R;
81
85
  }
86
+ export declare function buildRequestBody(body?: RequestBody | null, files?: File[] | [string, File][]): {
87
+ body: BodyInit | null | undefined;
88
+ isMultipart: boolean;
89
+ };
90
+ export declare function mergeHeaders(base?: HeadersInit, extra?: HeadersInit): Record<string, string>;
82
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACnD,CAAC;AAGF,MAAM,MAAM,QAAQ,GACjB,MAAM,GACN,CAAC;IACD,GAAG,EAAE,MAAM,CAAC;CACX,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAG5B,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAMlD;AAGD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACR,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AACtE,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAGxE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC5D,MAAM,WAAW,QAAQ,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC;CAC7C;AAED,qBAAa,aAAa,CAAC,CAAC;IACf,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,SAAS,CAA2C;IAErD,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAM3B,QAAQ;qBAEA,aAAa,CAAC,CAAC,CAAC;;IAOxB,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;CAI7B;AAGD,8BAAsB,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;IAE5C,SAAS,IAAI,IAAI,IAAI,YAAY;IAIjC,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;IAI9B,OAAO,IAAI,IAAI,IAAI,UAAU;CAG7B;AAGD,qBAAa,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CAG5B;AAGD,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAEjD,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;gBAAhE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAIxE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CAG5B;AAGD,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAAhB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAGnC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CAG5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { DefaultValyncClient } from "./util";
2
+ export { DefaultValyncClient };
1
3
  // Normalize cache key (convert object to stable string)
2
4
  export function normalizeKey(key) {
3
5
  if (typeof key === "string")
@@ -67,4 +69,65 @@ export class AsyncData extends AsyncValue {
67
69
  return h.data ? h.data(this.value) : undefined;
68
70
  }
69
71
  }
72
+ function isPlainObject(v) {
73
+ if (v === null || typeof v !== "object")
74
+ return false;
75
+ if (v instanceof Blob)
76
+ return false;
77
+ if (v instanceof FormData)
78
+ return false;
79
+ if (v instanceof URLSearchParams)
80
+ return false;
81
+ if (v instanceof ArrayBuffer)
82
+ return false;
83
+ if (typeof ReadableStream !== "undefined" && v instanceof ReadableStream)
84
+ return false;
85
+ return true;
86
+ }
87
+ export function buildRequestBody(body, files) {
88
+ if (files?.length) {
89
+ const fd = body instanceof FormData ? body : new FormData();
90
+ if (body && !(body instanceof FormData) && isPlainObject(body)) {
91
+ for (const [k, v] of Object.entries(body)) {
92
+ fd.append(k, String(v));
93
+ }
94
+ }
95
+ for (const file of files) {
96
+ if (Array.isArray(file)) {
97
+ fd.append(file[0], file[1]);
98
+ }
99
+ else {
100
+ fd.append("file", file);
101
+ }
102
+ }
103
+ return { body: fd, isMultipart: true };
104
+ }
105
+ if (body instanceof FormData) {
106
+ return { body, isMultipart: true };
107
+ }
108
+ if (isPlainObject(body)) {
109
+ return { body: JSON.stringify(body), isMultipart: false };
110
+ }
111
+ return { body: body, isMultipart: false };
112
+ }
113
+ export function mergeHeaders(base, extra) {
114
+ const result = {};
115
+ const append = (h) => {
116
+ if (!h)
117
+ return;
118
+ if (h instanceof Headers) {
119
+ h.forEach((v, k) => (result[k] = v));
120
+ }
121
+ else if (Array.isArray(h)) {
122
+ for (const [k, v] of h)
123
+ result[k] = v;
124
+ }
125
+ else {
126
+ Object.assign(result, h);
127
+ }
128
+ };
129
+ append(base);
130
+ append(extra);
131
+ return result;
132
+ }
70
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAuBA,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAa;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAExC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAgC,CAAC,CAAC;IACrE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtC,CAAC;AA4BD,MAAM,OAAO,aAAa;IACzB,YAAoB,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;QACnC,cAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;IADd,CAAC;IAGxC,MAAM,CAAC,EAAoB;QACjC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ;QACd,OAAO;YACN,MAAM,EAAE,CAAC,EAAoB,EAAE,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;SACD,CAAC;IACH,CAAC;IAEM,GAAG,CAAC,GAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;CACD;AAED,sCAAsC;AACtC,MAAM,OAAgB,UAAU;IAG/B,SAAS;QACR,OAAO,IAAI,YAAY,YAAY,CAAC;IACrC,CAAC;IAED,MAAM;QACL,OAAO,IAAI,YAAY,SAAS,CAAC;IAClC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,YAAY,UAAU,CAAC;IACnC,CAAC;CACD;AAED,2BAA2B;AAC3B,MAAM,OAAO,YAA0B,SAAQ,UAAa;IAC3D,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;CACD;AAED,qCAAqC;AACrC,MAAM,OAAO,UAAwB,SAAQ,UAAa;IACzD,YACQ,KAAgE;QAEvE,KAAK,EAAE,CAAC;QAFD,UAAK,GAAL,KAAK,CAA2D;IAGxE,CAAC;IACD,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;CACD;AAED,6CAA6C;AAC7C,MAAM,OAAO,SAAa,SAAQ,UAAa;IAC9C,YAAmB,KAAgB;QAClC,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAW;IAEnC,CAAC;IACD,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAwB/B,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAa;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAExC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAgC,CAAC,CAAC;IACrE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtC,CAAC;AA4BD,MAAM,OAAO,aAAa;IACzB,YAAoB,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;QACnC,cAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;IADd,CAAC;IAGxC,MAAM,CAAC,EAAoB;QACjC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ;QACd,OAAO;YACN,MAAM,EAAE,CAAC,EAAoB,EAAE,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;SACD,CAAC;IACH,CAAC;IAEM,GAAG,CAAC,GAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;CACD;AAED,sCAAsC;AACtC,MAAM,OAAgB,UAAU;IAG/B,SAAS;QACR,OAAO,IAAI,YAAY,YAAY,CAAC;IACrC,CAAC;IAED,MAAM;QACL,OAAO,IAAI,YAAY,SAAS,CAAC;IAClC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,YAAY,UAAU,CAAC;IACnC,CAAC;CACD;AAED,2BAA2B;AAC3B,MAAM,OAAO,YAA0B,SAAQ,UAAa;IAC3D,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;CACD;AAED,qCAAqC;AACrC,MAAM,OAAO,UAAwB,SAAQ,UAAa;IACzD,YACQ,KAAgE;QAEvE,KAAK,EAAE,CAAC;QAFD,UAAK,GAAL,KAAK,CAA2D;IAGxE,CAAC;IACD,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;CACD;AAED,6CAA6C;AAC7C,MAAM,OAAO,SAAa,SAAQ,UAAa;IAC9C,YAAmB,KAAgB;QAClC,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAW;IAEnC,CAAC;IACD,IAAI,CAAI,CAAgB;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;CACD;AAED,SAAS,aAAa,CAAC,CAAU;IAChC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,CAAC,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,YAAY,eAAe;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC,YAAY,WAAW;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,YAAY,cAAc;QACvE,OAAO,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,IAAyB,EACzB,KAAiC;IAEjC,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC5D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAY,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAmC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,IAAkB,EAClB,KAAmB;IAEnB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,4BAuClE,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,4BA4ClE,CAAC"}
package/dist/core/util.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export const DefaultValyncClient = (url, init) => fetch(url, init).then(async (resp) => {
2
+ if (resp.status === 204) {
3
+ return { status: "success", data: null };
4
+ }
2
5
  let json;
3
6
  try {
4
7
  json = await resp.json();
@@ -9,6 +12,7 @@ export const DefaultValyncClient = (url, init) => fetch(url, init).then(async (r
9
12
  error: {
10
13
  name: "ParseError",
11
14
  message: "Invalid JSON",
15
+ code: resp.status,
12
16
  },
13
17
  };
14
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,IAAiB,EAAE,EAAE,CACxE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAA2B,EAAE;IAC7D,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,cAAc;aACvB;SACD,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,CAAC,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;YACnB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;QACF,OAAO,CAAC,IAAI,CACX,uDAAuD,EACvD,IAAI,CACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,IAAI,EAAE,IAAI,CAAC,MAAM;aACjB;SACD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,IAAiB,EAAE,EAAE,CACxE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAA2B,EAAE;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM;aACjB;SACD,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACrC,CAAC,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;YACnB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;QACF,OAAO,CAAC,IAAI,CACX,uDAAuD,EACvD,IAAI,CACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,IAAI,EAAE,IAAI,CAAC,MAAM;aACjB;SACD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC"}
@@ -1,8 +1,19 @@
1
- import { ApiResponse, AsyncValue, ValyncOptions, Observer, CacheKey, RequestMethod } from "../core/index";
1
+ import { ApiResponse, AsyncValue, ValyncOptions, Observer, CacheKey, RequestMethod, RequestBody } from "../core/index";
2
+ export type CreateValyncOptions = Pick<ValyncOptions<any>, "cache" | "retryCount" | "fetchOnMount"> & {
3
+ headers?: HeadersInit | (() => HeadersInit);
4
+ onError?: (err: {
5
+ name: string;
6
+ message: string;
7
+ code?: number | string;
8
+ }) => boolean | Promise<boolean>;
9
+ };
2
10
  /**
3
- * createValyn creates a custom `useValync` hook bound to a provided HTTP client function.
11
+ * createValync creates a custom `useValync` hook bound to a provided HTTP client function.
4
12
  * Useful for plugging in your own fetch logic or a library like axios.
5
13
  *
14
+ * The `options.onError` callback receives every API-level error. Returning `true` (or a
15
+ * Promise resolving to `true`) triggers a single retry — useful for token-refresh flows.
16
+ *
6
17
  * ⚠️ NOTE:
7
18
  * Your `client()` function MUST return a Promise resolving to:
8
19
  *
@@ -14,18 +25,16 @@ import { ApiResponse, AsyncValue, ValyncOptions, Observer, CacheKey, RequestMeth
14
25
  * error?: { name: string; message: string; code?: number }
15
26
  * }
16
27
  *
17
- * use `onData` to apply transformation from `any => T` for individual endpoint when neccessary.
18
- * Returning a plain array or object without the `status` field will cause issues.
28
+ * use `onData` to apply transformation from `any => T` for individual endpoints when necessary.
19
29
  */
20
- export declare function createValyn({ client, options: _options, }: {
30
+ export declare function createValync({ client, options: _options, }: {
21
31
  client: (url: string, init: RequestInit) => Promise<ApiResponse<any>>;
22
- options?: Pick<ValyncOptions<any>, "cache" | "retryCount" | "fetchOnMount"> & {
23
- headers?: HeadersInit;
24
- };
32
+ options?: CreateValyncOptions;
25
33
  }): <T>(key: CacheKey, options?: ValyncOptions<T>) => [AsyncValue<T>, (methodOrOpts?: RequestMethod | {
26
34
  method?: RequestMethod;
27
- body?: BodyInit;
28
- }, body?: BodyInit) => void, (updater: (prev: T | null) => T) => void, Observer<T>];
35
+ body?: RequestBody;
36
+ files?: File[] | [string, File][];
37
+ }, body?: RequestBody, files?: File[] | [string, File][]) => void, (updater: (prev: T | null) => T) => void, Observer<T>];
29
38
  /**
30
39
  * useValync is a client-side data fetching hook that provides async state management
31
40
  * with caching, optimistic updates, and reactive watching support.
@@ -41,15 +50,17 @@ export declare function createValyn({ client, options: _options, }: {
41
50
  * error?: { name: string; message: string; code?: number }
42
51
  * }
43
52
  *
44
- * Use `onData` if `res.data` does not match your expected frontend type or if you wish to apply transformation,
45
- * so returning a plain array or object without the `status` field will cause issues.
53
+ * Use `onData` if `res.data` does not match your expected frontend type or if you wish to
54
+ * apply transformation. Returning a plain array or object without the `status` field will
55
+ * cause issues.
46
56
  */
47
57
  export declare function useValync<T>(key: CacheKey, options?: ValyncOptions<T>): [
48
58
  AsyncValue<T>,
49
59
  (methodOrOpts?: RequestMethod | {
50
60
  method?: RequestMethod;
51
- body?: BodyInit;
52
- }, body?: BodyInit) => void,
61
+ body?: RequestBody;
62
+ files?: File[] | [string, File][];
63
+ }, body?: RequestBody, files?: File[] | [string, File][]) => void,
53
64
  (updater: (prev: T | null) => T) => void,
54
65
  Observer<T>
55
66
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,WAAW,EACX,UAAU,EAIV,aAAa,EACb,QAAQ,EAER,QAAQ,EACR,aAAa,EACb,MAAM,eAAe,CAAC;AAIvB;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,WAAW,CAAC,EAC3B,MAAM,EACN,OAAO,EAAE,QAAa,GACtB,EAAE;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,IAAI,CACb,aAAa,CAAC,GAAG,CAAC,EAClB,OAAO,GAAG,YAAY,GAAG,cAAc,CACvC,GAAG;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;CAC9B,IAC6B,CAAC,EAC7B,KAAK,QAAQ,EACb,UAAS,aAAa,CAAC,CAAC,CAAM,KAC5B,CACF,UAAU,CAAC,CAAC,CAAC,EACb,CACC,YAAY,CAAC,EACV,aAAa,GACb;IACA,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACf,EACJ,IAAI,CAAC,EAAE,QAAQ,KACX,IAAI,EACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EACxC,QAAQ,CAAC,CAAC,CAAC,CACX,CAoJD;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM,GAC5B;IACF,UAAU,CAAC,CAAC,CAAC;IACb,CACC,YAAY,CAAC,EACV,aAAa,GACb;QACA,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACf,EACJ,IAAI,CAAC,EAAE,QAAQ,KACX,IAAI;IACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI;IACxC,QAAQ,CAAC,CAAC,CAAC;CACX,CA+JA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,WAAW,EACX,UAAU,EAIV,aAAa,EACb,QAAQ,EAER,QAAQ,EACR,aAAa,EACb,WAAW,EAGX,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACrC,aAAa,CAAC,GAAG,CAAC,EAClB,OAAO,GAAG,YAAY,GAAG,cAAc,CACvC,GAAG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAC5B,MAAM,EACN,OAAO,EAAE,QAAa,GACtB,EAAE;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC9B,IAC6B,CAAC,EAC7B,KAAK,QAAQ,EACb,UAAS,aAAa,CAAC,CAAC,CAAM,KAC5B,CACF,UAAU,CAAC,CAAC,CAAC,EACb,CACC,YAAY,CAAC,EACV,aAAa,GACb;IACA,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;CACjC,EACJ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAC7B,IAAI,EACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EACxC,QAAQ,CAAC,CAAC,CAAC,CACX,CAwLD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAC1B,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM,GAC5B;IACF,UAAU,CAAC,CAAC,CAAC;IACb,CACC,YAAY,CAAC,EACV,aAAa,GACb;QACA,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;KACjC,EACJ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAC7B,IAAI;IACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI;IACxC,QAAQ,CAAC,CAAC,CAAC;CACX,CAwLA"}
@@ -1,11 +1,14 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { Some, None } from "ts-results-es";
3
- import { normalizeKey, AsyncLoading, AsyncError, AsyncData, AsyncObserver, } from "../core/index";
3
+ import { normalizeKey, AsyncLoading, AsyncError, AsyncData, AsyncObserver, buildRequestBody, mergeHeaders, } from "../core/index";
4
4
  const cache = new Map();
5
5
  /**
6
- * createValyn creates a custom `useValync` hook bound to a provided HTTP client function.
6
+ * createValync creates a custom `useValync` hook bound to a provided HTTP client function.
7
7
  * Useful for plugging in your own fetch logic or a library like axios.
8
8
  *
9
+ * The `options.onError` callback receives every API-level error. Returning `true` (or a
10
+ * Promise resolving to `true`) triggers a single retry — useful for token-refresh flows.
11
+ *
9
12
  * ⚠️ NOTE:
10
13
  * Your `client()` function MUST return a Promise resolving to:
11
14
  *
@@ -17,15 +20,16 @@ const cache = new Map();
17
20
  * error?: { name: string; message: string; code?: number }
18
21
  * }
19
22
  *
20
- * use `onData` to apply transformation from `any => T` for individual endpoint when neccessary.
21
- * Returning a plain array or object without the `status` field will cause issues.
23
+ * use `onData` to apply transformation from `any => T` for individual endpoints when necessary.
22
24
  */
23
- export function createValyn({ client, options: _options = {}, }) {
25
+ export function createValync({ client, options: _options = {}, }) {
24
26
  return function useValynHook(key, options = {}) {
25
- options.init = options.init || {};
27
+ const resolvedGlobalHeaders = typeof _options.headers === "function"
28
+ ? _options.headers()
29
+ : _options.headers;
26
30
  options.init = {
27
31
  ...options.init,
28
- headers: { ...options.init.headers, ..._options.headers },
32
+ headers: mergeHeaders(options.init?.headers, resolvedGlobalHeaders),
29
33
  };
30
34
  options.cache = options.cache ?? _options.cache;
31
35
  options.retryCount = options.retryCount ?? _options.retryCount;
@@ -35,10 +39,9 @@ export function createValyn({ client, options: _options = {}, }) {
35
39
  const observerRef = useRef(new AsyncObserver(new AsyncData(None)));
36
40
  const [state, setState] = useState(() => {
37
41
  if (options.initialData) {
38
- const initialData = options.initialData.status === "success"
42
+ return options.initialData.status === "success"
39
43
  ? new AsyncData(Some(options.initialData.data))
40
44
  : new AsyncError(options.initialData.error);
41
- return initialData;
42
45
  }
43
46
  if (options.cache !== false && cache.has(keyStr)) {
44
47
  return cache.get(keyStr);
@@ -46,7 +49,7 @@ export function createValyn({ client, options: _options = {}, }) {
46
49
  return new AsyncData(None);
47
50
  });
48
51
  const isClient = typeof window !== "undefined" && typeof AbortController !== "undefined";
49
- const doFetch = (method, body) => {
52
+ const doFetch = (method, body, files) => {
50
53
  controllerRef.current?.abort();
51
54
  const ctrl = new AbortController();
52
55
  controllerRef.current = ctrl;
@@ -55,17 +58,32 @@ export function createValyn({ client, options: _options = {}, }) {
55
58
  return;
56
59
  }
57
60
  setState(new AsyncLoading());
61
+ const resolvedFiles = files ?? options.files;
62
+ const { body: resolvedBody, isMultipart } = buildRequestBody(body ?? options.init?.body, resolvedFiles);
63
+ let globalRetryDone = false;
58
64
  const attempt = (tries) => {
65
+ // Re-resolve dynamic global headers on every attempt (supports token refresh)
66
+ const freshGlobalHeaders = typeof _options.headers === "function"
67
+ ? _options.headers()
68
+ : _options.headers;
69
+ const merged = mergeHeaders(options.init?.headers, freshGlobalHeaders);
70
+ if (!isMultipart &&
71
+ resolvedBody != null &&
72
+ !("content-type" in merged)) {
73
+ merged["content-type"] = "application/json";
74
+ }
59
75
  client(typeof key === "string" ? key : keyStr, {
60
76
  ...options.init,
61
- method: method ?? options.init?.method ?? (body ? "POST" : "GET"),
62
- body: body ?? options.init?.body,
77
+ method: method ??
78
+ options.init?.method ??
79
+ (resolvedBody != null ? "POST" : "GET"),
80
+ body: resolvedBody,
81
+ headers: merged,
63
82
  signal: ctrl.signal,
64
83
  })
65
- .then((res) => {
84
+ .then(async (res) => {
66
85
  if (ctrl.signal.aborted)
67
86
  return;
68
- // DEV-ONLY: Validate ApiResponse<T> shape
69
87
  if (process.env.NODE_ENV !== "production" &&
70
88
  (typeof res !== "object" ||
71
89
  !("status" in res) ||
@@ -73,6 +91,14 @@ export function createValyn({ client, options: _options = {}, }) {
73
91
  console.warn(`[Valync] Expected ApiResponse<T> format missing from client() response. Got:`, res);
74
92
  }
75
93
  if (res.status === "failed") {
94
+ if (_options.onError && !globalRetryDone) {
95
+ const shouldRetry = await _options.onError(res.error);
96
+ if (shouldRetry && !ctrl.signal.aborted) {
97
+ globalRetryDone = true;
98
+ attempt(0);
99
+ return;
100
+ }
101
+ }
76
102
  setState(new AsyncError(res.error));
77
103
  options.onError?.(res.error);
78
104
  return;
@@ -89,14 +115,8 @@ export function createValyn({ client, options: _options = {}, }) {
89
115
  return;
90
116
  if (tries > 0)
91
117
  return attempt(tries - 1);
92
- options.onError?.({
93
- name: "NetworkError",
94
- message: err.message,
95
- });
96
- setState(new AsyncError({
97
- name: "NetworkError",
98
- message: err.message,
99
- }));
118
+ options.onError?.({ name: "NetworkError", message: err.message });
119
+ setState(new AsyncError({ name: "NetworkError", message: err.message }));
100
120
  });
101
121
  };
102
122
  attempt(options.retryCount ?? 0);
@@ -123,15 +143,15 @@ export function createValyn({ client, options: _options = {}, }) {
123
143
  const intervalId = setInterval(doFetch, options.fetchInterval);
124
144
  return () => clearInterval(intervalId);
125
145
  }, [options.fetchInterval, isClient]);
126
- const fetchFn = (methodOrOpts, body) => {
146
+ const fetchFn = (methodOrOpts, body, files) => {
127
147
  if (!isClient)
128
148
  return;
129
149
  cache.delete(normalizeKey(keyStr));
130
150
  if (typeof methodOrOpts === "string") {
131
- doFetch(methodOrOpts, body);
151
+ doFetch(methodOrOpts, body, files);
132
152
  }
133
153
  else {
134
- doFetch(methodOrOpts?.method, methodOrOpts?.body);
154
+ doFetch(methodOrOpts?.method, methodOrOpts?.body, methodOrOpts?.files);
135
155
  }
136
156
  };
137
157
  const setData = (updater) => {
@@ -164,8 +184,9 @@ export function createValyn({ client, options: _options = {}, }) {
164
184
  * error?: { name: string; message: string; code?: number }
165
185
  * }
166
186
  *
167
- * Use `onData` if `res.data` does not match your expected frontend type or if you wish to apply transformation,
168
- * so returning a plain array or object without the `status` field will cause issues.
187
+ * Use `onData` if `res.data` does not match your expected frontend type or if you wish to
188
+ * apply transformation. Returning a plain array or object without the `status` field will
189
+ * cause issues.
169
190
  */
170
191
  export function useValync(key, options = {}) {
171
192
  const keyStr = normalizeKey(key);
@@ -183,7 +204,7 @@ export function useValync(key, options = {}) {
183
204
  return new AsyncData(None);
184
205
  });
185
206
  const isClient = typeof window !== "undefined" && typeof AbortController !== "undefined";
186
- const doFetch = (method, body) => {
207
+ const doFetch = (method, body, files) => {
187
208
  controllerRef.current?.abort();
188
209
  const ctrl = new AbortController();
189
210
  controllerRef.current = ctrl;
@@ -192,14 +213,29 @@ export function useValync(key, options = {}) {
192
213
  return;
193
214
  }
194
215
  setState(new AsyncLoading());
216
+ const resolvedFiles = files ?? options.files;
217
+ const { body: resolvedBody, isMultipart } = buildRequestBody(body ?? options.init?.body, resolvedFiles);
218
+ const buildHeaders = () => {
219
+ const h = mergeHeaders(options.init?.headers);
220
+ if (!isMultipart && resolvedBody != null && !("content-type" in h)) {
221
+ h["content-type"] = "application/json";
222
+ }
223
+ return h;
224
+ };
195
225
  const attempt = (tries) => {
196
226
  fetch(typeof key === "string" ? key : keyStr, {
197
227
  ...options.init,
198
- method: method ?? options.init?.method ?? (body ? "POST" : "GET"),
199
- body: body ?? options.init?.body,
228
+ method: method ??
229
+ options.init?.method ??
230
+ (resolvedBody != null ? "POST" : "GET"),
231
+ body: resolvedBody,
232
+ headers: buildHeaders(),
200
233
  signal: ctrl.signal,
201
234
  })
202
235
  .then(async (resp) => {
236
+ if (resp.status === 204) {
237
+ return { status: "success", data: null };
238
+ }
203
239
  let json;
204
240
  try {
205
241
  json = await resp.json();
@@ -210,10 +246,10 @@ export function useValync(key, options = {}) {
210
246
  error: {
211
247
  name: "ParseError",
212
248
  message: "Invalid JSON",
249
+ code: resp.status,
213
250
  },
214
251
  };
215
252
  }
216
- // DEV-ONLY: Validate ApiResponse format
217
253
  if (process.env.NODE_ENV !== "production" &&
218
254
  (typeof json !== "object" ||
219
255
  !("status" in json) ||
@@ -253,14 +289,8 @@ export function useValync(key, options = {}) {
253
289
  return;
254
290
  if (tries > 0)
255
291
  return attempt(tries - 1);
256
- setState(new AsyncError({
257
- name: "NetworkError",
258
- message: err.message,
259
- }));
260
- options.onError?.({
261
- name: "NetworkError",
262
- message: err.message,
263
- });
292
+ setState(new AsyncError({ name: "NetworkError", message: err.message }));
293
+ options.onError?.({ name: "NetworkError", message: err.message });
264
294
  });
265
295
  };
266
296
  attempt(options.retryCount ?? 0);
@@ -287,15 +317,15 @@ export function useValync(key, options = {}) {
287
317
  const intervalId = setInterval(doFetch, options.fetchInterval);
288
318
  return () => clearInterval(intervalId);
289
319
  }, [options.fetchInterval, isClient]);
290
- const fetchFn = (methodOrOpts, body) => {
320
+ const fetchFn = (methodOrOpts, body, files) => {
291
321
  if (!isClient)
292
322
  return;
293
323
  cache.delete(normalizeKey(keyStr));
294
324
  if (typeof methodOrOpts === "string") {
295
- doFetch(methodOrOpts, body);
325
+ doFetch(methodOrOpts, body, files);
296
326
  }
297
327
  else {
298
- doFetch(methodOrOpts?.method, methodOrOpts?.body);
328
+ doFetch(methodOrOpts?.method, methodOrOpts?.body, methodOrOpts?.files);
299
329
  }
300
330
  };
301
331
  const setData = (updater) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACN,YAAY,EAGZ,YAAY,EACZ,UAAU,EACV,SAAS,EAGT,aAAa,EAIb,gBAAgB,EAChB,YAAY,GACZ,MAAM,eAAe,CAAC;AAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;AAchD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,YAAY,CAAC,EAC5B,MAAM,EACN,OAAO,EAAE,QAAQ,GAAG,EAAE,GAItB;IACA,OAAO,SAAS,YAAY,CAC3B,GAAa,EACb,UAA4B,EAAE;QAiB9B,MAAM,qBAAqB,GAC1B,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;YACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;YACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAErB,OAAO,CAAC,IAAI,GAAG;YACd,GAAG,OAAO,CAAC,IAAI;YACf,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC;SACnE,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAChD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;QAC/D,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;QAErE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,aAAa,CAAI,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,GAAkB,EAAE;YACrE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;oBAC9C,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,IAAI,UAAU,CAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YAC3B,CAAC;YACD,OAAO,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;QAEzE,MAAM,OAAO,GAAG,CACf,MAAsB,EACtB,IAAkB,EAClB,KAAiC,EAChC,EAAE;YACH,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAE7B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;gBAC7B,OAAO;YACR,CAAC;YAED,QAAQ,CAAC,IAAI,YAAY,EAAK,CAAC,CAAC;YAEhC,MAAM,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAC3D,IAAI,IAAK,OAAO,CAAC,IAAI,EAAE,IAAgC,EACvD,aAAa,CACb,CAAC;YAEF,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;gBACjC,8EAA8E;gBAC9E,MAAM,kBAAkB,GACvB,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;oBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACvE,IACC,CAAC,WAAW;oBACZ,YAAY,IAAI,IAAI;oBACpB,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAC1B,CAAC;oBACF,MAAM,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;gBAC7C,CAAC;gBAED,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC9C,GAAG,OAAO,CAAC,IAAI;oBACf,MAAM,EACL,MAAM;wBACN,OAAO,CAAC,IAAI,EAAE,MAAM;wBACpB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;oBACxC,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC;qBACA,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACnB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAEhC,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;wBACrC,CAAC,OAAO,GAAG,KAAK,QAAQ;4BACvB,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;4BAClB,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACtD,CAAC;wBACF,OAAO,CAAC,IAAI,CACX,8EAA8E,EAC9E,GAAG,CACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7B,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;4BAC1C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACzC,eAAe,GAAG,IAAI,CAAC;gCACvB,OAAO,CAAC,CAAC,CAAC,CAAC;gCACX,OAAO;4BACR,CAAC;wBACF,CAAC;wBACD,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBACpC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC7B,OAAO;oBACR,CAAC;oBAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;oBACpD,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAChC,IAAI,KAAK,GAAG,CAAC;wBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,QAAQ,CACP,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW;gBAAE,OAAO;YAC7C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;gBAAE,OAAO,EAAE,CAAC;YAC9C,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAEb,SAAS,CAAC,GAAG,EAAE;YACd,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAEZ,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,OAAO;YAC3B,IAAI,QAAQ;gBAAE,OAAO,EAAE,CAAC;QACzB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/B,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAChD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,CACf,YAMI,EACJ,IAAkB,EAClB,KAAiC,EAChC,EAAE;YACH,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjB,IAAI,CAAC,CAAC,IAAI,YAAY,SAAS,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;oBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACxD,OAAO,OAAO,CAAC;YAChB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,SAAS,CACxB,GAAa,EACb,UAA4B,EAAE;IAiB9B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,aAAa,CAAI,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACtD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;gBAC9C,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;IAEzE,MAAM,OAAO,GAAG,CACf,MAAsB,EACtB,IAAkB,EAClB,KAAiC,EAChC,EAAE;QACH,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAE7B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,QAAQ,CAAC,IAAI,YAAY,EAAK,CAAC,CAAC;QAEhC,MAAM,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAC3D,IAAI,IAAK,OAAO,CAAC,IAAI,EAAE,IAAgC,EACvD,aAAa,CACb,CAAC;QAEF,MAAM,YAAY,GAAG,GAA2B,EAAE;YACjD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACjC,KAAK,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC7C,GAAG,OAAO,CAAC,IAAI;gBACf,MAAM,EACL,MAAM;oBACN,OAAO,CAAC,IAAI,EAAE,MAAM;oBACpB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,YAAY,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC;iBACA,IAAI,CAAC,KAAK,EAAE,IAAI,EAA2B,EAAE;gBAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;gBAC1D,CAAC;gBAED,IAAI,IAAS,CAAC;gBACd,IAAI,CAAC;oBACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE;4BACN,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,cAAc;4BACvB,IAAI,EAAE,IAAI,CAAC,MAAM;yBACjB;qBACD,CAAC;gBACH,CAAC;gBAED,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;oBACrC,CAAC,OAAO,IAAI,KAAK,QAAQ;wBACxB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;wBACnB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;oBACF,OAAO,CAAC,IAAI,CACX,uDAAuD,EACvD,IAAI,CACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC1C,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI;4BACrB,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,IAAI,CAAC,UAAU;4BACxB,IAAI,EAAE,IAAI,CAAC,MAAM;yBACjB;qBACD,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAChC,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC7B,QAAQ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;oBACpD,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAChC,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACzC,QAAQ,CACP,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;gBACF,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW;YAAE,OAAO;QAC7C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;YAAE,OAAO,EAAE,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO;QAC3B,IAAI,QAAQ;YAAE,OAAO,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,QAAQ;YAAE,OAAO;QAChD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,CACf,YAMI,EACJ,IAAkB,EAClB,KAAiC,EAChC,EAAE;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;QAClD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,CAAC,IAAI,YAAY,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC;QAChB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC"}
@@ -1,37 +1,36 @@
1
1
  import { Ref } from "vue";
2
- import { ApiResponse, AsyncValue, AsyncLoading, AsyncError, AsyncData, ValyncOptions, Observer, CacheKey, RequestMethod } from "../core/index";
2
+ import { ApiResponse, AsyncValue, AsyncLoading, AsyncError, AsyncData, ValyncOptions, Observer, CacheKey, RequestMethod, RequestBody } from "../core/index";
3
3
  export type ValyncVueOptions<T> = Omit<ValyncOptions<T>, "init"> & {
4
4
  init?: Ref<RequestInit>;
5
5
  };
6
+ export type CreateValyncVueOptions = Pick<ValyncOptions<any>, "cache" | "retryCount" | "fetchOnMount"> & {
7
+ headers?: HeadersInit | (() => HeadersInit);
8
+ onError?: (err: {
9
+ name: string;
10
+ message: string;
11
+ code?: number | string;
12
+ }) => boolean | Promise<boolean>;
13
+ };
6
14
  /**
7
- * createValyn creates a custom `useValync` hook bound to a provided HTTP client function.
15
+ * createValync creates a custom `useValync` composable bound to a provided HTTP client function.
8
16
  * Useful for plugging in your own fetch logic or a library like axios.
9
17
  *
10
- * ⚠️ NOTE:
11
- * Your `client()` function MUST return a Promise resolving to:
12
- *
13
- * ApiResponse<any>
18
+ * The `options.onError` callback receives every API-level error. Returning `true` (or a
19
+ * Promise resolving to `true`) triggers a single retry useful for token-refresh flows.
14
20
  *
15
- * {
16
- * status: "success" | "failed",
17
- * data?: T,
18
- * error?: { name: string; message: string; code?: number }
19
- * }
20
- *
21
- * use `onData` to apply transformation from `any => T` for individual endpoint when neccessary.
22
- * Returning a plain array or object without the `status` field will cause issues.
21
+ * ⚠️ NOTE:
22
+ * Your `client()` function MUST return a Promise resolving to ApiResponse<any>.
23
23
  */
24
- export declare function createValyn({ client, options: _options, }: {
24
+ export declare function createValync({ client, options: _options, }: {
25
25
  client: (url: string, init: RequestInit) => Promise<ApiResponse<any>>;
26
- options?: Pick<ValyncOptions<any>, "cache" | "retryCount" | "fetchOnMount"> & {
27
- headers?: HeadersInit;
28
- };
26
+ options?: CreateValyncVueOptions;
29
27
  }): <T>(key: CacheKey, options?: ValyncVueOptions<T>) => [Ref<AsyncValue<T>>, (methodOrOpts?: RequestMethod | {
30
28
  method?: RequestMethod;
31
- body?: BodyInit;
32
- }, body?: BodyInit) => void, (updater: (prev: T | null) => T) => void, Observer<T>];
29
+ body?: RequestBody;
30
+ files?: File[] | [string, File][];
31
+ }, body?: RequestBody, files?: File[] | [string, File][]) => void, (updater: (prev: T | null) => T) => void, Observer<T>];
33
32
  /**
34
- * useValync is a client-side data fetching hook that provides async state management
33
+ * useValync is a client-side data fetching composable that provides async state management
35
34
  * with caching, optimistic updates, and reactive watching support.
36
35
  *
37
36
  * ⚠️ NOTE:
@@ -44,9 +43,6 @@ export declare function createValyn({ client, options: _options, }: {
44
43
  * data?: T,
45
44
  * error?: { name: string; message: string; code?: number }
46
45
  * }
47
- *
48
- * Use `onData` if `res.data` does not match your expected frontend type or if you wish to apply transformation,
49
- * so returning a plain array or object without the `status` field will cause issues.
50
46
  */
51
47
  export declare function useValync<T>(key: CacheKey, options?: ValyncVueOptions<T>): readonly [Ref<{
52
48
  when: <R>(handlers: import("../core/index").Handler<T, R>) => R;
@@ -60,8 +56,9 @@ export declare function useValync<T>(key: CacheKey, options?: ValyncVueOptions<T
60
56
  isError: () => this is AsyncError;
61
57
  }>, (methodOrOpts?: RequestMethod | {
62
58
  method?: RequestMethod;
63
- body?: BodyInit;
64
- }, body?: BodyInit) => void, (updater: (prev: T | null) => T) => void, {
59
+ body?: RequestBody;
60
+ files?: File[] | [string, File][];
61
+ }, body?: RequestBody, files?: File[] | [string, File][]) => void, (updater: (prev: T | null) => T) => void, {
65
62
  listen: (fn: import("../core/index").StateListener<T>) => () => boolean;
66
63
  }];
67
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,GAAG,EAAe,MAAM,KAAK,CAAC;AAE9D,OAAO,EAEN,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EAER,QAAQ,EACR,aAAa,EACb,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAClE,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAC3B,MAAM,EACN,OAAO,EAAE,QAAa,GACtB,EAAE;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,IAAI,CACb,aAAa,CAAC,GAAG,CAAC,EAClB,OAAO,GAAG,YAAY,GAAG,cAAc,CACvC,GAAG;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;CAC9B,IACiB,CAAC,EACjB,KAAK,QAAQ,EACb,UAAS,gBAAgB,CAAC,CAAC,CAAM,KAC/B,CACF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClB,CACC,YAAY,CAAC,EACV,aAAa,GACb;IACA,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACf,EACJ,IAAI,CAAC,EAAE,QAAQ,KACX,IAAI,EACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EACxC,QAAQ,CAAC,CAAC,CAAC,CACX,CA6JD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAgB,CAAC,CAAC,CAAM;;;;;;;;;;oBAuI5D,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,SACnE,QAAQ,qBAYU,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC;;GAa/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,GAAG,EAAe,MAAM,KAAK,CAAC;AAE1E,OAAO,EAEN,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EAER,QAAQ,EACR,aAAa,EACb,WAAW,EAGX,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAClE,IAAI,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACxC,aAAa,CAAC,GAAG,CAAC,EAClB,OAAO,GAAG,YAAY,GAAG,cAAc,CACvC,GAAG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC5B,MAAM,EACN,OAAO,EAAE,QAAa,GACtB,EAAE;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,sBAAsB,CAAC;CACjC,IACiB,CAAC,EACjB,KAAK,QAAQ,EACb,UAAS,gBAAgB,CAAC,CAAC,CAAM,KAC/B,CACF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClB,CACC,YAAY,CAAC,EACV,aAAa,GACb;IACA,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;CACjC,EACJ,IAAI,CAAC,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAC7B,IAAI,EACT,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,EACxC,QAAQ,CAAC,CAAC,CAAC,CACX,CAgMD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAgB,CAAC,CAAC,CAAM;;;;;;;;;;oBAgKxE,aAAa,GACb;IACA,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;CACjC,SACG,WAAW,UACV,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,qBAWR,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC;;GAa/C"}
package/dist/vue/index.js CHANGED
@@ -1,36 +1,27 @@
1
- import { ref, onMounted, watch, onUnmounted } from "vue";
1
+ import { ref, shallowRef, onMounted, watch, onUnmounted } from "vue";
2
2
  import { Some, None } from "ts-results-es";
3
- import { normalizeKey, AsyncLoading, AsyncError, AsyncData, AsyncObserver, } from "../core/index";
3
+ import { normalizeKey, AsyncLoading, AsyncError, AsyncData, AsyncObserver, buildRequestBody, mergeHeaders, } from "../core/index";
4
4
  const cache = new Map();
5
5
  /**
6
- * createValyn creates a custom `useValync` hook bound to a provided HTTP client function.
6
+ * createValync creates a custom `useValync` composable bound to a provided HTTP client function.
7
7
  * Useful for plugging in your own fetch logic or a library like axios.
8
8
  *
9
- * ⚠️ NOTE:
10
- * Your `client()` function MUST return a Promise resolving to:
11
- *
12
- * ApiResponse<any>
9
+ * The `options.onError` callback receives every API-level error. Returning `true` (or a
10
+ * Promise resolving to `true`) triggers a single retry useful for token-refresh flows.
13
11
  *
14
- * {
15
- * status: "success" | "failed",
16
- * data?: T,
17
- * error?: { name: string; message: string; code?: number }
18
- * }
19
- *
20
- * use `onData` to apply transformation from `any => T` for individual endpoint when neccessary.
21
- * Returning a plain array or object without the `status` field will cause issues.
12
+ * ⚠️ NOTE:
13
+ * Your `client()` function MUST return a Promise resolving to ApiResponse<any>.
22
14
  */
23
- export function createValyn({ client, options: _options = {}, }) {
15
+ export function createValync({ client, options: _options = {}, }) {
24
16
  return function (key, options = {}) {
25
17
  let intervalId;
26
- const initRef = options.init ?? ref({});
18
+ const initRef = options.init ?? shallowRef({});
19
+ const resolvedGlobalHeaders = typeof _options.headers === "function"
20
+ ? _options.headers()
21
+ : _options.headers;
27
22
  initRef.value = {
28
23
  ...initRef.value,
29
- headers: { ...initRef.value.headers, ..._options.headers },
30
- };
31
- options.init.value = {
32
- ...options.init.value,
33
- headers: { ...options.init.value.headers, ..._options.headers },
24
+ headers: mergeHeaders(initRef.value.headers, resolvedGlobalHeaders),
34
25
  };
35
26
  options.cache = options.cache ?? _options.cache;
36
27
  options.retryCount = options.retryCount ?? _options.retryCount;
@@ -53,7 +44,7 @@ export function createValyn({ client, options: _options = {}, }) {
53
44
  const observerRef = ref(new AsyncObserver(initialValue));
54
45
  const state = ref(initialValue);
55
46
  const isClient = typeof window !== "undefined" && typeof AbortController !== "undefined";
56
- const doFetch = (method, body) => {
47
+ const doFetch = (method, body, files) => {
57
48
  controller.value?.abort();
58
49
  controller.value = new AbortController();
59
50
  if (options.cache !== false && cache.has(keyStr)) {
@@ -61,17 +52,32 @@ export function createValyn({ client, options: _options = {}, }) {
61
52
  return;
62
53
  }
63
54
  state.value = new AsyncLoading();
55
+ const resolvedFiles = files ?? options.files;
56
+ const { body: resolvedBody, isMultipart } = buildRequestBody(body ?? initRef.value?.body, resolvedFiles);
57
+ let globalRetryDone = false;
64
58
  const attempt = (tries) => {
59
+ // Re-resolve dynamic global headers on every attempt (supports token refresh)
60
+ const freshGlobalHeaders = typeof _options.headers === "function"
61
+ ? _options.headers()
62
+ : _options.headers;
63
+ const merged = mergeHeaders(initRef.value?.headers, freshGlobalHeaders);
64
+ if (!isMultipart &&
65
+ resolvedBody != null &&
66
+ !("content-type" in merged)) {
67
+ merged["content-type"] = "application/json";
68
+ }
65
69
  client(typeof key === "string" ? key : keyStr, {
66
- ...options.init.value,
67
- method: method ?? options.init.value?.method ?? (body ? "POST" : "GET"),
68
- body: body ?? options.init.value?.body,
70
+ ...initRef.value,
71
+ method: method ??
72
+ initRef.value?.method ??
73
+ (resolvedBody != null ? "POST" : "GET"),
74
+ body: resolvedBody,
75
+ headers: merged,
69
76
  signal: controller.value.signal,
70
77
  })
71
- .then((res) => {
78
+ .then(async (res) => {
72
79
  if (controller.value.signal.aborted)
73
80
  return;
74
- // DEV-ONLY: Validate ApiResponse<T> format
75
81
  if (process.env.NODE_ENV !== "production" &&
76
82
  (typeof res !== "object" ||
77
83
  !("status" in res) ||
@@ -79,32 +85,34 @@ export function createValyn({ client, options: _options = {}, }) {
79
85
  console.warn(`[Valync] Expected ApiResponse<T> format missing from client() response. Got:`, res);
80
86
  }
81
87
  if (res.status === "failed") {
82
- options.onError && options.onError(res.error);
88
+ if (_options.onError && !globalRetryDone) {
89
+ const shouldRetry = await _options.onError(res.error);
90
+ if (shouldRetry && !controller.value.signal.aborted) {
91
+ globalRetryDone = true;
92
+ attempt(0);
93
+ return;
94
+ }
95
+ }
96
+ options.onError?.(res.error);
83
97
  state.value = new AsyncError(res.error);
98
+ return;
84
99
  }
85
- else {
86
- const data = options.onData?.(res.data) ?? res.data;
87
- options.onSuccess?.(data);
88
- const sd = new AsyncData(Some(data));
89
- if (options.cache !== false)
90
- cache.set(keyStr, sd);
91
- state.value = sd;
92
- }
100
+ const data = options.onData?.(res.data) ?? res.data;
101
+ options.onSuccess?.(data);
102
+ const sd = new AsyncData(Some(data));
103
+ if (options.cache !== false)
104
+ cache.set(keyStr, sd);
105
+ state.value = sd;
93
106
  })
94
107
  .catch((err) => {
95
108
  if (controller.value.signal.aborted)
96
109
  return;
97
110
  if (tries > 0)
98
111
  return attempt(tries - 1);
99
- options.onError?.({
100
- name: "NetworkError",
101
- message: err.message,
102
- code: "500",
103
- });
112
+ options.onError?.({ name: "NetworkError", message: err.message });
104
113
  state.value = new AsyncError({
105
114
  name: "NetworkError",
106
115
  message: err.message,
107
- code: "500",
108
116
  });
109
117
  });
110
118
  };
@@ -112,9 +120,8 @@ export function createValyn({ client, options: _options = {}, }) {
112
120
  };
113
121
  if (isClient) {
114
122
  onMounted(() => {
115
- if (options.fetchOnMount !== false && !options.initialData) {
123
+ if (options.fetchOnMount !== false && !options.initialData)
116
124
  doFetch();
117
- }
118
125
  if (options.fetchInterval) {
119
126
  intervalId = window.setInterval(doFetch, options.fetchInterval);
120
127
  }
@@ -131,15 +138,15 @@ export function createValyn({ client, options: _options = {}, }) {
131
138
  watch(state, () => {
132
139
  observerRef.value.set(state.value);
133
140
  });
134
- const fetchFn = (methodOrOpts, body) => {
141
+ const fetchFn = (methodOrOpts, body, files) => {
135
142
  if (!isClient)
136
143
  return;
137
144
  cache.delete(normalizeKey(keyStr));
138
145
  if (typeof methodOrOpts === "string") {
139
- doFetch(methodOrOpts, body);
146
+ doFetch(methodOrOpts, body, files);
140
147
  }
141
148
  else {
142
- doFetch(methodOrOpts?.method, methodOrOpts?.body);
149
+ doFetch(methodOrOpts?.method, methodOrOpts?.body, methodOrOpts?.files);
143
150
  }
144
151
  };
145
152
  const setData = (updater) => {
@@ -157,7 +164,7 @@ export function createValyn({ client, options: _options = {}, }) {
157
164
  };
158
165
  }
159
166
  /**
160
- * useValync is a client-side data fetching hook that provides async state management
167
+ * useValync is a client-side data fetching composable that provides async state management
161
168
  * with caching, optimistic updates, and reactive watching support.
162
169
  *
163
170
  * ⚠️ NOTE:
@@ -170,14 +177,12 @@ export function createValyn({ client, options: _options = {}, }) {
170
177
  * data?: T,
171
178
  * error?: { name: string; message: string; code?: number }
172
179
  * }
173
- *
174
- * Use `onData` if `res.data` does not match your expected frontend type or if you wish to apply transformation,
175
- * so returning a plain array or object without the `status` field will cause issues.
176
180
  */
177
181
  export function useValync(key, options = {}) {
178
182
  let intervalId;
179
183
  const keyStr = normalizeKey(key);
180
184
  const controller = ref();
185
+ const initRef = options.init ?? shallowRef({});
181
186
  let initialValue;
182
187
  if (options.initialData) {
183
188
  initialValue =
@@ -194,7 +199,7 @@ export function useValync(key, options = {}) {
194
199
  const observer = ref(new AsyncObserver(initialValue));
195
200
  const state = ref(initialValue);
196
201
  const isClient = typeof window !== "undefined" && typeof AbortController !== "undefined";
197
- const doFetch = (method, body) => {
202
+ const doFetch = (method, body, files) => {
198
203
  controller.value?.abort();
199
204
  controller.value = new AbortController();
200
205
  if (options.cache !== false && cache.has(keyStr)) {
@@ -202,14 +207,29 @@ export function useValync(key, options = {}) {
202
207
  return;
203
208
  }
204
209
  state.value = new AsyncLoading();
210
+ const resolvedFiles = files ?? options.files;
211
+ const { body: resolvedBody, isMultipart } = buildRequestBody(body ?? initRef.value?.body, resolvedFiles);
212
+ const buildHeaders = () => {
213
+ const h = mergeHeaders(initRef.value?.headers);
214
+ if (!isMultipart && resolvedBody != null && !("content-type" in h)) {
215
+ h["content-type"] = "application/json";
216
+ }
217
+ return h;
218
+ };
205
219
  const attempt = (tries) => {
206
220
  fetch(typeof key === "string" ? key : keyStr, {
207
- ...options.init.value,
208
- method: method ?? options.init.value?.method ?? (body ? "POST" : "GET"),
209
- body: body ?? options.init.value?.body,
221
+ ...initRef.value,
222
+ method: method ??
223
+ initRef.value?.method ??
224
+ (resolvedBody != null ? "POST" : "GET"),
225
+ body: resolvedBody,
226
+ headers: buildHeaders(),
210
227
  signal: controller.value.signal,
211
228
  })
212
229
  .then(async (resp) => {
230
+ if (resp.status === 204) {
231
+ return { status: "success", data: null };
232
+ }
213
233
  let json;
214
234
  try {
215
235
  json = await resp.json();
@@ -220,10 +240,10 @@ export function useValync(key, options = {}) {
220
240
  error: {
221
241
  name: "ParseError",
222
242
  message: "Invalid JSON",
243
+ code: resp.status,
223
244
  },
224
245
  };
225
246
  }
226
- // DEV-ONLY: Validate ApiResponse format
227
247
  if (process.env.NODE_ENV !== "production" &&
228
248
  (typeof json !== "object" ||
229
249
  !("status" in json) ||
@@ -245,8 +265,10 @@ export function useValync(key, options = {}) {
245
265
  .then((res) => {
246
266
  if (controller.value.signal.aborted)
247
267
  return;
248
- if (res.status === "failed")
268
+ if (res.status === "failed") {
269
+ options.onError?.(res.error);
249
270
  state.value = new AsyncError(res.error);
271
+ }
250
272
  else {
251
273
  const data = options.onData?.(res.data) ?? res.data;
252
274
  options.onSuccess?.(data);
@@ -261,10 +283,7 @@ export function useValync(key, options = {}) {
261
283
  return;
262
284
  if (tries > 0)
263
285
  return attempt(tries - 1);
264
- options.onError?.({
265
- name: "NetworkError",
266
- message: err.message,
267
- });
286
+ options.onError?.({ name: "NetworkError", message: err.message });
268
287
  state.value = new AsyncError({
269
288
  name: "NetworkError",
270
289
  message: err.message,
@@ -275,9 +294,8 @@ export function useValync(key, options = {}) {
275
294
  };
276
295
  if (isClient) {
277
296
  onMounted(() => {
278
- if (options.fetchOnMount !== false && !options.initialData) {
297
+ if (options.fetchOnMount !== false && !options.initialData)
279
298
  doFetch();
280
- }
281
299
  if (options.fetchInterval) {
282
300
  intervalId = window.setInterval(doFetch, options.fetchInterval);
283
301
  }
@@ -294,15 +312,15 @@ export function useValync(key, options = {}) {
294
312
  watch(state, () => {
295
313
  observer.value.set(state.value);
296
314
  });
297
- const fetchFn = (methodOrOpts, body) => {
315
+ const fetchFn = (methodOrOpts, body, files) => {
298
316
  if (!isClient)
299
317
  return;
300
318
  cache.delete(normalizeKey(keyStr));
301
319
  if (typeof methodOrOpts === "string") {
302
- doFetch(methodOrOpts, body);
320
+ doFetch(methodOrOpts, body, files);
303
321
  }
304
322
  else {
305
- doFetch(methodOrOpts?.method, methodOrOpts?.body);
323
+ doFetch(methodOrOpts?.method, methodOrOpts?.body, methodOrOpts?.files);
306
324
  }
307
325
  };
308
326
  const setData = (updater) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAO,WAAW,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACN,YAAY,EAGZ,YAAY,EACZ,UAAU,EACV,SAAS,EAGT,aAAa,GAGb,MAAM,eAAe,CAAC;AAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;AAMhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,EAC3B,MAAM,EACN,OAAO,EAAE,QAAQ,GAAG,EAAE,GAOtB;IACA,OAAO,UACN,GAAa,EACb,UAA+B,EAAE;QAejC,IAAI,UAA8B,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAc,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,GAAG;YACf,GAAG,OAAO,CAAC,KAAK;YAChB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;SAC1D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG;YACpB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;SAC/D,CAAC;QACF,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAChD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;QAC/D,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;QAErE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,EAAmB,CAAC;QAE1C,IAAI,YAA2B,CAAC;QAChC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,YAAY;gBACX,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;oBACvC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,GAAG,CAAgB,YAAY,CAAC,CAAC;QAE/C,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;QAEzE,MAAM,OAAO,GAAG,CAAC,MAAsB,EAAE,IAAe,EAAE,EAAE;YAC3D,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YAEzC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;gBACjC,OAAO;YACR,CAAC;YAED,KAAK,CAAC,KAAK,GAAG,IAAI,YAAY,EAAK,CAAC;YAEpC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;gBACjC,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC9C,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK;oBACrB,MAAM,EACL,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChE,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI;oBACtC,MAAM,EAAE,UAAU,CAAC,KAAM,CAAC,MAAM;iBAChC,CAAC;qBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAE7C,2CAA2C;oBAC3C,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;wBACrC,CAAC,OAAO,GAAG,KAAK,QAAQ;4BACvB,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;4BAClB,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACtD,CAAC;wBACF,OAAO,CAAC,IAAI,CACX,8EAA8E,EAC9E,GAAG,CACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7B,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC9C,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;wBACpD,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;wBAC1B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBACrC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;4BAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACnD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBAClB,CAAC;gBACF,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC7C,IAAI,KAAK,GAAG,CAAC;wBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,IAAI,EAAE,KAAK;qBACX,CAAC,CAAC;oBAEH,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC;wBAC5B,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,IAAI,EAAE,KAAK;qBACX,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5D,OAAO,EAAE,CAAC;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC3B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjE,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,GAAG,EAAE;gBAChB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,IAAI,UAAU;oBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CACf,YAE8C,EAC9C,IAAe,EACd,EAAE;YACH,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;YAClD,MAAM,UAAU,GACf,KAAK,CAAC,KAAK,YAAY,SAAS;gBAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC5B,CAAC,CAAC,IAAI;gBACP,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAU,CAAC;IACzE,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS,CAAI,GAAa,EAAE,UAA+B,EAAE;IAC5E,IAAI,UAA8B,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,EAAmB,CAAC;IAE1C,IAAI,YAA2B,CAAC;IAChC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,YAAY;YACX,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,CAAgB,YAAY,CAAC,CAAC;IAE/C,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;IAEzE,MAAM,OAAO,GAAG,CAAC,MAAsB,EAAE,IAAe,EAAE,EAAE;QAC3D,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,UAAU,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACjC,OAAO;QACR,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,IAAI,YAAY,EAAK,CAAC;QAEpC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACjC,KAAK,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC7C,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK;gBACrB,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvE,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI;gBACtC,MAAM,EAAE,UAAU,CAAC,KAAM,CAAC,MAAM;aAChC,CAAC;iBACA,IAAI,CAAC,KAAK,EAAE,IAAI,EAA2B,EAAE;gBAC7C,IAAI,IAAS,CAAC;gBACd,IAAI,CAAC;oBACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE;4BACN,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,cAAc;yBACvB;qBACD,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBACxC,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;oBACrC,CAAC,OAAO,IAAI,KAAK,QAAQ;wBACxB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;wBACnB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;oBACF,OAAO,CAAC,IAAI,CACX,uDAAuD,EACvD,IAAI,CACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC1C,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI;4BACrB,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,IAAI,CAAC,UAAU;4BACxB,IAAI,EAAE,IAAI,CAAC,MAAM;yBACjB;qBACD,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAChE,CAAC;oBACL,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;oBACpD,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACd,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC7C,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAEzC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACpB,CAAC,CAAC;gBACH,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC;oBAC5B,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACpB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACX,CAAC;YAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,GAAG,EAAE;YAChB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,YAA0E,EAC1E,IAAe,EACd,EAAE;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;QAClD,MAAM,UAAU,GACf,KAAK,CAAC,KAAK,YAAY,SAAS;YAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC5B,CAAC,CAAC,IAAI;YACP,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAU,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAO,WAAW,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACN,YAAY,EAGZ,YAAY,EACZ,UAAU,EACV,SAAS,EAGT,aAAa,EAIb,gBAAgB,EAChB,YAAY,GACZ,MAAM,eAAe,CAAC;AAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;AAkBhD;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,EAC5B,MAAM,EACN,OAAO,EAAE,QAAQ,GAAG,EAAE,GAItB;IACA,OAAO,UACN,GAAa,EACb,UAA+B,EAAE;QAiBjC,IAAI,UAA8B,CAAC;QAEnC,MAAM,OAAO,GACZ,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,EAAiB,CAAC,CAAC;QAC/C,MAAM,qBAAqB,GAC1B,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;YACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;YACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrB,OAAO,CAAC,KAAK,GAAG;YACf,GAAG,OAAO,CAAC,KAAK;YAChB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC;SACnE,CAAC;QAEF,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAChD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;QAC/D,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;QAErE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,GAAG,EAAmB,CAAC;QAE1C,IAAI,YAA2B,CAAC;QAChC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,YAAY;gBACX,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;oBACvC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,GAAG,CAAgB,YAAY,CAAC,CAAC;QAE/C,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;QAEzE,MAAM,OAAO,GAAG,CACf,MAAsB,EACtB,IAAkB,EAClB,KAAiC,EAChC,EAAE;YACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YAEzC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;gBACjC,OAAO;YACR,CAAC;YAED,KAAK,CAAC,KAAK,GAAG,IAAI,YAAY,EAAK,CAAC;YAEpC,MAAM,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAC3D,IAAI,IAAK,OAAO,CAAC,KAAK,EAAE,IAAgC,EACxD,aAAa,CACb,CAAC;YAEF,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;gBACjC,8EAA8E;gBAC9E,MAAM,kBAAkB,GACvB,OAAO,QAAQ,CAAC,OAAO,KAAK,UAAU;oBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACpB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACxE,IACC,CAAC,WAAW;oBACZ,YAAY,IAAI,IAAI;oBACpB,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAC1B,CAAC;oBACF,MAAM,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;gBAC7C,CAAC;gBAED,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC9C,GAAG,OAAO,CAAC,KAAK;oBAChB,MAAM,EACL,MAAM;wBACN,OAAO,CAAC,KAAK,EAAE,MAAM;wBACrB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;oBACxC,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,UAAU,CAAC,KAAM,CAAC,MAAM;iBAChC,CAAC;qBACA,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACnB,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAE7C,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;wBACrC,CAAC,OAAO,GAAG,KAAK,QAAQ;4BACvB,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;4BAClB,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACtD,CAAC;wBACF,OAAO,CAAC,IAAI,CACX,8EAA8E,EAC9E,GAAG,CACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7B,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;4BAC1C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtD,IAAI,WAAW,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCACtD,eAAe,GAAG,IAAI,CAAC;gCACvB,OAAO,CAAC,CAAC,CAAC,CAAC;gCACX,OAAO;4BACR,CAAC;wBACF,CAAC;wBACD,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC7B,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxC,OAAO;oBACR,CAAC;oBAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;oBACpD,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC7C,IAAI,KAAK,GAAG,CAAC;wBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC;wBAC5B,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;qBACpB,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW;oBAAE,OAAO,EAAE,CAAC;gBACtE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC3B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjE,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,GAAG,EAAE;gBAChB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,IAAI,UAAU;oBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CACf,YAMI,EACJ,IAAkB,EAClB,KAAiC,EAChC,EAAE;YACH,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;YAClD,MAAM,UAAU,GACf,KAAK,CAAC,KAAK,YAAY,SAAS;gBAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC5B,CAAC,CAAC,IAAI;gBACP,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAU,CAAC;IACzE,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAI,GAAa,EAAE,UAA+B,EAAE;IAC5E,IAAI,UAA8B,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,EAAmB,CAAC;IAE1C,MAAM,OAAO,GACZ,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,EAAiB,CAAC,CAAC;IAE/C,IAAI,YAA2B,CAAC;IAChC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,YAAY;YACX,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;gBACvC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,CAAgB,YAAY,CAAC,CAAC;IAE/C,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,eAAe,KAAK,WAAW,CAAC;IAEzE,MAAM,OAAO,GAAG,CACf,MAAsB,EACtB,IAAkB,EAClB,KAAiC,EAChC,EAAE;QACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,UAAU,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACjC,OAAO;QACR,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,IAAI,YAAY,EAAK,CAAC;QAEpC,MAAM,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAC3D,IAAI,IAAK,OAAO,CAAC,KAAK,EAAE,IAAgC,EACxD,aAAa,CACb,CAAC;QAEF,MAAM,YAAY,GAAG,GAA2B,EAAE;YACjD,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpE,CAAC,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACjC,KAAK,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC7C,GAAG,OAAO,CAAC,KAAK;gBAChB,MAAM,EACL,MAAM;oBACN,OAAO,CAAC,KAAK,EAAE,MAAM;oBACrB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,YAAY,EAAE;gBACvB,MAAM,EAAE,UAAU,CAAC,KAAM,CAAC,MAAM;aAChC,CAAC;iBACA,IAAI,CAAC,KAAK,EAAE,IAAI,EAA2B,EAAE;gBAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;gBAC1D,CAAC;gBAED,IAAI,IAAS,CAAC;gBACd,IAAI,CAAC;oBACJ,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE;4BACN,IAAI,EAAE,YAAY;4BAClB,OAAO,EAAE,cAAc;4BACvB,IAAI,EAAE,IAAI,CAAC,MAAM;yBACjB;qBACD,CAAC;gBACH,CAAC;gBAED,IACC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;oBACrC,CAAC,OAAO,IAAI,KAAK,QAAQ;wBACxB,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;wBACnB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;oBACF,OAAO,CAAC,IAAI,CACX,uDAAuD,EACvD,IAAI,CACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC1C,OAAO;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI;4BACrB,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,IAAI,CAAC,UAAU;4BACxB,IAAI,EAAE,IAAI,CAAC,MAAM;yBACjB;qBACD,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC7B,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;oBACpD,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACd,IAAI,UAAU,CAAC,KAAM,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC7C,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACzC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC;oBAC5B,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACpB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YACtE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,GAAG,EAAE;YAChB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,UAAU;gBAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,YAMI,EACJ,IAAkB,EAClB,KAAiC,EAChC,EAAE;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE;QAClD,MAAM,UAAU,GACf,KAAK,CAAC,KAAK,YAAY,SAAS;YAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC5B,CAAC,CAAC,IAAI;YACP,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAU,CAAC;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valync",
3
- "version": "0.3.4",
3
+ "version": "0.4.1",
4
4
  "main": "dist/core/index.js",
5
5
  "types": "dist/core/index.d.ts",
6
6
  "repository": {
@@ -67,18 +67,32 @@
67
67
  "ts-results-es": "^5.0.1"
68
68
  },
69
69
  "devDependencies": {
70
- "@types/node": "^25.0.3",
71
- "@testing-library/dom": "^10.4.0",
72
- "@testing-library/react": "^16.3.0",
70
+ "@testing-library/dom": "^10.4.1",
71
+ "@vue/test-utils": "^2.4.6",
72
+ "@testing-library/react": "^16.3.2",
73
73
  "@types/jest": "^30.0.0",
74
- "@types/react": "^19.1.8",
75
- "jest": "^30.0.2",
76
- "ts-jest": "^29.4.0"
74
+ "@types/node": "^25.6.0",
75
+ "@types/react": "^19.2.14",
76
+ "@types/react-dom": "^19.0.0",
77
+ "jest": "^30.3.0",
78
+ "jest-environment-jsdom": "^30.0.0",
79
+ "react": "19.2.5",
80
+ "react-dom": "19.2.5",
81
+ "ts-jest": "^29.4.9",
82
+ "vue": "^3.5.0"
77
83
  },
78
84
  "peerDependencies": {
79
- "react": "^18.0.0",
85
+ "react": ">=18.0.0",
80
86
  "vue": "^3.0.0"
81
87
  },
88
+ "peerDependenciesMeta": {
89
+ "react": {
90
+ "optional": true
91
+ },
92
+ "vue": {
93
+ "optional": true
94
+ }
95
+ },
82
96
  "scripts": {
83
97
  "build": "tsc -b",
84
98
  "test": "jest"