diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-06-27 20:30:37 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-27 20:30:37 -0400 | 
| commit | af706dea7e25ae42a7e032a2275d69d3211a98e3 (patch) | |
| tree | 52d9f2a19afa063e4707a97d6541812c5558a320 | |
| parent | 1794c948449c474ccf0cce53d2a4555723d0c11b (diff) | |
Add prepare functionality to the TemplateRendererProxy shim (#1775)
| -rw-r--r-- | test/test-anki-note-builder.js | 22 | 
1 files changed, 18 insertions, 4 deletions
diff --git a/test/test-anki-note-builder.js b/test/test-anki-note-builder.js index d3ea0b6a..d7045254 100644 --- a/test/test-anki-note-builder.js +++ b/test/test-anki-note-builder.js @@ -56,8 +56,9 @@ async function createVM() {      const ankiNoteDataCreator = vm.ankiNoteDataCreator;      class TemplateRendererProxy {          constructor() { -            const japaneseUtil = new JapaneseUtil(null); -            this._templateRenderer = new TemplateRenderer(japaneseUtil); +            this._preparePromise = null; +            this._japaneseUtil = new JapaneseUtil(null); +            this._templateRenderer = new TemplateRenderer(this._japaneseUtil);              this._templateRenderer.registerDataType('ankiNote', {                  modifier: ({marker, commonData}) => ankiNoteDataCreator.create(marker, commonData),                  composeData: (marker, commonData) => ({marker, commonData}) @@ -65,11 +66,24 @@ async function createVM() {          }          async render(template, data, type) { -            return this._templateRenderer.render(template, data, type); +            await this._prepare(); +            return await this._templateRenderer.render(template, data, type);          }          async renderMulti(items) { -            return this._serializeMulti(this._templateRenderer.renderMulti(items)); +            await this._prepare(); +            return await this._serializeMulti(this._templateRenderer.renderMulti(items)); +        } + +        _prepare() { +            if (this._preparePromise === null) { +                this._preparePromise = this._prepareInternal(); +            } +            return this._preparePromise; +        } + +        async _prepareInternal() { +            // Empty          }          _serializeError(error) {  |