UNPKG

@qaflag/core

Version:

Base requirements for the QA Flag library

110 lines 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Browser = exports.Safari = exports.Edge = exports.Firefox = exports.Chrome = exports.Screen = exports.TouchScreen = exports.Portrait = exports.Landscape = exports.OS = exports.Android = exports.iOS = exports.Mac = exports.Windows = exports.Speaker = exports.Tv = exports.Tablet = exports.Desktop = exports.Laptop = exports.Phone = void 0; const defaultScreenSize = { laptop: [1280, 720], desktop: [1920, 1080], tv: [3840, 2160], phone: [926, 428], tablet: [1024, 768], speaker: [0, 0], }; const defaultInputs = { laptop: ['mouse', 'keyboard'], desktop: ['mouse', 'keyboard'], tv: ['remote'], phone: ['touch', 'keyboard'], tablet: ['touch', 'keyboard'], speaker: ['microphone'], }; const defaultOutputs = { laptop: ['screen', 'printer', 'speaker'], desktop: ['screen', 'printer', 'speaker'], tv: ['screen', 'speaker'], phone: ['screen', 'speaker'], tablet: ['screen', 'speaker'], speaker: ['speaker'], }; exports.Phone = { deviceType: 'phone', screenSize: defaultScreenSize['phone'], deviceInputs: defaultInputs['phone'], deviceOutputs: defaultOutputs['phone'], isPortraitMode: true, }; const Laptop = () => ({ deviceType: 'laptop', screenSize: defaultScreenSize['laptop'], deviceInputs: defaultInputs['laptop'], deviceOutputs: defaultOutputs['laptop'], }); exports.Laptop = Laptop; const Desktop = () => ({ deviceType: 'desktop', screenSize: defaultScreenSize['desktop'], deviceInputs: defaultInputs['desktop'], deviceOutputs: defaultOutputs['desktop'], }); exports.Desktop = Desktop; const Tablet = () => ({ deviceType: 'tablet', screenSize: defaultScreenSize['tablet'], deviceInputs: defaultInputs['tablet'], deviceOutputs: defaultOutputs['tablet'], }); exports.Tablet = Tablet; const Tv = () => ({ deviceType: 'tv', screenSize: defaultScreenSize['tv'], deviceInputs: defaultInputs['tv'], deviceOutputs: defaultOutputs['tv'], }); exports.Tv = Tv; const Speaker = () => ({ deviceType: 'speaker', screenSize: defaultScreenSize['speaker'], deviceInputs: defaultInputs['speaker'], deviceOutputs: defaultOutputs['speaker'], }); exports.Speaker = Speaker; const Windows = () => (0, exports.OS)('windows'); exports.Windows = Windows; const Mac = () => (0, exports.OS)('mac'); exports.Mac = Mac; const iOS = () => (0, exports.OS)('ios'); exports.iOS = iOS; const Android = () => (0, exports.OS)('android'); exports.Android = Android; const OS = (type) => ({ os: { type }, }); exports.OS = OS; exports.Landscape = { isPortraitMode: false, }; exports.Portrait = { isPortraitMode: true, }; const TouchScreen = (width, height, mode) => (Object.assign({ deviceInputs: ['touch'] }, (0, exports.Screen)(width, height, mode))); exports.TouchScreen = TouchScreen; const Screen = (width, height, mode = 'landscape') => ({ deviceOutputs: ['screen'], screenSize: [width, height], isPortraitMode: mode == 'portrait', }); exports.Screen = Screen; const Chrome = () => (0, exports.Browser)('chrome'); exports.Chrome = Chrome; const Firefox = () => (0, exports.Browser)('firefox'); exports.Firefox = Firefox; const Edge = () => (0, exports.Browser)('msedge'); exports.Edge = Edge; const Safari = () => (0, exports.Browser)('safari'); exports.Safari = Safari; const Browser = (product) => ({ browser: { product, }, }); exports.Browser = Browser; //# sourceMappingURL=device.js.map