source: node_modules/ts-toolbelt/out/Any/At.d.ts

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 695 bytes
Line 
1import { Key } from './Key';
2import { List } from '../List/List';
3/**
4 * Get in `O` the type of a field of key `K`
5 * @param O to extract from
6 * @param K to extract at
7 * @returns [[Any]]
8 * @example
9 * ```ts
10 * import {O} from 'ts-toolbelt'
11 *
12 * type User = {
13 * info: {
14 * name: string
15 * age: number
16 * payment: {}
17 * }
18 * id: number
19 * }
20 *
21 * type test0 = O.At<User, 'id'> // number
22 * ```
23 */
24export declare type At<A extends any, K extends Key> = A extends List ? number extends A['length'] ? K extends number | `${number}` ? A[never] | undefined : undefined : K extends keyof A ? A[K] : undefined : unknown extends A ? unknown : K extends keyof A ? A[K] : undefined;
Note: See TracBrowser for help on using the repository browser.