New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

json-schema-ref-resolver

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-schema-ref-resolver - npm Package Compare versions

Comparing version

to
1.0.1

10

index.js

@@ -36,3 +36,5 @@ 'use strict'

if (schema === undefined) {
throw new Error(`Schema with id "${schemaId}" is not found.`)
throw new Error(
`Cannot resolve ref "${schemaId}${jsonPointer}". Schema with id "${schemaId}" is not found.`
)
}

@@ -101,2 +103,8 @@ if (schema.anchors[jsonPointer] !== undefined) {

const targetSchema = this.getDerefSchema(refSchemaId, refJsonPointer)
if (targetSchema === null) {
throw new Error(
`Cannot resolve ref "${ref.ref}". Ref "${refJsonPointer}" is not found in schema "${refSchemaId}".`
)
}
ref.targetSchema = targetSchema

@@ -103,0 +111,0 @@ ref.targetSchemaId = refSchemaId

2

package.json
{
"name": "json-schema-ref-resolver",
"version": "1.0.0",
"version": "1.0.1",
"description": "JSON schema reference resolver",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -31,3 +31,3 @@ # json-schema-ref-resolver

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -53,3 +53,3 @@ const sourceSchema = {

const resolver = new RefResolver()
const refResolver = new RefResolver()

@@ -110,3 +110,3 @@ refResolver.addSchema(sourceSchema)

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -121,9 +121,9 @@ const schema = {

const resolver = new RefResolver()
resolver.addSchema(schema)
const refResolver = new RefResolver()
refResolver.addSchema(schema)
const rootSchema = resolver.getSchema(schema.$id)
const rootSchema = refResolver.getSchema(schema.$id)
assert.deepStrictEqual(rootSchema, schema)
const subSchema = resolver.getSchema(schema.$id, '#/properties/foo')
const subSchema = refResolver.getSchema(schema.$id, '#/properties/foo')
assert.deepStrictEqual(subSchema, { type: 'string' })

@@ -138,3 +138,3 @@ ```

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -151,6 +151,6 @@ const schema = {

const resolver = new RefResolver()
resolver.addSchema(schema)
const refResolver = new RefResolver()
refResolver.addSchema(schema)
const anchorSchema = resolver.getSchema(schema.$id, '#bar')
const anchorSchema = refResolver.getSchema(schema.$id, '#bar')
assert.deepStrictEqual(subSchema, {

@@ -180,3 +180,3 @@ $id: '#bar',

const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -226,3 +226,3 @@ const sourceSchema = {

const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -276,3 +276,3 @@ const targetSchema1 = {

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -298,3 +298,3 @@ const sourceSchema = {

const resolver = new RefResolver()
const refResolver = new RefResolver()

@@ -334,3 +334,3 @@ refResolver.addSchema(sourceSchema)

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -356,3 +356,3 @@ const sourceSchema = {

const resolver = new RefResolver()
const refResolver = new RefResolver()

@@ -382,3 +382,3 @@ refResolver.addSchema(sourceSchema)

const assert = require('node:assert')
const { RefResolver } = require('@fastify/json-schema-ref-resolver')
const { RefResolver } = require('json-schema-ref-resolver')

@@ -406,7 +406,7 @@ const targetSchema = {

const resolver = new RefResolver()
resolver.addSchema(targetSchema)
resolver.addSchema(sourceSchema)
const refResolver = new RefResolver()
refResolver.addSchema(targetSchema)
refResolver.addSchema(sourceSchema)
resolver.derefSchema('sourceSchema') // Throws an error
refResolver.derefSchema('sourceSchema') // Throws an error
```

@@ -52,4 +52,6 @@ 'use strict'

} catch (err) {
assert.equal(err.message, 'Schema with id "#subSchemaId" is not found.')
assert.equal(
err.message, 'Cannot resolve ref "#subSchemaId#". Schema with id "#subSchemaId" is not found.'
)
}
})

@@ -195,1 +195,43 @@ 'use strict'

})
test('should throw if target ref schema is not found', () => {
const inputSchema = {
$id: 'http://example.com/root.json',
definitions: {
A: { $id: '#foo' },
B: {
$id: 'other.json',
definitions: {
X: { $id: '#bar', type: 'string' },
Y: { $id: 't/inner.json' }
}
},
C: {
$id: 'urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f',
type: 'object'
}
}
}
const addresSchema = {
$id: 'relativeAddress', // Note: prefer always absolute URI like: http://mysite.com
type: 'object',
properties: {
zip: { $ref: 'urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f' },
city2: { $ref: '#foo' }
}
}
const refResolver = new RefResolver()
refResolver.addSchema(inputSchema)
refResolver.addSchema(addresSchema)
try {
refResolver.derefSchema('relativeAddress')
} catch (error) {
assert.strictEqual(
error.message,
'Cannot resolve ref "#foo". Ref "#foo" is not found in schema "relativeAddress".'
)
}
})

@@ -167,3 +167,6 @@ 'use strict'

} catch (err) {
assert.equal(err.message, `Schema with id "${schemaIdArgument}" is not found.`)
assert.equal(
err.message,
`Cannot resolve ref "${schemaIdArgument}#". Schema with id "${schemaIdArgument}" is not found.`
)
}

@@ -191,3 +194,6 @@ })

} catch (err) {
assert.equal(err.message, `Schema with id "${schemaIdProperty}" is not found.`)
assert.equal(
err.message,
`Cannot resolve ref "${schemaIdProperty}#". Schema with id "${schemaIdProperty}" is not found.`
)
}

@@ -194,0 +200,0 @@