Sha256: 745a7eccdf065a8e81dceaa158da72a6d3f61995aa9cfa1728401bd9714abb6a

Contents?: true

Size: 809 Bytes

Versions: 10

Compression:

Stored size: 809 Bytes

Contents

"use strict";

const getErrorFor = (shouldBeAbsolute, data, schema) => {
	const message = shouldBeAbsolute ?
		`The provided value ${JSON.stringify(data)} is not an absolute path!`
		: `A relative path is expected. However the provided value ${JSON.stringify(data)} is an absolute path!`;

	return {
		keyword: "absolutePath",
		params: { absolutePath: data },
		message: message,
		parentSchema: schema,
	};
};
module.exports = (ajv) => ajv.addKeyword("absolutePath", {
	errors: true,
	type: "string",
	compile(expected, schema) {
		function callback(data) {
			const passes = expected === /^(?:[A-Za-z]:\\|\/)/.test(data);
			if(!passes) {
				callback.errors = [getErrorFor(expected, data, schema)];
			}
			return passes;
		}
		callback.errors = [];
		return callback;
	}
});

Version data entries

10 entries across 6 versions & 3 rubygems

Version Path
ilog-0.4.1 node_modules/webpack/schemas/ajv.absolutePath.js
ilog-0.4.0 node_modules/webpack/schemas/ajv.absolutePath.js
ilog-0.3.3 node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.3 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.3 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.3 spec/dummy/node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.2 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.2 spec/dummy/node_modules/webpack/schemas/ajv.absolutePath.js
optimacms-0.4.2 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/schemas/ajv.absolutePath.js
cortex-0.1.3 spec/dummy/node_modules/webpack/schemas/ajv.absolutePath.js