diff --git a/src/general.ts b/src/general.ts index 30ebb57..de5ad51 100644 --- a/src/general.ts +++ b/src/general.ts @@ -1,4 +1,5 @@ import * as URL from 'url'; +import nullOrEmpty from './utils/null-or-empty'; const escapeRegExp = require('escape-regexp'); @@ -91,29 +92,3 @@ export default async (url: URL.Url): Promise => { sitename: siteName }; }; - -function nullOrEmpty(val: string): boolean { - if (val === undefined) { - return true; - } else if (val === null) { - return true; - } else if (val.trim() === '') { - return true; - } else { - return false; - } -} - -function clip(s: string, max: number): string { - if (nullOrEmpty(s)) { - return s; - } - - s = s.trim(); - - if (s.length > max) { - return s.substr(0, max) + '...'; - } else { - return s; - } -} diff --git a/src/utils/clip.ts b/src/utils/clip.ts new file mode 100644 index 0000000..b127190 --- /dev/null +++ b/src/utils/clip.ts @@ -0,0 +1,15 @@ +import nullOrEmpty from './null-or-empty'; + +export default function(s: string, max: number) { + if (nullOrEmpty(s)) { + return s; + } + + s = s.trim(); + + if (s.length > max) { + return s.substr(0, max) + '...'; + } else { + return s; + } +} diff --git a/src/utils/null-or-empty.ts b/src/utils/null-or-empty.ts new file mode 100644 index 0000000..c72da8d --- /dev/null +++ b/src/utils/null-or-empty.ts @@ -0,0 +1,11 @@ +export default function(val: string) { + if (val === undefined) { + return true; + } else if (val === null) { + return true; + } else if (val.trim() === '') { + return true; + } else { + return false; + } +}