isNullOrUndefinedメソッドを作ってみました
こんにちわ。nap5です。
isNullOrUndefinedメソッドを作ってみましたので、紹介したいと思います。
import { Chance } from "chance";
import { z } from "zod";
const UserSchema = z.object({
id: z.number(),
name: z.string(),
});
const UserDataSchema = UserSchema.deepPartial().nullish();
type UserData = z.infer<typeof UserDataSchema>;
const isNullOrUndefined = (data: unknown): data is null | undefined => {
if (data === null || data === undefined) {
return true;
}
return false;
};
const falsyValue = () => (Chance().bool() ? null : undefined);
const data: UserData = Chance().bool()
? {
id: 37458,
name: "cowboy",
}
: falsyValue();
(() => {
if (isNullOrUndefined(data)) {
console.log(data); // undefined or null
return;
}
console.log(data.id); // neatValue
})();
デモコードです。
簡単ですが、以上です。