{"_id":"jk-schema","_rev":"31-1f4bd2b9111553f2e1b0f1db1e8c57fa","name":"jk-schema","time":{"modified":"2022-06-19T04:32:17.953Z","created":"2017-03-23T08:17:48.060Z","0.2.0":"2017-03-23T08:17:48.060Z","0.1.0":"2017-03-23T08:33:26.295Z","0.2.1":"2017-03-23T08:35:49.628Z","0.2.2":"2017-03-25T01:51:16.275Z","0.2.3":"2017-03-26T01:04:00.972Z","0.2.4":"2017-03-26T01:06:13.337Z","0.2.5":"2017-03-26T01:29:44.468Z","0.2.6":"2017-03-26T01:33:54.623Z","0.2.7":"2017-04-04T07:07:43.676Z","0.2.8":"2017-04-04T09:33:02.572Z","0.2.9":"2017-04-04T22:36:12.568Z","0.3.0":"2017-04-04T23:20:24.478Z","0.3.1":"2017-04-08T03:04:17.239Z","0.3.2":"2017-04-11T19:17:33.769Z","0.3.3":"2017-05-17T20:21:14.001Z","0.3.4":"2017-11-21T19:09:41.557Z","0.4.0":"2017-12-04T23:31:12.805Z","0.4.1":"2017-12-05T00:04:15.567Z","0.4.2":"2018-01-04T23:34:19.839Z","0.5.0":"2018-01-26T04:58:50.377Z","0.5.1":"2018-02-14T01:13:55.665Z","0.5.2":"2018-03-12T03:41:35.644Z"},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"dist-tags":{"latest":"0.5.2"},"description":"A utility to validate complex objects using schemas","readme":"This package has been moved to [@jalik/schema](https://www.npmjs.com/package/@jalik/schema).\n\n# jk-schema\n\nThis package allows you to validate complex objects using schemas.\n\n## Introduction\n\nA schema is a definition of all characteristics of an object.\nFor example, a person has a first name, age, gender and so on...\nsome information are required while others are optional.\nWith a schema you can tell how your object must be defined.\nAnd when your schema is created you can then validate any data against it\nto check if the data is valid or not.\n\n**This library is well tested with more than 120+ unit tests.**\n\n## Schema field properties\n\nYou can use any of the given properties to define a field.\n\n```js\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst ExampleSchema = new Schema({\n\n    // ALLOWED\n    allowed: {\n        type: String,\n        // force binary values\n        allowed:[\"0\",\"1\"]\n     },\n    \n    // CHECK FUNCTION\n    // accept a function that is called after all native validations\n    check: {\n        type: Number,\n        // cehck that number is even\n        check(value) { return value % 2 === 0; }\n    },\n    \n    // CLEAN FUNCTION\n    // accept a function that is called on each \n    clean: {\n        type: String,\n        clean(value) {\n            return value.trim().toLowerCase();\n        }\n    },\n    \n    defaultField: {\n      type: Number,\n      defaultValue: 1337  \n    },\n    \n    // DENIED\n    denied: {\n        type: Number,\n        // will throw an error if these values are present\n        denied: [0, 1]\n    },\n    \n    // LABEL\n    // used in errors for a more human description\n    labelled: {\n        type: String,\n        label: \"Labelled field\"\n    },\n\n    // LENGTH\n    arrayLength: {\n        type: [Number],\n        // array must contain exactly two values\n        length: 2\n    },\n    fixedLength: {\n        type: String,\n        // length must be exactly 10\n        length: 10\n    },\n    maxLength: {\n        type: String,\n        // max length is 10, min length is 0\n        length: [0, 10]\n    },\n    minLength: {\n        type: String,\n        // min length is 2, there is no max length\n        length: [2]\n    },\n\n    // MAX\n    maxDate: {\n        type: Date,\n        max: new Date(Date.now() + 3600*1000)\n    },\n    maxNumber: {\n        type: Number,\n        // max value is 10\n        max: 10\n    },\n    \n    // MAX WORDS\n    maxWords: {\n        type: String,\n        // there must have 50 words max\n        maxWords: 50\n    },\n\n    // MIN\n    minDate: {\n        type: Date,\n        // min value is now minus 10 hours\n        min: new Date(Date.now() - 3600*1000)\n    },\n    minNumber: {\n        type: Number,\n        // min value is 0\n        min: 0\n    },\n    \n    // MIN WORDS\n    minWords: {\n        type: String,\n        // there must have 5 words minimum\n        minWords: 5\n    },\n\n    // NULLABLE\n    nullable: {\n        type: String,\n        // field cannot be null\n        nullable: false\n    },\n    notNullable: {\n        type: String,\n        // field can be null\n        nullable: true\n    },\n    \n    // PREPARE FUNCTION\n    // execute the prepare function on field value\n    // before clean and check execution.\n    // It can be useful in some case\n    // where clean cannot be used to do what you want.\n    orderedNumbers: {\n        type: [Number],\n        prepare(numbers) {\n            // sort numbers\n            return numbers.sort();\n        }\n    },\n    \n    // REGEX\n    regEx: {\n        type: String,\n         // force time format \"00:00\"\n        regEx:/^\\d{1,2}:\\d{1,2}$/\n    },\n\n    // REQUIRED\n    optional: {\n        type: String,\n        required: false\n    },\n    required: {\n        type: String,\n        required: true\n    },\n\n    // TYPE\n    boolean: {\n        type: Boolean\n    },\n    booleanArray: {\n        type: [Boolean]\n    },\n    float: {\n        type: Number,\n        decimal: true\n    },\n    // note: we don't have float array yet\n    integer: {\n        type: Number,\n        decimal: false\n    },\n    // note: we don't have integer array yet\n    number: {\n        type: Number\n    },\n    numberArray: {\n        type: [Number]\n    },\n    string: {\n        type: String\n    },\n    stringArray: {\n        type: [String]\n    },\n});\n```\n\n## Dynamic field properties\n\nAlmost all properties (excepted `type`) accept a function instead of the usual value, it is useful to return a constraint based on some conditions when the field is actually validated.\nThe given function is called with a single argument representing the current context (data) being validated by the schema.\n\n```js\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst isPublishing = function(context) {\n    // context refers to the data being validated\n    return context.status === \"published\";\n};\n\nconst PostSchema = new Schema({\n    title: {\n        type: String,\n        nullable: false,\n        required: isPublishing\n    },\n    text: {\n        type: String,\n        nullable: false,\n        required: isPublishing\n    },\n    status: {\n        type: String,\n        required: true,\n        allowed: [\"published\", \"draft\"]\n    }\n});\n\n// So this is valid\nPostSchema.validate({\n    title: \"Hello World\",\n    text: \"This is a hello world post !\",\n    status: \"published\"\n});\n\n// And this is valid too..\nPostSchema.validate({\n    status: \"draft\"\n});\n\n// But this is not valid !\nPostSchema.validate({\n    title: \"Hello World\",\n    text: null,\n    status: \"published\"\n});\n```\n\n## Creating a schema\n\nTo create a schema, use the `Schema` class.\n\n```js\nimport RegEx from \"jk-schema/dist/regex\";\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst PersonSchema = new Schema({\n    name: {\n        type: String,\n        required: true,\n        length: [3, 30] // min 3, max 30\n    },\n    presentation: {\n        type: String,\n        required: false,\n        length: [0, 500],\n        minWords: 10\n    },\n    email: {\n        type :String,\n        regEx: RegEx.Email,\n        required: false\n    },\n    birthday: {\n        type: Date,\n        required: false,\n        nullable: true,\n        max() {\n            const YEARS_18 = 18*365*24*60*60*1000;\n            return new Date(Date.now() - YEARS_18);\n        }\n    }\n});\n```\n\n## Extending a schema (inheritance)\n\nThe extend operation creates a new schema based on the current one.\n\n```js\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst PersonSchema = new Schema({\n    age: {type: Number},\n    name: {\n        type: String,\n        required: true\n    }\n});\n\nconst ParentSchema = PersonSchema.extend({\n    children: {\n        type: [PersonSchema],\n        required: true,\n        length: [0] // min = 0, no max\n    }\n});\n```\n\n## Cloning a schema\n\n```js\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst PersonSchema = new Schema({\n    name: {\n        type: String,\n        required: true\n    }\n});\n\nconst ClonedSchema = PersonSchema.clone();\n```\n\n## Updating a schema\n\nThe update creates fields that do not exist, but only modifies existing properties of fields,\nso you can keep properties that have already been defined.\n\n```js\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst PersonSchema = new Schema({\n    name: {\n        type: String,\n        required: true\n    }\n});\n\n// This only changes specified fields\n// and creates new one.\nPersonSchema.update({\n    name:{\n        required: false\n    },\n    age:{\n        type: Number,\n        required: false\n    }\n});\n```\n\n## Validating data using a schema\n\nTo validate data using a schema, use the method `schema.validate(obj)`.\nIf the validation fails, it will throw a `SchemaError` containing information about the error.\n\n```js\nimport RegEx from \"jk-schema/dist/regex\";\nimport {Schema} from \"jk-schema/dist/schema\";\n\nconst AddressSchema = new Schema({\n    city: {\n        type: String,\n        required: true,\n        length: [1, 30]\n    },\n    country: {\n        type: String,\n        required: true,\n        allowed: [\"PF\", \"FR\", \"US\", \"CA\"]\n    }\n});\n\nconst PhoneSchema = new Schema({\n    number: {\n        type: String,\n        required: true,\n        regEx: /^[0-9 -.]+$/\n    }\n});\n\nconst PersonSchema = new Schema({\n    birthday: {\n        type: Date,\n        required: false,\n        nullable: true,\n        max: function() {\n            const YEARS_18 = 18*365*24*60*60*1000;\n            return new Date(Date.now() - YEARS_18);\n        }\n    },\n    email: {\n        type :String,\n        regEx: RegEx.Email,\n        required: false\n    },\n    name: {\n        type: String,\n        required: true,\n        length: [3, 30] // min 3, max 30\n    },\n    phones: {\n        type: [PhoneSchema],\n        required: false\n    },\n    postalAddress: {\n        // Inherit from AddressSchema\n        type: AddressSchema.extend({\n            postalCode: {\n                type: Number,\n                required: false\n            }\n        }),\n        required: true\n    },\n    presentation: {\n        type: String,\n        required: false,\n        length: [0, 500],\n        minWords: 10\n    }\n});\n\ntry {\n    // This won't throw any error because data is valid\n    PersonSchema.validate({\n        name: 'karl',\n        birthday: null,\n        email: 'karl@mail.com',\n        postalAddress: {\n            city: \"Papeete\",\n            country: \"PF\"\n        }\n    });\n    \n    // This will throw an error because date is not valid\n    PersonSchema.validate({\n        email: 'karl@mail.com',\n        birthday: '1999-12-20',\n        postalAddress: {\n            city: \"Papeete\",\n            country: \"PF\"\n        }\n    });\n}\ncatch (err) {\n    // err is an instance of SchemaError\n    console.error(err.message);\n}\n```\n\n## Changelog\n\n### v0.5.1\n- Makes `type` field option optional\n\n### v0.5.0\n- Adds method `SchemaField.getPrepareFunction()`\n- Adds field option `prepare` to execute a function on the field value before `clean` and `check` functions\n- Adds unit tests for `prepare` field option\n\n### v0.4.2\n- Adds method `SchemaField.getName()`\n- Adds method `SchemaField.throwFieldNullError()`\n- Adds unit tests for `defaultValue` option\n- Uses return value of `SchemaField.validate()` to modify field value\n- Uses empty array `[]` as default value for `Array` fields defined as required and non-null\n- Throws missing field error only when a required field is `undefined` (does not depend on `nullable` option anymore)\n\n### v0.4.1\n- Fixes main file exports\n- Fixes documentation for importing classes and methods\n\n### v0.4.0\n- Explodes classes in multiple files (see doc to import classes and methods)\n- Adds method `Schema.removeUnknownFields(obj)`\n- Adds method `SchemaField.getAllowedValues()`\n- Adds method `SchemaField.getCheckFunction()`\n- Adds method `SchemaField.getCleanFunction()`\n- Adds method `SchemaField.getDefaultValue()`\n- Adds method `SchemaField.getDeniedValues()`\n- Adds method `SchemaField.getLabel()`\n- Adds method `SchemaField.getLength()`\n- Adds method `SchemaField.getMaxValue()`\n- Adds method `SchemaField.getMaxWords()`\n- Adds method `SchemaField.getMinValue()`\n- Adds method `SchemaField.getMinWords()`\n- Adds method `SchemaField.getProperties()`\n- Adds method `SchemaField.getRegEx()`\n- Adds method `SchemaField.getType()`\n- Adds method `SchemaField.isDecimal()`\n- Adds method `SchemaField.isNullable()`\n- Adds method `SchemaField.isRequired()`\n- Adds field option `defaultValue` to set default value, works only if field is required but has its value `undefined`\n- Renames method `SchemaField.dynamicValue()` to `SchemaField.computeValue()`\n- The method `SchemaField.validate()` now returns the processed value (ex: default value or cleaned value)\n- Updates documentation\n\n### v0.3.4\n- Updates documentation\n\n### v0.3.3\n- Fixes `Unknown property \"field.name\"` when assigning a name to a field\n\n### v0.3.2\n- Allows to pass function for `decimal`, `label`, `nullable` and `required` field properties\n- Changes error messages\n\n### v0.3.1\n- Adds value as first argument of `check(value)` field property\n\n### v0.3.0\n- Fixes `nullable` and `required` field options\n\n### v0.2.9\n- Adds class `SchemaField`\n- Adds method `Schema.addField(name, props)`\n- Adds method `Schema.clone()`\n- Adds method `Schema.update(fields)`\n- Moves `Schema.cleanField()` to  `SchemaField.clean()`\n- Moves `Schema.dynamicValue()` to  `SchemaField.dynamicValue()`\n- Moves `Schema.validateField()` to  `SchemaField.validate()`\n\n### v0.2.8\n- Adds `resolveField(name)` method\n\n### v0.2.7\n- Adds `getField(name)` method\n- Adds unit tests to check `length` field option\n- Uses field name as first parameter of `validateField(name, value)` method instead of field properties\n\n### v0.2.6\n- Removes warning `Unknown property \"${field}.label\"`\n\n### v0.2.5\n- Changes `schema.extend(fields)` signature, uses fields instead of parent schema\n\n### v0.2.4\n- Adds `schema.extend(fields)` to create a schema based on an existing one\n- Adds `schema.getFields()` to return schema fields\n- Adds `schema.isValid(obj, options)` to validate an object without throwing an error\n- Adds `nullable` field option to allow a field to be `null`\n- Adds `ignoreMissing` option to `Schema.validate()` to ignore missing fields (useful for updates)\n\n### v0.2.1\n- First public release\n\n## License\n\nThe code is released under the [MIT License](http://www.opensource.org/licenses/MIT).\n\nIf you find this lib useful and would like to support my work, donations are welcome :)\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=R7XM4Q3TNE47L)\n","versions":{"0.2.1":{"name":"jk-schema","version":"0.2.1","description":"Validates objects using schemas","main":"dist/index.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"author":{"name":"Karl Stein","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"license":"MIT","bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"5b823a35d44639646a4aa7cb6b5ae906c16159dc","_id":"jk-schema@0.2.1","_shasum":"419d659393a29d590b60e8a881dfcf3ba70d228e","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"419d659393a29d590b60e8a881dfcf3ba70d228e","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.1.tgz","integrity":"sha512-8XxwqW7Lx5LHsxIDdL6G2swPQyQ3I99ZZF4PStqz/o0rxXwsQjx4iCH6V9gR3jWF1EHBTSEeNXgKVwYxZ4dF2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1NanvkZCAjFVmjnrLCmoWt/hS+tnBhLzYeHrZmm/GeAIgLqzp8T9ikFUqoSwVUXjctmfgSMUJde2apAvuinawngQ="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.1.tgz_1490258149388_0.18880705116316676"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.2":{"name":"jk-schema","version":"0.2.2","description":"Validates objects using schemas","main":"dist/index.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"author":{"name":"Karl Stein","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"license":"MIT","bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"986d1e336fc3c5f2639a3c6429a59a3852a537b0","_id":"jk-schema@0.2.2","_shasum":"e3f3c2b63427763ab99b7bf5af80eaf1ac93b1a9","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"e3f3c2b63427763ab99b7bf5af80eaf1ac93b1a9","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.2.tgz","integrity":"sha512-y+/ZPOD2RwqnLDOkmKhBPz+SCLG5x8SePT7s4npUNzpEoG+22bdofoG+LgAMKaK1jTz+FoXc48zX8lbrL/N/9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClyJoViJ2vNnfKK4n7EnrHY0Crc1YEfTKmpdXeHG0jzAIhAPWTh7Tzwl3ovzFhphJ9LY+Vmt3mKiJQO+N4IWThsTlq"}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.2.tgz_1490406674497_0.7495617140084505"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.3":{"name":"jk-schema","version":"0.2.3","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"9a710bb11ddd8edf5da49152afa96e67157bdf2f","_id":"jk-schema@0.2.3","_shasum":"102d0d5f00a22bfc0a4c01ff69cf349bc6089c5f","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"102d0d5f00a22bfc0a4c01ff69cf349bc6089c5f","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.3.tgz","integrity":"sha512-DkSFuVCgIcn1Fnf92oHpniu4hiyBpIMP/Lx8Z3haNE09IsMsN36SmLYpyYffpkyYLDPci1+cjpCRXlI6KslZCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEl5SHP0BnOKKvl01fDhsPLxfVCSaIxhSEI5DVlFv/C0AiEAtO+tpnGf3KXLTmJx/V5QuPnXeGyCU5E4cIPqD5iwOig="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.3.tgz_1490490240740_0.0025588395074009895"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.4":{"name":"jk-schema","version":"0.2.4","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"9a710bb11ddd8edf5da49152afa96e67157bdf2f","_id":"jk-schema@0.2.4","_shasum":"6d57a9dfc6865ba7eb3c751808828e503cdb56b7","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"6d57a9dfc6865ba7eb3c751808828e503cdb56b7","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.4.tgz","integrity":"sha512-7pa2cPrdhN1n/iqVH51GPA9gf+AHRQT6GDEf/28g6NowuPJrYJ54Y42C16rsAH/Sduv5DePC36UqxebtTyhnaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC833c+arNjgM5AeSmFry3npQ7qfXXyWXUca4R7yiqjDAiAvkk7pz4nUghoGqWVC644hU7xoSyIqKN7W9E9ge15ITA=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.4.tgz_1490490373061_0.25907141622155905"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.5":{"name":"jk-schema","version":"0.2.5","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"b824503a352db5a9d38c37acf1bced77902578df","_id":"jk-schema@0.2.5","_shasum":"3c703a74cdf755a11783b6ab209187d6f10352d6","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"3c703a74cdf755a11783b6ab209187d6f10352d6","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.5.tgz","integrity":"sha512-vPxc/6YHdSjiSS2cEJKan7SdT2PQ/WhUzs6gF08knUqlcnEZWQd6yRx9ukv0D1BGvglsJD2K9xgpTrJUXtYeCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsJ11pNy6gbRl5oH4qyJV8T3SuYRvNen+AuxDHSyppNQIhAN/FgA+2tOh5vr2HarKVj+6cfIQSPRZafKJscTq128Ea"}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.5.tgz_1490491782639_0.46196093200705945"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.6":{"name":"jk-schema","version":"0.2.6","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"b824503a352db5a9d38c37acf1bced77902578df","_id":"jk-schema@0.2.6","_shasum":"0c9cf1bb620d9c2e5faf21c4544525bdf6fa32e6","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"0c9cf1bb620d9c2e5faf21c4544525bdf6fa32e6","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.6.tgz","integrity":"sha512-XdUKfthC6plRXMgyc2Y8iKS6WtTUWEvz+RcyOkcvs9MZzrO+FQzH/kQ56HGR7Il64N95Yu4x62wFt/nM2aO4GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF/XsBfKejAGKq7JflA/z2Z4DsMQAY+ZCpnCq+OyyaKjAiEAp4CqbQgkA+Md57GnCN8QZLsJFUbRFMcTpekij+BV4dE="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.6.tgz_1490492034344_0.12001854297704995"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.7":{"name":"jk-schema","version":"0.2.7","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"bccf48c317769bb60dd12bc139648397aa3b9c3a","_id":"jk-schema@0.2.7","_shasum":"2ccddf313d5055abbb1d75781c269c5dbfc66501","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"2ccddf313d5055abbb1d75781c269c5dbfc66501","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.7.tgz","integrity":"sha512-gZ+vYbbbisNAtPIdRVgmi05UVWP/WJ9loU1Om4b2t4T/kelj0RfeIZyQP+hPHOJ52mGhaDPrc3iMC6pi1rAhEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEOB7sojR5+zpTVF6IsBRtJxdNKPjpj4EHtkdJFGrsraAiAMhosZ9FcGKV724pXM/l8PxG7qHWYVqzEchetIVlyfzw=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.7.tgz_1491289663414_0.7512307283468544"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.8":{"name":"jk-schema","version":"0.2.8","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"d0874cc97c370a06a5183f6670316c8d5200d240","_id":"jk-schema@0.2.8","_shasum":"c348ca080501c2ea93470eae7c207cf8524bed3d","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"c348ca080501c2ea93470eae7c207cf8524bed3d","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.8.tgz","integrity":"sha512-PqhrhVTnTVHBR/I3MrgdEt5UdNb+jUvbQ3s2SDXJDuxsCGx2GUiQohAHctqdp0SaAP07cU/iRhRhI+mjMDL47w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZoxGeH9e5e/SoxFIRQ9hUIlpWqMvMvq6EeKjdJ80IzQIgGpEOzNFggSG4NarY5Tx1nRKJPnO13m5U205M4KYnCW4="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.8.tgz_1491298382287_0.03920676093548536"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.2.9":{"name":"jk-schema","version":"0.2.9","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"3eb394ff7b7190ff18a8259e5d8d09f167093cd7","_id":"jk-schema@0.2.9","_shasum":"fd9927fd9e1a26a34d6daf0ee2e38c0cff9578f0","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"fd9927fd9e1a26a34d6daf0ee2e38c0cff9578f0","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.2.9.tgz","integrity":"sha512-ZsKA6T9ZAGrHZeZ67XbeHLsYxQgPhdczT0vwCh5emvgaC5PmA/Vsdd+qVY2zppJvQYjUBxX73OSrNz+XCCpD3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8sH5JGcjFaMIcAZfA+jbJgaVoDHut1oIH6FNNiqa/pAiEA2N+j4z70V+G+k+iNsObv+8Go0WDY3JlTe27/r3FFGKw="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.2.9.tgz_1491345372275_0.5855835094116628"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.3.0":{"name":"jk-schema","version":"0.3.0","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"79fe1f364b96722be22913563cc7e41343357aad","_id":"jk-schema@0.3.0","_shasum":"b27772113d09a6278876ec7e0a636083d18a1a91","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"b27772113d09a6278876ec7e0a636083d18a1a91","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.3.0.tgz","integrity":"sha512-6u79svFGZhpXOKXKsX0GMjhL8u5jyAV0GnD+NZ0y37kpJuCARy2K34AIdrNeJ7KISMg0bNRVw95NcOSeTm6g9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFGvq55VOo+ZRiLt/asmnuDJc+s4inOy8bWkQLZqs0auAiBAirRW0/PzIUVK1tp/38TIpYGRKVWfER6WYxTwwfPbDw=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.3.0.tgz_1491348024194_0.6110679893754423"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.3.1":{"name":"jk-schema","version":"0.3.1","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"3c81151026e8058b6fa59dea1cf6cf27ca416a49","_id":"jk-schema@0.3.1","_shasum":"5fbb036b0a190155f2171badf2c04ab66d5de806","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"5fbb036b0a190155f2171badf2c04ab66d5de806","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.3.1.tgz","integrity":"sha512-qJLsVOMIfdRszipu6w/mC77yuL7bg/Q7fJVW+i90LAco7O7BtS8CczlUKjXnaDrLptkQCvJn6f4fPbJjqkWdbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1vJ56DCf6eZyg/4Vh3rwqPjtm46NNfIRZhZPnl8I+CAIhAKDYhSpVb8eZC2LlCO7noQSrXDy53kz7qy7Y+E6o50pL"}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jk-schema-0.3.1.tgz_1491620655560_0.9323543710634112"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.3.2":{"name":"jk-schema","version":"0.3.2","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"4bc194eb9fcf42ef9dbf474945665ef0a6ca7911","_id":"jk-schema@0.3.2","_shasum":"2ce247280def5afc2a71f3550535679ab403e096","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"2ce247280def5afc2a71f3550535679ab403e096","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.3.2.tgz","integrity":"sha512-yYM5RU81T+Vek0GGu1DoaOe8ssMEp3PUGOIVTFV60yqzKHhXu4iMvrEHKKuwPhUQhr9PjJYjT86ICiIqDG5VaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJt+uiM8KCuUOwwP7HLM4hnp27uSwCi+Hd4b4su/AUWAiEAjFdS9BqL6wMBjtZ9T+QDG76OsD+LIWV4XCgMVj6TDd8="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/jk-schema-0.3.2.tgz_1491938253540_0.027089342242106795"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.3.3":{"name":"jk-schema","version":"0.3.3","description":"Validates objects using schemas","main":"dist/jk-schema.js","scripts":{"start":"gulp watch","build":"gulp default","prepublish":"npm run build && npm test","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"keywords":["object","schema","validation"],"license":"MIT","author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"homepage":"https://github.com/jalik/jk-schema#readme","dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-cli":"^6.24.0","babel-preset-es2015":"^6.24.0","chai":"^3.5.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","gulp-concat":"^2.6.1","gulp-rename":"^1.2.2","gulp-uglify":"^2.1.2","gulp-watch":"^4.3.11","mocha":"^3.2.0","pump":"^1.0.2"},"gitHead":"af849203681585476f714922e546374e3a677b76","_id":"jk-schema@0.3.3","_shasum":"1346ef1dbea5fb153be37aa68ff9c72a20edbb08","_from":".","_npmVersion":"4.4.4","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"1346ef1dbea5fb153be37aa68ff9c72a20edbb08","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.3.3.tgz","integrity":"sha512-N2gYVLB/3hTHiFtVpHAoMXbMi+KZSeVvSR6w4xoz3zbEKPdU8frlrPJ7AWjBcYn1s0GBKKnHRoArcuenUGEk1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCS2QlBc0izclE1msl/h/jTjMr7otvn636BXsvzkETCCQIhAI/0O0dwnMZQK5+5Uf+fTAr0C46WqVKNF2Um2P95CHet"}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/jk-schema-0.3.3.tgz_1495052471781_0.43968287226743996"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.3.4":{"name":"jk-schema","version":"0.3.4","description":"Validates objects using schemas","license":"MIT","keywords":["object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/jk-schema.js","scripts":{"build":"webpack --config webpack.config.js","build:prod":"webpack --config webpack.config.js -p","prepublish":"npm run build && npm run build:prod && npm test","test":"jest","watch":"webpack --config webpack.config.js --watch"},"dependencies":{"underscore":"^1.8.3"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","jest":"^21.2.1","webpack":"^3.8.1"},"gitHead":"f98d20296f9aec4298810f4d8ce05afaf5a73652","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.3.4","_shasum":"cd40b4549562081400f1a5462b0c8dcf52e84004","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"cd40b4549562081400f1a5462b0c8dcf52e84004","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.3.4.tgz","integrity":"sha512-ppf4RinKj2YlRdrKjm/zXtkJKQKh8yFoyde65S6I08kALImVbuqnxwSkem1ucm/e0AVxzoAR9rgBeotI8VWDkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDklZzVhywY2P09lVjgw5GU4Nk6TYQYaHc4CDqMuz7v4QIgQJP0cz7l8DDWcZwOFNeRHvHOfFNPNN9nTk7ZLBYx3ZU="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema-0.3.4.tgz_1511291380176_0.4025931351352483"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.4.0":{"name":"jk-schema","version":"0.4.0","description":"Validates objects using schemas","license":"MIT","keywords":["object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build && ./node_modules/.bin/webpack --config webpack.config.js","build:prod":"gulp prepublish && ./node_modules/.bin/webpack --config webpack.config.js -p","dev":"webpack-dev-server --hot --watch","prepublish":"npm run build && npm run build:prod && npm test","test":"jest","watch":"webpack --config webpack.config.js --watch"},"dependencies":{},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","gulp":"^3.9.1","gulp-babel":"^7.0.0","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"57497ca86af8246b5fd577039b6c879fd43f3485","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.4.0","_shasum":"8a915d28174f1f6260cde82301c52eead8bbaa28","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"8a915d28174f1f6260cde82301c52eead8bbaa28","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.4.0.tgz","integrity":"sha512-ns7UTNp3HrdTcmhA9zspZSE3yxxW3PW2UHCQVR4WA9I1KlUu3Tt2iuT+3fJBmppKxAxvSr502s5kXcuhkfmJ3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDK5UUY8Qp+eq/Psz/BuN+ZNhfxBdmkhwrLykwJJjNJbAiASR1zmLdIFWi57p8QOzKfg4ku7uNbV/bOtyF8kCGwnoQ=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema-0.4.0.tgz_1512430272628_0.36305325012654066"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.4.1":{"name":"jk-schema","version":"0.4.1","description":"Validates objects using schemas","license":"MIT","keywords":["object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build && ./node_modules/.bin/webpack --config webpack.config.js","build:prod":"gulp prepublish && ./node_modules/.bin/webpack --config webpack.config.js -p","dev":"webpack-dev-server --hot --watch","prepublish":"npm run build && npm run build:prod && npm test","test":"jest","watch":"webpack --config webpack.config.js --watch"},"dependencies":{},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","gulp":"^3.9.1","gulp-babel":"^7.0.0","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"34076656f2f5958fe47f71d9580d030875748e99","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.4.1","_shasum":"40817104cd007c5a6b8398fbc543b68131a62de8","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.6","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"shasum":"40817104cd007c5a6b8398fbc543b68131a62de8","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.4.1.tgz","integrity":"sha512-y6wBkX7BSrq7DYarqFSC1x5hGBq+8SA0v/yVs/eFfLZ6mW59NRK5n7Q2AJNVnVhe8vCa7BX13BAXz8blMXw5/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFLaC7uqdQ26PrJlWTnbwBO5WbQf4fNk+qEMMiB6qFgrAiAp2QlIBtssYVVgoyMOGDZ14BQ2GWG42RpgDpmYT0LfxA=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema-0.4.1.tgz_1512432255475_0.9572917446494102"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.4.2":{"name":"jk-schema","version":"0.4.2","description":"Validates objects using schemas","license":"MIT","keywords":["object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build && ./node_modules/.bin/webpack --config webpack.config.js","build:prod":"gulp prepublish && ./node_modules/.bin/webpack --config webpack.config.js -p","dev":"webpack-dev-server --hot --watch","prepublish":"npm run build && npm run build:prod && npm test","test":"jest","watch":"webpack --config webpack.config.js --watch"},"dependencies":{},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","gulp":"^3.9.1","gulp-babel":"^7.0.0","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"dc71ed89b64407fad0d315e1c22d00e02eff227b","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.4.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"integrity":"sha512-fKlTt+Gl+yriSGP1WDV08dtEMyiscrAfd2d2sMqJCea4Od8o0w+e/N7BJYlkdBwl7LRP9+YPkBfj1pF+zGlbHg==","shasum":"72a642f001ba4b35c8ca304f17e2ffcbce6d50c0","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLAKHD866hlxDxqtf0Sw3hk/F0nT7HhZnzLftxmlF4GwIgNtmMiU0D8i4slpWzAHPvw0Qjw/POgbmg5imzQMaTZ9g="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema-0.4.2.tgz_1515108859755_0.4343489482998848"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.5.0":{"name":"jk-schema","version":"0.5.0","description":"Validates objects using schemas","license":"MIT","keywords":["check","clean","object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build","build:prod":"gulp prepublish","package":"webpack && ./node_modules/.bin/webpack -p","prepare":"npm run build:prod && npm test","prepublishOnly":"npm test","test":"jest","watch":"gulp watch"},"dependencies":{},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","gulp":"^3.9.1","gulp-babel":"^7.0.0","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"0ce0ae5eaf7f0a4bef8b1b7153457372b3a511d8","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"integrity":"sha512-mVCPfvABAFv+pTOeRXZ5ltPJJ5yoXK0fTj4E3GsCyQuEdxb9hr3udW0I5lUFZWGqtv+2Yl3m+eujobKF8ePtUg==","shasum":"c4dc9b746a6f1875dc70a128d06a05cf0911857d","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZcvt8y2yaZRhcDJCjHCHTPcsA9FsvtX6D6WZbYzLcYAiEAjeSqrm7jEocL+d04Py1MMsAWcFW22TAzEBcPVuaGH6s="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema-0.5.0.tgz_1516942729805_0.9368138506542891"},"directories":{},"deprecated":"Please install @jalik/schema instead"},"0.5.1":{"name":"jk-schema","version":"0.5.1","description":"Validates objects using schemas","license":"MIT","keywords":["check","clean","object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build","build:prod":"gulp prepublish","package":"webpack && ./node_modules/.bin/webpack -p","prepare":"npm run build:prod && npm test","prepublishOnly":"npm test","test":"jest","watch":"gulp watch"},"dependencies":{},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","chai":"^4.1.2","gulp":"^3.9.1","gulp-babel":"^7.0.0","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"c8a04b6fb8bb125282bda2d51e5d496f13d15789","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.5.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"integrity":"sha512-tJRys+Yyjhedxun2Dwj5utfo8Eo+uB9LqQ61irmCIDnY2r9PfblfvWwvGOrr7RSHpeoQTVHWsp2WHZhoCzciwA==","shasum":"28eaf173559e6bd06db5a8fe6173f5cde30e5724","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.5.1.tgz","fileCount":9,"unpackedSize":56322,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHyLoHN47UkSppkCdZKlAEQsM8PiZA51nXDkpY54zJWfAiBpCQmQNhoafyBTflDl53+Bs4B+gU2tKnJWDYuJ+pjFQQ=="}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema_0.5.1_1518570835582_0.940371377581017"},"_hasShrinkwrap":false,"deprecated":"Please install @jalik/schema instead"},"0.5.2":{"name":"jk-schema","version":"0.5.2","description":"A utility to validate complex objects using schemas","license":"MIT","keywords":["check","object","schema","validation"],"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"main":"dist/index.js","scripts":{"build":"gulp build","build:prod":"gulp prepublish","package":"webpack && ./node_modules/.bin/webpack -p","prepare":"npm run build:prod && npm test","prepublishOnly":"npm test","test":"jest","watch":"gulp watch"},"dependencies":{"@jalik/extend":"^1.0.1"},"devDependencies":{"babel-core":"^6.26.0","babel-loader":"^7.1.4","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","gulp":"^3.9.1","gulp-babel":"^7.0.1","gulp-strip-comments":"^2.5.1","gulp-watch":"^4.3.11","jest":"^21.2.1","webpack":"^3.9.1"},"gitHead":"b6c387bf8eb1b6d9aa5643e24c92c5274097ad85","homepage":"https://github.com/jalik/jk-schema#readme","_id":"jk-schema@0.5.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"jalik","email":"karl.stein.pro@gmail.com"},"dist":{"integrity":"sha512-36tAHmeshr1sWwcem1lW3FY9lP6H8nUiW8RI+nzfij1bEE8GXhOitkMUUVbP/H/XnKKUGLuh3pCfhKHRNseEBA==","shasum":"a3761159d23f9eeacaedfba30d95bb636eaebcd1","tarball":"https://registry.npmjs.org/jk-schema/-/jk-schema-0.5.2.tgz","fileCount":9,"unpackedSize":54975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBvxiQZqEEhbi3xoRzfCt1qCTdirh+uXxDZycGKew2kAIhAI4m1VjJFnL9QtBRl6wmtOOAWHltpu+AnwdRet4s0xaV"}]},"maintainers":[{"name":"jalik","email":"karl.stein.pro@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jk-schema_0.5.2_1520826095502_0.36604507253890284"},"_hasShrinkwrap":false,"deprecated":"Please install @jalik/schema instead"}},"homepage":"https://github.com/jalik/jk-schema#readme","keywords":["check","object","schema","validation"],"repository":{"type":"git","url":"git+https://github.com/jalik/jk-schema.git"},"author":{"name":"Karl STEIN","email":"karl.stein.pro@gmail.com","url":"https://github.com/jalik"},"bugs":{"url":"https://github.com/jalik/jk-schema/issues"},"license":"MIT","readmeFilename":"README.md"}