// via https://github.com/tootsuite/mastodon/blob/5d5c0f4/app/javascript/mastodon/features/compose/util/counter.js

import { urlRegex } from './urlRegex'
import { handleRegex } from './handleRegex'
import { mark, stop } from './marks'
import { length } from 'stringz'

const urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx'

export function measureText (inputText) {
  mark('measureText()')
  let normalizedText = inputText
    .replace(urlRegex, urlPlaceholder)
    .replace(handleRegex, '$1@$3')
  let len = length(normalizedText)
  stop('measureText()')
  return len
}