All files / src/plugins truncate.js

25% Statements 1/4
0% Branches 0/6
0% Functions 0/1
25% Lines 1/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15                  2x          
import {toStr} from "../helpers/string/to_string";
import {substr} from "./substr";
import {clip} from "../helpers/number/clip"
import {toInt} from "../helpers/number/to_integer";
import { MAX_SAFE_INTEGER } from "../helpers/number/const";
 
/*
* Truncates `subject` to a new `length` with specified ending.
* */
export const truncate = (s, len = 0, end = '...') => {
  let _s = toStr(s)
  let _len = !len ? _s.length : clip(toInt(len), 0, MAX_SAFE_INTEGER)
 
  return substr(_s, 0, _len) + (_s.length === _len ? '' : end)
}