Skip to content

Commit

Permalink
chore: eslint/prettier config and depedency
Browse files Browse the repository at this point in the history
  • Loading branch information
shfshanyue committed Nov 3, 2023
1 parent 92b31a1 commit 7efb4ac
Show file tree
Hide file tree
Showing 51 changed files with 260 additions and 172 deletions.
7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,12 @@
"printWidth": 80,
"semi": false,
"singleQuote": true,
"trailingComma": "es5"
"trailingComma": "es5",
"arrowParens": "avoid"
},
"eslintConfig": {
"extends": [
"prettier/@typescript-eslint",
"prettier",
"plugin:prettier/recommended"
],
"rules": {
Expand Down Expand Up @@ -74,6 +75,8 @@
"@vuepress/theme-default": "2.0.0-beta.66",
"@vuepress/utils": "2.0.0-beta.66",
"eslint": "^8.52.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.1",
"husky": "^8.0.3",
"microbundle": "^0.15.1",
"release-it": "^16.2.1",
Expand Down
73 changes: 73 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion src/compose.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ export function compose<T>(...funcs: Function[]): (...args: any[]) => T

export function compose(...funcs: Function[]) {
return funcs.reduce(
(a, b) => (...args: any) => a(b(...args)),
(a, b) =>
(...args: any) =>
a(b(...args)),
(x: any) => x
)
}
Expand Down
4 changes: 2 additions & 2 deletions src/debounce.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ export function debounce<T extends any[]>(
let timer: number
return (...args: T) => {
clearTimeout(timer)
timer = (setTimeout(() => {
timer = setTimeout(() => {
f(...args)
}, wait) as any) as number
}, wait) as any as number
}
}
20 changes: 10 additions & 10 deletions src/get.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export function get<TObject extends object, TKey extends keyof TObject>(
export function get<
TObject extends object,
TKey extends keyof TObject,
TDefault
TDefault,
>(
object: TObject | null | undefined,
path: TKey | [TKey],
Expand All @@ -18,12 +18,12 @@ export function get<
export function get<
TObject extends object,
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1]
TKey2 extends keyof TObject[TKey1],
>(object: TObject, path: [TKey1, TKey2]): TObject[TKey1][TKey2]
export function get<
TObject extends object,
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1]
TKey2 extends keyof TObject[TKey1],
>(
object: TObject | null | undefined,
path: [TKey1, TKey2]
Expand All @@ -32,7 +32,7 @@ export function get<
TObject extends object,
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TDefault
TDefault,
>(
object: TObject | null | undefined,
path: [TKey1, TKey2],
Expand All @@ -42,13 +42,13 @@ export function get<
TObject extends object,
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2]
TKey3 extends keyof TObject[TKey1][TKey2],
>(object: TObject, path: [TKey1, TKey2, TKey3]): TObject[TKey1][TKey2][TKey3]
export function get<
TObject extends object,
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2]
TKey3 extends keyof TObject[TKey1][TKey2],
>(
object: TObject | null | undefined,
path: [TKey1, TKey2, TKey3]
Expand All @@ -58,7 +58,7 @@ export function get<
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2],
TDefault
TDefault,
>(
object: TObject | null | undefined,
path: [TKey1, TKey2, TKey3],
Expand All @@ -69,7 +69,7 @@ export function get<
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2],
TKey4 extends keyof TObject[TKey1][TKey2][TKey3]
TKey4 extends keyof TObject[TKey1][TKey2][TKey3],
>(
object: TObject,
path: [TKey1, TKey2, TKey3, TKey4]
Expand All @@ -79,7 +79,7 @@ export function get<
TKey1 extends keyof TObject,
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2],
TKey4 extends keyof TObject[TKey1][TKey2][TKey3]
TKey4 extends keyof TObject[TKey1][TKey2][TKey3],
>(
object: TObject | null | undefined,
path: [TKey1, TKey2, TKey3, TKey4]
Expand All @@ -90,7 +90,7 @@ export function get<
TKey2 extends keyof TObject[TKey1],
TKey3 extends keyof TObject[TKey1][TKey2],
TKey4 extends keyof TObject[TKey1][TKey2][TKey3],
TDefault
TDefault,
>(
object: TObject | null | undefined,
path: [TKey1, TKey2, TKey3, TKey4],
Expand Down
21 changes: 12 additions & 9 deletions src/groupBy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ export function groupBy<T>(
if (!list?.length) {
return {}
}
return list.reduce((acc, x) => {
const key = String(by(x))
if (acc[key]) {
acc[key].push(x)
} else {
acc[key] = [x]
}
return acc
}, {} as Record<string, T[]>)
return list.reduce(
(acc, x) => {
const key = String(by(x))
if (acc[key]) {
acc[key].push(x)
} else {
acc[key] = [x]
}
return acc
},
{} as Record<string, T[]>
)
}
13 changes: 8 additions & 5 deletions src/keyBy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ export function keyBy<T>(
if (!list?.length) {
return {}
}
return list.reduce((acc, x) => {
const key = String(by(x))
acc[key] = x
return acc
}, {} as Record<string, T>)
return list.reduce(
(acc, x) => {
const key = String(by(x))
acc[key] = x
return acc
},
{} as Record<string, T>
)
}
38 changes: 21 additions & 17 deletions src/mapKeys.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
export function mapKeys<
T,
K extends string | number | symbol,
KNew extends string | number | symbol
KNew extends string | number | symbol,
>(
obj: Record<K, T>,
iteratee: (value: T, key: string) => KNew = value =>
(value as unknown) as KNew
iteratee: (value: T, key: string) => KNew = value => value as unknown as KNew
): Record<KNew, T> {
return Object.entries<T>(obj).reduce((acc, [key, value]) => {
return {
...acc,
[iteratee(value, key)]: value,
}
}, {} as Record<KNew, T>)
return Object.entries<T>(obj).reduce(
(acc, [key, value]) => {
return {
...acc,
[iteratee(value, key)]: value,
}
},
{} as Record<KNew, T>
)
}

export function mapValues<T, K extends string | number | symbol, TNew>(
obj: Record<K, T>,
iteratee: (value: T, key: string) => TNew = value =>
(value as unknown) as TNew
iteratee: (value: T, key: string) => TNew = value => value as unknown as TNew
): Record<K, TNew> {
return Object.entries<T>(obj).reduce((acc, [key, value]) => {
return {
...acc,
[key]: iteratee(value, key),
}
}, {} as Record<K, TNew>)
return Object.entries<T>(obj).reduce(
(acc, [key, value]) => {
return {
...acc,
[key]: iteratee(value, key),
}
},
{} as Record<K, TNew>
)
}
4 changes: 2 additions & 2 deletions src/throttle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ export function throttle<T extends any[]>(
if (timer) {
return
}
timer = (setTimeout(() => {
timer = setTimeout(() => {
f(...args)
timer = null
}, wait) as any) as number
}, wait) as any as number
}
}
2 changes: 1 addition & 1 deletion src/uniqBy.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export function uniqBy<T>(list: T[], by: (value: T) => unknown): T[] {
const uniqMap: { [key: string]: T } = {}
for (let item of list ?? []) {
const key = (by(item) as unknown) as string
const key = by(item) as unknown as string
if (!uniqMap[key]) {
uniqMap[key] = item
}
Expand Down
6 changes: 3 additions & 3 deletions test/async.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { retry, AbortError, filter, map, sleep } from '../src'
import timeSpan from 'time-span'

describe('async filter', function() {
describe('async filter', function () {
it('expect work', async () => {
const r1 = await filter([Promise.resolve(1), 2, 3, 4], (x: any) =>
Boolean(x % 2)
Expand All @@ -15,7 +15,7 @@ describe('async filter', function() {
})
})

describe('async map', function() {
describe('async map', function () {
const input = [
Promise.resolve(1),
Promise.resolve(2),
Expand Down Expand Up @@ -84,7 +84,7 @@ describe('async map', function() {
})
})

describe('async retry', function() {
describe('async retry', function () {
it('expect work', async () => {
let i = 0
const result = 100
Expand Down
4 changes: 2 additions & 2 deletions test/camelCase.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { camelCase } from '../src'

describe('camelCase', function() {
it('should work', function() {
describe('camelCase', function () {
it('should work', function () {
expect(camelCase('foo')).toEqual('foo')
expect(camelCase('foo-bar')).toEqual('fooBar')
expect(camelCase('foo--bar')).toEqual('fooBar')
Expand Down
Loading

1 comment on commit 7efb4ac

@vercel
Copy link

@vercel vercel bot commented on 7efb4ac Nov 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.