-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathindex.test-d.ts
21 lines (15 loc) · 1005 Bytes
/
index.test-d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import {expectType} from 'tsd';
import sortOn, {type Property} from './index.js';
expectType<string>(sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], 'x')[0].x);
expectType<any>(sortOn<any>([{x: 'b'}, {x: 'a'}, {x: 'c'}], 'x')[0].x);
expectType<string>(sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], ['x'])[0].x);
expectType<string>(sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], element => element.x)[0].x);
expectType<string>(sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], [element => element.x])[0].x);
expectType<string>(sortOn([{x: 'b', y: 1}, {x: 'a', y: 2}, {x: 'c', y: 1}], [element => element.x, 'y'])[0].x);
const property: Property<string> = string => string;
expectType<string>(sortOn(['a', 'bb', 'ccc'], property)[0]);
sortOn(['a', 'bb', 'ccc'] as const, 'length');
sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], 'x', {locales: 'en'});
sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], 'x', {localeOptions: {numeric: true}});
declare const localeOptions: Intl.CollatorOptions;
sortOn([{x: 'b'}, {x: 'a'}, {x: 'c'}], 'x', {localeOptions});