![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
jsonpolice
Advanced tools
A Javascript library implementing the JSON Schema draft 7.
The library can optionally decorate parsed objects in order to have them return default values defined in the schema, for undefined properties.
$ npm install jsonpolice
Create a new instance of schema validator.
dataOrUri
, the schema to parse or a fully qualified URI to pass to retriever
to download the schemaoptions
, parsing options, the following optional properties are supported:
scope
(required), the current resolution scope (absolute URL) of URLs and paths.registry
, an object to use to cache resolved id
and $ref
values. If no registry is passed,
one is automatically created. Pass a registry
if you are going to parse several schemas or URIs referencing
the same id
and $ref
values.retriever
, a function accepting a URL in input and returning a promise resolved to an object
representing the data downloaded for the URI. Whenever a $ref
to a new URI is found, if the URI is not
already cached in the store in use, it'll be fetched using this retriever
. If not retriever
is passed
and a URI needs to be downloaded, a no_retriever
exception is thrown. Refer to the documentation of
jsonref for sample retriever functions to use in the browser or
with Node.js.The function returns a Promise resolving to a new instance of Schema. Once created, a schema instance can be used
repeatedly to validate data, calling the method Schema.validate
.
import * as jp from 'jsonpolice';
(async () => {
const schema = jp.create({
type: 'object',
properties: {
d: {
type: 'string',
format: 'date-time'
},
i: {
type: 'integer'
},
b: {
type: [ 'boolean', 'number' ]
},
c: {
default: 5
}
}
});
try {
const result = await schema.validate({
d: (new Date()).toISOString(),
i: 6,
b: true
});
} catch(err) {
// validation failed
}
})();
Validates the input data
data
, the data to parseoptions
, validation options, the following optional properties are supported:
setDefault
, if true
returns the default value specified in the schema (if any) for undefined propertiesremoveAdditional
, if true
deletes properties not validating against additionalProperties, without failingcontext
, if set to read
deletes writeOnly properties, if set to write
delete readOnly propertiesReturns a decorated version of data, according to the specified options.
Using the following schema:
{
type: 'object',
properties: {
d: {
type: 'string',
},
i: {
type: 'integer'
},
b: {
type: [ 'boolean', 'number' ]
},
c: {
default: 5
}
}
}
And parsing the following data:
var output = schema.validate({
d: 'test',
i: 10,
b: true
});
Produces the following output:
{
"d": "test",
"i": 10,
"b": true,
"c": 5
}
12.0.0
FAQs
JSON Schema parser and validator
The npm package jsonpolice receives a total of 406 weekly downloads. As such, jsonpolice popularity was classified as not popular.
We found that jsonpolice demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.