schema-manager
Advanced tools
Comparing version 0.0.7 to 0.0.8
@@ -1,2 +0,2 @@ | ||
import { Schema } from './model/schema'; | ||
import { Schema, RefInfo } from './model/schema'; | ||
export * from './model/schema'; | ||
@@ -13,2 +13,2 @@ export * from './manager'; | ||
export declare const externalRefs: (source: Schema) => string[]; | ||
export declare const solveRef: (schema: Schema, ref: string) => Schema; | ||
export declare const solveRef: (schema: Schema, ref: string) => RefInfo; |
@@ -1,2 +0,2 @@ | ||
import { Schema, ISchemaCompleter, ISchemaExtender, ISchemaManager, ISchemaLoader } from '../model/schema'; | ||
import { Schema, ISchemaCompleter, ISchemaExtender, ISchemaManager, ISchemaLoader, RefInfo } from '../model/schema'; | ||
export declare class SchemaManagerBuilder { | ||
@@ -19,5 +19,5 @@ build(): ISchemaManager; | ||
solve(value: string | Schema): Schema; | ||
solveRef(schema: Schema, ref: string): Schema; | ||
solveRef(schema: Schema, ref: string): RefInfo; | ||
refs(schema: Schema): string[]; | ||
externalRefs(schema: Schema): string[]; | ||
} |
@@ -143,15 +143,17 @@ "use strict"; | ||
if (keys.length === 1 || keys[1] === '/') { | ||
return externalSchema; | ||
return { schema: externalSchema, referenced: externalSchema }; | ||
} | ||
else { | ||
const path = keys[1].startsWith('/') ? keys[1].replace('/', '') : keys[1]; | ||
return _1.Helper.jsonPath(externalSchema, path); | ||
const referenced = _1.Helper.jsonPath(externalSchema, path); | ||
return { schema: externalSchema, referenced: referenced }; | ||
} | ||
} | ||
else if (ref === '#') { | ||
return schema; | ||
return { schema: schema, referenced: schema }; | ||
} | ||
else { | ||
const path = ref.startsWith('#/') ? ref.replace('#/', '') : ref; | ||
return _1.Helper.jsonPath(schema, path); | ||
const referenced = _1.Helper.jsonPath(schema, path); | ||
return { schema: schema, referenced: referenced }; | ||
} | ||
@@ -158,0 +160,0 @@ } |
@@ -9,2 +9,6 @@ export interface Schema { | ||
} | ||
export interface RefInfo { | ||
schema: Schema; | ||
referenced: Schema; | ||
} | ||
export interface ISchemaCompleter { | ||
@@ -28,3 +32,3 @@ complete(schema: Schema): void; | ||
externalRefs(schema: Schema): string[]; | ||
solveRef(schema: Schema, ref: string): Schema; | ||
solveRef(schema: Schema, ref: string): RefInfo; | ||
} |
{ | ||
"name": "schema-manager", | ||
"version": "0.0.7", | ||
"version": "0.0.8", | ||
"description": "Schema Manager", | ||
@@ -5,0 +5,0 @@ "author": "Flavio Lionel Rita <flaviolrita@hotmail.com>", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
58231
703