From 729e09d061a9404a62cc771f7d7777788e2e19a6 Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Tue, 3 Mar 2020 19:07:12 +0300 Subject: [PATCH] src/lib cleanup --- src/lib/common.js | 36 ------------------------------------ src/lib/date.ts | 8 -------- src/lib/image.ts | 11 +++++++++-- src/lib/sort.js | 37 ------------------------------------- src/lib/store.ts | 19 ------------------- src/lib/string.js | 12 ------------ src/lib/string.ts | 3 +++ 7 files changed, 12 insertions(+), 114 deletions(-) delete mode 100644 src/lib/common.js delete mode 100644 src/lib/sort.js delete mode 100644 src/lib/store.ts delete mode 100644 src/lib/string.js create mode 100644 src/lib/string.ts diff --git a/src/lib/common.js b/src/lib/common.js deleted file mode 100644 index 0fd2b0db..00000000 --- a/src/lib/common.js +++ /dev/null @@ -1,36 +0,0 @@ -function compose(...fns) { - return value => [...fns] - .reverse() - .reduce((acc, fn) => fn(acc), value) -} - -/** - * AND operator for list of values - * - * [true, true, true, ...] -> true - * [false, true, true, ...] -> false - * - * @param list - * @return {boolean} - */ -function all(list) { - return list.reduce((t, i) => t && i, true) -} - -/** - * OR operator for list of values - * - * [true, true, true, ...] -> true - * [false, true, true, ...] -> true - * [false, false, false, ...] -> false - * - * @param list - * @return {boolean} - */ -function any(list) { - return list.reduce((t, i) => t || i, false) -} - -exports.compose = compose -exports.all = all -exports.any = any diff --git a/src/lib/date.ts b/src/lib/date.ts index ff61c6ae..786308a3 100644 --- a/src/lib/date.ts +++ b/src/lib/date.ts @@ -13,11 +13,3 @@ export const dateFormat = (date: string | Date) => { locale: ru }) } - -/** - * - * Date -> Unix time - * - * @param date - */ -export const timestamp = (date: Date) => date.getTime() diff --git a/src/lib/image.ts b/src/lib/image.ts index 1b0df646..70bf0413 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -5,7 +5,7 @@ export type ResizeOptions = { height: number } -export function resizeImage(src: string, options: ResizeOptions): string { +export function getResizedUrl(src: string, options: ResizeOptions): string { if (!src || src === '') { return null } @@ -17,7 +17,7 @@ export function imageSrcSet(src: string, sizes: ImageSize[]): string { const set = sizes .map(x => ({ value: x, - href: resizeImage(src, { + href: getResizedUrl(src, { width: x, height: x, }), @@ -27,3 +27,10 @@ export function imageSrcSet(src: string, sizes: ImageSize[]): string { .map(x => `${x.href} ${x.value}w`) .join(', ') } + +export function imageSrc(src: string, size: ImageSize): string { + return getResizedUrl(src, { + width: size, + height: size, + }) +} \ No newline at end of file diff --git a/src/lib/sort.js b/src/lib/sort.js deleted file mode 100644 index 3fa95c00..00000000 --- a/src/lib/sort.js +++ /dev/null @@ -1,37 +0,0 @@ -function prioritySort(priority, key, list) { - priority = priority.reverse() - - let weight = i => { - const p = key(i) - const index = priority.indexOf(p) - return index > -1 - ? index + 1 - : 0 - } - - return sort(list, weight) -} - -function sort(list, fn, reverse = false) { - return list - .map(i => [fn(i), i]) - .sort((a, b) => reverse - ? a[0] - b[0] - : b[0] - a[0]) - .map(i => i[1]) -} - -function sortBy(fn, reverse = false) { - return (i1, i2) => { - const t1 = fn(i1) - const t2 = fn(i2) - - return reverse - ? t1 - t2 - : t2 - t1 - } -} - -exports.prioritySort = prioritySort -exports.sortBy = sortBy -exports.sort = sort diff --git a/src/lib/store.ts b/src/lib/store.ts deleted file mode 100644 index 309848bd..00000000 --- a/src/lib/store.ts +++ /dev/null @@ -1,19 +0,0 @@ -export async function find(collection, query, {sort, skip, limit}) { - const cursor = collection.find(query) - - if (sort) cursor.sort(sort) - if (skip) cursor.skip(skip) - if (limit) cursor.limit(limit) - - return cursor.toArray() -} - -export async function findOne(collection, query) { - return collection.findOne(query) -} - -export async function total(collection, query) { - return collection - .find(query) - .count() -} diff --git a/src/lib/string.js b/src/lib/string.js deleted file mode 100644 index 9a8a5493..00000000 --- a/src/lib/string.js +++ /dev/null @@ -1,12 +0,0 @@ -function titleCase(str) { - return str.charAt(0).toUpperCase() + str.slice(1) -} - -function trim(string) { - return string - .replace(/^\s+/, '') - .replace(/\s+$/, '') -} - -exports.titleCase = titleCase -exports.trim = trim diff --git a/src/lib/string.ts b/src/lib/string.ts new file mode 100644 index 00000000..d55301bb --- /dev/null +++ b/src/lib/string.ts @@ -0,0 +1,3 @@ +export function titleCase(str: string) { + return str.charAt(0).toUpperCase() + str.slice(1) +}