You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometimes, we might make a more specific definition on string type to avoid confusion in programming. For example:
const statePrefix = `State/` as const
type State = `${typeof statePrefix}${string}`
const customerIdPrefix = `Customer/` as const
type CustomerId = `${typeof customerIdPrefix}`
In this way, we can distinguish state and customerId, rather than using string everywhere. For example, we can clearly know a structure of a dictionary like
// Avoid confusion of Map<string, Map<string, boolean>>
const IsActiveCustomerMap = new Map<State<Map<CustomerId, boolean>>>()
So, I suggest adding startsWith definition to understand literal types. I would suggest this definition added to the library in addition to the original definition:
startsWith<T extends string>(searchString: T, position?: 0): this is `${T}${string};
This definition can help us simplify the specific string definition.
Configuration Check
My compilation target is ES2015 and my lib is the default.
Missing / Incorrect Definition
Add to Strings:
startsWith<T extends string>(searchString: T, position?: 0): this is `${T}${string};
Sample Code
function mkPrefix<T extends string>(prefix: T, key: string): `${T}${string}` {
if (key.startsWith(prefix)) return key;
return `${prefix}${key}`
}
Documentation Link
The text was updated successfully, but these errors were encountered:
lib Update Request
Sometimes, we might make a more specific definition on string type to avoid confusion in programming. For example:
In this way, we can distinguish state and customerId, rather than using
string
everywhere. For example, we can clearly know a structure of a dictionary likeSo, I suggest adding
startsWith
definition to understand literal types. I would suggest this definition added to the library in addition to the original definition:This definition can help us simplify the specific string definition.
Configuration Check
My compilation target is
ES2015
and my lib isthe default
.Missing / Incorrect Definition
Add to Strings:
Sample Code
Documentation Link
The text was updated successfully, but these errors were encountered: