當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。