GithubHelp home page GithubHelp logo

mleko / typescript-object-utils Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 43 KB

Immutable object manipulation helper methods

License: MIT License

TypeScript 100.00%
manipulation-methods typescript immutable object

typescript-object-utils's Introduction

typescript-object-utils

Immutable object manipulation methods

NPM Build Status

Installation

Library can be installed via npm.

$ npm install typescript-object-utils

Examples

shallowEquals

import {shallowEquals} from "typescript-object-utils";
shallowEquals({a: 1, b: 2}, {a: 1, b: 2});
 //=> true

merge

import {merge} from "typescript-object-utils";
const x = {a: 1, b: 2};
const y = {b: 2, c: 3};

const r = merge(x, y); r;
 //=> { a: 1, b: 2, c: 3 }
 
const s = merge(x, x); s;
 //=> {a: 1, b: 2}
x === s;
 //=> false

shallowMerge

import {shallowMerge} from "typescript-object-utils";
const x = {a: 1, b: 2, c: 3};
const y = {c: 5, d: 4};
const z = {a: 1, b: 2};

const r = shallowMerge(x, y); r;
 //=> { a: 1, b: 2, c: 5, d: 4 }

const s = shallowMerge(x, x); s;
 //=> { a: 1, b: 2, c: 3 }
x === s;
 //=> true

const t = shallowMerge(x, z); t;
 //=> { a: 1, b: 2, c: 3 }
x === t;
 //=> true

mergeDeep

import {mergeDeep} from "typescript-object-utils";
const x = {a: 1, b: {c: 3}};
const y = {b: {c: 3, d: 4}};
const z = {b: {c: 3}};

const r = mergeDeep(x, y); r;
 //=> { a: 1, b: { c: 3, d: 4 } }
 
const s = mergeDeep(x, z); s;
 //=> { a: 1, b: { c: 3 } }
x === s;
 //=> false

shallowMergeDeep

import {shallowMergeDeep} from "typescript-object-utils";
const x = {a: 1, b: {c: 3}};
const y = {b: {c: 3, d: 4}};
const z = {b: {c: 3}};

const r = shallowMergeDeep(x, y); r;
 //=> { a: 1, b: { c: 3, d: 4 } }
 
const s = shallowMergeDeep(x, z); s;
 //=> { a: 1, b: { c: 3 } }
x === s;
 //=> true

objectMap

import {objectMap} from "typescript-object-utils";
const obj = {a: 1, b: 2};

objectMap(obj, v => String(v*2))
 //=> { a: '2', b: '4' }

objectMap

import {objectReduce} from "typescript-object-utils";
const obj = {a: 1, b: 2};

objectReduce(obj, (acc, v) => acc + v, 0)
 //=> 3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.