fix: properly initialize Infinity and NaN
This commit is contained in:
parent
7b19f7b399
commit
50739de70c
@ -74,8 +74,6 @@ interface MathObject {
|
|||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
declare const arguments: IArguments;
|
declare const arguments: IArguments;
|
||||||
declare const Math: MathObject;
|
declare const Math: MathObject;
|
||||||
const NaN = 0 / 0;
|
|
||||||
const Infinity = 1 / 0;
|
|
||||||
|
|
||||||
declare var setTimeout: <T extends any[]>(handle: (...args: [ ...T, ...any[] ]) => void, delay?: number, ...args: T) => number;
|
declare var setTimeout: <T extends any[]>(handle: (...args: [ ...T, ...any[] ]) => void, delay?: number, ...args: T) => number;
|
||||||
declare var setInterval: <T extends any[]>(handle: (...args: [ ...T, ...any[] ]) => void, delay?: number, ...args: T) => number;
|
declare var setInterval: <T extends any[]>(handle: (...args: [ ...T, ...any[] ]) => void, delay?: number, ...args: T) => number;
|
||||||
|
@ -12,8 +12,10 @@ interface NumberConstructor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
declare var Number: NumberConstructor;
|
declare var Number: NumberConstructor;
|
||||||
declare const parseInt: typeof Number.parseInt;
|
declare var parseInt: typeof Number.parseInt;
|
||||||
declare const parseFloat: typeof Number.parseFloat;
|
declare var parseFloat: typeof Number.parseFloat;
|
||||||
|
declare var NaN: number;
|
||||||
|
declare var Infinity: number;
|
||||||
|
|
||||||
gt.Number = function(this: Number | undefined, arg: any) {
|
gt.Number = function(this: Number | undefined, arg: any) {
|
||||||
var val;
|
var val;
|
||||||
@ -42,5 +44,7 @@ setProps(Number, {
|
|||||||
parseFloat(val) { return internals.parseFloat(val); },
|
parseFloat(val) { return internals.parseFloat(val); },
|
||||||
});
|
});
|
||||||
|
|
||||||
(gt as any).parseInt = Number.parseInt;
|
Object.defineProperty(gt, 'parseInt', { value: Number.parseInt, writable: false });
|
||||||
(gt as any).parseFloat = Number.parseFloat;
|
Object.defineProperty(gt, 'parseFloat', { value: Number.parseFloat, writable: false });
|
||||||
|
Object.defineProperty(gt, 'NaN', { value: 0 / 0, writable: false });
|
||||||
|
Object.defineProperty(gt, 'Infinity', { value: 1 / 0, writable: false });
|
||||||
|
@ -54,7 +54,7 @@ public class Main {
|
|||||||
|
|
||||||
public static void main(String args[]) {
|
public static void main(String args[]) {
|
||||||
var in = new BufferedReader(new InputStreamReader(System.in));
|
var in = new BufferedReader(new InputStreamReader(System.in));
|
||||||
engine = new PolyfillEngine(new File("."));
|
engine = new TypescriptEngine(new File("."));
|
||||||
var scope = engine.global().globalChild();
|
var scope = engine.global().globalChild();
|
||||||
var exited = new boolean[1];
|
var exited = new boolean[1];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user