@spoosh/core 0.4.2 → 0.4.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/index.d.mts +19 -22
- package/dist/index.d.ts +19 -22
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -76,16 +76,24 @@ type BaseRequestOptions = {
|
|
|
76
76
|
cache?: RequestCache;
|
|
77
77
|
signal?: AbortSignal;
|
|
78
78
|
};
|
|
79
|
-
type BodyOption<TBody> = [TBody] extends [never] ? object : {
|
|
79
|
+
type BodyOption<TBody> = [TBody] extends [never] ? object : undefined extends TBody ? {
|
|
80
|
+
body?: Exclude<TBody, undefined>;
|
|
81
|
+
} : {
|
|
80
82
|
body: TBody;
|
|
81
83
|
};
|
|
82
|
-
type QueryOption<TQuery> = [TQuery] extends [never] ? object : {
|
|
84
|
+
type QueryOption<TQuery> = [TQuery] extends [never] ? object : undefined extends TQuery ? {
|
|
85
|
+
query?: Exclude<TQuery, undefined>;
|
|
86
|
+
} : {
|
|
83
87
|
query: TQuery;
|
|
84
88
|
};
|
|
85
|
-
type FormDataOption<TFormData> = [TFormData] extends [never] ? object : {
|
|
89
|
+
type FormDataOption<TFormData> = [TFormData] extends [never] ? object : undefined extends TFormData ? {
|
|
90
|
+
formData?: Exclude<TFormData, undefined>;
|
|
91
|
+
} : {
|
|
86
92
|
formData: TFormData;
|
|
87
93
|
};
|
|
88
|
-
type UrlEncodedOption<TUrlEncoded> = [TUrlEncoded] extends [never] ? object : {
|
|
94
|
+
type UrlEncodedOption<TUrlEncoded> = [TUrlEncoded] extends [never] ? object : undefined extends TUrlEncoded ? {
|
|
95
|
+
urlEncoded?: Exclude<TUrlEncoded, undefined>;
|
|
96
|
+
} : {
|
|
89
97
|
urlEncoded: TUrlEncoded;
|
|
90
98
|
};
|
|
91
99
|
type RequestOptions<TBody = never, TQuery = never, TFormData = never, TUrlEncoded = never> = BaseRequestOptions & BodyOption<TBody> & QueryOption<TQuery> & FormDataOption<TFormData> & UrlEncodedOption<TUrlEncoded>;
|
|
@@ -734,27 +742,16 @@ type Endpoint<T extends {
|
|
|
734
742
|
}> = {
|
|
735
743
|
[EndpointBrand]: true;
|
|
736
744
|
} & T;
|
|
745
|
+
type ExtractProperty<T, K extends string, TDefault = never> = K extends keyof T ? T[K] : TDefault;
|
|
737
746
|
type NormalizeEndpoint<T, TDefaultError> = T extends {
|
|
738
747
|
[EndpointBrand]: true;
|
|
739
748
|
} ? {
|
|
740
|
-
data: T
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
body: T extends {
|
|
747
|
-
body: infer B;
|
|
748
|
-
} ? B : never;
|
|
749
|
-
query: T extends {
|
|
750
|
-
query: infer Q;
|
|
751
|
-
} ? Q : never;
|
|
752
|
-
formData: T extends {
|
|
753
|
-
formData: infer F;
|
|
754
|
-
} ? F : never;
|
|
755
|
-
urlEncoded: T extends {
|
|
756
|
-
urlEncoded: infer U;
|
|
757
|
-
} ? U : never;
|
|
749
|
+
data: ExtractProperty<T, "data">;
|
|
750
|
+
error: ExtractProperty<T, "error", TDefaultError>;
|
|
751
|
+
body: ExtractProperty<T, "body">;
|
|
752
|
+
query: ExtractProperty<T, "query">;
|
|
753
|
+
formData: ExtractProperty<T, "formData">;
|
|
754
|
+
urlEncoded: ExtractProperty<T, "urlEncoded">;
|
|
758
755
|
} : {
|
|
759
756
|
data: T;
|
|
760
757
|
error: TDefaultError;
|
package/dist/index.d.ts
CHANGED
|
@@ -76,16 +76,24 @@ type BaseRequestOptions = {
|
|
|
76
76
|
cache?: RequestCache;
|
|
77
77
|
signal?: AbortSignal;
|
|
78
78
|
};
|
|
79
|
-
type BodyOption<TBody> = [TBody] extends [never] ? object : {
|
|
79
|
+
type BodyOption<TBody> = [TBody] extends [never] ? object : undefined extends TBody ? {
|
|
80
|
+
body?: Exclude<TBody, undefined>;
|
|
81
|
+
} : {
|
|
80
82
|
body: TBody;
|
|
81
83
|
};
|
|
82
|
-
type QueryOption<TQuery> = [TQuery] extends [never] ? object : {
|
|
84
|
+
type QueryOption<TQuery> = [TQuery] extends [never] ? object : undefined extends TQuery ? {
|
|
85
|
+
query?: Exclude<TQuery, undefined>;
|
|
86
|
+
} : {
|
|
83
87
|
query: TQuery;
|
|
84
88
|
};
|
|
85
|
-
type FormDataOption<TFormData> = [TFormData] extends [never] ? object : {
|
|
89
|
+
type FormDataOption<TFormData> = [TFormData] extends [never] ? object : undefined extends TFormData ? {
|
|
90
|
+
formData?: Exclude<TFormData, undefined>;
|
|
91
|
+
} : {
|
|
86
92
|
formData: TFormData;
|
|
87
93
|
};
|
|
88
|
-
type UrlEncodedOption<TUrlEncoded> = [TUrlEncoded] extends [never] ? object : {
|
|
94
|
+
type UrlEncodedOption<TUrlEncoded> = [TUrlEncoded] extends [never] ? object : undefined extends TUrlEncoded ? {
|
|
95
|
+
urlEncoded?: Exclude<TUrlEncoded, undefined>;
|
|
96
|
+
} : {
|
|
89
97
|
urlEncoded: TUrlEncoded;
|
|
90
98
|
};
|
|
91
99
|
type RequestOptions<TBody = never, TQuery = never, TFormData = never, TUrlEncoded = never> = BaseRequestOptions & BodyOption<TBody> & QueryOption<TQuery> & FormDataOption<TFormData> & UrlEncodedOption<TUrlEncoded>;
|
|
@@ -734,27 +742,16 @@ type Endpoint<T extends {
|
|
|
734
742
|
}> = {
|
|
735
743
|
[EndpointBrand]: true;
|
|
736
744
|
} & T;
|
|
745
|
+
type ExtractProperty<T, K extends string, TDefault = never> = K extends keyof T ? T[K] : TDefault;
|
|
737
746
|
type NormalizeEndpoint<T, TDefaultError> = T extends {
|
|
738
747
|
[EndpointBrand]: true;
|
|
739
748
|
} ? {
|
|
740
|
-
data: T
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
body: T extends {
|
|
747
|
-
body: infer B;
|
|
748
|
-
} ? B : never;
|
|
749
|
-
query: T extends {
|
|
750
|
-
query: infer Q;
|
|
751
|
-
} ? Q : never;
|
|
752
|
-
formData: T extends {
|
|
753
|
-
formData: infer F;
|
|
754
|
-
} ? F : never;
|
|
755
|
-
urlEncoded: T extends {
|
|
756
|
-
urlEncoded: infer U;
|
|
757
|
-
} ? U : never;
|
|
749
|
+
data: ExtractProperty<T, "data">;
|
|
750
|
+
error: ExtractProperty<T, "error", TDefaultError>;
|
|
751
|
+
body: ExtractProperty<T, "body">;
|
|
752
|
+
query: ExtractProperty<T, "query">;
|
|
753
|
+
formData: ExtractProperty<T, "formData">;
|
|
754
|
+
urlEncoded: ExtractProperty<T, "urlEncoded">;
|
|
758
755
|
} : {
|
|
759
756
|
data: T;
|
|
760
757
|
error: TDefaultError;
|