From 0c717541d80116f51bc2d9c0a4a2d731b0a50edb Mon Sep 17 00:00:00 2001 From: "Dylan R. E. Moonfire" Date: Mon, 7 Dec 2015 13:00:05 -0600 Subject: [PATCH] Added an interface to tokenizers to make it easier to pass into functinos. --- natural/natural.d.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/natural/natural.d.ts b/natural/natural.d.ts index d559f3801..249caf901 100644 --- a/natural/natural.d.ts +++ b/natural/natural.d.ts @@ -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;