diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..fcee346
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,9 @@
+image: node:latest
+
+cache:
+ paths:
+ - node_modules/
+
+test:
+ before_script: npm install
+ script: npm test
diff --git a/README.md b/README.md
index 33a547b..06d69a2 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,11 @@
tk-functional
=============
+[![pipeline status](https://gitlab.com/thunderk/tk-functional/badges/master/pipeline.svg)](https://gitlab.com/thunderk/tk-functional/commits/master)
+[![coverage report](https://gitlab.com/thunderk/tk-functional/badges/master/coverage.svg)](https://gitlab.com/thunderk/tk-functional/commits/master)
+[![npm version](https://img.shields.io/npm/v/tk-functional.svg)](https://npmjs.com/tk-functional)
+[![npm size](https://img.shields.io/bundlephobia/min/tk-functional.svg)](https://bundlephobia.com/result?p=tk-functional)
+
About
-----
@@ -8,7 +13,7 @@ Provides some common helpers for functional-style programming.
Typescript definitions are included.
-Issues can be reported on [GitLab](https://gitlab.com/thunderk/tk-serializer/issues).
+Issues can be reported on [GitLab](https://gitlab.com/thunderk/tk-functional/issues).
Functions
---------
@@ -37,6 +42,6 @@ plus1({b: 8}) // => 9
```typescript
[8, 3, 5].sort(cmp()) // => [3, 5, 8]
-[8, 3, 5].sort(cmp({ reverse: true })) // => [8, 5, 3]
+[8, 3, 5].sort(cmp({ reverse: true })) // => [8, 5, 3]
[-2, 8, -7].sort(cmp({ key: Math.abs })) // => [-2, -7, 8]
```
diff --git a/package-lock.json b/package-lock.json
index e4bc4e3..dd82790 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "tk-functional",
- "version": "1.0.0",
+ "version": "0.1.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1199,9 +1199,9 @@
}
},
"caniuse-db": {
- "version": "1.0.30000995",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000995.tgz",
- "integrity": "sha512-25ew/vPIVU0g/OjeZay2IfcljWAmNVy1TSmeoozFrJzEOqnka0ZSusJFS+4iGZKVIJ4RHOZB4NyilpwNcsh8tA==",
+ "version": "1.0.30000996",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000996.tgz",
+ "integrity": "sha512-WvzxMtKe5CCBUaTVBM/EjsoFXJf6f/2s17BlWeZMhc5DSP7d9QjAZe5vdZp3T3fjxtGkJbg5W24bnRAdz9LVIw==",
"dev": true
},
"caniuse-lite": {
@@ -1931,12 +1931,12 @@
"dev": true
},
"decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
+ "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
"dev": true,
"requires": {
- "mimic-response": "^1.0.0"
+ "mimic-response": "^2.0.0"
}
},
"deep-extend": {
@@ -2112,9 +2112,9 @@
}
},
"electron-to-chromium": {
- "version": "1.3.260",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.260.tgz",
- "integrity": "sha512-wGt+OivF1C1MPwaSv3LJ96ebNbLAWlx3HndivDDWqwIVSQxmhL17Y/YmwUdEMtS/bPyommELt47Dct0/VZNQBQ==",
+ "version": "1.3.264",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz",
+ "integrity": "sha512-z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ==",
"dev": true
},
"emoji-regex": {
@@ -3363,9 +3363,9 @@
}
},
"handlebars": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz",
- "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.1.tgz",
+ "integrity": "sha512-bqPIlDk06UWbVEIFoYj+LVo42WhK96J+b25l7hbFDpxrOXMphFM3fNIm+cluwg4Pk2jiLjWU5nHQY7igGE75NQ==",
"dev": true,
"requires": {
"neo-async": "^2.6.0",
@@ -4935,9 +4935,9 @@
}
},
"mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz",
+ "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==",
"dev": true
},
"minimatch": {
@@ -8945,12 +8945,12 @@
"dev": true
},
"simple-get": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz",
- "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
+ "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
"dev": true,
"requires": {
- "decompress-response": "^3.3.0",
+ "decompress-response": "^4.2.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
@@ -9506,9 +9506,9 @@
}
},
"tk-base": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/tk-base/-/tk-base-0.1.2.tgz",
- "integrity": "sha512-S+cirl9BnlZjllAX+/IJK7O98PYR6uysuojesXR7wRN+baQtp2phBDvP5hYLco8llm/BVCWXAzr7B5czL3/97g==",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/tk-base/-/tk-base-0.1.5.tgz",
+ "integrity": "sha512-PtxdHGjDLmS+r9L5ZPXFefEFFf3o6XCEuK1QEHn2wGpTOuRFdj+PS7vehtFX91icVmYxx/S3Uw8v7DOj2YmeIg==",
"dev": true,
"requires": {
"@types/jest": "^24.0.18",
@@ -9516,7 +9516,7 @@
"jest": "^24.9.0",
"microbundle": "^0.11.0",
"ts-jest": "^24.1.0",
- "ts-node": "^8.3.0",
+ "ts-node": "^8.4.1",
"typescript": "^3.6.3"
}
},
diff --git a/package.json b/package.json
index 07ed15f..e10d617 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,15 @@
{
"name": "tk-functional",
- "version": "1.0.0",
+ "version": "0.1.0",
"description": "Helpers for functional programming style",
+ "source": "src/index.ts",
"main": "dist/tk-functional.js",
+ "umd:main": "dist/tk-functional.js",
+ "types": "dist/src/index.d.ts",
+ "files": [
+ "/src",
+ "/dist"
+ ],
"scripts": {
"test": "npx tk-base test",
"normalize": "npx tk-base normalize",
@@ -16,14 +23,7 @@
},
"license": "ISC",
"devDependencies": {
- "tk-base": "^0.1.2"
+ "tk-base": "^0.1.5"
},
- "source": "src/index.ts",
- "umd:main": "dist/tk-functional.js",
- "types": "dist/src/index.d.ts",
- "files": [
- "/src",
- "/dist"
- ],
"dependencies": {}
}
diff --git a/src/index.ts b/src/index.ts
index 92d375c..5e59064 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -18,8 +18,8 @@ export function partial, RA extends any[
return (args: Omit, ...rest: RA) => func({ ...fixedargs, ...args } as any, ...rest);
}
-export type cmpArgs = Readonly<{ key: (item: any) => any, reverse: boolean }>
-export const cmpDefaults: cmpArgs = { key: identity, reverse: false }
+type cmpArgs = Readonly<{ key: (item: any) => any, reverse: boolean }>
+const cmpDefaults: cmpArgs = { key: identity, reverse: false }
/**
* Compare operator, that can be used in sort() calls.
*/
diff --git a/tsconfig.json b/tsconfig.json
index b4c606e..0633ca2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,15 +1,16 @@
{
"compilerOptions": {
- "noFallthroughCasesInSwitch": true,
- "noImplicitReturns": true,
- "preserveConstEnums": true,
- "strict": true,
- "declaration": true,
+ "moduleResolution": "node",
"esModuleInterop": true,
+ "strict": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "preserveConstEnums": true,
+ "declaration": true,
+ "target": "es6",
"lib": [
"dom",
"es6"
- ],
- "target": "es6"
+ ]
}
}