From c36bc3ebbda27e6554acac349b9d9775f9ef7c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 13 Jan 2022 16:35:31 +0100 Subject: [PATCH] =?UTF-8?q?`JSXxx`=20=E2=86=92=20`jsXxx`=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/manager/job_compilers/js_globals.go | 14 +++++++------- internal/manager/job_compilers/js_globals_test.go | 12 ++++++------ internal/manager/job_compilers/scripts.go | 8 ++++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/internal/manager/job_compilers/js_globals.go b/internal/manager/job_compilers/js_globals.go index 60653eff..b4132734 100644 --- a/internal/manager/job_compilers/js_globals.go +++ b/internal/manager/job_compilers/js_globals.go @@ -32,22 +32,22 @@ import ( ) // ---------------------------------------------------------- -// Functions that start with `JS` are exposed to JavaScript. +// Functions that start with `js` are exposed to JavaScript. // See newGojaVM() for the actual expose-as-globals code. // ---------------------------------------------------------- -func JSPrint(call goja.FunctionCall) goja.Value { +func jsPrint(call goja.FunctionCall) goja.Value { log.Info().Interface("args", call.Arguments).Msg("print") return goja.Undefined() } -func JSAlert(call goja.FunctionCall) goja.Value { +func jsAlert(call goja.FunctionCall) goja.Value { log.Warn().Interface("args", call.Arguments).Msg("alert") return goja.Undefined() } -// JSFormatTimestampLocal returns the timestamp formatted as local time in a way that's compatible with filenames. -func JSFormatTimestampLocal(timestamp time.Time) string { +// jsFormatTimestampLocal returns the timestamp formatted as local time in a way that's compatible with filenames. +func jsFormatTimestampLocal(timestamp time.Time) string { return timestamp.Local().Format("2006-01-02_150405") } @@ -87,14 +87,14 @@ const ( chunkBlender = ".." ) -// JSFrameChunker takes a range like "1..10,20..25,40" and returns chunked ranges. +// jsFrameChunker takes a range like "1..10,20..25,40" and returns chunked ranges. // // The returned ranges will be at most `chunkSize` frames long. // // Supports "regular" and "blender" notation, resp. "A-Z" and "A..Z". Returned // chunks will always be in "regular" notation because they're more compatible // with embedding in filenames. -func JSFrameChunker(frameRange string, chunkSize int) ([]string, error) { +func jsFrameChunker(frameRange string, chunkSize int) ([]string, error) { frameRange = strings.TrimSpace(frameRange) if len(frameRange) == 0 { return nil, errInvalidRange(frameRange, "empty range") diff --git a/internal/manager/job_compilers/js_globals_test.go b/internal/manager/job_compilers/js_globals_test.go index a235ddd5..f3305499 100644 --- a/internal/manager/job_compilers/js_globals_test.go +++ b/internal/manager/job_compilers/js_globals_test.go @@ -27,35 +27,35 @@ import ( ) func TestFrameChunkerHappyBlenderStyle(t *testing.T) { - chunks, err := JSFrameChunker("1..10,20..25,40,3..8", 4) + chunks, err := jsFrameChunker("1..10,20..25,40,3..8", 4) assert.Nil(t, err) assert.Equal(t, []string{"1-4", "5-8", "9,10,20,21", "22-25", "40"}, chunks) } func TestFrameChunkerHappySmallInput(t *testing.T) { // No frames, should be an error - chunks, err := JSFrameChunker(" ", 4) + chunks, err := jsFrameChunker(" ", 4) assert.ErrorIs(t, err, ErrInvalidRange{Message: "empty range"}) // Just one frame. - chunks, err = JSFrameChunker("47", 4) + chunks, err = jsFrameChunker("47", 4) assert.Nil(t, err) assert.Equal(t, []string{"47"}, chunks) // Just one range of exactly one chunk. - chunks, err = JSFrameChunker("1-3", 3) + chunks, err = jsFrameChunker("1-3", 3) assert.Nil(t, err) assert.Equal(t, []string{"1-3"}, chunks) } func TestFrameChunkerHappyRegularStyle(t *testing.T) { - chunks, err := JSFrameChunker("1-10,20-25,40", 4) + chunks, err := jsFrameChunker("1-10,20-25,40", 4) assert.Nil(t, err) assert.Equal(t, []string{"1-4", "5-8", "9,10,20,21", "22-25", "40"}, chunks) } func TestFrameChunkerHappyExtraWhitespace(t *testing.T) { - chunks, err := JSFrameChunker(" 1 .. 10,\t20..25\n,40 ", 4) + chunks, err := jsFrameChunker(" 1 .. 10,\t20..25\n,40 ", 4) assert.Nil(t, err) assert.Equal(t, []string{"1-4", "5-8", "9,10,20,21", "22-25", "40"}, chunks) } diff --git a/internal/manager/job_compilers/scripts.go b/internal/manager/job_compilers/scripts.go index 4b467c39..92765bdf 100644 --- a/internal/manager/job_compilers/scripts.go +++ b/internal/manager/job_compilers/scripts.go @@ -97,10 +97,10 @@ func (s *Service) newGojaVM() *goja.Runtime { } // Set some global functions. - mustSet("print", JSPrint) - mustSet("alert", JSAlert) - mustSet("frameChunker", JSFrameChunker) - mustSet("formatTimestampLocal", JSFormatTimestampLocal) + mustSet("print", jsPrint) + mustSet("alert", jsAlert) + mustSet("frameChunker", jsFrameChunker) + mustSet("formatTimestampLocal", jsFormatTimestampLocal) // Pre-import some useful modules. s.registry.Enable(vm)