// Copyright 2017-2026 @pezkuwi/react-hooks authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { BN } from '@pezkuwi/util'; import type { FormField } from './useFormField.js'; import { useMemo } from 'react'; import { BN_ZERO, bnToBn } from '@pezkuwi/util'; import { createNamedHook } from './createNamedHook.js'; import { useFormField } from './useFormField.js'; function isValid (value: BN): boolean { return !value.isZero(); } function useNonZeroBnImpl (initialValue: BN | number = BN_ZERO): FormField { const value = useMemo(() => bnToBn(initialValue), [initialValue]); return useFormField(value, isValid); } export const useNonZeroBn = createNamedHook('useNonZeroBn', useNonZeroBnImpl);