From 0ea5f43a04eb260eb45c1c4a6a9de0ae0f277418 Mon Sep 17 00:00:00 2001 From: webfansplz <308241863@qq.com> Date: Sun, 10 Jul 2022 14:36:36 +0800 Subject: [PATCH] feat(useCeil): new function --- packages/math/useCeil/index.md | 16 ++++++++++++++++ packages/math/useCeil/index.test.ts | 15 +++++++++++++++ packages/math/useCeil/index.ts | 15 +++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 packages/math/useCeil/index.md create mode 100644 packages/math/useCeil/index.test.ts create mode 100644 packages/math/useCeil/index.ts diff --git a/packages/math/useCeil/index.md b/packages/math/useCeil/index.md new file mode 100644 index 00000000000..ec1d51b2a05 --- /dev/null +++ b/packages/math/useCeil/index.md @@ -0,0 +1,16 @@ +--- +category: '@Math' +--- + +# useCeil + +Reactively Math.ceil(value). + +## Usage + +```ts +import { useCeil } from '@vueuse/math' + +const value = ref(0.95) +const result = useCeil(value) +``` diff --git a/packages/math/useCeil/index.test.ts b/packages/math/useCeil/index.test.ts new file mode 100644 index 00000000000..50c89fa7a94 --- /dev/null +++ b/packages/math/useCeil/index.test.ts @@ -0,0 +1,15 @@ +import { ref } from 'vue-demi' +import { useCeil } from '.' + +describe('useCeil', () => { + it('should be defined', () => { + expect(useCeil).toBeDefined() + }) + it('should work', () => { + const base = ref(0.95) + const result = useCeil(base) + expect(result.value).toBe(1) + base.value = -7.004 + expect(result.value).toBe(-7) + }) +}) diff --git a/packages/math/useCeil/index.ts b/packages/math/useCeil/index.ts new file mode 100644 index 00000000000..dbdad1d4539 --- /dev/null +++ b/packages/math/useCeil/index.ts @@ -0,0 +1,15 @@ +import type { ComputedRef } from 'vue-demi' +import { computed } from 'vue-demi' +import type { MaybeComputedRef } from '@vueuse/shared' +import { resolveUnref } from '@vueuse/shared' + +/** + * Reactively Math.ceil(value). + * + * @see https://vueuse.org/useCeil + * @param base + * @param exponent + */ +export function useCeil(value: MaybeComputedRef): ComputedRef { + return computed(() => Math.ceil(resolveUnref(value))) +}