UNPKG

angular-chat-widget-rasa

Version:

A chatbot widget that is able to connect to a rasa chatbot using SocketIO

107 lines 6.45 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import io from 'socket.io-client'; import { Observable } from 'rxjs/Observable'; import * as i0 from "@angular/core"; var ChatService = /** @class */ (function () { function ChatService() { var _this = this; this.getMessages = (/** * @return {?} */ function () { return Observable.create((/** * @param {?} observer * @return {?} */ function (observer) { _this.socket.on('bot_uttered', (/** * @param {?} message * @return {?} */ function (message) { observer.next(message); })); })); }); } /** * @param {?} url * @return {?} */ ChatService.prototype.connect = /** * @param {?} url * @return {?} */ function (url) { var _this = this; this.socket = io(url); this.socket.on('connect', (/** * @return {?} */ function () { _this.socket.emit('session_request', { 'session_id': _this.socket.id }); })); this.socket.on('session_confirm', (/** * @param {?} remote_id * @return {?} */ function (remote_id) { })); this.socket.on('connect_error', (/** * @param {?} error * @return {?} */ function (error) { console.log(error); })); this.socket.on('error', (/** * @param {?} error * @return {?} */ function (error) { console.log(error); })); this.socket.on('disconnect', (/** * @param {?} reason * @return {?} */ function (reason) { console.log(reason); })); }; /** * @param {?} message * @return {?} */ ChatService.prototype.sendMessage = /** * @param {?} message * @return {?} */ function (message) { this.socket.emit('user_uttered', { 'message': message }); }; ChatService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ ChatService.ctorParameters = function () { return []; }; /** @nocollapse */ ChatService.ngInjectableDef = i0.defineInjectable({ factory: function ChatService_Factory() { return new ChatService(); }, token: ChatService, providedIn: "root" }); return ChatService; }()); export { ChatService }; if (false) { /** * @type {?} * @private */ ChatService.prototype.socket; /** @type {?} */ ChatService.prototype.getMessages; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdGJvdC1yYXNhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWNoYXQtd2lkZ2V0LXJhc2EvIiwic291cmNlcyI6WyJsaWIvY2hhdGJvdC1yYXNhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU3QztJQU9FO1FBQUEsaUJBRUM7UUEwQk0sZ0JBQVc7OztRQUFHO1lBQ2YsT0FBTyxVQUFVLENBQUMsTUFBTTs7OztZQUFDLFVBQUMsUUFBUTtnQkFDOUIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsYUFBYTs7OztnQkFBRSxVQUFDLE9BQU87b0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsRUFBQyxDQUFDO1lBQ1AsQ0FBQyxFQUFDLENBQUM7UUFDVCxDQUFDLEVBQUE7SUFoQ0QsQ0FBQzs7Ozs7SUFFTSw2QkFBTzs7OztJQUFkLFVBQWUsR0FBVztRQUExQixpQkFrQkM7UUFqQkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUzs7O1FBQUU7WUFDeEIsS0FBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxZQUFZLEVBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBQ3BFLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsaUJBQWlCOzs7O1FBQUUsVUFBQyxTQUFTO1FBQzVDLENBQUMsRUFBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBZTs7OztRQUFFLFVBQUMsS0FBSztZQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTzs7OztRQUFFLFVBQUMsS0FBSztZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWTs7OztRQUFFLFVBQUMsTUFBTTtZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxpQ0FBVzs7OztJQUFsQixVQUFtQixPQUFPO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O2dCQWpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztzQkFORDtDQThDQyxBQTFDRCxJQTBDQztTQXZDWSxXQUFXOzs7Ozs7SUFFdEIsNkJBQWU7O0lBOEJmLGtDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGlvIGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMvT2JzZXJ2YWJsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXRTZXJ2aWNlIHtcblxuICBwcml2YXRlIHNvY2tldDtcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG5cbiAgcHVibGljIGNvbm5lY3QodXJsOiBzdHJpbmcpe1xuICAgIHRoaXMuc29ja2V0ID0gaW8odXJsKTtcbiAgICB0aGlzLnNvY2tldC5vbignY29ubmVjdCcsICgpID0+IHtcbiAgICAgIHRoaXMuc29ja2V0LmVtaXQoJ3Nlc3Npb25fcmVxdWVzdCcsIHsnc2Vzc2lvbl9pZCc6dGhpcy5zb2NrZXQuaWR9KVxuICAgIH0pO1xuICAgIHRoaXMuc29ja2V0Lm9uKCdzZXNzaW9uX2NvbmZpcm0nLCAocmVtb3RlX2lkKSA9PiB7XG4gICAgfSlcbiAgICB0aGlzLnNvY2tldC5vbignY29ubmVjdF9lcnJvcicsIChlcnJvcikgPT4ge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5vbignZGlzY29ubmVjdCcsIChyZWFzb24pID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKHJlYXNvbik7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZE1lc3NhZ2UobWVzc2FnZSkge1xuICAgIHRoaXMuc29ja2V0LmVtaXQoJ3VzZXJfdXR0ZXJlZCcsIHsnbWVzc2FnZSc6bWVzc2FnZX0pO1xuICB9XG5cbiAgcHVibGljIGdldE1lc3NhZ2VzID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNvY2tldC5vbignYm90X3V0dGVyZWQnLCAobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQobWVzc2FnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==