UNPKG

@swrve/smarttv-sdk

Version:

Swrve marketing engagement platform SDK for SmartTV OTT devices

40 lines (39 loc) 1.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const base_1 = __importDefault(require("./platforms/base")); const tizen_1 = __importDefault(require("./platforms/tizen")); const webos_1 = __importDefault(require("./platforms/webos")); class PAL { /** * determine the platform and returns Platform object * @param {string} [explicitPlatform] - force platform name */ static getPlatform(config, explicitPlatform) { if (PAL.platform !== undefined) { return PAL.platform; } const agent = (navigator !== undefined && navigator !== null) ? navigator.userAgent : "Base"; if (agent.search(/Tizen/) > -1 || (explicitPlatform !== undefined && explicitPlatform !== null && explicitPlatform.toLowerCase() === "samsung-tizen")) { PAL.platform = (config !== undefined) ? new tizen_1.default(config) : new tizen_1.default(); } else if (agent.search(/web0s/i) > -1 || (explicitPlatform !== undefined && explicitPlatform !== null && explicitPlatform.toLowerCase() === "webos")) { PAL.platform = (config !== undefined) ? new webos_1.default(config) : new webos_1.default(); } else { PAL.platform = (config !== undefined) ? new base_1.default(config) : new base_1.default(); } return PAL.platform; } } exports.default = PAL; var navigation_1 = require("./platforms/navigation"); Object.defineProperty(exports, "Navigation", { enumerable: true, get: function () { return navigation_1.default; } });