bug fix:"File '/node_modules/@types/kuromoji/index.d.ts' is not a module." (#20066)

add tslint.json
This commit is contained in:
kgtkr
2017-09-28 02:06:40 +09:00
committed by Mohamed Hegazy
parent 12aadc15ff
commit 95c1a63c29
3 changed files with 162 additions and 163 deletions

View File

@@ -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 <https://github.com/mzsm>
// Definitions by: MIZUSHIMA Junki <https://github.com/mzsm>, kgtkr <https://github.com/kgtkr>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference types="doublearray" />
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<T> {
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<IpadicFeatures> {
}
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<T> {
token_info_dictionary: TokenInfoDictionary;
unknown_dictionary: UnknownDictionary;
viterbi_builder: ViterbiBuilder;
viterbi_searcher: ViterbiSearcher;
formatter: Formatter<T>;
tokenize(text: string): T[];
getLattice(text: string): ViterbiLattice;
}
// TokenizerBuilder.js
interface TokenizerBuilder<T> {
build(callback: (err: Error, tokenizer: Tokenizer<T>) => void): void;
}
interface TokenizerBuilderOption {
dicPath?: string;
}
// kuromoji.js
export function builder(option: TokenizerBuilderOption): TokenizerBuilder<IpadicFeatures>;
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<T> {
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<IpadicFeatures>;
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<T> {
token_info_dictionary: TokenInfoDictionary;
unknown_dictionary: UnknownDictionary;
viterbi_builder: ViterbiBuilder;
viterbi_searcher: ViterbiSearcher;
formatter: Formatter<T>;
tokenize(text: string): T[];
getLattice(text: string): ViterbiLattice;
}
// TokenizerBuilder.js
export interface TokenizerBuilder<T> {
build(callback: (err: Error, tokenizer: Tokenizer<T>) => void): void;
}
export interface TokenizerBuilderOption {
dicPath?: string;
}
// kuromoji.js
export function builder(option: TokenizerBuilderOption): TokenizerBuilder<IpadicFeatures>;
export function dictionaryBuilder(): DictionaryBuilder;

View File

@@ -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();
const dict = builder.build();

View File

@@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}