Uname:Linux mail.sarafai.ru 6.1.0-43-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.162-1 (2026-02-08) x86_64

403WebShell
403Webshell
Server IP : 82.148.16.210  /  Your IP : 216.73.216.244
Web Server : nginx/1.29.5
System : Linux mail.sarafai.ru 6.1.0-43-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.162-1 (2026-02-08) x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /srv/projects/env4/src/dev/frontend3/node_modules/table/node_modules/eslint-plugin-ava/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /srv/projects/env4/src/dev/frontend3/node_modules/table/node_modules/eslint-plugin-ava/util.js
'use strict';
const path = require('path');
const pkgDir = require('pkg-dir');
const resolveFrom = require('resolve-from');
const pkg = require('./package');

exports.loadAvaHelper = (filename, overrides) => {
	const rootDir = pkgDir.sync(filename);
	if (!rootDir) {
		return undefined;
	}

	const avaHelperPath = resolveFrom.silent(rootDir, 'ava/eslint-plugin-helper');
	if (!avaHelperPath) {
		return undefined;
	}

	const avaHelper = require(avaHelperPath);
	return avaHelper.load(rootDir, overrides);
};

const functionExpressions = new Set([
	'FunctionExpression',
	'ArrowFunctionExpression'
]);

exports.getRootNode = node => {
	if (node.object.type === 'MemberExpression') {
		return exports.getRootNode(node.object);
	}

	return node;
};

exports.getNameOfRootNodeObject = node => {
	return exports.getRootNode(node).object.name;
};

exports.isPropertyUnderContext = node => {
	return exports.getRootNode(node).property.name === 'context';
};

exports.isFunctionExpression = node => node && functionExpressions.has(node.type);

function getTestModifiers(node) {
	if (node.type === 'CallExpression') {
		return getTestModifiers(node.callee);
	}

	if (node.type === 'MemberExpression') {
		return getTestModifiers(node.object).concat(node.property);
	}

	return [];
}

exports.getTestModifiers = getTestModifiers;

exports.getTestModifier = (node, mod) => {
	return getTestModifiers(node).find(property => property.name === mod);
};

exports.removeTestModifier = parameters => {
	const modifier = parameters.modifier.trim();
	const range = exports.getTestModifier(parameters.node, modifier).range.slice();
	const replacementRegExp = new RegExp(`\\.|${modifier}`, 'g');
	const source = parameters.context.getSourceCode().getText();
	let dotPosition = range[0] - 1;
	while (source.charAt(dotPosition) !== '.') {
		dotPosition -= 1;
	}

	let snippet = source.slice(dotPosition, range[1]);
	snippet = snippet.replace(replacementRegExp, '');
	return [[dotPosition, range[1]], snippet];
};

const getMembers = node => {
	const {name} = node.property;

	if (node.object.type === 'MemberExpression') {
		return getMembers(node.object).concat(name);
	}

	return [name];
};

exports.getMembers = getMembers;

const repoUrl = 'https://github.com/avajs/eslint-plugin-ava';

const getDocsUrl = (filename, commitHash) => {
	const ruleName = path.basename(filename, '.js');
	commitHash = commitHash || `v${pkg.version}`;
	return `${repoUrl}/blob/${commitHash}/docs/rules/${ruleName}.md`;
};

exports.getDocsUrl = getDocsUrl;

const assertionMethodsNumberArguments = new Map([
	['assert', 1],
	['deepEqual', 2],
	['fail', 0],
	['false', 1],
	['falsy', 1],
	['ifError', 1],
	['is', 2],
	['like', 2],
	['not', 2],
	['notDeepEqual', 2],
	['notRegex', 2],
	['notThrows', 1],
	['notThrowsAsync', 1],
	['pass', 0],
	['regex', 2],
	['snapshot', 1],
	['throws', 1],
	['throwsAsync', 1],
	['true', 1],
	['truthy', 1],
	['try', 1]
]);

const assertionMethodNames = [...assertionMethodsNumberArguments.keys()];

exports.assertionMethodsNumArguments = assertionMethodsNumberArguments;
exports.assertionMethods = new Set(assertionMethodNames);
exports.executionMethods = new Set(assertionMethodNames.concat(['end', 'plan', 'log', 'teardown', 'timeout']));

Youez - 2016 - github.com/yon3zu
LinuXploit