当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript store.helpers类代码示例

本文整理汇总了TypeScript中src/store/store.helpers的典型用法代码示例。如果您正苦于以下问题:TypeScript helpers类的具体用法?TypeScript helpers怎么用?TypeScript helpers使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了helpers类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: createRequestThunk

  getLinodeConfigActions,
  getLinodeConfigsActions,
  updateLinodeConfigActions
} from './config.actions';
import { Entity } from './config.types';

const addLinodeIdToConfig = (linodeId: number) => (
  config: Linode.Config
): Entity => ({
  ...config,
  linode_id: linodeId
});

export const createLinodeConfig = createRequestThunk(
  createLinodeConfigActions,
  ({ linodeId, ...data }) =>
    _createLinodeConfig(linodeId, data).then(addLinodeIdToConfig(linodeId))
);

export const getLinodeConfigs = createRequestThunk(
  getLinodeConfigsActions,
  ({ linodeId }) =>
    _getLinodeConfigs(linodeId)
      .then(({ data }) => data)
      .then(configs => configs.map(addLinodeIdToConfig(linodeId)))
);

export const getLinodeConfig = createRequestThunk(
  getLinodeConfigActions,
  ({ linodeId, configId }) =>
    _getLinodeConfig(linodeId, configId).then(addLinodeIdToConfig(linodeId))
开发者ID:linode,项目名称:manager,代码行数:31,代码来源:config.requests.ts

示例2: removeMany

import { MappedEntityState } from 'src/store/types';
import { isType } from 'typescript-fsa';
import { deleteLinode, deleteLinodeActions } from '../linodes.actions';
import {
  createLinodeDiskActions,
  deleteLinodeDiskActions,
  getAllLinodeDisksActions,
  getLinodeDiskActions,
  getLinodeDisksActions,
  updateLinodeDiskActions
} from './disk.actions';
import { Entity } from './disk.types';

export type State = MappedEntityState<Entity>;

export const defaultState: State = createDefaultState<Entity>();

const reducer: Reducer<State> = (state = defaultState, action) => {
  if (isType(action, deleteLinodeActions.done)) {
    const {
      params: { linodeId }
    } = action.payload;

    const configIdsToRemove = Object.values(state.itemsById)
      .filter(({ linode_id }) => linode_id === linodeId)
      .map(({ id }) => String(id));

    return removeMany(configIdsToRemove, state);
  }

  if (isType(action, deleteLinode)) {
开发者ID:linode,项目名称:manager,代码行数:31,代码来源:disk.reducer.ts

示例3: createRequestThunk

  getLinodeDisksActions,
  resizeLinodeDiskActions,
  updateLinodeDiskActions
} from './disk.actions';
import { Entity } from './disk.types';

const addLinodeIdToDisk = (linodeId: number) => (
  disk: Linode.Disk
): Entity => ({
  ...disk,
  linode_id: linodeId
});

export const createLinodeDisk = createRequestThunk(
  createLinodeDiskActions,
  ({ linodeId, ...data }) =>
    _createLinodeDisk(linodeId, data).then(addLinodeIdToDisk(linodeId))
);

export const getLinodeDisks = createRequestThunk(
  getLinodeDisksActions,
  ({ linodeId }) =>
    _getLinodeDisks(linodeId)
      .then(({ data }) => data)
      .then(disks => disks.map(addLinodeIdToDisk(linodeId)))
);

export const getLinodeDisk = createRequestThunk(
  getLinodeDiskActions,
  ({ linodeId, diskId }) =>
    _getLinodeDisk(linodeId, diskId).then(addLinodeIdToDisk(linodeId))
开发者ID:linode,项目名称:manager,代码行数:31,代码来源:disk.requests.ts


注:本文中的src/store/store.helpers类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。