@develit-io/backend-sdk 9.11.14 → 9.11.15
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 +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +26 -2
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -803,11 +803,11 @@ interface UseFetchOptions extends RequestInit {
|
|
|
803
803
|
declare function useFetch<T = unknown>(url: string, { parseAs, ...options }?: UseFetchOptions): Promise<Result<T>>;
|
|
804
804
|
|
|
805
805
|
type NullToOptional<T> = {
|
|
806
|
-
[K in keyof T]: null extends T[K] ? Exclude<T[K], null> | undefined : T[K];
|
|
806
|
+
[K in keyof T]: null extends T[K] ? Exclude<T[K], null> extends object ? NullToOptional<Exclude<T[K], null>> | undefined : Exclude<T[K], null> | undefined : T[K] extends (infer U)[] ? U extends object ? NullToOptional<U>[] : T[K] : T[K] extends object ? NullToOptional<T[K]> : T[K];
|
|
807
807
|
};
|
|
808
808
|
declare function nullToOptional<T extends object>(obj: T): NullToOptional<T>;
|
|
809
809
|
type OptionalToNull<T> = {
|
|
810
|
-
[K in keyof T]: undefined extends T[K] ? Exclude<T[K], undefined> | null : T[K];
|
|
810
|
+
[K in keyof T]: undefined extends T[K] ? Exclude<T[K], undefined> extends object ? OptionalToNull<Exclude<T[K], undefined>> | null : Exclude<T[K], undefined> | null : T[K] extends (infer U)[] ? U extends object ? OptionalToNull<U>[] : T[K] : T[K] extends object ? OptionalToNull<T[K]> : T[K];
|
|
811
811
|
};
|
|
812
812
|
declare function optionalToNull<T extends object>(obj: T): OptionalToNull<T>;
|
|
813
813
|
|
package/dist/index.d.ts
CHANGED
|
@@ -803,11 +803,11 @@ interface UseFetchOptions extends RequestInit {
|
|
|
803
803
|
declare function useFetch<T = unknown>(url: string, { parseAs, ...options }?: UseFetchOptions): Promise<Result<T>>;
|
|
804
804
|
|
|
805
805
|
type NullToOptional<T> = {
|
|
806
|
-
[K in keyof T]: null extends T[K] ? Exclude<T[K], null> | undefined : T[K];
|
|
806
|
+
[K in keyof T]: null extends T[K] ? Exclude<T[K], null> extends object ? NullToOptional<Exclude<T[K], null>> | undefined : Exclude<T[K], null> | undefined : T[K] extends (infer U)[] ? U extends object ? NullToOptional<U>[] : T[K] : T[K] extends object ? NullToOptional<T[K]> : T[K];
|
|
807
807
|
};
|
|
808
808
|
declare function nullToOptional<T extends object>(obj: T): NullToOptional<T>;
|
|
809
809
|
type OptionalToNull<T> = {
|
|
810
|
-
[K in keyof T]: undefined extends T[K] ? Exclude<T[K], undefined> | null : T[K];
|
|
810
|
+
[K in keyof T]: undefined extends T[K] ? Exclude<T[K], undefined> extends object ? OptionalToNull<Exclude<T[K], undefined>> | null : Exclude<T[K], undefined> | null : T[K] extends (infer U)[] ? U extends object ? OptionalToNull<U>[] : T[K] : T[K] extends object ? OptionalToNull<T[K]> : T[K];
|
|
811
811
|
};
|
|
812
812
|
declare function optionalToNull<T extends object>(obj: T): OptionalToNull<T>;
|
|
813
813
|
|
package/dist/index.mjs
CHANGED
|
@@ -681,14 +681,38 @@ async function useFetch(url, { parseAs = "json", ...options } = {}) {
|
|
|
681
681
|
|
|
682
682
|
function nullToOptional(obj) {
|
|
683
683
|
return Object.fromEntries(
|
|
684
|
-
Object.entries(obj).map(([k, v]) =>
|
|
684
|
+
Object.entries(obj).map(([k, v]) => {
|
|
685
|
+
if (v === null) return [k, void 0];
|
|
686
|
+
if (Array.isArray(v))
|
|
687
|
+
return [
|
|
688
|
+
k,
|
|
689
|
+
v.map(
|
|
690
|
+
(item) => item !== null && typeof item === "object" ? nullToOptional(item) : item
|
|
691
|
+
)
|
|
692
|
+
];
|
|
693
|
+
if (typeof v === "object" && v instanceof Date) return [k, v];
|
|
694
|
+
if (typeof v === "object") return [k, nullToOptional(v)];
|
|
695
|
+
return [k, v];
|
|
696
|
+
})
|
|
685
697
|
);
|
|
686
698
|
}
|
|
687
699
|
function optionalToNull(obj) {
|
|
688
700
|
const out = {};
|
|
689
701
|
for (const key of Object.keys(obj)) {
|
|
690
702
|
const value = obj[key];
|
|
691
|
-
|
|
703
|
+
if (value === void 0) {
|
|
704
|
+
out[key] = null;
|
|
705
|
+
} else if (Array.isArray(value)) {
|
|
706
|
+
out[key] = value.map(
|
|
707
|
+
(item) => item !== void 0 && typeof item === "object" && !(item instanceof Date) ? optionalToNull(item) : item
|
|
708
|
+
);
|
|
709
|
+
} else if (typeof value === "object" && value !== null && !(value instanceof Date)) {
|
|
710
|
+
out[key] = optionalToNull(
|
|
711
|
+
value
|
|
712
|
+
);
|
|
713
|
+
} else {
|
|
714
|
+
out[key] = value;
|
|
715
|
+
}
|
|
692
716
|
}
|
|
693
717
|
return out;
|
|
694
718
|
}
|