UNPKG

create-locator

Version:

Creates HTML element locators for tests 📌

59 lines (58 loc) • 2.19 kB
'use strict'; exports.anyLocator = undefined; exports.createLocator = undefined; exports.createRootLocator = undefined; exports.getLocatorParameters = undefined; exports.removeMarkFromProperties = undefined; exports.setGlobalProductionMode = undefined; exports.createSimpleLocator = undefined; /** * Creates locator function by locator options. */ const createSimpleLocator = exports.createSimpleLocator = ({ attributesOptions, isProduction, }) => { var emptyLocator = {}; if (isProduction) { return { getTestId: () => '', locator: () => emptyLocator }; } var { parameterAttributePrefix, testIdAttribute, testIdSeparator } = attributesOptions; var getTestId = (...args) => { var parts = []; for (var index = 0; index < args.length; index += 1) { var arg = args[index]; if (arg == null) { return ''; } if (index === args.length - 1 && typeof arg === 'object') { return parts.join(testIdSeparator); } var part = String(arg); if (part === '') { return ''; } parts.push(part); } return parts.join(testIdSeparator); }; var locator = (...args) => { var testId = getTestId(...args); if (testId === '') { return emptyLocator; } var locator = { [testIdAttribute]: testId }; var parameters = args[args.length - 1]; if (parameters !== null && typeof parameters === 'object') { for (var name of Object.keys(parameters)) { var value = parameters[name]; if (value != null) { locator[parameterAttributePrefix + name] = String(value); } } } return locator; }; return { getTestId, locator }; }; { const { anyLocator, createLocator, createRootLocator, getLocatorParameters, removeMarkFromProperties, setGlobalProductionMode, } = require('./oldApi.cjs'); Object.assign(exports, {anyLocator, createLocator, createRootLocator, getLocatorParameters, removeMarkFromProperties, setGlobalProductionMode}); };