| 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/StockAdjust/wp-content/plugins/code-snippets/js/utils/snippets/ |
Upload File : |
import { __ } from '@wordpress/i18n'
import { parseSnippetObject } from './objects'
import type { Snippet, SnippetType } from '../../types/Snippet'
const PRO_TYPES = new Set<SnippetType>(['css', 'js', 'cond'])
export const createSnippetObject = (fields: unknown): Snippet =>
parseSnippetObject(fields)
export const getSnippetType = ({ scope }: Pick<Snippet, 'scope'>): SnippetType => {
switch (true) {
case scope.endsWith('-css'):
return 'css'
case scope.endsWith('-js'):
return 'js'
case scope.endsWith('content'):
return 'html'
case 'condition' === scope:
return 'cond'
default:
return 'php'
}
}
export const validateSnippet = (snippet: Snippet): undefined | string => {
const missingTitle = '' === snippet.name.trim()
const missingCode = '' === snippet.code.trim()
switch (true) {
case missingCode && missingTitle:
return __('This snippet has no code or title.', 'code-snippets')
case missingCode:
return __('This snippet has no snippet code.', 'code-snippets')
case missingTitle:
return __('This snippet has no title.', 'code-snippets')
default:
return undefined
}
}
export const isCondition = (snippet: Pick<Snippet, 'scope'>): boolean =>
'condition' === snippet.scope
export const isProSnippet = (snippet: Pick<Snippet, 'scope'>): boolean =>
PRO_TYPES.has(getSnippetType(snippet))
export const isProType = (type: SnippetType): boolean =>
PRO_TYPES.has(type)