@optimizely/optimizely-sdk
Version:
JavaScript SDK for Optimizely X Full Stack
3 lines (2 loc) • 2.91 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@optimizely/js-sdk-utils"),r=require("json-schema"),t="%s: Datafile is invalid - property %s: %s",i="%s: JSON object is not valid.",s="%s: No JSON object to validate against schema.",p={$schema:"http://json-schema.org/draft-04/schema#",type:"object",properties:{projectId:{type:"string",required:!0},accountId:{type:"string",required:!0},groups:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},policy:{type:"string",required:!0},trafficAllocation:{type:"array",items:{type:"object",properties:{entityId:{type:"string",required:!0},endOfRange:{type:"integer",required:!0}}},required:!0},experiments:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},key:{type:"string",required:!0},status:{type:"string",required:!0},layerId:{type:"string",required:!0},variations:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},key:{type:"string",required:!0}}},required:!0},trafficAllocation:{type:"array",items:{type:"object",properties:{entityId:{type:"string",required:!0},endOfRange:{type:"integer",required:!0}}},required:!0},audienceIds:{type:"array",items:{type:"string"},required:!0},forcedVariations:{type:"object",required:!0}}},required:!0}}},required:!0},experiments:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},key:{type:"string",required:!0},status:{type:"string",required:!0},layerId:{type:"string",required:!0},variations:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},key:{type:"string",required:!0}}},required:!0},trafficAllocation:{type:"array",items:{type:"object",properties:{entityId:{type:"string",required:!0},endOfRange:{type:"integer",required:!0}}},required:!0},audienceIds:{type:"array",items:{type:"string"},required:!0},forcedVariations:{type:"object",required:!0}}},required:!0},events:{type:"array",items:{type:"object",properties:{key:{type:"string",required:!0},experimentIds:{type:"array",items:{type:"string",required:!0}},id:{type:"string",required:!0}}},required:!0},audiences:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},name:{type:"string",required:!0},conditions:{type:"string",required:!0}}},required:!0},attributes:{type:"array",items:{type:"object",properties:{id:{type:"string",required:!0},key:{type:"string",required:!0}}},required:!0},version:{type:"string",required:!0},revision:{type:"string",required:!0}}};exports.validate=function(y){if("object"!=typeof y||null===y)throw new Error(e.sprintf(s,"JSON_SCHEMA_VALIDATOR"));var d=r.validate(y,p);if(d.valid)return!0;if(Array.isArray(d.errors))throw new Error(e.sprintf(t,"JSON_SCHEMA_VALIDATOR",d.errors[0].property,d.errors[0].message));throw new Error(e.sprintf(i,"JSON_SCHEMA_VALIDATOR"))};
//# sourceMappingURL=optimizely.json_schema_validator.min.js.map