suitest-js-api
Version:
Suitest is a test automation and device manipulation tool for living room devices and web browsers.
113 lines (107 loc) • 4.53 kB
JavaScript
const BORDER_STYLE = require('../constants/borderStyle');
const VIDEO_STATE = require('../constants/videoState');
const VISIBILITY_STATE = require('../constants/visibilityState');
const CONTENT_MODE = require('../constants/contentMode');
const ELEMENT_STATE = require('../constants/elementState');
const TEXT_ALIGNMENT = require('../constants/textAlignment');
const IMAGE_LOAD_STATE = require('../constants/imageLoadState');
const {ELEMENT_PROP} = require('../constants/element');
const {valuesToString} = require('../utils/stringUtils');
const ELEMENT_PROP_TYPES = {
[]: 'number',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: `enum [${valuesToString(BORDER_STYLE)}]`,
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'number',
[]: 'string',
[]: 'boolean',
[]: 'number',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'string',
[]: 'number',
[]: 'string',
[]: 'string',
[]: 'number',
[]: 'string',
[]: 'string',
[]: 'number',
[]: 'number',
[]: 'number',
[]: 'number',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'number',
[]: 'number',
[]: 'number',
[]: 'number',
[]: 'string',
[]: 'integer',
[]: 'integer',
[]: `enum [${valuesToString(VIDEO_STATE)}]`,
[]: 'string',
[]: `enum [${valuesToString(VISIBILITY_STATE)}]`,
[]: 'number',
[]: 'integer',
[]: 'string',
[]: 'string',
[]: `enum [${valuesToString(CONTENT_MODE)}]`,
[]: 'string',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'boolean',
[]: 'integer',
[]: 'string',
[]: 'string',
[]: 'string',
[]: 'string',
[]: `enum [${valuesToString(ELEMENT_STATE)}]`,
[]: `enum [${valuesToString(TEXT_ALIGNMENT)}]`,
[]: `enum [${valuesToString(IMAGE_LOAD_STATE)}]`,
[]: 'number',
[]: 'integer',
[]: 'string',
[]: 'number',
[]: 'integer',
[]: 'integer',
[]: 'string',
[]: 'integer',
[]: 'string',
[]: 'string',
[]: 'integer',
[]: 'number',
[]: 'number',
};
Object.freeze(ELEMENT_PROP_TYPES);
// Create map by value type, eg: {'integer': [ELEMENT_PROP.WIDTH]}
const ELEMENT_PROP_BY_TYPE = Object.getOwnPropertyNames(ELEMENT_PROP_TYPES).reduce((map, s) => ({
...map,
[]]: map[ELEMENT_PROP_TYPES[s]] ? [...map[ELEMENT_PROP_TYPES[s]], s] : [s],
}), {});
Object.freeze(ELEMENT_PROP_BY_TYPE);
module.exports = {
ELEMENT_PROP_TYPES,
ELEMENT_PROP_BY_TYPE,
};