{"version":3,"sources":["../../src/lib/createVanillaStore.ts"],"sourcesContent":["import { createStore as createStoreVanilla } from 'zustand/vanilla';\n\nimport { buildStateCreator } from '../internal/buildStateCreator';\nimport { createBaseApi } from '../internal/createBaseApi';\nimport { storeFactory } from '../internal/storeFactory';\nimport { DefaultMutators, TBaseStoreOptions, TState } from '../types';\n\nimport type { TBaseStateApi } from '../types/baseStore';\nimport type { StateCreator, StoreMutatorIdentifier } from 'zustand';\n\nexport const createVanillaStore = <\n  StateType extends TState,\n  Mps extends [StoreMutatorIdentifier, unknown][] = [],\n  Mcs extends [StoreMutatorIdentifier, unknown][] = [],\n  CreateStoreOptions extends\n    TBaseStoreOptions<StateType> = TBaseStoreOptions<StateType>,\n>(\n  initializer: StateType | StateCreator<StateType, Mps, Mcs>,\n  options: CreateStoreOptions\n) => {\n  type Mutators = [...DefaultMutators<StateType, CreateStoreOptions>, ...Mcs];\n\n  const builder = buildStateCreator(initializer, options);\n  const store = createStoreVanilla(builder.stateCreator);\n\n  const baseApi = createBaseApi<StateType, Mutators, {}, {}>(store, {\n    name: builder.name,\n    isMutative: builder.isMutative,\n  });\n\n  return storeFactory(baseApi);\n};\n\nexport type TCreateVanillaStoreReturn<\n  StateType extends TState,\n  Mutators extends [StoreMutatorIdentifier, unknown][] = [],\n  TActions extends Record<string, (...args: any[]) => any> = {},\n  TSelectors extends Record<string, (...args: any[]) => any> = {},\n> = TBaseStateApi<StateType, Mutators, TActions, TSelectors>;\n"],"mappings":";;;;;;;;;AAAA,SAAS,eAAe,0BAA0B;AAU3C,IAAM,qBAAqB,CAOhC,aACA,YACG;AAGH,QAAM,UAAU,kBAAkB,aAAa,OAAO;AACtD,QAAM,QAAQ,mBAAmB,QAAQ,YAAY;AAErD,QAAM,UAAU,cAA2C,OAAO;AAAA,IAChE,MAAM,QAAQ;AAAA,IACd,YAAY,QAAQ;AAAA,EACtB,CAAC;AAED,SAAO,aAAa,OAAO;AAC7B;","names":[]}