{"_id":"@eslint/object-schema","_rev":"11-781df0bdd118cbe6039169c45b0d4a42","name":"@eslint/object-schema","dist-tags":{"latest":"3.0.5"},"versions":{"2.1.3":{"name":"@eslint/object-schema","version":"2.1.3","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@2.1.3","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"nicholas+eslint@nczconsulting.com"}],"homepage":"https://github.com/eslint/rewrite#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"e65ae80ee2927b4fd8c5c26b15ecacc2b2a6cc2a","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz","fileCount":10,"integrity":"sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==","signatures":[{"sig":"MEYCIQCu6KY8smR5L4QDCx9vPWjIgUafFB+awOTpVGxIYt61QgIhALVJpHPwK8J/SwGcCWDEm+lmFf3q/Fk8S5JuiYoYQLtp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52807},"type":"module","engines":{"node":"^18.18.0 || ^20.9.0 || >=21.1.0"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"12012ffea9128c8c5cc035d3806a128308b26186","scripts":{"test":"mocha tests/","build":"rollup -c && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node -e \"fs.copyFileSync('dist/esm/index.d.ts', 'dist/cjs/index.d.cts')\""},"_npmUser":{"name":"eslintbot","email":"nicholas+eslint@nczconsulting.com"},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git"},"_npmVersion":"10.5.2","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"20.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.4.0","rollup":"^4.16.2","typescript":"^5.4.5","rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_2.1.3_1717101623079_0.8190393680536692","host":"s3://npm-registry-packages"}},"2.1.4":{"name":"@eslint/object-schema","version":"2.1.4","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@2.1.4","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"nicholas+eslint@nczconsulting.com"}],"homepage":"https://github.com/eslint/rewrite#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"9e69f8bb4031e11df79e03db09f9dbbae1740843","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz","fileCount":10,"integrity":"sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==","signatures":[{"sig":"MEUCIEvN7PZafbjBuQghL/76RRRPeYJRdB6MAOlRRh6QPhg8AiEAgwf1Pz2DMSBIcyWcfAYXy7nk6Uy2HzkX9AFgsbuPEho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55487},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^18.18.0 || ^20.9.0 || >=21.1.0"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"2a7bed41976f94495f7ba46f459f1de9d3305664","scripts":{"test":"mocha tests/","build":"rollup -c && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node -e \"fs.copyFileSync('dist/esm/index.d.ts', 'dist/cjs/index.d.cts')\"","test:coverage":"c8 npm test"},"_npmUser":{"name":"eslintbot","email":"nicholas+eslint@nczconsulting.com"},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git"},"_npmVersion":"10.7.0","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"20.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","mocha":"^10.4.0","rollup":"^4.16.2","typescript":"^5.4.5","rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_2.1.4_1718202693724_0.9989908493722703","host":"s3://npm-registry-packages"}},"2.1.5":{"name":"@eslint/object-schema","version":"2.1.5","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@2.1.5","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"nicholas@eslint.org"}],"homepage":"https://github.com/eslint/rewrite#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"8670a8f6258a2be5b2c620ff314a1d984c23eb2e","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz","fileCount":10,"integrity":"sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==","signatures":[{"sig":"MEYCIQC5vaJ//+9g4KTFu4l0uhU86QSPOSWEo6aP7yZ7dybUwwIhAJ2sUapPc+0JhYl0eBboUkjlRqGdr8XcjhTxYHGYnC96","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57040},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^18.18.0 || ^20.9.0 || >=21.1.0"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"dd8d161c635450f3e37109f833737bf69f54db55","scripts":{"test":"mocha tests/","build":"rollup -c && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node -e \"fs.copyFileSync('dist/esm/index.d.ts', 'dist/cjs/index.d.cts')\"","test:coverage":"c8 npm test"},"_npmUser":{"name":"eslintbot","email":"nicholas@eslint.org"},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git"},"_npmVersion":"10.9.0","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"22.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","mocha":"^10.4.0","rollup":"^4.16.2","typescript":"^5.4.5","rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_2.1.5_1733347408751_0.3211997724344855","host":"s3://npm-registry-packages"}},"2.1.6":{"name":"@eslint/object-schema","version":"2.1.6","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@2.1.6","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"nicholas@eslint.org"}],"homepage":"https://github.com/eslint/rewrite#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"58369ab5b5b3ca117880c0f6c0b0f32f6950f24f","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz","fileCount":10,"integrity":"sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==","signatures":[{"sig":"MEUCIQDDMEh/N3HSCxrAbPFSoR+5b4AiJV0i+ekupaMB70CpMAIgHUnHk9TpbvgxmZMl9XVz8UxJTBtVNLKTewhnONDeCCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56960},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^18.18.0 || ^20.9.0 || >=21.1.0"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"e1cb6037bc237313dbf3f6a7b9f5cd3c3105b668","scripts":{"test":"mocha tests/","build":"rollup -c && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:coverage":"c8 npm test"},"_npmUser":{"name":"eslintbot","email":"nicholas@eslint.org"},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git"},"_npmVersion":"10.9.2","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"22.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^9.1.0","mocha":"^10.4.0","rollup":"^4.16.2","typescript":"^5.4.5","rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_2.1.6_1738344166529_0.8094857111733287","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"@eslint/object-schema","version":"2.1.7","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@2.1.7","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"6e2126a1347e86a4dedf8706ec67ff8e107ebbad","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz","fileCount":10,"integrity":"sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==","signatures":[{"sig":"MEUCIQC9MSGz+rqqcZ8Jt+X0YYTypFSsIpolxO0taVnB0EFATgIgPgovImvpv96OpkgdFv32NaptCh02BEXFNuuLu01yzBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57521},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^18.18.0 || ^20.9.0 || >=21.1.0"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"df12d9a67c9fdf7959ae79bd2f49462656d474f5","scripts":{"test":"mocha \"tests/**/*.test.js\"","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm test","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.6.2","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_2.1.7_1760723892437_0.43865086000504117","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@eslint/object-schema","version":"3.0.0","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@3.0.0","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"0efb4cf93d529ef7f4f66d3f8490e3bfcf1550f4","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.0.tgz","fileCount":10,"integrity":"sha512-nWl20RtHQP2A2yvKU6Fee62Xo1AoNRqBLixtyg45zJhU8ljPFCyBK90d8e8XTnPns1RggSf4HH3bM8AhevkPVg==","signatures":[{"sig":"MEQCIHhLx8NwCkiLLL1Ywui1CS8a+/vYlMMci66IbCthD1ZyAiAmdRW88FCcso5e/vf5hn6C6UivRlQSJVYmCus43Mh+Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57413},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"c368656dbba4d927344905f24b3993a378a59a88","scripts":{"test":"mocha \"tests/**/*.test.js\"","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","test:jsr":"npx jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm test","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.6.2","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_3.0.0_1763137814842_0.1594137400573059","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@eslint/object-schema","version":"3.0.1","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@3.0.1","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"9a1dc9af00d790dc79a9bf57a756e3cb2740ddb9","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.1.tgz","fileCount":10,"integrity":"sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg==","signatures":[{"sig":"MEYCIQC6zJPXNmrVVhpZfZVHLposZ6SVcZCgfbk05mRyaZgYgwIhAPFK+BtEsjSnWpc6Dl6IMF2jyNm0/XTJeY0v85kjmI+/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58226},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"0f972f9282d1babf881deeb12b01375f1147d24f","scripts":{"test":"npm run test:types && npm run test:unit","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","pretest":"npm run build","test:jsr":"npx -y jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:unit":"mocha \"tests/**/*.test.js\"","lint:types":"attw --pack","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm run test:unit","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.9.0","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_3.0.1_1770422527218_0.3342435392610974","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@eslint/object-schema","version":"3.0.2","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@3.0.2","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"c59c6a94aa4b428ed7f1615b6a4495c0a21f7a22","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.2.tgz","fileCount":10,"integrity":"sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==","signatures":[{"sig":"MEUCIAqDxxITt/h7Dq8mGffPPKsPLYKo65eXCN7WYhgTZHTzAiEAuZQmdaBPYv/DHaVaZL29dxs4JofbPridtAA+W75HPtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61354},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"1030f06ab63357c7ada784489d68bb4ddd092f7f","scripts":{"test":"npm run test:types && npm run test:unit","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","pretest":"npm run build","test:jsr":"npx -y jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:unit":"mocha \"tests/**/*.test.js\"","lint:types":"attw --pack","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm run test:unit","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.10.1","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_3.0.2_1771597911534_0.7848793455890284","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@eslint/object-schema","version":"3.0.3","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@3.0.3","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"5bf671e52e382e4adc47a9906f2699374637db6b","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz","fileCount":10,"integrity":"sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==","signatures":[{"sig":"MEUCIQDmlsS4fkAX3Dra9JVDg6Dh1VSpkz3KqYHFnlfVC3HZwgIgF94wpmhOvo63erozmkFn6jEE5Iz4mnErwHesz98zlgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66669},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"41eb19fbdd81a778a2feb362f11172278063f785","scripts":{"test":"npm run test:types && npm run test:unit","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","pretest":"npm run build","test:jsr":"npx -y jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:unit":"mocha \"tests/**/*.test.js\"","lint:types":"attw --pack","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm run test:unit","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.11.0","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_3.0.3_1772835933453_0.5984725769559418","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@eslint/object-schema","version":"3.0.4","keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","_id":"@eslint/object-schema@3.0.4","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"dist":{"shasum":"8ce3aff08f6ca7c3bd9e1cec34530fc7fb44546a","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz","fileCount":9,"integrity":"sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==","signatures":[{"sig":"MEQCIFqM1z5Dc6sFICpPOFdDBVfhk4c/JizTitzcx0oc8gxQAiBcey43gIKUKz5BGX9p96xBjPU2Cf9YKCE31Y24AQWMCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59201},"main":"dist/esm/index.js","type":"module","types":"dist/esm/index.d.ts","engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"exports":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"gitHead":"fe114eed69c5d59d0dd05cda8071a5b98c4daec2","scripts":{"test":"npm run test:types && npm run test:unit","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","pretest":"npm run build","test:jsr":"npx -y jsr@latest publish --dry-run","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","test:unit":"mocha \"tests/**/*.test.js\"","lint:types":"attw --pack","test:types":"tsc -p tests/types/tsconfig.json","test:coverage":"c8 npm run test:unit","build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"repository":{"url":"git+https://github.com/eslint/rewrite.git","type":"git","directory":"packages/object-schema"},"_npmVersion":"11.12.1","description":"An object schema merger/validator","directories":{"test":"tests"},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup-plugin-copy":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/object-schema_3.0.4_1775246579708_0.3096490352139829","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"@eslint/object-schema","version":"3.0.5","description":"An object schema merger/validator","type":"module","main":"dist/esm/index.js","types":"dist/esm/index.d.ts","exports":{"require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"},"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"}},"publishConfig":{"access":"public"},"directories":{"test":"tests"},"scripts":{"build:dedupe-types":"node ../../tools/dedupe-types.js dist/cjs/index.cjs dist/esm/index.js","build:cts":"node ../../tools/build-cts.js dist/esm/index.d.ts dist/cjs/index.d.cts","build":"rollup -c && npm run build:dedupe-types && tsc -p tsconfig.esm.json && npm run build:cts","lint:types":"attw --pack","pretest":"npm run build","test":"npm run test:types && npm run test:unit","test:coverage":"c8 npm run test:unit","test:jsr":"npx -y jsr@latest publish --dry-run","test:types":"tsc -p tests/types/tsconfig.json","test:unit":"mocha \"tests/**/*.test.js\""},"repository":{"type":"git","url":"git+https://github.com/eslint/rewrite.git","directory":"packages/object-schema"},"keywords":["object","validation","schema","merge"],"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","bugs":{"url":"https://github.com/eslint/rewrite/issues"},"homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","devDependencies":{"rollup-plugin-copy":"^3.5.0"},"engines":{"node":"^20.19.0 || ^22.13.0 || >=24"},"gitHead":"d2dbf7b73d01505da89a69b7465e486d8a88aa8f","_id":"@eslint/object-schema@3.0.5","_nodeVersion":"24.14.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==","shasum":"88e9bf4d11d2b19c082e78ebe7ce88724a5eb091","tarball":"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz","fileCount":10,"unpackedSize":67104,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eslint%2fobject-schema@3.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDAgt1v9LlD8MdqiBi1gfPTMyM7PgoLCPDJCZz4jT22GAiBTaT9lTmXBbMunq2MOI7LsLBJgizyAxIweOBaL1eFi4w=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1295a891-c6bd-4729-9ef7-41e7903845dc"}},"maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/object-schema_3.0.5_1775640154415_0.6065567256570696"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-30T20:40:22.953Z","modified":"2026-04-08T09:22:34.861Z","2.1.3":"2024-05-30T20:40:23.310Z","2.1.4":"2024-06-12T14:31:33.901Z","2.1.5":"2024-12-04T21:23:28.907Z","2.1.6":"2025-01-31T17:22:46.772Z","2.1.7":"2025-10-17T17:58:12.617Z","3.0.0":"2025-11-14T16:30:15.065Z","3.0.1":"2026-02-07T00:02:07.436Z","3.0.2":"2026-02-20T14:31:51.682Z","3.0.3":"2026-03-06T22:25:33.621Z","3.0.4":"2026-04-03T20:02:59.835Z","3.0.5":"2026-04-08T09:22:34.549Z"},"bugs":{"url":"https://github.com/eslint/rewrite/issues"},"author":{"name":"Nicholas C. Zakas"},"license":"Apache-2.0","homepage":"https://github.com/eslint/rewrite/tree/main/packages/object-schema#readme","keywords":["object","validation","schema","merge"],"repository":{"type":"git","url":"git+https://github.com/eslint/rewrite.git","directory":"packages/object-schema"},"description":"An object schema merger/validator","maintainers":[{"name":"openjsfoundation","email":"npm@openjsf.org"},{"name":"eslintbot","email":"contact@eslint.org"}],"readme":"# ObjectSchema Package\n\n## Overview\n\nA JavaScript object merge/validation utility where you can define a different merge and validation strategy for each key. This is helpful when you need to validate complex data structures and then merge them in a way that is more complex than `Object.assign()`. This is used in the [`@eslint/config-array`](https://npmjs.com/package/@eslint/config-array) package but can also be used on its own.\n\n## Installation\n\nFor Node.js and compatible runtimes:\n\n```shell\nnpm install @eslint/object-schema\n# or\nyarn add @eslint/object-schema\n# or\npnpm install @eslint/object-schema\n# or\nbun add @eslint/object-schema\n```\n\nFor Deno:\n\n```shell\ndeno add @eslint/object-schema\n```\n\n## Usage\n\nImport the `ObjectSchema` constructor:\n\n```js\n// using ESM\nimport { ObjectSchema } from \"@eslint/object-schema\";\n\n// using CommonJS\nconst { ObjectSchema } = require(\"@eslint/object-schema\");\n\nconst schema = new ObjectSchema({\n\t// define a definition for the \"downloads\" key\n\tdownloads: {\n\t\trequired: true,\n\t\tmerge(value1 = 0, value2) {\n\t\t\treturn value1 + value2;\n\t\t},\n\t\tvalidate(value) {\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrow new Error(\"Expected downloads to be a number.\");\n\t\t\t}\n\t\t},\n\t},\n\n\t// define a strategy for the \"versions\" key\n\tversions: {\n\t\trequired: true,\n\t\tmerge(value1 = [], value2) {\n\t\t\treturn value1.concat(value2);\n\t\t},\n\t\tvalidate(value) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthrow new Error(\"Expected versions to be an array.\");\n\t\t\t}\n\t\t},\n\t},\n});\n\nconst record1 = {\n\tdownloads: 25,\n\tversions: [\"v1.0.0\", \"v1.1.0\", \"v1.2.0\"],\n};\n\nconst record2 = {\n\tdownloads: 125,\n\tversions: [\"v2.0.0\", \"v2.1.0\", \"v3.0.0\"],\n};\n\n// make sure the records are valid\nschema.validate(record1);\nschema.validate(record2);\n\n// merge together (schema.merge() accepts any number of objects)\nconst result = schema.merge(record1, record2);\n\n// result looks like this:\n// {\n// \tdownloads: 150,\n// \tversions: [\"v1.0.0\", \"v1.1.0\", \"v1.2.0\", \"v2.0.0\", \"v2.1.0\", \"v3.0.0\"],\n// }\n```\n\n## Tips and Tricks\n\n### Named merge strategies\n\nInstead of specifying a `merge()` method, you can specify one of the following strings to use a default merge strategy:\n\n- `\"assign\"` - use `Object.assign()` to merge the two values into one object.\n- `\"overwrite\"` - the second value always replaces the first.\n- `\"replace\"` - the second value replaces the first if the second is not `undefined`.\n\nFor example:\n\n```js\nconst schema = new ObjectSchema({\n\tname: {\n\t\tmerge: \"replace\",\n\t\tvalidate() {},\n\t},\n});\n```\n\n### Named validation strategies\n\nInstead of specifying a `validate()` method, you can specify one of the following strings to use a default validation strategy:\n\n- `\"array\"` - value must be an array.\n- `\"boolean\"` - value must be a boolean.\n- `\"number\"` - value must be a number.\n- `\"object\"` - value must be a non-null object, including arrays and non-plain objects.\n- `\"object?\"` - value must be an object or null, including arrays and non-plain objects.\n- `\"string\"` - value must be a string.\n- `\"string!\"` - value must be a non-empty string.\n\nFor example:\n\n```js\nconst schema = new ObjectSchema({\n\tname: {\n\t\tmerge: \"replace\",\n\t\tvalidate: \"string\",\n\t},\n});\n```\n\n### Built-in strategy classes\n\nThe package also exports the built-in merge and validation strategies as two classes with static methods:\n\n- `MergeStrategy` - built-in merge functions (`assign`, `overwrite`, `replace`).\n- `ValidationStrategy` - built-in validation functions (`array`, `boolean`, `number`, `object`, `object?`, `string`, `string!`).\n\nThese are the same strategies used when you specify a strategy by name (for example, `merge: \"replace\"`). You can reference the functions directly if you prefer passing a function instead of a string:\n\n```js\nimport {\n\tObjectSchema,\n\tMergeStrategy,\n\tValidationStrategy,\n} from \"@eslint/object-schema\";\n\nconst schema = new ObjectSchema({\n\tname: {\n\t\trequired: true,\n\t\tmerge: MergeStrategy.replace,\n\t\tvalidate: ValidationStrategy[\"string!\"],\n\t},\n\toptions: {\n\t\trequired: false,\n\t\tmerge: MergeStrategy.assign,\n\t\tvalidate: ValidationStrategy[\"object?\"],\n\t},\n});\n```\n\nNote: Because `object?` and `string!` aren't valid identifiers, you must access them using bracket notation (for example, `ValidationStrategy[\"object?\"]`).\n\n### Subschemas\n\nIf you are defining a key that is, itself, an object, you can simplify the process by using a subschema. Instead of defining `merge()` and `validate()`, set a `schema` property that contains a schema definition, like this:\n\n```js\nconst schema = new ObjectSchema({\n\tname: {\n\t\tschema: {\n\t\t\tfirst: {\n\t\t\t\tmerge: \"replace\",\n\t\t\t\tvalidate: \"string\",\n\t\t\t},\n\t\t\tlast: {\n\t\t\t\tmerge: \"replace\",\n\t\t\t\tvalidate: \"string\",\n\t\t\t},\n\t\t},\n\t},\n});\n\nschema.validate({\n\tname: {\n\t\tfirst: \"n\",\n\t\tlast: \"z\",\n\t},\n});\n```\n\n### Remove Keys During Merge\n\nIf the merge strategy for a key returns `undefined`, then the key will not appear in the final object. For example:\n\n```js\nconst schema = new ObjectSchema({\n\tdate: {\n\t\tmerge() {\n\t\t\treturn undefined;\n\t\t},\n\t\tvalidate(value) {\n\t\t\tif (isNaN(Date.parse(value))) {\n\t\t\t\tthrow new Error(\"Invalid date.\");\n\t\t\t}\n\t\t},\n\t},\n});\n\nconst object1 = { date: \"5/5/2005\" };\nconst object2 = { date: \"6/6/2006\" };\n\nconst result = schema.merge(object1, object2);\n\nconsole.log(\"date\" in result); // false\n```\n\n### Requiring Another Key Be Present\n\nIf you'd like the presence of one key to require the presence of another key, you can use the `requires` property to specify an array of other properties that any key requires. For example:\n\n```js\nconst schema = new ObjectSchema({\n\tdate: {\n\t\tmerge() {\n\t\t\treturn undefined;\n\t\t},\n\t\tvalidate(value) {\n\t\t\tif (isNaN(Date.parse(value))) {\n\t\t\t\tthrow new Error(\"Invalid date.\");\n\t\t\t}\n\t\t},\n\t},\n\ttime: {\n\t\trequires: [\"date\"],\n\t\tmerge(first, second) {\n\t\t\treturn second;\n\t\t},\n\t\tvalidate(value) {\n\t\t\t// ...\n\t\t},\n\t},\n});\n\n// throws error: Key \"time\" requires keys \"date\".\nschema.validate({\n\ttime: \"13:45\",\n});\n```\n\nIn this example, even though `date` is an optional key, it is required to be present whenever `time` is present.\n\n## License\n\nApache 2.0\n\n\n\n\n## Sponsors\n\nThe following companies, organizations, and individuals support ESLint's ongoing maintenance and development. [Become a Sponsor](https://eslint.org/donate)\nto get your logo on our READMEs and [website](https://eslint.org/sponsors).\n\n

Platinum Sponsors

\n

\"Automattic\"

Gold Sponsors

\n

\"Qlty

Silver Sponsors

\n

\"Vite\" \"Liftoff\" \"StackBlitz\"

Bronze Sponsors

\n

\"Cybozu\" \"SAP\" \"CrawlJobs\" \"aeriusventilation's \"Depot\" \"Icons8\" \"Discord\" \"GitBook\" \"HeroCoders\" \"TestMu

\n

Technology Sponsors

\nTechnology sponsors allow us to use their products and services for free as part of a contribution to the open source ecosystem and our work.\n

\"Netlify\" \"Algolia\" \"1Password\"

\n\n","readmeFilename":"README.md"}