UNPKG

@saiballo/html-validator-enhanced

Version:

A Node module with optional settings for validating HTML pages using the "validator.w3.org/nu" or "whatwg" standard.

28 lines (25 loc) 891 B
const axios = require("axios").default; const config = require("./config"); const filterData = require("./filter-data"); async function w3cValidator(options) { const requestOptions = await config(options); const {ignore} = options; return new Promise((resolve, reject) => { axios(requestOptions).then((response) => { const { data, status } = response; if (data && status !== 200) { const error = new Error(`Validator returned unexpected statuscode: ${status}`); return reject(error); } return ignore ? resolve(filterData(data, ignore)) : resolve(data); }).catch((error) => { // To match the previous API const statusCode = error.message.replace(/^\D+/g, ""); if (statusCode.length === 3) { return reject(new Error(`Validator returned unexpected statuscode: ${statusCode}`)); } return reject(error); }); }); } module.exports = w3cValidator;