{"_id":"@atcute/bluesky-richtext-segmenter","_rev":"14-d9797edfae6733ec00547f3ef46e342d","name":"@atcute/bluesky-richtext-segmenter","dist-tags":{"latest":"3.0.2"},"versions":{"1.0.0":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.0","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.0","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"dist":{"shasum":"f3b2ac57f210799073a21f631e387059a9626adc","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.0.tgz","fileCount":6,"integrity":"sha512-Gymz5IxcFMRL7MwsXWeEL2bjsYa0oq3Wo1o7mpr0qOUGhjxbyEWPJr1+d+NIpXAZG0QiIgyKTCLZvmN/Ovj1SQ==","signatures":[{"sig":"MEUCIH267BcV058riJJmJFWWpeOJMIGXfKO+/G4vMnH/OShyAiEAr7twEBPqAh5nCk6k1kYJNFjEskvHElFtjDI3ztAw8ZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6699},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/5905d77c1bb98a1fce5c43ae1eb2d723/atcute-bluesky-richtext-segmenter-1.0.0.tgz","_integrity":"sha512-Gymz5IxcFMRL7MwsXWeEL2bjsYa0oq3Wo1o7mpr0qOUGhjxbyEWPJr1+d+NIpXAZG0QiIgyKTCLZvmN/Ovj1SQ==","repository":{"url":"https://codeberg.org/mary-ext/atcute"},"_npmVersion":"10.8.2","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.10","@atcute/client":"^2.0.3","@atcute/bluesky":"^1.0.7"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.0_1729060511072_0.43361090043319117","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.1","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.1","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"dist":{"shasum":"83705a369846df8544895e013a96efc0258d6ce7","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.1.tgz","fileCount":6,"integrity":"sha512-FlpGAP/qtGcr2CR/9SjB2oP8KSR0Nj2c8qpg00nnm2mx81zP30eRYwsjg7cz+KR9bxlq8+/5PmA3WFZLKBbYjw==","signatures":[{"sig":"MEQCIDYbTDxmUGcC2gHM2chii/T7TketUZyK4Ye79KMCAP9RAiBQNpD3q7eXyDp16enaRZMzRZOjDZS6d9AcQ4ziykLtnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7952},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/1b8495cfbf60d623180b0e337dc19a72/atcute-bluesky-richtext-segmenter-1.0.1.tgz","_integrity":"sha512-FlpGAP/qtGcr2CR/9SjB2oP8KSR0Nj2c8qpg00nnm2mx81zP30eRYwsjg7cz+KR9bxlq8+/5PmA3WFZLKBbYjw==","repository":{"url":"https://codeberg.org/mary-ext/atcute"},"_npmVersion":"10.9.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"23.0.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.12","@atcute/client":"^2.0.3","@atcute/bluesky":"^1.0.7"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.1_1729929679016_0.36744342243589845","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.2","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.2","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"dist":{"shasum":"94ef7a5bf388eed271288b9ee6952590a12db640","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.2.tgz","fileCount":6,"integrity":"sha512-h7PENVqXGMMp22yqIfJ06t9ynWVE4o8hhP/R9EKE2yXqQI36jLA7dAU+nNXdvw2SxPDqeQpoq55IyUp0JNA++g==","signatures":[{"sig":"MEUCIBM7LVZygmh09rkL1P/1FFCPgmM6+IPi8fH8qKB5sqJyAiEApbnIyEYzqOEqLBnrb925yS2M7AayXu4Fa/ItHVWJH8I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7869},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/b302208e5d3347a021bff531388579aa/atcute-bluesky-richtext-segmenter-1.0.2.tgz","_integrity":"sha512-h7PENVqXGMMp22yqIfJ06t9ynWVE4o8hhP/R9EKE2yXqQI36jLA7dAU+nNXdvw2SxPDqeQpoq55IyUp0JNA++g==","repository":{"url":"https://codeberg.org/mary-ext/atcute"},"_npmVersion":"10.9.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.10.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.12","@atcute/client":"^2.0.3","@atcute/bluesky":"^1.0.7"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.2_1730364871808_0.4748425030356622","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.3","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.3","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"2ae672b8d6d75c739f465356daad18fd6b034e46","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.3.tgz","fileCount":7,"integrity":"sha512-WR22qL9gK70s0Xpg5tYTX1I4a2nm08BeD7LD/L3+f1Ed5CR3HhP4115/xBKLjgFeKT/ZLmlHNgkPN936/LtrIQ==","signatures":[{"sig":"MEUCICbyQ7m+sPD2K6s0QPfp265l8ww8SoFbNzMbec3z0IZmAiEAhm2DJiyoyzM7A5AD+8ye3hSIUnugj3JFwIJXM9GgNN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10073},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.3.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/6703f573c1c0f21de57da70f437f63f9/atcute-bluesky-richtext-segmenter-1.0.3.tgz","_integrity":"sha512-WR22qL9gK70s0Xpg5tYTX1I4a2nm08BeD7LD/L3+f1Ed5CR3HhP4115/xBKLjgFeKT/ZLmlHNgkPN936/LtrIQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.12","@atcute/client":"^2.0.4","@atcute/bluesky":"^1.0.8"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.3_1730852275184_0.5090396894618028","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.4","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.4","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"bb0352633244a515ffe04798a6adacba5a0a5222","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.4.tgz","fileCount":7,"integrity":"sha512-5p5AB8nBWAym3zenvCVrqf1shY7vQxOZ327yqiuiwfKo9xZ0ouV8cb4geaJbc82XAfR3+XKXdNS6qDnucIq7rg==","signatures":[{"sig":"MEQCIB/cLYgEUZamzC3foFBbsPy3U+F0W8m7L08mdByYXt4BAiArFKzjfpwkR+1voBW18XHW9/u8zwOJ9iUtoNm3QaCRCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9062},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.4.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/fa21ac46be1138043a0597df51ff83c6/atcute-bluesky-richtext-segmenter-1.0.4.tgz","_integrity":"sha512-5p5AB8nBWAym3zenvCVrqf1shY7vQxOZ327yqiuiwfKo9xZ0ouV8cb4geaJbc82XAfR3+XKXdNS6qDnucIq7rg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.12","@atcute/client":"^2.0.4","@atcute/bluesky":"^1.0.8"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.4_1731375585224_0.10960557597935927","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@atcute/bluesky-richtext-segmenter","version":"1.0.5","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@1.0.5","maintainers":[{"name":"externdefs","email":"maryext+npm@proton.me"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"3f873537ad8ab966dde2a30b4b7e0e96a03c177c","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-1.0.5.tgz","fileCount":7,"integrity":"sha512-D0FfmJVwppky9naL1OGKcQjtgO0lDLhkG4iCQHpShuHhEZ9FUdf3eUb/eQpVRNJGaJ4ShjEOHA6FlAizcjMkGQ==","signatures":[{"sig":"MEUCIF3vxJw3xR61Ic9kCsJoCnVbKapecMTbyH7BT1KaLY9YAiEAnpVhuY1W6mzTdInN9W35NgjPWTPKyqjigghaKrX1qgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13013},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-1.0.5.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"maryext+npm@proton.me"},"_resolved":"/tmp/edb64f99ae3bbf57f4510b56b1592a8b/atcute-bluesky-richtext-segmenter-1.0.5.tgz","_integrity":"sha512-D0FfmJVwppky9naL1OGKcQjtgO0lDLhkG4iCQHpShuHhEZ9FUdf3eUb/eQpVRNJGaJ4ShjEOHA6FlAizcjMkGQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"mitata":"^1.0.10","@types/bun":"^1.1.12","@atcute/client":"^2.0.4","@atcute/bluesky":"^1.0.8"},"peerDependencies":{"@atcute/client":"^1.0.0 || ^2.0.0","@atcute/bluesky":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_1.0.5_1731647768927_0.414022624367705","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@atcute/bluesky-richtext-segmenter","version":"2.0.0","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@2.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"b100e63e10d760bf9681b1a43b219e58d965774c","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-2.0.0.tgz","fileCount":7,"integrity":"sha512-BummI6zgdXSx9f5TJg2oR2ervCJhG8zcbAMDLWjccNLt/0P38lIRsXqOBdIIAZoBtk8g5LpgnnICdiMsDM2iDQ==","signatures":[{"sig":"MEUCIDfnv60W1NV7e7b4VGqJ7emY+h9whMEf5V4bA8TRpzPeAiEA5apo/YMeaFiry4n5CF8K2BCQJch56VeScQaY8FsyudM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12911},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-2.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/45d40f39ba8bd7d6c2cf443d690f8e34/atcute-bluesky-richtext-segmenter-2.0.0.tgz","_integrity":"sha512-BummI6zgdXSx9f5TJg2oR2ervCJhG8zcbAMDLWjccNLt/0P38lIRsXqOBdIIAZoBtk8g5LpgnnICdiMsDM2iDQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.2","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.1","@atcute/client":"^3.0.0","@atcute/bluesky":"^2.0.0"},"peerDependencies":{"@atcute/client":"^3.0.0","@atcute/bluesky":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_2.0.0_1744272194799_0.5640422662327167","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@atcute/bluesky-richtext-segmenter","version":"2.0.1","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@2.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"b2c3266e626d2847f9440f1af187154e054c353f","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-2.0.1.tgz","fileCount":7,"integrity":"sha512-txyTQ/6MvZN2D3ycNT/tsx5kOvKLx3kaqIVMkbdGVvXpiUmpvobWEHGlhKaWlmhuxhxvAJdXFr4iR6zBFNcC6Q==","signatures":[{"sig":"MEQCIHTuV1uF6CuA4IJzxA2wgD9EN2hHsuXc1sqaYWYsUjs6AiBOc1Sgp7bZgQVtUEKZVdNT1V9+tpDQ2LKhOPE0jf7HQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12701},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-2.0.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/34e2bf4131a04a8954475c60ab9b8c6c/atcute-bluesky-richtext-segmenter-2.0.1.tgz","_integrity":"sha512-txyTQ/6MvZN2D3ycNT/tsx5kOvKLx3kaqIVMkbdGVvXpiUmpvobWEHGlhKaWlmhuxhxvAJdXFr4iR6zBFNcC6Q==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"11.3.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/bluesky":"^3.0.0","@atcute/lexicons":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_2.0.1_1747186983820_0.44966728014106305","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@atcute/bluesky-richtext-segmenter","version":"2.0.2","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@2.0.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"8a440556a3586c1108916a2cce06b41d7b1b98c0","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-2.0.2.tgz","fileCount":7,"integrity":"sha512-tyCeaWM8Uw2lmif27yRWS8r/YNVVyj/pvlbOM+pAXXsPJzA54usaf7EmYloW+5cNSe461SUwNArw+pjoxwgkRA==","signatures":[{"sig":"MEQCIATr+tmlAl/o9oNKpRlc2P5gyPK4Ip4IDmZcCoaRTxpHAiAF4bsRuZwyLlrn4aShxceJUYR/R26XWPxwb8DJo5qEhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12701},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-2.0.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/80507c9db8ebeed4b44993867fd3144e/atcute-bluesky-richtext-segmenter-2.0.2.tgz","_integrity":"sha512-tyCeaWM8Uw2lmif27yRWS8r/YNVVyj/pvlbOM+pAXXsPJzA54usaf7EmYloW+5cNSe461SUwNArw+pjoxwgkRA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"11.3.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/bluesky":"^3.0.1","@atcute/lexicons":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_2.0.2_1747444129341_0.4196598495793791","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@atcute/bluesky-richtext-segmenter","version":"2.0.3","license":"MIT","_id":"@atcute/bluesky-richtext-segmenter@2.0.3","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"dc0486306193f7aa8c38620014baa6e8c9bdb796","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-2.0.3.tgz","fileCount":7,"integrity":"sha512-8Jy2EHdqx0mKI0k8l4h2cnaBN1pGgSzSazO0Gp85ttIQmgynZsQX6l4OWgaQx0aNZFmqZRXJ7N0rj/b2dlO1eQ==","signatures":[{"sig":"MEUCIQCTP8pYPDSPwkqvZwWmwKqgWK0A8YtmyXjBlp2UBNmWdgIgBXWcdadKzO35I7o1R4c7KhxA98FM7oEXkOEYsJwWmlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12701},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-2.0.3.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/bbe8a4fada392ae713bce1df758c90c5/atcute-bluesky-richtext-segmenter-2.0.3.tgz","_integrity":"sha512-8Jy2EHdqx0mKI0k8l4h2cnaBN1pGgSzSazO0Gp85ttIQmgynZsQX6l4OWgaQx0aNZFmqZRXJ7N0rj/b2dlO1eQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"11.3.0","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@atcute/bluesky":"^3.0.2","@atcute/lexicons":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_2.0.3_1747715731596_0.1284173274388143","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@atcute/bluesky-richtext-segmenter","version":"2.0.4","license":"0BSD","_id":"@atcute/bluesky-richtext-segmenter@2.0.4","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"124905775f99c382faae16d321d438f8461b0855","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-2.0.4.tgz","fileCount":8,"integrity":"sha512-6m5QEAv4lU3qTy5MeJXJRRG33acipYJnMW1T7W/KrMyThGhQ7jSTTh8Z48quElgivgX7MDj6o/ow1oLUsjsCKw==","signatures":[{"sig":"MEQCIB3vWMSO9m1cpopQZfgGfHuBW4nDcmGJ5XsHbtpKr88oAiAU23vjrr+/rsKQu2NRuGOSqOdVVArNa0JnDiD61QdzPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12908},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-2.0.4.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/c453258b13994893870cc3449f516f18/atcute-bluesky-richtext-segmenter-2.0.4.tgz","_integrity":"sha512-6m5QEAv4lU3qTy5MeJXJRRG33acipYJnMW1T7W/KrMyThGhQ7jSTTh8Z48quElgivgX7MDj6o/ow1oLUsjsCKw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.2","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@atcute/bluesky":"^3.2.5","@atcute/lexicons":"^1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.21"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_2.0.4_1760012871547_0.5695902612830721","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@atcute/bluesky-richtext-segmenter","version":"3.0.0","license":"0BSD","_id":"@atcute/bluesky-richtext-segmenter@3.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"d521dca62c7211b854dcb8d7e0e0f24166c5e7d8","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-3.0.0.tgz","fileCount":8,"integrity":"sha512-NhZTUKtFpeBBbILwAcxj5u4RobIoHOmGw3CAaaEFNebKYSvmTecrXJ7XufHw5DFOUdr8SiKXQVRQxGAxulMNWg==","signatures":[{"sig":"MEQCIHgl8d/EV/5kR5VmR2ETfYLWmNxxxfZLOy0SCiMqq5fdAiAOr4b2ugTv4P0hYWo7w+ukHETfI7CUNQcOnJSREqzaAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13785},"type":"module","_from":"file:atcute-bluesky-richtext-segmenter-3.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/70b778f0925ce2c9a7735afa8133e1c5/atcute-bluesky-richtext-segmenter-3.0.0.tgz","_integrity":"sha512-NhZTUKtFpeBBbILwAcxj5u4RobIoHOmGw3CAaaEFNebKYSvmTecrXJ7XufHw5DFOUdr8SiKXQVRQxGAxulMNWg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/bluesky/richtext-segmenter"},"_npmVersion":"10.9.4","description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","@atcute/bluesky":"^3.2.15","@vitest/coverage-v8":"^4.0.16"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_3.0.0_1768446810476_0.4153831185244665","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@atcute/bluesky-richtext-segmenter","version":"3.0.1","license":"0BSD","_id":"@atcute/bluesky-richtext-segmenter@3.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"42e8cec286a1103e1800e37a72b2d2428a859cf8","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-3.0.1.tgz","fileCount":5,"integrity":"sha512-5TrzZTpPkVchiNG+YAW8MmBVnN/gLPN/V3nJgpQcnLrQOebqTV+lR+yZ0d4T70NsBD32vJHyxoX5PY+6hY2KlA==","signatures":[{"sig":"MEQCID2XmDYOcwiUTnkA5Ycp5la9wd5CMz3mPjtFdCHCAfz2AiAbpQJv0bN6vzSx8C/A8f5sTfSsgQUHTcZ5gjd2QgZcGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7018},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/richtext-segmenter"},"description":"segments Bluesky's rich text facets into tokens","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@atcute/bluesky":"^4.0.12","@vitest/coverage-v8":"^4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/bluesky-richtext-segmenter_3.0.1_1782777130282_0.4396056994338735","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@atcute/bluesky-richtext-segmenter","version":"3.0.2","description":"segments Bluesky's rich text facets into tokens","license":"0BSD","repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/richtext-segmenter"},"type":"module","sideEffects":false,"exports":{".":"./dist/index.js"},"publishConfig":{"access":"public"},"devDependencies":{"@vitest/coverage-v8":"^4.1.10","vitest":"^4.1.10","@atcute/bluesky":"^4.0.14"},"scripts":{"build":"tsc","test":"vitest","prepublish":"rm -rf dist; pnpm run build"},"_nodeVersion":"26.0.0","_id":"@atcute/bluesky-richtext-segmenter@3.0.2","dist":{"integrity":"sha512-LXsUuElLQ/gQe2g04SzgTeEbSwhcnmswioGdneve8e3vE+FU353EjuEVIsnA/H5rnGeLswLdrua7Io1twezynA==","shasum":"5d1807c60f528ab5c608a12307aade310c422edb","tarball":"https://registry.npmjs.org/@atcute/bluesky-richtext-segmenter/-/bluesky-richtext-segmenter-3.0.2.tgz","fileCount":5,"unpackedSize":7376,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFzjzMKD3MQkF5iQcbLoVfZeRWHZChWLeaZgqLJw+tTXAiBMCbYfoC2Llo2Wt88DfR3lSJs9D4yUZ9VPTrI18ekyBQ=="}]},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"directories":{},"maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bluesky-richtext-segmenter_3.0.2_1784160618220_0.779985185158202"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-16T06:35:10.979Z","modified":"2026-07-16T00:10:18.542Z","1.0.0":"2024-10-16T06:35:11.259Z","1.0.1":"2024-10-26T08:01:19.187Z","1.0.2":"2024-10-31T08:54:32.065Z","1.0.3":"2024-11-06T00:17:55.343Z","1.0.4":"2024-11-12T01:39:45.427Z","1.0.5":"2024-11-15T05:16:09.146Z","2.0.0":"2025-04-10T08:03:14.972Z","2.0.1":"2025-05-14T01:43:04.014Z","2.0.2":"2025-05-17T01:08:49.597Z","2.0.3":"2025-05-20T04:35:31.762Z","2.0.4":"2025-10-09T12:27:51.785Z","3.0.0":"2026-01-15T03:13:30.640Z","3.0.1":"2026-06-29T23:52:10.425Z","3.0.2":"2026-07-16T00:10:18.390Z"},"license":"0BSD","repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/bluesky/richtext-segmenter"},"description":"segments Bluesky's rich text facets into tokens","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"readme":"# @atcute/bluesky-richtext-segmenter\n\nsegments Bluesky rich text into tokens for rendering.\n\n```sh\nnpm install @atcute/bluesky-richtext-segmenter\n```\n\nBluesky posts contain text and facets (byte-range annotations for mentions, links, etc). this\npackage splits the text into segments, each with its associated features, so you can render them\nappropriately.\n\n## usage\n\n```ts\nimport { segmentize } from '@atcute/bluesky-richtext-segmenter';\n\n// text and facets from a post record\nconst text = 'hello @bsky.app!';\nconst facets = [\n\t{\n\t\tindex: { byteStart: 6, byteEnd: 15 },\n\t\tfeatures: [\n\t\t\t{ $type: 'app.bsky.richtext.facet#mention', did: 'did:plc:z72i7hdynmk6r22z27h6tvur' },\n\t\t],\n\t},\n];\n\nconst segments = segmentize(text, facets);\n// -> [\n//   { text: 'hello ', features: undefined },\n//   { text: '@bsky.app', features: [{ $type: '...#mention', did: '...' }] },\n//   { text: '!', features: undefined }\n// ]\n```\n\n### rendering segments\n\neach segment contains `text` and optionally `features`. render based on the feature type:\n\n```tsx\nimport { segmentize, type RichtextSegment } from '@atcute/bluesky-richtext-segmenter';\n\nconst renderSegment = (segment: RichtextSegment, index: number) => {\n\tconst { text, features } = segment;\n\n\tif (!features) {\n\t\treturn <span key={index}>{text}</span>;\n\t}\n\n\t// segments can have multiple features, use the first one\n\tconst feature = features[0];\n\n\tswitch (feature.$type) {\n\t\tcase 'app.bsky.richtext.facet#mention':\n\t\t\treturn (\n\t\t\t\t<a key={index} href={`/profile/${feature.did}`}>\n\t\t\t\t\t{text}\n\t\t\t\t</a>\n\t\t\t);\n\n\t\tcase 'app.bsky.richtext.facet#link':\n\t\t\treturn (\n\t\t\t\t<a key={index} href={feature.uri} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t{text}\n\t\t\t\t</a>\n\t\t\t);\n\n\t\tcase 'app.bsky.richtext.facet#tag':\n\t\t\treturn (\n\t\t\t\t<a key={index} href={`/search?q=${encodeURIComponent('#' + feature.tag)}`}>\n\t\t\t\t\t{text}\n\t\t\t\t</a>\n\t\t\t);\n\n\t\tdefault:\n\t\t\treturn <span key={index}>{text}</span>;\n\t}\n};\n\nconst RichText = ({ text, facets }: { text: string; facets?: Facet[] }) => {\n\tconst segments = segmentize(text, facets);\n\treturn <>{segments.map(renderSegment)}</>;\n};\n```\n","readmeFilename":""}