react-generate-comp
Version:
Generate React components in current execute directory by typing with CLI.
46 lines (42 loc) • 1.27 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.genZustand = void 0;
const bigSmallLetter_1 = require("./bigSmallLetter");
function genZustand(storeName = '', isTypescript = true) {
const [bigLetterSliceName, lowLetterSliceName] = (0, bigSmallLetter_1.strToSmallAndBig)(storeName);
let genText = isTypescript ? `import { create } from 'zustand'
import { devtools, persist } from 'zustand/middleware'
interface ${bigLetterSliceName}State {
data: number
increase: (by: number) => void
}
const use${bigLetterSliceName}Store = create<${bigLetterSliceName}State>()(
devtools(
persist(
(set) => ({
data: 0,
increase: (by) => set((state) => ({ data: state.data + by })),
}),
{ name: '${lowLetterSliceName}-storage' }
)
)
)
`
: `
import { create } from 'zustand'
import { devtools, persist } from 'zustand/middleware'
const use${bigLetterSliceName}Store = create()(
devtools(
persist(
(set) => ({
data: 0,
increase: (by) => set((state) => ({ data: state.data + by })),
}),
{ name: '${lowLetterSliceName}-storage' }
)
)
)
`;
return genText;
}
exports.genZustand = genZustand;