{"_id":"@anephenix/measure","_rev":"19-cc832b2eaa74e1c66229795215500997","name":"@anephenix/measure","dist-tags":{"latest":"0.1.20"},"versions":{"0.1.0":{"name":"@anephenix/measure","version":"0.1.0","author":{"name":"Paul Jensen"},"license":"MIT","_id":"@anephenix/measure@0.1.0","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"8435561797b62f883a16750ca260c1923a75e30d","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.0.tgz","fileCount":9,"integrity":"sha512-IOXOHnUicZOpEx9bNV48OjHML6VZGffOlsvUa0CRuWvnKClrxiXhcuGv9FkLslE3sjspMHJ2IpjqcU1p6Ph6Rg==","signatures":[{"sig":"MEQCIGxN2SMX7ws6SjM78TZVXo2P2qfTyXWcuuZ434gh8QYBAiBsK4iXg1PyGIxQYeBNRG2Qb0zeZQzhIfebid88oT60MQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14462},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=20"},"gitHead":"42235108a9334d180429a54884ea8438fb0d99c9","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/index.js","limit":"10 KB"}],"_npmVersion":"10.8.3","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"20.15.1","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.0.0","husky":"^9.1.5","mocha":"^10.7.3","tslib":"^2.7.0","ts-node":"^10.9.2","prettier":"^3.3.3","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.5.4","@types/mocha":"^10.0.7","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.1.4","@size-limit/preset-small-lib":"^11.1.4"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.0_1725704662724_0.5649796001762313","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@anephenix/measure","version":"0.1.1","author":{"name":"Paul Jensen"},"license":"MIT","_id":"@anephenix/measure@0.1.1","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"4a4e645b320ff43dea79a30cecc2fc1a74d299d7","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.1.tgz","fileCount":5,"integrity":"sha512-rx0FV1/Yi1CKo+C26eCcG4nJinwQdXmMmV8+0tjMgcLNmd2UPV/S7YYBSJ6wNRhJi4UvbwjaEfhx7bxZ/JJggQ==","signatures":[{"sig":"MEUCICy+0Z0KkuYjE4xG2gTPF1wTSlmqxZEM0DKdJSu66/OVAiEA1F9XOl9KXrswTn799+Vm+/XjO+pzTGZse1khFSNu6R8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9165},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"a03aa5e895ceb5017a18f762d8659730456fb7ad","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin master && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/index.js","limit":"10 KB"}],"_npmVersion":"10.9.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.0.1","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.4.2","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.7.2","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.1.6","@size-limit/preset-small-lib":"^11.1.6"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.1_1736162457621_0.5647011488415692","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anephenix/measure","version":"0.1.2","author":{"name":"Paul Jensen"},"license":"MIT","_id":"@anephenix/measure@0.1.2","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"7abbb06523a2fd3e6677a4d4cf2ebcf70f3fc83b","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.2.tgz","fileCount":5,"integrity":"sha512-gE016KeWx38E0x3yjscoAeCW+pAYe1p9UAlJ+OeO8lG9NnK+2Xda4ZVOc5QCVSn+T4bX5TCkCTSMqaPlkZfzwg==","signatures":[{"sig":"MEYCIQDv4b1AaX5Vuo2wlKHPHCBr+l4gY87iQZXwO1HywhelNwIhAPwt61hCPrikc+t62jxj+xrHbv4Wr9VcMYsWxrPCZCnr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9165},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"6db19bf20083f88fd47eb962b2fe278a3e5163da","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin master && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/index.js","limit":"10 KB"}],"_npmVersion":"10.9.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.0.1","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.4.2","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.7.2","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.1.6","@size-limit/preset-small-lib":"^11.1.6"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.2_1736162459379_0.582624142161988","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@anephenix/measure","version":"0.1.3","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.3","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"13451a027f7df9cff9c1135a87beadfbf2450876","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.3.tgz","fileCount":5,"integrity":"sha512-BhPsY+It2/G2R44Q9HpIiz9IHMiNtQjXwGjyYUdCKgOqSZf74lwg4pN3rtv4RhSg71tb/bMePnBLMNOAQmEmvA==","signatures":[{"sig":"MEUCIHv8HmdMjnMxHMrUeay583CYyybYQFiIdzCde3GXiZE8AiEA43xkSPr4dM/qGOXnILQWveBABDKhCvYjllmPNs7G+ZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9285},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"1f307434477dab6c2dbcfc2795b730ad198dff2a","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/index.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.13.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.1.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.4.2","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.7.3","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.1.6","@size-limit/preset-small-lib":"^11.1.6"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.3_1738102843193_0.3381606373668651","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@anephenix/measure","version":"0.1.4","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.4","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"45e8efee20cd252bf360a172b3d7c69093a5506f","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.4.tgz","fileCount":5,"integrity":"sha512-mJHBHWKFaUcEukMrS7F+MNYkTRgG3nyuhOGexJRqX5/0OlOkhLcCRQ4LcOISq/gDW0e45Itm43EZimcP3aOfVg==","signatures":[{"sig":"MEQCIHVz1+DsYEsA9GXM54f9TzJA4kXvnpEf9eyH8fHcUjtbAiANhxVJGxLveNJqzhdxbgxTLJCs3nrN9NApQm65UFq72Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9281},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"92069bafc66815a214c20bde8852133c49c9b8a0","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.1.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.5.1","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.7.3","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.1.6","@size-limit/preset-small-lib":"^11.1.6"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.4_1739620124048_0.6263539624208865","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@anephenix/measure","version":"0.1.5","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.5","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"09b6ba61555ea3bed044a5dea2423c3d7b99cd16","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.5.tgz","fileCount":5,"integrity":"sha512-Pzo74ZLE44/rUtn9BvaMbZbT2FemjFCc/HM/YFEbK8rVAaUk0QJ+QN0WH2LcLa39NGqJADST4MnnmoCHc6h8Lw==","signatures":[{"sig":"MEQCIFlzqD7uwrjfI7ejy5eDdx1UufAz+c5SyEpFVXpL2DYeAiBS+SjgTYV/XxPtuCClfQj59wHSnHgUrEGV0K+RUtVGtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9281},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"9aa158cfb8733744b2fcae6d3062b4064b7147b3","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.1.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.5.3","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.8.3","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.5_1744111548197_0.6565191120896403","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@anephenix/measure","version":"0.1.6","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.6","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"c1df82534ab3850ac25bafb9500f5a4ea36f1d7f","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.6.tgz","fileCount":5,"integrity":"sha512-aPt2sgWqOAPfFSYPl82fwB6I+8wyQX1rty7ljt7LPpMZkAAWyksrUiz+HBRxO/tIBT592Zd62ZwMt2yjL2Pwyg==","signatures":[{"sig":"MEUCIQDgrhdlBiGd0rrcoFO8Q5/YP8Ub5MLcvpc6nTcljjTvnQIgfXh8mBvdT/qNoPbAVkn+X6edU3GKwY+Bo3K9uHkhmZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10115},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"44eeb012e9829a66eec1bdf37fbe4b7f69dc7e78","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.4.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.5.3","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.8.3","@types/node":"^22.15.19","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.6_1747724683138_0.004141231353782082","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@anephenix/measure","version":"0.1.7","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.7","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"de747f4812abd175a7c6babc55bea9b62f90ce8a","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.7.tgz","fileCount":5,"integrity":"sha512-rSG+3WDh4uGom2eitbRcyM60j6yQu5q7NJV4OJb7gyHde6APlvuur7ZjLMg1H4YT0l79bxWb+wkfJTbANGPtSw==","signatures":[{"sig":"MEUCIQDFddNVK7zm3kPmhLnofSLoes0uBUnneXqYddo0gEUrNwIgGoleH/zz3KMP6duszpn+ZHKfz68HyocwmU5RmnGV2KA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10263},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"4c9f489e17e947771c1b67c08bb3b3b3567365b1","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.5.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.5.3","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.8.3","@types/node":"^22.15.21","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.7_1748281058505_0.7107059218025906","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@anephenix/measure","version":"0.1.8","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.8","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"382dba97becce1e522375e22d3a31e5828a288a1","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.8.tgz","fileCount":5,"integrity":"sha512-KxYbMvBC4Im2731kUo4XcQu5KddfSg5QSjza2/wHqFgRS0ulHJT6zsagNGBGRt+82a2DcteFOmJ4Cgb1t92Pkw==","signatures":[{"sig":"MEUCIQCWyaBx2zG4AcRuxCIue/eS4ADcmQM9kJMnNcxT4EO4yAIgXPr/RnLPifGUE2Ram/AoyKkOfgE7jwGzfF+gz8bDiNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10263},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"fd67faf230ebe66bcc144e4f7387054ffd00d11d","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.6.0","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.5.3","cross-env":"^7.0.3","size-limit":"^11.1.4","typescript":"^5.8.3","@types/node":"^22.15.30","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.8_1749541925616_0.5057161497795672","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@anephenix/measure","version":"0.1.9","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.9","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"ccb7a135cda70826d67c9a5a57803ddb15dde8ba","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.9.tgz","fileCount":5,"integrity":"sha512-8cnHW4sQi9ov7eA1ccdEh24JIO6kVfTOi/l21tiEGq4tTUximJNKxSIlpj23lQBWXnGXTfjfwNZGmRhRrVpT6Q==","signatures":[{"sig":"MEUCIGFD4VnOarHcSoUob/Zi5nLvF3pJSrkm+T02kXfEvXmaAiEA0ImJCAklMSP8oBTVtIz+MUHJx8/tvpem/9gb/q77KJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9942},"main":"dist/index.js","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"engines":{"node":">=22"},"gitHead":"330529f3fbd5021f624001d4b32f7ace22796d94","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx mocha --require ts-node/register --extensions ts,tsx test/* --test","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prettier":"prettier src test --write","check-prettier":"prettier src test --check","update-changelog":"npx ts-node scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.3","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","mocha":"^11.7.4","tslib":"^2.8.1","ts-node":"^10.9.2","prettier":"^3.6.2","cross-env":"^10.1.0","size-limit":"^11.1.4","typescript":"^5.9.3","@types/node":"^24.6.2","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.9_1759738513083_0.780967183481649","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@anephenix/measure","version":"0.1.10","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.10","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"3e6ab4d4623005ab5090aa018966b9ec26586e33","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.10.tgz","fileCount":9,"integrity":"sha512-X8MWzMxZJTYbLZiF4ji+m4VyS36KX7qwb8jrTCb2B1ttstQKOrfa+K2S3ug0WEioIkvNCkkXfMdVyKCv338wHQ==","signatures":[{"sig":"MEYCIQDgaE7KN164cWU6Yp8CIAIbQkP7NDaAjob3BoeA7FlQgQIhAPKXlDIIZMQN43LNI6HcXONXkaEbjBjfEi1hHJIiPv6k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15185},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6ef9836d6b6368efe33b159572ba0b49e397a66d","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prepare":"husky","prettier":"prettier src test --write","lint:package":"npx publint","check-prettier":"prettier src test --check","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.3","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^3.2.4","publint":"^0.3.14","prettier":"^3.6.2","cross-env":"^10.1.0","size-limit":"^11.1.4","typescript":"^5.9.3","@types/node":"^24.7.0","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^11.2.0","@size-limit/preset-small-lib":"^11.2.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.10_1759918525274_0.7203139219477062","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@anephenix/measure","version":"0.1.11","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.11","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"dist":{"shasum":"d9c91701139d916b1681f1f7375d201a2cfdc164","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.11.tgz","fileCount":9,"integrity":"sha512-kNrXQcRmXqxZS/zkuep4wqJfi/Sptjww0/7iH6UTm7CvMh2iC4ZYQ0Fd3cqqxi/rEk+72UelSr6nSOdqh2AABQ==","signatures":[{"sig":"MEQCIBR3z0+OlV7uSdgzhp+ZSYYh69H2VxbYYKYZGxuuEhhuAiAiRoptLCya0QtmzspQnGdXSaixvYJ9VNQFsj1abVhgaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15187},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a7569245982594742695510d9cff2092280d27e8","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prepare":"husky","prettier":"prettier src test --write","lint:package":"npx publint","check-prettier":"prettier src test --check","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"paulbjensen","email":"paulbjensen@gmail.com"},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"10.9.4","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.0.15","publint":"^0.3.15","prettier":"^3.7.4","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^12.0.0","@size-limit/preset-small-lib":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.11_1764781340930_0.3749808231257281","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@anephenix/measure","version":"0.1.12","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.12","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"ac20550ab39ef3bd9a49f98acfb70f8cc0e55f25","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.12.tgz","fileCount":9,"integrity":"sha512-ef/awHbdKn8GyJ3+LB8g45uax6hKElT2lrBp5VXHi9msTacfXvkptn3WOMYTDQdz/Uj40IwDwYn/mVo+BhRzjA==","signatures":[{"sig":"MEYCIQCPN1E0m9bIs6eW83i6WCWAEuadI26cIPk/fYwvmNtU7QIhAO8HcInvYS+hpxkP+ogWFCwtxjp6qaAdplgm6wyIFP0G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15403},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9b27ca7e123299a07eaca683f2386341565b0269","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prepare":"husky","prettier":"prettier src test --write","lint:package":"npx publint","check-prettier":"prettier src test --check","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.0.16","publint":"^0.3.16","prettier":"^3.7.4","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^12.0.0","@size-limit/preset-small-lib":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.12_1767556972711_0.9433740457758046","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@anephenix/measure","version":"0.1.13","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.13","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"144e16791ee137b61f4e4e167aeda221707942ce","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.13.tgz","fileCount":9,"integrity":"sha512-LZbTpjt69T9/P2JJxcFOJKgaupNqcu69Xmk3KRdPBvyCIm/fI2rVY2aVjekBmhH1hJC3XxuyTqxH65yN0/wUJw==","signatures":[{"sig":"MEQCIDZ4zvmKhDnmGHKi+V+H0jWC9ShNMduq9CfPF0ubmw8gAiBs4RpkR+uM9hwl4XsMtOtiCNOzb/652A3I5hWuBMgELA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15402},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run prettier && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5e89e1f6d598add1d5cef390847ce903a01d6eba","scripts":{"size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","analyze":"size-limit --why","prepare":"husky","prettier":"prettier src test --write","lint:package":"npx publint","check-prettier":"prettier src test --check","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"prettier":{"semi":true,"printWidth":80,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.9.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.1.0","publint":"^0.3.18","prettier":"^3.8.1","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.5.0","@types/mocha":"^10.0.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^12.0.0","@size-limit/preset-small-lib":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.13_1774114523581_0.8417999945396022","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@anephenix/measure","version":"0.1.16","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.16","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"43377e4f313e43bf4365e9f62dd72216d3b64d18","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.16.tgz","fileCount":9,"integrity":"sha512-QFnfTH/TpnUG75jFxlJYvjolHiv8eLhALWt+2/5QbR2pBrg68/seTppqdttjjH5kuR9sRmnw16jBPLsF7GslVQ==","signatures":[{"sig":"MEUCIQDv3BKiTLiXTwqIHpix2af1lhqNNC4jvuGZfk0lQpdZLwIgUFtndEhn8dhOK4u8Oflt/A3iEQer93ElSssitaO7pvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19692},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run lint && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"beb8877d9fff7319c6c6c2b1c236d4678dd0314f","scripts":{"lint":"npx biome check .","size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","format":"npx biome check . --write","analyze":"size-limit --why","prepare":"husky","lint:package":"npx publint","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.9.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.1.2","publint":"^0.3.18","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","@types/mocha":"^10.0.10","@biomejs/biome":"2.4.9","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^12.0.0","@size-limit/preset-small-lib":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.16_1774816810246_0.7697664119128251","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@anephenix/measure","version":"0.1.17","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.17","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"c4da3284da8c5bcfcfcba2d94721e2e67dcba38d","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.17.tgz","fileCount":9,"integrity":"sha512-sdoX+Tcc89hg4DaXoUxUXgZ6UMaRrVd6n9aSto47CXHCtjBiOuVrKaTsWfZNW0SCU/83lDSQsvdoUzOmWwi5Ig==","signatures":[{"sig":"MEYCIQCXtLFIZIlGSbWr6ihEDUTfTOKJbxzLUAc0uoEAmjhwXAIhANcWFex42+QIP4PUuzeN+A7HDk9Q4N6z2zErYQk7uKpO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19693},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run lint && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"776a3ed7f22a986dba0b13467462c60e1dcfd097","scripts":{"lint":"npx biome check .","size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx nyc --reporter=lcov npm t","watch":"tsc --project tsconfig.json --watch","format":"npx biome check . --write","analyze":"size-limit --why","prepare":"husky","lint:package":"npx publint","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.11.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"nyc":"^18.0.0","husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.1.3","publint":"^0.3.18","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^6.0.2","@types/node":"^25.5.2","@types/mocha":"^10.0.10","@biomejs/biome":"2.4.10","mocha-lcov-reporter":"^1.3.0","@size-limit/esbuild-why":"^12.0.0","@size-limit/preset-small-lib":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.17_1775618581972_0.6846965586180482","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@anephenix/measure","version":"0.1.18","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.18","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"9d3bb897aa7eec0c027b7d76da0b96237f217a23","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.18.tgz","fileCount":9,"integrity":"sha512-c91O5h4xQr6g/a+3QyD3/ktPw0+H1qqPTJ6BtgrKpqJayZn92QbjI4klz88TjZjM6G4TFdoWDPIbUJah7CxNnA==","signatures":[{"sig":"MEQCIG3riOyvFMUl17zOAIsiZkWtzR0GepFk4zXGFFdQNGyNAiBJTwpVfBToOPg3JVAy9MXHg4leVZLXOdUHxXf3N8t/uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25392},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run lint && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"402ef25e0385658bd5b650aa6a5b39f63063ed83","scripts":{"lint":"npx biome check .","size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx vitest --run --coverage","watch":"tsc --project tsconfig.json --watch","format":"npx biome check . --write","analyze":"size-limit --why","prepare":"husky","lint:package":"npx publint","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.11.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.1.5","publint":"^0.3.18","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"2.4.12","@vitest/coverage-v8":"^4.1.5","@size-limit/esbuild-why":"^12.1.0","@size-limit/preset-small-lib":"^12.1.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.18_1776965590780_0.18022132952927317","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@anephenix/measure","version":"0.1.19","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","_id":"@anephenix/measure@0.1.19","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"homepage":"https://github.com/anephenix/measure","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"639301b51a0bcf41268d979c9d13aa43c3121a0e","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.19.tgz","fileCount":9,"integrity":"sha512-tHbNfAYalC/HCPCHiurNFxLGge3uspnFkOJoMzdh5/pw0VnktHE3MndP3bv8IFN3RAw5+Lm3MGY2+Z3r1NAXGg==","signatures":[{"sig":"MEUCIH+aGNjJjH5JrkB81Nre2Cxiltj3/rqm2k5tTm4Yc/tBAiEA09eYq86gCZpNlIJ45ldG0PcmL31m6IIQ2o2FbLiMTDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29645},"main":"dist/index.js","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run lint && npm run size && npm test"}},"types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"78bb1fd7b28af517f536f34065ab7075b13cbeff","scripts":{"lint":"npx biome check .","size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx vitest --run --coverage","watch":"tsc --project tsconfig.json --watch","format":"npx biome check . --write","analyze":"size-limit --why","prepare":"husky","lint:package":"npx publint","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.13.0","description":"A measurement framework from Anephenix","directories":{},"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","vitest":"^4.1.9","publint":"^0.3.21","cross-env":"^10.1.0","size-limit":"^12.0.0","typescript":"^6.0.3","@types/node":"^26.0.1","@biomejs/biome":"2.5.1","@vitest/coverage-v8":"^4.1.9","@size-limit/esbuild-why":"^12.1.0","@size-limit/preset-small-lib":"^12.1.0"},"_npmOperationalInternal":{"tmp":"tmp/measure_0.1.19_1782675192574_0.013985462074406652","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"_id":"@anephenix/measure@0.1.20","bugs":{"url":"https://github.com/anephenix/measure/issues"},"dist":{"shasum":"652dfa30a056819b6bec07e0373952f43b1aefe2","tarball":"https://registry.npmjs.org/@anephenix/measure/-/measure-0.1.20.tgz","fileCount":9,"integrity":"sha512-qqqWVLnghW0EPjYuOds8yNH7FLZdDEEF5+mnF72Cw0rnkIn7j99lYj6k2nJD3atQrB/SBLtguA7TgbCgY6N/MA==","signatures":[{"sig":"MEUCIQD0+0rvEQKD3SiEupuWVb23Qc71NChU1jFRh8xi4iyu/gIgY2iEzcTJ3Oe234LcdjCecs++QAdgK4+uyj6LTVTUa5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFeTDIDaqS1O6ffsQnx3LwQifw9EJ7TIE3ZqShTcj2QuAiA8xHXCQFWHyIRxNKS6jS+ZhYIwR5qAmgiTR/QCZ6IGxw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anephenix%2fmeasure@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29646},"main":"dist/index.js","name":"@anephenix/measure","type":"module","husky":{"hooks":{"pre-commit":"npm run build && npm run lint && npm run size && npm test"}},"types":"dist/index.d.ts","author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"947ffd47e42631b51bebc54a744ab668a691f04c","license":"MIT","scripts":{"lint":"npx biome check .","size":"size-limit","test":"cross-env NODE_ENV=test npx vitest --run","build":"tsc --project tsconfig.json","cover":"cross-env NODE_ENV=test npx vitest --run --coverage","watch":"tsc --project tsconfig.json --watch","format":"npx biome check . --write","analyze":"size-limit --why","prepare":"husky","lint:package":"npx publint","update-changelog":"node --experimental-strip-types scripts/update-changelog.ts","prepare-patch-release":"npm run update-changelog && git add CHANGELOG.md && git commit -m \"Updated changelog\" && npm version patch","publish-patch-release":"npm run prepare-patch-release && git push origin main && git push --tags"},"typings":"dist/index.d.ts","version":"0.1.20","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:28d76546-840d-4256-bcda-ba32745d51cf"}},"homepage":"https://github.com/anephenix/measure","repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"size-limit":[{"path":"dist/*.js","limit":"10 KB"}],"_npmVersion":"11.19.0","description":"A measurement framework from Anephenix","directories":{},"maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","vitest":"^5.0.1","publint":"^0.3.24","cross-env":"^10.1.0","size-limit":"^14.0.0","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"2.5.14","@vitest/coverage-v8":"^5.0.1","@size-limit/esbuild-why":"^14.0.0","@size-limit/preset-small-lib":"^14.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/measure_0.1.20_1790500734791_0.2770353008186863"}}},"time":{"created":"2024-09-07T10:24:22.583Z","modified":"2026-09-27T09:18:55.246Z","0.1.0":"2024-09-07T10:24:22.889Z","0.1.1":"2025-01-06T11:20:57.786Z","0.1.2":"2025-01-06T11:20:59.553Z","0.1.3":"2025-01-28T22:20:43.378Z","0.1.4":"2025-02-15T11:48:44.238Z","0.1.5":"2025-04-08T11:25:48.410Z","0.1.6":"2025-05-20T07:04:43.323Z","0.1.7":"2025-05-26T17:37:38.736Z","0.1.8":"2025-06-10T07:52:05.790Z","0.1.9":"2025-10-06T08:15:13.292Z","0.1.10":"2025-10-08T10:15:25.459Z","0.1.11":"2025-12-03T17:02:21.134Z","0.1.12":"2026-01-04T20:02:52.867Z","0.1.13":"2026-03-21T17:35:23.793Z","0.1.16":"2026-03-29T20:40:10.408Z","0.1.17":"2026-04-08T03:23:02.136Z","0.1.18":"2026-04-23T17:33:10.917Z","0.1.19":"2026-06-28T19:33:12.719Z","0.1.20":"2026-09-27T09:18:54.898Z"},"bugs":{"url":"https://github.com/anephenix/measure/issues"},"author":{"name":"Paul Jensen","email":"paul@anephenix.com"},"license":"MIT","homepage":"https://github.com/anephenix/measure","repository":{"url":"git+https://github.com/anephenix/measure.git","type":"git"},"description":"A measurement framework from Anephenix","maintainers":[{"name":"paulbjensen","email":"paulbjensen@gmail.com"}],"readme":"# Measure\n\nA measurement framework from Anephenix\n\n[![npm version](https://badge.fury.io/js/%40anephenix%2Fmeasure.svg)](https://badge.fury.io/js/%40anephenix%2Fmeasure) ![example workflow](https://github.com/anephenix/measure/actions/workflows/main.yml/badge.svg) [![Socket Badge](https://socket.dev/api/badge/npm/package/@anephenix/measure)](https://socket.dev/npm/package/@anephenix/measure)\n\n## What is Measure?\n\nMeasure is a lightweight statistical library for Node.js and browser environments. It lets you collect a series of numeric or date values in memory and immediately run statistical analysis on them — no external database or data-science runtime required.\n\n## When would I use it?\n\n- You're sampling sensor readings, API response times, or CPU metrics and want to spot trends on the fly.\n- You're building a dashboard that needs a live mean, median, or moving average without shipping a full analytics stack.\n- You want to gate some behaviour on a statistical condition (e.g. \"alert me once the mean latency exceeds 500 ms\").\n- You're collecting timestamped events and want a quick breakdown by hour, day of week, or year.\n\n## Install\n\n```shell\nnpm i @anephenix/measure\n```\n\n### Requirements\n\n- Node.js 22+\n\n---\n\n## Features\n\n### 1. Recording values\n\nCreate a `Measure` instance and push values into it one at a time or in bulk.\n\n```javascript\nimport Measure from '@anephenix/measure';\n\nconst measure = new Measure(); // type defaults to 'sample'\n\nmeasure.record(42);\nmeasure.record([17, 23, 8]);\n\n// Access the raw list at any time\nconsole.log(measure.recordings); // [42, 17, 23, 8]\n```\n\nThe `type` option controls how variance and standard deviation are calculated:\n\n| `type`       | Use when…                                               |\n|--------------|---------------------------------------------------------|\n| `'sample'`   | Your recordings are a sample of a larger population (default) |\n| `'population'` | Your recordings *are* the full population             |\n| `'date'`     | You are recording `Date` objects (see §6 below)         |\n\n---\n\n### 2. Descriptive statistics\n\nOnce you have recordings you can derive the most common summary statistics.\n\n```javascript\nconst m = new Measure();\nm.record([4, 7, 7, 2, 9]);\n\nm.mean();    // 5.8  — arithmetic average\nm.median();  // 7    — middle value when sorted\nm.mode();    // [7]  — most frequent value(s); returns an array\nm.counts();  // { '2': 1, '4': 1, '7': 2, '9': 1 }\n```\n\nAll methods return `null` when there are no recordings yet.\n\n`mode()` returns an array because a dataset can be multimodal:\n\n```javascript\nconst m = new Measure();\nm.record([1, 1, 2, 2, 3]);\nm.mode(); // [1, 2]\n```\n\n---\n\n### 3. Spread and variability\n\nUnderstand how spread out your recordings are.\n\n```javascript\nconst m = new Measure({ type: 'sample' });\nm.record([2, 4, 4, 4, 5, 5, 7, 9]);\n\nm.variance(); // 4.571…\nm.stdev();    // 2.138…\n```\n\nUse `type: 'population'` to divide by N instead of N−1:\n\n```javascript\nconst pop = new Measure({ type: 'population' });\npop.record([2, 4, 4, 4, 5, 5, 7, 9]);\n\npop.variance(); // 4      (exact population variance)\npop.stdev();    // 2\n```\n\n---\n\n### 4. Standard score (Z-score)\n\nFind out how many standard deviations a particular value sits from the mean.\n\n```javascript\nconst m = new Measure();\nm.record([10, 20, 30, 40, 50]);\n\nm.zscore(30); // 0    — exactly on the mean\nm.zscore(50); // 1.26 — above average\nm.zscore(10); // -1.26\n```\n\n---\n\n### 5. Simple Moving Average (SMA)\n\nSmooth out noise by computing a rolling average over the last *N* recordings.\n\n```javascript\nconst m = new Measure();\nm.record([1, 2, 3, 4, 5, 6]);\n\n// Window of 3 — each value is the average of the current and two preceding values\nm.simpleMovingAverage(3); // [1, 1.5, 2, 3, 4, 5]\n\n// No window size — returns a cumulative average at each point\nm.simpleMovingAverage(); // [1, 1.5, 2, 2.5, 3, 3.5]\n```\n\nThis is useful when you want to display a trend line that isn't thrown off by individual spikes.\n\n---\n\n### 6. Date analysis\n\nUse `type: 'date'` to record `Date` objects and count how many fall into each bucket for a given time unit.\n\n```javascript\nconst dateMeasure = new Measure({ type: 'date' });\n\ndateMeasure.record(new Date('2024-01-15T10:30:00'));\ndateMeasure.record(new Date('2024-03-20T14:00:00'));\ndateMeasure.record(new Date('2025-01-15T10:45:00'));\n\ndateMeasure.countBy('year');      // { '2024': 2, '2025': 1 }\ndateMeasure.countBy('month');     // { '0': 2, '2': 1 }   (0-based: 0 = Jan)\ndateMeasure.countBy('dayOfWeek'); // { '1': 1, '3': 2 }   (0-based: 0 = Sun)\ndateMeasure.countBy('hour');      // { '10': 2, '14': 1 }\n```\n\nSupported units: `'year'`, `'month'`, `'date'`, `'dayOfWeek'`, `'hour'`, `'minute'`, `'second'`, `'millisecond'`\n\n`countBy()` returns `null` when there are no recordings yet.\n\n---\n\n### 7. Target tracking\n\nDefine a statistical goal up front and check whether your recordings have hit it.\n\n```javascript\nconst m = new Measure({\n  target: { stat: 'mean', operator: '>', value: 80 },\n});\n\nm.record([72, 85, 91, 78, 88]);\n\nm.targetAchieved(); // true  (mean is 82.8)\n\nm.targetStatus();\n// {\n//   target:   { stat: 'mean', operator: '>', value: 80 },\n//   actual:   82.8,\n//   achieved: true,\n// }\n```\n\n`targetAchieved()` returns `null` before any recordings are added.\n\n**Supported stats for targets:** `'mean'`, `'median'`, `'mode'`, `'variance'`, `'stdev'`, `'zscore'`\n\n**Supported operators:** `'>'`, `'<'`, `'>='`, `'<='`, `'='`\n\n```javascript\n// Target examples for each stat\nnew Measure({ target: { stat: 'median',   operator: '>=', value: 85  } });\nnew Measure({ target: { stat: 'mode',     operator: '=',  value: 3   } }); // passes when mode array includes 3\nnew Measure({ target: { stat: 'variance', operator: '<',  value: 2   } });\nnew Measure({ target: { stat: 'stdev',    operator: '<=', value: 1.5 } });\nnew Measure({ target: { stat: 'zscore',   operator: '>',  value: 0.5, input: 4 } });\n```\n\nFor `zscore` targets, supply an `input` field — the value whose z-score is computed against the current recordings.\n\n---\n\n## Examples\n\nThe `examples/` folder contains runnable scripts that show the library being used in realistic scenarios. Each file can be run with `node examples/<filename>` after building the library (`npm run build`).\n\n| File | What it demonstrates |\n|------|----------------------|\n| [`financial-analysis.js`](examples/financial-analysis.js) | Compares stocks in a sector across revenue growth, P/E ratio, and profit margin. Uses z-scores to rank companies and flag outliers that may be high-performers or anomalies. |\n| [`system-benchmark.js`](examples/system-benchmark.js) | Benchmarks a Node.js workload across 20 runs using `performance.now()` and the `os` module. Reports mean, median, standard deviation, and an SMA trend that reveals JIT warm-up effects. |\n| [`log-analysis.js`](examples/log-analysis.js) | Analyses timestamped application log entries to find patterns — which hours, days of the week, and months see the most errors and warnings. |\n| [`price-chart.js`](examples/price-chart.js) | Computes 7-day and 20-day SMAs for daily closing prices, checks for a golden-cross buy signal using target tracking, and draws all three series as an ASCII chart in the terminal. |\n| [`csv-export.js`](examples/csv-export.js) | Records simulated sensor readings, enriches each value with its z-score and SMA, then writes both a per-reading CSV and a summary statistics CSV using Node.js `fs` — a starting point for persisting or exporting any Measure data. |\n\n---\n\n## Development\n\n### Running tests\n\n```shell\nnpm test\n```\n\n### Running tests with coverage\n\n```shell\nnpm run cover\n```\n\n### Linting\n\n```shell\nnpm run lint\n```\n\n### Auto-formatting\n\n```shell\nnpm run format\n```\n\n### Bundle size check\n\n```shell\nnpm run size\n```\n\nTo see a breakdown of what is contributing to the bundle size:\n\n```shell\nnpm run analyze\n```\n\n---\n\n### License and Credits\n\n&copy; 2026 Anephenix Ltd. Measure is licensed under the MIT license.\n","readmeFilename":"README.md"}