mirror of
https://gitee.com/energye/energy.git
synced 2024-11-30 10:47:57 +08:00
72 lines
2.0 KiB
Go
72 lines
2.0 KiB
Go
//----------------------------------------
|
||
//
|
||
// Copyright © yanghy. All Rights Reserved.
|
||
//
|
||
// Licensed under Apache License Version 2.0, January 2004
|
||
//
|
||
// https://www.apache.org/licenses/LICENSE-2.0
|
||
//
|
||
//----------------------------------------
|
||
|
||
// V8 JSValue 通用类型实现
|
||
//
|
||
// 通用类型是可变类型,对于JS语言可以动态赋任意类型的值
|
||
//
|
||
// # Go中针对几种基本类型增加了可变类型实现
|
||
//
|
||
// 绑定 定义的普通函数 前缀-默认是结构名称, prefix default struct name
|
||
package cef
|
||
|
||
// NewString GO&JS 类型
|
||
func (m *V8Value) NewString(name, value string) *JSString {
|
||
return VariableBind.NewString(name, value)
|
||
}
|
||
|
||
// NewInteger GO&JS 类型
|
||
func (m *V8Value) NewInteger(name string, value int32) *JSInteger {
|
||
return VariableBind.NewInteger(name, value)
|
||
}
|
||
|
||
// NewDouble GO&JS 类型
|
||
func (m *V8Value) NewDouble(name string, value float64) *JSDouble {
|
||
return VariableBind.NewDouble(name, value)
|
||
}
|
||
|
||
// NewBoolean GO&JS 类型
|
||
func (m *V8Value) NewBoolean(name string, value bool) *JSBoolean {
|
||
return VariableBind.NewBoolean(name, value)
|
||
}
|
||
|
||
// NewNull GO&JS 类型
|
||
func (m *V8Value) NewNull(name string) *JSNull {
|
||
return VariableBind.NewNull(name)
|
||
}
|
||
|
||
// NewUndefined GO&JS 类型
|
||
func (m *V8Value) NewUndefined(name string) *JSUndefined {
|
||
return VariableBind.NewUndefined(name)
|
||
}
|
||
|
||
// NewFunction GO&JS 类型
|
||
func (m *V8Value) NewFunction(name string, fn interface{}) error {
|
||
return VariableBind.NewFunction(name, fn)
|
||
}
|
||
|
||
// NewObjects GO&JS 类型
|
||
//
|
||
// Go结构类型变量和Go结构函数绑定
|
||
func (m *V8Value) NewObjects(objects ...interface{}) {
|
||
bindObject(objects...)
|
||
}
|
||
|
||
// Bind V8Value
|
||
//
|
||
// 变量和函数绑定, 在Go中定义的字段绑定到JS字段中, 在Go中定义的函数导出到JS
|
||
//
|
||
// 支持类型 String = string , Integer = int32 , Double = float64, Boolean = bool, Function = func, Objects = struct | map, Array = Slice
|
||
//
|
||
// 主进程和子进程
|
||
func (m *V8Value) Bind(name string, bind interface{}) error {
|
||
return VariableBind.Bind(name, bind)
|
||
}
|