{"_id":"reindeer","_rev":"48-8487ca43375ba1236e99425458dfa799","name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","dist-tags":{"latest":"4.1.0"},"versions":{"0.1.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.1.0","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.5"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","run-sequence":"^1.1.2"},"scripts":{"test":"gulp test-all"},"gitHead":"ca53d6d105cede58f969c1ce233125379894684d","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.1.0","_shasum":"fea70ed5cf864423650a84e03938228ca6455ffa","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"fea70ed5cf864423650a84e03938228ca6455ffa","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.1.0.tgz","integrity":"sha512-W7amJAIb5q0wa/erfBOMPpGRCiEUs9ETOZuImxdcTNikOpMDZGt3gFTvlabgT/paHhXQZe6fGdG9P2fpO+ABaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAWenNSPbX6LY1GFXUGHopTAwIsJ5s+zEfsaVIbswZpTAiAlLM7Ilb+rSompytllHIwe8zTyGDRB/nDXLQzVk9SCAg=="}]},"directories":{}},"0.2.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.0","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-coverage && gulp test-integration"},"gitHead":"7e212ac72d718fba30dc451e589b8c681a81c42b","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.0","_shasum":"9b37a50c4dee0da812ce73dcff481cb9ba256ab5","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"9b37a50c4dee0da812ce73dcff481cb9ba256ab5","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.0.tgz","integrity":"sha512-dpC3zyQzdgMvX1oe6y70LHwPtateko+Hb1EH5rfVGHG54fvKm6lmPjmysMBHVfpaAbrLchqMXLKmR47NuRNARQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGooOM5dWUEMwLXETUWvVCqtDhC1nQXbakEfptia7+OeAiEA6nbBUz5onFERBP8QDol6sj+0Uqa6EcfVp9J8TTOnNPg="}]},"directories":{}},"0.2.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.1","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"c6a2c2896f6bcaa10468465e8d12ddc3f11354ad","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.1","_shasum":"4da5da926fc5c9cfbca40172626d9843074dbca2","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"4da5da926fc5c9cfbca40172626d9843074dbca2","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.1.tgz","integrity":"sha512-wph8cc3OLezEnOp9jUM2Pz0xt+8T2LpuUyUg6iLKzCRKUPW41lwQaOTJApVsDc/tzp4xO58NYTBgUPfQKv6r5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgIf3Rhod4LlDdqzqgp7G3oyRQLVOnFdyAR7Y4AB2HOAiEA8NAjiuqgWPgfTJWIVGGvfsDsoujpXRAQX6mX7/EDfQU="}]},"directories":{}},"0.2.2":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.2","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"92daa245d541f5b8f8895bcc7f8a75978084d2a0","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.2","_shasum":"ecee595020662d425198d59449fbbe17a65b16d2","_from":".","_npmVersion":"3.3.4","_nodeVersion":"4.1.1","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"ecee595020662d425198d59449fbbe17a65b16d2","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.2.tgz","integrity":"sha512-gXgUqxBYOiL00Xb9tGu9dFXZ15fcIAkvpZwBplsmaMaxL8SKIw/y7MJoUvR1WrfVjfo5KNmQWYpcAuAJW1ppCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBner7V/49JxwzbG0S1yZY7xRNnp4ct5x4MsWl1l10R7AiEAupBlmagXbvhxuslR5D+hAX2JJEXtg9zvaHWd8Uore68="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.3":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.3","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"f4c46e5b8fb4f8c6c33116fd863353b0f2a38ccf","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.3","_shasum":"5026376ca0910f7f36897deb1b41d85b128c1dbb","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"5026376ca0910f7f36897deb1b41d85b128c1dbb","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.3.tgz","integrity":"sha512-9PdSQcp5T6+YwhkuCX8kBZ0lWMwTuX5jP5vRe7yFy+3Jh+sVbW7gXv4Zghq1Y929PJvXsiTSimk0/Re8ZYnJKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBo2yBtqi2DOSjFc25aR56r8K2PhxiliR7z2nA5hzfcRAiAq5IyLmFcDsOu4R+70HjkOMaACcJWYV5pvr6dz40D2KA=="}]},"directories":{}},"0.2.4":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.4","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"a6296ba4b6ac46727e8133cfba4712ed35b503ea","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.4","_shasum":"aa228b86d00329ce034f8bbc451050092d4e86bb","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"aa228b86d00329ce034f8bbc451050092d4e86bb","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.4.tgz","integrity":"sha512-OnExZFFpCTmZ0HNGblzLkISrHv1PZSkOVsvp2FT4s5sBvVvD4yFtgwHi+gcQgul1GvBjC3mn1BTD68U0d+v+VQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSPbmh1e8tjd5xxylPAgW8nbfoYmE0I2cHTLLRFS90rQIhAOK24ORRw3nxcm15INNKZiu0nOnMM9pDT60mBnfOiaLo"}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.5":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.5","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"a9a9eb54821c69b3e5200304fe1482b7ce35c502","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.5","_shasum":"151c53df0897b8ea32202ea8a4bc47f9b3b67eab","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"151c53df0897b8ea32202ea8a4bc47f9b3b67eab","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.5.tgz","integrity":"sha512-We7cRlh6S+HdR0GEg+gtqp/Foy/dFzlacYzWJA13mqshtNYiiy9vAH5tyBO5Lf1uU+goeISuBbpnhlurrtGodQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPd3arLb7u8wZLMaCH3JVBAUR2IrYKbAQ/RNjXuvGPSAiAzT4vcG8l1VFswVpAkRDHsa1EudeAIpuZa3Ozv9lFXnA=="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.6":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.6","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"9cad1057349439fb81cddb03f62104810957d7d7","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.6","_shasum":"81f220222c0b009fbc8316347887ce6c87109cc4","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"81f220222c0b009fbc8316347887ce6c87109cc4","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.6.tgz","integrity":"sha512-x+53nCS9LhYH3kzR5pBk/kMrJBdlBfN27XetMeXyQ0w5JA8mLes7gWfJVN5GMDUbsibOHCaG/fBJDxlz0cWpGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAMFFHybga6nWiPWql1u576wz/hHH73CjDFhxbn2Ep/0AiBXKmO6MkSpsHd1mbLfS/jtdYa2MBr+qJAYWjGOfFVGgg=="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.7":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.7","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"3628e7ea5585a112249962157a685b61a723e837","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.7","_shasum":"0b314b753c76be483a6c9dd64b121e49320f0a32","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"0b314b753c76be483a6c9dd64b121e49320f0a32","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.7.tgz","integrity":"sha512-GsKxnqD2uq7Zw0NOnoTnhwCIhqf4lDEYyNOwxz+s/Hym7vjySN4m917B29LjDEx82dpVvdQO1VAVFF4c6ydsPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpstvo5XHnM+MO3G1XChgJUZM/xrChmkLsG2HZkiITOAIgNlzLzgk5B7YC/8swAteSKCY3lkOAILK8oTQtDC4m5a0="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.8":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.8","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"36ac9cb474b95f50b38166e602b728cd4e31866e","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.8","_shasum":"88a0f7937451286d61f16ad3825139184a29b7f0","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"88a0f7937451286d61f16ad3825139184a29b7f0","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.8.tgz","integrity":"sha512-ZQPwUYPyNZNFCx0Tlcqvf3ChP903hVutfXL9RFoxJ0SO9J2oFu8t9IGe6tWwVKLA7NJk9Q2gaMs/ufqOAgsn3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiRGi3TL6SMNEAPah/Gxx7Z95mN9Sm2FjcSR8LH2qU7AiEA567RmfM3t5GSL9SLCY222t8sBlu1Rkk+XrIkNE/dp54="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.9":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.9","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"b33a7aca4511ee1266055795062d85eebe5d854b","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.9","_shasum":"878a60e117a2d7aec991116b40040043ac0708d6","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"878a60e117a2d7aec991116b40040043ac0708d6","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.9.tgz","integrity":"sha512-LBXHDcNh0Vaad2joBwGUBQZtvXSHYR1Gd3Kw06/Ft0bcSkzRoTS9L+1D9wq6xttXWFySILjrWstZvO58uk6EWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFaUKwwbRLDmHEGWet8ah0jHA4H6EvYMmS+fUiyOMbGRAiEAgWt2VfSrYSQvBlHV4jC65H2sOi5O6iZThMGFDbHvBig="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.10":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.10","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"fbc1028fa0e3097bb7fe36f57d20dcfec66f117e","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.10","_shasum":"78fc469af2c0da4556f0a520a37f4465047dbbe5","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"78fc469af2c0da4556f0a520a37f4465047dbbe5","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.10.tgz","integrity":"sha512-OWgksylAQSp7YEU+sXJVzaYCKtF+Tc0Yj1vkIzv4IrnVcrbG28Ub+Ml+v6dSnNtKEXrANqnPZ8AkcxHcJYEq2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDis+mJYmqc+CgM/7AhwBTP9/eQlFC+8TRYfuZ1U7hFBQIhAN+dNROrdikTfL4u68PuM+nDG6G4ErJiPxAOpPiCiiOt"}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.11":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.11","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"d7e3303a846b9a7ff66b221fb1c5b31e1e1291e5","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.11","_shasum":"469f5386bb55aef8cb832721299d8745d0bee7a8","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"469f5386bb55aef8cb832721299d8745d0bee7a8","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.11.tgz","integrity":"sha512-Q/QFFuMvKRwPBr/RJjWTJ4B9bx7z+7wiDN+iyE05rA8PV4KvuLD+aTuksJdd/C1DnIvOrxmF2VFj4Xc8Q4O32g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnoPo2Jl2+hbESqD4gtIuROmbCEcxbdswgqRALJg8VUgIhAMn3EYE4i9Ad/zzMLZF8F7dvjULqk8rHIvf3CX+TtVPJ"}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.12":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.12","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"1e061d17c35355dc9a9e584bb1feee11015c80bf","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.12","_shasum":"93a7b4330b639bf40c5965d42726c69bcbfa29ad","_from":".","_npmVersion":"3.3.5","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"93a7b4330b639bf40c5965d42726c69bcbfa29ad","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.12.tgz","integrity":"sha512-W6iXPOGAESoC4NvJ5nx+ZtV0ffWFT3meYAGiPHUEwV+2xaPk/R0uHftD+iuHNk32vGzQ4AimvT3PqLYcohVPqA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPhysfyzDfwzDgvBrqu4lpIbmXuOBKNEAG649bjSdyPAiEAqwQaQ6JlWEfhJZKUi4gH7AW/2yLLp1fqpLxKw24iZWM="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"directories":{}},"0.2.13":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.13","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"c03172f27eaff1f4257b8642c6e9a5fbd0ef038f","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.13","_shasum":"986b152de39eb2704d8f27d22cd9110086752844","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"986b152de39eb2704d8f27d22cd9110086752844","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.13.tgz","integrity":"sha512-rifxrJkNEm22M7IRxRhS2iorQ0hihemkmbAZEHCmxY1G7X5grRsVS6F+zhLUHUYOz5hLiz+p0PSzS9enNlUAvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFBVa24hy6YkfnQ2Clcd56oE7kA48VUv7KVeHl3GQqBBAiBSdiE1EotmsSWWvWkfVgFujpihBAgdB55vhw09ZvbCWg=="}]},"directories":{}},"0.2.14":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.14","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.7"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"fe28d55df33e428825ddaa09e806ba1fb54a5a84","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.14","_shasum":"ace3b1d31c5dabeac6adae769361dc1af99f7eee","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"ace3b1d31c5dabeac6adae769361dc1af99f7eee","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.14.tgz","integrity":"sha512-JzYIEC/D/vBA58mZ00Lhw5HJsCZ6cOSeHWPjIwudOffW7k6+Tj8l3lc9dO2WZny3vojQlwGZDl3LhkxLmg02Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClkC4X6ipe5hAKdu4VkgMzM6b7M24q3i2jeSsUiTQnVgIhAI1GlWSk36IUf+c5U58oG3zYGBPnycSt7vSIgjp0ZSUR"}]},"directories":{}},"0.2.15":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.15","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"5e313e88da849ff9c763707f4316c044c3592cb9","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.15","_shasum":"0461129e70aebc919c3d427c830b62dc2fe8acaa","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"0461129e70aebc919c3d427c830b62dc2fe8acaa","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.15.tgz","integrity":"sha512-1+hejzXMQW4iaN9RN4ckutpZA0cNY2xwNvoQ5+H23TM6xdCxlggd/IlPtAqCWe4DffSwrchQxzTEWr9b6eNFcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDQswLeGekai14DJFSxdIDkp96A7pytMyflSfrkyIel0AiEA+djZMwbrbg6OAQBx0dfoJNa1xFcuKhpDh4//JMC5nmk="}]},"directories":{}},"0.2.16":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.16","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"57228c35ffba095596102979af5067392caf6d0a","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.16","_shasum":"c2bff4a43aa5d825b6dcf6eef0ccf5588e9f63d1","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"c2bff4a43aa5d825b6dcf6eef0ccf5588e9f63d1","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.16.tgz","integrity":"sha512-tndJIkjTrCsY/TXqagNXWTW5JagyQhJIZkwy0UrgCyLZMvVZTMQAv+keiuYT2nAs5v7Nfg/Lv9EIJr9CrCN27Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICq8qAHD+uU+AIClNnPJtW5r5ktkVIJMfSqyDwp/+xnNAiBJYYq+b83Qx2geFNO8wVjFkDHdxY7y4TmYLcOq+DKYdA=="}]},"directories":{}},"0.2.17":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.17","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"64b9e59626cebaeecda0f60b2e0c7358f2b80d03","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.17","_shasum":"bade01406214b61bfca0213fdae1f9f2ff8d805e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"bade01406214b61bfca0213fdae1f9f2ff8d805e","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.17.tgz","integrity":"sha512-ZilnMcHqbDrrfmcYLzojROjIDtMqc2ePbm5LPU9cU14xcetEEjPdIWJiuccQcqkotJKpKE76GXwsXqrtPBuKQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpWhTR/iG+uBpCkfL8ZLU4JNi+FPTm5ZnnFA3LAA9m/QIgODYm4PBI9YtnzhvbDZmLYmZcp1pGHDjl72sZURDoNEI="}]},"directories":{}},"0.2.18":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"0.2.18","author":{"name":"Joshua Thomas","url":"http://github.com/brozeph"},"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"2c6f936bbf7eb593a7e4817b0b391909ee0469f9","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@0.2.18","_shasum":"0a025c5ad298721d0b36fc110010c217aebcca7b","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"dist":{"shasum":"0a025c5ad298721d0b36fc110010c217aebcca7b","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-0.2.18.tgz","integrity":"sha512-XTlIg+0FrJt/q5Hzi6vXbLglHPsKgMJRFoSrtzR1d8QczOE8CwIRNTbyGQsXq3WM882V6Q9+KcspMaGLCJeF1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKrEgy+0acVU4W44apBm6ssjAQQQNsAGbxPphlwt3PnQIgbLEujBtqQB7o/l2XCndWJyTRQjhGyq9LUsg1o4wOwnw="}]},"directories":{}},"1.0.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"1.0.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 0.8.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-istanbul":"^0.10.0","gulp-jshint":"^1.11.2","gulp-mocha":"^2.1.3","jshint-stylish":"^2.0.1","nock":"^2.11.0","run-sequence":"^1.1.2","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp jshint && gulp test-integration && gulp coveralls"},"gitHead":"16e1b3ad2ac6201d10c0f8af58a81d72c4f8d7ad","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@1.0.1","_shasum":"c44b52c68a2c4105f73f08d56d7c0fdbc0803e05","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"c44b52c68a2c4105f73f08d56d7c0fdbc0803e05","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-1.0.1.tgz","integrity":"sha512-Km69aVT/+vGk8hs51tCh3tvD8fTBdfzvW+iCFDIjDoek+vPO+5MJ1Pt1lY4zgNWETR2OwrUS6REh795h/wVTCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzdE54sW4+ujLc3Lo5iz9sZpV3lQs/mFI04Kvumz260AiAPfCP1bS9PSMHRrWaVosmQ9QuqhdKwGq1URNVkRkC0gA=="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/reindeer-1.0.1.tgz_1465320252768_0.9950294392183423"},"directories":{}},"2.0.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.0.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"3fff143b80d68d0c9386f11219de6bbebf6a04b6","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.0.0","_shasum":"3a5ad6f02415f7236421d98a9c45d813c1aa6c46","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"3a5ad6f02415f7236421d98a9c45d813c1aa6c46","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.0.0.tgz","integrity":"sha512-Kfkq9ytxK6AD7p9T5vz35yMvjD9edAoU2pkeEyo4x58GSBogWGAJ6kd8pqNTunmfNYQJElUeI5ZBFYQGwz8wfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDivCRFHg9ghfOH6fmIcSmiurN51HxG8Ux0euvDV6bJ9AiBEl0OZvzyog+/xx8fHOWDtN7OYePP8UCr/u+chs7VgHA=="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/reindeer-2.0.0.tgz_1469206008765_0.8026543918531388"},"directories":{}},"2.0.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.0.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.4.8"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"2962f4af437fce9620cba45b0f8e7abc209966a4","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.0.1","_shasum":"0561197f5240bc293f1c023e6490ac9326f507fa","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"0561197f5240bc293f1c023e6490ac9326f507fa","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.0.1.tgz","integrity":"sha512-SB19EwuujJe9MfZ3YIJAqqxAmPf5Of/8q5Ajge+JDii8Pku1H5EDv2Wm9EOgTwcqC+KPz9cexIGlvJPjtLUTCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJ2OdqAXDZyOp9BcWT9bV1jF+bF/lZc4aI3G0K0rfH1AIgW5kGPLvP+OEGiUhq9bYHJD4Q2mrW9N/gV8h/jwPwRBw="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/reindeer-2.0.1.tgz_1474679675774_0.10470693674869835"},"directories":{}},"2.0.2":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.0.2","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.5.2"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"261766889040fdf35d9270929f6938724454b891","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.0.2","_shasum":"7ae2cef1a16fc1b72eec0e8a75cd17daebbe09b4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"7ae2cef1a16fc1b72eec0e8a75cd17daebbe09b4","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.0.2.tgz","integrity":"sha512-zmplooxJzAWrn3AeNlzH6ZS1RFxRpbs8GdDNGU8CiQ40DIVgcbbQvHO0fi30sJClTVqX8v0BG9gnKz6WPewTqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3La9BnlCA33aShQIE/l1rFmOA85Ri+HDmnJTizj9lYAIgZoSy8eJ5QOWb2u7ocnhas8GufLi6gya3IABcjXFr68c="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/reindeer-2.0.2.tgz_1475774949157_0.9645967460237443"},"directories":{}},"2.0.3":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.0.3","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.5.2"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"566fdff547281788ac4279e59fc4690f72fa2082","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.0.3","_shasum":"ec5f362ea97a13e7ee22870bad1fa49447b001a2","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"ec5f362ea97a13e7ee22870bad1fa49447b001a2","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.0.3.tgz","integrity":"sha512-q6MnJO5oxEyf1UFZZaRWUuI1tBE7LLMcnLp2VkmoEx0Sj23xfh2iVNX/veamPiwFk7NwpbHlY/3dhqxOF/OsTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHfP/DvMlgluu5lM7I70Y0o/keW7HvZnCcgJMMswJfG2AiEAiEjOJgq4fbgcPhYkshRw62KxHFrTDjJqGalkLMXu9Rc="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/reindeer-2.0.3.tgz_1488385480882_0.9636680532712489"},"directories":{}},"2.0.4":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.0.4","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.5.2"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"808410aeb7fb024a304da55829b7a409e15b7230","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.0.4","_shasum":"2fffb09b85aca54dffb1ac7bb8f08f70faa0d8f0","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"shasum":"2fffb09b85aca54dffb1ac7bb8f08f70faa0d8f0","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.0.4.tgz","integrity":"sha512-VJ0OnDeMzrg55pnJkPXKnuuH4IWFcsY6TLVtQ+UKuFh7Yw2Nw2LayPskKgZEcoFj4oy5Jpyr7EH6/UFjz57OkQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETAphvaIiPR3AHlQmJQzIUWe7s0EwOiwboJXw02gySTAiEArrkvv6pm8kU9gM5LhwPvIIR6P5HK9azLRFB5iNQ92GY="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/reindeer-2.0.4.tgz_1488405889066_0.0668273395858705"},"directories":{}},"2.1.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.1.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.6.0"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"e7c2e49fa30663c65b773f3a1844a14105a5db1e","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"integrity":"sha512-Ol5E3gIqaFDiNI8cvmTW7RN9POiK9MONXmwsckj7ovGJhSzbIRObI1MstyjqrVe60ELJe48yp4tNpJXGIX4hHQ==","shasum":"069eabeaa0a51c5d19f240dfdafbac7ea861555f","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcATKiucE59x/QvJMkVl426S4xxbcE9zmsaxgcUkl/2AiEAhNXEhTLCkmZ2Ga6P0I8PevBRXRLxJPAx3EoxLnT2zIk="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer-2.1.0.tgz_1508943743127_0.8520185817033052"},"directories":{}},"2.1.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.1.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.6.0"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"58167e924d037f4ef004a7ca1473ba1c308bd455","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"integrity":"sha512-c1kfeCs0WzYoNBB2vH9duNFRotN4eDA7pwsT/SSbGn+rGv9pvHUO3O7gP84Bf9mziV3kcgRWIK5nM9VAbe0EZg==","shasum":"b2bafd972ad078965ef0ecdf809399dd95da20ee","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmMwWUV+91t5gTzWcAn8QhmJKnWtUkYeb7CXlJIhG2LAiEAuQ5U7swgI//XQe+T1Kg0XRLKumoSsJFzus+Q56ziEN4="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer-2.1.1.tgz_1509567406118_0.99294582917355"},"directories":{}},"2.1.2":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.1.2","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.6.0"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"9e5fbae435cf1a04a11d7a819629d92e6b938984","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.1.2","_shasum":"9661694dd7909072b32ce9f7c30b827b7d651786","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.4","_npmUser":{"name":"rmomii","email":"robibobi@gmail.com"},"dist":{"shasum":"9661694dd7909072b32ce9f7c30b827b7d651786","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.1.2.tgz","integrity":"sha512-DWE1wmmUujPQ30qO7JgrEq4mpXa0bT3LoRQJVq3cAQHM2JTwgNCNY+CMq6rNf5PRHWAznV+4pePAlpEp4SWs4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2qF66eu/apXl/11FQG0MBRCxLNKD4W7dvzK2Od764KQIhAMnurywBIwVkm1FCY1T5sUhT48oj1N9kCIwFC48I9zlH"}]},"maintainers":[{"email":"robibobi@gmail.com","name":"rmomii"},{"email":"joshua.thomas@gmail.com","name":"brozeph"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer-2.1.2.tgz_1517262964676_0.4880089359357953"},"directories":{}},"2.1.3":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./lib/index.js","version":"2.1.3","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 4.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","dependencies":{"es":"^0.6.0","lodash.clonedeep":"^4.5.0"},"devDependencies":{"chai":"^3.2.0","del":"^1.2.1","gulp":"^3.9.0","gulp-coveralls":"^0.1.4","gulp-eslint":"^2.0.0","gulp-istanbul":"^0.10.0","gulp-mocha":"^2.1.3","gulp-util":"^3.0.7","nock":"^2.11.0","uuid":"^2.0.1"},"license":"MIT","scripts":{"test":"gulp lint && gulp test-integration && gulp coveralls"},"gitHead":"b5b967256168a2d7f299e471172f78cda988fbcb","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@2.1.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"integrity":"sha512-V5/MbpIXGdphLkMtFk+WQBquE5KQeHhmLZ5lNJWyILVifzbr0ozePuKMWkfla7i+XB+TcQlNFihBSiVILgte2g==","shasum":"c1a7d5dd73f32afb333f374b0815f0697005a958","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-2.1.3.tgz","fileCount":19,"unpackedSize":212954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbz12qCRA9TVsSAnZWagAAupYP+wc7E7DpQsn12+5iiKV3\n5SCxYRUIJTJMEqkC7FhcUOqja0wQuNMnb9J5CBDAuOFaO4OATg47dvqRubV2\nrtWAc4VnjzWv1Xt2dZiBaIgQO+mY1QFqrrP00AJJcNADguhmBvFsLIqnc50Y\nbpcn7yKAORaJ+BcMocytVQqBvoKb2FWR+JErexm7AbZP5gz4M6QaDYTLpET5\nch4GoooZKWtGz83H/pgyT6YZE2TEVOp6wC4sWJI0sd2T6ijc6ER62WMAz4LI\nJeiLlJce32eWHvJQjI5prlQOpf4d8irqT5Q8SV/k9ety1bxsEVg0LhfGxkh7\nq8yFnAdiaVB5MYeEDdGQ663vA5PfNGOHlOYrqHduL2xM+b616G9IVEl/6aIc\n/3HgsjPbWC8zZiSwqCdRDt1C59znkngDpGnTt/IsqnIeBYTZOcENT8VsqiOz\nazTvaq4yY8onCHalGknZgNJXIUcLb7ziL+v9K4SIxLmjOFeCjp1zLdgiqeqC\ncUih17jA23AzhmaShK3QMscPQyUgJxCg3FGqzxq4UGySpraG/wVwZvptZ+9h\nyS41TSE0PwPZJBOFeQBKPct6sFxnbSsU6o90v58Dxwnh7SjggpjHaN1FdtKo\n8jrV/PP6Ah6hbVFhDclU1tXZn4msU3DroiK77VFBLAYkBjLWJFDXydvmQx6V\n7FCD\r\n=ByOp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDx80a8n/Jb7wfb5z8G17tHop9jHydcULyYRWK4lmXDXQIgSmqnrnj2X124bYi30UjV8jrSdA7gwYyw3f3gmAhJ18U="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_2.1.3_1540316584955_0.9263676704571786"},"_hasShrinkwrap":false},"3.0.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.0.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.6.0"},"gitHead":"1de39b020eff125df49981ace42e0a3244e2bb76","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.0.0","_nodeVersion":"10.14.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-rX7o/P0+DLwQsweqaK9++/GGu/mCYuuWrkmLK7JlJSAAqDi5SuhEN8fp8dRDZc0IFJzPtiiL3oUc8gkOOXV9qg==","shasum":"9ad993aafe8aa7a1b1e0e78c4816a0e1006c2ab3","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.0.0.tgz","fileCount":15,"unpackedSize":245662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbHWwCRA9TVsSAnZWagAAk08QAKGCx5/cbqzW9Ta3H4eE\nQUGKbyhAlW9qDVi6fZlTlqcro5jt7uOLwstk11lwOelWM/YKs00YimBW+Woa\nV/wcBCmsy1c6outRA2GFDMbm+AhIQK2zF3uecumXk7RRJMI/MyfqgYsqMiOt\nGQsGvMXLPVSCkdDs2DoFd3Kp0wdFP2IgQLV9lSdNP+66xDePsLYn7bSnmC9g\nEt0xknyLDQEs2jm7sl/inBr6eF+Cxm7soBnDtv1sCAc0NF1EQ16hlHkeoPFd\n9AP5rCo2m+0pPZhiIlwyo8TA99xtkdIbmHmJsYhZzsu63V2i08OyLnIVmxu8\n+Z3PCU842p3gfpCNLYdEdHPEfjoiyrbcpP8ivYDrvhMbP49nyAIZHjmIgPmm\nyPG4VkiLcsALGiSZlf4AJETyxr+bvyx2QfwxsSOaWriWvRGlibwmU/tdoSSa\nqqiEJ0j4cX8W2XLXjm9xkLlS+6muNAmkas0FhMszB8JivZVwnfBaoXZCxHtz\ncJjyPtZVkYcNHwXigqS10b7HictcvwtozkOMK8R5EXZavHNhrs5iD+ITgrmE\n9L+ULuknxzzjxmUA1siu+DfcZQOQNkBEGlrS09e2Pl8hRqSw0LyoL7zLZ5on\nJ8sYJZBJQ/dDbtZcf3SlykMYKSf/qXhZi6gorep4u40BTGW6CXvKkqLD7Qj6\njIdU\r\n=gIhm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEc6RZ7OZVWxBPoubjKGwh8vhQ+nv5x9mFNvhClbHsLpAiAsXYngXHfs1Ynu+gT55auXK4pqHKvRSuVXq6MHU3QcnA=="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.0.0_1550611887658_0.28784959406575994"},"_hasShrinkwrap":false},"3.0.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.0.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.6.0"},"gitHead":"79b3588801e56245909a82db7c859e4c6c0ac7d6","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.0.1","_nodeVersion":"10.14.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-wvM2AljqNMaI3fSY5Pwkl2ran50e7n86sMdr2AAwyv4zMAVtSnFZQgzq+jdfBh0ntLjjmgGM69OMh7MVoqSCfA==","shasum":"bd832f00afa709bd7858296b525994f23447b409","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.0.1.tgz","fileCount":15,"unpackedSize":245839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbJjLCRA9TVsSAnZWagAA1WIP/0/7guoZrDVc5u7kpX+k\nKVp/Hr2NuaVh4yUZbZtJVLAvIxgseUq7xy3IIjcB5BCwegW9sqlOOCng9c6M\nmgfJoMjXrOGjtD/3cPqSZ21nly94/EA4Gzzk2jHQ2gPVXcM3wgxXJ2CeSTSC\noqWcc5JPcTz1kJkLT5s+fWTOuQTlSlM6AP+OBBScs0ByaF2BN8cumpOLRynO\nbqFTBQFLucEpWOPy4NeR4Zho+bgvAL2SSr7mPd8IiAeTDcmUKimJj2yDP39d\njbbUYw+7Oq5SI9R41wRDkc9AJeC4c9eq2m8CUEvz3Hn7X0alICSsLyRMjA2n\nwYIuK7CSjR4/sBAFv8QqEP4C/zcmN/f6YicGH7niG7jUwO5c3B00iYfd1p9Z\nQRL8RUZgPCtouNv3+STsLhtYDwzH4ddmYnn+DLMKBXHGLxQg7htjcS6OvWoy\nNfKI+F//+V1CDa5eKFvhxzpflF2cd7rnK7bMFePnqIlvARwUTygbHkxHEstM\n12l6zrNfIrJfnEGSVaEcojnWgsUAFjDF31WUlWI8LRcww+SWH+ia8TBsWXnT\navjUnQFz7K7ddfYw7VKW0E/hDsqjQOSCuj9BfY5JTyXlnGrbd8CGeQPAvNSK\nFuMDb6nLLpLlfQVAQ1xn3GwIIj/x6mYmZDq4GjorzbNFwCiVJ/ENpDaSHKOi\nBzXq\r\n=kFpC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEV+BtbmkXniNLPpzTzaxmYHFQU5KpHC388Bg8dlznseAiAaJQvqEZZLmC6kz8yGjgqIKt69aSEw1m/tYSQVMUuozA=="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.0.1_1550620874988_0.6538856368505597"},"_hasShrinkwrap":false},"3.1.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.1.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.7.1"},"gitHead":"7b426af1896c09d5b3466d98776e2da534a14d2b","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.1.0","_nodeVersion":"10.15.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-vlm/51Gr8P+yHQulK1mbeWnoGK1Tg6B93Out76u8JebzJxRjO+R9EHActonbkqTFP3frhoCenQCI5ouaNGEsSQ==","shasum":"1f494ad9382825dc326058cf481369beca6e126c","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.1.0.tgz","fileCount":15,"unpackedSize":245919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgBgKCRA9TVsSAnZWagAA7hIP/A5TxXeRYwEixZ795rXv\nXvA2QAujVdf+7CxjjTg9Zb2XBX+AmBlGpjwpgj7kjtCPHaxwpDla/SHShBAz\nQdWGWpv1GA8hPWOy1ecYhoeAdvlU4rmfvNT9m5SNxKiYsKRLu2swkAa/QG2S\nqL84wMOBfDe9pUwXlwD7ck6Xrs4A3FYMwb7yJmENZAp8peU6zObIIrW2R4Su\nd+JIFwfDtA8ObNM14Byzh4j5KIcAA4U/HenhakpvZtYrBja85MghgGeQBjiV\nzX86iNb0OGZ9gHjH+Z8g7yGJBenny20e6RSn8VIcfZbGpCuQnIqw+xgkZUlY\nxno+o6cQ9d6iGsHCx/zdG5Lxzw/ZBgH7BOeOoKAxZDfv8MCpvUS1L2vx+1FS\nXKY2hF5D477CkldKRA2rlGzIT8H+JvkwsYlWNpuCXqnH07EeYzfz0LzmFsWX\nQXaTgng9iSodzRbqC4YvIh/KujJywfN1eGGgmlzI7Db5drxJ/7olKr5RxlRK\nqVjjQVGXhnpp2HvaSToA6WOQhPpUAEgjk/fj5FE15oUILWpwl48JHvZZ/g/s\nQUh3Irmo0xQAHVDGc4nsxHthQ+hKtK35HxMx41X23sM56xCM8TWpeKane/lY\nKd7T8pwZcGTR1b4XzX+J2Rzhd+VZZoc7e8+ilCn0nbLle4hlrXGvl/Z3UUcM\nX3Gz\r\n=Dquk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf3cqvPMxrNSqdmh1GDRQofLnGnEvuhYqdR4HKFm1xtQIgTAPvFnwzEEV/VMcVIvalY9CB54/PC+Zf+bBaplXsHMw="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.1.0_1551898634151_0.3954621107983127"},"_hasShrinkwrap":false},"3.1.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.1.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.7.1"},"gitHead":"895f0e3682b951f1a5c1117f8b901d33bace6076","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.1.1","_nodeVersion":"10.14.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-dPvcMvRIkdq5G7tcjzR5wIVl/EBPYwzU5G46S08Y6dP1YtMBajLPcq8Li3q1gR7ZQUODfBvNASVFMocTOKFMRA==","shasum":"c1329ad8dcfbc868ad00c79b95393657eab96fa1","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.1.1.tgz","fileCount":15,"unpackedSize":246668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchuJuCRA9TVsSAnZWagAARtIP/0ec06ce2Xn6DiMNoJFa\nhDbA9VRq74t73XKT3BrSX5JB+LVRZy9xWZCO0bfGV+exBDZRxKa36Ntm4MBt\nQ12ADApDYC8QUzocSpbHRVnT1P/hNZF0553f6UmtiSHcr3szINI2EHytGFdE\nZxxYbJkfXiR+wpiiZ3ehr4vF7S/KXPnKwjXjhEb9rnar7PkTxDMQO5kWO9+G\nedKNsA6bYjQghonbLm4lK4u2cEC+d2/BVLUSOEZhU0+znkCoOeCjPYGxS69L\nCbTPFoDsfFH9I1609TIsyHhwzPy2vCPpysZnY457W1XRtcncUFqU1Jusqv6H\n6LEwNoI0NZoQps1jbyCiHAK4ox5hQpl5+zY5XVf1cWD3mKBzaiIsnrDSONx9\ns01a7JifRXuWeU6/cyl2/hdWcKiiQ+jtnSNGiNWx99CwGi9XtpB1sFxA/lOR\n4wvluALPYAcuFXBZz/VMbtgQgvOq+2JvS3TGJvyrYQNTzDqxCjKlIyy4f6ND\nlYnBkgi1r6652Wm98G6pqqioYlNKdbh6yQPdgFw44p7ukxR1oXPKN32PNq1g\n3lN3PuKXSlrghzccMcBn9AuV+XcK615hbtmGUMNvjC6vU1jJ+xAySh+3msbc\nAgRNPCfXRRNBcm196X08CQVlostCRjOdOmp/yqNpCR0JAcoWowDY/Fr1riFM\n6+oY\r\n=FZeE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErzPzTqEb/Qwdx8rMZ6EI3SsokDTGo+ItfWXtHTA0FmAiEAxcweakiyJZCZZ2E4iXLwHxC2rGV605Dsp7kx34dpf3k="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.1.1_1552343661154_0.43489395776457895"},"_hasShrinkwrap":false},"3.1.2":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.1.2","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.7.1"},"gitHead":"9f743ab5134108800496a5d7328ede99c547b7a8","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.1.2","_nodeVersion":"10.14.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-k6z809vgjL+WKPI2K+xPeaPVHi0vW9EEIdgLGJkBTPq9f/3+NvA7nPUSdeEQSadLYgsTrrprMK7WwZ3GRma2/Q==","shasum":"6398ff11707a43e59d05dba5241d6fa4c2040c3b","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.1.2.tgz","fileCount":15,"unpackedSize":246770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchuXKCRA9TVsSAnZWagAAIgMP/A+rUmQvohgnHiJ62voJ\noFyLOnG9+VtTVnKMBYkbTnoJS8lphvsc0z1wLWyElq8cLbbQ7NCyGiKoPfuf\ntr1WBx4Bouj6gyLNJrcDgdurrAWdWPudyrjCBExMuhE786V6LxIK661t+vUN\nLyer1eGyjePzJbqfkb8A7G516Uo/314ahjEYc5z530WqfVByRgJJqHMdUkqG\nP/XlQsmHL3SAqsMVtbJhD8My6tOGoFI33n1PwdSJzucIS0lr2XZJnluTrxga\ndrhpp88qXpZDN7zJ9zJ5FzYMsyQQ1ZWtvJd2xx7CDdOD1eaR3TVUe6AhOLDz\nhJHgWh88lukXt/Zj1f+KflLie5WWfLTUUxtITBPRZncJzwDNL8c8w+WwUphA\n+1mwRj2VEMyALdnpiW6paL7yEPs8nBndEmQSEKyTQaWRDlQ5S1Cfm+cH4nfu\n77UtoXw0Z6jCSroh4FSyooWlEOtwDWWi23LkS2OyLFvhvoeyDqyktXQXrCe3\nVGwAfLn2IMUkGrUtd5dA1zwALN8FKByCHmn0ZY9QNsIFLqdhHqckNg0D4lpU\n9NJzY/97X2mSRB16jdpqJ11hLiJvHVIYPKizS0JZIxQeyn2j76QuarWYjGo7\nJMwN0xqngNHgkJX3s/I7uLoLfrp+q4uYu3J4B9hsGnXbhlBkpOVRKoO8CH4I\nMN2y\r\n=uAKZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZmL7/4IkYgzIRunGI2thctKL8tuh8KBKkxydX3haSFAiEA0p93DMIz6bG9QrqsWAGxn/aBeyxNRC++3P/sIXQKnAU="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.1.2_1552344521754_0.43935762516766896"},"_hasShrinkwrap":false},"3.1.3":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.1.3","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.7.3"},"gitHead":"401fcf06ac36200787877b80a4c02e9f67c2bd76","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.1.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"integrity":"sha512-yLJcUIwiWiMmay6QnQxiX/J0pwRA8gKpph6MFPozHg3eejwf+h0y0kamXEsDB7kQ/CweIdKsQX5pdhFVIOLTgw==","shasum":"d0ed6a7d7057200943cc0a6a5b1667003aee05f1","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.1.3.tgz","fileCount":15,"unpackedSize":246857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckUmnCRA9TVsSAnZWagAAtjwQAKJ+waXkjSB2TXiB34rx\nBUZACWMOMmp1Hr/0sVJEDSgakVdw0IdWakWOH8HGTIiXUWobwx1unGPM53Ql\nywfExppkz6cffUnuWWrrJ5YZBm8uZ8jpVEuR+v0Sa9jfPlk+ECTH4DZ9slyA\nHV+CiWY7rGJeXikufP9DheFmg4nZWhbBGFu4unFaluvKrAxI5eodKTPZ/bsY\ntO9Hzq7nx7Mpz2KO/Zadnu/hL23V6nUg7omQHdnDYZgVSfNODUqISFUJUxXX\nxlbWL3A5HxhHnaxsyRuYJhne/ky6T4+a7ynf7zBq+3HNWrp5/2e5lHu54PHe\nLW8iTJxQnwTAwsPGUI/QnhPeKMp6SNJ/ftO2IAg+rKuaeFVoq5g3HBjXBy3d\ncv8gmsFug5rGWOVoogKclYFlb8P2qWSgbFtR0zD0+QWNSenXxXkb/Wtixsuf\nbKAysNlsBE0fnbB24Lxr5TCm4lqrDcSC1+2zL47TX67iQcPfbgpHJUFV5L+y\nMCTmrupz5owC408GBxn6N6AxrQR0wuifcPg5AqioJ4c1N/T0sLk7jNTaDRPt\nKPgRYQPWYPOMvFOI7S19bwSHy/fl8WpkiZ4dh2PTEdRovqmEUbWMvjZHnpB+\nA8vQxwAeVEHDQ4s/C5Oe+KqyV8mGiaalUKYIYPVV6hskJ1/AgFfkReUb6jRn\nn5VS\r\n=ogzG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCetKNiaZFW2JhKf2tvWeamWL0GGfG3dm29F8j9Ci8wPgIhAN2s4perWGUtobsqrcZejLIKadM/xmlk9OalvEpaGMrg"}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.1.3_1553025445994_0.8137155155700881"},"_hasShrinkwrap":false},"3.1.4":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.1.4","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.3.3","@babel/plugin-transform-runtime":"^7.2.0","@babel/preset-env":"^7.3.1","@babel/register":"^7.0.0","babel-eslint":"^10.0.1","babel-plugin-istanbul":"^5.1.1","chai":"^4.2.0","coveralls":"^3.0.2","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.0","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^5.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.0.0","nock":"^10.0.6","nyc":"^13.3.0","uuid":"^3.3.2"},"dependencies":{"@babel/runtime-corejs2":"^7.3.1","es":"^0.7.3"},"gitHead":"be2d920b0b0e61edc20f67fc8e87e6b756a0b402","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.1.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"dist":{"integrity":"sha512-dlmQjP+X0OepPBqFmYnQeETZ8FdswpI0i00FwSM1PcdMOPlSD0fxAFhTDaBYR41nv71qDwB7d8oWvbpYvLhXYA==","shasum":"19286dbe59f2bbc711294d249b21678d0d79f657","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.1.4.tgz","fileCount":15,"unpackedSize":247281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmUjTCRA9TVsSAnZWagAAa8UP/iQyc5urzxo1d1A4prdr\nutA50b0cyJIRQeP4b+xOw0ji+kPA0E7yTOoE5qSBPEhsWMSzycu36miIVvOA\nGUDbb21454WO5+EpnCA5DMLjUSosBInxp1KfzV9ayJ/xmwkYhOyOEzlTvegI\nyi1LKUlbr+zEjhKk8dGhSQ4zTyrquJpQrSoXKiveZGYj/mJWiw167dXp85Ua\nNSUP5EHNvl4mUcR5R/FX1k/WWdTJZvRM+UAQvOwNlt1ylsWW53n4UMpVr0uD\ngQ6hAvqeeBv7r9QMN0tcdksE6JGPgNC6Qo47vPQBqhgsrqIDygXmXE/t3yxb\n8sb9cglP9ofeeV/Z9MsDlPhgU4JKR+9lovMCwo0itNoL4uV6Hp+7kwXhvlvq\nM52Y/QpqfVXTx+jE54xW3h3jdqkx3nyRzh+MUgoJXkgMTA7Q+oG4hu55gmJR\nsHcQaraubDuF7qsKvfCQEjz0UiK58GhRSnc59PrkwJCKQRkjCZDnoCv70Qgl\nsCK21t/xPF18jTYu8Hgil1l752+40BTHn7yF144mlxEE20FE6zLbuVNlCxmC\nOKVJmTmT4d9UBVIXqSpTyOx9JY37qr0W2xc1+T8t2EFS8Xp8DfjEKNfXfWns\nfi9DrR1+qxT3aiqsY+ESt7q7NS0uDkfF6mivDps8tMjmi6X81Ic9qGdYlNFM\n49XZ\r\n=EkRs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBb2CbGFHJxl3+T7PrNk/Wky4Y2nxR1jRNQQKVQAMNXwIhANMUHO/XJvXl7GcC6EiZdgoSpsj81X04LyM7phm2V3uP"}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.1.4_1553549522672_0.36664475945225194"},"_hasShrinkwrap":false},"3.2.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.2.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.6.4","@babel/core":"^7.6.4","@babel/plugin-transform-runtime":"^7.6.2","@babel/preset-env":"^7.6.3","@babel/register":"^7.6.2","babel-eslint":"^10.0.3","babel-plugin-istanbul":"^5.2.0","chai":"^4.2.0","coveralls":"^3.0.7","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^6.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^6.2.1","nock":"^11.4.0","nyc":"^14.1.1","uuid":"^3.3.3"},"dependencies":{"@babel/runtime-corejs2":"^7.6.3","es":"^0.7.3"},"gitHead":"a4720a64e4ed1092b54fdfccb12d72971750a28f","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.2.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fOszIm2k5ASvRRuYC8591PFem0d4y3qxJ7HY9XeItX9JiHmmAcYBr0ojt30mrCjJUGPKSDz82jIAz73DR1u/1A==","shasum":"14a4f607ad39a46071674c7d7d082688bc47189a","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.2.0.tgz","fileCount":15,"unpackedSize":248560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdokNACRA9TVsSAnZWagAAMNMQAI6vFeybo/OLLl2GU0pW\nZBriWhqMgU387d7yIJZy6IGz9b4LDCg7YTrgpyX/nCjyGZ+SeZofyRAGvoLp\n3tmlmy+lMT13Cl+zRmzw1YYv7KiP+y7IY8h6ldw1ux/7IsVcp8sEPkEtks8+\nwwif6frfNVvQTiESHlBZJFZAn3b7t5tIpCm7qtGG/s46kN7g78vVNZyb8Re9\nNPdtPjvtPa55SMmR1lIMl/Iyy50yQMJDPUbshXAdvCIr2z5fixtJcA9I8t3i\nTBOd2tztHGCjIMs95bsU6aEXExlc7LEC8qboVJ/JyPXGBzLam6QEXWAXJyWH\nUtPtiqAytCLX16psooGftG7BjxrDfiZalK3rSb2V/TSW4Ao0HYcXs2pIjtSP\n35rFfPYEc+qg0hH1/hkb4FzoWniNgDdG3VwX3CX/9M8+jByq+6E1D730bsw5\nbrgyzY5lIAYbbS1rWKMsh1rk/2jCv4e0QxSHEokPgLXDVcGSPpM9Zjx8U5D8\npsiZYzkeYjiVOX1PNIbjRZbEJ/Z1feTVLwMGwCdvrEmkq+IEbyIJp40kSmR9\nWWu59g4QgFYAKY3QCcSYEb9ymjrSKg5ORhg+HsuN8lXGTfuxEdQWN0dU5f3s\nRNypt2UgBs6dNki+B8/2bgf+vd3kgkgEYQc4op0YO7aIAuSr7hkoE9dYGZNG\nKFmQ\r\n=30Us\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjTO7dBMKaOVJpqyjpd4rQxgPjcW/2uJ1x+CF+sGekbAiBRCZNTjJRwkxoFYCUkpktsuYH4t7IlU6vWdpl3AlS7OQ=="}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.2.0_1570915136048_0.4251297342738889"},"_hasShrinkwrap":false},"3.2.1":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.2.1","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepublish":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/plugin-transform-runtime":"^7.10.3","@babel/preset-env":"^7.10.3","@babel/register":"^7.10.3","babel-eslint":"^10.1.0","babel-plugin-istanbul":"^6.0.0","chai":"^4.2.0","coveralls":"^3.1.0","eslint-plugin-babel":"^5.3.0","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^6.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^8.0.1","nock":"^12.0.3","nyc":"^15.1.0","uuid":"^8.2.0"},"dependencies":{"@babel/runtime-corejs2":"^7.10.3","es":"^0.7.3"},"gitHead":"d61368ba1514920bcf071b4e97020396cee63f8d","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.2.1","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-M9Xc2J2LG8gXGDsp40l1VCLVaPgddN65o9u6PCM88oXvXeLsIZbGxAX4eCU6M48fOslWJnrPY+6fxkQLf1sAIw==","shasum":"7048b66523a734b638ca1b795c60296dacb37c16","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.2.1.tgz","fileCount":16,"unpackedSize":251026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9PaZCRA9TVsSAnZWagAAjUMP+wa3CQ7w9s7jaEPRm5t+\nsbLcfL3mxlphXJ4nZ2cbhwwpBRIVE7JJNB0WdxEf7+vg5gBexmKn/xyFYauN\n2f+IK1HjzZtCEPat96zSghR2zsZ4n2f4NWZC08gxtRZ5Mk2i98F1HLJXDutH\ny1ivPGeLL/ZOScNZ6iaFPm9eSGR6W0MWsL3N4mQhOrBoRyXmVaRP5ZavNgWr\nICitBZ9wD0g6/jo9jSiRl7/e/0hGYVWRNmagRUkcGBBoNvblEX2c90rXPoBV\n2DwkLxpeJvdyCmzhhjHI05JkNDYjyrYslpMEbZ/1sXZ2iy4jSN9QCZLHGjTN\nlXRZ3gtkEmqmkiuLYRE7ZCjRGRctAyWfYEseoNA1onmG7g5KfXDf06Ab9/JO\nXxQaOWHtGJfIAzvAfGHgDBjs8dtrIPNvCX4o5nXarZC/MHYYnZldy50rOIyv\nsO3EhhovoQ7WwyB5aPFHRDdV6GDgUCsU/Hmn8aYzERA/KkQkcgOm309HeGlP\nVFP8KJpULfrSHe4GME2jDuu/GhzZeGXkLALP8qQx6gw9x7uCuVMXYaReE7vq\nuH4i//2QkAupRDuQKeXHdKK+gKVv9sj3RaGKog5Bm+vALGdNzYCYBmMAY/vr\n6uRm8tvwU9gQkb1IFicKsRnu6CiQYmO+Myk/BqaT7TCYyyVyNsqTM4j4s5RQ\nsvRA\r\n=gTX0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbo/gCJOzwDUTPscqYWvR5cwpdKHiff0z4a56NEcMxDwIhAMqEYO3vt2JLTXv8DRNuYeEX7Hm69zTi4mSk8cSGA/JX"}]},"maintainers":[{"email":"joshua.thomas@gmail.com","name":"brozeph"},{"email":"robibobi@gmail.com","name":"rmomii"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.2.1_1593112216596_0.1924783262034664"},"_hasShrinkwrap":false},"3.2.2":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.2.2","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepare":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-transform-runtime":"^7.11.5","@babel/preset-env":"^7.11.5","@babel/register":"^7.11.5","babel-eslint":"^10.1.0","babel-plugin-istanbul":"^6.0.0","chai":"^4.2.0","coveralls":"^3.1.0","eslint-plugin-babel":"^5.3.1","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^6.0.0","gulp-sourcemaps":"^2.6.5","mocha":"^8.1.3","nock":"^13.0.4","nyc":"^15.1.0","uuid":"^8.3.1"},"dependencies":{"@babel/runtime-corejs2":"^7.11.2","es":"^0.7.3"},"gitHead":"4fb0e9bb77eaad0d0b4733259f666d254d8705f7","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.2.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0Uva/8TnM/3PtHdZQIccprYNDbCWGINKL5ZeVWe5MjM/nXdv46AzHvXo6ogjfn/9HiDqnXmapzf1Zf6uNSbD2g==","shasum":"91ebbb496d95504bc32e5228961ddc913f4be99d","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.2.2.tgz","fileCount":16,"unpackedSize":251070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffo4SCRA9TVsSAnZWagAAen0P/2SoElSCDOKxD7ZhHfW0\nBB6SfnOQHFs0foUbxCR7ETnIhwF6jlDUzxxMb1mY+npsef8BT2EVTVicWbdM\naXQonwVBu6dmYST0sW3reysy2/CEkkV6Q0Ky+L5GU50e9jQDviyxYLUJG7tr\ntHCAxtnlVFdWDHMuCGaJXOkr2c6t5Pw86cM3+iPsht0T4e4IHOL816dKjYwL\nWY+Hj+uL8sBU102HRezHvbckJm7V9gjdjpdZA0JGg7QFZMh7LVe+QiQSDl09\nPlF/Usm/93c98JP0B5XPPJD1inrtbdxtqr2WN6wCPjw0xQ2DyE2EyukuABoK\ng2h5JxKrDlScQ92sbIvlgAdxmpsuy+YtN2338nxR39yPrii2NE9IevpWnt9H\nvOP5VJXK72WoOCwvg9LFiuCkFQnVEIPKE/bhy2yPnXzrLLxffhj0YyvYd4fG\n9QvKcGYIgODJljWpFYztE3+VB8fysFhp6hJqXoijCm6w3BcviX9hZs17hUjW\nQIRvm7Fyj6CU5paKMoCixCdZuKXkKDOJP6uwRJ8SfpnwfX7AKpQEoTI8VRAO\nKP8XwuTR/zaZRmRRCA1YnDVxxE/33A03agRt/RrLv2x7WDvtX/QCjA0k4lJw\nuctNKrL+RT86R394OemNlo8nfbfDlCUhDYXeG0SZvIw9CRGHT+Bjrdh5rWa7\nm7XC\r\n=jeR4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICjB2tpqrhB2sTwsSIICcAIdbKRrWdGeEumsrzvLT/LgAiEA/YAbgz/nLrUXm8VUSLmb5j31/juqIHKcbR5XsOsZtnQ="}]},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"},{"name":"rmomii","email":"robibobi@gmail.com"}],"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.2.2_1602129425848_0.9665340413727499"},"_hasShrinkwrap":false},"3.3.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"3.3.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepare":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"dependencies":{"@babel/runtime-corejs3":"^7.14.7","es":"^0.7.4"},"devDependencies":{"@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/plugin-transform-runtime":"^7.14.5","@babel/preset-env":"^7.14.7","@babel/register":"^7.14.5","babel-eslint":"^10.1.0","babel-plugin-istanbul":"^6.0.0","chai":"^4.3.4","coveralls":"^3.1.0","eslint-plugin-babel":"^5.3.1","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^6.0.0","gulp-sourcemaps":"^3.0.0","mocha":"^9.0.1","nock":"^13.1.0","nyc":"^15.1.0","uuid":"^8.3.2"},"gitHead":"6242d6e9201e4d08c96184d1f4749d3fa1c4841e","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@3.3.0","_nodeVersion":"16.2.0","_npmVersion":"7.13.0","dist":{"integrity":"sha512-SKzhonT3HtB0GwzDK3vVjdrW+XArnJbMpXok1SWGlXTHe2dEVr2fW5vqrWaMgwg8RsQWrS7uSKoAgRYUx2i5og==","shasum":"18d52889d11a8bc22cedcc7a8c22995777a3e142","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-3.3.0.tgz","fileCount":16,"unpackedSize":258744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0kT8CRA9TVsSAnZWagAAtmYQAJ3JRoAT54bvTHmTZRk4\n3WBuM1wUF8v517NRKFj48BElJYrk0sCQCuF6vifcgp2nPYJ1VbCsfr/8XLeE\nC6xdvfWKDbB80NPD4IK4n8Xm2FdnhreDZVgS1OQ1V2kKSbQzKh6PP6JWDA/2\nPv46nx/LVnsEhaQ6bQf7KsNiz7veLLr4a2fa4HUK1YQN+dHWEsddkoXUhwQ2\nDDd6utaY/DSKM22pwgsSezH/MgU8WZSc3k1G6mHb/5SAkV8rBSL7mDW+XMKs\nXjqP83t3UudY2DjWG1W76O17IGXCbFJ1EBKjH73JEVvGYQE1lCZpr9wlFsu1\ncHQUnLHHnY8fRRknEGqlWHOBe2EWSTcxntsJ8UNDaNz5a8iPRI8kgsRB0YQo\nRnin6F9cvxbImcjo/7ZHSoAlQDCfUzmct4Kh8YrzJFHtdRnfHGk3WSYgOPsz\nVuf3ija4p23H1aftJTCuDnnrXFjQ2vdPCTw5arfDzwkl7bCgGhggD0MSBJKx\nP4yTp67JzJ3ZK7+v6e6q6ttosADN58zpVfm3rmK4a8jkYR9GUnunBi2n+sK+\nq0XbHCxVBJWHRwgD/X2Ith7zg4Ev7AMrnxz+Z9b20JM8zPvH2ogX5GqTGXI2\na7wSHLhBWrW2uztEhZ9Dyj+cXmR77roDWRNTb0oFCzE9ESpouc3FBAaoxnQK\nKZnZ\r\n=QlMe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7C97GyIGAcS8KP7FKjHN5BCUDbjYpQKKBmFkZq+SwOAIhAImev8YBByzvx2oqhb5NQmxDpXWxexwiXp1JJV/FLw8H"}]},"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"},{"name":"rmomii","email":"robibobi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_3.3.0_1624392955887_0.7396933972844149"},"_hasShrinkwrap":false},"4.0.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./dist","version":"4.0.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 6.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","nyc":{"all":true,"exclude":["src/index.js"],"include":["src"],"instrument":false,"report-dir":"./reports","reporter":["lcov","text","text-summary"],"require":["@babel/register"],"sourceMap":false},"license":"MIT","scripts":{"lint":"gulp lint","posttest":"nyc report --reporter=text-lcov | coveralls","prepare":"gulp build","pretest":"gulp clean && gulp lint","test":"NODE_ENV=test nyc mocha ./test/src","test:unit":"NODE_ENV=test nyc mocha ./test/src"},"dependencies":{"@babel/runtime-corejs3":"^7.14.7","es":"^0.8.0"},"devDependencies":{"@babel/cli":"^7.14.5","@babel/core":"^7.14.6","@babel/plugin-transform-runtime":"^7.14.5","@babel/preset-env":"^7.14.7","@babel/register":"^7.14.5","babel-eslint":"^10.1.0","babel-plugin-istanbul":"^6.0.0","chai":"^4.3.4","coveralls":"^3.1.0","eslint-plugin-babel":"^5.3.1","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-clean":"^0.4.0","gulp-eslint":"^6.0.0","gulp-sourcemaps":"^3.0.0","mocha":"^9.0.1","nock":"^13.1.0","nyc":"^15.1.0","uuid":"^8.3.2"},"gitHead":"e125e6ecd1fc3c02bc1c024535b65318e026a28c","bugs":{"url":"https://github.com/brozeph/reindeer/issues"},"_id":"reindeer@4.0.0","_nodeVersion":"16.2.0","_npmVersion":"7.13.0","dist":{"integrity":"sha512-8lo3HazhAGEwo2OK9+bJIvUab15ZQGooNYSBirGjFMm81D+6m0Z+U8DcLGV6FaZKolkBaXExCo6y0/t9O1IQQw==","shasum":"000c71bc48778b5504af3401eed03c8d1730c86d","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-4.0.0.tgz","fileCount":16,"unpackedSize":255876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1PtNCRA9TVsSAnZWagAAIHgP/2faKWVVe1TrhaN2zoVz\nEhKSKSw8/d/6SV6WF2Au22a8nQECGUJJMthsbDdkx6lDuNfMiS27jrHSOTpW\nqxaWSXOwhGlV2N7eKcqbf+UrBmYJE/LQxTV/dQViWp8qvCEzH2fTUmRnM5Pt\nggt73ew1tc4JwM4rHa0BWGnDP4Ce7RMXoZK6uaVyRVtOMGzgZLXqgWnwovWN\nfFIcV1xngSnm1yHzJ03awxpUBD+5MCFYYkIFWaH7PJEiA1BmMsEajUSFG/kd\n73uBiTHCRPz9+GGEPRx0rPnEOwEJp75Vz4JyjmoixBgQtzUZH36iP2jek9Ku\nDbQllpEUmu4Ul5t66PvN2A5ISU0MyHRZfLGcNKpoKYeyA/YuhY2D5GO+gB7O\nSRptRpkZm0zPyA7o41FH4tZA/nSW6Z8aZec2TwVjm8KNzEnnPNA40lm3jtdq\nhQ9opL4JHCRkrspcWD2brYZAxyUpo7ZH1q373TNDADWuy5/byyDVjyTxxWKX\nwJXO739UCtwKKry/6CJ6EOZoxYintHn6ZbKWPOv1rcyqxBNvfB/oC/yJl3LJ\nbNLOVPY9UvTqHKyAf1XKvkonOXTveYZL14did8gjJgRkqF+o99UF6fncbUeI\neq44Anj/wMXq6DQVNG3BSjuSsLyGqLagLaqeYTtVmy2hSQaQnVErfY9u/X5z\nl20z\r\n=6ovw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtHnDq2TsFdxehn8HYJSND0XTEOqjdTyo3qm1oKwDsdgIhAMOu1wEuJ7UyhUMRB1AaFkvmlwJG7HNS5QM3lMPyUTYo"}]},"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"},{"name":"rmomii","email":"robibobi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_4.0.0_1624570701436_0.8222149176600628"},"_hasShrinkwrap":false},"4.1.0":{"name":"reindeer","description":"Provides schema enforcement based on Elasticsearch type mappings","main":"./src","version":"4.1.0","author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}],"engines":{"node":">= 16.0"},"keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"homepage":"http://github.com/brozeph/reindeer","bugs":{"url":"http://github.com/brozeph/reindeer/issues"},"license":"MIT","scripts":{"lint":"npx eslint src/**/*.js test/**/*.js","posttest":"c8 report --reporter=text-lcov > ./coverage/lcov.info","pretest":"npx del ./coverage && npm run lint","test":"NODE_ENV=test c8 mocha ./test/src","test:unit":"NODE_ENV=test mocha ./test/src"},"type":"module","dependencies":{"es":"^0.8.0"},"devDependencies":{"c8":"^7.12.0","chai":"^4.3.7","coveralls":"^3.1.1","del-cli":"^5.0.0","eslint":"^8.28.0","mocha":"^10.1.0","nock":"^13.2.9","uuid":"^9.0.0"},"gitHead":"799063eca2833c4f2db1a20edc570f41a679e189","_id":"reindeer@4.1.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1c/pphUjdRuyAx8WwQgevB91/cdOdR1d/0hoPphHJAyZ65DDiLimYbySlH2pGEpeNfpRZa94uqGYJwc0bH5P1A==","shasum":"a86583ed332f62125c4a2a5f8158deb6616504dd","tarball":"https://registry.npmjs.org/reindeer/-/reindeer-4.1.0.tgz","fileCount":6,"unpackedSize":50240,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOfW2P48dqXbYiTwif0MF1X7Q1uIA5gbJbJ2EByt5LBAiBIWKEu+8bXlaHT5Ah0yWvXpKg5cyk8qddT9n0rVysOzQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjkZ3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8yA//RbBt84KDpRt4ACPDsElGizvTGcinOz2R6qizoI/za3wgZ+1B\r\nHHb+4qSyiK2pkG5M+iOgOSgVZQthk/lUHByZt76UkChivi3tvAhpgbmAPCQV\r\nZV81H7OyH7/8FtGzhQd4hCCmQhcIEZwdQfYpPUjWW6y8kbdIZoEwNbUxAxBt\r\nyPLNvULgg+z0xGtf+ykYL4h++GbyLHTsF8axVXPT0bMMi9buE9uBp85kewzi\r\nJuQfaqxxbeqr1v8fc+i8SsLaiWgDT3H7/qDB1biTqMLapj+EG1Od57CVBTZC\r\ne/Wy2XWGsh6Tb5rr+Cgq9F0eCpK6iJHbMUcZO8Hz2ih7XXzyGjqMdsCzcffS\r\nbzIoVLTmyUHIYv4mzIaXyUX/beKGS3m3TNT4XfXKaWZdutqzsyLRjiiJajr4\r\nqcFW3gZop3cqwvisshQaY89/pg5ka6XB+7NsbNZ57p5ArTw7TTGqruvtbhrt\r\nMQN5VnnMCmI3fIrcEMzrlFchBgGwT5loiL4gJoGo7V4WdO9K0EnLXin9Ln9E\r\ntV/AY/TlH6lSwf9qcbv/Gj47nHPq4hfG4h62yokf9an+Euomrc5WVUGEbfNZ\r\nrL3mWVIqrXO9nGb//dy7RW46Kqgdv0pu/0ERC5zq3ekUFf0yBBieMuAnJw9X\r\nhwI0vft44B4+U1hgKwSKtoEXRfChlmzw6a4=\r\n=hKx5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"brozeph","email":"joshua.thomas@gmail.com"},"directories":{},"maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"},{"name":"rmomii","email":"robibobi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reindeer_4.1.0_1670268535577_0.2884927508138284"},"_hasShrinkwrap":false}},"readme":"# Reindeer ODM\n\n[![Build Status](https://travis-ci.org/brozeph/reindeer.svg)](https://travis-ci.org/brozeph/reindeer)\n[![Coverage Status](https://coveralls.io/repos/brozeph/reindeer/badge.svg?branch=master&service=github)](https://coveralls.io/github/brozeph/reindeer?branch=master)\n\nReindeer is an Object Data Mapper (ODM) that strives to make persisting objects to Elasticsearch simple and efficient. This module builds on top of [node-es](https://github.com/ncb000gt/node-es) to provide additional features for interacting with Elasticsearch including the following:\n\n* Validation of mapping types against input\n* Proper coercion of data types in accordance with mapping specification\n* Support for `_id.path` in the mapping specification\n  * NOTE: `path` has been deprecated since v1.5.0 of Elasticsearch\n* Required fields support in mapping (not a native feature of Elasticsearch)\n* Dynamic [strict and false](https://www.elastic.co/guide/en/elasticsearch/guide/current/dynamic-mapping.html) mapping support\n\n```Javascript\nconst\n  Mapper = require('reindeer').Mapper,\n  schema = {\n    properties : {\n      animalId : {\n        type : 'string'\n      },\n      birthday : {\n        type : 'date',\n        format : 'dateOptionalTime'\n      },\n      breed : {\n        type : 'string'\n      },\n      name : {\n        required : true, // NOTE: not an official Elasticsearch mapping option\n        type : 'string'\n      }\n    }\n  };\n\nlet catsMapper = new Mapper();\n\ncatsMapper\n  .bulkUpsert([\n    { animalId : 1, name : 'Hamish', birthday : '2011-05-28' },\n    { animalId : 2, name : 'Cooper', birthday : '2013-07-02' },\n    { animalId : 3, name : 'Blue', birthday : '2014-01-13' },\n    { animalId : 4, name : 'Dugald', birthday : '2017-02-21' }\n  ])\n  .then(() => catsMapper.search({ query : { match_all : {} } }))\n  .then((cats) => {\n    cats.forEach((cat) => console.log(\n      '%s the cat has id %s',\n      cat.name,\n      cat.animalId));\n\n    return Promise.resolve();\n  })\n  .then(() => catsMapper.delete(1))\n  .then((result) => console.log(\n    '_version %s of the cat was removed',\n    result._version))\n  .catch(console.error);\n```\n\n## ES6 Support\n\nFor each method documented below, the `callback` argument is fully optional. In the event that callback is not provided, a Javascript native `Promise` is returned to the caller.\n\n## Installation\n\n```\nnpm install reindeer\n```\n\n### Elasticsearch Version Compatibility\n\nWhen using Elasticsearch v7 and up, utilize v4.x (latest) of `reindeer`. For prior versions of Elasticsearch, utilize `v3.3.0` (`npm install reindeer@v3.3.0`).\n\n## Usage\n\n#### Initialization\n\n* [constructor](#constructor)\n* [verifyConnection](#verifyconnection)\n\n#### Basic Search\n\n* [search](#search)\n\n#### Basic CRUD Operations\n\n* [create](#create)\n* [delete](#delete)\n* [get](#get)\n* [update](#update)\n* [upsert](#upsert)\n\n#### Bulk CRUD Operations\n\n* [bulkCreate](#bulkcreate)\n* [bulkDelete](#bulkdelete)\n* [bulkGet](#bulkget)\n* [bulkUpdate](#bulkupdate)\n* [bulkUpsert](#bulkupsert)\n\n#### Model Parsing and Validation\n\n* [analyzedFields](#analyzedfields)\n* [fieldExists](#fieldexists)\n* [parse](#parse)\n* [validate](#validate)\n\n### Initialization\n\n#### Constructor\n\nTo create a new mapper, use the constructor and supply the following parameters:\n\n* `config` - _(required)_ - this is an object that defines the `_index` and optionally additional `server` information for the Elasticsearch instance\n* `mapping` - _(required)_ - this is an object that defines the [Elasticsearch mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html)\n\n_NOTE:_ In the event that there exists a mapping error (meaning that the mapping contains an invalid type or is not parseable), an `InvalidMappingError` is thrown during construction.\n\n_NOTE:_ Prior to the execution of any CRUD messages, internally the mapper will initialize itself (a one time operation) in order to ensure that the index and mapping supplied properly exist within the target Elasticsearch cluster.\n\n**Example usage:**\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    properties : {\n      animalId : {\n        type : 'string'\n      },\n      birthday : {\n        type : 'date',\n        format : 'dateOptionalTime'\n      },\n      breed : {\n        required : true, // NOTE: not an official Elasticsearch mapping option\n        type : 'string'\n      },\n      name : {\n        required : true, // NOTE: not an official Elasticsearch mapping option\n        type : 'string'\n      },\n      attributes : {\n        properties : {\n          height : {\n            type : 'float'\n          },\n          weight : {\n            type : 'float'\n          }\n        }\n      }\n    }\n  });\n```\n\n#### config parameter\n\nThe Reindeer module makes use of the `es` NPM package (<https://www.npmjs.com/package/es>) in order to execute commands against an Elasticsearch cluster or instance. As such, the options defined for Reindeer mirror the config options that the `es` module accepts to `#createClient`. For more details regarding the `config` parameter, please see <https://www.npmjs.com/package/es#createclient>.\n\nThe config parameter supports the following fields:\n\n* `_index` - _(required)_ - denotes the specific index within Elasticsearch that the mapping applies to\n* `server` - _(optional)_ - defines how to connect to the Elasticsearch cluster\n* `timeout` - _(optional)_ - globally controls the timeout for all operations against Elasticsearch\n\n##### server\n\nWhen the `server` property is not supplied it defaults to the following:\n\n```javascript\n{\n  host : 'localhost',\n  port : 9200\n}\n```\n\nThe following is an example config with several additional parameters supplied. This config supports a secure connection to an Elasticsearch cluster containing three hosts, using BASIC auth and self-signed certificates:\n\n```javascript\nvar config = {\n  _index : 'animals',\n  server : {\n    agent : false,\n    auth : 'user:pass',\n    hostnames : ['es0.myhost.com', 'es1.myhost.com', 'es2.myhost.com'],\n    port : 9243,\n    rejectUnauthorized : false, // for self-signed certs\n    secure : true // toggles HTTPS\n  }\n};\n```\n\n##### timeout\n\nThe `timeout` parameter is optional - when not supplied, it is set to 30 seconds. This value allows for the override of operation timeout on all requests to Elasticsearch.\n\n```javascript\nvar config = {\n  _index : 'animals',\n  timeout : 60000 // 60 seconds\n};\n```\n\n#### #verifyConnection\n\nIn order to quickly verify connectivity with Elasticsearch, the `#verifyConnection` method can be used.\n\n**Usage:** `mapper.verifyConnection(callback)`\n\nThis method accepts a single optional argument:\n\n* `callback` - _(optional)_ - a function callback that accepts one arguments:\n  * `err` - populated with details in the event of an error during the operation\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals',\n  }, {\n    /* ... mapping details here ... */\n  });\n\ncatsMapper\n  .verifyConnection()\n  .then(() => {\n    console.log('able to connect to Elasticsearch');\n  })\n  .catch((err) => {\n    console.error('unable to connect to Elasticsearch!');\n    console.error(err);\n  });\n});\n```\n\n### Basic Search\n\nFor convenience purposes, [request body search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html) is supported via the `#search` method.\n\n#### #search\n\nThis method will search for documents within the `_index` that were used to construct the mapper.\n\n**Usage:** `mapper.search(options, query, callback)`\n\nThis method accepts the following arguments:\n\n* `options` - _(optional)_ - this can be used to supply additional parameters to Elasticsearch related to the query\n* `query` - _(required)_ - this is the query payload that will be sent to Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts three arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `models` - an array of models matching the search, properly typed according to the mapping supplied to the mapper constructor\n  * `summary` - an object that contains details regarding the search\n    * `total` - the total number of matching documents from Elasticsearch\n\nThe following example demonstrates the use of the `#search` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\n// query for all cats\nvar query = {\n  from : 0,\n  query : {\n    match_all : {}\n  },\n  size : 50 // grab a limit of 50 documents\n};\n\n// NOTE: utilizing `#search` as a Promise\ncatsMapper\n  .search(query)\n  .then((catModels) => {\n    console.log(\n      'successfully searched cats and retrieved %d documents',\n      catModels.length);\n\n    console.log(catModels);\n  })\n  .catch(console.error);\n```\n\n##### events\n\nThe search method fires the following events:\n\n* `summary` - each time a search is conducted, a `summary` event is emitted with an object that is structured as follows:\n\n```json\n{\n  \"query\": {},\n  \"total\": 0\n}\n```\n\nThe summary object contains the following fields:\n\n* query - the query that was passed to Elasticsearch\n* total - the total number of documents that match the query within Elasticsearch... this value is useful when paginating results from Elasticsearch\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\n// query for all cats\nvar query = {\n  from : 0,\n  query : {\n    match_all : {}\n  },\n  size : 50 // grab a limit of 50 documents\n};\n\ncatsMapper.on('summary', (summary) => {\n  console.log('found %d cats', summary.total);\n  console.log(summary.query);\n});\n\ncatsMapper\n  .search(query)\n  .then((catModels) => {\n    console.log('here are the first %d cats found:', catModels.length);\n    console.log(catModels);\n  })\n  .catch(console.error);\n});\n```\n\n### Basic CRUD Methods\n\n#### #create\n\nThis method can be used to create a new document within Elasticsearch. By default, this method will result in an error if the document already exists within the Elasticsearch server. The document supplied as an argument to the create method will be validated against the mapping that was used to create the instance of the mapper class.\n\n**Usage:** `mapper.create(_id, doc, callback)`\n\nThis method accepts the following arguments:\n\n* `_id` - _(optional)_ - this is the `_id` value with which the document will be indexed in Elasticsearch\n  * when this value is not supplied, the value from the field matching the `_id.path` specified in the mapping will be used instead\n  * if the `_id` is not supplied and there is no `_id.path` specified in the mapping, Elasticsearch will auto-assign a UUID value\n    * _NOTE:_ it is strongly recommended that you supply a value for `_id` as without it, there is no way to later retrieve, delete or update documents easily using the mapping object\n* `doc` - _(required)_ - this is the document representing what should be created in Elasticsearch\n  * the document can be specified as a partial document\n  * _NOTE:_ all fields in the document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `insertedModel` - the validated model that is properly typed according to the mapping specification - if the `_id` parameter is not specified, an event named `identity` is emitted that will contain the value of the `_id` created by Elasticsearch\n\nThe following example demonstrates the use of the `#create` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar doc = {\n  animalId : 12345,\n  breed : 'manx',\n  name : 'Hamish'\n};\n\ncatsMapper\n  .create(doc.animalId, doc)\n  .then((insertedCat) => {\n    console.log('successfully inserted cat %d', insertedCat.animalId);\n    console.log(insertedCat);\n  })\n  .catch(console.error);\n```\n\n##### events\n\nThe create method fires the following events:\n\n* `identity` - whenever a `#create` operation would result in Elasticsearch creating the `_id` of the document, this event is emitted with the value of the identifier\n\nThe identity event returns a string value of the `_id` assigned.\n\nThe following example demonstrates how to collect the `_id` in the even that it is created by Elasticsearch:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar doc = {\n  breed : 'manx',\n  name : 'Hamish'\n};\n\ncatsMapper.on('identity', (_id) => {\n  console.log('cat %s created with _id of %s', doc.name, _id);\n});\n\ncatsMapper\n  .create(doc)\n  .then((insertedCat) => {\n    console.log('successfully inserted cat %d', insertedCat.animalId);\n    console.log(insertedCat);\n  })\n  .catch(console.error);\n```\n\n#### #delete\n\nThis method can be used to either delete an existing document within Elasticsearch or to delete a number of documents based on a query.\n\n##### delete by `_id`\n\n**Usage:** `mapper.delete(_id, callback)`\n\nThis method accepts the following arguments:\n\n* `_id` - _(required)_ - this is the `_id` value with which the document has been indexed in Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts a single argument:\n  * `err` - populated with details in the event of an error during the operation\n  * `summary` - populated with the response details from Elasticsearch\n    * `found` - `true` when document was found, otherwise `false`\n    * `_version` - version number of the document that was deleted\n\nThe following example demonstrates the use of the `#delete` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar animalId = 12345;\n\ncatsMapper\n  .delete(animalId)\n  .then((summary) => {\n    if (summary.found) {\n      console.log('successfully deleted %d', animalId);\n    } else {\n      console.log('could not find cat %d', animalId);\n    }\n  })\n  .catch(console.error);\n```\n\n##### delete by query\n\nThe delete by query functionality has been deprecated in Elasticsearch v1.5 and all-together removed in versions later than v2.0. While a plugin can be installed to support this functionality, this library utilizes the scan and scroll mechanism to query and then remove matching results. This may result in multiple round-trips to Elasticsearch in order to fully remove content - to reduce the number of round-trips, it may be useful to supply the `size` parameter when calling this method.\n\n**Usage:** `mapper.delete(options, callback)`\n\nThis method accepts the following arguments:\n\n* `options` - _(required)_ - this is an object with the the following properties:\n  * `query` - the query that defines which documents to remove from Elasticsearch\n  * `size` - the size of the scroll set when performing the delete\n* `callback` - _(optional)_ - a function callback that accepts a single argument:\n  * `err` - populated with details in the event of an error during the operation\n\nThe following example demonstrates the use of the `#delete` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\n// delete all cats with breed of \"unknown\"\nvar options = {\n  query : {\n    term : {\n      breed : 'unknown'\n    }\n  }\n};\n\ncatsMapper\n  .delete(options)\n  .then(() => {\n    console.log('delete by query occurred...');\n  })\n  .catch(console.error);\n```\n\n#### #get\n\nThis method can be used to retrieve a single existing document from Elasticsearch.\n\n**Usage:** `mapper.get(_id, _source, callback)`\n\nThis method accepts the following arguments:\n\n* `_id` - _(required)_ - this is the `_id` value with which the document has been indexed in Elasticsearch\n* `_source` - _(optional)_ - this allows one to specify a parameter of fields to return or filter from being returned according to the [Elasticsearch specification](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html#get-source-filtering)\n  * _NOTE:_ when source filtering and required fields are set, validation will fail if the required field is not returned in the query results\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `model` - the validated model that is properly typed according to the mapping specification... in the event that the get method is unable to find a matching document, this will be set to `null`\n\nThe following example demonstrates the use of the `#get` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar animalId = 12345;\n\ncatsMapper\n  .get(animalId)\n  .then((catsModel) => {\n    if (catsModel) {\n      console.log('successfully retrieved cat %d', animalId);\n      console.log(catsModel);\n    } else {\n      console.log('no cats exist with animalId %d', animalId);\n    }\n  })\n  .catch(console.error);\n\n// query to retrieve the animalId, breed and name only\ncatsMapper.get(animalId, ['animalId', 'breed', 'name'])\n  .then((catsModel) => {\n    if (catsModel) {\n      console.log('successfully retrieved cat %s', catsModel.name);\n      console.log(catsModel);\n    } else {\n      console.log('no cats exist with animalId %d', animalId);\n    }\n  })\n  .catch(console.error);\n```\n\n#### #update\n\nThe update method allows one to update an existing document within Elasticsearch. A partial document will be accepted as well, but note that if there are required fields that are missing from the partial document, the method will return an error. This method will return an error in the event that the document does not exist.\n\n**Usage:** `mapper.update(_id, doc, callback)`\n\nThis method accepts the following arguments:\n\n* `_id` - _(optional)_ - this is the `_id` value with which the document will be updated in Elasticsearch\n  * when this value is not supplied, the value from the field matching the `_id.path` specified in the mapping will be used instead\n  * if the `_id` is not supplied and there is no `_id.path` specified in the mapping, an error will be returned\n* `doc` - _(required)_ - this is the document representing what should be updated in Elasticsearch\n  * the document can be specified as a partial document\n  * _NOTE:_ all fields in the document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `updatedModel` - the validated model that is properly typed according to the mapping specification\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\n\nvar animalId = 12345;\n\ncatsMapper\n  .update(\n    animalId,\n    {\n      birthday : new Date('2014-04-20'),\n      name : 'Hamish the cat'\n    })\n  .then((updatedCat) => {\n    console.log('successfully updated %s the cat', updatedCat.name);\n    console.log(updatedCat);\n  })\n  .catch(console.error);\n```\n\n#### #upsert\n\nThe upsert method works similarly to update, except that if the document does not exist already, it is created.\n\n**Usage:** `mapper.upsert(_id, doc, callback)`\n\nThis method accepts the following arguments:\n\n* `_id` - _(optional)_ - this is the `_id` value with which the document will be updated in Elasticsearch\n  * when this value is not supplied, the value from the field matching the `_id.path` specified in the mapping will be used instead\n  * if the `_id` is not supplied and there is no `_id.path` specified in the mapping, an error will be returned\n* `doc` - _(required)_ - this is the document representing what should be updated in Elasticsearch\n  * the document can be specified as a partial document\n  * _NOTE:_ all fields in the document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `upsertedModel` - the validated model that is properly typed according to the mapping specification\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\n\nvar animalId = 12345;\n\ncatsMapper\n  .upsert(\n    animalId,\n    {\n      animalId : animalId,\n      birthday : new Date('2014-04-20'),\n      breed : 'manx',\n      name : 'Hamish the cat'\n    })\n  .then((upsertedCat) => {\n    console.log('successfully upserted %s the cat', upsertedCat.name);\n    console.log(upsertedCat);\n  })\n  .catch(console.error);\n```\n\n### Bulk CRUD Operations\n\n#### #bulkCreate\n\nThis method can be used to index multiple documents within Elasticsearch. By default, this method will result in an error if any of the documents already exist within the Elasticsearch server. Each document supplied will be validated against the mapping that was used to create the instance of the mapper class.\n\n**Usage:** `mapper.bulkCreate(idList, docList, callback)`\n\nThis method accepts the following arguments:\n\n* `idList` - _(optional)_ - an array of _ids in the same order that should be applied to the array of documents supplied as the `docList` parameter value\n  * when the `idList` property is not supplied, the value from the field matching the `_id.path` for each document in `docList` (if specified in the mapping) will be used instead\n  * if the `idList` is not supplied and there is no `_id.path` specified in the mapping, Elasticsearch will auto-assign a value\n    * _NOTE:_ it is strongly recommended that you ensure a value for `_id` is supplied for each document as without it, there is no way to later retrieve, delete or update documents easily using the mapping object\n* `docList` - _(required)_ - this is an array of documents to index within Elasticsearch\n  * _NOTE:_ all fields in each document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `insertedModels` - the validated models that are properly typed according to the mapping specification - if there are no specified primary identifiers for the models and Elasticsearch generates these values internally, the identifiers will be emitted as an array value from the event named `identity`\n\nThe following example demonstrates the use of the `#bulkCreate` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar docList = [{\n    animalId : 12345,\n    breed : 'manx',\n    name : 'Hamish'\n  }, {\n    animalId : 54321,\n    breed : 'siamese',\n    name : 'Dugald'\n  }];\n\n// example of using Array.map to return an array of _id values\nvar idList = docList.map(function (cat) {\n  return cat.animalId;\n});\n\ncatsMapper\n  .bulkCreate(idList, docList)\n  .then((insertedCats) => {\n    console.log('successfully inserted %d cats', insertedCat.length);\n    console.log(insertedCats);\n  })\n  .catch(console.error);\n```\n\n##### events\n\nThe bulkCreate method fires the following events:\n\n* `identity` - in the event that Elasticsearch is used to generate an `_id` for the documents indexed in bulk, this event is fired:\n\nThe identity event returns an array of strings that contain the `_id` values assigned.\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar docList = [{\n    breed : 'manx',\n    name : 'Hamish'\n  }, {\n    breed : 'siamese',\n    name : 'Dugald'\n  }];\n\ncatsMapper.on('identity', (idList) => {\n  console.log(\n    'Elasticsearch assigned %d identifiers to the indexed documents',\n    idList.length);\n  console.log(idList);\n});\n\ncatsMapper\n  .bulkCreate(docList)\n  .then((insertedCats) => {\n    console.log('successfully inserted %d cats', insertedCat.length);\n    console.log(insertedCats);\n  })\n  .catch(console.error);\n```\n\n#### #bulkDelete\n\nThis method can be used to delete multiple existing documents within Elasticsearch.\n\n**Usage:** `mapper.bulkDelete(idList, callback)`\n\nThis method accepts the following arguments:\n\n* `idList` - _(required)_ - this is an array of `_id` values with which the documents that are intended to be removed have been indexed in Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts a single argument:\n  * `err` - populated with details in the event of an error during the operation\n  * `summary` - populated with response from Elasticsearch\n    * `items` - an array of the `delete` operations with the documents deleted\n\nThe following example demonstrates the use of the `#bulkDelete` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar idList = [12345, 54321];\n\ncatsMapper\n  .bulkDelete(idList)\n  .then((summary) => {\n    console.log('successfully deleted %d cats', summary.items.length);\n  })\n  .catch(console.error);\n```\n\n#### #bulkGet\n\nThis method can be used to retrieve an array of existing documents from Elasticsearch.\n\n**Usage:** `mapper.bulkGet(idList, _source, callback)`\n\nThis method accepts the following arguments:\n\n* `idList` - _(required)_ - this is an array of `_id` values for which documents should be retrieved from Elasticsearch\n* `_source` - _(optional)_ - this allows one to specify a parameter of fields to return or filter from being returned according to the [Elasticsearch specification](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html#get-source-filtering)\n  * _NOTE:_ when source filtering and required fields are set, validation will fail if the required field is not returned in the query results\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `models` - an array of the validated models that are properly typed according to the mapping specification\n    * _NOTE:_ in the event that a document is not found, it is not returned in the models array... if no documents are found at all, the models array will be an empty array\n\nThe following example demonstrates the use of the `#bulkGet` method on a mapping for cats:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar idList = [12345, 54321];\n\ncatsMapper\n  .bulkGet(idList)\n  .then((cats) => {\n    console.log('successfully retrieved %d cats', cats.length);\n    console.log(cats);\n  })\n  .catch(console.error);\n```\n\n#### #bulkUpdate\n\nThe bulk update method allows one to update multiple existing documents within Elasticsearch. Partial documents will be accepted as well, but note that if there are required fields that are missing from any of the partial documents, the method will return an error. This method will also return an error in the event that any of the documents do not exist.\n\n**Usage:** `mapper.bulkUpdate(idList, docList, callback)`\n\nThis method accepts the following arguments:\n\n* `idList` - _(optional)_ - an array of _ids in the same order that should be applied to the array of documents supplied as the `docList` parameter value\n  * when the `idList` property is not supplied, the value from the field matching the `_id.path` for each document in `docList` (if specified in the mapping) will be used instead\n  * if the `idList` is not supplied and there is no `_id.path` specified in the mapping, Elasticsearch will auto-assign a value\n* `docList` - _(required)_ - * `docList` - _(required)_ - this is an array of documents to update within Elasticsearch\n  * any of the documents can be specified as partial documents\n  * _NOTE:_ all fields in each document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `updatedModels` - the updated and validated models that are properly typed according to the mapping specification\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar docList = [{\n    animalId : 12345,\n    birthday : new Date('2014-04-20')\n  }, {\n    animalId : 54321,\n    birthday : new Date('2014-05-09')\n  }];\n\nvar idList = docList.map(function (cat) {\n  return cat.animalId;\n});\n\ncatsMapper\n  .bulkUpdate(idList, docList)\n  .then((updatedCats) => {\n    console.log('successfully updated %d cats', updatedCats.length);\n    console.log(updatedCats);\n  })\n  .catch(console.error);\n```\n\n#### #bulkUpsert\n\nThe bulk upsert method works similarly to bulk update, except that if the document does not exist already, it is created.\n\n**Usage:** `mapper.bulkUpsert(idList, docList, callback)`\n\nThis method accepts the following arguments:\n\n* `idList` - _(optional)_ - an array of _ids in the same order that should be applied to the array of documents supplied as the `docList` parameter value\n  * when the `idList` property is not supplied, the value from the field matching the `_id.path` for each document in `docList` (if specified in the mapping) will be used instead\n  * if the `idList` is not supplied and there is no `_id.path` specified in the mapping, Elasticsearch will auto-assign a value\n* `docList` - _(required)_ - this is an array of documents to update or create if not present within Elasticsearch\n  * any of the documents can be specified as partial documents\n  * _NOTE:_ all fields in each document will be validated against the mapping specification prior to calling Elasticsearch\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `updatedModel` - the validated model that is properly typed according to the mapping specification\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar docList = [{\n    animalId : 12345,\n    birthday : new Date('2014-04-20'),\n    breed : 'manx',\n    name : 'Hamish'\n  }, {\n    animalId : 54321,\n    birthday : new Date('2014-05-09'),\n    breed : 'siamese',\n    name : 'Dugald'\n  }];\n\nvar idList = docList.map(function (cat) {\n  return cat.animalId;\n});\n\ncatsMapper\n  .bulkUpsert(idList, docList)\n  .then((upsertedCats) => {\n    console.log('successfully upserted %d cats', upsertedCats.length);\n    console.log(upsertedCats);\n  })\n  .catch(console.error);\n```\n\n### Model Parsing and Validation\n\n#### #analyzedFields\n\nFor building Elasticsearch queries, it is often helpful to understand when string type fields are analyzed in order to use a `match` vs a `term` query. This method provides a simple way to retrieve this information directly from the mapping.\n\n**Usage:** `mapper.analyzedFields()`\n\nThe following example demonstrates how to retrieve an array of analyzed fields:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nconsole.log(catsMapper.analyzedFields());\n```\n\n#### #fieldExists\n\nFor building Elasticsearch queries, it is often helpful to understand when a field exists within the type - sorting on a non-existent field, for example, will result in a 400 response from Elasticsearch. This method provides a simply way to quickly determine if a field exists before attempting to use it in a query.\n\n**Usage:** `mapper.fieldExists(fieldPath)`\n\nThe following example demonstrates how to determine if a field exists within a mapping:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nconsole.log('should be true:', catsMapper.fieldExists('name'));\nconsole.log('should be true:', catsMapper.fieldExists('attributes.height'));\nconsole.log('should be false:', catsMapper.fieldExists('attributes.furLength'));\n```\n\n#### #parse\n\nThe parse method is used for parsing either a JSON string or a Javascript object and coercing fields to a properly typed Javascript object that aligns with the mapping type specification. This method takes into account the [dynamic mapping](https://www.elastic.co/guide/en/elasticsearch/guide/current/dynamic-mapping.html) specified for the mapping and returns an object as would be stored in Elasticsearch.\n\n_NOTE:_ This method is used internally by CRUD methods within this module in order to ensure properly typed return values (i.e. so that date types are typed as Date objects, etc.).\n\n**Usage:** `mapper.parse(json, callback)`\n\nThis method accepts the following arguments:\n\n* `json` - _(required)_ - this can be either a JSON string or a Javascript object containing the document to be parsed\n* `callback` - _(optional)_ - a function callback that accepts two arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `model` - the parsed model that is properly typed according to the mapping specification\n\nThe following example demonstrates the parsing of a JSON string:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar json = requestJSONStringFromSomewhere();\n\ncatsMapper\n  .parse(json)\n  .then((catsModel) => {\n    if (catsModel) {\n      console.log('successfully parsed cat %d', catsModel.animalId);\n      console.log(catsModel);\n    }\n  })\n  .catch(console.error);\n```\n\n#### #validate\n\nThe validate method validates a document according to a mapping specification. This method handles the following error scenarios:\n\n* determines if model is empty\n* determines if model field values do not match and are not able to be casted to the specified mapping type\n* detects any missing required fields and returns an `InvalidModelError` error\n* detects an extraneous fields from `dynamic=strict` mapping types and returns an `InvalidModelError` error\n\nAdditionally, the validate method performs the following:\n\n* captures value for field specified in `_id.path` of mapping (if applicable)\n* removes any extraneous fields from `dynamic=false` mapping types\n\n_NOTE:_ This method is used internally by CRUD methods within this module in order to ensure the document that is being operated on is valid prior to transmission to Elasticsearch.\n\n**Usage:** `mapper.validate(doc, callback)`\n\nThis method accepts the following arguments:\n\n* `doc` - _(required)_ - this is the document to be validated\n  * the document can be specified as a partial model\n  * _NOTE:_ if required fields are missing, an `InvalidModelError` will be returned\n  * _NOTE:_ if an `_id.path` is specified in the mapping, and a value is found matching that field in the supplied document, it will be returned in the modelId parameter\n* `callback` - _(optional)_ - a function callback that accepts three arguments:\n  * `err` - populated with details in the event of an error during the operation\n  * `validatedModel` - the validated model resulting from the operation\n  * `modelId` - if `_id.path` is specified in the mapping and the field exists in the `doc` supplied, this is the value of the `_id`, otherwise, `null`\n\n##### events\n\nThe validate method fires the following events:\n\n* `identity` - whenever a `#validate` operation results in the discovery of the `_id` for the document that will be inserted to Elasticsearch, the `identity` event is emitted\n\nThe identity event returns a string value of the `_id`. The following demonstrates use of the validate method:\n\n```javascript\nvar Mapper = require('reindeer').Mapper;\n\n// create a cats Elasticsearch data mapper\nvar catsMapper = new Mapper({\n    _index : 'animals'\n  }, {\n    /* ... mapping details here ... */\n  });\n\nvar doc = {\n  animalId : 12345,\n  birthday : new Date('2014-04-20'),\n  name : 'Hamish'\n};\n\n// note, unless _id.path is specified in the mapping, identity will not emit\ncatsMapper.on('identity', (_id) => {\n  console.log(\n    '_id of document will be %s (which is the animalId: %s)',\n    _id,\n    doc.animalId);\n});\n\ncatsMapper\n  .validate(doc)\n  .then((catsModel) => {\n    if (catsModel) {\n      console.log('successfully validated %s the cat', catsModel.name);\n      console.log(catsModel);\n    }\n  })\n  .catch(console.error)\n```\n","maintainers":[{"name":"brozeph","email":"joshua.thomas@gmail.com"},{"name":"rmomii","email":"robibobi@gmail.com"}],"time":{"modified":"2022-12-05T19:28:55.836Z","created":"2015-08-31T22:53:33.137Z","0.1.0":"2015-08-31T22:53:33.137Z","0.2.0":"2015-09-22T17:47:31.004Z","0.2.1":"2015-09-22T17:57:21.372Z","0.2.2":"2015-09-29T01:48:00.075Z","0.2.3":"2015-10-06T22:33:57.046Z","0.2.4":"2015-10-08T19:34:48.360Z","0.2.5":"2015-10-08T23:56:05.112Z","0.2.6":"2015-10-09T13:49:45.519Z","0.2.7":"2015-10-09T14:46:35.134Z","0.2.8":"2015-10-09T15:18:52.921Z","0.2.9":"2015-10-09T15:41:58.889Z","0.2.10":"2015-10-09T16:44:24.393Z","0.2.11":"2015-10-09T17:38:51.194Z","0.2.12":"2015-10-09T18:21:12.766Z","0.2.13":"2015-10-12T19:24:52.698Z","0.2.14":"2015-10-13T20:07:45.976Z","0.2.15":"2015-10-15T16:08:32.792Z","0.2.16":"2015-10-16T20:29:25.387Z","0.2.17":"2015-10-19T16:03:07.977Z","0.2.18":"2015-10-21T15:08:55.447Z","1.0.1":"2016-06-07T17:24:15.800Z","2.0.0":"2016-07-22T16:46:52.013Z","2.0.1":"2016-09-24T01:14:36.000Z","2.0.2":"2016-10-06T17:29:13.096Z","2.0.3":"2017-03-01T16:24:42.829Z","2.0.4":"2017-03-01T22:04:50.845Z","2.1.0":"2017-10-25T15:02:23.296Z","2.1.1":"2017-11-01T20:16:46.255Z","2.1.2":"2018-01-29T21:56:04.824Z","2.1.3":"2018-10-23T17:43:05.090Z","3.0.0":"2019-02-19T21:31:27.781Z","3.0.1":"2019-02-20T00:01:15.150Z","3.1.0":"2019-03-06T18:57:14.341Z","3.1.1":"2019-03-11T22:34:21.432Z","3.1.2":"2019-03-11T22:48:41.963Z","3.1.3":"2019-03-19T19:57:26.205Z","3.1.4":"2019-03-25T21:32:02.820Z","3.2.0":"2019-10-12T21:18:56.216Z","3.2.1":"2020-06-25T19:10:16.762Z","3.2.2":"2020-10-08T03:57:06.046Z","3.3.0":"2021-06-22T20:15:56.060Z","4.0.0":"2021-06-24T21:38:21.551Z","4.1.0":"2022-12-05T19:28:55.749Z"},"homepage":"http://github.com/brozeph/reindeer","keywords":["elasticsearch","mapping","schema","validation"],"repository":{"type":"git","url":"git://github.com/brozeph/reindeer.git"},"author":{"name":"Joshua Thomas","url":"https://github.com/brozeph"},"bugs":{"url":"http://github.com/brozeph/reindeer/issues"},"readmeFilename":"readme.md","license":"MIT","contributors":[{"name":"Robin Momii","url":"https://github.com/rmomii"}]}