{"_id":"@squawk/airspace","_rev":"26-2672c740f074c193d0064b27d46ed5e5","name":"@squawk/airspace","dist-tags":{"latest":"0.9.0"},"versions":{"0.2.0":{"name":"@squawk/airspace","version":"0.2.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.2.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"1a19c1dad4b4e952b2c981752460dabc298aeefd","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.2.0.tgz","fileCount":14,"integrity":"sha512-cs78yCjRvLi7fCG2fwwAp+AB3LIHWeKuai5MF11ONSWiJvHi17DoODSsnkVHQK1zWJspSq1fHlJ2aKU4dNWxyA==","signatures":[{"sig":"MEUCIQCs89lH41CqnGk02c+J7vBEb4UQ5WrfI9hu3D3TVv5ztQIgVvXkF/lViFXeGN9EngGfLnEsXumOyikGIXIEtR6jUGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17401},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"174d83fec05c829844bc9dd82738ef2945c586df","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.5.2","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.2.0_1776017260257_0.08420826325207442","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@squawk/airspace","version":"0.2.1","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.2.1","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"4f445cccd7965ee09920d830d5b3a5255eee2114","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.2.1.tgz","fileCount":14,"integrity":"sha512-jtmrOYtsv8nJcmzpexY5LJAiuvJo+Pojp6AWfu+FVL+52egPvlPg75uUdjOaIvfmeFXUF3UnZlpzgRm3VTncrQ==","signatures":[{"sig":"MEUCIQDWSsYsvWYYy0bOdEzlwRthdRD44cmECBZJ7BFgY8UnXAIga30F2IQSxOpXwY49HqUMvyqNBmjoTjFBHLPVbg5B0MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17916},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d5fb541f6cab6a09f0dc4f8750f445b2114342f1","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.5.2","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.2.1_1776043024769_0.2284105554146858","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@squawk/airspace","version":"0.2.2","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.2.2","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"e59919b7b034912ac83355e56d425456d2e12f63","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.2.2.tgz","fileCount":14,"integrity":"sha512-9mJFuCf1aHCPkVJ0TqzsprgMB8JW7Fg9lKIDSbD26Gm8HtCc59zc6j5WOSYEj6tUUAIRDYqyabi9WAsXTXbwuA==","signatures":[{"sig":"MEUCIDbsKmoNE7AICuAYKOeeG/8eoESn8pnmMvcx+JLC6DwqAiEAkZrQylypmE0yH/RZ0WODnW1a7WOVJoNThFxlPc12lbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17916},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0c1b7dab34e0e226785644459e76fc1ea05e872b","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.2.2_1776205024675_0.9527059998390286","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@squawk/airspace","version":"0.2.3","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.2.3","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"fe9240ab727174d3f992fcdeace854703bed8b6e","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.2.3.tgz","fileCount":11,"integrity":"sha512-QAAku4wKcbxtpm6y2pv88h9AJhtKuayQP2JyAA60pjFD/0UtQK59UYC/cChczaHv7u2SF/apOhdRIh8oxig8Vw==","signatures":[{"sig":"MEUCIANUlAqpDPy7h88UfzKnGpbXVTsHhXk/eXixLygfb7tQAiEA6JXBcbJDnLM11I84W9UokpCwRjgvpitM6iDXSuRHJUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"17f0918df6bf2b562636d6b424a3fe722016ab9f","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"*","@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.2.3_1776539129149_0.15800102894612555","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@squawk/airspace","version":"0.3.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.3.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"cd279db30ad37c616e7d05fa6713e1487cb6c633","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.3.0.tgz","fileCount":11,"integrity":"sha512-UnymJOcynitaaJ2BMn00tfEtKO4eYgs/cDeLDxpzLv/zA+eSG8mxhFkqN/KdJfJhq5hLqK3S3Qe96SNQJ+7aYQ==","signatures":[{"sig":"MEQCIHNHciCFJZOfUsAFmr+tGyhQLyu0OFoNfWMfBt8iI/R9AiBQshFLW2LO9520lakfTwPJZscyiELbKerPqyICnqZtQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18843},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5250d37321254a3c95bbd95939cb27a1608ec622","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"*","@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.3.0_1776577587258_0.9683836861584689","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@squawk/airspace","version":"0.4.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.4.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"d2a4adb9f660df77a39e2b6c6554ff9996788a8f","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.4.0.tgz","fileCount":11,"integrity":"sha512-yketbQuvS7jbvcKkXFCJNbt461zKt3pfQtSCZOmgQ3mOxkQs1re4ecH9nCt48L6f3ek+aQ1wqVhlpuWyxuUkOg==","signatures":[{"sig":"MEUCIQCPKht41JWPFm+FIKmUfpoh9/hzeXIpNlM54sGsLphiYwIgDCcbYZ+s+iKRLFvVV66vbepwOTEyYDcdXVjvTiCzv/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18843},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"237480093e670d373e72db9ee313d3644b6b4524","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"*","@squawk/types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"*"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.4.0_1776582807467_0.5371214974978784","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@squawk/airspace","version":"0.4.1","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.4.1","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"b8f5c50b7886490f92fccb8e65134113a0d2379e","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.4.1.tgz","fileCount":11,"integrity":"sha512-qEHdGmAs/hqT0eCVY2nstS/2J5SMYMNkkhb/UgDBtXPN+IolGWXBomvRtguP35m3wQ7nDQdzy7unCEPXnb9BvA==","signatures":[{"sig":"MEYCIQDnJR8koiWqmr487iNtUp2mkO0rIHxCtT/0i2KrZJe1JAIhANW1zX87lZyrAgP52RCvfDFQ6UFR3/qP5//u/kdGHWnh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18858},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0c02e267b050ba7bf10619e1d4648ca37fd20b8d","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.2.1","@squawk/types":"^0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.4.1_1776633619450_0.03808598739880198","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@squawk/airspace","version":"0.5.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.5.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"5b47b8f1352819cf33f3386ea3e269fddff32736","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.5.0.tgz","fileCount":11,"integrity":"sha512-mJC9Cu8xsGy5H0UrTO+trxF/H4JFT1uMbwXHV4eKo7uhNQH7ocMaKlGxACL70R/Iytk3nTYcl4P9D5hrVX5JFg==","signatures":[{"sig":"MEUCIQCnvwMV/0DEe7wv+DQM3oYc+6O1JFzLto0pwF5xFaTJHAIgbw1f/QKj5RWXg695UlA9ZQovEjdIb1k9MPH4cPQvZmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18858},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"426d6e6dcafe1abc0c81bb117ced62b7dd66f178","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.3.0","@squawk/types":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.5.0_1776742992648_0.1457391779772823","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@squawk/airspace","version":"0.5.1","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.5.1","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"6f8c3bc97f4fef2023b656e30432d077482b3215","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.5.1.tgz","fileCount":11,"integrity":"sha512-m6b9Upt6M7uLlpJ8KX6bWMIp9QMjtQKcOhcrWv9gZ0sN1yCygSWQcfEtQ5DtMvdx5OY3HFyyJXeHXpO5d3hj1g==","signatures":[{"sig":"MEYCIQCAYZMAvpOSCbU8sPDYGPrXDXsRHjs3b9U7kIDo4kJPCAIhAMw8wrHjkFkpgK8a5ObdlOZq7JB1Doy/XKG16RHte5MC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18858},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"47dc0e45a260ca79527047935dc2073ea0fff5c6","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.3.1","@squawk/types":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.5.1_1776986816815_0.15781023376348347","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@squawk/airspace","version":"0.6.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.6.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"394f49a7eb61177059f349f12f77ea261256ae0b","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.6.0.tgz","fileCount":11,"integrity":"sha512-sx8n4Y6suXuI3jOdyW8J2cFS6Ov30ZEjfzyH/5SDjhhd3HY9y0zcvJLJ+tVveBJDAr2wTT4TbpVh2LDozo7PyA==","signatures":[{"sig":"MEYCIQChb5r669GyXMU9ipUEw3zaXM9D32TEL22K6t10PkiTtAIhAOc9SIzXvGDC5GssNZQu7cw+ieth7/FZFxqSMu618/s1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23364},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cf18b826d905ffd851ab2c80ada1423fab825a94","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.3.2","@squawk/types":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.6.0_1777079720760_0.17661392969785905","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@squawk/airspace","version":"0.6.1","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.6.1","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"c516f41d4f76e754764e65ebb25e4e34aa5903b5","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.6.1.tgz","fileCount":11,"integrity":"sha512-HpJQmnNaG0Ui7nlFc3VttA9Z4nNrL19uygBE95L3PLqS3do+/Qb8HeTCB07ukUlK3BbVZ9wwhoaSWQ5NdDD70Q==","signatures":[{"sig":"MEQCIGayFSQkFTEi3wCEiHTwsZKsKdfyqDW8PWaIsm19byMEAiAAtUN3yblgxSfnjXpq3d4/4+HU3bUOwshV6r6JPredcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ccaa413d7043100fc67081bb5ab46a7256e7f8be","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.3.3","@squawk/types":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.6.1_1777323515028_0.8782845735909577","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@squawk/airspace","version":"0.6.2","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.6.2","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"2ed50de547828f8f20492ed66b1e1d165bb3c3d7","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.6.2.tgz","fileCount":11,"integrity":"sha512-v4ZkzwfNFyEnxHlGK6tO1/TJ2xmw+zsE9qLA9AN8+cbDshPWwNlkOz2Txklnsq5DKtzjTlH3iuMS+nqjYB1BVg==","signatures":[{"sig":"MEYCIQC6kdtDXMDsl72FeixE8GIGyFL4F7XATQ480zZttA9y5AIhAIDA72SayNEbPgZe0q5uH9IpWKEbVu07yQjhiYc+iDxV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"13b365679d9c997f55bf8af1d9fa60e42f0170df","scripts":{"lint":"tsc --noEmit && eslint src","test":"node --test 'dist/**/*.spec.js'","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.0","@squawk/types":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.6.2_1777414185893_0.5791690819121547","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@squawk/airspace","version":"0.6.3","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.6.3","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"b38ae481eb4bccc50e3c586a21f63545536e1ba7","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.6.3.tgz","fileCount":11,"integrity":"sha512-laSB4FGvkSOMbRP6LQYSawZYOOo/qjCRbqwwAXyQdpUSigqEC1kBdzJ2Fg6pkCqNfnsdVOI/bRgVXDmqSMrhXQ==","signatures":[{"sig":"MEYCIQC78xnNXy4DeERoMF92qpfzOvtRZdOZPOaKK0s9fl4eQwIhAM8YHx4zCgQ8YdBKumsdKINDuf31kA2CzRQsGlNdMMdk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23433},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ccf089f4b3657556890ead9a8bc5927141520112","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.1","@squawk/types":"^0.7.1","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.6.3_1777824998498_0.6722999504536686","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@squawk/airspace","version":"0.6.4","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.6.4","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"88640f398a9b9e1ed4e72b2b9b07b150739a395e","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.6.4.tgz","fileCount":11,"integrity":"sha512-QtoT5zukFXYCV4N1UyT2NuLhMZs1ybLadiDbAixh61fXPF1Y2ZV/R15uMBGIT4MzmamhNv7v6r5E7OKKIbW0dg==","signatures":[{"sig":"MEUCIAUF/16yoRNCJKc5fnFE7LUWhXlFdWCSfEDpezabuOi0AiEAnIyDFwYU8PdoOSXJVZX4+S0mEC0tr2T9y31FxaVcVvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23436},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a60d00be86de161b30f2c5ae2d1cd296ae40f563","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.2","@squawk/types":"^0.7.2","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.6.4_1777845353487_0.0530829569123028","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@squawk/airspace","version":"0.7.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.7.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"26c04398925f72a6d10eb5b6341785207932048d","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.7.0.tgz","fileCount":11,"integrity":"sha512-gPSFCyW5BLsk7N4V+sfrs6/Q/lLa2CB9hYVAPS/2Sg60C4PrNWNvCICjHysv00KxTOPQblMaJ7XruhW5HU1WXw==","signatures":[{"sig":"MEYCIQDPLCJ7vm2fsM0hAyhE0p2zjpp0B818JVLBEAnGvvcI1AIhANePxnTqbQOhuPe3b9aYLGgXoIaC5B9NJJv0/M8KB+Tv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24155},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3cddea8492001a2df0d8bf3b13a3bc89836f840b","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.2","@squawk/types":"^0.7.2","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.7.0_1777941502883_0.9854496766476055","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@squawk/airspace","version":"0.7.1","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.7.1","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"8dadebdce762c0a44aa2d38b492a01a82a170dfa","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.7.1.tgz","fileCount":11,"integrity":"sha512-iYZrrfg0hht0lI1KZckQ8ynOyNoMWPtDVwm2TcLOUGk5f3MHltaOLuC10XCU3XEMSF8fTkv3wmswj1YAq7ngxQ==","signatures":[{"sig":"MEUCIDEO9zMN12UeMxIdLKubahyRK1ZQaAxuIhGP+fORsyIfAiEAwoX/wKFRqtL1ylg6SRHSITuzt3ES1Gx+cGt6xh5lplM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24155},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dc5b5968b3dbc59207705ecd142aa325cb9185b7","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.3","@squawk/types":"^0.8.0","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.7.1_1778100159220_0.3936929694090361","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@squawk/airspace","version":"0.8.0","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.8.0","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"e38991483951d7615c10f017d9dc8a3035d26efb","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.8.0.tgz","fileCount":11,"integrity":"sha512-qZ7pScXBVLEauOZRn1g/6UipUvbVy1ErWgyjq19V+1fapkWKmWKFxYaGCnyhW2EQukHG24IYZepwdbqZAnlzmw==","signatures":[{"sig":"MEYCIQDgivHhmcY9ka8dz2vC+JmPkDdtDJtavL5Jw2ZdxJkMkAIhAMPqzJkbXaIwDeTBMbpkuxlRy3+p0hpIDiv9eFYzuYMy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e863f9377b0e44fb1366aa7325f6bd86fb8e7746","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","lint:pack":"publint && attw --pack . --profile esm-only","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"neilcochran","email":"dev.neil.cochran@pm.me"},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"10.9.7","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.2","dependencies":{"@squawk/geo":"^0.4.3","@squawk/types":"^0.8.0","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.6.0","@squawk/airspace-data":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.8.0_1778116443154_0.6789769120033613","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@squawk/airspace","version":"0.8.6","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"author":{"name":"Neil Cochran"},"license":"MIT","_id":"@squawk/airspace@0.8.6","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"homepage":"https://github.com/neilcochran/squawk","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"dist":{"shasum":"b7baedfbcdb4ccab5cbb9443a306e7c36b37565e","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.8.6.tgz","fileCount":11,"integrity":"sha512-rGw+5pMyQH1oS9RDpwLRfOSExtihkr767MRs6Qf3vND3Nu1aC+HBTPIGAEjJTGIZGzdQPfuemk6WU8nQ5GgShA==","signatures":[{"sig":"MEYCIQDRbmMsPiMJnCaxDvn6Sr76R74QiZbEI/iju35g6xA+AgIhALbi67AoHT5FWmrbFbNCGX3ZTBdKOcKTXJ+mZaYqVCdt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37744},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1979042537e1986a65803f7f141f3b42276c2658","scripts":{"lint":"tsc --noEmit && eslint src","test":"vitest run","build":"tsc","api:check":"api-extractor run --verbose","lint:pack":"publint && attw --pack . --profile esm-only","api:report":"api-extractor run --local --verbose","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63049e63-9372-424d-91be-c632cc3383d8"}},"repository":{"url":"git+https://github.com/neilcochran/squawk.git","type":"git","directory":"packages/libs/airspace"},"_npmVersion":"11.5.2","description":"Pure logic library for querying US airspace geometry by position and altitude","directories":{},"typedocMain":"src/index.ts","_nodeVersion":"22.22.3","dependencies":{"@squawk/geo":"^0.4.3","@squawk/types":"^0.8.0","@types/geojson":"^7946.0.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.9.3","@squawk/airspace-data":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/airspace_0.8.6_1781459218242_0.5547322152980703","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@squawk/airspace","version":"0.9.0","type":"module","description":"Pure logic library for querying US airspace geometry by position and altitude","author":{"name":"Neil Cochran"},"license":"MIT","homepage":"https://github.com/neilcochran/squawk","repository":{"type":"git","url":"git+https://github.com/neilcochran/squawk.git","directory":"packages/libs/airspace"},"engines":{"node":">=22"},"typedocMain":"src/index.ts","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./browser":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","test":"vitest run","test:coverage":"vitest run --coverage","lint":"tsc --noEmit && eslint src","lint:pack":"publint && attw --pack . --profile esm-only","api:check":"api-extractor run --verbose","api:report":"api-extractor run --local --verbose"},"dependencies":{"@squawk/geo":"^0.4.3","@squawk/search":"^0.1.0","@squawk/types":"^0.8.0","@types/geojson":"^7946.0.16"},"devDependencies":{"@squawk/airspace-data":"^0.5.2","@types/node":"^25.9.3"},"keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"publishConfig":{"access":"public"},"_id":"@squawk/airspace@0.9.0","gitHead":"04bfd2d8bdc007853dcc660f683730f1077e1e3f","bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"_nodeVersion":"22.22.3","_npmVersion":"11.5.2","dist":{"integrity":"sha512-HAg6g/6GpjBiyAJDCXC/M9PRaaPrZb5alH/VExKxXPNG+nFyspy7Bv1eW9rvLVcpdUHF9XocsKBgDSrv+z8q7g==","shasum":"53267fd80a8e6e6cd5c7d950271a32ae3ea349ce","tarball":"https://registry.npmjs.org/@squawk/airspace/-/airspace-0.9.0.tgz","fileCount":11,"unpackedSize":43570,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@squawk%2fairspace@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCKWJBVu6edCx77gwzQRoS6txt7OhNgipWdKlXarQ0bqgIgDB8R6iMLujesYPWzIZ2dik/fxy0uNVOtWUYQ1KRZzs4="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63049e63-9372-424d-91be-c632cc3383d8"}},"directories":{},"maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airspace_0.9.0_1781917032708_0.3625151802244444"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T18:07:40.142Z","modified":"2026-06-20T00:57:13.103Z","0.2.0":"2026-04-12T18:07:40.431Z","0.2.1":"2026-04-13T01:17:04.913Z","0.2.2":"2026-04-14T22:17:04.919Z","0.2.3":"2026-04-18T19:05:29.289Z","0.3.0":"2026-04-19T05:46:27.411Z","0.4.0":"2026-04-19T07:13:27.682Z","0.4.1":"2026-04-19T21:20:19.596Z","0.5.0":"2026-04-21T03:43:12.779Z","0.5.1":"2026-04-23T23:26:56.974Z","0.6.0":"2026-04-25T01:15:20.900Z","0.6.1":"2026-04-27T20:58:35.157Z","0.6.2":"2026-04-28T22:09:46.065Z","0.6.3":"2026-05-03T16:16:38.660Z","0.6.4":"2026-05-03T21:55:53.636Z","0.7.0":"2026-05-05T00:38:23.031Z","0.7.1":"2026-05-06T20:42:39.375Z","0.8.0":"2026-05-07T01:14:03.312Z","0.8.1":"2026-05-11T22:17:05.299Z","0.8.2":"2026-05-11T22:48:46.596Z","0.8.3":"2026-05-11T22:55:28.644Z","0.8.4":"2026-05-11T22:57:02.254Z","0.8.5":"2026-05-11T23:51:53.026Z","0.8.6":"2026-06-14T17:46:58.400Z","0.9.0":"2026-06-20T00:57:12.831Z"},"bugs":{"url":"https://github.com/neilcochran/squawk/issues"},"author":{"name":"Neil Cochran"},"license":"MIT","homepage":"https://github.com/neilcochran/squawk","keywords":["aviation","typescript","airspace","geojson","class-b","class-c","sua","faa","nasr"],"repository":{"type":"git","url":"git+https://github.com/neilcochran/squawk.git","directory":"packages/libs/airspace"},"description":"Pure logic library for querying US airspace geometry by position and altitude","maintainers":[{"name":"neilcochran","email":"dev.neil.cochran@pm.me"}],"readme":"<h1><img src=\"../../../assets/squawk-logo.svg\" alt=\"squawk logo\" width=\"48\" height=\"48\" style=\"vertical-align: middle\">&nbsp; @squawk/airspace</h1>\n\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](../../../LICENSE.md) [![npm](https://img.shields.io/npm/v/@squawk/airspace)](https://www.npmjs.com/package/@squawk/airspace) ![TypeScript](https://img.shields.io/badge/TypeScript-blue?logo=typescript&logoColor=white)\n\nPure logic library for querying US airspace geometry. Given a position and altitude,\nreturns all applicable airspace designations, or look up and fuzzy-search features by\nidentifier and name. Contains no bundled data - accepts a GeoJSON dataset at\ninitialization. For zero-config use, pair with `@squawk/airspace-data`.\n\nPart of the [@squawk](https://www.npmjs.com/org/squawk) aviation library suite. See all packages on npm.\n\n## Coverage\n\n- Class B, C, D, and E controlled airspace (E2 through E7 subtypes)\n- Special Use Airspace: MOAs, restricted, prohibited, warning, alert, and national security areas\n- ARTCC (Air Route Traffic Control Center) lateral boundaries for every\n  US-controlled center, published per stratum: LOW/HIGH for the 20 CONUS\n  centers and Anchorage (ZAN), UTA for Oakland (ZOA) only, and oceanic\n  CTA/FIR strata for the Pacific (ZAK, ZAP), Atlantic (ZWY), and the\n  contiguous overlays on ZAN, ZHN, ZHU, ZMA, ZSU. Within-stratum sector\n  polygons and per-sector enroute frequencies are not included - the FAA\n  does not publish either data set in machine-readable form.\n\n## Usage\n\n```typescript\nimport { usBundledAirspace } from '@squawk/airspace-data';\nimport { createAirspaceResolver } from '@squawk/airspace';\n\nconst resolver = createAirspaceResolver({ data: usBundledAirspace });\n\n// Query a position and altitude\nconst overhead = resolver.query({ lat: 33.9425, lon: -118.4081, altitudeFt: 3000 });\n\nfor (const f of overhead) {\n  console.log(f.type, f.name, f.identifier);\n}\n\n// Get every shell associated with an airport (for drawing the full wedding cake)\nconst laxShells = resolver.byAirport('LAX');\n\n// Get every ARTCC center boundary (one feature per stratum)\nconst ny = resolver.byArtcc('ZNY');\n\n// Fuzzy-search features by identifier and name (scored, best match first)\nconst matches = resolver.search({ text: 'LAX' });\nconsole.log(matches[0]?.feature.identifier, matches[0]?.score);\n```\n\nConsumers who have their own GeoJSON airspace data can use this package standalone:\n\n```typescript\nimport { createAirspaceResolver } from '@squawk/airspace';\n\nconst resolver = createAirspaceResolver({ data: myGeoJson });\n```\n\n## Browser / SPA usage\n\nThe resolver factory has no Node-specific imports and ships an explicit `/browser` subpath for SPAs and edge runtimes. Pair it with `@squawk/airspace-data/browser`:\n\n```typescript\nimport { loadUsBundledAirspace } from '@squawk/airspace-data/browser';\nimport { createAirspaceResolver } from '@squawk/airspace/browser';\n\nconst dataset = await loadUsBundledAirspace();\nconst resolver = createAirspaceResolver({ data: dataset });\n```\n\nThe `/browser` entry is identical to the main entry; the separate subpath exists so browser support is an explicit, `publint`-verified part of the public API surface.\n\n## How it works\n\n`createAirspaceResolver` parses the GeoJSON FeatureCollection at initialization and\nreturns a resolver object with the following methods:\n\n- `query(AirspaceQuery)` - returns features containing the given position and\n  altitude, via a ray casting point-in-polygon test combined with a vertical\n  floor/ceiling comparison.\n- `byAirport(identifier, types?)` - returns every non-ARTCC feature whose\n  `identifier` matches (case-insensitive). For Class B/C/D/E2 this groups all\n  sectors of the airspace around a given airport regardless of the point of\n  interest.\n- `byArtcc(identifier, stratum?)` - returns every ARTCC feature for the given\n  3-letter center code (e.g. `\"ZNY\"`), optionally filtered to a single\n  stratum (`LOW`, `HIGH`, `UTA`, `CTA`, `FIR`, or `CTA/FIR`).\n- `byIdentifier(identifier, options?)` - type-agnostic identifier lookup that\n  spans both partitions in one call, with an optional `types` inclusion\n  filter and `includeArtcc` toggle.\n- `search(AirspaceSearchQuery)` - fuzzy-searches features by identifier and\n  name, returning scored results best-match first with the matched field and\n  highlight ranges, optionally filtered by type.\n- `byCentroid({ lon, lat, toleranceDeg? })` - returns features whose polygon\n  centroid lies within tolerance of the query coordinates. Useful for\n  resolving features whose `identifier` is empty (some Class E5 surfaces),\n  where the centroid is the only stable handle.\n- `withinBbox(bbox)` - returns features whose pre-indexed bounding box\n  overlaps the query bbox. Reuses the bounding box cached at init time\n  rather than recomputing per call.\n- `forEachIndexed(callback)` - read-only iteration over the indexed corpus\n  with positional `(feature, ring, boundingBox)` arguments, for callers\n  that need to filter the corpus without reparsing the source GeoJSON.\n\nAll matching features are returned as `AirspaceFeature` objects (from `@squawk/types`),\nincluding the full polygon boundary coordinates.\n\n## AGL altitude handling\n\nSome airspace features have floor or ceiling bounds referenced to AGL (above ground\nlevel) rather than MSL. Converting AGL to MSL requires terrain elevation data that\nthis library does not include.\n\nThe resolver handles AGL bounds conservatively: when it cannot determine the MSL\nequivalent, it **includes** the feature rather than silently excluding it. This means\nthe resolver may return features whose AGL bounds do not actually contain the\nqueried altitude.\n\nConsumers can inspect the `reference` field on the returned `AltitudeBound` objects\nand apply their own terrain lookup if needed:\n\n```typescript\nfor (const f of features) {\n  if (f.floor.reference === 'AGL') {\n    // This feature's floor is AGL - apply terrain data if available\n  }\n}\n```\n\n## API\n\n### `createAirspaceResolver(options)`\n\nCreates a resolver from a GeoJSON dataset.\n\n**Parameters:**\n\n- `options.data` - a GeoJSON `FeatureCollection` with airspace features\n\n**Returns:** `AirspaceResolver` - an object exposing `query(AirspaceQuery)`,\n`byAirport(identifier, types?)`, `byArtcc(identifier, stratum?)`,\n`byIdentifier(identifier, options?)`, `search(query)`, `byCentroid(query)`,\n`withinBbox(bbox)`, and `forEachIndexed(callback)` methods.\n\n### `AirspaceQuery`\n\n| Property     | Type                       | Description                                                        |\n| ------------ | -------------------------- | ------------------------------------------------------------------ |\n| `lat`        | number                     | Latitude in decimal degrees (WGS84)                                |\n| `lon`        | number                     | Longitude in decimal degrees (WGS84)                               |\n| `altitudeFt` | number                     | Altitude in feet MSL                                               |\n| `types`      | ReadonlySet\\<AirspaceType> | Optional. When provided, only features of these types are returned |\n\n```typescript\n// Only query tower-controlled airspace (exclude Class E and SUA)\nconst controlled = resolver.query({\n  lat: 33.9425,\n  lon: -118.4081,\n  altitudeFt: 3000,\n  types: new Set(['CLASS_B', 'CLASS_C', 'CLASS_D']),\n});\n```\n\n### `resolver.byAirport(identifier, types?)`\n\nReturns every non-ARTCC airspace feature whose `identifier` property matches. For\nClass B/C/D/E2 this is the associated airport's FAA location identifier\n(e.g. \"JFK\" for the NY Class B). For Special Use Airspace this is the NASR\ndesignator (e.g. \"R-2508\"). Lookup is case-insensitive. ICAO-prefixed codes\nlike \"KJFK\" will not match - resolve to an FAA ID first via `@squawk/airports`.\n\n```typescript\n// Every sector of the NY Class B around JFK, with full polygon boundaries\nconst jfkShells = resolver.byAirport('JFK');\n\n// Only the Class D for a towered field\nconst safClassD = resolver.byAirport('SAF', new Set(['CLASS_D']));\n```\n\n### `resolver.byArtcc(identifier, stratum?)`\n\nReturns every ARTCC feature for the given three-letter center code\n(e.g. `\"ZNY\"`, `\"ZBW\"`). Each US ARTCC is published as multiple features -\none per stratum (`LOW`, `HIGH`, plus oceanic `UTA`, `CTA`, `FIR`, or\n`CTA/FIR` where applicable) - because the lateral extent can vary between\nstrata. Pass an optional stratum filter to narrow results.\n\n```typescript\n// Both LOW and HIGH boundaries for the New York center\nconst zny = resolver.byArtcc('ZNY');\n\n// Just the high-altitude boundary for the Boston center\nconst zbwHigh = resolver.byArtcc('ZBW', 'HIGH');\n```\n\n### `resolver.byIdentifier(identifier, options?)`\n\nType-agnostic identifier lookup. Returns every feature whose `identifier`\nmatches, spanning both the ARTCC and non-ARTCC partitions in one call.\nReach for this when the airspace type is not known up-front (e.g. parsed\nfrom a URL); for ergonomic shortcuts, the partition-specific `byAirport` /\n`byArtcc` wrappers stay available.\n\n| Option         | Type                       | Description                                                                                     |\n| -------------- | -------------------------- | ----------------------------------------------------------------------------------------------- |\n| `types`        | ReadonlySet\\<AirspaceType> | Optional. When provided, acts as the authoritative inclusion filter; `includeArtcc` is ignored. |\n| `includeArtcc` | boolean                    | Defaults to `true`. When `false` and `types` is omitted, ARTCC features are excluded.           |\n\n```typescript\n// Every feature for the identifier, ARTCC included\nconst all = resolver.byIdentifier('ZNY');\n\n// Only the non-ARTCC partition\nconst nonArtcc = resolver.byIdentifier('ZNY', { includeArtcc: false });\n\n// Only matching types\nconst onlyClassB = resolver.byIdentifier('JFK', { types: new Set(['CLASS_B']) });\n```\n\n### `resolver.byCentroid(query)`\n\nReturns every feature whose polygon centroid is within `toleranceDeg` of\n`(lon, lat)`. The centroid is computed per call (not cached) so this is\nO(n) over the corpus - suitable for occasional URL-driven lookups, not\nhot loops. Useful for resolving features with an empty `identifier` (some\nClass E5 surfaces), where the centroid is the fallback URL handle.\n\n| Property       | Type   | Description                                                                                              |\n| -------------- | ------ | -------------------------------------------------------------------------------------------------------- |\n| `lon`          | number | Longitude in decimal degrees (WGS84)                                                                     |\n| `lat`          | number | Latitude in decimal degrees (WGS84)                                                                      |\n| `toleranceDeg` | number | Optional. Centroid match tolerance in degrees, applied independently to lon and lat. Defaults to 0.0001. |\n\n```typescript\nconst matches = resolver.byCentroid({ lon: -118.4081, lat: 33.9425 });\n```\n\n### `resolver.withinBbox(bbox)`\n\nReturns every feature whose pre-indexed bounding box overlaps the query\nbbox. Reuses the bounding box cached at init time, so this is suitable\nfor tight loops over the corpus. Bounding-box overlap is a coarse spatial\nfilter: callers that need true polygon-polygon intersection should follow\nup with their own geometry test on the returned features.\n\n```typescript\nconst overlapping = resolver.withinBbox({\n  minLon: -119,\n  minLat: 33,\n  maxLon: -118,\n  maxLat: 35,\n});\n```\n\n### `resolver.forEachIndexed(callback)`\n\nRead-only iteration over the indexed corpus, invoking `callback` once per\nfeature with positional `(feature, ring, boundingBox)`. Exposes the\nresolver's pre-parsed shape so callers that need to filter the corpus\nthemselves do not have to reparse the source GeoJSON or recompute geometry\nper call. The `ring` and `boundingBox` arguments are the resolver's\ninternal caches and must not be mutated.\n\n```typescript\nresolver.forEachIndexed((feature, ring, boundingBox) => {\n  // ring is the parsed exterior ring (number[][]).\n  // boundingBox is the pre-computed axis-aligned bbox.\n});\n```\n\n### `resolver.search(query)`\n\nFuzzy-searches airspace features across identifier and name. Matching is\ncase-insensitive and tolerant of prefixes, substrings, subsequences, and small\ntypos. Results are scored and returned best-match first.\n\n| Property   | Type                       | Description                                                                              |\n| ---------- | -------------------------- | ---------------------------------------------------------------------------------------- |\n| `text`     | string                     | Search text, matched fuzzily against each feature's identifier and name                  |\n| `limit`    | number                     | Optional. Maximum number of results. Defaults to 20                                      |\n| `types`    | ReadonlySet\\<AirspaceType> | Optional. When provided, only features of these types are returned                       |\n| `minScore` | number                     | Optional. Minimum match score (exclusive) in `[0, 1]` a result must reach. Defaults to 0 |\n\nReturns `AirspaceSearchResult[]`, sorted by descending score, each containing:\n\n- `feature` - the matched `AirspaceFeature` record\n- `score` - match strength in `[0, 1]`, where 1 is an exact identifier or name match\n- `matchedField` - which field produced the best match: `'identifier'` or `'name'`\n- `ranges` - matched character ranges within the best-matching field's text, for highlighting\n\nFeatures with an empty identifier and name (some Class E5 surfaces) never match a\nnon-empty query and are simply absent from results.\n\n```typescript\nconst results = resolver.search({ text: 'LAX', limit: 10 });\nfor (const { feature, score, matchedField } of results) {\n  console.log(feature.identifier, score, `(matched ${matchedField})`);\n}\n```\n\n### ARTCC altitude bounds\n\nARTCC features carry stratum-aligned floor/ceiling values for use with\n`query()`:\n\n| Stratum   | Floor         | Ceiling       |\n| --------- | ------------- | ------------- |\n| `LOW`     | SFC           | 18,000 ft MSL |\n| `HIGH`    | 18,000 ft MSL | 60,000 ft MSL |\n| `UTA`     | 60,000 ft MSL | 99,999 ft MSL |\n| `CTA`     | SFC           | 99,999 ft MSL |\n| `FIR`     | SFC           | 99,999 ft MSL |\n| `CTA/FIR` | SFC           | 99,999 ft MSL |\n\nThese are operational stratum approximations rather than legal limits.\nThe `99,999` ceiling is a sentinel meaning \"effectively unlimited\" -\nqueries above FL600 will still match the relevant stratum.\n\nOceanic FIR boundaries that cross the 180th meridian (ZAK FIR/CTA and ZAP\nFIR/CTA in the central Pacific) are split at the antimeridian during the\ndata build, so each emitted feature has coordinates within the standard\n`[-180, 180]` range. A single source stratum produces two features in\nthose cases - one for the eastern sub-polygon and one for the western - but\nboth share the same `identifier` and `artccStratum`, so `byArtcc(\"ZAK\")`\nreturns them together.\n","readmeFilename":"README.md"}