Added an interface to tokenizers to make it easier to pass into functinos.

This commit is contained in:
Dylan R. E. Moonfire
2015-12-07 18:42:26 -06:00
parent 5c3e47967a
commit 0c717541d8
+12 -5
View File
@@ -8,24 +8,27 @@
declare module "natural" {
import events = require("events");
class WordTokenizer {
interface Tokenizer {
tokenize(text: string): string[];
}
class AggressiveTokenizer {
class WordTokenizer implements Tokenizer {
tokenize(text: string): string[];
}
class TreebankWordTokenizer {
class AggressiveTokenizer implements Tokenizer {
tokenize(text: string): string[];
}
class TreebankWordTokenizer implements Tokenizer {
tokenize(text: string): string[];
}
interface RegexTokenizerOptions {
pattern: RegExp;
discardEmpty?: boolean;
}
class RegexpTokenizer {
class RegexpTokenizer implements Tokenizer {
constructor(options: RegexTokenizerOptions);
tokenize(text: string): string[];
}
class WordPunctTokenizer {
class WordPunctTokenizer implements Tokenizer {
tokenize(text: string): string[];
}
@@ -74,6 +77,10 @@ declare module "natural" {
static restore(classifier: any, stemmer?: Stemmer): BayesClassifier;
}
interface Phonetic {
compare(stringA: string, stringB: string): boolean;
process(token: string, maxLength?: number): string;
}
var Metaphone: {
compare(stringA: string, stringB: string): boolean;
process(token: string, maxLength?: number): string;