diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-03-26 19:07:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-26 19:07:43 -0400 |
commit | a14caaeab92027c57545f9db40c29e6afac14993 (patch) | |
tree | 0323f1a30291717602abe56247eb5f61ddf5f529 /ext/js | |
parent | a756ce85c0cdeedcdf9bbe784c0fd039ac1ce92e (diff) |
Add join and concat utility functions for template rendering (#1559)
Diffstat (limited to 'ext/js')
-rw-r--r-- | ext/js/templates/template-renderer.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ext/js/templates/template-renderer.js b/ext/js/templates/template-renderer.js index 2db9e177..f72740d5 100644 --- a/ext/js/templates/template-renderer.js +++ b/ext/js/templates/template-renderer.js @@ -108,7 +108,9 @@ class TemplateRenderer { ['noop', this._noop.bind(this)], ['isMoraPitchHigh', this._isMoraPitchHigh.bind(this)], ['getKanaMorae', this._getKanaMorae.bind(this)], - ['typeof', this._getTypeof.bind(this)] + ['typeof', this._getTypeof.bind(this)], + ['join', this._join.bind(this)], + ['concat', this._concat.bind(this)] ]; for (const [name, helper] of helpers) { @@ -414,4 +416,16 @@ class TemplateRenderer { const value = (ii > 0 ? args[0] : args[ii].fn(context)); return typeof value; } + + _join(context, ...args) { + return args.length > 1 ? args.slice(1, args.length - 1).flat().join(args[0]) : ''; + } + + _concat(context, ...args) { + let result = ''; + for (let i = 0, ii = args.length - 1; i < ii; ++i) { + result += args[i]; + } + return result; + } } |