Delegator

Forwards every object operation to another object. Subclass it to wrap a host object: override only what you want to change and the rest keeps working.

Constructors

Link copied to clipboard
constructor()

A prototype-shaped delegator with nothing behind it yet.

constructor(obj: Scriptable?)

Properties

Link copied to clipboard
open override val className: String

The class name, as Object.prototype.toString reports it.

Link copied to clipboard

The scope this function was declared in.

Link copied to clipboard
open var delegee: Scriptable?

The object every operation is forwarded to.

Link copied to clipboard
open override var parentScope: Scriptable?
Link copied to clipboard
open override var prototype: Scriptable?

Functions

Link copied to clipboard
open override fun call(cx: Context, scope: Scriptable, thisObj: Scriptable?, args: Array<Any?>): Any?
Link copied to clipboard
open override fun construct(cx: Context, scope: Scriptable, args: Array<Any?>): Scriptable

With nothing behind it this acts as a prototype: new builds a delegator over a fresh object.

Link copied to clipboard
open override fun delete(key: Symbol)
open override fun delete(index: Int)
open override fun delete(name: String)
Link copied to clipboard
open override fun get(key: Symbol, start: Scriptable): Any?

open override fun get(index: Int, start: Scriptable): Any?

Gets an indexed property, or NOT_FOUND when there is none.

open override fun get(name: String, start: Scriptable): Any?

Gets a named property, or NOT_FOUND when there is none.

Link copied to clipboard
open override fun getDefaultValue(hint: KClass<*>?): Any?

A delegator is its own primitive when asked for an object, and defers otherwise.

Link copied to clipboard
open override fun getIds(): Array<Any?>

Every property name of this object alone, ignoring the prototype chain.

Link copied to clipboard
open override fun has(key: Symbol, start: Scriptable): Boolean
open override fun has(index: Int, start: Scriptable): Boolean
open override fun has(name: String, start: Scriptable): Boolean
Link copied to clipboard
open override fun hasInstance(instance: Scriptable): Boolean

Backs the instanceof operator.

Link copied to clipboard
open override fun put(key: Symbol, start: Scriptable, value: Any?)
open override fun put(index: Int, start: Scriptable, value: Any?)
open override fun put(name: String, start: Scriptable, value: Any?)