HEX
Server: Apache
System: Linux ce2021070511001 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64
User: EF029LB627 (5331)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source,posix_getpwuid,symlink,escapeshellcmd,opcache_get_status
Upload Files
File: /var/www/laiaalmenara.es/datos/web/wp-content/plugins/code-snippets/js/utils/hooks.ts
import { createContext, useContext } from 'react'
import type { Context } from 'react'

export const createContextHook = <T>(name: string): [
	Context<T | undefined>,
	() => T
] => {
	const contextValue = createContext<T | undefined>(undefined)

	const useContextHook = (): T => {
		const value = useContext(contextValue)

		if (value === undefined) {
			throw Error(`use${name} can only be used within a ${name} context provider.`)
		}

		return value
	}

	return [contextValue, useContextHook]
}