
jsMain.js.core.Proxy.kt Maven / Gradle / Ivy
package js.core
external interface ProxyHandler {
interface PropertyName /* string | symbol */
var apply: ((target: T, thisArg: Any, argArray: ReadonlyArray) -> Any)?
var construct: ((target: T, argArray: ReadonlyArray, newTarget: Function<*>) -> Any)?
var defineProperty: ((target: T, p: PropertyName, attributes: PropertyDescriptor<*>) -> Boolean)?
var deleteProperty: ((target: T, p: PropertyName) -> Boolean)?
var get: ((target: T, p: PropertyName, receiver: Any) -> Any)?
var getOwnPropertyDescriptor: ((target: T, p: PropertyName) -> PropertyDescriptor<*>)?
var getPrototypeOf: ((target: T) -> Any?)?
var has: ((target: T, p: PropertyName) -> Boolean)?
var isExtensible: ((target: T) -> Boolean)?
var ownKeys: ((target: T) -> ReadonlyArray)?
var preventExtensions: ((target: T) -> Boolean)?
var set: ((target: T, p: PropertyName, value: Any, receiver: Any) -> Boolean)?
var setPrototypeOf: ((target: T, v: Any?) -> Boolean)?
}
external class Proxy(
target: T,
handler: ProxyHandler,
) {
interface Revocable {
val proxy: T
fun revoke()
}
companion object {
fun revocable(
target: T,
handler: ProxyHandler,
): Revocable
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy