Blame view

node_modules/webpack/schemas/ajv.absolutePath.js 780 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  "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;
  	}
  });