
import { DatabaseMultiplexer } from '../../data-structures/database'

import { PREPARE_PROVIDER_FOR_USE } from './PREPARE_PROVIDER_FOR_USE'

import { createItemId } from './create-item-id'
import { createItemStore } from './create-item-store'
import { createItem } from './create-item'
import { deleteItem } from './delete-item'
import { doesExistItem } from './does-exist-item'
import { getItemList } from './get-item-list'
import { getItem } from './get-item'
import { updateItem } from './update-item'

function getMultiplexer (): DatabaseMultiplexer {
  return {
    PREPARE_PROVIDER_FOR_USE,
    createItem,
    createItemId,
    createItemStore,
    getItem,
    getItemList,
    updateItem,
    deleteItem,
    doesExistItem
  }
}

export {
  getMultiplexer
}