AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { getLiquidTokens } from '@/content-linter/lib/helpers/liquid-utils'
import type { TagToken } from 'liquidjs'
import { TokenKind } from 'liquidjs'
// Type guard to check if a token is a TagToken
function isTagToken(token: unknown): token is TagToken {
return (
token !== null &&
typeof token === 'object' &&
'kind' in token &&
token.kind === TokenKind.Tag &&
'name' in token &&
typeof token.name === 'string' &&
'args' in token
)
}
const parsedLiquidTokensCache = new Map<string, TagToken[]>()
export function inLiquid(filePath: string, fileContents: string, needle: string) {
if (!parsedLiquidTokensCache.has(filePath)) {
parsedLiquidTokensCache.set(filePath, getLiquidTokens(fileContents).filter(isTagToken))
}
const tokens = parsedLiquidTokensCache.get(filePath)!
for (const token of tokens) {
if (token.name === 'data') {
const { args } = token
if (args === needle) {
return true
}
}
}
return false
}