403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/inetpub/wwwroot/OPENPOSFNB/wp-content/plugins/code-snippets-pro/js/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/inetpub/wwwroot/OPENPOSFNB/wp-content/plugins/code-snippets-pro/js/utils/options.ts
import type { SelectGroup, SelectOption } from '../types/SelectOption'

export const buildOptionGroups = <T, O, G extends string>({ groups, items, getGroup, buildOption }: {
	items: T[],
	groups: Record<G, string>,
	getGroup: (item: T) => G,
	buildOption: (item: T) => SelectOption<O> | undefined
}): SelectGroup<O>[] => {
	const optionGroups = new Map<G, SelectOption<O>[]>

	for (const item of items) {
		const option = buildOption(item)

		if (option) {
			const group = getGroup(item)
			const optionGroup = optionGroups.get(group)

			if (optionGroup) {
				optionGroup.push(option)
			} else {
				optionGroups.set(group, [option])
			}
		}
	}

	return [...optionGroups].map(([group, options]) =>
		({ label: groups[group], options }))
}

Youez - 2016 - github.com/yon3zu
LinuXploit