ethers.js/src.ts/wordlists/wordlist-owla.ts
2023-06-01 17:42:48 -04:00

42 lines
1.1 KiB
TypeScript

import { WordlistOwl } from "./wordlist-owl.js";
import { decodeOwlA } from "./decode-owla.js";
/**
* An OWL-A format Wordlist extends the OWL format to add an
* overlay onto an OWL format Wordlist to support diacritic
* marks.
*
* This class is generally not useful to most developers as
* it is used mainly internally to keep Wordlists for languages
* based on latin-1 small.
*
* If necessary, there are tools within the ``generation/`` folder
* to create the necessary data.
*/
export class WordlistOwlA extends WordlistOwl {
#accent: string;
/**
* Creates a new Wordlist for %%locale%% using the OWLA %%data%%
* and %%accent%% data and validated against the %%checksum%%.
*/
constructor(locale: string, data: string, accent: string, checksum: string) {
super(locale, data, checksum);
this.#accent = accent;
}
/**
* The OWLA-encoded accent data.
*/
get _accent(): string { return this.#accent; }
/**
* Decode all the words for the wordlist.
*/
_decodeWords(): Array<string> {
return decodeOwlA(this._data, this._accent);
}
}