{"_id":"expo-pretext","_rev":"37-21da749702acf28ba02b1f21b96ac0ec","name":"expo-pretext","dist-tags":{"latest":"1.2.0"},"versions":{"0.2.0":{"name":"expo-pretext","version":"0.2.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.2.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"a2a8e6f128c97e0e0a35b7a97d396f5923baedf4","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.2.0.tgz","fileCount":32,"integrity":"sha512-OpmzMMO3DIkl5AFv0C+Tm2bkpgsduH6S5jX0YJmoHbmcvxvmL9AS046PWQLcxCv4auGkkpUmdl9mqbxAe/O77A==","signatures":[{"sig":"MEYCIQD69S0iU3ZVPOaKbS08bYyq3bYBoqveJ1WQKxDrcni1tQIhAPVzIJUHZ9fyRS6ixdzpof/437HCxwxG8+K/gf5hIpby","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228683},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"11d85437ed209ba7f24b4ae48894a12db48d5566","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.2.0_1775661817322_0.11369694025293753","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"expo-pretext","version":"0.2.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.2.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"078a142d442eaf13855314c38227d803a9f22d7f","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.2.1.tgz","fileCount":32,"integrity":"sha512-H9dy+R+FmkEUS4jfPVdUq8wauGIR5KIergwhfVXNUFb6EJ3GXGmSJhMnwxG5F4yVsRBEJ7x79aIVU+RxCTSvqw==","signatures":[{"sig":"MEUCIQCo31+CG+2OvMd+yC4vEfAYtvqknrQr5aL5wtqw+AcBmQIgGxO4jxti/5hCdebjXMFFZeveYmnCkZpdQIvZZ9373c0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229144},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"933776a43e4895be491b024af2cf45faba7a790f","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.2.1_1775665052107_0.34725806976368223","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"expo-pretext","version":"0.2.2","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.2.2","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"6e10d9b42ce23fb04dfe38fc74e426b48960a503","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.2.2.tgz","fileCount":32,"integrity":"sha512-Ypo42ejCuukF97g6I8Q639KIiHO3aRigQ5wQlGdJhAohLZQAs11vkNOSvd+xoaihygKQWwMIT9L4gFiwWyWvlA==","signatures":[{"sig":"MEUCIE0SpIu+3BuCZCvq9ImaFTJhOQ1TJrH2zrPOepjFJNYkAiEAnVliWPRcGF9EKvRwSkXUoSEqg8+kOpBBmbsYlmlzK4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229144},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"c14a2e98f92ca3394674e338aaf573e6efe84df2","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.2.2_1775665594412_0.05687428413530782","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"expo-pretext","version":"0.2.3","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.2.3","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"2e1d71c955c9fd59ee13f145d45fb1d50271e87c","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.2.3.tgz","fileCount":32,"integrity":"sha512-YZgkqnxzTly/gMkU6246bi0/m9mAuqNH0s4HCsVj8BwwXdL04GZW00iids5xYn4U8yEcRjx87NuIeFF37juhNQ==","signatures":[{"sig":"MEYCIQCHQX/2l7G9Uz9YmhxY5G9ldLWhcWalOz1roYN+bBrc1AIhAJLcvHSMpbgKmda0Hcgf1p2i+JXPcJyDVPzZ5y8pAeuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229152},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"e4c1496ce9874f144adcea4ede75a73f9e59d12e","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.2.3_1775665659921_0.6970501515595493","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"expo-pretext","version":"0.3.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.3.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"27d22645e0475d20162847ba18232d847fdcce70","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.3.0.tgz","fileCount":33,"integrity":"sha512-Flj0fdOSQitZwzMB/uFHd2dOdFo5ZKlXuB/rzgcDLfgVG2BazkSTY+P+qTy8Z8FQCwZ6PPyMjLtl0aPB6uM/MQ==","signatures":[{"sig":"MEUCIFOGKcNMj3wtdf/iHQ74NyXPWT6LVijhGe8x9kCrL7GYAiEA3U45SfjjlIq8+rAnMIRClGFMZdzvRdq9GE4S4Xp+1k4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236839},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"7fe8b3c33790daa3bd5abab1a7cb551a243d4772","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.3.0_1775677977569_0.434486452086569","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"expo-pretext","version":"0.3.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.3.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"96d31171abc9dd0d553cdbf672717f539b216e3c","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.3.1.tgz","fileCount":37,"integrity":"sha512-zBR4nkNH8wvUzO/jsP6+w2ZQD3lW/7ySdL09zXYvIW2f1fUn4ITfZB8EM9Qn55HyfG5SRTCPY8ApaTDZnId5OA==","signatures":[{"sig":"MEYCIQDJTG36LiWjhFpU/hMrqIXGFhjNWX2AUIxItMmCskdD9AIhAKmFruPyNAR80FnKxnoCrqOT31ExDeAQdXWp0NaWoQ0S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289520},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"36657a6d7ad6fbe443dd23ad7813f7a3b6b74111","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.3.1_1775685307284_0.39962806006292073","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"expo-pretext","version":"0.4.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.4.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"4e135274519a71104f4c6934804a2857ccc5cb7d","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.4.0.tgz","fileCount":39,"integrity":"sha512-YcN5qTtf9IBzgxZjvm7bAP739J0A2WUuxhweYwYPTQj0Ay04Qc/ILbuTYbQaopJTDZqtNQ57capj+Uh+3BsRGg==","signatures":[{"sig":"MEUCIQCj/MBVxZDEOUgNrCSfiRbSUilE2fo5ODo/VWUIvC3V1wIgNn20hyUEgA+DblRVLD527WbpeUfubtF4nztK+SqLERk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295604},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"98ab6918d4fcceca9d7ebd87cedc67937f7b669b","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.4.0_1775690753255_0.37982615076369486","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"expo-pretext","version":"0.5.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.5.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"64ebba9ad7b84ed4d5e43351af935e2a752dfb61","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.5.0.tgz","fileCount":41,"integrity":"sha512-wauVWcPg09fx7xoJ/kf4SHjn03U+qVAm70u9O2y7UUpFxtDwiMZWl4b/z0GIEH+xIRct6P0c3Y69q7AzIp5BTw==","signatures":[{"sig":"MEYCIQCZZQHY8zi6ns2RyB/B7WsbQI8hieZs9jzhKwO4OiYfSAIhAIcUu6M/WnyFU/ssiJwWNwJazptFM/EIUm2mpr2tybIh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":307887},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"a545691920909f3da83a62b053d4c52970767adc","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.5.0_1775695357103_0.8466436637772594","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"expo-pretext","version":"0.6.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"36ca6112d0e67884e38122dfb469631e90a24c29","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.0.tgz","fileCount":45,"integrity":"sha512-/D7dfSktHogtd8RS42pc0EmEn1jkxVfDrHL473CH4xX2Tzjny22GjEr750ZC/mN8iXAeD+o6rXkzGV7FdehJ1Q==","signatures":[{"sig":"MEQCID6hjWacZwlKCEMvIPZwvSLd7TXDIHfndQVCyLM56FiVAiAxss5C0PcunAa8VM9ICW3A4Lci8B2boB98giJPxcReQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316915},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"005e6fc965d522d09bf04ebb801a2770f1b24878","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.0_1775696791947_0.5360166721372401","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"expo-pretext","version":"0.6.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"ceec0bd55c83785158e481ad7ac3ecf67b6b85ee","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.1.tgz","fileCount":48,"integrity":"sha512-8tN63X2l8rkpZCglT1eORf8ZsVgRaV0YzagFU32Ie3S4vNLORGpLw99IMHMndoof1kgGGE3Pye3wv8ENM/9wow==","signatures":[{"sig":"MEQCIDSTce3CTlr/Og6MdHvVK/UyEwnKEz1dTexmitGuni7SAiA3PptTP8zk+vcRCGIIGMGl97S3ZOSq7MJM0wZPBjVavA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341774},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"ef3e2dd86ef5a459a1c4f08c8c5ac9019720d327","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.1_1775836376010_0.5642030978152779","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"expo-pretext","version":"0.6.2","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.2","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"3379ca065499074ad7a279d60ac7fe53f0467f56","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.2.tgz","fileCount":48,"integrity":"sha512-5MYphkK2IQoJln7AWEzxAg9bX807YkNyZlMXIDLU0Ktqf5Wx28X9X8dxx1HFI/R8RNEIjYAAAa3IKO81kj6N9Q==","signatures":[{"sig":"MEYCIQDEcYMM8EN0UzNvDtIBB5FpqDakXi9hiBQUgxHmOmI+BAIhAMHX80nEQeZzZKuh6hAzzcFjSyo2QsPOJhWZ9misc2vV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346936},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"36d0dad66502959dae421773737d6fd806cdd223","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.2_1775837482808_0.23499598915406983","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"expo-pretext","version":"0.6.3","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.3","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"bf5674f831e484cd2b8a5f5bb509015892c676e7","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.3.tgz","fileCount":53,"integrity":"sha512-lDobgsDuh9AQTwslR+/T4uF0fAnES4Ygk0vwGd2s2NaSn6xiSi20muC93x/ePYIQKEIlm1Pcubd79Qdh+ojV5Q==","signatures":[{"sig":"MEQCIDfgWcMqxJ/e++JOfJTbKJRsNQpgTHurzEI81wPcghAGAiAXpSPLNJqgrg16FOBbiZYlbOhhzBAX5srTQYkfl+szZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368754},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"a5efe68f2da3a5d6210d75695ef7fcccea018440","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.3_1775837791850_0.5858336189348969","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"expo-pretext","version":"0.6.4","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.4","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"137ecbac794f0361896285e52e0023f49f81f9f1","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.4.tgz","fileCount":56,"integrity":"sha512-1sMSTqcIP/Ae1HRLRV3zlnjMHnp4WKwaaahrdwytkRXAlWs/d0FqVPH49oQ6XC5JUyIqINxgg5Nw2QYKWCoHkg==","signatures":[{"sig":"MEYCIQDrFXsowAN5qMkxPlXBuPETmqeDNxOuc29ojxtvihkFagIhAOS2KLRVh5LTDGFcFZ5ckScVebGtzBaa7XfTEziaio6J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379685},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"3a673e2d5cce400440414831a5ae6c1ceabcbe8e","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.4_1775838048238_0.3985815112132689","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"expo-pretext","version":"0.6.5","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.6.5","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"e41374e80cb58b86a0b450b55e0a2bf478bb6e02","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.6.5.tgz","fileCount":59,"integrity":"sha512-zfpVRegn7B+jA+oHhmyI6cmIADnJhq0UXU34xB2Q/0IlvwV1jgEFsmaPgrGwRosGIJ0+r/0EPAULvZ9wxuM29w==","signatures":[{"sig":"MEQCICa1iRly5PuHS43g1jXGyAuesRXhEb73BmmJUsyFVijZAiAy+jW4zDMIEjsBWTjHiMvIIxperv49O47nhlL+HiJcAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":390103},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"ddaa6f9e62b790a4df349f3e67c867d1819182f7","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.6.5_1775838495243_0.35074299239786","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"expo-pretext","version":"0.7.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.7.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"212111127d6575864aed308c02eb5d2068c04f3c","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.7.0.tgz","fileCount":59,"integrity":"sha512-oE+iS8uvB8tw0/TdiH5N8oDfxBCQd+3Vl0kgFY/MxgFNvetzxrpMh4wtoRLtVn8fJIyYvFE8uBUVqWLmkX0xXA==","signatures":[{"sig":"MEUCIE2JzTYLssjlfbCOfFDh1ymK0Dqv1wq1NCaeKfb2i1xZAiEA8OpvEwAwGpGuKKkICm/3fah1YgjVra/hxU3OdRif2TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393486},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"5afc951e15f775a80f73ca1810fb1f77fde2ea46","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.7.0_1775839238976_0.9189803344416787","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"expo-pretext","version":"0.7.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.7.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"03e5547d8d962d0bc942cb42cdd685b38bdca3f7","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.7.1.tgz","fileCount":61,"integrity":"sha512-CGJfJSJYUShjlyFLWT/or+RGfQH0ZvbcTXr+a1czL8LYgJTx40EL78LvVjQ30Xzs9ttOf+IJPP0dTQO4XQ/cbw==","signatures":[{"sig":"MEUCIQDYBNjpeYc8esRCRYWUmmLS9NnPM+dHplrKeSmecIWveQIgS+o6tWWN7oRK9jPb/dH9tH0+sBW116ch5w5kA/OE+Sw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398931},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"2a0f6abcd4aefac073004176d543d39e95c5b524","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.7.1_1775842752320_0.675390388011879","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"expo-pretext","version":"0.7.2","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.7.2","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"3f33e8a4195e9b3605677f7acbb069b313ca5bf1","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.7.2.tgz","fileCount":62,"integrity":"sha512-RWrUcY8ZCf7nb8JGc7CWggCixQlYbWHjq7zRZZP0hEsJXW/csvvX5iarWv1PlHkafUpkid0XghgtHIAxjWlF3Q==","signatures":[{"sig":"MEUCIQCCWvD1V8epV5K6izsMM51xzebVUVU+me8i+6QGT1igqgIgdHzdRp7nefO3G62BU/6nkU5XY5FM/7+iMC3QvNN+t+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405478},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"c2256313dc0fe93e5aa68a7ce63a26e765b33529","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.7.2_1775843563232_0.8770130296713514","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"expo-pretext","version":"0.7.3","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.7.3","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"f3f92b3ec85f8bd0287fa93010ff0daaa57bb16f","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.7.3.tgz","fileCount":65,"integrity":"sha512-3+MwJIooUzTcOaSDKVMT7Ea30eRIq8w3FAI4e7d/iuVqxOXASJ7IdRD8wi1aXDoU1GCeIjB19g/irKIRWXCsQA==","signatures":[{"sig":"MEUCIQCbxpVvCXQEujufg12A1X7klpW8bel5GYO2Em69OA3DigIgbif7y+Wg6HREw93gGWJ+6vfmD7+RZ8Z1UxtcKSt7E68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417861},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"75a7033e65b1c6a2726febb80364b93bbd2d85a8","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.7.3_1775845810581_0.8777047274700527","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"expo-pretext","version":"0.7.4","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.7.4","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"b9611efc140e0317d319335c05d554c2261448f2","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.7.4.tgz","fileCount":72,"integrity":"sha512-hrc7UZzOe6qeUHW2XMEZUd7HQjWLvogNo3Pe2lGgtBLAjdDX9pjwDXRFvcpBu0Oh9XHBXztkiUP1m4u8cRYXRg==","signatures":[{"sig":"MEYCIQDwaLws4kCzA42Ndfpe6BJ3e3ukX66iwpayt32qBavt0AIhAPohrl/b/w0zTSV1gLp63WUbmr9pLBQlyUTFUDGb5xTe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442569},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"3455daf64fa24c8d7032459834c86c035ebe3b91","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.7.4_1775903079070_0.07402722961904562","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"expo-pretext","version":"0.8.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.8.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"984f4ba250fd90ed8a9749310cc5e6af9ff7d095","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.8.0.tgz","fileCount":72,"integrity":"sha512-TXaEeLr0jhGBjCebTZkWLW/rSH4zFU2fmey3W3T64BAwTnLhpuk/Oee1PrR1kP9nB2JMqpEyrVze0tn+0LXOVg==","signatures":[{"sig":"MEUCIG027J9/DtGFeO6YsM2NnBGLHs+81aT3jDfcPhSMgevXAiEAlWK+81+VAdFu1P1fk3yfq1/4W0rPSoig0pi5dLflPDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445166},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"d2f9f07ae42a23faa56767a9f0a4e6f56481d29d","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.8.0_1775903470028_0.65346510051986","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"expo-pretext","version":"0.8.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.8.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"e1af37f3f21d9d043766b07f859bcca7b7c16db7","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.8.1.tgz","fileCount":73,"integrity":"sha512-oh2d7VZRCzOZ14CZXmR1gMFVDY6gbuf1UCzbXnTlJ7bfW87iZDeZrWB+xLIAOnIFYQgA6rjuZ+TkNxG4PtXu2Q==","signatures":[{"sig":"MEYCIQCqKOAko/7SjpXr8XZqyN1pyhdDD5MGAYoxBDoo5PiVHAIhAJrkLnGr3hjEkvflpno/Fh8T3JRqG5iLyGxPPnmkOLTW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447185},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"gitHead":"c0b3dac850730390ede54d424ec67f40011d8c35","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.8.1_1775903803966_0.3939217972643694","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"expo-pretext","version":"0.8.2","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.8.2","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"eba525c7ed641d7080db6525fa2a77686efb5ec2","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.8.2.tgz","fileCount":73,"integrity":"sha512-vKouCFZQYoaWZUArzp1dx4xrGJVB+aH0V2On72Ek6mWvh/pB36sV08Z1pq8MLlYxfDXfX+BNOgVIel8XeQUl4g==","signatures":[{"sig":"MEQCIFksGUmMPovLmGpKGFmBU12J3UculVHc0zoYncr7M4pLAiBOkus02/Wmo9a6nlGS7APSFZ+93HmjHD7e72jjhuppwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449386},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"c45528ba0142d56a64c62c65eb4e89cbaf15d7d2","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.8.2_1775926750396_0.9829372917221115","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"expo-pretext","version":"0.8.3","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.8.3","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"5a282ecbd5bb34dcd90c38aa76f2359bf8a69709","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.8.3.tgz","fileCount":73,"integrity":"sha512-QIKJlyc77Kt3ah41mQo+3FFXV6/3Tb88EmcdImXUpO17gWPe6vWwAQoQYlKffWaeE8iraELKcPFVnQmSObsfJg==","signatures":[{"sig":"MEQCICNeQf7maj8Py538ZYWn3p7svDZnfI/jTJgtsjrr2MQWAiBO8Xv+kYlzXAskvLdwU1/kexnbDQ32oPhbA3N9ZPco0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448958},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"c34fa035e2ab0c4942733f73ac0a67b15422c1d8","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.8.3_1775931127284_0.8139886327456076","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"expo-pretext","version":"0.10.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.10.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"4c1f845286760d10e6e7eba852366b9c58b367c9","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.10.0.tgz","fileCount":79,"integrity":"sha512-9cqWHj/8LDSP9jTRiJ3mzv+cfNyuOsiFg82H05Q1uBQCWThD8KNYAaeWun2F7BO873aGc1z9Q+BnB4SG9umSHg==","signatures":[{"sig":"MEUCIGXG6YDUFTBpjY/Vk0nA+DERWuqz6Q3rEmpwank0cFxzAiEArUhJ3EZr47mJ1/VEnZG+6kmfsB+mhIGjMYfjTr9dvgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502723},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"5c95d3ead62293632cd8d69ed6fbfa2aa333d950","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.10.0_1776151246104_0.5149538675858325","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"expo-pretext","version":"0.11.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.11.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"da9927c9c1f6c7b046c0874e36ff4183d3bb6b53","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.11.0.tgz","fileCount":79,"integrity":"sha512-OalxrXXLNRVgbm1qwt3RKM3RF+HrTxs+uKpZ5WbvGcI4pDEgdHxNV19BWnWkI6WvWG2jpk/pJ+JyOtXxD3PQkw==","signatures":[{"sig":"MEUCIGe3GE2Y4cVYR0OLADC1iTVSHV5S7dMWsM8Sd3qXBuy8AiEA/Fd3JJrwWvSnuXZ4iom9hG7DJypFZBB+/MPC5gOFvC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505756},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"83b42ec21841b9078a5af91277f45b05228ac2c1","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.11.0_1776443042060_0.9614646132985045","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"expo-pretext","version":"0.12.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.12.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"51f1684a234bbfa328fc2fe84bd44c5a706700b8","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.12.0.tgz","fileCount":79,"integrity":"sha512-xssdGFhywp/irhKcQXOgNiOUxvw2e+lTDzSbtPNWbJ+pzm3wqAPrcKAszPKYEMzQ2b3fnECxS6Gl1TA9drdfbQ==","signatures":[{"sig":"MEQCIAhctSgP6/aeBWOOroxj7eLhRjxn8Dq83VC+Ra+ty8uyAiB0hx5gR1QtgDCwJgy7ggfe3DBNHen8eBfBNPG3OmgNiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506105},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"d6f6c847cb028dc1114547f8638cd656e0dfc1ba","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.12.0_1776443520863_0.7094496736213278","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"expo-pretext","version":"0.13.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.13.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"af947c1549d50de7d42d5b1be6c91549b3823a36","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.13.0.tgz","fileCount":79,"integrity":"sha512-fcaPxEM4LckxmC8GFWUaZEqKrC7ztSdfgvs16D2Q7onOwbr1f0//sm2VYltiA0D0tXb9LRMFvZaA5Wbg9XsTgw==","signatures":[{"sig":"MEYCIQCtdCFHEZR1g7pQ3uEltqdsFOv7K04fXPZkb7xNJYkPXQIhAPm1R+7FEGuMCk2m65kqzktBCcVcokmT7qFdU+jJ5TVQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":506812},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"072ba4cb591254f1303fac58e390d27c1cf9177a","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.13.0_1776443885519_0.5459399973207597","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"expo-pretext","version":"0.13.1","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.13.1","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"164a8639acabd55384a2499eb23582e7ca168f0f","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.13.1.tgz","fileCount":79,"integrity":"sha512-2RTlsi0rfkSSss3q9dC0HnKK8bDB8eU7Azt4Q9wt7Grxf8ejv6D08in4Xcc5oPAWeJd8bmQePDCMRWSaBCpWoQ==","signatures":[{"sig":"MEUCIQCs0mEZiaiBinbFqEfjV9FifI96SDhcxeMyh60fjEmjtAIgCaGxdIp9ShCIWqMvh2uoQNO8TVtmWcLry9r9+iPpgmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508674},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"23c33d4dee351d57248e198ae36a046d335150a4","scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.13.1_1776444267977_0.5018114181749755","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"expo-pretext","version":"0.14.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.14.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"61cfd345080a6c90bf66b29e0095e63de14cdad8","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.14.0.tgz","fileCount":79,"integrity":"sha512-4XD/cCI8FGik7KIEGUmOXn5LXXY6Pp8v28BZZXNooGohuqIYwmz3aOkhHsBqZ4WkrTLo5dQefO0gVOtiJ041DA==","signatures":[{"sig":"MEQCIH315BP9yCLGau/wFuRGWwC5cuzlrBAjwDboB701rh06AiBJ94iumLPUJD7nxIQIXOysEu/bBckAo2iy3gE8947nHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":509768},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"829d5bfaf2ef0c9b731b96356e672fa89a50d0ef","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.14.0_1776444965778_0.952125141296031","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"expo-pretext","version":"0.15.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.15.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"dc14b0f026143fb84ea27276af9cc34595d65cca","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.15.0.tgz","fileCount":83,"integrity":"sha512-o+pofWP+uCRZ8OQn8bX+e5+eSYrE7Y1zF0j/RtRINn7kLjwNQS3W6wqadP9F0KMYCeWA5OrC5IPfAfuRN8VcOQ==","signatures":[{"sig":"MEUCIQCqmjUnydiwd+i645JIeyiGApJWfFT5OMGOIT6ywrQxJQIgFbymRrm/OM7d4HSvD6gEuLPtpLtzbyzVqbIJrg8Volc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537976},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"9341ddb9b711c0c8e74fcd7923c69c0e83c8a405","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.15.0_1776451070462_0.14977801559711712","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"expo-pretext","version":"0.16.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.16.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"a7e14199661048bc1fa9af87c1b8ee8841658858","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.16.0.tgz","fileCount":84,"integrity":"sha512-CgL02WyZuonLxg0rp1xiL7RWqNldf9s+ygaoL0pPfu8cLn6oR1Wj5ivTjjtfkBUBdLQIJGlyDnUI2Q1nRCy3Aw==","signatures":[{"sig":"MEUCIQCdE73PVIORZXc3iFk3aU6SwxTp6LzMpqkDWUMFxDADuQIga5zdepArMZ1kdxraGXqvWApafmtWneNyjwJ8arZNZ0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549659},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"1f4cf989785cbf9c10b2004fabb34530011373ab","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.16.0_1776452102735_0.041537099610525985","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"expo-pretext","version":"0.17.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.17.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"5380e68f1b62dba0fcd5e00f6f5e77cb61a5ff00","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.17.0.tgz","fileCount":85,"integrity":"sha512-4ELO52nWwgKKeRJt6lPWPDlZ4WTqyijJqqQ+htCZ7pSa/a1BW3q4NFIaKfA88WgD2rIGEcC/xSvyW1KpGNJETQ==","signatures":[{"sig":"MEQCIHKrGbP4DQ+/HT7c+kJbry0WN9aV20v8IaxsHuzkIn93AiBBDT0VjxfW0Av2hg/RqqPYxsP/G0Sczbfa4WFf52WHZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":554669},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"facef8542a5fb96921b51a4d171050c9de86a35e","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.17.0_1776452554081_0.9963006134650341","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"expo-pretext","version":"0.18.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.18.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"b5ef4b9fcf6675eeb34fc871e8a3a03ab9dcd8e7","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.18.0.tgz","fileCount":86,"integrity":"sha512-AuFj1oMzZ3zYV11/Qx+hhhcI+zP2t2F+jCbg3yAOm5S/SOkDhEKz9kdFIL9Qadn/BOnmPFebKyE1bH4CB8vvXQ==","signatures":[{"sig":"MEQCIE1V1SJr9Xt4XVR4xjhMeC9i0aoxj8NBmFAkdXjnp3NYAiAOpk3LgD+ZO9xa3ihZn5ZlaIV47adIbo3LaxCN7CDbOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563700},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"f5e87dcdbb3eda50849db53ef4bbf3ce4f7532fc","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.18.0_1776452926241_0.9135497270249695","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"expo-pretext","version":"0.19.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@0.19.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"cbb4d23ffef4aa2d0dd68dd9a8129294f9965f89","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-0.19.0.tgz","fileCount":88,"integrity":"sha512-APxnFUjnoZMd7yZQ7G4J2oAShLRJjNyzuccNfPnCVMqtmfava6kCyAMtYCyu3UocKCgfcLGwcczCG5VDsqlXmA==","signatures":[{"sig":"MEUCIDHXU467wp8iaLKgu5liC39g7LiwbGgTpmRZUY/7G+qmAiEA5daFI/7ViG3RhUyx91SzjBVAIb+siXqpZNlWNjz6wjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578757},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"7daf3a9ddf70d71f24ba69c680f263d2e54c3391","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_0.19.0_1776453424841_0.38952211862191066","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"expo-pretext","version":"1.0.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@1.0.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"e74a243690aea54b9a466fadad88691d7d49ba21","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-1.0.0.tgz","fileCount":98,"integrity":"sha512-9JTY7HqhOuIKXA+LRUdagGdMVfZFEzblx29EeY/NpS8is4qPlOOQj0BFq8Bt8qcNMh+MkpCyK5hYhZVTbIfWeA==","signatures":[{"sig":"MEQCIG0YelNTSU4uFalHyznXVenyZhpEjVwa8DNAC3Mo5v4UAiBdf/IzFQ794F0tNY5ohNyF9iTlXvF/xvNolzIn+9MmRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":622661},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"f9398087e1a4c52acac82a96fd07f8abe213f8b9","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_1.0.0_1776458467539_0.41732340461513284","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"expo-pretext","version":"1.1.0","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"author":{"name":"Juba Kitiashvili"},"license":"MIT","_id":"expo-pretext@1.1.0","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"dist":{"shasum":"7b056b7c79e8d3a025b1340cb51275b426a6d987","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-1.1.0.tgz","fileCount":102,"integrity":"sha512-snBWMBF8Uu6Rp94t+LBpdXLAj0c5LN8ervmYZwwVTEEvjJE2dppsFDTkqKgNDmbjuPj3iuMCdmQaV807KP9XGQ==","signatures":[{"sig":"MEYCIQD/zpGcelIu1anVSxhWp2iuKPEqayPLeIuonkiUrizsUgIhAPVbO8wnwgpRvmjmwzg1hQJthDEcD2uDfUWTuDLRcA0B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":654644},"main":"src/index.ts","types":"src/index.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"gitHead":"3d9f93f1cfa871d490e21e4c663a9a5e0e57b5fc","scripts":{"test":"bun test src/__tests__/","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","test:all":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"bun test src/__tests__/","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update"},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"repository":{"url":"git+https://github.com/JubaKitiashvili/expo-pretext.git","type":"git"},"_npmVersion":"10.9.4","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"expo":"~53.0.0","@types/bun":"^1.1.0","fast-check":"^4.7.0","typescript":"~5.8.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo-module-scripts":"~4.0.0","react-native-reanimated":">=3.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-web":">=0.19.0","react-native-reanimated":">=3.0.0"},"peerDependenciesMeta":{"react-native-web":{"optional":true},"react-native-reanimated":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/expo-pretext_1.1.0_1776505241889_0.8882271537283433","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"expo-pretext","version":"1.2.0","description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","main":"src/index.ts","types":"src/index.ts","exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./animated":{"types":"./src/animated.ts","default":"./src/animated.ts"}},"license":"MIT","author":{"name":"Juba Kitiashvili"},"homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","repository":{"type":"git","url":"git+https://github.com/JubaKitiashvili/expo-pretext.git"},"bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"scripts":{"test":"bun test src/__tests__/","test:all":"bun test","typecheck":"tsc --noEmit","bench":"bun --preload ./src/__tests__/setup-mocks.ts scripts/bench.ts","snapshot":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts","snapshot:update":"bun --preload ./src/__tests__/setup-mocks.ts scripts/snapshot.ts update","build:web":"cd example && npx expo export --platform web --output-dir dist","deploy:web":"npm run build:web && cd example/dist && vercel deploy --prod --yes","prepublishOnly":"bun test src/__tests__/"},"engines":{"node":">=18.0.0"},"peerDependencies":{"expo":">=52.0.0","react":">=18.0.0","react-native":">=0.76.0","react-native-reanimated":">=3.0.0","react-native-web":">=0.19.0"},"peerDependenciesMeta":{"react-native-reanimated":{"optional":true},"react-native-web":{"optional":true}},"devDependencies":{"@types/bun":"^1.1.0","@types/react":"^19.2.14","@types/react-native":"^0.73.0","expo":"~53.0.0","expo-module-scripts":"~4.0.0","fast-check":"^4.7.0","react-native-reanimated":">=3.0.0","typescript":"~5.8.0"},"_id":"expo-pretext@1.2.0","gitHead":"107234f1c6d9989dc0a9e1403736bd259fdf6a33","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-WPlrQ3R1M6z9D+eQVzTHGOOu+nqYNx3FVREdiBmubogghpSomT4eyRwF0Y6OCvE3T4yAbrpW3RR1QEgZI0sD1w==","shasum":"e9186782bed5269a670b6782be66877d3355e7ad","tarball":"https://registry.npmjs.org/expo-pretext/-/expo-pretext-1.2.0.tgz","fileCount":105,"unpackedSize":692269,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/expo-pretext@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7RAmcOD2VvikCjz9+3MaZPemI3QNd3be6mmYNPAl2ZgIhAOmfYBfXC7qQRZ2Dwu4mQaTIr0iFI7kYPwHX0D1ZL/5J"}]},"_npmUser":{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"},"directories":{},"maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expo-pretext_1.2.0_1786365975741_0.15947731383143982"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-08T15:23:37.212Z","modified":"2026-08-10T12:46:16.258Z","0.2.0":"2026-04-08T15:23:37.488Z","0.2.1":"2026-04-08T16:17:32.262Z","0.2.2":"2026-04-08T16:26:34.559Z","0.2.3":"2026-04-08T16:27:40.073Z","0.3.0":"2026-04-08T19:52:57.702Z","0.3.1":"2026-04-08T21:55:07.432Z","0.4.0":"2026-04-08T23:25:53.399Z","0.5.0":"2026-04-09T00:42:37.267Z","0.6.0":"2026-04-09T01:06:32.095Z","0.6.1":"2026-04-10T15:52:56.158Z","0.6.2":"2026-04-10T16:11:23.060Z","0.6.3":"2026-04-10T16:16:31.997Z","0.6.4":"2026-04-10T16:20:48.400Z","0.6.5":"2026-04-10T16:28:15.380Z","0.7.0":"2026-04-10T16:40:39.179Z","0.7.1":"2026-04-10T17:39:12.489Z","0.7.2":"2026-04-10T17:52:43.387Z","0.7.3":"2026-04-10T18:30:10.781Z","0.7.4":"2026-04-11T10:24:39.226Z","0.8.0":"2026-04-11T10:31:10.420Z","0.8.1":"2026-04-11T10:36:44.117Z","0.8.2":"2026-04-11T16:59:10.548Z","0.8.3":"2026-04-11T18:12:07.468Z","0.10.0":"2026-04-14T07:20:46.268Z","0.11.0":"2026-04-17T16:24:02.217Z","0.12.0":"2026-04-17T16:32:01.016Z","0.13.0":"2026-04-17T16:38:05.757Z","0.13.1":"2026-04-17T16:44:28.256Z","0.14.0":"2026-04-17T16:56:05.954Z","0.15.0":"2026-04-17T18:37:50.606Z","0.16.0":"2026-04-17T18:55:02.896Z","0.17.0":"2026-04-17T19:02:34.227Z","0.18.0":"2026-04-17T19:08:46.385Z","0.19.0":"2026-04-17T19:17:04.994Z","1.0.0":"2026-04-17T20:41:07.693Z","1.1.0":"2026-04-18T09:40:42.089Z","1.2.0":"2026-08-10T12:46:15.897Z"},"bugs":{"url":"https://github.com/JubaKitiashvili/expo-pretext/issues"},"author":{"name":"Juba Kitiashvili"},"license":"MIT","homepage":"https://github.com/JubaKitiashvili/expo-pretext#readme","keywords":["react-native","expo","text-measurement","text-layout","text-height","virtualization","flashlist","pretext","ai-chat","streaming"],"repository":{"type":"git","url":"git+https://github.com/JubaKitiashvili/expo-pretext.git"},"description":"DOM-free multiline text height prediction for React Native. Port of Pretext.","maintainers":[{"name":"jubakitiashvili","email":"juba.kitiashvili@gmail.com"}],"readme":"# expo-pretext\n\n**The text layout primitive React Native was missing.** Native measurement, ~0.0002ms pure-JS layout arithmetic, and full control over how text flows — around shapes, inside gestures, through animations. All with regular `<View>` and `<Text>`. No Skia canvas, no SVG tricks.\n\n**v1.2.0 — Android is fixed.** Through 1.1.0 the Android native module never\ncompiled, so every measurement on Android silently fell back to JS estimates.\nIt now loads, and predicted heights match `RN Text` on every row of the sample\ncorpus. **If you are on 1.1.0 or earlier and ship Android, upgrade and rebuild\nyour development client** — a JS-only reload will not pick up a native module\nthat was never compiled. Details in the [changelog](./CHANGELOG.md).\n\nProduction-ready since v1.0.0. Closes [18+ open React Native text bugs](#v100--fixes-for-18-open-rnexpo-text-bugs) — Android cut-off clusters, italic clipping, `numberOfLines` edge cases, font-load races, silent font fallback, and CJK typography.\n\n[![npm](https://img.shields.io/npm/v/expo-pretext.svg)](https://www.npmjs.com/package/expo-pretext)\n[![license](https://img.shields.io/npm/l/expo-pretext.svg)](./LICENSE)\n[![tests](https://img.shields.io/badge/tests-663%20passing-brightgreen.svg)](./src/__tests__)\n[![benchmarks](https://img.shields.io/badge/benchmarks-docs-blue.svg)](./docs/BENCHMARKS.md)\n[![live demo](https://img.shields.io/badge/live%20demo-expo--pretext.vercel.app-ffd369.svg)](https://expo-pretext.vercel.app)\n\n<p align=\"center\">\n  <img src=\"https://github.com/JubaKitiashvili/expo-pretext/raw/main/assets/demos/hero.gif\" width=\"720\" alt=\"expo-pretext demo reel\" />\n</p>\n\n<p align=\"center\">\n  <img src=\"https://github.com/JubaKitiashvili/expo-pretext/raw/main/assets/demos/hero-reel.gif\" width=\"720\" alt=\"expo-pretext creative demos reel\" />\n</p>\n\n---\n\n## What React Native couldn't do before\n\nFlexbox is rectangular boxes all the way down. iOS TextKit has `NSTextContainer.exclusionPaths`. CSS has `shape-outside`. The native capability exists on every platform — React Native just never exposed it. Even `react-native-skia`'s `Paragraph` API is rectangle-only ([open issue since 2022](https://github.com/Shopify/react-native-skia/issues/968)).\n\nexpo-pretext closes that gap:\n\n- **Text reflow around arbitrary shapes** — circles, rectangles, or any polygon. Magazine-style layouts, circular avatars with wrapping captions, text that reacts to moving obstacles.\n- **Exact heights before render** — FlashList virtualization with zero `onLayout` jumps, even for 10k messages with rich markdown.\n- **Per-frame layout recomputation** — `layout()` runs in ~0.0002ms, fast enough to run 120+ times per frame during gestures, physics, or animations.\n- **Streaming AI chat** — cache-aware incremental measurement for token-by-token reveals.\n- **Regular RN rendering tree** — A11y, Dynamic Type, selection, copy/paste, VoiceOver, RTL, emoji ZWJ — all work, because you're still using `<Text>`.\n\n## Why it's fast\n\n```\nprepare(text, style)         One native measurement call per text\n  → Native:  iOS TextKit / Android TextPaint / Web Canvas\n  → Returns: cached segment widths + break opportunities\n  → Time:    ~15ms for 500 texts in a batch\n\nlayout(prepared, maxWidth)   Pure JS arithmetic on cached data\n  → No native bridge, no DOM, no reflow\n  → Time:    ~0.0002ms per text\n  → Safe to call 120+ times per frame\n```\n\nThe flagship demo is a [Breakout arcade game](./example/components/demos/BreakoutText.tsx) where the live prose background reflows around the ball, the paddle, and every falling brick at 60fps. It exists to prove the performance claim visually, not just in a benchmark.\n\n## Install\n\n```sh\nnpx expo install expo-pretext\n```\n\nRequires Expo SDK 52+, React Native 0.76+, New Architecture / Fabric. Reanimated is an optional peer dependency used only by the animation hooks. Expo Go falls back to JS estimates — use a development build for native measurement.\n\n## Quick start\n\n### Text height before render\n\n```tsx\nimport { useTextHeight } from 'expo-pretext'\n\nfunction ChatBubble({ text, maxWidth }) {\n  const height = useTextHeight(text, {\n    fontFamily: 'Inter',\n    fontSize: 16,\n    lineHeight: 24,\n  }, maxWidth)\n\n  return <View style={{ height }}><Text>{text}</Text></View>\n}\n```\n\n### FlashList with exact heights (v2)\n\n`useFlashListHeights` pre-warms a height cache in the background and returns\n`getHeight(item)` — set it as an explicit height on the wrapping View inside\n`renderItem`. FlashList v2 skips the measurement pass when the height is known,\neliminating first-paint jitter for plain-text lists.\n\n```tsx\nimport { useFlashListHeights } from 'expo-pretext'\nimport { FlashList } from '@shopify/flash-list'\nimport { View, Text } from 'react-native'\n\nconst STYLE = { fontFamily: 'Inter', fontSize: 16, lineHeight: 24 }\nconst PAD_Y = 10\n\nfunction ChatScreen({ messages, width }) {\n  const { getHeight } = useFlashListHeights(\n    messages,\n    msg => msg.text,\n    STYLE,\n    width,\n  )\n\n  return (\n    <FlashList\n      data={messages}\n      keyExtractor={m => m.id}\n      renderItem={({ item }) => (\n        <View style={{ height: getHeight(item) + PAD_Y * 2 }}>\n          <Text style={STYLE}>{item.text}</Text>\n        </View>\n      )}\n    />\n  )\n}\n```\n\n> For plain `<Text>` content, `getHeight(item)` returns the exact rendered\n> height (FlashList v2 no longer accepts `estimatedItemSize` or a size-bearing\n> `overrideItemLayout`). For rich content like Markdown or mixed components,\n> let FlashList v2 auto-measure instead.\n\n### Text reflow around a shape\n\n```tsx\nimport { useObstacleLayout } from 'expo-pretext'\n\nfunction MagazineLayout({ text, width }) {\n  const layout = useObstacleLayout(\n    text,\n    { fontFamily: 'Georgia', fontSize: 18, lineHeight: 28 },\n    { x: 0, y: 0, width, height: 600 },\n    // circular avatar to flow around\n    [{ cx: 80, cy: 80, r: 64 }],\n  )\n\n  return (\n    <View style={{ height: layout.height }}>\n      {layout.lines.map((line, i) => (\n        <Text key={i} style={{ position: 'absolute', left: line.x, top: line.y }}>\n          {line.text}\n        </Text>\n      ))}\n      <Image source={avatar} style={{ position: 'absolute', width: 128, height: 128, borderRadius: 64 }} />\n    </View>\n  )\n}\n```\n\n### Streaming AI chat with incremental measurement\n\n```tsx\nimport { useStreamingLayout } from 'expo-pretext'\n\nfunction StreamingBubble({ text, maxWidth }) {\n  // Auto-detects append pattern. Cache-aware. ~2ms per token.\n  const { height, lineCount, doesNextTokenWrap } = useStreamingLayout(text, style, maxWidth)\n  return (\n    <View style={{ minHeight: height }}>\n      <Text>{text}</Text>\n    </View>\n  )\n}\n```\n\n### Pinch-to-zoom text at 60fps\n\n```tsx\nimport { usePinchToZoomText } from 'expo-pretext/animated'\nimport Animated from 'react-native-reanimated'\n\nfunction ZoomableText({ text, maxWidth }) {\n  const zoom = usePinchToZoomText(text, baseStyle, maxWidth, {\n    minFontSize: 8,\n    maxFontSize: 48,\n  })\n  // layout() runs per frame. 120+ recalculations/frame possible.\n  return <Animated.Text style={[baseStyle, zoom.animatedStyle]}>{text}</Animated.Text>\n}\n```\n\n### Balanced headlines + widow-free paragraphs (CSS `text-wrap: balance` / `pretty`)\n\nChrome 114+ shipped `text-wrap: balance`; Safari 17.5 followed. Firefox took a year. On React Native, neither iOS nor Android has any equivalent. `<BalancedText>` / `<PrettyText>` ship both on every platform — pixel-identical across iOS, Android, and Expo Web. Under 10 µs per invocation.\n\n```tsx\nimport { BalancedText, PrettyText } from 'expo-pretext'\n\n// Balanced — no lonely last word\n<BalancedText\n  style={{ fontFamily: 'Inter', fontSize: 32, fontWeight: '700', lineHeight: 40 }}\n  maxWidth={cardWidth}\n>\n  {headline}\n</BalancedText>\n\n// Pretty — widow-free paragraph tails\n<PrettyText\n  style={{ fontFamily: 'Georgia', fontSize: 16, lineHeight: 24 }}\n  maxWidth={columnWidth}\n>\n  {articleText}\n</PrettyText>\n```\n\nSee the [live web playground](https://expo-pretext.vercel.app) — same demo on iOS, Android, and a browser at the URL above.\n\n### Line-by-line rendering (bypasses Android wrap/cut-off bugs)\n\nSince RN 0.78, Android's text renderer has regressed in several ways: descender clipping, text disappearing under certain font weights, extra wraps from `letterSpacing`. `<SafeText>` computes line breaks ourselves and emits one `<Text>` per line — RN has no wrap decision left to make, and cut-off goes away.\n\n```tsx\nimport { SafeText } from 'expo-pretext'\n\n<SafeText\n  style={{ fontFamily: 'Inter', fontSize: 16, lineHeight: 24 }}\n  maxWidth={containerWidth}\n>\n  {paragraphText}\n</SafeText>\n```\n\nCloses [RN #15114](https://github.com/facebook/react-native/issues/15114), [#49886](https://github.com/facebook/react-native/issues/49886), [#53286](https://github.com/facebook/react-native/issues/53286), [#53666](https://github.com/facebook/react-native/issues/53666), [#56402](https://github.com/facebook/react-native/issues/56402), [#48921](https://github.com/facebook/react-native/issues/48921).\n\n### Truncation without `numberOfLines` edge cases\n\n`numberOfLines` + `ellipsizeMode` has long-standing issues: Android's `middle` / `head` modes break for multi-line; iOS drops the ellipsis when the source has `\\n`; the ellipsis inherits the trimmed text's background color. `<TruncatedText>` computes the visible substring in JS and renders it as plain text.\n\n```tsx\nimport { TruncatedText } from 'expo-pretext'\n\n<TruncatedText\n  style={{ fontFamily: 'Inter', fontSize: 14 }}\n  maxWidth={containerWidth}\n  maxLines={3}\n  mode=\"tail\"   // or 'head' / 'middle'\n>\n  {longArticleText}\n</TruncatedText>\n```\n\nCloses [RN #19117](https://github.com/facebook/react-native/issues/19117), [#41405](https://github.com/facebook/react-native/issues/41405), [#37926](https://github.com/facebook/react-native/issues/37926).\n\n### Auto cache invalidation on font load / Dynamic Type\n\nCall `enableAutoInvalidation()` once at app root; caches clear automatically on system font-scale changes and on `expo-font` load events.\n\n```tsx\nimport { enableAutoInvalidation, notifyFontsLoaded } from 'expo-pretext'\nimport { useFonts } from 'expo-font'\n\nexport default function App() {\n  const [loaded] = useFonts({ Inter: require('./Inter.ttf') })\n\n  useEffect(() => {\n    const stop = enableAutoInvalidation()\n    return stop\n  }, [])\n\n  useEffect(() => {\n    if (loaded) notifyFontsLoaded()\n  }, [loaded])\n\n  // …\n}\n```\n\nAddresses [Expo #21885](https://github.com/expo/expo/issues/21885) (82 comments on `useFonts` reliability).\n\n### Detect silent font fallback (RN 0.83 New Arch)\n\nCustom fonts sometimes report as loaded but fall back to System. `verifyFontsLoaded()` measures a reference string with the requested font vs System and reports whether the custom font is actually applied.\n\n```ts\nimport { verifyFontsLoaded } from 'expo-pretext'\n\nconst v = verifyFontsLoaded({ fontFamily: 'Inter', fontSize: 16 })\nif (v && !v.applied) {\n  console.warn('Inter is not being applied — falling back to System')\n}\n```\n\nCloses [RN #54934](https://github.com/facebook/react-native/issues/54934), [#56309](https://github.com/facebook/react-native/issues/56309), [#54642](https://github.com/facebook/react-native/issues/54642).\n\n### Skia adapter — `measureRuns()`\n\nFor `react-native-skia` users who need precise glyph bounds with font fallback resolved in JS ([Skia #3493](https://github.com/Shopify/react-native-skia/issues/3493), [#3488](https://github.com/Shopify/react-native-skia/issues/3488), [#1736](https://github.com/Shopify/react-native-skia/issues/1736)).\n\n```ts\nimport { measureRuns } from 'expo-pretext'\n\nconst { naturalWidth, naturalHeight, runs } = measureRuns('Hello', style)\n// runs: Array<{ text, bounds, advance, font: { family, size, weight, style } }>\n```\n\nPure measurement — doesn't require `react-native-skia` installed.\n\n### Fix italic text clipping (RN #56349)\n\nReact Native sizes text containers to advance width, but italic glyphs extend beyond that — causing visual clipping. expo-pretext fixes this with ink-bounds measurement.\n\n**Drop-in fix — one component:**\n\n```tsx\nimport { InkSafeText } from 'expo-pretext'\n\n// Before (clips):  <Text style={style}>fly</Text>\n// After (fixed):\n<InkSafeText style={{\n  fontFamily: 'Georgia',\n  fontSize: 80,\n  fontWeight: 'bold',\n  fontStyle: 'italic',\n}}>\n  fly\n</InkSafeText>\n```\n\n`<InkSafeText>` is a drop-in `<Text>` replacement. Non-italic text renders with zero overhead.\n\n**Custom container sizing — hook:**\n\n```tsx\nimport { useInkSafeStyle } from 'expo-pretext'\n\nconst { style: safeStyle, inkWidth } = useInkSafeStyle(text, baseStyle)\n\n<View style={{ width: inkWidth, overflow: 'hidden' }}>\n  <Text style={safeStyle} numberOfLines={1}>{text}</Text>\n</View>\n```\n\n**FlashList / imperative — pure function:**\n\n```tsx\nimport { getInkSafePadding } from 'expo-pretext'\n\nconst { padding, inkWidth } = getInkSafePadding(text, style)\n```\n\n## Feature tour\n\n| Category | What you get |\n|---|---|\n| **Drop-in components** | `<SafeText>`, `<TruncatedText>`, `<InkSafeText>` |\n| **Layout primitives** | `layoutColumn` (obstacles), `useObstacleLayout`, `fitFontSize`, `truncateText`, `customBreakRules`, `measureNaturalWidth`, `measureInkWidth` (italic-safe) |\n| **Virtualization** | `useTextHeight`, `useFlashListHeights`, `measureHeights` (batch) |\n| **Streaming AI chat** | `useStreamingLayout`, `useMultiStreamLayout`, `prepareStreaming`, `measureCodeBlockHeight` |\n| **Animation (Reanimated)** | `useAnimatedTextHeight`, `useCollapsibleHeight`, `usePinchToZoomText`, `useTypewriterLayout`, `useTextMorphing` |\n| **Rich inline flow** | `prepareInlineFlow`, `walkInlineFlowLines`, `measureInlineFlow` — mixed fonts, @mentions, pills |\n| **Accessibility** | `getFontScale`, `onFontScaleChange`, `clearAllCaches`, `enableAutoInvalidation`, `notifyFontsLoaded` |\n| **Cross-platform consistency** | `ENGINE_PROFILES`, `setEngineProfile`, `getEngineProfile` — iOS ≡ Android ≡ Web |\n| **Font metrics + fallback** | `getFontMetrics`, `resolveFontFamily`, `validateFont`, `verifyFontsLoaded` |\n| **Hyphenation** | `compileHyphenationPatterns`, `hyphenate`, `hyphenateAndJoin` (Liang-Knuth; bring your own TeX patterns) |\n| **Skia adapter** | `measureRuns` — per-run bounds + advance + font for Skia Paragraph |\n| **Developer tools** | `<PretextDebugOverlay>`, `compareDebugMeasurement`, `buildHeightSnapshot`, `compareHeightSnapshots`, `prepareWithBudget`, `PrepareBudgetTracker` |\n| **Power API** | `prepare`, `prepareWithSegments`, `layout`, `layoutWithLines`, `layoutNextLine`, `layoutNextLineRange`, `walkLineRanges`, `materializeLineRange`, `measureLineGeometry` |\n\nSee [`src/index.ts`](./src/index.ts) for the full public surface.\n\n## v1.0.0 — fixes for 18+ open RN/Expo text bugs\n\n| # | Feature | Closes |\n|---|---------|--------|\n| 1 | `letterSpacing` support | [RN #54823](https://github.com/facebook/react-native/issues/54823), [#46436](https://github.com/facebook/react-native/issues/46436) |\n| 2 | Auto cache invalidation | [Expo #21885](https://github.com/expo/expo/issues/21885) (82 comments) |\n| 3 | `<InkSafeText strict>` | [RN #49886](https://github.com/facebook/react-native/issues/49886), [#53286](https://github.com/facebook/react-native/issues/53286), [#56402](https://github.com/facebook/react-native/issues/56402), [#15114](https://github.com/facebook/react-native/issues/15114) |\n| 4 | `<TruncatedText>` | [RN #19117](https://github.com/facebook/react-native/issues/19117), [#41405](https://github.com/facebook/react-native/issues/41405), [#37926](https://github.com/facebook/react-native/issues/37926) |\n| 5 | `<SafeText>` (flagship) | [RN #15114](https://github.com/facebook/react-native/issues/15114), [#49886](https://github.com/facebook/react-native/issues/49886), [#53286](https://github.com/facebook/react-native/issues/53286), [#53666](https://github.com/facebook/react-native/issues/53666), [#56402](https://github.com/facebook/react-native/issues/56402), [#48921](https://github.com/facebook/react-native/issues/48921) |\n| 6 | Kinsoku Shori (CJK) | Japanese / Chinese line-break correctness |\n| 7 | `verifyFontsLoaded()` | [RN #54934](https://github.com/facebook/react-native/issues/54934), [#56309](https://github.com/facebook/react-native/issues/56309), [#54642](https://github.com/facebook/react-native/issues/54642) |\n| 8 | `measureRuns()` Skia adapter | [Skia #3493](https://github.com/Shopify/react-native-skia/issues/3493), [#3488](https://github.com/Shopify/react-native-skia/issues/3488), [#1736](https://github.com/Shopify/react-native-skia/issues/1736) |\n\n## Internationalization\n\nFull Unicode via native OS segmenters. No locale hacks, no userland `Intl` polyfills, no manual script detection:\n\n- **CJK** (Chinese, Japanese, Korean) — per-character breaking with Kinsoku Shori (`、。）」` never start a line; `（「『` never end one) — locked in with 13 targeted tests\n- **Arabic, Hebrew** — RTL with bidi metadata; full UBA rules covered by 30 tests\n- **Thai, Lao, Khmer, Myanmar** — dictionary-based word boundaries\n- **Georgian, Devanagari, Armenian, Ethiopic** — all native scripts\n- **Emoji** — compound graphemes, flag sequences, ZWJ family joiners\n- **Mixed scripts** in a single string, measured correctly\n- **Hyphenation** (Liang-Knuth) — user-supplied TeX patterns, any language\n\n## Performance\n\n| Operation | Cost |\n|---|---|\n| `prepare()` batch | ~15ms for 500 texts |\n| `layout()` per call | ~0.0002ms (pure arithmetic) |\n| Streaming token | ~2ms (mostly cache hits) |\n| Native cache | LRU 5000 segments/font, frequency-based eviction |\n| JS cache | Skip native calls entirely when all segments are cached |\n\n## Accuracy\n\nexpo-pretext uses native platform text measurement — the same engines that render your text. Two modes:\n\n- **`fast`** (default): sum individual segment widths. Sub-pixel kerning differences absorbed by tolerance.\n- **`exact`**: re-measure merged segments. Pixel-perfect at the cost of one extra native call.\n\nCross-platform drift between iOS, Android, and Web is bounded by `ENGINE_PROFILES` — use `consistent` mode when you need identical layouts across all three.\n\n## Platform support\n\n| Platform | Backend | Status |\n|---|---|---|\n| iOS | TextKit (`NSLayoutManager`, `NSAttributedString`, `CFStringTokenizer`) | New Architecture / Fabric verified |\n| Android | `TextPaint`, `BreakIterator`, `Paint.FontMetrics` | Kotlin native module |\n| Expo Web | `CanvasRenderingContext2D.measureText` + `Intl.Segmenter` | Zero API changes |\n| Expo Go | JS estimates (no native measurement) | Use a dev build for production |\n\nVerified against FlashList 2.3.1, React Native 0.83, Expo SDK 55.\n\n## Credits\n\nexpo-pretext is a React Native / Expo / Web port of [Pretext](https://github.com/chenglou/pretext) by Cheng Lou. The core line-breaking algorithm is ported; the measurement backends are new (iOS TextKit, Android TextPaint, Web Canvas instead of DOM APIs). Pretext itself builds on Sebastian Markbage's [text-layout](https://github.com/nicolo-ribaudo/text-layout) research.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}