|
-
-
- var SCHEMA_LIST = [];
- var CUR_AJV = new Ajv();
-
- export default Object.freeze({
- add:function(s){
- if (!("$id" in s))
- throw new Error("Missing '$id' property in schema.");
- for (let i=0; i < SCHEMA_LIST.length; i++){
- if (SCHEMA_LIST[i]["$id"] === s["$id"])
- throw new Error("Schema already exists with $id '" + s["$id"] + "'.");
- }
- SCHEMA_LIST.push(s);
- CUR_AJV.addSchema(s);
- },
-
- remove:function(id){
- var idx = SCHEMA_LIST.findIndex((item) => {
- return item["$id"] === id;
- });
- if (idx >= 0){
- SCHEMA_LIST.splice(idx, 1);
- CUR_AJV.removeSchema(id);
- }
- },
-
- has:function(id){
- return SCHEMA_LIST.findIndex((item) => {
- return item["$id"] === id;
- }) >= 0;
- },
-
- getValidator:function(id){
- return (CUR_AJV !== null) ? CUR_AJV.getSchema(id) : null;
- },
-
- getLastErrors:function(){
- if (CUR_AJV === null || CUR_AJV.errors === null){return null;}
- return CUR_AJV.errors;
- }
- });
-
-
|