UNPKG

nuxt-simple-sitemap

Version:

Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.

24 lines (23 loc) 878 B
import { useRuntimeConfig } from "#imports"; export * from "./utils-pure.mjs"; const StringifiedRegExpPattern = /\/(.*?)\/([gimsuy]*)$/; export function normalizeRuntimeFilters(input) { return (input || []).map((rule) => { if (rule instanceof RegExp || typeof rule === "string") return rule; const match = rule.regex.match(StringifiedRegExpPattern); if (match) return new RegExp(match[1], match[2]); return false; }).filter(Boolean); } export function useSimpleSitemapRuntimeConfig() { const clone = JSON.parse(JSON.stringify(useRuntimeConfig()["nuxt-simple-sitemap"])); for (const k in clone.sitemaps) { const sitemap = clone.sitemaps[k]; sitemap.include = normalizeRuntimeFilters(sitemap.include); sitemap.exclude = normalizeRuntimeFilters(sitemap.exclude); clone.sitemaps[k] = sitemap; } return Object.freeze(clone); }