UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

79 lines (71 loc) 4.86 kB
/** * DevExtreme (core/index.d.ts) * Version: 22.1.9 * Build date: Tue Apr 18 2023 * * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type KeyOf<T> = T extends never ? never : keyof T; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type KeysOf<T1, T2, T3, T4, T5, T6, T7, T8> = KeyOf<T1> | KeyOf<T2> | KeyOf<T3> | KeyOf<T4> | KeyOf<T5> | KeyOf<T6> | KeyOf<T7> | KeyOf<T8>; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type Seal<T, K extends keyof any> = T & { [P in Exclude<K, keyof T>]?: never; }; // Exact props check, see https://github.com/Microsoft/TypeScript/issues/12936 /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type Xor<T1, T2 = never, T3 = never, T4 = never, T5 = never, T6 = never, T7 = never, T8 = never, T9 = never> = | Seal<T1, KeysOf<T2, T3, T4, T5, T6, T7, T8, T9>> | Seal<T2, KeysOf<T1, T3, T4, T5, T6, T7, T8, T9>> | Seal<T3, KeysOf<T1, T2, T4, T5, T6, T7, T8, T9>> | Seal<T4, KeysOf<T1, T2, T3, T5, T6, T7, T8, T9>> | Seal<T5, KeysOf<T1, T2, T3, T4, T6, T7, T8, T9>> | Seal<T6, KeysOf<T1, T2, T3, T4, T5, T7, T8, T9>> | Seal<T7, KeysOf<T1, T2, T3, T4, T5, T6, T8, T9>> | Seal<T8, KeysOf<T1, T2, T3, T4, T5, T6, T7, T9>> | Seal<T9, KeysOf<T1, T2, T3, T4, T5, T6, T7, T8>>; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type Scalar = undefined | null | string | String | number | Number | bigint | BigInteger | boolean | Boolean | Date | Function | Symbol | Array<unknown>; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type DeepPartial<T> = T extends Scalar ? T : { [P in keyof T]?: DeepPartial<T[P]>; }; // Omit does not exist in TS < 3.5.1 /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type Skip<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type ItemType<T> = T extends (infer TItem)[] ? TItem : T; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type Property<T, TPropName extends string> = T extends Partial<Record<TPropName, infer TValue>> ? TValue : never; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ type OwnPropertyType<T, TPropName extends string> = Property<ItemType<T>, TPropName>; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type PropertyType<T, TProp extends string> = TProp extends `${infer TOwnProp}.${infer TNestedProps}` ? PropertyType<OwnPropertyType<T, TOwnProp>, TNestedProps> : OwnPropertyType<T, TProp>;