{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/tests/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * A utility type that makes all properties of a type optional, recursively.\n */\nexport type DeepPartial<Type> = Type extends string\n  ? Type\n  : {\n      [Property in keyof Type]?: Type[Property] extends (infer Value)[]\n        ? DeepPartial<Value>[]\n        : Type[Property] extends readonly (infer Value)[]\n          ? readonly DeepPartial<Value>[]\n          : Type[Property] extends object\n            ? DeepPartial<Type[Property]>\n            : Type[Property];\n    };\n"]}