e94b3dab0f
objects/builtin_json.go: - Added function builtinFromJSON objects/builtins.go: - Added builtin function from_json runtim/vm_builtin_test.go: - Added tests for builtin function from_json
91 lines
1.2 KiB
Go
91 lines
1.2 KiB
Go
package objects
|
|
|
|
// NamedBuiltinFunc is a named builtin function.
|
|
type NamedBuiltinFunc struct {
|
|
Name string
|
|
Func CallableFunc
|
|
}
|
|
|
|
// Builtins contains all default builtin functions.
|
|
var Builtins = []NamedBuiltinFunc{
|
|
{
|
|
Name: "print",
|
|
Func: builtinPrint,
|
|
},
|
|
{
|
|
Name: "len",
|
|
Func: builtinLen,
|
|
},
|
|
{
|
|
Name: "copy",
|
|
Func: builtinCopy,
|
|
},
|
|
{
|
|
Name: "append",
|
|
Func: builtinAppend,
|
|
},
|
|
{
|
|
Name: "string",
|
|
Func: builtinString,
|
|
},
|
|
{
|
|
Name: "int",
|
|
Func: builtinInt,
|
|
},
|
|
{
|
|
Name: "bool",
|
|
Func: builtinBool,
|
|
},
|
|
{
|
|
Name: "float",
|
|
Func: builtinFloat,
|
|
},
|
|
{
|
|
Name: "char",
|
|
Func: builtinChar,
|
|
},
|
|
{
|
|
Name: "bytes",
|
|
Func: builtinBytes,
|
|
},
|
|
{
|
|
Name: "is_int",
|
|
Func: builtinIsInt,
|
|
},
|
|
{
|
|
Name: "is_float",
|
|
Func: builtinIsFloat,
|
|
},
|
|
{
|
|
Name: "is_string",
|
|
Func: builtinIsString,
|
|
},
|
|
{
|
|
Name: "is_bool",
|
|
Func: builtinIsBool,
|
|
},
|
|
{
|
|
Name: "is_char",
|
|
Func: builtinIsChar,
|
|
},
|
|
{
|
|
Name: "is_bytes",
|
|
Func: builtinIsBytes,
|
|
},
|
|
{
|
|
Name: "is_error",
|
|
Func: builtinIsError,
|
|
},
|
|
{
|
|
Name: "is_undefined",
|
|
Func: builtinIsUndefined,
|
|
},
|
|
{
|
|
Name: "to_json",
|
|
Func: builtinToJSON,
|
|
},
|
|
{
|
|
Name: "from_json",
|
|
Func: builtinFromJSON,
|
|
},
|
|
}
|