@qaflag/core
Version:
Base requirements for the QA Flag library
110 lines • 3.55 kB
JavaScript
;
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