feat: create CSV normalizer to normalize a CSV file (#12396)
This commit is contained in:
@@ -87,3 +87,4 @@ export * from "./upper-case-first"
|
||||
export * from "./validate-handle"
|
||||
export * from "./wrap-handler"
|
||||
export * from "./validate-module-name"
|
||||
export * from "./try-convert-to-boolean"
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Transforms a value to a boolean or returns the default value
|
||||
* when original value cannot be casted to a boolean
|
||||
*/
|
||||
export function tryConvertToBoolean(value: unknown): boolean | undefined
|
||||
export function tryConvertToBoolean<T>(
|
||||
value: unknown,
|
||||
defaultValue: T
|
||||
): boolean | T
|
||||
export function tryConvertToBoolean<T>(
|
||||
value: unknown,
|
||||
defaultValue?: T
|
||||
): boolean | undefined | T {
|
||||
if (typeof value === "string") {
|
||||
const normalizedValue = value.toLowerCase()
|
||||
return normalizedValue === "true"
|
||||
? true
|
||||
: normalizedValue === "false"
|
||||
? false
|
||||
: defaultValue ?? undefined
|
||||
}
|
||||
return defaultValue ?? undefined
|
||||
}
|
||||
Reference in New Issue
Block a user