From 395cfa61089efc4ab3ea1b6c6842521bad31efed Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Thu, 6 Sep 2018 02:16:08 +0900 Subject: Resolve #2625 (#2627) --- src/prelude/array.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/prelude/array.ts (limited to 'src/prelude') diff --git a/src/prelude/array.ts b/src/prelude/array.ts new file mode 100644 index 0000000000..e944030a7f --- /dev/null +++ b/src/prelude/array.ts @@ -0,0 +1,7 @@ +export function countIf(f: (x: T) => boolean, xs: T[]): number { + return xs.filter(f).length; +} + +export function count(x: T, xs: T[]): number { + return countIf(y => x === y, xs); +} -- cgit v1.2.3-freya From ade7e628368fb1443056adf98ac65a768c6ba0d9 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Thu, 6 Sep 2018 02:24:39 +0900 Subject: Add README.md for prelude (#2628) --- src/prelude/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/prelude/README.md (limited to 'src/prelude') diff --git a/src/prelude/README.md b/src/prelude/README.md new file mode 100644 index 0000000000..bb728cfb1b --- /dev/null +++ b/src/prelude/README.md @@ -0,0 +1,3 @@ +# Prelude +このディレクトリのコードはJavaScriptの表現能力を補うためのコードです。 +Misskey固有の処理とは独立したコードの集まりですが、Misskeyのコードを読みやすくすることを目的としています。 -- cgit v1.2.3-freya From e8948452fdc18f8a85af34bc4687e304cd39c987 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Thu, 6 Sep 2018 02:28:04 +0900 Subject: Resolve #2629 (#2630) --- src/mfm/html.ts | 5 +---- src/prelude/array.ts | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/prelude') diff --git a/src/mfm/html.ts b/src/mfm/html.ts index 2e38fe10a0..b7fa5b6f03 100644 --- a/src/mfm/html.ts +++ b/src/mfm/html.ts @@ -4,10 +4,7 @@ const { JSDOM } = jsdom; import config from '../config'; import { INote } from '../models/note'; import { TextElement } from './parse'; - -function intersperse(sep: T, xs: T[]): T[] { - return [].concat(...xs.map(x => [sep, x])).slice(1); -} +import { intersperse } from '../prelude/array'; const handlers: { [key: string]: (window: any, token: any, mentionedRemoteUsers: INote['mentionedRemoteUsers']) => void } = { bold({ document }, { bold }) { diff --git a/src/prelude/array.ts b/src/prelude/array.ts index e944030a7f..aee17640ed 100644 --- a/src/prelude/array.ts +++ b/src/prelude/array.ts @@ -5,3 +5,7 @@ export function countIf(f: (x: T) => boolean, xs: T[]): number { export function count(x: T, xs: T[]): number { return countIf(y => x === y, xs); } + +export function intersperse(sep: T, xs: T[]): T[] { + return [].concat(...xs.map(x => [sep, x])).slice(1); +} -- cgit v1.2.3-freya From 1cc183ecdbc1d9e54d2d04634ea30b2dc071bc53 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Thu, 6 Sep 2018 02:44:01 +0900 Subject: Resolve #2631 (#2632) --- src/client/app/common/scripts/gcd.ts | 2 -- src/client/app/mobile/views/components/drive.file-detail.vue | 2 +- src/prelude/math.ts | 3 +++ 3 files changed, 4 insertions(+), 3 deletions(-) delete mode 100644 src/client/app/common/scripts/gcd.ts create mode 100644 src/prelude/math.ts (limited to 'src/prelude') diff --git a/src/client/app/common/scripts/gcd.ts b/src/client/app/common/scripts/gcd.ts deleted file mode 100644 index 9a19f9da66..0000000000 --- a/src/client/app/common/scripts/gcd.ts +++ /dev/null @@ -1,2 +0,0 @@ -const gcd = (a, b) => !b ? a : gcd(b, a % b); -export default gcd; diff --git a/src/client/app/mobile/views/components/drive.file-detail.vue b/src/client/app/mobile/views/components/drive.file-detail.vue index 43867211e9..8108892597 100644 --- a/src/client/app/mobile/views/components/drive.file-detail.vue +++ b/src/client/app/mobile/views/components/drive.file-detail.vue @@ -67,7 +67,7 @@ import Vue from 'vue'; import * as EXIF from 'exif-js'; import * as hljs from 'highlight.js'; -import gcd from '../../../common/scripts/gcd'; +import { gcd } from '../../../../../prelude/math'; export default Vue.extend({ props: ['file'], diff --git a/src/prelude/math.ts b/src/prelude/math.ts new file mode 100644 index 0000000000..07b94bec30 --- /dev/null +++ b/src/prelude/math.ts @@ -0,0 +1,3 @@ +export function gcd(a: number, b: number): number { + return b === 0 ? a : gcd(b, a % b); +} -- cgit v1.2.3-freya