UNPKG

@omneedia/client-js

Version:

Isomorphic Javascript client for Omneedia

58 lines 2.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const socket_io_client_1 = require("socket.io-client"); const db_1 = __importDefault(require("./lib/db")); const realtime_1 = __importDefault(require("./lib/realtime")); const auth_1 = __importDefault(require("./lib/auth")); const request_1 = __importDefault(require("./lib/request")); const prefix_1 = __importDefault(require("./env/prefix")); class OmneediaClient { headers() { return { 'Content-Type': 'application/json', Authorization: 'Basic ' + this.KEY, apikey: this.KEY, }; } constructor(omneediaUrl, omneediaKey, options) { this.omneediaUrl = omneediaUrl; this.omneediaKey = omneediaKey; this.PREFIX = prefix_1.default; this.KEY = ''; this.URI = ''; this.socket = null; if (!omneediaUrl) throw new Error('omneediaUrl is required.'); if (!omneediaKey) throw new Error('omneediaKey is required.'); this.URI = omneediaUrl; this.KEY = omneediaKey; this.request = new request_1.default(this); this.auth = new auth_1.default(this, options); this.options = options; } from(table) { return new db_1.default(table, this); } channel(channel) { this.socket = (0, socket_io_client_1.io)(String(this.URI), { path: this.PREFIX.REALTIME, withCredentials: true, extraHeaders: { apikey: `${this.KEY}`, Authorization: `Bearer ${this.KEY}`, }, }); this.socket.on('connect_error', function (e) { if (e.description == 401) throw `Invalid authentication credentials (401)`; throw `unhandled exception`; }); return new realtime_1.default(channel, this); } } exports.default = OmneediaClient; //# sourceMappingURL=OmneediaClient.js.map