@segment/analytics-core
Version:
This package represents core 'shared' functionality that is shared by analytics packages. This is not designed to be used directly, but internal to analytics-node and analytics-browser.
14 lines (12 loc) • 312 B
text/typescript
/**
* Remove Index Signature
*/
export type RemoveIndexSignature<T> = {
[K in keyof T as {} extends Record<K, 1> ? never : K]: T[K]
}
/**
* Recursively make all object properties nullable
*/
export type DeepNullable<T> = {
[K in keyof T]: T[K] extends object ? DeepNullable<T[K]> | null : T[K] | null
}