UNPKG

nodeswork-helloworld

Version:
79 lines (77 loc) 2.74 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); const kiws = require("@nodeswork/kiws"); const applet = require("@nodeswork/applet"); const logger = require("@nodeswork/logger"); const htmlToText = require("html-to-text"); const randomQuote = require('random-quote'); const LOG = logger.getLogger(); let QuoteWorker = class QuoteWorker { async quote() { const result = { status: 'ok', }; const quote = (await randomQuote())[0]; const textContent = htmlToText.fromString(quote.content); result.quote = quote; result.textContent = textContent; if (this.twitter == null) { result.status = 'No twitter account'; } else { try { result.tweetRespose = await this.twitter.tweet({ status: textContent, }); } catch (e) { result.status = 'tweet failed'; result.err = JSON.parse(JSON.stringify(e)); } } LOG.info('quote is executed', result); return result; } }; __decorate([ kiws.Input(), __metadata("design:type", applet.TwitterAccount) ], QuoteWorker.prototype, "twitter", void 0); __decorate([ applet.Worker({ name: 'Quote', schedule: '0 0 8 * * *', default: true, }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], QuoteWorker.prototype, "quote", null); QuoteWorker = __decorate([ applet.WorkerProvider({}) ], QuoteWorker); let QuoteModule = class QuoteModule { constructor() { } }; QuoteModule = __decorate([ applet.Module({ workers: [ QuoteWorker, ], providers: [ applet.TwitterAccount, ], }), __metadata("design:paramtypes", []) ], QuoteModule); applet.bootstrap(QuoteModule); //# sourceMappingURL=index.js.map