summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/v2/stdlib/stdlib.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/d5/tengo/v2/stdlib/stdlib.go')
-rw-r--r--vendor/github.com/d5/tengo/v2/stdlib/stdlib.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/github.com/d5/tengo/v2/stdlib/stdlib.go b/vendor/github.com/d5/tengo/v2/stdlib/stdlib.go
new file mode 100644
index 00000000..16c369a0
--- /dev/null
+++ b/vendor/github.com/d5/tengo/v2/stdlib/stdlib.go
@@ -0,0 +1,34 @@
+package stdlib
+
+//go:generate go run gensrcmods.go
+
+import (
+ "github.com/d5/tengo/v2"
+)
+
+// AllModuleNames returns a list of all default module names.
+func AllModuleNames() []string {
+ var names []string
+ for name := range BuiltinModules {
+ names = append(names, name)
+ }
+ for name := range SourceModules {
+ names = append(names, name)
+ }
+ return names
+}
+
+// GetModuleMap returns the module map that includes all modules
+// for the given module names.
+func GetModuleMap(names ...string) *tengo.ModuleMap {
+ modules := tengo.NewModuleMap()
+ for _, name := range names {
+ if mod := BuiltinModules[name]; mod != nil {
+ modules.AddBuiltinModule(name, mod)
+ }
+ if mod := SourceModules[name]; mod != "" {
+ modules.AddSourceModule(name, []byte(mod))
+ }
+ }
+ return modules
+}