import { RootState } from '../index';

export * from './{{camelCase model}}Slice';

export const selectAll{{pascalCase model}}s = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.all{{pascalCase model}}s;

export const selectAll{{pascalCase model}}sStatus = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.all{{pascalCase model}}sStatus;

export const selectAll{{pascalCase model}}sError = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.all{{pascalCase model}}sError;

export const selectOne{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.one{{pascalCase model}};

export const selectOne{{pascalCase model}}Status = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.one{{pascalCase model}}Status;

export const selectOne{{pascalCase model}}Error = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.one{{pascalCase model}}Error;

export const selectCreate{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.create{{pascalCase model}};

export const selectCreated{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.created{{pascalCase model}};

export const selectCreate{{pascalCase model}}Status = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.create{{pascalCase model}}Status;

export const selectCreate{{pascalCase model}}Error = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.create{{pascalCase model}}Error;

export const selectUpdate{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.update{{pascalCase model}};

export const selectUpdated{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.updated{{pascalCase model}};

export const selectUpdate{{pascalCase model}}Status = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.update{{pascalCase model}}Status;

export const selectUpdate{{pascalCase model}}Error = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.update{{pascalCase model}}Error;

export const selectDeleted{{pascalCase model}} = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.deleted{{pascalCase model}};

export const selectDelete{{pascalCase model}}Status = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.delete{{pascalCase model}}Status;

export const selectDelete{{pascalCase model}}Error = ({
  {{camelCase model}}
}: RootState) => {{camelCase model}}.delete{{pascalCase model}}Error;
