mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
feat(observable): enhance event callback type specificity (#10720)
This commit is contained in:
9
packages/core/utils/typescript-utils.d.ts
vendored
9
packages/core/utils/typescript-utils.d.ts
vendored
@@ -4,3 +4,12 @@
|
||||
* // returns: { eventName: string; object?: Observable }
|
||||
*/
|
||||
export type Optional<T, K extends keyof T> = Omit<T, K> & { [P in K]?: T[P] };
|
||||
|
||||
/**
|
||||
* Determines if a string type ends with a specified suffix.
|
||||
* @example type IsChangeEvent = EndsWith<"propertyNameChange", "Change", true, false>
|
||||
* // returns: true
|
||||
* @example type IsChangeEvent = EndsWith<"someEvent", "Change", true, false>
|
||||
* // returns: false
|
||||
*/
|
||||
export type EndsWith<T extends string, S extends string, PassType = true, FailType = false> = T extends `${infer _}${S}` ? PassType : FailType;
|
||||
Reference in New Issue
Block a user