xgo/objects/builtins.go

136 lines
1.7 KiB
Go
Raw Normal View History

2019-01-09 10:17:42 +03:00
package objects
2019-01-18 20:19:45 +03:00
// NamedBuiltinFunc is a named builtin function.
type NamedBuiltinFunc struct {
2019-01-09 10:17:42 +03:00
Name string
2019-01-17 12:56:05 +03:00
Func CallableFunc
2019-01-18 20:19:45 +03:00
}
// Builtins contains all default builtin functions.
var Builtins = []NamedBuiltinFunc{
2019-01-09 10:17:42 +03:00
{
Name: "print",
Func: builtinPrint,
},
{
Name: "printf",
Func: builtinPrintf,
},
{
Name: "sprintf",
Func: builtinSprintf,
},
2019-01-09 10:17:42 +03:00
{
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,
},
2019-01-18 12:43:46 +03:00
{
Name: "bytes",
Func: builtinBytes,
},
{
Name: "time",
Func: builtinTime,
},
{
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,
},
2019-01-18 12:43:46 +03:00
{
Name: "is_bytes",
Func: builtinIsBytes,
},
{
Name: "is_array",
Func: builtinIsArray,
},
{
Name: "is_immutable_array",
Func: builtinIsImmutableArray,
},
{
Name: "is_map",
Func: builtinIsMap,
},
{
Name: "is_immutable_map",
Func: builtinIsImmutableMap,
},
{
Name: "is_time",
Func: builtinIsTime,
},
{
Name: "is_error",
Func: builtinIsError,
},
{
Name: "is_undefined",
Func: builtinIsUndefined,
},
{
Name: "is_function",
Func: builtinIsFunction,
},
{
Name: "is_callable",
Func: builtinIsCallable,
},
{
Name: "to_json",
Func: builtinToJSON,
},
{
Name: "from_json",
Func: builtinFromJSON,
},
2019-01-28 05:39:45 +03:00
{
Name: "type_name",
Func: builtinTypeName,
},
2019-01-09 10:17:42 +03:00
}