UNPKG

nuxt-radashi

Version:
31 lines (28 loc) 951 B
import { defineNuxtModule, addImports } from '@nuxt/kit'; import * as radashi from 'radashi'; const module = defineNuxtModule({ meta: { name: "nuxt-radashi", configKey: "radashi", compatibility: { nuxt: "^4.0.0" } }, defaults: { prefix: "use", prefixSkip: "is", alias: [], upperAfterPrefix: true }, setup(options, nuxt) { const aliasMap = new Map(options.alias); const prefixSkip = options.prefixSkip ? Array.isArray(options.prefixSkip) ? options.prefixSkip : [options.prefixSkip] : []; for (const name of Object.keys(radashi)) { const alias = aliasMap.has(name) ? aliasMap.get(name) : name; const prefix = !prefixSkip.some((key) => alias.startsWith(key)) && options.prefix || ""; const as = prefix ? prefix + (options.upperAfterPrefix ? radashi.pascal(alias) : alias) : alias; addImports({ name, as, from: "radashi" }); } } }); export { module as default };