summaryrefslogtreecommitdiff
path: root/src/prelude
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-09-06 04:28:42 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-09-06 04:28:42 +0900
commitccf8e44acc8b4bcdb19895ce60cd86d699efcbf7 (patch)
treec313e84c98b54934ef0f24922610ff5e0f60a751 /src/prelude
parentImprove welcome page (diff)
parentShow host in local user detail (#2634) (diff)
downloadmisskey-ccf8e44acc8b4bcdb19895ce60cd86d699efcbf7.tar.gz
misskey-ccf8e44acc8b4bcdb19895ce60cd86d699efcbf7.tar.bz2
misskey-ccf8e44acc8b4bcdb19895ce60cd86d699efcbf7.zip
Merge branch 'develop' of https://github.com/syuilo/misskey into develop
Diffstat (limited to 'src/prelude')
-rw-r--r--src/prelude/README.md3
-rw-r--r--src/prelude/array.ts11
-rw-r--r--src/prelude/math.ts3
3 files changed, 17 insertions, 0 deletions
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のコードを読みやすくすることを目的としています。
diff --git a/src/prelude/array.ts b/src/prelude/array.ts
new file mode 100644
index 0000000000..aee17640ed
--- /dev/null
+++ b/src/prelude/array.ts
@@ -0,0 +1,11 @@
+export function countIf<T>(f: (x: T) => boolean, xs: T[]): number {
+ return xs.filter(f).length;
+}
+
+export function count<T>(x: T, xs: T[]): number {
+ return countIf(y => x === y, xs);
+}
+
+export function intersperse<T>(sep: T, xs: T[]): T[] {
+ return [].concat(...xs.map(x => [sep, x])).slice(1);
+}
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);
+}