astro-ghostcms/.pnpm-store/v3/files/cb/7620e4411ac9ece7b819be22ee2...

29 lines
559 B
Plaintext

const wcwidth = require("wcwidth")
module.exports = function(input, breakAtLength) {
let str = input.toString()
const charArr = [...str]
let index = 0
let indexOfLastFitChar = 0
let fittableLength = 0
while(charArr.length > 0) {
const char = charArr.shift()
const currentLength = fittableLength + wcwidth(char)
if(currentLength <= breakAtLength) {
indexOfLastFitChar = index
fittableLength = currentLength
index++
} else {
break
}
}
//break after this character
return indexOfLastFitChar
}