{"version":3,"sources":["jsdelivr-header.js","/npm/node-opennlp@0.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,WAClB,QAAU,SAAS,GACtB,IAAI,EAAO,KAqBX,OApBA,EAAK,KAAO,QAAQ,QACpB,EAAK,OAAS,CACb,OAAQ,UAAY,wBACpB,UAAW,UAAY,4BACvB,UAAW,UAAY,uBACvB,WAAY,UAAY,4BACxB,iBAAkB,UAAY,sBAC9B,QAAS,UAAY,0BAEtB,EAAK,QAAU,CACd,IAAK,UAAY,gCAEd,GAAU,EAAO,QACpB,QAAQ,EAAK,OAAQ,EAAO,QAEzB,GAAU,EAAO,SACpB,QAAQ,EAAK,QAAS,EAAO,SAE9B,EAAK,KAAK,UAAU,KAAK,EAAK,QAAQ,KACtC,EAAK,KAAK,OAAO,2BACV,CACN,UAAW,CACV,SAAU,KACV,SAAU,SAAS,EAAU,GAC5B,IAAI,EAAO,KACX,OAAO,EAAK,WAAU,SAAS,EAAO,GAErC,OADA,EAAK,SAAW,EACT,EAAS,SAAS,EAAU,EACpC,GACD,EACA,sBAAuB,SAAS,GAC/B,GAAqB,MAAjB,KAAK,SACR,MAAM,IAAI,MAAM,qBAEjB,OAAO,KAAK,SAAS,sBAAsB,EAC5C,GAED,WAAY,CACX,SAAU,KACV,KAAM,SAAS,EAAU,GACxB,IAAI,EAAO,KAMP,EAAa,SAAS,EAAO,EAAgB,GAChD,GAAI,EAEH,MADA,QAAQ,IAAI,GACN,IAAI,MAAM,sCAEjB,EAAK,WAAW,SAAS,EAAgB,EAAO,GAC/C,EAAK,SAAW,EAChB,IAAI,EAAW,EAAK,KAAK,SAAS,mBAAoB,GACtD,OAAO,EAAS,KAAK,GAAU,SAAS,EAAO,GAC9C,EAAG,EAAO,EAAS,WACpB,GACD,EAAE,KAAK,KAAM,GACd,EACK,MAAM,QAAQ,GAKlB,EAAW,KAAM,EAAU,GAvBZ,SAAS,EAAU,GAClC,EAAK,UAAU,SAAS,EAAU,EAAO,GACxC,EAAS,SAAS,EAAU,EAC7B,EAAE,KAAK,KAAM,GACd,CAeC,CAAU,GAAU,SAAS,EAAO,GACnC,EAAW,EAAO,EAAgB,EACnC,GAIF,EACA,MAAO,SAAS,GACf,GAAqB,MAAjB,KAAK,SACR,MAAM,IAAI,MAAM,qBAEjB,OAAO,KAAK,SAAS,MAAM,EAC5B,GAED,iBAAkB,CACjB,SAAU,KACV,WAAY,SAAS,EAAU,GAC9B,IAAI,EAAO,KACX,OAAO,EAAK,iBAAiB,SAAS,EAAU,EAAO,GAEtD,OADA,EAAK,SAAW,EACT,EAAS,WAAW,EAAU,EACtC,EAAE,KAAK,KAAM,GACd,EACA,cAAe,SAAS,EAAU,GACjC,IAAI,EAAO,KACX,OAAO,EAAK,iBAAiB,SAAS,EAAU,EAAO,GAEtD,OADA,EAAK,SAAW,EACT,EAAS,cAAc,GAAU,SAAS,EAAO,GACvD,EAAG,EAAO,EAAM,WACjB,GACD,EAAE,KAAK,KAAM,GACd,GAGD,UAAW,CACV,SAAU,KACV,IAAK,SAAS,EAAU,GACvB,IAAI,EAAO,KACX,OAAO,EAAK,UAAU,SAAS,EAAU,EAAO,GAE/C,GADA,EAAK,SAAW,EACO,iBAAZ,EACN,EAAW,EAAS,MAAM,KAE/B,IAAI,EAAW,EAAK,KAAK,SAAS,mBAAoB,GACtD,OAAO,EAAS,IAAI,EAAU,EAC/B,EAAE,KAAK,KAAM,GACd,EACA,MAAO,SAAS,GACf,GAAqB,MAAjB,KAAK,SACR,MAAM,IAAI,MAAM,qBAEjB,KAAK,SAAS,OAAM,SAAS,EAAO,GACnC,EAAG,EAAO,EACX,GACD,EACA,cAAe,SAAS,EAAU,GACjC,IAAI,EAAO,KACX,OAAO,EAAK,UAAU,SAAS,EAAU,EAAO,GAE/C,GADA,EAAK,SAAW,EACO,iBAAZ,EACN,EAAW,EAAS,MAAM,KAE/B,IAAI,EAAW,EAAK,KAAK,SAAS,mBAAoB,GACtD,OAAO,EAAS,cAAc,GAAU,SAAS,EAAO,GACvD,EAAG,EAAO,CACT,YAAa,WACZ,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,kBAAkB,aAC/B,GACD,EACA,SAAU,WACT,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,cACb,GACD,EACA,SAAU,WACT,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,cACb,GACD,GAGF,GACD,EAAE,KAAK,KAAM,GACd,GAID,QAAS,CACR,SAAU,KACV,MAAO,SAAS,EAAU,EAAQ,GACjC,IAAI,EAAO,KACX,OAAO,EAAK,QAAQ,SAAS,EAAU,EAAO,GAE7C,GADA,EAAK,SAAW,EACO,iBAAZ,EACN,EAAW,EAAS,MAAM,KAE/B,IAAI,EAAe,EAAK,KAAK,SAAS,mBAAoB,GACtD,EAAc,EAAK,KAAK,SAAS,mBAAoB,GACzD,OAAO,EAAS,MAAM,EAAc,EAAa,EAClD,EAAE,KAAK,KAAM,GACd,EACA,MAAO,SAAS,GACf,GAAqB,MAAjB,KAAK,SACR,MAAM,IAAI,MAAM,qBAEjB,KAAK,SAAS,OAAM,SAAS,EAAO,GACnC,EAAG,EAAO,EACX,GACD,EACA,cAAe,SAAS,EAAU,EAAM,GACvC,IAAI,EAAO,KACX,OAAO,EAAK,QAAQ,SAAS,EAAU,EAAI,EAAO,GAEjD,GADA,EAAK,SAAW,EACO,iBAAZ,EACN,EAAW,EAAS,MAAM,KAE/B,IAAI,EAAW,EAAK,KAAK,SAAS,mBAAoB,GACtD,OAAO,EAAS,cAAc,EAAU,GAAM,SAAS,EAAO,GAC7D,EAAG,EAAO,CACT,YAAa,WACZ,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,kBAAkB,aAC/B,GACD,EACA,SAAU,WACT,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,cACb,GACD,EACA,SAAU,WACT,OAAO,EAAI,KAAI,SAAS,GACvB,OAAO,EAAK,cACb,GACD,GAGF,GACD,EAAE,KAAK,KAAM,EAAU,GACxB,GAED,OAAQ,CACP,SAAU,KACV,WAAY,SAAS,EAAU,GAC9B,IAAI,EAAO,KACX,OAAO,EAAK,OAAO,SAAS,EAAU,EAAO,GAE5C,GADA,EAAK,SAAW,EACZ,EACH,MAAM,IAAI,MAAM,GAGM,iBAAZ,IACV,EAAW,EAAS,MAAM,MAE3B,IAAI,EAAe,EAAK,KAAK,SAAS,mBAAoB,GAC1D,EAAS,WAAW,EAAc,EACnC,EAAE,KAAK,KAAM,GACd,EACA,gBAAiB,SAAS,EAAS,GAClC,IACI,EAAa,EAAK,KAAK,SAAS,SAAU,GADnC,KAEN,SAAS,gBAAgB,EAAY,EAC3C,EACA,SAAU,SAAS,EAAU,GAC5B,OAAO,EAAK,QAAO,SAAS,EAAO,GAClC,EAAS,SAAS,EAAU,EAC7B,GACD,EACA,YAAa,SAAS,EAAO,GAC5B,OAAO,EAAK,QAAO,SAAS,EAAO,GAClC,EAAS,YAAY,EAAO,EAC7B,GACD,EACA,cAAe,SAAS,EAAS,GAChC,IACI,EAAa,EAAK,KAAK,SAAS,SAAU,GADnC,KAEN,SAAS,cAAc,EAAY,EACzC,EACA,eAAgB,SAAS,EAAU,GAElC,OAAO,EAAK,OAAO,SAAS,EAAU,EAAO,GAC5C,EAAS,eAAe,GAAU,SAAS,EAAO,GACjD,IACC,IAAI,EAAQ,EAAK,WAAW,QAAQ,KAAM,IAC3C,CAAE,MAAO,GACR,OAAO,EAAG,EAAG,EAAK,WACnB,CACA,OAAO,EAAG,KAAM,EAEjB,GACD,EAAE,KAAK,KAAM,GACd,EACA,SAAU,SAAS,EAAU,GAE5B,OAAO,EAAK,OAAO,SAAS,EAAU,EAAO,GAC5C,EAAS,SAAS,GAAU,SAAS,EAAO,GAC3C,IACC,IAAI,EAAQ,EAAK,WAAW,QAAQ,KAAM,IAC3C,CAAE,MAAO,GACR,OAAO,EAAG,EAAG,EAAK,WACnB,CACA,OAAO,EAAG,KAAM,EAEjB,GACD,EAAE,KAAK,KAAM,GACd,GAGH,EACA,QAAQ,UAAU,UAAY,SAAS,GACtC,IAAI,EAAO,KACX,EAAK,KAAK,OAAO,yCACjB,EAAK,KAAK,OAAO,sCACjB,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,WAAW,SAAS,EAAK,GACrF,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,wCAAyC,GAAK,SAAS,EAAK,GACjF,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,qCAAsC,EAAO,EACpE,GACD,GACD,EACA,QAAQ,UAAU,WAAa,SAAS,GACvC,IAAI,EAAO,KAIX,OAHA,EAAK,KAAK,OAAO,+CACjB,EAAK,KAAK,OAAO,uCAEV,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,YAAY,SAAS,EAAK,GAC7F,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,8CAA+C,GAAK,SAAS,EAAK,GAC9F,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,sCAAuC,EAAO,EAC5E,GACD,GACD,EACA,QAAQ,UAAU,iBAAmB,SAAS,GAC7C,IAAI,EAAO,KACX,EAAK,KAAK,OAAO,0CACjB,EAAK,KAAK,OAAO,6CAEjB,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,kBAAkB,SAAS,EAAK,GAC5F,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,yCAA0C,GAAK,SAAS,EAAK,GAClF,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,8CAA+C,EAAO,EAC7E,GACD,GACD,EACA,QAAQ,UAAU,UAAY,SAAS,GACtC,IAAI,EAAO,KACX,EAAK,KAAK,OAAO,iCACjB,EAAK,KAAK,OAAO,oCACjB,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,WAAW,SAAS,EAAK,GACrF,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,gCAAiC,GAAK,SAAS,EAAK,GACzE,GAAI,EACH,OAAO,EAAG,GAEX,EAAK,KAAK,YAAY,mCAAoC,EAAO,EAClE,GACD,GACD,EACA,QAAQ,UAAU,QAAU,SAAS,GACpC,IAAI,EAAO,KAGX,OAFA,EAAK,KAAK,OAAO,sCACjB,EAAK,KAAK,OAAO,mCACV,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,SAAS,SAAS,EAAK,GAC1F,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,qCAAsC,GAAK,SAAS,EAAK,GACrF,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,kCAAmC,EAAO,EACxE,GACD,GACD,EACA,QAAQ,UAAU,OAAS,SAAS,GACnC,IAAI,EAAO,KAGX,OAFA,EAAK,KAAK,OAAO,oCACjB,EAAK,KAAK,OAAO,8CACV,EAAK,KAAK,YAAY,0BAA2B,EAAK,OAAO,QAAQ,SAAS,EAAK,GACzF,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,mCAAoC,GAAK,SAAS,EAAK,GACnF,OAAI,EACI,EAAG,GAEJ,EAAK,KAAK,YAAY,6CAA8C,EAAO,EACnF,GACD,GACD,EAGA,OAAO,QAAU","file":"/npm/node-opennlp@0.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/node-opennlp@0.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var extendy = require('extendy')\nvar openNLP = function(config) {\n\tvar self = this;\n\tself.java = require('java');\n\tself.models = {\n\t\tdoccat: __dirname + '/models/en-doccat.bin',\n\t\tposTagger: __dirname + '/models/en-pos-maxent.bin',\n\t\ttokenizer: __dirname + '/models/en-token.bin',\n\t\tnameFinder: __dirname + '/models/en-ner-person.bin',\n\t\tsentenceDetector: __dirname + '/models/en-sent.bin',\n\t\tchunker: __dirname + '/models/en-chunker.bin'\n\t}\n\tself.openNLP = {\n\t\tjar: __dirname + \"/lib/opennlp-tools-1.6.0.jar\"\n\t}\n\tif (config && config.models) {\n\t\textendy(self.models, config.models);\n\t}\n\tif (config && config.openNLP) {\n\t\textendy(self.openNLP, config.openNLP);\n\t}\n\tself.java.classpath.push(self.openNLP.jar);\n\tself.java.import('java.io.FileInputStream');\n\treturn {\n\t\ttokenizer: {\n\t\t\tinstance: null,\n\t\t\ttokenize: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.tokenizer(function(error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\treturn instance.tokenize(sentence, cb)\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetTokenProbabilities: function(cb) {\n\t\t\t\tif (this.instance == null) {\n\t\t\t\t\tthrow new Error('No instance found')\n\t\t\t\t}\n\t\t\t\treturn this.instance.getTokenProbabilities(cb);\n\t\t\t}\n\t\t},\n\t\tnameFinder: {\n\t\t\tinstance: null,\n\t\t\tfind: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\tvar getTokens = function(sentence, cb) {\n\t\t\t\t\tself.tokenizer(function(sentence, error, instance) {\n\t\t\t\t\t\tinstance.tokenize(sentence, cb);\n\t\t\t\t\t}.bind(null, sentence));\n\t\t\t\t}\n\t\t\t\tvar nameFinder = function(error, sentenceTokens, cb) {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\tthrow new Error('Error in loading name-finder model');\n\t\t\t\t\t}\n\t\t\t\t\tself.nameFinder(function(sentenceTokens, error, instance) {\n\t\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\t\tvar newArray = self.java.newArray(\"java.lang.String\", sentenceTokens);\n\t\t\t\t\t\treturn instance.find(newArray, function(error, response) {\n\t\t\t\t\t\t\tcb(error, response.toString());\n\t\t\t\t\t\t});\n\t\t\t\t\t}.bind(null, sentenceTokens));\n\t\t\t\t}\n\t\t\t\tif (!Array.isArray(sentence)) {\n\t\t\t\t\tgetTokens(sentence, function(error, sentenceTokens) {\n\t\t\t\t\t\tnameFinder(error, sentenceTokens, cb)\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tnameFinder(null, sentence, cb)\n\t\t\t\t}\n\t\t\t},\n\t\t\tprobs: function(cb) {\n\t\t\t\tif (this.instance == null) {\n\t\t\t\t\tthrow new Error('No instance found')\n\t\t\t\t}\n\t\t\t\treturn this.instance.probs(cb)\n\t\t\t}\n\t\t},\n\t\tsentenceDetector: {\n\t\t\tinstance: null,\n\t\t\tsentDetect: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.sentenceDetector(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\treturn instance.sentDetect(sentence, cb);\n\t\t\t\t}.bind(null, sentence));\n\t\t\t},\n\t\t\tsentPosDetect: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.sentenceDetector(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\treturn instance.sentPosDetect(sentence, function(error, spans) {\n\t\t\t\t\t\tcb(error, spans.toString())\n\t\t\t\t\t});\n\t\t\t\t}.bind(null, sentence));\n\t\t\t},\n\n\t\t},\n\t\tposTagger: {\n\t\t\tinstance: null,\n\t\t\ttag: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.posTagger(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\tif (typeof sentence == 'string') {\n\t\t\t\t\t\tvar sentence = sentence.split(' ');\n\t\t\t\t\t}\n\t\t\t\t\tvar newArray = self.java.newArray(\"java.lang.String\", sentence);\n\t\t\t\t\treturn instance.tag(newArray, cb);\n\t\t\t\t}.bind(null, sentence));\n\t\t\t},\n\t\t\tprobs: function(cb) {\n\t\t\t\tif (this.instance == null) {\n\t\t\t\t\tthrow new Error('No instance found')\n\t\t\t\t}\n\t\t\t\tthis.instance.probs(function(error, response) {\n\t\t\t\t\tcb(error, response)\n\t\t\t\t});\n\t\t\t},\n\t\t\ttopKSequences: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.posTagger(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\tif (typeof sentence == 'string') {\n\t\t\t\t\t\tvar sentence = sentence.split(' ');\n\t\t\t\t\t}\n\t\t\t\t\tvar newArray = self.java.newArray(\"java.lang.String\", sentence);\n\t\t\t\t\treturn instance.topKSequences(newArray, function(error, sec) {\n\t\t\t\t\t\tcb(error, {\n\t\t\t\t\t\t\tgetOutcomes: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getOutcomesSync().toArraySync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetProbs: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getProbsSync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetScore: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getScoreSync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t});\n\t\t\t\t}.bind(null, sentence));\n\t\t\t}\n\n\n\t\t},\n\t\tchunker: {\n\t\t\tinstance: null,\n\t\t\tchunk: function(sentence, tokens, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.chunker(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\tif (typeof sentence == 'string') {\n\t\t\t\t\t\tvar sentence = sentence.split(' ');\n\t\t\t\t\t}\n\t\t\t\t\tvar javaSentence = self.java.newArray(\"java.lang.String\", sentence);\n\t\t\t\t\tvar tokensArray = self.java.newArray(\"java.lang.String\", tokens);\n\t\t\t\t\treturn instance.chunk(javaSentence, tokensArray, cb);\n\t\t\t\t}.bind(null, sentence));\n\t\t\t},\n\t\t\tprobs: function(cb) {\n\t\t\t\tif (this.instance == null) {\n\t\t\t\t\tthrow new Error('No instance found')\n\t\t\t\t}\n\t\t\t\tthis.instance.probs(function(error, response) {\n\t\t\t\t\tcb(error, response)\n\t\t\t\t});\n\t\t\t},\n\t\t\ttopKSequences: function(sentence, tags, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.chunker(function(sentence, cb, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\tif (typeof sentence == 'string') {\n\t\t\t\t\t\tvar sentence = sentence.split(' ');\n\t\t\t\t\t}\n\t\t\t\t\tvar newArray = self.java.newArray(\"java.lang.String\", sentence);\n\t\t\t\t\treturn instance.topKSequences(newArray, tags, function(error, sec) {\n\t\t\t\t\t\tcb(error, {\n\t\t\t\t\t\t\tgetOutcomes: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getOutcomesSync().toArraySync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetProbs: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getProbsSync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetScore: function() {\n\t\t\t\t\t\t\t\treturn sec.map(function(item) {\n\t\t\t\t\t\t\t\t\treturn item.getScoreSync();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\n\t\t\t\t\t});\n\t\t\t\t}.bind(null, sentence, cb));\n\t\t\t}\n\t\t},\n\t\tdoccat: {\n\t\t\tinstance: null,\n\t\t\tcategorize: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.doccat(function(sentence, error, instance) {\n\t\t\t\t\tthat.instance = instance;\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\tthrow new Error(error)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof sentence == 'string') {\n\t\t\t\t\t\tsentence = sentence.split(' ');\n\t\t\t\t\t}\n\t\t\t\t\tvar javaSentence = self.java.newArray(\"java.lang.String\", sentence);\n\t\t\t\t\tinstance.categorize(javaSentence, cb);\n\t\t\t\t}.bind(null, sentence));\n\t\t\t},\n\t\t\tgetBestCategory: function(outcome, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\tvar javaDouble = self.java.newArray(\"double\", outcome);\n\t\t\t\tthat.instance.getBestCategory(javaDouble, cb);\n\t\t\t},\n\t\t\tgetIndex: function(category, cb) {\n\t\t\t\treturn self.doccat(function(error, instance) {\n\t\t\t\t\tinstance.getIndex(category, cb);\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetCategory: function(index, cb) {\n\t\t\t\treturn self.doccat(function(error, instance) {\n\t\t\t\t\tinstance.getCategory(index, cb)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetAllResults: function(outcome, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\tvar javaDouble = self.java.newArray(\"double\", outcome);\n\t\t\t\tthat.instance.getAllResults(javaDouble, cb);\n\t\t\t},\n\t\t\tsortedScoreMap: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.doccat(function(sentence, error, instance) {\n\t\t\t\t\tinstance.sortedScoreMap(sentence, function(error, hash) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar json = (hash.toString().replace(/=/g, ':'));\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treturn cb(e, hash.toString())\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn cb(null, json)\n\n\t\t\t\t\t});\n\t\t\t\t}.bind(null, sentence))\n\t\t\t},\n\t\t\tscoreMap: function(sentence, cb) {\n\t\t\t\tvar that = this;\n\t\t\t\treturn self.doccat(function(sentence, error, instance) {\n\t\t\t\t\tinstance.scoreMap(sentence, function(error, hash) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar json = (hash.toString().replace(/=/g, ':'));\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treturn cb(e, hash.toString())\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn cb(null, json)\n\n\t\t\t\t\t});\n\t\t\t\t}.bind(null, sentence))\n\t\t\t},\n\t\t}\n\t}\n};\nopenNLP.prototype.tokenizer = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.tokenize.TokenizerModel')\n\tself.java.import('opennlp.tools.tokenize.TokenizerME');\n\tself.java.newInstance('java.io.FileInputStream', self.models.tokenizer, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\tself.java.newInstance('opennlp.tools.tokenize.TokenizerModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\tself.java.newInstance('opennlp.tools.tokenize.TokenizerME', model, cb)\n\t\t})\n\t});\n};\nopenNLP.prototype.nameFinder = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.namefind.TokenNameFinderModel');\n\tself.java.import('opennlp.tools.namefind.NameFinderME');\n\n\treturn self.java.newInstance('java.io.FileInputStream', self.models.nameFinder, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\treturn self.java.newInstance('opennlp.tools.namefind.TokenNameFinderModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\treturn self.java.newInstance('opennlp.tools.namefind.NameFinderME', model, cb);\n\t\t});\n\t})\n};\nopenNLP.prototype.sentenceDetector = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.sentdetect.SentenceModel');\n\tself.java.import('opennlp.tools.sentdetect.SentenceDetector');\n\n\tself.java.newInstance('java.io.FileInputStream', self.models.sentenceDetector, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\tself.java.newInstance('opennlp.tools.sentdetect.SentenceModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\tself.java.newInstance('opennlp.tools.sentdetect.SentenceDetectorME', model, cb)\n\t\t})\n\t});\n};\nopenNLP.prototype.posTagger = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.postag.POSModel')\n\tself.java.import('opennlp.tools.postag.POSTaggerME')\n\tself.java.newInstance('java.io.FileInputStream', self.models.posTagger, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\tself.java.newInstance('opennlp.tools.postag.POSModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\tself.java.newInstance('opennlp.tools.postag.POSTaggerME', model, cb)\n\t\t})\n\t});\n};\nopenNLP.prototype.chunker = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.chunker.ChunkerModel')\n\tself.java.import('opennlp.tools.chunker.ChunkerME')\n\treturn self.java.newInstance('java.io.FileInputStream', self.models.chunker, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\treturn self.java.newInstance('opennlp.tools.chunker.ChunkerModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\treturn self.java.newInstance('opennlp.tools.chunker.ChunkerME', model, cb)\n\t\t});\n\t});\n};\nopenNLP.prototype.doccat = function(cb) {\n\tvar self = this;\n\tself.java.import('opennlp.tools.doccat.DoccatModel')\n\tself.java.import('opennlp.tools.doccat.DocumentCategorizerME');\n\treturn self.java.newInstance('java.io.FileInputStream', self.models.doccat, function(err, fis) {\n\t\tif (err) {\n\t\t\treturn cb(err);\n\t\t}\n\t\treturn self.java.newInstance('opennlp.tools.doccat.DoccatModel', fis, function(err, model) {\n\t\t\tif (err) {\n\t\t\t\treturn cb(err);\n\t\t\t}\n\t\t\treturn self.java.newInstance('opennlp.tools.doccat.DocumentCategorizerME', model, cb)\n\t\t})\n\t});\n};\n\n\nmodule.exports = openNLP;\n"]}