valync 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index.d.ts +14 -13
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -4
- package/dist/core/index.js.map +1 -1
- package/dist/vue/index.d.ts +1 -9
- package/dist/vue/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/core/index.d.ts
CHANGED
|
@@ -23,24 +23,25 @@ export type ApiSuccessResponse<T> = {
|
|
|
23
23
|
data: T;
|
|
24
24
|
};
|
|
25
25
|
export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
|
|
26
|
+
export type Handler<T, R> = {
|
|
27
|
+
loading?: () => R;
|
|
28
|
+
error?: (err: {
|
|
29
|
+
name: string;
|
|
30
|
+
message: string;
|
|
31
|
+
code?: number | string;
|
|
32
|
+
}) => R;
|
|
33
|
+
data?: (value: Option<T>) => R;
|
|
34
|
+
};
|
|
26
35
|
export declare abstract class AsyncValue<T> {
|
|
27
|
-
abstract when<R>(handlers:
|
|
28
|
-
loading: () => R;
|
|
29
|
-
error: (err: {
|
|
30
|
-
name: string;
|
|
31
|
-
message: string;
|
|
32
|
-
code?: number;
|
|
33
|
-
}) => R;
|
|
34
|
-
data: (value: Option<T>) => R;
|
|
35
|
-
}): R;
|
|
36
|
+
abstract when<R>(handlers: Handler<T, R>): R;
|
|
36
37
|
isLoading(): boolean;
|
|
37
38
|
isData(): boolean;
|
|
38
39
|
isError(): boolean;
|
|
39
40
|
}
|
|
40
41
|
export declare class AsyncLoading<T> extends AsyncValue<T> {
|
|
41
|
-
when<R>(h:
|
|
42
|
+
when<R>(h: Handler<T, R>): R;
|
|
42
43
|
}
|
|
43
|
-
export declare class AsyncError<T> extends AsyncValue<T> {
|
|
44
|
+
export declare class AsyncError<T = unknown> extends AsyncValue<T> {
|
|
44
45
|
error: {
|
|
45
46
|
name: string;
|
|
46
47
|
message: string;
|
|
@@ -51,11 +52,11 @@ export declare class AsyncError<T> extends AsyncValue<T> {
|
|
|
51
52
|
message: string;
|
|
52
53
|
code?: string | number;
|
|
53
54
|
});
|
|
54
|
-
when<R>(h:
|
|
55
|
+
when<R>(h: Handler<T, R>): R;
|
|
55
56
|
}
|
|
56
57
|
export declare class AsyncData<T> extends AsyncValue<T> {
|
|
57
58
|
value: Option<T>;
|
|
58
59
|
constructor(value: Option<T>);
|
|
59
|
-
when<R>(h:
|
|
60
|
+
when<R>(h: Handler<T, R>): R;
|
|
60
61
|
}
|
|
61
62
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export function normalizeKey(key) {
|
|
3
3
|
return typeof key === "string" ? key : JSON.stringify(key);
|
|
4
4
|
}
|
|
5
|
-
// Base abstract class for async
|
|
5
|
+
// Base abstract class for async stZte
|
|
6
6
|
export class AsyncValue {
|
|
7
7
|
isLoading() {
|
|
8
8
|
return this instanceof AsyncLoading;
|
|
@@ -17,7 +17,7 @@ export class AsyncValue {
|
|
|
17
17
|
// Represents loading state
|
|
18
18
|
export class AsyncLoading extends AsyncValue {
|
|
19
19
|
when(h) {
|
|
20
|
-
return h.loading();
|
|
20
|
+
return h.loading ? h.loading() : undefined;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
// Represents failed state with error
|
|
@@ -27,7 +27,7 @@ export class AsyncError extends AsyncValue {
|
|
|
27
27
|
this.error = error;
|
|
28
28
|
}
|
|
29
29
|
when(h) {
|
|
30
|
-
return h.error(this.error);
|
|
30
|
+
return h.error ? h.error(this.error) : undefined;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
// Represents data state—with Some(T) or None
|
|
@@ -37,7 +37,7 @@ export class AsyncData extends AsyncValue {
|
|
|
37
37
|
this.value = value;
|
|
38
38
|
}
|
|
39
39
|
when(h) {
|
|
40
|
-
return h.data(this.value);
|
|
40
|
+
return h.data ? h.data(this.value) : undefined;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAgBA,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAa;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAgBA,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAa;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAwBD,sCAAsC;AACtC,MAAM,OAAgB,UAAU;IAG5B,SAAS;QACL,OAAO,IAAI,YAAY,YAAY,CAAC;IACxC,CAAC;IAED,MAAM;QACF,OAAO,IAAI,YAAY,SAAS,CAAC;IACrC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,YAAY,UAAU,CAAC;IACtC,CAAC;CACJ;AAED,2BAA2B;AAC3B,MAAM,OAAO,YAAgB,SAAQ,UAAa;IAC9C,IAAI,CAAI,CAAgB;QACpB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/C,CAAC;CACJ;AAED,qCAAqC;AACrC,MAAM,OAAO,UAAwB,SAAQ,UAAa;IACtD,YACW,KAAgE;QAEvE,KAAK,EAAE,CAAC;QAFD,UAAK,GAAL,KAAK,CAA2D;IAG3E,CAAC;IACD,IAAI,CAAI,CAAgB;QACpB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;CACJ;AAED,6CAA6C;AAC7C,MAAM,OAAO,SAAa,SAAQ,UAAa;IAC3C,YAAmB,KAAgB;QAC/B,KAAK,EAAE,CAAC;QADO,UAAK,GAAL,KAAK,CAAW;IAEnC,CAAC;IACD,IAAI,CAAI,CAAgB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;CACJ"}
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -3,15 +3,7 @@ export declare function createValyn({ client, }: {
|
|
|
3
3
|
client: (url: string, init: RequestInit) => Promise<ApiResponse<any>>;
|
|
4
4
|
}): <T>(key: string | Record<string, any>, options?: ValyncOptions<T>) => [AsyncValue<T>, () => void, (updater: (prev: T | null) => T) => void];
|
|
5
5
|
export declare function useValync<T>(key: string | Record<string, any>, options?: ValyncOptions<T>): readonly [{
|
|
6
|
-
when: <R>(handlers:
|
|
7
|
-
loading: () => R;
|
|
8
|
-
error: (err: {
|
|
9
|
-
name: string;
|
|
10
|
-
message: string;
|
|
11
|
-
code?: number;
|
|
12
|
-
}) => R;
|
|
13
|
-
data: (value: import("ts-results-es").Option<T>) => R;
|
|
14
|
-
}) => R;
|
|
6
|
+
when: <R>(handlers: import("../core").Handler<T, R>) => R;
|
|
15
7
|
isLoading: () => boolean;
|
|
16
8
|
isData: () => boolean;
|
|
17
9
|
isError: () => boolean;
|
package/dist/vue/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,WAAW,EACX,UAAU,EAIV,aAAa,EAChB,MAAM,SAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,EACxB,MAAM,GACT,EAAE;IACC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE,IACoB,CAAC,EACd,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,UAAS,aAAa,CAAC,CAAC,CAAM,KAC/B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CA+F3E;AAED,wBAAgB,SAAS,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,WAAW,EACX,UAAU,EAIV,aAAa,EAChB,MAAM,SAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,EACxB,MAAM,GACT,EAAE;IACC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE,IACoB,CAAC,EACd,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,UAAS,aAAa,CAAC,CAAC,CAAM,KAC/B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CA+F3E;AAED,wBAAgB,SAAS,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM;;;;;yBAqGJ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,WAalD"}
|