feat: implement bool polyfills in java
This commit is contained in:
@@ -9,6 +9,7 @@ interface Internals {
|
||||
function: FunctionConstructor;
|
||||
array: ArrayConstructor;
|
||||
promise: PromiseConstructor;
|
||||
bool: BooleanConstructor;
|
||||
|
||||
markSpecial(...funcs: Function[]): void;
|
||||
getEnv(func: Function): Environment | undefined;
|
||||
@@ -46,21 +47,22 @@ try {
|
||||
var Function = env.global.Function = internals.function;
|
||||
var Array = env.global.Array = internals.array;
|
||||
var Promise = env.global.Promise = internals.promise;
|
||||
var Boolean = env.global.Boolean = internals.bool;
|
||||
|
||||
env.setProto('object', Object.prototype);
|
||||
env.setProto('function', Function.prototype);
|
||||
env.setProto('array', Array.prototype);
|
||||
env.setProto('bool', Boolean.prototype);
|
||||
|
||||
(Object.prototype as any).__proto__ = null;
|
||||
|
||||
internals.getEnv(run)?.setProto('array', Array.prototype);
|
||||
|
||||
globalThis.log = (...args) => internals.apply(internals.log, internals, args);
|
||||
|
||||
run('values/symbol');
|
||||
run('values/errors');
|
||||
run('values/string');
|
||||
run('values/number');
|
||||
run('values/boolean');
|
||||
run('map');
|
||||
run('set');
|
||||
run('regex');
|
||||
|
||||
1
lib/lib.d.ts
vendored
1
lib/lib.d.ts
vendored
@@ -244,6 +244,7 @@ interface ArrayConstructor {
|
||||
}
|
||||
|
||||
interface Boolean {
|
||||
toString(): string;
|
||||
valueOf(): boolean;
|
||||
}
|
||||
interface BooleanConstructor {
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
"values/errors.ts",
|
||||
"values/string.ts",
|
||||
"values/number.ts",
|
||||
"values/boolean.ts",
|
||||
"map.ts",
|
||||
"set.ts",
|
||||
"regex.ts",
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
define("values/boolean", () => {
|
||||
var Boolean = env.global.Boolean = function (this: Boolean | undefined, arg) {
|
||||
var val;
|
||||
if (arguments.length === 0) val = false;
|
||||
else val = !!arg;
|
||||
if (this === undefined || this === null) return val;
|
||||
else (this as any).value = val;
|
||||
} as BooleanConstructor;
|
||||
|
||||
env.setProto('bool', Boolean.prototype);
|
||||
setConstr(Boolean.prototype, Boolean);
|
||||
});
|
||||
Reference in New Issue
Block a user