UNPKG

ran-boilerplate

Version:

React . Apollo (GraphQL) . Next.js Toolkit

63 lines (61 loc) 2.08 kB
"use strict"; /** * Copyright 2017 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); var constants_1 = require("./constants"); /** * Returns navigator.userAgent string or '' if it's not defined. * @return {string} user agent string */ exports.getUA = function () { if (typeof navigator !== 'undefined' && typeof navigator['userAgent'] === 'string') { return navigator['userAgent']; } else { return ''; } }; /** * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device. * * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap in the Ripple emulator) nor * Cordova `onDeviceReady`, which would normally wait for a callback. * * @return {boolean} isMobileCordova */ exports.isMobileCordova = function () { return (typeof window !== 'undefined' && !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) && /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(exports.getUA())); }; /** * Detect React Native. * * @return {boolean} True if ReactNative environment is detected. */ exports.isReactNative = function () { return (typeof navigator === 'object' && navigator['product'] === 'ReactNative'); }; /** * Detect Node.js. * * @return {boolean} True if Node.js environment is detected. */ exports.isNodeSdk = function () { return constants_1.CONSTANTS.NODE_CLIENT === true || constants_1.CONSTANTS.NODE_ADMIN === true; }; //# sourceMappingURL=environment.js.map