summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/objects/builtin_print.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-04-06 22:18:25 +0200
committerGitHub <noreply@github.com>2019-04-06 22:18:25 +0200
commit115d20373c21b107a428a55247c64f900e116038 (patch)
treec7299b3d3be2a48c0f2d5bfbd856cbd1b27d2e55 /vendor/github.com/d5/tengo/objects/builtin_print.go
parentcdf33e5748c110e12097130bdb44637e3d14b229 (diff)
downloadmatterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.gz
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.tar.bz2
matterbridge-msglm-115d20373c21b107a428a55247c64f900e116038.zip
Update tengo vendor and load the stdlib. Fixes #789 (#792)
Diffstat (limited to 'vendor/github.com/d5/tengo/objects/builtin_print.go')
-rw-r--r--vendor/github.com/d5/tengo/objects/builtin_print.go83
1 files changed, 0 insertions, 83 deletions
diff --git a/vendor/github.com/d5/tengo/objects/builtin_print.go b/vendor/github.com/d5/tengo/objects/builtin_print.go
deleted file mode 100644
index 58f22610..00000000
--- a/vendor/github.com/d5/tengo/objects/builtin_print.go
+++ /dev/null
@@ -1,83 +0,0 @@
-package objects
-
-import (
- "fmt"
-
- "github.com/d5/tengo"
-)
-
-// print(args...)
-func builtinPrint(args ...Object) (Object, error) {
- for _, arg := range args {
- if str, ok := arg.(*String); ok {
- fmt.Println(str.Value)
- } else {
- fmt.Println(arg.String())
- }
- }
-
- return nil, nil
-}
-
-// printf("format", args...)
-func builtinPrintf(args ...Object) (Object, error) {
- numArgs := len(args)
- if numArgs == 0 {
- return nil, ErrWrongNumArguments
- }
-
- format, ok := args[0].(*String)
- if !ok {
- return nil, ErrInvalidArgumentType{
- Name: "format",
- Expected: "string",
- Found: args[0].TypeName(),
- }
- }
- if numArgs == 1 {
- fmt.Print(format)
- return nil, nil
- }
-
- formatArgs := make([]interface{}, numArgs-1, numArgs-1)
- for idx, arg := range args[1:] {
- formatArgs[idx] = objectToInterface(arg)
- }
-
- fmt.Printf(format.Value, formatArgs...)
-
- return nil, nil
-}
-
-// sprintf("format", args...)
-func builtinSprintf(args ...Object) (Object, error) {
- numArgs := len(args)
- if numArgs == 0 {
- return nil, ErrWrongNumArguments
- }
-
- format, ok := args[0].(*String)
- if !ok {
- return nil, ErrInvalidArgumentType{
- Name: "format",
- Expected: "string",
- Found: args[0].TypeName(),
- }
- }
- if numArgs == 1 {
- return format, nil // okay to return 'format' directly as String is immutable
- }
-
- formatArgs := make([]interface{}, numArgs-1, numArgs-1)
- for idx, arg := range args[1:] {
- formatArgs[idx] = objectToInterface(arg)
- }
-
- s := fmt.Sprintf(format.Value, formatArgs...)
-
- if len(s) > tengo.MaxStringLen {
- return nil, ErrStringLimit
- }
-
- return &String{Value: s}, nil
-}