/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Buffer = new Func('Buffer', function () { $self = new Buffer(); $self->init(func_get_args()); return $self; }); $Buffer->set('prototype', Buffer::$protoObject); $Buffer->setMethods(Buffer::$classMethods, true, false, true); return $Buffer; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Error = new Func(function ($str = null) { $error = new self($str); $error->stack = debug_backtrace(); return $error; }); $Error->set('prototype', self::$protoObject); $Error->setMethods(self::$classMethods, true, false, true); return $Error; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Boolean = new Func(function ($value = false) { $self = Func::getContext(); if ($self instanceof Bln) { $self->value = $value ? true : false; return $self; } else { return $value ? true : false; } }); $Boolean->instantiate = function () { return new Bln(); }; $Boolean->set('prototype', Bln::$protoObject); $Boolean->setMethods(Bln::$classMethods, true, false, true); return $Boolean; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $String = new Func(function ($value = '') { $self = Func::getContext(); if ($self instanceof Str) { $self->value = to_string($value); return $self; } else { return to_string($value); } }); $String->instantiate = function () { return new Str(); }; $String->set('prototype', Str::$protoObject); $String->setMethods(Str::$classMethods, true, false, true); return $String; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Number = new Func(function ($value = 0) { $self = Func::getContext(); if ($self instanceof Number) { $self->value = to_number($value); return $self; } else { return to_number($value); } }); $Number->instantiate = function () { return new Number(); }; $Number->set('prototype', Number::$protoObject); $Number->setMethods(Number::$classMethods, true, false, true); //constants $Number->set('NaN', NAN); $Number->set('MAX_VALUE', INF); $Number->set('MIN_VALUE', -INF); $Number->set('NEGATIVE_INFINITY', -INF); $Number->set('POSITIVE_INFINITY', INF); return $Number; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Date = new Func(function () { $date = new Date(); $date->init(func_get_args()); return $date; }); $Date->set('prototype', Date::$protoObject); $Date->setMethods(Date::$classMethods, true, false, true); return $Date; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Array = new Func(function ($value = null) { $arr = new Arr(); $len = func_num_args(); if ($len === 1 && is_int_or_float($value)) { $arr->length = (int) $value; } else { if ($len > 0) { $arr->init(func_get_args()); } } return $arr; }); $Array->set('prototype', Arr::$protoObject); $Array->setMethods(Arr::$classMethods, true, false, true); return $Array; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Object = new Func(function ($value = null) { if ($value === null || $value === Object::$null) { return new Object(); } else { return objectify($value); } }); $Object->set('prototype', Object::$protoObject); $Object->setMethods(Object::$classMethods, true, false, true); return $Object; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $RegExp = new Func(function () { $reg = new RegExp(); $reg->init(func_get_args()); return $reg; }); $RegExp->set('prototype', RegExp::$protoObject); $RegExp->setMethods(RegExp::$classMethods, true, false, true); return $RegExp; }
/** * Creates the global constructor used in user-land * @return Func */ static function getGlobalConstructor() { $Function = new Func(function ($fn) { throw new Ex(Error::create('Cannot construct function at runtime.')); }); $Function->set('prototype', Func::$protoObject); $Function->setMethods(Func::$classMethods, true, false, true); return $Function; }