@waiting/shared-types
Advanced tools
Comparing version 23.20.1 to 23.20.2
@@ -12,3 +12,3 @@ import type { RecordCamelKeys, RecordPascalKeys, RecordSnakeKeys } from './template-literal.js'; | ||
type _JoinCover<T1 extends object, T2 extends object, Prefix extends string> = { | ||
[K in keyof Pick<T2, keyof (T1 | T2)> as `${Prefix}_${K & string}`]: T2[K]; | ||
[K in keyof Pick<T2, keyof (T1 | T2)> as K extends string ? `${Prefix}_${K}` : K]: T2[K]; | ||
}; | ||
@@ -27,3 +27,3 @@ type _JoinDiff<T1 extends object, T2 extends object> = { | ||
*/ | ||
export type DbScopedColsByTableType<D extends {}, T = undefined> = T extends undefined ? DbScopedColsByKey<D> : D extends Record<infer F extends string, unknown> ? F extends unknown ? T extends D[F] ? `${F}.${(keyof D[F]) & string}` : never : never : never; | ||
export type DbScopedColsByTableType<D extends {}, T = undefined> = T extends undefined ? DbScopedColsByKey<D> : D extends Record<infer F extends string, unknown> ? F extends unknown ? T extends D[F] ? keyof D[F] extends string ? `${F}.${keyof D[F]}` : never : never : never : never; | ||
export type UnwrapArrayMember<T> = T extends (infer M)[] ? M : T; | ||
@@ -30,0 +30,0 @@ export type StrKey<T> = keyof T & string; |
@@ -16,6 +16,6 @@ export type StrSplit<S extends string, D extends string> = string extends S ? string[] : S extends `${infer T}${D}${infer U}` ? [T, ...StrSplit<U, D>] : [ | ||
export type RecursiveCamelKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToCamel<K & string, D>}`]: T[K] extends Record<string, unknown> ? RecursiveCamelKeys<T[K], D> : T[K]; | ||
[K in keyof T as K extends string ? `${SnakeToCamel<K, D>}` : K]: T[K] extends Record<string, unknown> ? RecursiveCamelKeys<T[K], D> : T[K]; | ||
}; | ||
export type RecordCamelKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToCamel<K & string, D>}`]: T[K]; | ||
[K in keyof T as K extends string ? `${SnakeToCamel<K, D>}` : K]: T[K]; | ||
}; | ||
@@ -25,6 +25,6 @@ export type PascalKeys<T, D extends string = '_', Recursive extends boolean = false> = T extends object ? _PascalKeys<T, D, Recursive> : never; | ||
export type RecursivePascalKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToPascal<K & string, D>}`]: T[K] extends Record<string, unknown> ? RecursivePascalKeys<T[K], D> : T[K]; | ||
[K in keyof T as K extends string ? `${SnakeToPascal<K, D>}` : K]: T[K] extends Record<string, unknown> ? RecursivePascalKeys<T[K], D> : T[K]; | ||
}; | ||
export type RecordPascalKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToPascal<K & string, D>}`]: T[K]; | ||
[K in keyof T as K extends string ? `${SnakeToPascal<K, D>}` : K]: T[K]; | ||
}; | ||
@@ -34,8 +34,8 @@ export type SnakeKeys<T, D extends string = '_', Recursive extends boolean = false> = T extends object ? _SnakeKeys<T, D, Recursive> : never; | ||
export type RecursiveSnakeKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${CamelToSnake<K & string, D>}`]: T[K] extends Record<string, unknown> ? RecursiveSnakeKeys<T[K], D> : T[K]; | ||
[K in keyof T as K extends string ? `${CamelToSnake<K, D>}` : K]: T[K] extends Record<string, unknown> ? RecursiveSnakeKeys<T[K], D> : T[K]; | ||
}; | ||
export type RecordSnakeKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${CamelToSnake<K & string, D>}`]: T[K]; | ||
[K in keyof T as K extends string ? `${CamelToSnake<K, D>}` : K]: T[K]; | ||
}; | ||
export {}; | ||
//# sourceMappingURL=template-literal.d.ts.map |
{ | ||
"name": "@waiting/shared-types", | ||
"author": "waiting", | ||
"version": "23.20.1", | ||
"version": "23.20.2", | ||
"description": "shared typescript types", | ||
@@ -72,3 +72,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "1feb0a698affa2856e8ffad22f4cd45fc40dce60" | ||
"gitHead": "bbef800075f7758e28d427c845ba4f6986d61fa0" | ||
} |
@@ -34,3 +34,3 @@ /* eslint-disable @typescript-eslint/ban-types */ | ||
type _JoinCover<T1 extends object, T2 extends object, Prefix extends string> = { | ||
[K in keyof Pick<T2, keyof (T1 | T2)> as `${Prefix}_${K & string}`]: T2[K] | ||
[K in keyof Pick<T2, keyof (T1 | T2)> as K extends string ? `${Prefix}_${K}` : K]: T2[K] | ||
} | ||
@@ -64,3 +64,5 @@ type _JoinDiff<T1 extends object, T2 extends object> = { | ||
? T extends D[F] | ||
? `${F}.${(keyof D[F]) & string}` | ||
? keyof D[F] extends string | ||
? `${F}.${keyof D[F]}` | ||
: never | ||
: never | ||
@@ -67,0 +69,0 @@ : never |
@@ -125,3 +125,3 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ | ||
export type RecursiveCamelKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToCamel<K & string, D>}`]: T[K] extends Record<string, unknown> | ||
[K in keyof T as K extends string ? `${SnakeToCamel<K, D>}` : K]: T[K] extends Record<string, unknown> | ||
? RecursiveCamelKeys<T[K], D> | ||
@@ -131,3 +131,3 @@ : T[K] | ||
export type RecordCamelKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToCamel<K & string, D>}`]: T[K] | ||
[K in keyof T as K extends string ? `${SnakeToCamel<K, D>}` : K]: T[K] | ||
} | ||
@@ -153,3 +153,3 @@ | ||
export type RecursivePascalKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToPascal<K & string, D>}`]: T[K] extends Record<string, unknown> | ||
[K in keyof T as K extends string ? `${SnakeToPascal<K, D>}` : K]: T[K] extends Record<string, unknown> | ||
? RecursivePascalKeys<T[K], D> | ||
@@ -159,3 +159,3 @@ : T[K] | ||
export type RecordPascalKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${SnakeToPascal<K & string, D>}`]: T[K] | ||
[K in keyof T as K extends string ? `${SnakeToPascal<K, D>}` : K]: T[K] | ||
} | ||
@@ -181,3 +181,3 @@ | ||
export type RecursiveSnakeKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${CamelToSnake<K & string, D>}`]: T[K] extends Record<string, unknown> | ||
[K in keyof T as K extends string ? `${CamelToSnake<K, D>}` : K]: T[K] extends Record<string, unknown> | ||
? RecursiveSnakeKeys<T[K], D> | ||
@@ -187,3 +187,3 @@ : T[K] | ||
export type RecordSnakeKeys<T, D extends string = '_'> = { | ||
[K in keyof T as `${CamelToSnake<K & string, D>}`]: T[K] | ||
[K in keyof T as K extends string ? `${CamelToSnake<K, D>}` : K]: T[K] | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
79281
1380