From 5eaba1d659f45a679eab260df433649ce89d804c Mon Sep 17 00:00:00 2001 From: MarvNC Date: Sat, 6 Jul 2024 20:55:08 -0700 Subject: [PATCH] Update dictionary index types https://github.com/themoeway/yomitan/pull/891 --- src/types/IsoLanguageCode.ts | 191 +++++++++++++++++++++++++++ src/types/yomitan/dictionaryindex.ts | 36 ++++- src/types/yomitan/termbank.ts | 2 +- 3 files changed, 224 insertions(+), 5 deletions(-) create mode 100644 src/types/IsoLanguageCode.ts diff --git a/src/types/IsoLanguageCode.ts b/src/types/IsoLanguageCode.ts new file mode 100644 index 0000000..82f07a4 --- /dev/null +++ b/src/types/IsoLanguageCode.ts @@ -0,0 +1,191 @@ +/** + * ISO language code (ISO 639-1 where possible, ISO 639-3 otherwise). + */ +export type IsoLanguageCode = + | 'aa' + | 'ab' + | 'ae' + | 'af' + | 'ak' + | 'am' + | 'an' + | 'ar' + | 'as' + | 'av' + | 'ay' + | 'az' + | 'az' + | 'ba' + | 'be' + | 'bg' + | 'bh' + | 'bi' + | 'bm' + | 'bn' + | 'bo' + | 'br' + | 'bs' + | 'ca' + | 'ce' + | 'ch' + | 'co' + | 'cr' + | 'cs' + | 'cu' + | 'cv' + | 'cy' + | 'da' + | 'de' + | 'dv' + | 'dz' + | 'ee' + | 'el' + | 'en' + | 'eo' + | 'es' + | 'et' + | 'eu' + | 'fa' + | 'ff' + | 'fi' + | 'fj' + | 'fo' + | 'fr' + | 'fy' + | 'ga' + | 'gd' + | 'gl' + | 'gn' + | 'grc' + | 'gu' + | 'gv' + | 'ha' + | 'he' + | 'hi' + | 'ho' + | 'hr' + | 'ht' + | 'hu' + | 'hy' + | 'hz' + | 'ia' + | 'id' + | 'ie' + | 'ig' + | 'ii' + | 'ik' + | 'io' + | 'is' + | 'it' + | 'iu' + | 'ja' + | 'jv' + | 'ka' + | 'kg' + | 'ki' + | 'kj' + | 'kk' + | 'kl' + | 'km' + | 'kn' + | 'ko' + | 'kr' + | 'ks' + | 'ku' + | 'kv' + | 'kw' + | 'ky' + | 'la' + | 'lb' + | 'lg' + | 'li' + | 'ln' + | 'lo' + | 'lt' + | 'lu' + | 'lv' + | 'mg' + | 'mh' + | 'mi' + | 'mk' + | 'ml' + | 'mn' + | 'mr' + | 'ms' + | 'mt' + | 'my' + | 'na' + | 'nb' + | 'nd' + | 'ne' + | 'ng' + | 'nl' + | 'nn' + | 'no' + | 'nr' + | 'nv' + | 'ny' + | 'oc' + | 'oj' + | 'om' + | 'or' + | 'os' + | 'pa' + | 'pi' + | 'pl' + | 'ps' + | 'pt' + | 'qu' + | 'rm' + | 'rn' + | 'ro' + | 'ru' + | 'rw' + | 'sa' + | 'sc' + | 'sd' + | 'se' + | 'sg' + | 'sh' + | 'si' + | 'sk' + | 'sl' + | 'sm' + | 'sn' + | 'so' + | 'sq' + | 'sr' + | 'ss' + | 'st' + | 'su' + | 'sv' + | 'sw' + | 'ta' + | 'te' + | 'tg' + | 'th' + | 'ti' + | 'tk' + | 'tl' + | 'tn' + | 'to' + | 'tr' + | 'ts' + | 'tt' + | 'tw' + | 'ty' + | 'ug' + | 'uk' + | 'ur' + | 'uz' + | 've' + | 'vi' + | 'vo' + | 'wa' + | 'wo' + | 'xh' + | 'yi' + | 'yo' + | 'za' + | 'zh' + | 'zu'; diff --git a/src/types/yomitan/dictionaryindex.ts b/src/types/yomitan/dictionaryindex.ts index d82dbd4..b9b7356 100644 --- a/src/types/yomitan/dictionaryindex.ts +++ b/src/types/yomitan/dictionaryindex.ts @@ -1,13 +1,41 @@ +import { IsoLanguageCode } from '../IsoLanguageCode'; + +/** + * Information about a single tag. + */ +type TagInfo = { + category?: string; + order?: number; + notes?: string; + score?: number; +}; + +/** + * Represents the structure of a dictionary index file. + */ type DictionaryIndexType = { + /** Title of the dictionary. */ title: string; + /** Revision of the dictionary. This value is only used for displaying information. */ revision: string; + /** Whether or not this dictionary contains sequencing information for related terms. */ sequenced?: boolean; + /** Format of data found in the JSON data files. */ format?: 1 | 2 | 3; - author: string; + /** Creator of the dictionary. */ + author?: string; + /** URL for the source of the dictionary. */ url?: string; - description: string; - attribution: string; + /** Description of the dictionary data. */ + description?: string; + /** Attribution information for the dictionary data. */ + attribution?: string; + /** Language of the terms in the dictionary. */ + sourceLanguage?: IsoLanguageCode; + /** Main language of the definitions in the dictionary. */ + targetLanguage?: IsoLanguageCode; + /** Frequency mode of the dictionary. */ frequencyMode?: 'occurrence-based' | 'rank-based'; }; -export type { DictionaryIndexType }; +export type { DictionaryIndexType, IsoLanguageCode, TagInfo }; diff --git a/src/types/yomitan/termbank.ts b/src/types/yomitan/termbank.ts index d9df123..47d83a6 100644 --- a/src/types/yomitan/termbank.ts +++ b/src/types/yomitan/termbank.ts @@ -108,7 +108,7 @@ type StructuredContentNode = lang?: string; } | { - tag: 'span' | 'div' | 'ol' | 'ul' | 'li'; + tag: 'span' | 'div' | 'ol' | 'ul' | 'li' | 'details' | 'summary'; content?: StructuredContentNode; data?: StructuredContentData; style?: StructuredContentStyle;