UNPKG

fme-twitter

Version:

Twitter module for aggregating twitter data

95 lines 3.74 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const fme_logger_1 = require("fme-logger"); var L = new fme_logger_1.Log("score"); const synonyms = require("synonyms"); class Score { constructor() { this.synonyms = []; this.score = 0; } } exports.Score = Score; class WordScore { constructor(db) { this.getWord = (word) => { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { try { var rtn = yield this.collection.find({ $or: [{ word: word }, { synonyms: { $contains: word } }] }).toArray(); } catch (err) { L.error(err); reject(err); return; } resolve(rtn); })); }; this.get = (word) => { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { try { var rtn = yield this.collection.find({ $or: [{ word: word }, { synonyms: { $contains: word } }] }).toArray(); } catch (err) { L.error(err); reject(err); return; } if (!rtn[0]) var score = 0; else score = rtn[0].score; resolve(score); })); }; this.add = (word) => { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { var others = synonyms(word); try { var score = new Score(); score.word = word; if (others) { if (others.n) score.synonyms.push(...others.n); if (others.v) score.synonyms.push(...others.v); } var rtn = yield this.collection.update({ word: word }, score, { upsert: true }); } catch (err) { L.error(err); reject(err); return; } resolve(score); })); }; this.load = (words) => __awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { try { for (var i in words) { var word = words[i]; yield this.add(word); } } catch (err) { L.error(err); reject(err); return; } resolve(); })); }); this.collection = db.collection("wordScore"); } } exports.WordScore = WordScore; //# sourceMappingURL=score.js.map