⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
webpack
/
schemas
/
View File Name :
ajv.absolutePath.js
"use strict"; const errorMessage = (schema, data, message) => ({ keyword: "absolutePath", params: { absolutePath: data }, message: message, parentSchema: schema }); 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 errorMessage(schema, data, message); }; module.exports = ajv => ajv.addKeyword("absolutePath", { errors: true, type: "string", compile(expected, schema) { function callback(data) { let passes = true; const isExclamationMarkPresent = data.includes("!"); if (isExclamationMarkPresent) { callback.errors = [ errorMessage( schema, data, `The provided value ${JSON.stringify( data )} contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.` ) ]; passes = false; } // ?:[A-Za-z]:\\ - Windows absolute path // \\\\ - Windows network absolute path // \/ - Unix-like OS absolute path const isCorrectAbsolutePath = expected === /^(?:[A-Za-z]:\\|\\\\|\/)/.test(data); if (!isCorrectAbsolutePath) { callback.errors = [getErrorFor(expected, data, schema)]; passes = false; } return passes; } callback.errors = []; return callback; } });