* Use .js imports in src * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Additional * Add WP extension aliases * Bump dev * Additional * Additional * Adjust extensionAlias order
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
// Copyright 2017-2023 @polkadot/react-hooks authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import type { UseJudgements } from './types.js';
|
|
|
|
import { useMemo } from 'react';
|
|
|
|
import { getJudgements } from './utils/getJudgements.js';
|
|
import { matchRegistrarAccountsWithIndexes } from './utils/matchRegistrarAccountsWithIndexes.js';
|
|
import { createNamedHook } from './createNamedHook.js';
|
|
import { useAccountInfo } from './useAccountInfo.js';
|
|
import { useRegistrars } from './useRegistrars.js';
|
|
|
|
function useJudgementsImpl (address: string): UseJudgements {
|
|
const { identity } = useAccountInfo(address);
|
|
const { registrars: allRegistrars } = useRegistrars();
|
|
|
|
const judgementsWithRegistrarIndexes = useMemo(() => getJudgements(identity), [identity]);
|
|
|
|
return useMemo(
|
|
() => matchRegistrarAccountsWithIndexes(judgementsWithRegistrarIndexes, allRegistrars),
|
|
[allRegistrars, judgementsWithRegistrarIndexes]
|
|
);
|
|
}
|
|
|
|
export const useJudgements = createNamedHook('useJudgements', useJudgementsImpl);
|