{"_id":"@amazon/vinyl-observable","_rev":"11-ad42cdb89e66740cac5be6e993286354","name":"@amazon/vinyl-observable","dist-tags":{"hotfix-chromos":"1.2.1","latest":"3.2.0"},"versions":{"1.0.0":{"name":"@amazon/vinyl-observable","version":"1.0.0","license":"UNLICENSED","_id":"@amazon/vinyl-observable@1.0.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"caf2e54663720dbb28b24d20f0775c4a3619b672","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-1.0.0.tgz","fileCount":25,"integrity":"sha512-Ql/FZJbZ/YbLPRFKkXZ2m4sXealptonp/q87+xxHuMQbBzbxWuhWRiqhkShdFDd8UsDSs9t2SYdx/ajxFH/6qA==","signatures":[{"sig":"MEUCIQCMeoGr22Z5mSP+Lka+k48x++AHsE0IODi6pWhuTnS5dgIgYXwXdvT0B512CKjj/mkoEiYmCe8JiRSmXuURArgjUhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139399},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"899b0a1f00cde05a1cc83870e04e3e75a023f8df","scripts":{"lint":"npm run indexFiles:check && npm run eslint:check && npm run prettier:check","test":"tsx --tsconfig ../../tsconfig.flat.json ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist .eslintcache \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","validate":"tsc --project test/unit && npm run lint && npm run test","lint:write":"npm run indexFiles:write && npm run eslint:write && npm run prettier:write","eslint:check":"eslint . --cache --max-warnings=0","eslint:write":"eslint . --cache --fix","build:release":"tsx buildSrc/build.ts --release","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"11.16.0","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.12.0","browserslist":["defaults, chrome 52, firefox 54, edge 15, safari 8"],"dependencies":{"@amazon/vinyl-util":"^1.0.0"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^1.0.0","@amazon/vinyl-jasmine-wrapper":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_1.0.0_1779924430958_0.9785528884121604","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@amazon/vinyl-observable","version":"1.1.0","license":"Apache-2.0","_id":"@amazon/vinyl-observable@1.1.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"3dcd577cc368098e423ba7414965f5468c56ba7f","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-1.1.0.tgz","fileCount":26,"integrity":"sha512-JUgyAIaYRuApwVim8g+Tvi+ARBwNH8MQVJxB/ZIqt7wpqUWk4onPLLoexikfTjGQUqpV2JAPQcGNi1yt1BX5iw==","signatures":[{"sig":"MEUCIQDg66EIdPQrXikbG1cPHPpFdWDH+8XyWuuJp1CVVwYv9AIgXMsVewgFgU7VsB7UwZlpidHx17HzhyMKXbcEKKPKyLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149601},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"ea13070fb52c1903723f08f31c356465d2f3279e","scripts":{"lint":"npm run indexFiles:check && npm run eslint:check && npm run prettier:check","test":"tsx --tsconfig ../../tsconfig.flat.json ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist .eslintcache \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","validate":"tsc --project test/unit && npm run lint && npm run test","lint:write":"npm run indexFiles:write && npm run eslint:write && npm run prettier:write","eslint:check":"eslint . --cache --max-warnings=0","eslint:write":"eslint . --cache --fix","build:release":"tsx buildSrc/build.ts --release","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v22.22.3+x64 (linux)","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"22.22.3","browserslist":["defaults, chrome 52, firefox 54, edge 15, safari 8"],"dependencies":{"@amazon/vinyl-util":"^1.1.0"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^1.1.0","@amazon/vinyl-jasmine-wrapper":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_1.1.0_1779979864524_0.18562497266815736","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@amazon/vinyl-observable","version":"1.1.1","license":"Apache-2.0","_id":"@amazon/vinyl-observable@1.1.1","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"1f681b20264b275fcdb511ddfdac3da0ad306da4","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-1.1.1.tgz","fileCount":26,"integrity":"sha512-7s+NR5/0n5ov6oRtBF+u5aUvmoinylVVaZvB6Y6OQEsqRnN5p4UXrKzDXsQ+n8/qMwx6Ug960gpmlOJFPjMZHA==","signatures":[{"sig":"MEYCIQDOryKnzJVKHVuQwS2yEv1btd2G+wVSWayWkaTfiW/ApQIhAOg9wVI6x/lMX/R7GAXyCoEeVwCrEXw4xMT3pwE040UC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150256},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"e5a3429d802564132b16808a5b8a8e15a023a548","scripts":{"lint":"npm run indexFiles:check && npm run eslint:check && npm run prettier:check","test":"tsx --tsconfig ../../tsconfig.flat.json ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist .eslintcache \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","validate":"tsc --project test/unit && npm run lint && npm run test","lint:write":"npm run indexFiles:write && npm run eslint:write && npm run prettier:write","eslint:check":"eslint . --cache --max-warnings=0","eslint:write":"eslint . --cache --fix","build:release":"tsx buildSrc/build.ts --release","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v22.22.3+x64 (linux)","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"22.22.3","browserslist":["defaults, chrome 52, firefox 54, edge 15, safari 8"],"dependencies":{"@amazon/vinyl-util":"^1.1.1"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^1.1.1","@amazon/vinyl-jasmine-wrapper":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_1.1.1_1779992630245_0.3713163784072535","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@amazon/vinyl-observable","version":"1.2.0","license":"Apache-2.0","_id":"@amazon/vinyl-observable@1.2.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"c43ae9abc2e01af2a72baa8cf9d33482a02d4db0","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-1.2.0.tgz","fileCount":27,"integrity":"sha512-MBnABDq66NiExKNkgc7spSbTphWz+SttgSVdlUQB8ahRGzjwDdhR7HIuqPYQmqnWFsWyBqJJTS1THWLfopaypw==","signatures":[{"sig":"MEQCIEMJ1ruDiDXTDu2DDFKGmPAooPpeB91y61SPgZA2q6GiAiAcsMEiGh+8NmWMDqbJuJquqkzynurs5vjT7Tv/eJUKTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210269},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","development":"./src/index.ts","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"fbb8f1c60c5ada4a11f13954bb6bcb52f3cb0c5a","scripts":{"lint":"npm run indexFiles:check && npm run eslint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist .eslintcache \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run eslint:write && npm run prettier:write","eslint:check":"eslint . --cache --max-warnings=0","eslint:write":"eslint . --cache --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v24.18.0+x64 (linux)","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.18.0","dependencies":{"@amazon/vinyl-util":"^1.2.0"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^1.2.0","@amazon/vinyl-jasmine-wrapper":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_1.2.0_1783026527467_0.5526470722761336","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@amazon/vinyl-observable","version":"2.0.0","license":"Apache-2.0","_id":"@amazon/vinyl-observable@2.0.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"30b536fe0c3070ad3ccfa3f56134bc7c74113709","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-2.0.0.tgz","fileCount":27,"integrity":"sha512-fCHny3Rv7L3I2DCsppfxCNjG2XTCnIeRUr9Ak7A2tL+WJEWRB7z8fZ91puROvh/qaQDwTOHxLW/IGCeqA64HOg==","signatures":[{"sig":"MEUCIEDEK+vqGyuc41a6eF6oSMnMGaGY9zhT+f1y1UCTntJpAiEAy2CCM3tpAET0Z3YLSS9AM3wPLsS8zPzSo/pu7+ISMbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220103},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","development":"./src/index.ts","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"88ece0504b080347bbea6f240cf587ee863b7ff3","scripts":{"lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v24.19.0+x64 (linux)","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.19.0","dependencies":{"@amazon/vinyl-util":"^2.0.0"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^2.0.0","@amazon/vinyl-jasmine-wrapper":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_2.0.0_1787786880037_0.42659694097987066","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@amazon/vinyl-observable","version":"2.0.4","license":"Apache-2.0","_id":"@amazon/vinyl-observable@2.0.4","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"7eac933726eb876cb76e3ce0059529243d7f5743","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-2.0.4.tgz","fileCount":27,"integrity":"sha512-mVmS1lEZMV1PgIFMGIrbF4IT6FsfcYkSyEpCcgBaJuAK0c5DxlquQ89sbXZ1mR8nEN8SIJM/PLTU2nb7RnmAQw==","signatures":[{"sig":"MEYCIQDqXGgDM6zj3iOKshSgiA7zAm5FZO9gus/MnmzO9TzMsgIhAN4o0mAqNbqIVULaKpaq2A1N2Gg8FBbZ55VeAONKBMGN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220056},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"32017124d52ad4afe1f3d22569f13c5536db7799","scripts":{"lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"12.0.2","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.19.0","dependencies":{"@amazon/vinyl-util":"^2.0.4"},"publishConfig":{"access":"public"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^2.0.4","@amazon/vinyl-jasmine-wrapper":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_2.0.4_1787815887819_0.2725420411493096","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@amazon/vinyl-observable","version":"3.0.0","license":"Apache-2.0","_id":"@amazon/vinyl-observable@3.0.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"d0593a1b38a5a37fb9d96bfa7414cff7d890ac6b","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-3.0.0.tgz","fileCount":27,"integrity":"sha512-v5dySKaXCUTAwZNSnJR8ghCq8y22Ft5X3GCDOcuDteNvOBcSVN+8YALJRTtOtsyhwGdi7boojNL8COxTlMvccg==","signatures":[{"sig":"MEQCIHi31k4HzAa9brb81CTF5ZjjKJ6BaILkYG8lTv6hM/+OAiBXSCQOavxgDv0MlmumqMVslhGiK7cjnFLGEi63lQK94A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220056},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"972f64a1f8c67bd131ce66000bcfed4f6ddce214","scripts":{"lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"12.0.2","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.19.0","dependencies":{"@amazon/vinyl-util":"^3.0.0"},"publishConfig":{"access":"public"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^3.0.0","@amazon/vinyl-jasmine-wrapper":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_3.0.0_1787938291320_0.5851305268704796","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@amazon/vinyl-observable","version":"3.0.1","license":"Apache-2.0","_id":"@amazon/vinyl-observable@3.0.1","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"c71b36c29cd9a6c01e482e726da3941a1c93bcfd","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-3.0.1.tgz","fileCount":27,"integrity":"sha512-7JMPuHEI0KgODUTmXrsYMaYgBcvYYUU+YUaWQy7tdQg1B+bAqbY+/rPyBKqdb+PLbawk0RfciYnCogR4NDzsTg==","signatures":[{"sig":"MEYCIQCK6F52Mr0KCy6wbi1LHQB4LHQWR+125xtxJMBeVTswfAIhAJKkkSS34A83r2MxfEigJNoWNVYFfYuAn+mNiFaPMUPO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220056},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"e92800262ee42893adbc6f7e3a5a7391b54859d2","scripts":{"lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"12.0.2","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.19.0","dependencies":{"@amazon/vinyl-util":"^3.0.1"},"publishConfig":{"access":"public"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^3.0.1","@amazon/vinyl-jasmine-wrapper":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_3.0.1_1787963990537_0.43335610615645836","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@amazon/vinyl-observable","version":"1.2.1","license":"Apache-2.0","_id":"@amazon/vinyl-observable@1.2.1","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"19d58f55a10dcd0e76440d11cf8a9865151d67d1","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-1.2.1.tgz","fileCount":27,"integrity":"sha512-9YwnTfB593zYK9aLClz9qJ82m5x37hZs7dc24Bx2UmNHvWypUZ6ANQDDJxuo1b7DgDo76zetDLSJXp8DbgIM0g==","signatures":[{"sig":"MEUCIQCH95x6L3jEHIJwQmzizHlkFRYIn+8YvWpbB/B2GvdJ1AIgVpqrMswZUzY0NZqOkij2DcE6nokeUWmwsh5CkjOF+Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210574},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","development":"./src/index.ts","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"7991713ee8da012613849053b979cd2517f1336c","scripts":{"lint":"npm run indexFiles:check && npm run eslint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist .eslintcache \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run eslint:write && npm run prettier:write","eslint:check":"eslint . --cache --max-warnings=0","eslint:write":"eslint . --cache --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"11.16.0","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.12.0","dependencies":{"@amazon/vinyl-util":"^1.2.1"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@amazon/vinyl-build-utils":"^1.2.1","@amazon/vinyl-jasmine-wrapper":"^1.2.1"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_1.2.1_1788370011972_0.8471655061580727","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@amazon/vinyl-observable","version":"3.1.0","license":"Apache-2.0","_id":"@amazon/vinyl-observable@3.1.0","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"homepage":"https://github.com/amazonmusic/vinyl#readme","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"dist":{"shasum":"d9b867bb28aa47c74349d4a9e34b5da1a5b9cb72","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-3.1.0.tgz","fileCount":27,"integrity":"sha512-2p1cx7G+erRg9nS3tf0c1o+2GRI3fA46H0PgYJk+PTHRlRl/EqLTs1w7NiWgSFhZAXztEUmpzc1peEbw5Ht31Q==","signatures":[{"sig":"MEUCIQDh4vTF5UYtbLmhG8NKpo8PLyvjHXlkBMe12CTz+hTp5AIgd0Z+AbdTa/WAOVYfcJe855TbwrI2Zl72Trmua8nl2jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220229},"main":"./dist/index.cjs","type":"module","types":"./dist/types/ts3.7/index.d.ts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types@>=4.7":"./dist/types/ts4.7/index.d.ts","types@>=5.4":"./dist/types/current/index.d.ts"}},"gitHead":"9e3200fa30db5543427e4618e8e2f0a20cf57996","scripts":{"lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","build":"tsx buildSrc/build.ts","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","watch":"tsx buildSrc/build.ts --watch","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","test:coverage":"c8 npm run test","watch:release":"tsx buildSrc/build.ts --watch --release","analyzeExports":"tsx buildSrc/analyzeExports.ts","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"repository":{"url":"git+https://github.com/amazonmusic/vinyl.git","type":"git"},"_npmVersion":"12.0.2","description":"A simple active model","directories":{},"sideEffects":["test/**/*"],"_nodeVersion":"24.20.0","dependencies":{"@amazon/vinyl-util":"^3.1.0"},"publishConfig":{"access":"public"},"typesVersions":{">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=5.4":{"*":["./dist/types/current/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@amazon/vinyl-build-utils":"^3.1.0","@amazon/vinyl-jasmine-wrapper":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vinyl-observable_3.1.0_1788627322391_0.6091763137577779","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@amazon/vinyl-observable","version":"3.2.0","description":"A simple active model","repository":{"type":"git","url":"git+https://github.com/amazonmusic/vinyl.git"},"license":"Apache-2.0","module":"./dist/index.js","main":"./dist/index.cjs","types":"./dist/types/ts3.7/index.d.ts","type":"module","sideEffects":["test/**/*"],"typesVersions":{">=5.4":{"*":["./dist/types/current/index.d.ts"]},">=4.7":{"*":["./dist/types/ts4.7/index.d.ts"]},">=4.1":{"*":["./dist/types/ts4.1/index.d.ts"]},">=3.7":{"*":["./dist/types/ts3.7/index.d.ts"]}},"exports":{".":{"types@>=5.4":"./dist/types/current/index.d.ts","types@>=4.7":"./dist/types/ts4.7/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.js"}},"scripts":{"analyzeExports":"tsx buildSrc/analyzeExports.ts","analyzeExports:write":"tsx buildSrc/analyzeExports.ts --write","clean":"rimraf --glob dist \"**/*.tsbuildinfo\"","indexFiles:check":"tsx buildSrc/writeIndexFiles.ts --check","indexFiles:write":"tsx buildSrc/writeIndexFiles.ts","build":"tsx buildSrc/build.ts","build:release":"tsx buildSrc/build.ts --release && tsc --project test/unit","prettier:check":"prettier . --ignore-path ../../.prettierignore --cache --check","prettier:write":"prettier . --ignore-path ../../.prettierignore --cache --write","lint":"npm run indexFiles:check && npm run oxlint:check && npm run prettier:check","lint:write":"npm run indexFiles:write && npm run oxlint:write && npm run prettier:write","test":"tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json","test:coverage":"c8 npm run test","watch":"tsx buildSrc/build.ts --watch","watch:release":"tsx buildSrc/build.ts --watch --release","oxlint:check":"oxlint --type-aware --deny-warnings","oxlint:write":"oxlint --type-aware --fix"},"devDependencies":{"@amazon/vinyl-build-utils":"^3.2.0","@amazon/vinyl-jasmine-wrapper":"^3.2.0"},"dependencies":{"@amazon/vinyl-util":"^3.2.0"},"publishConfig":{"access":"public"},"gitHead":"9b169bdcf10b790dc725df50f1bb6f175fc9a351","_id":"@amazon/vinyl-observable@3.2.0","bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"homepage":"https://github.com/amazonmusic/vinyl#readme","_nodeVersion":"24.20.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-KQ+/jXyUvTV9RgK0GLsI8pyr2kiuCbBBIs+zvDG7Y+byx03skbFS2zAZTz332qm5oa8RmHMG0JhNTe1lkx8wiA==","shasum":"b0a9ba826d9b6e22b669c9f14a7479b98428a17e","tarball":"https://registry.npmjs.org/@amazon/vinyl-observable/-/vinyl-observable-3.2.0.tgz","fileCount":27,"unpackedSize":220229,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@amazon%2fvinyl-observable@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBdPp/rPPI1V3gbAXRp3YHA5WNM1NFx+8oxlTyMJtzDZAiEA5TwHYrj3+Nqf6gLeY9MUJnI+lVQ9C/1hESCQ/WMbXVY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9a3f8a9e-c779-4920-b935-201e768d7292"}},"directories":{},"maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vinyl-observable_3.2.0_1788999350401_0.017000265463713138"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T23:27:10.803Z","modified":"2026-09-10T00:15:50.918Z","1.0.0":"2026-05-27T23:27:11.163Z","1.1.0":"2026-05-28T14:51:04.665Z","1.1.1":"2026-05-28T18:23:50.378Z","1.2.0":"2026-07-02T21:08:47.601Z","2.0.0":"2026-08-26T23:28:00.194Z","2.0.4":"2026-08-27T07:31:27.967Z","3.0.0":"2026-08-28T17:31:31.472Z","3.0.1":"2026-08-29T00:39:50.679Z","1.2.1":"2026-09-02T17:26:52.137Z","3.1.0":"2026-09-05T16:55:22.538Z","3.2.0":"2026-09-10T00:15:50.572Z"},"bugs":{"url":"https://github.com/amazonmusic/vinyl/issues"},"license":"Apache-2.0","homepage":"https://github.com/amazonmusic/vinyl#readme","repository":{"type":"git","url":"git+https://github.com/amazonmusic/vinyl.git"},"description":"A simple active model","maintainers":[{"name":"amazon-music-devex-apps","email":"music-devex-apps@amazon.com"}],"readme":"# @amazon/vinyl-observable\n\n[![Website](https://img.shields.io/badge/website-amazonmusic.github.io%2Fvinyl-blue)](https://amazonmusic.github.io/vinyl)\n[![npm](https://img.shields.io/npm/v/@amazon/vinyl-observable.svg)](https://www.npmjs.com/package/@amazon/vinyl-observable)\n[![size](https://img.shields.io/bundlejs/size/@amazon/vinyl-observable.svg?label=size)](https://bundlejs.com/?q=@amazon/vinyl-observable)\n\nA small, typed observable value primitive for state tracking without a\nthird-party reactivity system. Under 1 KiB minified + gzipped.\n\n## Install\n\n```shell\nnpm install @amazon/vinyl-observable\n```\n\n## ObservableValue\\<T>\n\nAn `ObservableValue<T>` represents a reactive, read-only data container that can\nbe observed for changes over time.\n\n### Key Features\n\n- Reactive: subscribers are notified on value changes.\n- Composable: derive new observable values using `map` and `pick`.\n- Typed: strong type safety for both value and callback arguments.\n- Lightweight: minified and gzipped bundle size is under 1 KiB.\n\n### Example\n\nUse `data` to create a `MutableValue` for a data type.\n\n```typescript\nimport { data } from '@amazon/vinyl-observable'\n\nconst user$ = data({ name: 'Alice', age: 30 })\n\nconst name$ = user$.pick('name')\nname$.onData((name) => {\n    console.log('Name changed:', name)\n})\n\nuser$.value = { name: 'Bob', age: 30 }\n// Logs: \"Name changed: Bob\"\n\nconst age$ = user$.pick('age')\nage$.value = 31\n\nuser$.value.age // 31\n```\n\n## Utilities\n\n### combineData\n\nCombines multiple data providers into a single record, notifying observers when\nany have changed.\n\n```typescript\nimport { combineData, data } from '@amazon/vinyl-observable'\n\nconst a = data(1)\nconst b = data('x')\nconst combined = combineData({ a, b })\n\ncombined.onValue((v) => {\n    console.log('changed: ', v.a, v.b)\n})\n\na.value = 2\n// Logs: \"changed: 2 x\"\nb.value = 'y'\n// Logs: \"changed: 2 y\"\n```\n\nThe `combined` `onValue` callback is invoked synchronously; every change from\nevery sub-provider is delivered. See `throttle` in\n[`@amazon/vinyl-util`](../vinyl-util) to handle frequent changes.\n\n### externalData\n\nCreates an `ObservableValue` that integrates with an external data source. Data\nis only actively fetched or listened to when a subscriber calls `onData`,\nallowing lazy subscription to external event systems such as WebSocket, polling,\nor other push-based updates.\n\nReturns an `ObservableValue<T>` that:\n\n- Emits `initialValue` immediately on subscription.\n- Receives future values from `onDataRequested`.\n- Automatically unsubscribes from the external source when no listeners remain.\n\n```typescript\nimport { externalData } from '@amazon/vinyl-observable'\n\nconst timeData = externalData<Date>(new Date(), (setData) => {\n    const interval = setInterval(() => {\n        setData(new Date())\n    }, 1000)\n\n    return () => clearInterval(interval)\n})\n\nconst unsubscribe = timeData.onData((now) => {\n    console.log('Current time:', now)\n})\n\n// Later, to stop receiving updates\nunsubscribe()\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}