Documentation
¶
Overview ¶
Package javascriptcore provides a fluent Go API over the macOS JavaScriptCore framework.
Index ¶
- func CurrentArguments() obj.Object
- func JSClassRelease(jsClass obj.Object)
- func JSClassRetain(jsClass obj.Object) obj.Object
- func JSContextGetGlobalContext(ctx obj.Object) obj.Object
- func JSContextGetGlobalObject(ctx obj.Object) obj.Object
- func JSContextGetGroup(ctx obj.Object) obj.Object
- func JSContextGroupCreate() obj.Object
- func JSContextGroupRelease(group obj.Object)
- func JSContextGroupRetain(group obj.Object) obj.Object
- func JSGarbageCollect(ctx obj.Object)
- func JSGlobalContextCopyName(ctx obj.Object) obj.Object
- func JSGlobalContextCreate(globalObjectClass obj.Object) obj.Object
- func JSGlobalContextCreateInGroup(group obj.Object, globalObjectClass obj.Object) obj.Object
- func JSGlobalContextIsInspectable(ctx obj.Object) bool
- func JSGlobalContextRelease(ctx obj.Object)
- func JSGlobalContextRetain(ctx obj.Object) obj.Object
- func JSGlobalContextSetInspectable(ctx obj.Object, inspectable bool)
- func JSGlobalContextSetName(ctx obj.Object, name obj.Object)
- func JSObjectCopyPropertyNames(ctx obj.Object, object obj.Object) obj.Object
- func JSObjectGetPrototype(ctx obj.Object, object obj.Object) obj.Object
- func JSObjectHasProperty(ctx obj.Object, object obj.Object, propertyName obj.Object) bool
- func JSObjectIsConstructor(ctx obj.Object, object obj.Object) bool
- func JSObjectIsFunction(ctx obj.Object, object obj.Object) bool
- func JSObjectSetPrototype(ctx obj.Object, object obj.Object, value obj.Object)
- func JSPropertyDescriptorConfigurableKey() obj.Object
- func JSPropertyDescriptorEnumerableKey() obj.Object
- func JSPropertyDescriptorGetKey() obj.Object
- func JSPropertyDescriptorSetKey() obj.Object
- func JSPropertyDescriptorValueKey() obj.Object
- func JSPropertyDescriptorWritableKey() obj.Object
- func JSPropertyNameAccumulatorAddName(accumulator obj.Object, propertyName obj.Object)
- func JSPropertyNameArrayGetCount(array obj.Object) int
- func JSPropertyNameArrayGetNameAtIndex(array obj.Object, index int) obj.Object
- func JSPropertyNameArrayRelease(array obj.Object)
- func JSPropertyNameArrayRetain(array obj.Object) obj.Object
- func JSStringCopyCFString(alloc obj.Object, string_ obj.Object) obj.Object
- func JSStringCreateWithCFString(string_ obj.Object) obj.Object
- func JSStringCreateWithUTF8CString(string_ string) obj.Object
- func JSStringGetLength(string_ obj.Object) int
- func JSStringGetMaximumUTF8CStringSize(string_ obj.Object) int
- func JSStringGetUTF8CString(string_ obj.Object, buffer string, bufferSize int) int
- func JSStringIsEqual(a obj.Object, b obj.Object) bool
- func JSStringIsEqualToUTF8CString(a obj.Object, b string) bool
- func JSStringRelease(string_ obj.Object)
- func JSStringRetain(string_ obj.Object) obj.Object
- func JSValueIsArray(ctx obj.Object, value obj.Object) bool
- func JSValueIsBigInt(ctx obj.Object, value obj.Object) bool
- func JSValueIsBoolean(ctx obj.Object, value obj.Object) bool
- func JSValueIsDate(ctx obj.Object, value obj.Object) bool
- func JSValueIsNull(ctx obj.Object, value obj.Object) bool
- func JSValueIsNumber(ctx obj.Object, value obj.Object) bool
- func JSValueIsObject(ctx obj.Object, value obj.Object) bool
- func JSValueIsObjectOfClass(ctx obj.Object, value obj.Object, jsClass obj.Object) bool
- func JSValueIsStrictEqual(ctx obj.Object, a obj.Object, b obj.Object) bool
- func JSValueIsString(ctx obj.Object, value obj.Object) bool
- func JSValueIsSymbol(ctx obj.Object, value obj.Object) bool
- func JSValueIsUndefined(ctx obj.Object, value obj.Object) bool
- func JSValueMakeBoolean(ctx obj.Object, boolean bool) obj.Object
- func JSValueMakeFromJSONString(ctx obj.Object, string_ obj.Object) obj.Object
- func JSValueMakeNull(ctx obj.Object) obj.Object
- func JSValueMakeNumber(ctx obj.Object, number float64) obj.Object
- func JSValueMakeString(ctx obj.Object, string_ obj.Object) obj.Object
- func JSValueMakeSymbol(ctx obj.Object, description obj.Object) obj.Object
- func JSValueMakeUndefined(ctx obj.Object) obj.Object
- func JSValueProtect(ctx obj.Object, value obj.Object)
- func JSValueToBoolean(ctx obj.Object, value obj.Object) bool
- func JSValueUnprotect(ctx obj.Object, value obj.Object)
- type Context
- func (c *Context) Description() string
- func (c *Context) EvaluateScript(script string) *Value
- func (c *Context) EvaluateScriptWithSourceURL(script string, sourceURL string) *Value
- func (c *Context) Exception() *Value
- func (c *Context) GlobalObject() *Value
- func (c *Context) IsEqual(other obj.Object) bool
- func (c *Context) IsInspectable() bool
- func (c *Context) IsKind(className string) bool
- func (c *Context) JSGlobalContextRef() obj.Object
- func (c *Context) Name() string
- func (c *Context) ObjectForKeyedSubscript(key obj.Object) *Value
- func (c *Context) SetObjectForKeyedSubscript(object obj.Object, key obj.Object)
- func (c *Context) String() string
- func (c *Context) VirtualMachine() *VirtualMachine
- func (c *Context) WithException(exception *Value) *Context
- func (c *Context) WithExceptionHandler(exceptionHandler func(obj.Object, obj.Object)) *Context
- func (c *Context) WithInspectable(inspectable bool) *Context
- func (c *Context) WithName(name string) *Context
- type ManagedValue
- type RelationCondition
- type Type
- type TypedArrayType
- type Value
- func CurrentCallee() *Value
- func CurrentThis() *Value
- func NewValue() *Value
- func ValueFromID(id objc.ID) *Value
- func ValueWithBoolInContext(value bool, context_ *Context) *Value
- func ValueWithDoubleInContext(value float64, context_ *Context) *Value
- func ValueWithInt32InContext(value int32, context_ *Context) *Value
- func ValueWithJSValueRefInContext(value obj.Object, context_ *Context) *Value
- func ValueWithNewArrayInContext(context_ *Context) *Value
- func ValueWithNewBigIntFromDoubleInContext(value float64, context_ *Context) *Value
- func ValueWithNewBigIntFromInt64InContext(int64 int64, context_ *Context) *Value
- func ValueWithNewBigIntFromStringInContext(string_ string, context_ *Context) *Value
- func ValueWithNewBigIntFromUInt64InContext(uint64 uint64, context_ *Context) *Value
- func ValueWithNewErrorFromMessageInContext(message string, context_ *Context) *Value
- func ValueWithNewObjectInContext(context_ *Context) *Value
- func ValueWithNewPromiseInContextFromExecutor(context_ *Context, callback func(obj.Object, obj.Object)) *Value
- func ValueWithNewPromiseRejectedWithReasonInContext(reason obj.Object, context_ *Context) *Value
- func ValueWithNewPromiseResolvedWithResultInContext(result obj.Object, context_ *Context) *Value
- func ValueWithNewRegularExpressionFromPatternFlagsInContext(pattern string, flags string, context_ *Context) *Value
- func ValueWithNewSymbolFromDescriptionInContext(description string, context_ *Context) *Value
- func ValueWithNullInContext(context_ *Context) *Value
- func ValueWithObjectInContext(value obj.Object, context_ *Context) *Value
- func ValueWithPointInContext(point corefoundation.CGPoint, context_ *Context) *Value
- func ValueWithRangeInContext(range_ foundation.NSRange, context_ *Context) *Value
- func ValueWithRectInContext(rect corefoundation.CGRect, context_ *Context) *Value
- func ValueWithSizeInContext(size corefoundation.CGSize, context_ *Context) *Value
- func ValueWithUInt32InContext(value uint32, context_ *Context) *Value
- func ValueWithUndefinedInContext(context_ *Context) *Value
- func (v_ *Value) CallWithArguments(arguments obj.Object) *Value
- func (v_ *Value) CompareDouble(other float64) RelationCondition
- func (v_ *Value) CompareInt64(other int64) RelationCondition
- func (v_ *Value) CompareJSValue(other *Value) RelationCondition
- func (v_ *Value) CompareUInt64(other uint64) RelationCondition
- func (v_ *Value) ConstructWithArguments(arguments obj.Object) *Value
- func (v_ *Value) Context() *Context
- func (v_ *Value) DefinePropertyDescriptor(property obj.Object, descriptor obj.Object)
- func (v_ *Value) DeleteProperty(property obj.Object) bool
- func (v_ *Value) Description() string
- func (v_ *Value) HasProperty(property obj.Object) bool
- func (v_ *Value) InvokeMethodWithArguments(method string, arguments obj.Object) *Value
- func (v_ *Value) IsArray() bool
- func (v_ *Value) IsBigInt() bool
- func (v_ *Value) IsBoolean() bool
- func (v_ *Value) IsDate() bool
- func (v_ *Value) IsEqual(other obj.Object) bool
- func (v_ *Value) IsEqualToObject(value obj.Object) bool
- func (v_ *Value) IsEqualWithTypeCoercionToObject(value obj.Object) bool
- func (v_ *Value) IsInstanceOf(value obj.Object) bool
- func (v_ *Value) IsKind(className string) bool
- func (v_ *Value) IsNull() bool
- func (v_ *Value) IsNumber() bool
- func (v_ *Value) IsObject() bool
- func (v_ *Value) IsString() bool
- func (v_ *Value) IsSymbol() bool
- func (v_ *Value) IsUndefined() bool
- func (v_ *Value) JSValueRef() obj.Object
- func (v_ *Value) ObjectAtIndexedSubscript(index int) *Value
- func (v_ *Value) ObjectForKeyedSubscript(key obj.Object) *Value
- func (v_ *Value) SetObjectAtIndexedSubscript(object obj.Object, index int)
- func (v_ *Value) SetObjectForKeyedSubscript(object obj.Object, key obj.Object)
- func (v_ *Value) SetValueAtIndex(value obj.Object, index int)
- func (v_ *Value) SetValueForProperty(value obj.Object, property obj.Object)
- func (v_ *Value) String() string
- func (v_ *Value) ToArray() obj.Object
- func (v_ *Value) ToBool() bool
- func (v_ *Value) ToDate() obj.Object
- func (v_ *Value) ToDictionary() obj.Object
- func (v_ *Value) ToDouble() float64
- func (v_ *Value) ToInt32() int32
- func (v_ *Value) ToInt64() int64
- func (v_ *Value) ToNumber() obj.Object
- func (v_ *Value) ToObject() obj.Object
- func (v_ *Value) ToPoint() corefoundation.CGPoint
- func (v_ *Value) ToRange() foundation.NSRange
- func (v_ *Value) ToRect() corefoundation.CGRect
- func (v_ *Value) ToSize() corefoundation.CGSize
- func (v_ *Value) ToString() string
- func (v_ *Value) ToUInt32() uint32
- func (v_ *Value) ToUInt64() uint64
- func (v_ *Value) ValueAtIndex(index int) *Value
- func (v_ *Value) ValueForProperty(property obj.Object) *Value
- type VirtualMachine
- func (vm *VirtualMachine) AddManagedReferenceWithOwner(object obj.Object, owner obj.Object)
- func (vm *VirtualMachine) Description() string
- func (vm *VirtualMachine) IsEqual(other obj.Object) bool
- func (vm *VirtualMachine) IsKind(className string) bool
- func (vm *VirtualMachine) RemoveManagedReferenceWithOwner(object obj.Object, owner obj.Object)
- func (vm *VirtualMachine) String() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CurrentArguments ¶
CurrentArguments returns the arguments to the current native callback from JavaScript code.
func JSClassRelease ¶
JSClassRelease calls the JavaScriptCore framework function JSClassRelease.
func JSClassRetain ¶
JSClassRetain calls the JavaScriptCore framework function JSClassRetain.
func JSContextGetGlobalContext ¶
JSContextGetGlobalContext calls the JavaScriptCore framework function JSContextGetGlobalContext.
func JSContextGetGlobalObject ¶
JSContextGetGlobalObject calls the JavaScriptCore framework function JSContextGetGlobalObject.
func JSContextGetGroup ¶
JSContextGetGroup calls the JavaScriptCore framework function JSContextGetGroup.
func JSContextGroupCreate ¶
JSContextGroupCreate calls the JavaScriptCore framework function JSContextGroupCreate.
func JSContextGroupRelease ¶
JSContextGroupRelease calls the JavaScriptCore framework function JSContextGroupRelease.
func JSContextGroupRetain ¶
JSContextGroupRetain calls the JavaScriptCore framework function JSContextGroupRetain.
func JSGarbageCollect ¶
JSGarbageCollect calls the JavaScriptCore framework function JSGarbageCollect.
func JSGlobalContextCopyName ¶
JSGlobalContextCopyName calls the JavaScriptCore framework function JSGlobalContextCopyName.
func JSGlobalContextCreate ¶
JSGlobalContextCreate calls the JavaScriptCore framework function JSGlobalContextCreate.
func JSGlobalContextCreateInGroup ¶
JSGlobalContextCreateInGroup calls the JavaScriptCore framework function JSGlobalContextCreateInGroup.
func JSGlobalContextIsInspectable ¶
JSGlobalContextIsInspectable calls the JavaScriptCore framework function JSGlobalContextIsInspectable.
func JSGlobalContextRelease ¶
JSGlobalContextRelease calls the JavaScriptCore framework function JSGlobalContextRelease.
func JSGlobalContextRetain ¶
JSGlobalContextRetain calls the JavaScriptCore framework function JSGlobalContextRetain.
func JSGlobalContextSetInspectable ¶
JSGlobalContextSetInspectable calls the JavaScriptCore framework function JSGlobalContextSetInspectable.
func JSGlobalContextSetName ¶
JSGlobalContextSetName calls the JavaScriptCore framework function JSGlobalContextSetName.
func JSObjectCopyPropertyNames ¶
JSObjectCopyPropertyNames calls the JavaScriptCore framework function JSObjectCopyPropertyNames.
func JSObjectGetPrototype ¶
JSObjectGetPrototype calls the JavaScriptCore framework function JSObjectGetPrototype.
func JSObjectHasProperty ¶
JSObjectHasProperty calls the JavaScriptCore framework function JSObjectHasProperty.
func JSObjectIsConstructor ¶
JSObjectIsConstructor calls the JavaScriptCore framework function JSObjectIsConstructor.
func JSObjectIsFunction ¶
JSObjectIsFunction calls the JavaScriptCore framework function JSObjectIsFunction.
func JSObjectSetPrototype ¶
JSObjectSetPrototype calls the JavaScriptCore framework function JSObjectSetPrototype.
func JSPropertyDescriptorConfigurableKey ¶ added in v0.8.0
JSPropertyDescriptorConfigurableKey returns the string constant JSPropertyDescriptorConfigurableKey, for use as a dictionary key or argument.
func JSPropertyDescriptorEnumerableKey ¶ added in v0.8.0
JSPropertyDescriptorEnumerableKey returns the string constant JSPropertyDescriptorEnumerableKey, for use as a dictionary key or argument.
func JSPropertyDescriptorGetKey ¶ added in v0.8.0
JSPropertyDescriptorGetKey returns the string constant JSPropertyDescriptorGetKey, for use as a dictionary key or argument.
func JSPropertyDescriptorSetKey ¶ added in v0.8.0
JSPropertyDescriptorSetKey returns the string constant JSPropertyDescriptorSetKey, for use as a dictionary key or argument.
func JSPropertyDescriptorValueKey ¶ added in v0.8.0
JSPropertyDescriptorValueKey returns the string constant JSPropertyDescriptorValueKey, for use as a dictionary key or argument.
func JSPropertyDescriptorWritableKey ¶ added in v0.8.0
JSPropertyDescriptorWritableKey returns the string constant JSPropertyDescriptorWritableKey, for use as a dictionary key or argument.
func JSPropertyNameAccumulatorAddName ¶
JSPropertyNameAccumulatorAddName calls the JavaScriptCore framework function JSPropertyNameAccumulatorAddName.
func JSPropertyNameArrayGetCount ¶
JSPropertyNameArrayGetCount calls the JavaScriptCore framework function JSPropertyNameArrayGetCount.
func JSPropertyNameArrayGetNameAtIndex ¶
JSPropertyNameArrayGetNameAtIndex calls the JavaScriptCore framework function JSPropertyNameArrayGetNameAtIndex.
func JSPropertyNameArrayRelease ¶
JSPropertyNameArrayRelease calls the JavaScriptCore framework function JSPropertyNameArrayRelease.
func JSPropertyNameArrayRetain ¶
JSPropertyNameArrayRetain calls the JavaScriptCore framework function JSPropertyNameArrayRetain.
func JSStringCopyCFString ¶
JSStringCopyCFString calls the JavaScriptCore framework function JSStringCopyCFString.
func JSStringCreateWithCFString ¶
JSStringCreateWithCFString calls the JavaScriptCore framework function JSStringCreateWithCFString.
func JSStringCreateWithUTF8CString ¶
JSStringCreateWithUTF8CString calls the JavaScriptCore framework function JSStringCreateWithUTF8CString.
func JSStringGetLength ¶
JSStringGetLength calls the JavaScriptCore framework function JSStringGetLength.
func JSStringGetMaximumUTF8CStringSize ¶
JSStringGetMaximumUTF8CStringSize calls the JavaScriptCore framework function JSStringGetMaximumUTF8CStringSize.
func JSStringGetUTF8CString ¶
JSStringGetUTF8CString calls the JavaScriptCore framework function JSStringGetUTF8CString.
func JSStringIsEqual ¶
JSStringIsEqual calls the JavaScriptCore framework function JSStringIsEqual.
func JSStringIsEqualToUTF8CString ¶
JSStringIsEqualToUTF8CString calls the JavaScriptCore framework function JSStringIsEqualToUTF8CString.
func JSStringRelease ¶
JSStringRelease calls the JavaScriptCore framework function JSStringRelease.
func JSStringRetain ¶
JSStringRetain calls the JavaScriptCore framework function JSStringRetain.
func JSValueIsArray ¶
JSValueIsArray calls the JavaScriptCore framework function JSValueIsArray.
func JSValueIsBigInt ¶
JSValueIsBigInt calls the JavaScriptCore framework function JSValueIsBigInt.
func JSValueIsBoolean ¶
JSValueIsBoolean calls the JavaScriptCore framework function JSValueIsBoolean.
func JSValueIsDate ¶
JSValueIsDate calls the JavaScriptCore framework function JSValueIsDate.
func JSValueIsNull ¶
JSValueIsNull calls the JavaScriptCore framework function JSValueIsNull.
func JSValueIsNumber ¶
JSValueIsNumber calls the JavaScriptCore framework function JSValueIsNumber.
func JSValueIsObject ¶
JSValueIsObject calls the JavaScriptCore framework function JSValueIsObject.
func JSValueIsObjectOfClass ¶
JSValueIsObjectOfClass calls the JavaScriptCore framework function JSValueIsObjectOfClass.
func JSValueIsStrictEqual ¶
JSValueIsStrictEqual calls the JavaScriptCore framework function JSValueIsStrictEqual.
func JSValueIsString ¶
JSValueIsString calls the JavaScriptCore framework function JSValueIsString.
func JSValueIsSymbol ¶
JSValueIsSymbol calls the JavaScriptCore framework function JSValueIsSymbol.
func JSValueIsUndefined ¶
JSValueIsUndefined calls the JavaScriptCore framework function JSValueIsUndefined.
func JSValueMakeBoolean ¶
JSValueMakeBoolean calls the JavaScriptCore framework function JSValueMakeBoolean.
func JSValueMakeFromJSONString ¶
JSValueMakeFromJSONString calls the JavaScriptCore framework function JSValueMakeFromJSONString.
func JSValueMakeNull ¶
JSValueMakeNull calls the JavaScriptCore framework function JSValueMakeNull.
func JSValueMakeNumber ¶
JSValueMakeNumber calls the JavaScriptCore framework function JSValueMakeNumber.
func JSValueMakeString ¶
JSValueMakeString calls the JavaScriptCore framework function JSValueMakeString.
func JSValueMakeSymbol ¶
JSValueMakeSymbol calls the JavaScriptCore framework function JSValueMakeSymbol.
func JSValueMakeUndefined ¶
JSValueMakeUndefined calls the JavaScriptCore framework function JSValueMakeUndefined.
func JSValueProtect ¶
JSValueProtect calls the JavaScriptCore framework function JSValueProtect.
func JSValueToBoolean ¶
JSValueToBoolean calls the JavaScriptCore framework function JSValueToBoolean.
Types ¶
type Context ¶
Context is an idiomatic wrapper over the Objective-C class JSContext.
A JavaScript execution environment.
func ContextFromID ¶
ContextFromID adopts an existing Objective-C object as a Context (nil for 0), retaining it and registering a release finalizer.
func ContextWithJSGlobalContextRef ¶
ContextWithJSGlobalContextRef create a JSContext, wrapping its C API counterpart.
func CurrentContext ¶
func CurrentContext() *Context
CurrentContext returns the context currently executing JavaScript code.
func NewContextWithVirtualMachine ¶
func NewContextWithVirtualMachine(virtualMachine *VirtualMachine) *Context
NewContextWithVirtualMachine creates a new JavaScript context associated with a specific virtual machine.
func (*Context) Description ¶ added in v0.10.0
Description returns the object's -description text.
func (*Context) EvaluateScript ¶
EvaluateScript executes the specified JavaScript code.
func (*Context) EvaluateScriptWithSourceURL ¶
EvaluateScriptWithSourceURL executes the specified JavaScript code, treating the specified URL as its source location.
func (*Context) Exception ¶
Exception returns the <code>exception</code> property may be used to throw an exception to JavaScript. Before a callback is made from JavaScript to an Objective-C block or method, the prior value of the exception property will be preserved and the property will be set to nil. After the callback has completed the new value of the exception property will be read, and prior value restored. If the new value of exception is not nil, the callback will result in that value being thrown. This property may also be used to check for uncaught exceptions arising from API function calls (since the default behaviour of <code>exceptionHandler</code> is to assign an uncaught exception to this property).
func (*Context) GlobalObject ¶
GlobalObject get the global object of the context. This method retrieves the global object of the JavaScript execution context. Instances of JSContext originating from WebKit will return a reference to the WindowProxy object.
func (*Context) IsEqual ¶ added in v0.10.0
IsEqual reports Objective-C equality (isEqual:) with another object.
func (*Context) IsInspectable ¶
IsInspectable reports whether controls whether this
func (*Context) IsKind ¶ added in v0.10.0
IsKind reports whether the object is an instance of the named class or a subclass.
func (*Context) JSGlobalContextRef ¶
JSGlobalContextRef wraps the corresponding Objective-C method.
func (*Context) ObjectForKeyedSubscript ¶
ObjectForKeyedSubscript returns the value of the specified JavaScript property in the context’s global object, allowing subscript getter syntax.
func (*Context) SetObjectForKeyedSubscript ¶
SetObjectForKeyedSubscript sets the specified JavaScript property of the context’s global object, allowing subscript setter syntax.
func (*Context) String ¶ added in v0.10.0
String returns the object's -description text, so a wrapper prints usefully under fmt.
func (*Context) VirtualMachine ¶
func (c *Context) VirtualMachine() *VirtualMachine
VirtualMachine returns all instances of JSContext are associated with a JSVirtualMachine.
func (*Context) WithException ¶
WithException sets a JavaScript exception to be thrown in evaluation of the script.
func (*Context) WithExceptionHandler ¶
WithExceptionHandler sets a block to be invoked should evaluating a script result in a JavaScript exception being thrown.
func (*Context) WithInspectable ¶
WithInspectable sets a Boolean value that indicates whether you can inspect the JavaScript context with Safari Web Inspector.
type ManagedValue ¶
ManagedValue is an idiomatic wrapper over the Objective-C class JSManagedValue.
A JavaScript value with conditional retain behavior to provide automatic memory management.
func ManagedValueFromID ¶
func ManagedValueFromID(id objc.ID) *ManagedValue
ManagedValueFromID adopts an existing Objective-C object as a ManagedValue (nil for 0), retaining it and registering a release finalizer.
func ManagedValueWithValue ¶
func ManagedValueWithValue(value *Value) *ManagedValue
ManagedValueWithValue creates a managed value with the specified JavaScript value.
func ManagedValueWithValueAndOwner ¶
func ManagedValueWithValueAndOwner(value *Value, owner obj.Object) *ManagedValue
ManagedValueWithValueAndOwner creates a managed value and associates it with an owner.
func NewManagedValueWithValue ¶
func NewManagedValueWithValue(value *Value) *ManagedValue
NewManagedValueWithValue initializes a managed value with the specified JavaScript value.
func (*ManagedValue) Description ¶ added in v0.10.0
func (mv *ManagedValue) Description() string
Description returns the object's -description text.
func (*ManagedValue) IsEqual ¶ added in v0.10.0
func (mv *ManagedValue) IsEqual(other obj.Object) bool
IsEqual reports Objective-C equality (isEqual:) with another object.
func (*ManagedValue) IsKind ¶ added in v0.10.0
func (mv *ManagedValue) IsKind(className string) bool
IsKind reports whether the object is an instance of the named class or a subclass.
func (*ManagedValue) String ¶ added in v0.10.0
func (mv *ManagedValue) String() string
String returns the object's -description text, so a wrapper prints usefully under fmt.
func (*ManagedValue) Value ¶
func (mv *ManagedValue) Value() *Value
Value wraps the corresponding Objective-C method.
type RelationCondition ¶ added in v0.10.0
type RelationCondition int64
const ( KJSRelationConditionUndefined RelationCondition = 0 KJSRelationConditionEqual RelationCondition = 1 KJSRelationConditionGreaterThan RelationCondition = 2 KJSRelationConditionLessThan RelationCondition = 3 )
func (RelationCondition) String ¶ added in v0.10.0
func (e RelationCondition) String() string
String returns the RelationCondition constant's name, or its numeric form when the value is not a known constant.
type Type ¶ added in v0.10.0
type Type int64
Constants that identify the type of a JavaScript value.
func JSValueGetType ¶
JSValueGetType calls the JavaScriptCore framework function JSValueGetType.
type TypedArrayType ¶ added in v0.10.0
type TypedArrayType int64
The type of a JavaScript typed array object.
const ( KJSTypedArrayTypeInt8Array TypedArrayType = 0 KJSTypedArrayTypeInt16Array TypedArrayType = 1 KJSTypedArrayTypeInt32Array TypedArrayType = 2 KJSTypedArrayTypeUint8Array TypedArrayType = 3 KJSTypedArrayTypeUint8ClampedArray TypedArrayType = 4 KJSTypedArrayTypeUint16Array TypedArrayType = 5 KJSTypedArrayTypeUint32Array TypedArrayType = 6 KJSTypedArrayTypeFloat32Array TypedArrayType = 7 KJSTypedArrayTypeFloat64Array TypedArrayType = 8 KJSTypedArrayTypeArrayBuffer TypedArrayType = 9 KJSTypedArrayTypeNone TypedArrayType = 10 KJSTypedArrayTypeBigInt64Array TypedArrayType = 11 KJSTypedArrayTypeBigUint64Array TypedArrayType = 12 )
func (TypedArrayType) String ¶ added in v0.10.0
func (e TypedArrayType) String() string
String returns the TypedArrayType constant's name, or its numeric form when the value is not a known constant.
type Value ¶
Value is an idiomatic wrapper over the Objective-C class JSValue.
A JavaScript value.
func CurrentCallee ¶
func CurrentCallee() *Value
CurrentCallee returns the currently executing JavaScript function.
func CurrentThis ¶
func CurrentThis() *Value
CurrentThis returns the value of the this keyword in currently executing JavaScript code.
func ValueFromID ¶
ValueFromID adopts an existing Objective-C object as a Value (nil for 0), retaining it and registering a release finalizer.
func ValueWithBoolInContext ¶
ValueWithBoolInContext creates a JavaScript representation of the specified Boolean value.
func ValueWithDoubleInContext ¶
ValueWithDoubleInContext creates a JavaScript representation of the specified floating-point value.
func ValueWithInt32InContext ¶
ValueWithInt32InContext creates a JavaScript representation of the specified signed integer value.
func ValueWithJSValueRefInContext ¶
ValueWithJSValueRefInContext creates a JSValue, wrapping its C API counterpart.
func ValueWithNewArrayInContext ¶
ValueWithNewArrayInContext creates a new, empty JavaScript array value.
func ValueWithNewBigIntFromDoubleInContext ¶
ValueWithNewBigIntFromDoubleInContext create a new BigInt value from a double. If the value is not an integer, an exception is thrown.
func ValueWithNewBigIntFromInt64InContext ¶
ValueWithNewBigIntFromInt64InContext create a new BigInt value from a <code>int64_t</code>.
func ValueWithNewBigIntFromStringInContext ¶
ValueWithNewBigIntFromStringInContext create a new BigInt value from a numeric string. This is equivalent to calling the <code>BigInt</code> constructor from JavaScript with a string argument.
func ValueWithNewBigIntFromUInt64InContext ¶
ValueWithNewBigIntFromUInt64InContext create a new BigInt value from a <code>uint64_t</code>.
func ValueWithNewErrorFromMessageInContext ¶
ValueWithNewErrorFromMessageInContext creates a JavaScript error value with the specified error message.
func ValueWithNewObjectInContext ¶
ValueWithNewObjectInContext creates a new, empty JavaScript object value.
func ValueWithNewPromiseInContextFromExecutor ¶
func ValueWithNewPromiseInContextFromExecutor(context_ *Context, callback func(obj.Object, obj.Object)) *Value
ValueWithNewPromiseInContextFromExecutor creates a promise object using the specified executor callback.
func ValueWithNewPromiseRejectedWithReasonInContext ¶
ValueWithNewPromiseRejectedWithReasonInContext creates a rejected promise object with the specified value.
func ValueWithNewPromiseResolvedWithResultInContext ¶
ValueWithNewPromiseResolvedWithResultInContext creates a resolved promise object with the specified value.
func ValueWithNewRegularExpressionFromPatternFlagsInContext ¶
func ValueWithNewRegularExpressionFromPatternFlagsInContext(pattern string, flags string, context_ *Context) *Value
ValueWithNewRegularExpressionFromPatternFlagsInContext creates a JavaScript regular expression value from the specified pattern.
func ValueWithNewSymbolFromDescriptionInContext ¶
ValueWithNewSymbolFromDescriptionInContext creates a unique symbol object.
func ValueWithNullInContext ¶
ValueWithNullInContext creates a JavaScript null value.
func ValueWithObjectInContext ¶
ValueWithObjectInContext creates a JavaScript value by converting the specified native object.
func ValueWithPointInContext ¶
func ValueWithPointInContext(point corefoundation.CGPoint, context_ *Context) *Value
ValueWithPointInContext create a JSValue from a CGPoint.
func ValueWithRangeInContext ¶
func ValueWithRangeInContext(range_ foundation.NSRange, context_ *Context) *Value
ValueWithRangeInContext create a JSValue from a NSRange.
func ValueWithRectInContext ¶
func ValueWithRectInContext(rect corefoundation.CGRect, context_ *Context) *Value
ValueWithRectInContext create a JSValue from a CGRect.
func ValueWithSizeInContext ¶
func ValueWithSizeInContext(size corefoundation.CGSize, context_ *Context) *Value
ValueWithSizeInContext create a JSValue from a CGSize.
func ValueWithUInt32InContext ¶
ValueWithUInt32InContext creates a JavaScript representation of the specified unsigned integer value.
func ValueWithUndefinedInContext ¶
ValueWithUndefinedInContext creates a JavaScript undefined value.
func (*Value) CallWithArguments ¶
CallWithArguments invokes the value as a JavaScript function.
func (*Value) CompareDouble ¶
func (v_ *Value) CompareDouble(other float64) RelationCondition
CompareDouble compare a JSValue with a double. The JSValue is converted to a double according to the rules specified by the JavaScript language then compared with <code>other</code>.
func (*Value) CompareInt64 ¶
func (v_ *Value) CompareInt64(other int64) RelationCondition
CompareInt64 compare a JSValue with a <code>int64_t</code>. The JSValue is converted to an integer according to the rules specified by the JavaScript language then compared with <code>other</code>.
func (*Value) CompareJSValue ¶
func (v_ *Value) CompareJSValue(other *Value) RelationCondition
CompareJSValue compare two JSValues. The result is computed by comparing the results of JavaScript's <code>==</code>, <code><</code>, and <code>></code> operators. If either <code>self</code> or <code>other</code> is (or would coerce to) <code>NaN</code> in JavaScript, then the result is kJSRelationConditionUndefined.
func (*Value) CompareUInt64 ¶
func (v_ *Value) CompareUInt64(other uint64) RelationCondition
CompareUInt64 compare a JSValue with a <code>uint64_t</code>. The JSValue is converted to an integer according to the rules specified by the JavaScript language then compared with <code>other</code>.
func (*Value) ConstructWithArguments ¶
ConstructWithArguments invokes the value as a JavaScript constructor.
func (*Value) DefinePropertyDescriptor ¶
DefinePropertyDescriptor defines a property on the JavaScript object value or modifies a property’s definition.
func (*Value) DeleteProperty ¶
DeleteProperty deletes the named property from the JavaScript object value.
func (*Value) Description ¶ added in v0.10.0
Description returns the object's -description text.
func (*Value) HasProperty ¶
HasProperty returns a Boolean value indicating whether the JavaScript value has a defined property with the specified name.
func (*Value) InvokeMethodWithArguments ¶
InvokeMethodWithArguments calls the named JavaScript method on the value.
func (*Value) IsEqual ¶ added in v0.10.0
IsEqual reports Objective-C equality (isEqual:) with another object.
func (*Value) IsEqualToObject ¶
IsEqualToObject compares the value to another for strict equality.
func (*Value) IsEqualWithTypeCoercionToObject ¶
IsEqualWithTypeCoercionToObject compares the value to another for equivalence, allowing type conversion.
func (*Value) IsInstanceOf ¶
IsInstanceOf returns a Boolean value indicating whether the value is an instance of another JavaScript object value.
func (*Value) IsKind ¶ added in v0.10.0
IsKind reports whether the object is an instance of the named class or a subclass.
func (*Value) IsNull ¶
IsNull reports whether check if a JSValue corresponds to the JavaScript value <code>null</code>.
func (*Value) IsNumber ¶
IsNumber reports whether check if a JSValue is a number. In JavaScript, there is no differentiation between types of numbers. Semantically all numbers behave like doubles except in special cases like bit operations.
func (*Value) IsUndefined ¶
IsUndefined reports whether check if a JSValue corresponds to the JavaScript value <code>undefined</code>.
func (*Value) JSValueRef ¶
JSValueRef wraps the corresponding Objective-C method.
func (*Value) ObjectAtIndexedSubscript ¶
ObjectAtIndexedSubscript returns the value’s JavaScript property at the specified index, allowing subscript syntax.
func (*Value) ObjectForKeyedSubscript ¶
ObjectForKeyedSubscript returns the value’s JavaScript property named with the specified key, allowing subscript syntax.
func (*Value) SetObjectAtIndexedSubscript ¶
SetObjectAtIndexedSubscript sets the value’s JavaScript property at the specified index, allowing subscript syntax.
func (*Value) SetObjectForKeyedSubscript ¶
SetObjectForKeyedSubscript sets the value’s JavaScript property named with the specified key, allowing subscript syntax.
func (*Value) SetValueAtIndex ¶
SetValueAtIndex sets the value at the specified numeric index in the JavaScript object value.
func (*Value) SetValueForProperty ¶
SetValueForProperty sets the value of the named property in the JavaScript object value.
func (*Value) String ¶ added in v0.10.0
String returns the object's -description text, so a wrapper prints usefully under fmt.
func (*Value) ToBool ¶
ToBool reports whether converts the JavaScript value to a native Boolean value.
func (*Value) ToDictionary ¶
ToDictionary returns converts the JavaScript value to a dictionary.
func (*Value) ToDouble ¶
ToDouble returns converts the JavaScript value to a native floating-point value.
func (*Value) ToInt32 ¶
ToInt32 returns converts the JavaScript value to a native signed integer value.
func (*Value) ToInt64 ¶
ToInt64 returns convert a JSValue to a <code>int64_t</code>. The JSValue is converted to an integer according to the rules specified by the JavaScript language. If the value is a BigInt, then the value is truncated to an <code>int64_t</code>.
func (*Value) ToPoint ¶
func (v_ *Value) ToPoint() corefoundation.CGPoint
ToPoint returns converts the value to a point structure.
func (*Value) ToRange ¶
func (v_ *Value) ToRange() foundation.NSRange
ToRange returns converts the value to a range.
func (*Value) ToRect ¶
func (v_ *Value) ToRect() corefoundation.CGRect
ToRect returns converts the value to a rectangle structure.
func (*Value) ToSize ¶
func (v_ *Value) ToSize() corefoundation.CGSize
ToSize returns converts the value to a size.
func (*Value) ToUInt32 ¶
ToUInt32 returns converts the JavaScript value to a native unsigned integer value.
func (*Value) ToUInt64 ¶
ToUInt64 returns convert a JSValue to a <code>uint64_t</code>. The JSValue is converted to an integer according to the rules specified by the JavaScript language. If the value is a BigInt, then the value is truncated to a <code>uint64_t</code>.
func (*Value) ValueAtIndex ¶
ValueAtIndex returns the value at the specified numeric index in the JavaScript object value.
type VirtualMachine ¶
VirtualMachine is an idiomatic wrapper over the Objective-C class JSVirtualMachine.
A self-contained environment for JavaScript execution.
func NewVirtualMachine ¶
func NewVirtualMachine() *VirtualMachine
NewVirtualMachine creates a new VirtualMachine.
func VirtualMachineFromID ¶
func VirtualMachineFromID(id objc.ID) *VirtualMachine
VirtualMachineFromID adopts an existing Objective-C object as a VirtualMachine (nil for 0), retaining it and registering a release finalizer.
func (*VirtualMachine) AddManagedReferenceWithOwner ¶
func (vm *VirtualMachine) AddManagedReferenceWithOwner(object obj.Object, owner obj.Object)
AddManagedReferenceWithOwner notifies the JavaScriptCore virtual machine of an external object relationship.
func (*VirtualMachine) Description ¶ added in v0.10.0
func (vm *VirtualMachine) Description() string
Description returns the object's -description text.
func (*VirtualMachine) IsEqual ¶ added in v0.10.0
func (vm *VirtualMachine) IsEqual(other obj.Object) bool
IsEqual reports Objective-C equality (isEqual:) with another object.
func (*VirtualMachine) IsKind ¶ added in v0.10.0
func (vm *VirtualMachine) IsKind(className string) bool
IsKind reports whether the object is an instance of the named class or a subclass.
func (*VirtualMachine) RemoveManagedReferenceWithOwner ¶
func (vm *VirtualMachine) RemoveManagedReferenceWithOwner(object obj.Object, owner obj.Object)
RemoveManagedReferenceWithOwner notifies the JavaScriptCore virtual machine that a previously registered object relationship no longer exists.
func (*VirtualMachine) String ¶ added in v0.10.0
func (vm *VirtualMachine) String() string
String returns the object's -description text, so a wrapper prints usefully under fmt.