Skip to content

Instantly share code, notes, and snippets.

@dpchamps
Created August 11, 2022 15:40
Show Gist options
  • Save dpchamps/ea73e648062a767559d3f36a63d66a30 to your computer and use it in GitHub Desktop.
Save dpchamps/ea73e648062a767559d3f36a63d66a30 to your computer and use it in GitHub Desktop.
const TOTAL_KEYWORDS_TO_TEST = Number(process.env.TOTAL_KEYWORDS_TO_TEST) || 547
// 16.15.0 threshold 140
// 16.6.2 threshold 147
// 18.0.0 threshold 547
const input = `Lorem ipsum dolor sit amet. Qui accusamus repellendus quo error doloribus et iusto enim aut exercitationem recusandae qui quia rerum non officia amet. Et molestias magnam quo natus numquam et adipisci omnis non quos laboriosam et impedit rerum. Aut dolores totam ut voluptate impedit id repellat sequi et magni sequi! Ut voluptate nihil ad doloribus rerum qui fuga reprehenderit et cupiditate tempora. Sed quibusdam esse et necessitatibus incidunt qui modi quia sit accusamus ipsum a blanditiis consequatur ad repudiandae eaque et nisi minus. Rem maiores dolor eos temporibus autem et expedita iure. Hic adipisci nisi qui dicta impedit et molestiae consequatur sed mollitia placeat et voluptas rerum? Eum sunt cumque sit perferendis molestias et porro illum in perferendis sequi est voluptas pariatur. Ea porro dolore sed neque sint ut Quis odit ut cupiditate doloribus qui minus perferendis aut dolore molestias ut autem possimus. Est nostrum architecto ex adipisci rerum non repellat aperiam eum dolorem dignissimos vel nihil quo ullam eius vel ipsum consequatur. Ab accusamus omnis est beatae dignissimos aut galisum repellat sed accusantium dolores ea quasi obcaecati eos molestiae. Qui cupiditate suscipit et commodi officia ex laudantium labore et iure debitis. Hic dolorum esse id aliquam veritatis ut temporibus enim qui fugit ducimus ut repellat iste eos aliquam blanditiis? Est omnis cumque et omnis cumque ab tempora rerum et galisum accusantium. Quo placeat galisum aut illum amet qui molestias quia aut debitis voluptas. Ut consequatur eaque aut quidem illo ab quam maiores est galisum necessitatibus repellendus distinctio. Sit ducimus illo et quod consequatur ea galisum beatae vel omnis facere. Eum inventore explicabo qui nisi culpa et eius sequi. Est amet dolorem a iste voluptas sed ullam placeat ut corrupti magnam et molestias molestias. Ea corrupti magni aut dolor internos et odit atque sed voluptatem minus. Ut quas quis qui quia provident qui quidem perferendis. Id veniam suscipit sed nisi perspiciatis qui delectus voluptates? Et facilis voluptates qui voluptas eligendi est commodi itaque quo commodi facere ea blanditiis architecto et itaque sequi? At laborum distinctio ut sint perferendis sit fuga dolores ea iusto. Est fugiat consectetur sit eaque sint id assumenda rerum vel sunt pariatur non officia odit ea voluptas velit? Non excepturi rerum aut alias nostrum a temporibus perferendis ea molestias sapiente et voluptatem odit. Sit magnam amet non maiores sapiente in voluptatem similique et quibusdam dolores et unde omnis eos dolores vero aut vero totam. Et voluptatibus accusamus in eligendi molestias in quod mollitia qui earum voluptatem aut nulla minus? Aut fugit neque ut laborum error At praesentium velit et perferendis commodi. Vel voluptas mollitia non nisi quia nam voluptatum beatae eum enim sapiente. At quia quis vel fugiat totam qui autem delectus in deserunt consectetur non autem voluptatibus et deserunt quibusdam eos dignissimos voluptatem. Eos rerum odio est rerum voluptates qui cupiditate officiis et atque eius aut facere accusantium aut voluptatem dolorem. Vel amet impedit ab libero distinctio ab vitae quae sed maxime ullam. Est rerum natus et omnis reiciendis nam repudiandae dolor ut voluptate reprehenderit id porro deserunt. Qui dolorem itaque aut veniam neque eos sint numquam. Sit optio necessitatibus ea nihil officia aut laudantium ipsa et dicta tempore et veniam ipsa et exercitationem soluta. Cum beatae blanditiis et provident adipisci et quia modi non illum atque hic doloribus minima quo maxime perferendis. Et rerum nobis aut eligendi temporibus sit repellendus quia et aspernatur rerum. Est quia porro sed omnis voluptate et consequuntur animi aut nisi voluptas ut similique magni! Quo odit dignissimos eos ipsum facilis sed reiciendis dolor quo eius officia est quis soluta? Qui unde facilis 33 esse ipsam in repellendus modi ad veniam aspernatur sed voluptates labore et illum reiciendis. 33 assumenda quae et voluptatem galisum et dolorum expedita non quis possimus.`;
const permuteStringInput = (input) => input.split(/\s/).map((el, i, a) => a.slice(i, i+3).join(" "))
const constructLargeUnicodeDigitAndLetterRegex = (inputs) => inputs.map(input =>
new RegExp(
input.replace(/[\p{L}\p{N}]/giu, (char) => `${char}{${1},}[^\\p{L}\\p{N}]{0,}`),
"ui"
)
);
const wordsToMatch = [
"u",
".\u0100", // Note: This needs to be greater than \u0100
]
const keywords = constructLargeUnicodeDigitAndLetterRegex(permuteStringInput(input)).slice(0, TOTAL_KEYWORDS_TO_TEST+1);
for(const word of wordsToMatch){
for(const keyword of keywords){
word.replace(keyword, "")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment