From e4464d9de9a849e3e1161cdaeb5f6e4e45bdf2dc Mon Sep 17 00:00:00 2001 From: Tim Voronov Date: Tue, 10 Mar 2020 21:18:04 -0400 Subject: [PATCH] Added missed datetime library (#462) --- pkg/stdlib/datetime/lib.go | 44 ++++++++++++++++++++------------------ pkg/stdlib/lib.go | 5 +++++ 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/pkg/stdlib/datetime/lib.go b/pkg/stdlib/datetime/lib.go index 3daa77b2..bcca38e4 100644 --- a/pkg/stdlib/datetime/lib.go +++ b/pkg/stdlib/datetime/lib.go @@ -2,25 +2,27 @@ package datetime import "github.com/MontFerret/ferret/pkg/runtime/core" -func NewLib() map[string]core.Function { - return map[string]core.Function{ - "NOW": Now, - "DATE": Date, - "DATE_DAYOFWEEK": DateDayOfWeek, - "DATE_YEAR": DateYear, - "DATE_MONTH": DateMonth, - "DATE_DAY": DateDay, - "DATE_HOUR": DateHour, - "DATE_MINUTE": DateMinute, - "DATE_SECOND": DateSecond, - "DATE_MILLISECOND": DateMillisecond, - "DATE_DAYOFYEAR": DateDayOfYear, - "DATE_LEAPYEAR": DateLeapYear, - "DATE_QUARTER": DateQuarter, - "DATE_DAYS_IN_MONTH": DateDaysInMonth, - "DATE_FORMAT": DateFormat, - "DATE_ADD": DateAdd, - "DATE_SUBTRACT": DateSubtract, - "DATE_DIFF": DateDiff, - } +func RegisterLib(ns core.Namespace) error { + return ns.RegisterFunctions( + core.NewFunctionsFromMap(map[string]core.Function{ + "NOW": Now, + "DATE": Date, + "DATE_DAYOFWEEK": DateDayOfWeek, + "DATE_YEAR": DateYear, + "DATE_MONTH": DateMonth, + "DATE_DAY": DateDay, + "DATE_HOUR": DateHour, + "DATE_MINUTE": DateMinute, + "DATE_SECOND": DateSecond, + "DATE_MILLISECOND": DateMillisecond, + "DATE_DAYOFYEAR": DateDayOfYear, + "DATE_LEAPYEAR": DateLeapYear, + "DATE_QUARTER": DateQuarter, + "DATE_DAYS_IN_MONTH": DateDaysInMonth, + "DATE_FORMAT": DateFormat, + "DATE_ADD": DateAdd, + "DATE_SUBTRACT": DateSubtract, + "DATE_DIFF": DateDiff, + }), + ) } diff --git a/pkg/stdlib/lib.go b/pkg/stdlib/lib.go index cdb19139..86250257 100644 --- a/pkg/stdlib/lib.go +++ b/pkg/stdlib/lib.go @@ -4,6 +4,7 @@ import ( "github.com/MontFerret/ferret/pkg/runtime/core" "github.com/MontFerret/ferret/pkg/stdlib/arrays" "github.com/MontFerret/ferret/pkg/stdlib/collections" + "github.com/MontFerret/ferret/pkg/stdlib/datetime" "github.com/MontFerret/ferret/pkg/stdlib/html" "github.com/MontFerret/ferret/pkg/stdlib/io" "github.com/MontFerret/ferret/pkg/stdlib/math" @@ -30,6 +31,10 @@ func RegisterLib(ns core.Namespace) error { return err } + if err := datetime.RegisterLib(ns); err != nil { + return err + } + if err := arrays.RegisterLib(ns); err != nil { return err }