How to use the updeep.map function in updeep

To help you get started, we’ve selected a few updeep examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github substantial / updeep / types / tests.ts View on Github external
u({ this: 2 })(true); // UpdateReturnMap<{ this: number; }>
u({ this: 2 })({ that: 3 }); // $ExpectType object


u.ifElse(false as boolean, { a: 1 }, { a: 2 }, { a: 3 }); // $ExpectType object
u.ifElse(false as boolean, "foo", 3, { a: 3 }); // $ExpectType 3 | "foo"
u.ifElse(false, "foo", 3, { a: 3 }); // $ExpectType 3
u.ifElse(true, "foo", 3, { a: 3 }); // $ExpectType "foo"

// *** map ***
const inc = (i:number) => i+1;

u.map(inc, [1,2,3]); // $ExpectType number[]
u.map(inc, ["potato"]); // $ExpectType number[]
u.map({a:1},{a:2});  // $ExpectType Mapped<{ a: number; }, { a: number; }>

u.omit('bar', { }); // $ExpectType object
u.omit(['bar'], { }); // $ExpectType object

u.omitBy([ 'banana' ], { } ); // $ExpectError

// *** constant ***

// $ExpectType { banana: number; }
u.constant({ banana: 1 })('foo');

/// *** freeze ***

// $ExpectType { potato: number; }
u.freeze({ potato: 1 });
github substantial / updeep / types / tests.ts View on Github external
u({ this: 2 })({ that: 3 }); // $ExpectType object

u({ this: 2 })(true); // UpdateReturnMap<{ this: number; }>
u({ this: 2 })({ that: 3 }); // $ExpectType object


u.ifElse(false as boolean, { a: 1 }, { a: 2 }, { a: 3 }); // $ExpectType object
u.ifElse(false as boolean, "foo", 3, { a: 3 }); // $ExpectType 3 | "foo"
u.ifElse(false, "foo", 3, { a: 3 }); // $ExpectType 3
u.ifElse(true, "foo", 3, { a: 3 }); // $ExpectType "foo"

// *** map ***
const inc = (i:number) => i+1;

u.map(inc, [1,2,3]); // $ExpectType number[]
u.map(inc, ["potato"]); // $ExpectType number[]
u.map({a:1},{a:2});  // $ExpectType Mapped<{ a: number; }, { a: number; }>

u.omit('bar', { }); // $ExpectType object
u.omit(['bar'], { }); // $ExpectType object

u.omitBy([ 'banana' ], { } ); // $ExpectError

// *** constant ***

// $ExpectType { banana: number; }
u.constant({ banana: 1 })('foo');

/// *** freeze ***

// $ExpectType { potato: number; }
u.freeze({ potato: 1 });
github d6u / redux-chat / js / reducers / messages.js View on Github external
export default function messages(state = {}, action) {

  switch (action.type) {

    case ActionTypes.CLICK_THREAD: {
      let markRead = u({isRead: true});
      return u(
        u.map(m => m.threadID === action.threadID ? markRead(m) : m),
        state);
    }

    case ActionTypes.CREATE_MESSAGE: {
      return {
        ...state,
        [action.message.id]: action.message
      };
    }

    case ActionTypes.RECEIVE_RAW_CREATED_MESSAGE: {
      let message = ChatMessageUtils.convertRawMessage(action.rawMessage);
      message.isRead = true;
      return compose(
        u({[message.id]: message}),
        u(u.omit(action.tempMessageID))
github d6u / redux-chat / js / reducers / messages.js View on Github external
};
    }

    case ActionTypes.RECEIVE_RAW_CREATED_MESSAGE: {
      let message = ChatMessageUtils.convertRawMessage(action.rawMessage);
      message.isRead = true;
      return compose(
        u({[message.id]: message}),
        u(u.omit(action.tempMessageID))
      )(state);
    }

    case ActionTypes.RECEIVE_RAW_MESSAGES: {
      let lastThreadID = last(action.rawMessages).threadID;
      let messages = indexBy(action.rawMessages, 'id');
      let formatMessage = u.map(message => u({
        isRead: message.threadID === lastThreadID,
        date: new Date(message.timestamp)
      }, message));
      let updated = u(formatMessage, messages);
      return {...state, ...updated};
    }

    default:
      return state;

  }

}
github d6u / redux-chat / js / reducers / threads.js View on Github external
case ActionTypes.RECEIVE_RAW_CREATED_MESSAGE: {
      let {rawMessage: message, tempMessageID} = action;
      return u({
        [message.threadID]: {
          lastMessage: message.id,
          messages: arr =>
            u.reject(id => id === tempMessageID, arr).concat([message.id])
        }
      }, state);
    }

    case ActionTypes.RECEIVE_RAW_MESSAGES: {
      let threads = groupBy(action.rawMessages, 'threadID');
      let updated = u(
        u.map(messages => {
          return {
            id: messages[0].threadID,
            threadName: messages[0].threadName,
            lastMessage: last(messages).id,
            messages: pluck(messages, 'id')
          };
        }),
        threads);
      return {...state, ...updated};
    }

    default:
      return state;
  }

}

updeep

Easily update nested frozen objects and arrays in a declarative and immutable manner.

MIT
Latest version published 1 year ago

Package Health Score

60 / 100
Full package analysis