aboutsummaryrefslogtreecommitdiff
path: root/ext/js/data
diff options
context:
space:
mode:
authorDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
committerDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
commitef79eab44bfd000792c610b968b5ceefd41e76a0 (patch)
tree48b04f30f6248caedbd880801aa49402a9e8066a /ext/js/data
parent376151096431d4362e4baaacf0cef4a534e169f7 (diff)
Modernize codebase
- Use ES modules - Remove vendored libs and build them from npm using esbuild - Switch from JSZip to zip.js
Diffstat (limited to 'ext/js/data')
-rw-r--r--ext/js/data/anki-note-builder.js10
-rw-r--r--ext/js/data/anki-util.js4
-rw-r--r--ext/js/data/database.js2
-rw-r--r--ext/js/data/json-schema.js7
-rw-r--r--ext/js/data/options-util.js9
-rw-r--r--ext/js/data/permissions-util.js6
-rw-r--r--ext/js/data/sandbox/anki-note-data-creator.js6
-rw-r--r--ext/js/data/sandbox/array-buffer-util.js2
-rw-r--r--ext/js/data/sandbox/string-util.js2
9 files changed, 22 insertions, 26 deletions
diff --git a/ext/js/data/anki-note-builder.js b/ext/js/data/anki-note-builder.js
index c1b58cc2..7fbbf03c 100644
--- a/ext/js/data/anki-note-builder.js
+++ b/ext/js/data/anki-note-builder.js
@@ -16,12 +16,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/* global
- * AnkiUtil
- * TemplateRendererProxy
- */
+import {deferPromise, deserializeError} from '../core.js';
+import {TemplateRendererProxy} from '../templates/template-renderer-proxy.js';
+import {yomichan} from '../yomichan.js';
+import {AnkiUtil} from './anki-util.js';
-class AnkiNoteBuilder {
+export class AnkiNoteBuilder {
constructor({japaneseUtil}) {
this._japaneseUtil = japaneseUtil;
this._markerPattern = AnkiUtil.cloneFieldMarkerPattern(true);
diff --git a/ext/js/data/anki-util.js b/ext/js/data/anki-util.js
index 3b433dc9..c08b562e 100644
--- a/ext/js/data/anki-util.js
+++ b/ext/js/data/anki-util.js
@@ -16,10 +16,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
+import {isObject} from '../core.js';
+
/**
* This class has some general utility functions for working with Anki data.
*/
-class AnkiUtil {
+export class AnkiUtil {
/**
* Gets the root deck name of a full deck name. If the deck is a root deck,
* the same name is returned. Nested decks are separated using '::'.
diff --git a/ext/js/data/database.js b/ext/js/data/database.js
index 205f6385..8e818d8b 100644
--- a/ext/js/data/database.js
+++ b/ext/js/data/database.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-class Database {
+export class Database {
constructor() {
this._db = null;
this._isOpening = false;
diff --git a/ext/js/data/json-schema.js b/ext/js/data/json-schema.js
index c22a0e1a..93c8cd59 100644
--- a/ext/js/data/json-schema.js
+++ b/ext/js/data/json-schema.js
@@ -16,11 +16,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/* global
- * CacheMap
- */
+import {clone} from '../core.js';
+import {CacheMap} from '../general/cache-map.js';
-class JsonSchema {
+export class JsonSchema {
constructor(schema, rootSchema) {
this._schema = null;
this._startSchema = schema;
diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js
index e0cd0362..42e31b5f 100644
--- a/ext/js/data/options-util.js
+++ b/ext/js/data/options-util.js
@@ -16,12 +16,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/* global
- * JsonSchema
- * TemplatePatcher
- */
+import {escapeRegExp, isObject} from '../core.js';
+import {TemplatePatcher} from '../templates/template-patcher.js';
+import {JsonSchema} from './json-schema.js';
-class OptionsUtil {
+export class OptionsUtil {
constructor() {
this._templatePatcher = null;
this._optionsSchema = null;
diff --git a/ext/js/data/permissions-util.js b/ext/js/data/permissions-util.js
index afec470c..d645f21e 100644
--- a/ext/js/data/permissions-util.js
+++ b/ext/js/data/permissions-util.js
@@ -16,11 +16,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/* global
- * AnkiUtil
- */
+import {AnkiUtil} from './anki-util.js';
-class PermissionsUtil {
+export class PermissionsUtil {
constructor() {
this._ankiFieldMarkersRequiringClipboardPermission = new Set([
'clipboard-image',
diff --git a/ext/js/data/sandbox/anki-note-data-creator.js b/ext/js/data/sandbox/anki-note-data-creator.js
index 33b4af6f..371a62a2 100644
--- a/ext/js/data/sandbox/anki-note-data-creator.js
+++ b/ext/js/data/sandbox/anki-note-data-creator.js
@@ -16,15 +16,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/* global
- * DictionaryDataUtil
- */
+import {DictionaryDataUtil} from '../../language/sandbox/dictionary-data-util.js';
/**
* This class is used to convert the internal dictionary entry format to the
* format used by Anki, for backwards compatibility.
*/
-class AnkiNoteDataCreator {
+export class AnkiNoteDataCreator {
/**
* Creates a new instance.
* @param {JapaneseUtil} japaneseUtil An instance of `JapaneseUtil`.
diff --git a/ext/js/data/sandbox/array-buffer-util.js b/ext/js/data/sandbox/array-buffer-util.js
index f96406bc..20715bd6 100644
--- a/ext/js/data/sandbox/array-buffer-util.js
+++ b/ext/js/data/sandbox/array-buffer-util.js
@@ -19,7 +19,7 @@
/**
* Class containing generic ArrayBuffer utility functions.
*/
-class ArrayBufferUtil {
+export class ArrayBufferUtil {
/**
* Decodes the contents of an ArrayBuffer using UTF8.
* @param {ArrayBuffer} arrayBuffer The input ArrayBuffer.
diff --git a/ext/js/data/sandbox/string-util.js b/ext/js/data/sandbox/string-util.js
index c158fd1a..096ecffe 100644
--- a/ext/js/data/sandbox/string-util.js
+++ b/ext/js/data/sandbox/string-util.js
@@ -19,7 +19,7 @@
/**
* Class containing generic string utility functions.
*/
-class StringUtil {
+export class StringUtil {
/**
* Reads code points from a string in the forward direction.
* @param {string} text The text to read the code points from.