Fix truncate tests

Reviewed By: bestander

Differential Revision: D3424960

fbshipit-source-id: 0f434d80e6e26cfc9f01800c266dd1a3710fe459
This commit is contained in:
Pieter De Baets 2016-06-13 10:06:29 -07:00 committed by Facebook Github Bot 4
parent 2151dfbb24
commit 3f1bca7d26
1 changed files with 3 additions and 5 deletions

View File

@ -11,27 +11,25 @@
*/
'use strict';
var merge = require('merge');
type truncateOptions = {
breakOnWords: boolean;
minDelta: number;
elipsis: string;
}
var defaultOptions = {
const defaultOptions = {
breakOnWords: true,
minDelta: 10, // Prevents truncating a tiny bit off the end
elipsis: '...',
};
// maxChars (including ellipsis)
var truncate = function(
const truncate = function(
str: ?string,
maxChars: number,
options: truncateOptions
): ?string {
options = merge(defaultOptions, options);
options = Object.assign({}, defaultOptions, options);
if (str && str.length &&
str.length - options.minDelta + options.elipsis.length >= maxChars) {
str = str.slice(0, maxChars - options.elipsis.length + 1);