From 95c1a63c29e33cd34ef0b63e06a356ffc42e1a94 Mon Sep 17 00:00:00 2001 From: kgtkr Date: Thu, 28 Sep 2017 02:06:40 +0900 Subject: [PATCH] bug fix:"File '/node_modules/@types/kuromoji/index.d.ts' is not a module." (#20066) add tslint.json --- types/kuromoji/index.d.ts | 304 +++++++++++++++---------------- types/kuromoji/kuromoji-tests.ts | 18 +- types/kuromoji/tslint.json | 3 + 3 files changed, 162 insertions(+), 163 deletions(-) create mode 100644 types/kuromoji/tslint.json diff --git a/types/kuromoji/index.d.ts b/types/kuromoji/index.d.ts index d5ccd8aeb6..dc30170a9a 100644 --- a/types/kuromoji/index.d.ts +++ b/types/kuromoji/index.d.ts @@ -1,160 +1,156 @@ -// Type definitions for kuromoji.js +// Type definitions for kuromoji.js 0.1 // Project: https://github.com/takuyaa/kuromoji.js -// Definitions by: MIZUSHIMA Junki +// Definitions by: MIZUSHIMA Junki , kgtkr // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// -declare namespace kuromoji { - - // dict/ConnectionCosts.js - interface ConnectionCosts { - buffer: Int16Array; - put(forward_id: number, backward_id: number, cost: number): void; - get(forward_id: number, backward_id: number): number; - loadConnectionCosts(connection_costs_buffer: Int16Array): void; - } - - // dict/DynamicDictionaries.js - interface DynamicDictionaries { - trie: doublearray.DoubleArray; - token_info_dictionary: TokenInfoDictionary; - connection_costs: ConnectionCosts; - unknown_dictionary: UnknownDictionary; - loadTrie(base_buffer: Int32Array, check_buffer: Int32Array): DynamicDictionaries; - } - - // dict/TokenInfoDictionary.js - interface TokenInfoDictionary { - buildDictionary(entries: any[][]): {[word_id: number]: string}; - put(left_id: number, right_id: number, word_cost: number, surface_form: string, feature: string): number; - addMapping(source: number, target: number): void; - targetMapToBuffer(): Uint8Array; - loadDictionary(array_buffer: Uint8Array): TokenInfoDictionary; - loadPosVector(array_buffer: Uint8Array): TokenInfoDictionary; - loadTargetMap(array_buffer: Uint8Array): TokenInfoDictionary; - getFeatures(token_info_id_str: string): string; - } - - // dict/UnknownDictionary.js - interface UnknownDictionary extends TokenInfoDictionary { - } - - // util/ByteBuffer.js - interface ByteBuffer { - buffer: Uint8Array; - position: number; - size(): number; - reallocate(): void; - shrink(): Uint8Array; - put(b: number): void; - get(index: number): number; - putShort(num: number): void; - getShort(index: number): number; - putInt(num: number): void; - getInt(index: number): number; - readInt(): number; - putString(str: string): void; - getString(index: number): string; - } - - // util/DictionaryBuilder.js - interface DictionaryBuilder { - tid_entries: string[]; - unk_entries: string[]; - addTokenInfoDictionary(text: string): DictionaryBuilder; - costMatrix(matrix_text: string): DictionaryBuilder; - charDef(char_text: string): DictionaryBuilder; - unkDef(text: string): DictionaryBuilder; - build(): DynamicDictionaries; - buildTokenInfoDictionary(): {trie: doublearray.DoubleArray; token_info_dictionary: TokenInfoDictionary}; - buildUnknownDictionary(): UnknownDictionary; - buildConnectionCosts(): ConnectionCosts; - buildDoubleArray(): doublearray.DoubleArray; - } - - // util/IpadicFormatter.js - interface Formatter { - formatEntry(word_id: number, position: number, type: string, features: string[]): T; - formatUnknownEntry(word_id: number, position: number, type: string, features: string[]): T; - } - interface IpadicFormatter extends Formatter { - } - export interface IpadicFeatures { - word_id: number; - word_type: string; - word_position: number; - surface_form: string; - pos: string; - pos_detail_1: string; - pos_detail_2: string; - pos_detail_3: string; - conjugated_type: string; - conjugated_form: string; - basic_form: string; - reading?: string; - pronunciation?: string; - } - - // viterbi/ViterbiBuilder.js - interface ViterbiBuilder { - trie: doublearray.DoubleArray; - token_info_dictionary: TokenInfoDictionary; - unknown_dictionary: UnknownDictionary; - build(sentence_str: string): ViterbiLattice; - } - - // viterbi/ViterbiLattice.js - interface ViterbiLattice { - append(node: ViterbiNode): void; - appendEos(): void; - } - - // viterbi/ViterbiNode.js - interface ViterbiNode { - name: string; - cost: number; - start_pos: number; - length: number; - left_id: number; - right_id: number; - prev: ViterbiNode; - surface_form: string; - shortest_cost: number; - type: string; - } - - // viterbi/ViterbiSearcher.js - interface ViterbiSearcher { - connection_costs: ConnectionCosts; - search(lattice: ViterbiLattice): ViterbiNode[]; - forward(lattice: ViterbiLattice): ViterbiLattice; - backward(lattice: ViterbiLattice): ViterbiNode[]; - } - - // Tokenizer.js - interface TokenizerStatic { - splitByPunctuation(input: string): string[]; - } - interface Tokenizer { - token_info_dictionary: TokenInfoDictionary; - unknown_dictionary: UnknownDictionary; - viterbi_builder: ViterbiBuilder; - viterbi_searcher: ViterbiSearcher; - formatter: Formatter; - tokenize(text: string): T[]; - getLattice(text: string): ViterbiLattice; - } - - // TokenizerBuilder.js - interface TokenizerBuilder { - build(callback: (err: Error, tokenizer: Tokenizer) => void): void; - } - interface TokenizerBuilderOption { - dicPath?: string; - } - - // kuromoji.js - export function builder(option: TokenizerBuilderOption): TokenizerBuilder; - export function dictionaryBuilder(): DictionaryBuilder; +// dict/ConnectionCosts.js +export interface ConnectionCosts { + buffer: Int16Array; + put(forward_id: number, backward_id: number, cost: number): void; + get(forward_id: number, backward_id: number): number; + loadConnectionCosts(connection_costs_buffer: Int16Array): void; } + +// dict/DynamicDictionaries.js +export interface DynamicDictionaries { + trie: doublearray.DoubleArray; + token_info_dictionary: TokenInfoDictionary; + connection_costs: ConnectionCosts; + unknown_dictionary: UnknownDictionary; + loadTrie(base_buffer: Int32Array, check_buffer: Int32Array): DynamicDictionaries; +} + +// dict/TokenInfoDictionary.js +export interface TokenInfoDictionary { + buildDictionary(entries: any[][]): { [word_id: number]: string }; + put(left_id: number, right_id: number, word_cost: number, surface_form: string, feature: string): number; + addMapping(source: number, target: number): void; + targetMapToBuffer(): Uint8Array; + loadDictionary(array_buffer: Uint8Array): TokenInfoDictionary; + loadPosVector(array_buffer: Uint8Array): TokenInfoDictionary; + loadTargetMap(array_buffer: Uint8Array): TokenInfoDictionary; + getFeatures(token_info_id_str: string): string; +} + +// dict/UnknownDictionary.js +export type UnknownDictionary = TokenInfoDictionary; + +// util/ByteBuffer.js +export interface ByteBuffer { + buffer: Uint8Array; + position: number; + size(): number; + reallocate(): void; + shrink(): Uint8Array; + put(b: number): void; + get(index: number): number; + putShort(num: number): void; + getShort(index: number): number; + putInt(num: number): void; + getInt(index: number): number; + readInt(): number; + putString(str: string): void; + getString(index: number): string; +} + +// util/DictionaryBuilder.js +export interface DictionaryBuilder { + tid_entries: string[]; + unk_entries: string[]; + addTokenInfoDictionary(text: string): DictionaryBuilder; + costMatrix(matrix_text: string): DictionaryBuilder; + charDef(char_text: string): DictionaryBuilder; + unkDef(text: string): DictionaryBuilder; + build(): DynamicDictionaries; + buildTokenInfoDictionary(): { trie: doublearray.DoubleArray; token_info_dictionary: TokenInfoDictionary }; + buildUnknownDictionary(): UnknownDictionary; + buildConnectionCosts(): ConnectionCosts; + buildDoubleArray(): doublearray.DoubleArray; +} + +// util/IpadicFormatter.js +export interface Formatter { + formatEntry(word_id: number, position: number, type: string, features: string[]): T; + formatUnknownEntry(word_id: number, position: number, type: string, features: string[]): T; +} +export type IpadicFormatter = Formatter; + +export interface IpadicFeatures { + word_id: number; + word_type: string; + word_position: number; + surface_form: string; + pos: string; + pos_detail_1: string; + pos_detail_2: string; + pos_detail_3: string; + conjugated_type: string; + conjugated_form: string; + basic_form: string; + reading?: string; + pronunciation?: string; +} + +// viterbi/ViterbiBuilder.js +export interface ViterbiBuilder { + trie: doublearray.DoubleArray; + token_info_dictionary: TokenInfoDictionary; + unknown_dictionary: UnknownDictionary; + build(sentence_str: string): ViterbiLattice; +} + +// viterbi/ViterbiLattice.js +export interface ViterbiLattice { + append(node: ViterbiNode): void; + appendEos(): void; +} + +// viterbi/ViterbiNode.js +export interface ViterbiNode { + name: string; + cost: number; + start_pos: number; + length: number; + left_id: number; + right_id: number; + prev: ViterbiNode; + surface_form: string; + shortest_cost: number; + type: string; +} + +// viterbi/ViterbiSearcher.js +export interface ViterbiSearcher { + connection_costs: ConnectionCosts; + search(lattice: ViterbiLattice): ViterbiNode[]; + forward(lattice: ViterbiLattice): ViterbiLattice; + backward(lattice: ViterbiLattice): ViterbiNode[]; +} + +// Tokenizer.js +export interface TokenizerStatic { + splitByPunctuation(input: string): string[]; +} +export interface Tokenizer { + token_info_dictionary: TokenInfoDictionary; + unknown_dictionary: UnknownDictionary; + viterbi_builder: ViterbiBuilder; + viterbi_searcher: ViterbiSearcher; + formatter: Formatter; + tokenize(text: string): T[]; + getLattice(text: string): ViterbiLattice; +} + +// TokenizerBuilder.js +export interface TokenizerBuilder { + build(callback: (err: Error, tokenizer: Tokenizer) => void): void; +} +export interface TokenizerBuilderOption { + dicPath?: string; +} + +// kuromoji.js +export function builder(option: TokenizerBuilderOption): TokenizerBuilder; +export function dictionaryBuilder(): DictionaryBuilder; diff --git a/types/kuromoji/kuromoji-tests.ts b/types/kuromoji/kuromoji-tests.ts index 7b0cd21b62..5e41f39e34 100644 --- a/types/kuromoji/kuromoji-tests.ts +++ b/types/kuromoji/kuromoji-tests.ts @@ -1,11 +1,11 @@ - +import * as kuromoji from 'kuromoji'; // From https://github.com/takuyaa/kuromoji.js/blob/master/README.md#usage -kuromoji.builder({ dicPath: "/url/to/dictionary/dir/" }).build(function (err, tokenizer) { - var path = tokenizer.tokenize("すもももももももものうち"); - var num_tmp: number; - var str_tmp: string; - path.forEach((token)=>{ +kuromoji.builder({ dicPath: "/url/to/dictionary/dir/" }).build((err, tokenizer) => { + const path = tokenizer.tokenize("すもももももももものうち"); + let num_tmp: number; + let str_tmp: string; + path.forEach((token) => { num_tmp = token.word_id; str_tmp = token.word_type; num_tmp = token.word_position; @@ -23,11 +23,11 @@ kuromoji.builder({ dicPath: "/url/to/dictionary/dir/" }).build(function (err, to }); // From https://github.com/takuyaa/kuromoji.js/blob/master/test/resource/minimum-dic/minimum.csv -var minimum_dict = [ +const minimum_dict = [ "すもも,1285,1285,7546,名詞,一般,*,*,*,*,すもも,スモモ,スモモ", "もも,1285,1285,7219,名詞,一般,*,*,*,*,もも,モモ,モモ" ].join('\n'); -var builder = kuromoji.dictionaryBuilder(); +let builder = kuromoji.dictionaryBuilder(); builder = builder.addTokenInfoDictionary(minimum_dict); -var dict = builder.build(); \ No newline at end of file +const dict = builder.build(); diff --git a/types/kuromoji/tslint.json b/types/kuromoji/tslint.json new file mode 100644 index 0000000000..e60c15844f --- /dev/null +++ b/types/kuromoji/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} \ No newline at end of file