TypeScript/tests/baselines/reference/bigintWithoutLib.types
Anders Hejlsberg a4f9bf0fce
Create type aliases for unresolved type symbols (#45976)
* Create type aliases for unresolved type symbols

* Accept new baselines

* Update fourslash tests

* Unresolved import aliases create tagged unresolved symbols

* Add comments

* Accept new baselines

* Add fourslash tests
2021-09-23 13:21:27 -07:00

395 lines
12 KiB
Plaintext

=== tests/cases/compiler/bigintWithoutLib.ts ===
// Every line should error because these builtins are not declared
// Test BigInt functions
let bigintVal: bigint = BigInt(123);
>bigintVal : bigint
>BigInt(123) : any
>BigInt : any
>123 : 123
bigintVal = BigInt("456");
>bigintVal = BigInt("456") : any
>bigintVal : bigint
>BigInt("456") : any
>BigInt : any
>"456" : "456"
new BigInt(123);
>new BigInt(123) : any
>BigInt : any
>123 : 123
bigintVal = BigInt.asIntN(8, 0xFFFFn);
>bigintVal = BigInt.asIntN(8, 0xFFFFn) : any
>bigintVal : bigint
>BigInt.asIntN(8, 0xFFFFn) : any
>BigInt.asIntN : any
>BigInt : any
>asIntN : any
>8 : 8
>0xFFFFn : 65535n
bigintVal = BigInt.asUintN(8, 0xFFFFn);
>bigintVal = BigInt.asUintN(8, 0xFFFFn) : any
>bigintVal : bigint
>BigInt.asUintN(8, 0xFFFFn) : any
>BigInt.asUintN : any
>BigInt : any
>asUintN : any
>8 : 8
>0xFFFFn : 65535n
bigintVal = bigintVal.valueOf(); // should error - bigintVal inferred as {}
>bigintVal = bigintVal.valueOf() : Object
>bigintVal : bigint
>bigintVal.valueOf() : Object
>bigintVal.valueOf : () => Object
>bigintVal : bigint
>valueOf : () => Object
let stringVal: string = bigintVal.toString(); // should not error - bigintVal inferred as {}
>stringVal : string
>bigintVal.toString() : string
>bigintVal.toString : () => string
>bigintVal : bigint
>toString : () => string
stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {}
>stringVal = bigintVal.toString(2) : string
>stringVal : string
>bigintVal.toString(2) : string
>bigintVal.toString : () => string
>bigintVal : bigint
>toString : () => string
>2 : 2
stringVal = bigintVal.toLocaleString(); // should not error - bigintVal inferred as {}
>stringVal = bigintVal.toLocaleString() : string
>stringVal : string
>bigintVal.toLocaleString() : string
>bigintVal.toLocaleString : () => string
>bigintVal : bigint
>toLocaleString : () => string
stringVal = bigintVal.toLocaleString('de-DE'); // should not error - bigintVal inferred as {}
>stringVal = bigintVal.toLocaleString('de-DE') : string
>stringVal : string
>bigintVal.toLocaleString('de-DE') : string
>bigintVal.toLocaleString : () => string
>bigintVal : bigint
>toLocaleString : () => string
>'de-DE' : "de-DE"
stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); // should not error - bigintVal inferred as {}
>stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string
>stringVal : string
>bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string
>bigintVal.toLocaleString : () => string
>bigintVal : bigint
>toLocaleString : () => string
>'de-DE' : "de-DE"
>{ style: 'currency' } : { style: string; }
>style : string
>'currency' : "currency"
stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) // should not error - bigintVal inferred as {}
>stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string
>stringVal : string
>bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string
>bigintVal.toLocaleString : () => string
>bigintVal : bigint
>toLocaleString : () => string
>'de-DE' : "de-DE"
>{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; }
>style : string
>'currency' : "currency"
>currency : string
>'EUR' : "EUR"
// Test BigInt64Array
let bigIntArray: BigInt64Array = new BigInt64Array();
>bigIntArray : BigInt64Array
>new BigInt64Array() : any
>BigInt64Array : any
bigIntArray = new BigInt64Array(10);
>bigIntArray = new BigInt64Array(10) : any
>bigIntArray : BigInt64Array
>new BigInt64Array(10) : any
>BigInt64Array : any
>10 : 10
bigIntArray = new BigInt64Array([1n, 2n, 3n]);
>bigIntArray = new BigInt64Array([1n, 2n, 3n]) : any
>bigIntArray : BigInt64Array
>new BigInt64Array([1n, 2n, 3n]) : any
>BigInt64Array : any
>[1n, 2n, 3n] : bigint[]
>1n : 1n
>2n : 2n
>3n : 3n
bigIntArray = new BigInt64Array([1, 2, 3]);
>bigIntArray = new BigInt64Array([1, 2, 3]) : any
>bigIntArray : BigInt64Array
>new BigInt64Array([1, 2, 3]) : any
>BigInt64Array : any
>[1, 2, 3] : number[]
>1 : 1
>2 : 2
>3 : 3
bigIntArray = new BigInt64Array(new ArrayBuffer(80));
>bigIntArray = new BigInt64Array(new ArrayBuffer(80)) : any
>bigIntArray : BigInt64Array
>new BigInt64Array(new ArrayBuffer(80)) : any
>BigInt64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8);
>bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8) : any
>bigIntArray : BigInt64Array
>new BigInt64Array(new ArrayBuffer(80), 8) : any
>BigInt64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
>8 : 8
bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8, 3);
>bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8, 3) : any
>bigIntArray : BigInt64Array
>new BigInt64Array(new ArrayBuffer(80), 8, 3) : any
>BigInt64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
>8 : 8
>3 : 3
let len: number = bigIntArray.length;
>len : number
>bigIntArray.length : any
>bigIntArray : BigInt64Array
>length : any
bigIntArray.length = 10;
>bigIntArray.length = 10 : 10
>bigIntArray.length : any
>bigIntArray : BigInt64Array
>length : any
>10 : 10
let arrayBufferLike: ArrayBufferView = bigIntArray;
>arrayBufferLike : ArrayBufferView
>bigIntArray : BigInt64Array
// Test BigUint64Array
let bigUintArray: BigUint64Array = new BigUint64Array();
>bigUintArray : BigUint64Array
>new BigUint64Array() : any
>BigUint64Array : any
bigUintArray = new BigUint64Array(10);
>bigUintArray = new BigUint64Array(10) : any
>bigUintArray : BigUint64Array
>new BigUint64Array(10) : any
>BigUint64Array : any
>10 : 10
bigUintArray = new BigUint64Array([1n, 2n, 3n]);
>bigUintArray = new BigUint64Array([1n, 2n, 3n]) : any
>bigUintArray : BigUint64Array
>new BigUint64Array([1n, 2n, 3n]) : any
>BigUint64Array : any
>[1n, 2n, 3n] : bigint[]
>1n : 1n
>2n : 2n
>3n : 3n
bigUintArray = new BigUint64Array([1, 2, 3]);
>bigUintArray = new BigUint64Array([1, 2, 3]) : any
>bigUintArray : BigUint64Array
>new BigUint64Array([1, 2, 3]) : any
>BigUint64Array : any
>[1, 2, 3] : number[]
>1 : 1
>2 : 2
>3 : 3
bigUintArray = new BigUint64Array(new ArrayBuffer(80));
>bigUintArray = new BigUint64Array(new ArrayBuffer(80)) : any
>bigUintArray : BigUint64Array
>new BigUint64Array(new ArrayBuffer(80)) : any
>BigUint64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8);
>bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8) : any
>bigUintArray : BigUint64Array
>new BigUint64Array(new ArrayBuffer(80), 8) : any
>BigUint64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
>8 : 8
bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8, 3);
>bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8, 3) : any
>bigUintArray : BigUint64Array
>new BigUint64Array(new ArrayBuffer(80), 8, 3) : any
>BigUint64Array : any
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
>8 : 8
>3 : 3
len = bigIntArray.length;
>len = bigIntArray.length : any
>len : number
>bigIntArray.length : any
>bigIntArray : BigInt64Array
>length : any
bigIntArray.length = 10;
>bigIntArray.length = 10 : 10
>bigIntArray.length : any
>bigIntArray : BigInt64Array
>length : any
>10 : 10
arrayBufferLike = bigIntArray;
>arrayBufferLike = bigIntArray : BigInt64Array
>arrayBufferLike : ArrayBufferView
>bigIntArray : BigInt64Array
// Test added DataView methods
const dataView = new DataView(new ArrayBuffer(80));
>dataView : DataView
>new DataView(new ArrayBuffer(80)) : DataView
>DataView : DataViewConstructor
>new ArrayBuffer(80) : ArrayBuffer
>ArrayBuffer : ArrayBufferConstructor
>80 : 80
dataView.setBigInt64(1, -1n);
>dataView.setBigInt64(1, -1n) : any
>dataView.setBigInt64 : any
>dataView : DataView
>setBigInt64 : any
>1 : 1
>-1n : -1n
>1n : 1n
dataView.setBigInt64(1, -1n, true);
>dataView.setBigInt64(1, -1n, true) : any
>dataView.setBigInt64 : any
>dataView : DataView
>setBigInt64 : any
>1 : 1
>-1n : -1n
>1n : 1n
>true : true
dataView.setBigInt64(1, -1);
>dataView.setBigInt64(1, -1) : any
>dataView.setBigInt64 : any
>dataView : DataView
>setBigInt64 : any
>1 : 1
>-1 : -1
>1 : 1
dataView.setBigUint64(2, 123n);
>dataView.setBigUint64(2, 123n) : any
>dataView.setBigUint64 : any
>dataView : DataView
>setBigUint64 : any
>2 : 2
>123n : 123n
dataView.setBigUint64(2, 123n, true);
>dataView.setBigUint64(2, 123n, true) : any
>dataView.setBigUint64 : any
>dataView : DataView
>setBigUint64 : any
>2 : 2
>123n : 123n
>true : true
dataView.setBigUint64(2, 123);
>dataView.setBigUint64(2, 123) : any
>dataView.setBigUint64 : any
>dataView : DataView
>setBigUint64 : any
>2 : 2
>123 : 123
bigintVal = dataView.getBigInt64(1);
>bigintVal = dataView.getBigInt64(1) : any
>bigintVal : bigint
>dataView.getBigInt64(1) : any
>dataView.getBigInt64 : any
>dataView : DataView
>getBigInt64 : any
>1 : 1
bigintVal = dataView.getBigInt64(1, true);
>bigintVal = dataView.getBigInt64(1, true) : any
>bigintVal : bigint
>dataView.getBigInt64(1, true) : any
>dataView.getBigInt64 : any
>dataView : DataView
>getBigInt64 : any
>1 : 1
>true : true
bigintVal = dataView.getBigUint64(2);
>bigintVal = dataView.getBigUint64(2) : any
>bigintVal : bigint
>dataView.getBigUint64(2) : any
>dataView.getBigUint64 : any
>dataView : DataView
>getBigUint64 : any
>2 : 2
bigintVal = dataView.getBigUint64(2, true);
>bigintVal = dataView.getBigUint64(2, true) : any
>bigintVal : bigint
>dataView.getBigUint64(2, true) : any
>dataView.getBigUint64 : any
>dataView : DataView
>getBigUint64 : any
>2 : 2
>true : true
// Test Intl methods with new parameter type
new Intl.NumberFormat("fr").format(3000n);
>new Intl.NumberFormat("fr").format(3000n) : string
>new Intl.NumberFormat("fr").format : (value: number) => string
>new Intl.NumberFormat("fr") : Intl.NumberFormat
>Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; }
>Intl : typeof Intl
>NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; }
>"fr" : "fr"
>format : (value: number) => string
>3000n : 3000n
new Intl.NumberFormat("fr").format(bigintVal);
>new Intl.NumberFormat("fr").format(bigintVal) : string
>new Intl.NumberFormat("fr").format : (value: number) => string
>new Intl.NumberFormat("fr") : Intl.NumberFormat
>Intl.NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; }
>Intl : typeof Intl
>NumberFormat : { (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; new (locales?: string | string[], options?: Intl.NumberFormatOptions): Intl.NumberFormat; supportedLocalesOf(locales: string | string[], options?: Intl.NumberFormatOptions): string[]; }
>"fr" : "fr"
>format : (value: number) => string
>bigintVal : bigint