export function createElement(type: string, config: object, ...args: any[]) { const props: IProps = Object.assign({}, config); const hasChildren = args.length > 0; const rawChildren = hasChildren ? [].concat(...args) : []; props.children = rawChildren .filter((c) => c != null && c !== false) .map((c: any) => c instanceof Object ? c : createTextElement(c)); return { type, props }; }
(process.env.NODE_PATH || '') .split(path.delimiter) .filter(folder => folder && !path.isAbsolute(folder)) .map(folder => path.resolve(appDirectory, folder)) .join(path.delimiter)
/** * {{> grabNumberOfVisibleElements }} */ async grabNumberOfVisibleElements(locator) { const res = await this._locate(locator); let selected = await forEachAsync(res.value, async el => this.browser.elementIdDisplayed(el.ELEMENT)); if (!Array.isArray(selected)) selected = [selected]; selected = selected.filter(val => val === true); return selected.length; }
render() { this.clear(); let prefix = this.style(this.symbols.prefix[this.state.status]); let msg = this.styles.strong(this.state.message); let sep = this.styles.muted(this.symbols.separator[this.state.status]); let prompt = [prefix, msg, sep].filter(Boolean).join(' '); this.write(prompt + ' ' + this.input); }
/** * @description Search elements as getElementsByTagName with regex instead of string. * @param {Object} container - Element where execute research. * @param {RegExp} regex - Regex to search. * @returns {Array} Elements that match with regex. * @example * getElementsByTagRegex(document, /(cal:)?calendar-data/) */ function getElementsByTagRegex(container, regex) { return Array.from(container.getElementsByTagName('*')).filter((elem) => regex.test(elem.tagName)); }
// see: https://github.com/gatsbyjs/gatsby/issues/1634#issuecomment-388899348 Object.keys(fieldsToAdd) .filter(key => fieldsToAdd[key] !== undefined || fieldsToAdd[key] !== null) .forEach(key => { createNodeField({ node, name: key, value: fieldsToAdd[key], }); });
function completer(line) { const I = container.support('I'); const completions = methodsOfObject(I); const hits = completions.filter((c) => { if (c.indexOf(line) === 0) { return c; } return null; }); return [hits && hits.length ? hits : completions, line]; }
(Array.isArray(data) ? data : [data]) .filter(item => item) .map((item, index) => ( <Fragment key={item.id}> {!!index ? ', ' : ''} <Link path={fullPath} item={item}> {item._label_} </Link> </Fragment> ))
providers.reduce((memo, provider) => { if (!authData[provider]) { return memo; } const queryKey = `authData.${provider}.id`; const query = {}; query[queryKey] = authData[provider].id; memo.push(query); return memo; }, []).filter(q => { return typeof q !== 'undefined'; })
export default function buildUrl(...paths) { const url = new URL( paths .map(p => p && (p + '').trim()) // Trim each string .filter(Boolean) // Remove empty strings or other falsy paths .join('/') ); // Replace 2+ consecutive slashes with 1. (e.g. `///` --> `/`) url.set('pathname', url.pathname.replace(/\/{2,}/g, '/')); return url.href; }
async _getFunctionNames() { return await (0, _triggers.getFunctionNames)(this.appId).filter(functionName => { if (/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(functionName)) { return true; } else { this.log.warn(`Function ${functionName} could not be added to the auto schema because GraphQL names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/.`); return false; } }); }
// Error enhancements program .option( '--show-error-stack [json|string]', 'show JavaScript error stacks in the GraphQL result errors (recommended in development)', ) .option( '--extended-errors <string>', "a comma separated list of extended Postgres error fields to display in the GraphQL result. Recommended in development: 'hint,detail,errcode'. Default: none", (option: string) => option.split(',').filter(_ => _), );
Object.keys({ ...deps1, ...deps2 }) .filter(name => /remark-(?!cli$)/.test(name)) .map(name => ({ fn: require(name), pkg: require(`${name}/package.json`) }))
(process.env.NODE_PATH || '') .split(path.delimiter) .filter(folder => folder && !path.isAbsolute(folder)) .map(folder => path.resolve(appDirectory, folder)) .join(path.delimiter)
/** * @description Search elements as getElementsByTagName with regex instead of string. * @param {Object} container - Element where execute research. * @param {RegExp} regex - Regex to search. * @returns {Array} Elements that match with regex. * @example * getElementsByTagRegex(document, /(cal:)?calendar-data/) */ function getElementsByTagRegex(container, regex) { return Array.from(container.getElementsByTagName('*')).filter((elem) => regex.test(elem.tagName)); }