PaiGramDocs/scripts/utils.ts
2023-10-21 13:28:21 +08:00

33 lines
880 B
TypeScript

import { resolve } from 'node:path'
import Git from 'simple-git'
export const git = Git()
export const DOCS_URL = 'https://docs.paimon.vip/'
export const DIR_ROOT = resolve(__dirname, '..')
export const DIR_SRC = resolve(__dirname, '../docs')
export function replacer(code: string, value: string, key: string, insert: 'head' | 'tail' | 'none' = 'none') {
const START = `<!--${key}_STARTS-->`
const END = `<!--${key}_ENDS-->`
const regex = new RegExp(`${START}[\\s\\S]*?${END}`, 'im')
const target = value ? `${START}\n${value}\n${END}` : `${START}${END}`
if (!code.match(regex)) {
if (insert === 'none')
return code
else if (insert === 'head')
return `${target}\n\n${code}`
else
return `${code}\n\n${target}`
}
return code.replace(regex, target)
}
export function uniq<T extends any[]>(a: T) {
return Array.from(new Set(a))
}