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


TypeScript actions.isType函数代码示例

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


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

示例1: mockable

export const sendActionToServer = (action: Action<any>):Promise<any> => {
  const pathname = mockable(() => location.pathname)
  const requester = mockable(() => jsonRequest)
  const url_token = pathname.split('/')[3]

  if (isType(action, createStickyAction)) {
    return requester({uri: '/api/stickies', method: 'POST', body: combine(action.payload, {url_token})})
  }

  if (isType(action, interactionFinishedStickyAction)) {
    const sticky = getState().stickies.get(action.payload.uuid)
    const command = {
      x: sticky.x,
      y: sticky.y,
      uuid: action.payload.uuid,
      url_token,
      body: sticky.body
    }
    
    return requester({uri: '/api/stickies', method: 'PUT', body: command})
  }

  console.error('Warning: Unhandled persistence action: ', action.type)
  return Promise.resolve()
}
开发者ID:mlawrie,项目名称:sticky-board,代码行数:25,代码来源:sendActionToServer.ts

示例2:

export const boardReducers = (state: Board = {initialLoadPending: true, name: '', notFound: false}, action: Action<any>): Board => {
  if (isType(action, boardLoadedAction)) {
    return {initialLoadPending: false, name: action.payload.name, notFound: false}
  }
  
  if (isType(action, boardNotFoundAction)) {
    return {initialLoadPending: false, name: '', notFound: true}
  }
  
  return state
}
开发者ID:mlawrie,项目名称:sticky-board,代码行数:11,代码来源:boardReducers.ts

示例3:

export const persistenceQueueReducers = (state: PersistenceQueue = Immutable.List<QueueItem>(), action: Action<any>): PersistenceQueue => {
  if (isType(action, createStickyAction) || isType(action, interactionFinishedStickyAction)) {
    return state.push(makeQueueItem(action))   
  }

  if(isType(action, persistenceQueueSuccessAction)) {
    const queueUuid = action.payload.queueUuid
    return state.filter((value) => typeof value !== 'undefined' && value.queueUuid != queueUuid).toList()
  }
  
  return state
}
开发者ID:mlawrie,项目名称:sticky-board,代码行数:12,代码来源:persistenceQueueReducers.ts

示例4: modifySticky

export const stickiesReducers = (state: Stickies = Immutable.Map<string, Sticky>(), action: Action<any>): Stickies => {
  const getUuuid = (sticky:Sticky) => state.keyOf(sticky)
  
  if (isType(action, createStickyAction) || isType(action, loadStickyFromServerAction)) {
    const sticky = {
      x: action.payload.x,
      y: action.payload.y,
      editing: false,
      body: action.payload.body,
      z: state.size + 1
    }
    return state.set(action.payload.uuid, sticky)
  }
   
  if (isType(action, updateStickyAction)) {
    const sticky = modifySticky(state.get(action.payload.uuid), {
      x: action.payload.x,
      y: action.payload.y,
      editing: action.payload.editing,
      body: action.payload.body
    })
    return state.map(markNotEdited).toMap().set(action.payload.uuid, sticky)
  }
  
  if (isType(action, moveStickyToTopAction)) {
    const existingSticky = state.get(action.payload.uuid)
    const foregroundSticky = modifySticky(existingSticky, {z: state.size})
   
    const otherUuids = state.keySeq().toArray().filter((uuid) => uuid !== action.payload.uuid)
    const sorted = otherUuids.map((uuid) => ({uuid, sticky: state.get(uuid)}))
        .sort((a, b) => a.sticky.z - b.sticky.z)
   
    
    const assignZ = (sticky:Sticky) => modifySticky(sticky, {z: 1 + lodash.findIndex(sorted, (el) => el.uuid === getUuuid(sticky))})
    
    return state.map(assignZ).toMap().set(action.payload.uuid, foregroundSticky)
  }
  
  if (isType(action, removeStickyAction)) {
    return state.filter((value, key) => key != action.payload.uuid).toMap()
  }
  
  return state
}
开发者ID:mlawrie,项目名称:sticky-board,代码行数:44,代码来源:stickyReducers.ts

示例5:

export const canvasReducers = (state: Canvas = {x: 0, y: 0}, action: Action<any>): Canvas => {
  if (isType(action, moveCanvasPositionAction)) {
    return {x: state.x + action.payload.x, y: state.y + action.payload.y}
  }
  return state
}
开发者ID:mlawrie,项目名称:sticky-board,代码行数:6,代码来源:canvasReducers.ts


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