/**
* External dependencies
*/
import Ajv from 'ajv';
/**
* WordPress dependencies
*/
import { useSelect } from '@wordpress/data';
import { store as userGroupsStore } from '@ithemes/security.user-groups.api';
function getAjv() {
if ( ! getAjv.instance ) {
getAjv.instance = new Ajv( { schemaId: 'id' } );
getAjv.instance.addMetaSchema(
require( 'ajv/lib/refs/json-schema-draft-04.json' )
);
}
return getAjv.instance;
}
export function useSettingsDefinitions( filters = {} ) {
const ajv = getAjv();
return useSelect(
( select ) =>
select( userGroupsStore ).getSettingDefinitions(
ajv,
filters
),
[ ajv, filters ]
);
}