From 6f0fbcf572b974dcba627a40ea153a4540aab0ef Mon Sep 17 00:00:00 2001 From: hanpei Date: Sun, 10 Jul 2022 16:54:51 +0800 Subject: [PATCH 1/7] feat(useTrunk): new function --- packages/math/useTrunc/index.md | 18 ++++++++++++ packages/math/useTrunc/index.test.ts | 44 ++++++++++++++++++++++++++++ packages/math/useTrunc/index.ts | 19 ++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 packages/math/useTrunc/index.md create mode 100644 packages/math/useTrunc/index.test.ts create mode 100644 packages/math/useTrunc/index.ts diff --git a/packages/math/useTrunc/index.md b/packages/math/useTrunc/index.md new file mode 100644 index 00000000000..5db20685d81 --- /dev/null +++ b/packages/math/useTrunc/index.md @@ -0,0 +1,18 @@ +--- +category: '@Math' +--- + +# useTrunk + +Reactively Math.trunk(value). + +## Usage + +```ts +import { useTrunk } from '@vueuse/math' + +const value1 = ref(0.95) +const value2 = ref(-2.34) +const result1 = useTrunk(value1) // 0 +const result2 = useTrunk(value2) // -2 +``` diff --git a/packages/math/useTrunc/index.test.ts b/packages/math/useTrunc/index.test.ts new file mode 100644 index 00000000000..9987e63d317 --- /dev/null +++ b/packages/math/useTrunc/index.test.ts @@ -0,0 +1,44 @@ +import { ref } from 'vue-demi' +import { useTrunk } from '.' + +// 返回: +// 0 -> 0 +// -0 -> -0 +// 0.2 -> 0 +// -0.2 -> -0 +// 0.7 -> 0 +// -0.7 -> -0 +// Infinity -> Infinity +// -Infinity -> -Infinity +// NaN -> NaN +// null -> 0 + +describe('useTrunk', () => { + it('should be defined', () => { + expect(useTrunk).toBeDefined() + }) + it('should work', () => { + const base = ref(1.95) + const result = useTrunk(base) + expect(result.value).toBe(1) + base.value = -7.004 + expect(result.value).toBe(-7) + + base.value = 0 + expect(result.value).toBe(0) + base.value = -0 + expect(result.value).toBe(-0) + + base.value = 0.2 + expect(result.value).toBe(0) + base.value = -0.2 + expect(result.value).toBe(-0) + + base.value = Infinity + expect(result.value).toBe(Infinity) + base.value = -Infinity + expect(result.value).toBe(-Infinity) + base.value = NaN + expect(result.value).toBe(NaN) + }) +}) diff --git a/packages/math/useTrunc/index.ts b/packages/math/useTrunc/index.ts new file mode 100644 index 00000000000..fe606931fbf --- /dev/null +++ b/packages/math/useTrunc/index.ts @@ -0,0 +1,19 @@ +import type { ComputedRef } from 'vue-demi' +import { computed } from 'vue-demi' +import type { MaybeComputedRef } from '@vueuse/shared' +import { resolveUnref } from '@vueuse/shared' + +/** + * Reactively Math.trunc(value). + * + * @see https://vueuse.org/useTrunc + * @param value + */ +export function useTrunk(value: MaybeComputedRef): ComputedRef { + return computed(() => { + if (resolveUnref(value) > 0) + return Math.floor(resolveUnref(value)) + else + return Math.ceil(resolveUnref(value)) + }) +} From 65565e387abc714cdc12b7e633470480fe337300 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 10 Jul 2022 17:11:50 +0800 Subject: [PATCH 2/7] Update packages/math/useTrunc/index.test.ts --- packages/math/useTrunc/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/math/useTrunc/index.test.ts b/packages/math/useTrunc/index.test.ts index 9987e63d317..a93a1433434 100644 --- a/packages/math/useTrunc/index.test.ts +++ b/packages/math/useTrunc/index.test.ts @@ -1,7 +1,7 @@ import { ref } from 'vue-demi' import { useTrunk } from '.' -// 返回: +// Returns: // 0 -> 0 // -0 -> -0 // 0.2 -> 0 From 8dfa35ca7e9e9beb6b6ebf958d83d63533809143 Mon Sep 17 00:00:00 2001 From: hanpei Date: Sun, 10 Jul 2022 17:19:04 +0800 Subject: [PATCH 3/7] feat(useExp): new function --- packages/math/useExp/index.md | 18 ++++++++++++++++++ packages/math/useExp/index.test.ts | 20 ++++++++++++++++++++ packages/math/useExp/index.ts | 14 ++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 packages/math/useExp/index.md create mode 100644 packages/math/useExp/index.test.ts create mode 100644 packages/math/useExp/index.ts diff --git a/packages/math/useExp/index.md b/packages/math/useExp/index.md new file mode 100644 index 00000000000..de37d0effad --- /dev/null +++ b/packages/math/useExp/index.md @@ -0,0 +1,18 @@ +--- +category: '@Math' +--- + +# useExp + +Reactively Math.exp(value). + +## Usage + +```ts +import { useExp } from '@vueuse/math' + +const value2 = ref(0) +const value3 = ref(1) +const result2 = useExp(value2) // 1 +const result3 = useExp(value2) // Math.E ≈ 2.718281828459045 +``` diff --git a/packages/math/useExp/index.test.ts b/packages/math/useExp/index.test.ts new file mode 100644 index 00000000000..c65c4741752 --- /dev/null +++ b/packages/math/useExp/index.test.ts @@ -0,0 +1,20 @@ +import { ref } from 'vue-demi' +import { useExp } from '.' + +describe('useExp', () => { + it('should be defined', () => { + expect(useExp).toBeDefined() + }) + it('should work', () => { + const base = ref(0) + const result = useExp(base) + expect(result.value).toBeCloseTo(1) + + base.value = -1 + expect(result.value).toBeCloseTo(0.36787944117144233) + base.value = 1 + expect(result.value).toBeCloseTo(Math.E) + base.value = 2 + expect(result.value).toBeCloseTo(Math.E * Math.E) + }) +}) diff --git a/packages/math/useExp/index.ts b/packages/math/useExp/index.ts new file mode 100644 index 00000000000..682a9da95f8 --- /dev/null +++ b/packages/math/useExp/index.ts @@ -0,0 +1,14 @@ +import type { ComputedRef } from 'vue-demi' +import { computed } from 'vue-demi' +import type { MaybeComputedRef } from '@vueuse/shared' +import { resolveUnref } from '@vueuse/shared' + +/** + * Reactively Math.exp(value). + * + * @see https://vueuse.org/useExp + * @param value + */ +export function useExp(value: MaybeComputedRef): ComputedRef { + return computed(() => Math.exp(resolveUnref(value))) +} From 2c19e611f93d674ad40c89d5ae2b1cdc43389b58 Mon Sep 17 00:00:00 2001 From: hanpei Date: Sun, 10 Jul 2022 17:28:40 +0800 Subject: [PATCH 4/7] fix: typo and remove unused if else --- packages/math/useExp/index.md | 18 ------------------ packages/math/useExp/index.test.ts | 20 -------------------- packages/math/useExp/index.ts | 14 -------------- packages/math/useTrunc/index.md | 10 +++++----- packages/math/useTrunc/index.test.ts | 6 +++--- packages/math/useTrunc/index.ts | 9 ++------- 6 files changed, 10 insertions(+), 67 deletions(-) delete mode 100644 packages/math/useExp/index.md delete mode 100644 packages/math/useExp/index.test.ts delete mode 100644 packages/math/useExp/index.ts diff --git a/packages/math/useExp/index.md b/packages/math/useExp/index.md deleted file mode 100644 index de37d0effad..00000000000 --- a/packages/math/useExp/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -category: '@Math' ---- - -# useExp - -Reactively Math.exp(value). - -## Usage - -```ts -import { useExp } from '@vueuse/math' - -const value2 = ref(0) -const value3 = ref(1) -const result2 = useExp(value2) // 1 -const result3 = useExp(value2) // Math.E ≈ 2.718281828459045 -``` diff --git a/packages/math/useExp/index.test.ts b/packages/math/useExp/index.test.ts deleted file mode 100644 index c65c4741752..00000000000 --- a/packages/math/useExp/index.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ref } from 'vue-demi' -import { useExp } from '.' - -describe('useExp', () => { - it('should be defined', () => { - expect(useExp).toBeDefined() - }) - it('should work', () => { - const base = ref(0) - const result = useExp(base) - expect(result.value).toBeCloseTo(1) - - base.value = -1 - expect(result.value).toBeCloseTo(0.36787944117144233) - base.value = 1 - expect(result.value).toBeCloseTo(Math.E) - base.value = 2 - expect(result.value).toBeCloseTo(Math.E * Math.E) - }) -}) diff --git a/packages/math/useExp/index.ts b/packages/math/useExp/index.ts deleted file mode 100644 index 682a9da95f8..00000000000 --- a/packages/math/useExp/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { ComputedRef } from 'vue-demi' -import { computed } from 'vue-demi' -import type { MaybeComputedRef } from '@vueuse/shared' -import { resolveUnref } from '@vueuse/shared' - -/** - * Reactively Math.exp(value). - * - * @see https://vueuse.org/useExp - * @param value - */ -export function useExp(value: MaybeComputedRef): ComputedRef { - return computed(() => Math.exp(resolveUnref(value))) -} diff --git a/packages/math/useTrunc/index.md b/packages/math/useTrunc/index.md index 5db20685d81..9a20528bf7f 100644 --- a/packages/math/useTrunc/index.md +++ b/packages/math/useTrunc/index.md @@ -2,17 +2,17 @@ category: '@Math' --- -# useTrunk +# useTrunc -Reactively Math.trunk(value). +Reactively Math.trunc(value). ## Usage ```ts -import { useTrunk } from '@vueuse/math' +import { useTrunc } from '@vueuse/math' const value1 = ref(0.95) const value2 = ref(-2.34) -const result1 = useTrunk(value1) // 0 -const result2 = useTrunk(value2) // -2 +const result1 = useTrunc(value1) // 0 +const result2 = useTrunc(value2) // -2 ``` diff --git a/packages/math/useTrunc/index.test.ts b/packages/math/useTrunc/index.test.ts index a93a1433434..8802461e3ba 100644 --- a/packages/math/useTrunc/index.test.ts +++ b/packages/math/useTrunc/index.test.ts @@ -1,5 +1,5 @@ import { ref } from 'vue-demi' -import { useTrunk } from '.' +import { useTrunc } from '.' // Returns: // 0 -> 0 @@ -15,11 +15,11 @@ import { useTrunk } from '.' describe('useTrunk', () => { it('should be defined', () => { - expect(useTrunk).toBeDefined() + expect(useTrunc).toBeDefined() }) it('should work', () => { const base = ref(1.95) - const result = useTrunk(base) + const result = useTrunc(base) expect(result.value).toBe(1) base.value = -7.004 expect(result.value).toBe(-7) diff --git a/packages/math/useTrunc/index.ts b/packages/math/useTrunc/index.ts index fe606931fbf..5f6965357c6 100644 --- a/packages/math/useTrunc/index.ts +++ b/packages/math/useTrunc/index.ts @@ -9,11 +9,6 @@ import { resolveUnref } from '@vueuse/shared' * @see https://vueuse.org/useTrunc * @param value */ -export function useTrunk(value: MaybeComputedRef): ComputedRef { - return computed(() => { - if (resolveUnref(value) > 0) - return Math.floor(resolveUnref(value)) - else - return Math.ceil(resolveUnref(value)) - }) +export function useTrunc(value: MaybeComputedRef): ComputedRef { + return computed(() => Math.trunc(resolveUnref(value))) } From 0cb9ebc9cad4f7dcaa01f3f2d927f95860bbc5d0 Mon Sep 17 00:00:00 2001 From: hanpei Date: Sun, 10 Jul 2022 17:41:08 +0800 Subject: [PATCH 5/7] feat(useExp): new function --- packages/math/useExp/index.md | 18 ++++++++++++++++++ packages/math/useExp/index.test.ts | 20 ++++++++++++++++++++ packages/math/useExp/index.ts | 14 ++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 packages/math/useExp/index.md create mode 100644 packages/math/useExp/index.test.ts create mode 100644 packages/math/useExp/index.ts diff --git a/packages/math/useExp/index.md b/packages/math/useExp/index.md new file mode 100644 index 00000000000..de37d0effad --- /dev/null +++ b/packages/math/useExp/index.md @@ -0,0 +1,18 @@ +--- +category: '@Math' +--- + +# useExp + +Reactively Math.exp(value). + +## Usage + +```ts +import { useExp } from '@vueuse/math' + +const value2 = ref(0) +const value3 = ref(1) +const result2 = useExp(value2) // 1 +const result3 = useExp(value2) // Math.E ≈ 2.718281828459045 +``` diff --git a/packages/math/useExp/index.test.ts b/packages/math/useExp/index.test.ts new file mode 100644 index 00000000000..c65c4741752 --- /dev/null +++ b/packages/math/useExp/index.test.ts @@ -0,0 +1,20 @@ +import { ref } from 'vue-demi' +import { useExp } from '.' + +describe('useExp', () => { + it('should be defined', () => { + expect(useExp).toBeDefined() + }) + it('should work', () => { + const base = ref(0) + const result = useExp(base) + expect(result.value).toBeCloseTo(1) + + base.value = -1 + expect(result.value).toBeCloseTo(0.36787944117144233) + base.value = 1 + expect(result.value).toBeCloseTo(Math.E) + base.value = 2 + expect(result.value).toBeCloseTo(Math.E * Math.E) + }) +}) diff --git a/packages/math/useExp/index.ts b/packages/math/useExp/index.ts new file mode 100644 index 00000000000..682a9da95f8 --- /dev/null +++ b/packages/math/useExp/index.ts @@ -0,0 +1,14 @@ +import type { ComputedRef } from 'vue-demi' +import { computed } from 'vue-demi' +import type { MaybeComputedRef } from '@vueuse/shared' +import { resolveUnref } from '@vueuse/shared' + +/** + * Reactively Math.exp(value). + * + * @see https://vueuse.org/useExp + * @param value + */ +export function useExp(value: MaybeComputedRef): ComputedRef { + return computed(() => Math.exp(resolveUnref(value))) +} From 7c90615dce9d0aa444a826cb0c104be25d78e424 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 17 Jul 2022 15:36:17 +0800 Subject: [PATCH 6/7] chore: update --- packages/math/useExp/index.md | 18 ------------------ packages/math/useExp/index.test.ts | 20 -------------------- packages/math/useExp/index.ts | 14 -------------- packages/math/useTrunc/index.md | 2 +- packages/math/useTrunc/index.ts | 3 +-- 5 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 packages/math/useExp/index.md delete mode 100644 packages/math/useExp/index.test.ts delete mode 100644 packages/math/useExp/index.ts diff --git a/packages/math/useExp/index.md b/packages/math/useExp/index.md deleted file mode 100644 index de37d0effad..00000000000 --- a/packages/math/useExp/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -category: '@Math' ---- - -# useExp - -Reactively Math.exp(value). - -## Usage - -```ts -import { useExp } from '@vueuse/math' - -const value2 = ref(0) -const value3 = ref(1) -const result2 = useExp(value2) // 1 -const result3 = useExp(value2) // Math.E ≈ 2.718281828459045 -``` diff --git a/packages/math/useExp/index.test.ts b/packages/math/useExp/index.test.ts deleted file mode 100644 index c65c4741752..00000000000 --- a/packages/math/useExp/index.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ref } from 'vue-demi' -import { useExp } from '.' - -describe('useExp', () => { - it('should be defined', () => { - expect(useExp).toBeDefined() - }) - it('should work', () => { - const base = ref(0) - const result = useExp(base) - expect(result.value).toBeCloseTo(1) - - base.value = -1 - expect(result.value).toBeCloseTo(0.36787944117144233) - base.value = 1 - expect(result.value).toBeCloseTo(Math.E) - base.value = 2 - expect(result.value).toBeCloseTo(Math.E * Math.E) - }) -}) diff --git a/packages/math/useExp/index.ts b/packages/math/useExp/index.ts deleted file mode 100644 index 682a9da95f8..00000000000 --- a/packages/math/useExp/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { ComputedRef } from 'vue-demi' -import { computed } from 'vue-demi' -import type { MaybeComputedRef } from '@vueuse/shared' -import { resolveUnref } from '@vueuse/shared' - -/** - * Reactively Math.exp(value). - * - * @see https://vueuse.org/useExp - * @param value - */ -export function useExp(value: MaybeComputedRef): ComputedRef { - return computed(() => Math.exp(resolveUnref(value))) -} diff --git a/packages/math/useTrunc/index.md b/packages/math/useTrunc/index.md index 9a20528bf7f..56bb14154fb 100644 --- a/packages/math/useTrunc/index.md +++ b/packages/math/useTrunc/index.md @@ -4,7 +4,7 @@ category: '@Math' # useTrunc -Reactively Math.trunc(value). +Reactive `Math.trunc`. ## Usage diff --git a/packages/math/useTrunc/index.ts b/packages/math/useTrunc/index.ts index 5f6965357c6..a910c518fa6 100644 --- a/packages/math/useTrunc/index.ts +++ b/packages/math/useTrunc/index.ts @@ -4,10 +4,9 @@ import type { MaybeComputedRef } from '@vueuse/shared' import { resolveUnref } from '@vueuse/shared' /** - * Reactively Math.trunc(value). + * Reactive `Math.trunc`. * * @see https://vueuse.org/useTrunc - * @param value */ export function useTrunc(value: MaybeComputedRef): ComputedRef { return computed(() => Math.trunc(resolveUnref(value))) From 547a3c027f2aa9178a909f4763b72fe062e4664b Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 17 Jul 2022 15:36:58 +0800 Subject: [PATCH 7/7] chore: update --- packages/math/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/math/index.ts b/packages/math/index.ts index 555af17277a..ea67a485588 100644 --- a/packages/math/index.ts +++ b/packages/math/index.ts @@ -14,3 +14,4 @@ export * from './useMin' export * from './useProjection' export * from './useRound' export * from './useSum' +export * from './useTrunc'