Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
manifestShortcutKey,
} from './formats';
import schemas from './imported';
const validator = ajv({
allErrors: true,
errorDataPath: 'property',
jsonPointers: true,
verbose: true,
schemas,
schemaId: 'auto',
});
validator.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
ajvMergePatch(validator);
validator.addFormat('versionString', isValidVersionString);
validator.addFormat('contentSecurityPolicy', () => true);
validator.addFormat('ignore', () => true);
validator.addFormat('manifestShortcutKey', manifestShortcutKey);
// URL formats. The format names don't mean what you'd think, see bug 1354342.
//
// url -> MUST be absolute URL
// relativeUrl -> CHOICE of absolute URL or relative URL (including protocol relative)
// strictRelativeUrl -> MUST be relative, but not protocol relative (path only)
validator.addFormat('url', isAbsoluteUrl);
validator.addFormat('relativeUrl', isAnyUrl);
// homepageUrl is the same as relativeUrl but Firefox will encode | characters.
validator.addFormat('homepageUrl', isAnyUrl);
validator.addFormat('strictRelativeUrl', isStrictRelativeUrl);
import Ajv from 'ajv'
import ajvEnableMerge from 'ajv-merge-patch/keywords/merge'
import listingSchema from '../schemas/listing.json'
import unitListingSchema from '../schemas/unit-listing.json'
import fractionalListingSchema from '../schemas/fractional-listing.json'
const unitListingType = 'unit'
const fractionalListingType = 'fractional'
const unitSchemaId = 'unit-listing.json'
const fractionalSchemaId = 'fractional-listing.json'
const ajv = new Ajv({
schemas: [listingSchema, unitListingSchema, fractionalListingSchema]
})
ajvEnableMerge(ajv)
const validateUnitListing = ajv.getSchema(unitSchemaId)
const validateFractionalListing = ajv.getSchema(fractionalSchemaId)
const appendSlash = url => {
return url.substr(-1) === '/' ? url : url + '/'
}
function validate(validateFn, data, schema) {
if (!validateFn(data)) {
throw new Error(
`Data invalid for schema. Data: ${JSON.stringify(
data
)}. Schema: ${JSON.stringify(schema)}`
)
}
import Ajv from 'ajv'
import ajvEnableMerge from 'ajv-merge-patch/keywords/merge'
import listingSchema from '../schemas/listing.json'
import unitListingSchema from '../schemas/unit-listing.json'
import fractionalListingSchema from '../schemas/fractional-listing.json'
const unitListingType = 'unit'
const fractionalListingType = 'fractional'
const unitSchemaId = 'unit-listing.json'
const fractionalSchemaId = 'fractional-listing.json'
const ajv = new Ajv({
schemas: [listingSchema, unitListingSchema, fractionalListingSchema]
})
ajvEnableMerge(ajv)
const validateUnitListing = ajv.getSchema(unitSchemaId)
const validateFractionalListing = ajv.getSchema(fractionalSchemaId)
const appendSlash = url => {
return url.substr(-1) === '/' ? url : url + '/'
}
function validate(validateFn, data, schema) {
if (!validateFn(data)) {
throw new Error(
`Data invalid for schema. Data: ${JSON.stringify(
data
)}. Schema: ${JSON.stringify(schema)}`
)
}