Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

like-ar

Package Overview
Dependencies
Maintainers
4
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

like-ar

Using objects like arrays with map, filter, forEach and others coming soon.

  • 0.3.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
360
decreased by-5.76%
Maintainers
4
Weekly downloads
 
Created
Source

like-ar

Using objects like arrays with map, filter, forEach and others coming soon.

extending npm-version downloads build coverage dependencies

language: English also available in: Spanish

Install

$ npm install like-ar

Usage

The function likeAr wraps an object. The wraped object can be used like an array with some array functions: forEach, map, filter y join.

These functions receive a callback in the same way that the array version does.

var likeAr = require('like-ar');

var object={
    lastName:'Perez',
    firstName:'Diego',
    phone:'+45-11-2222-3333'
}

likeAr(object).forEach(function(value, attrName, object){
    console.log(attrName,':',value);
});

console.log(
    likeAr(object).filter(function(value, attrName){
        return attrName.contains('Name');
    }).map(function(value,attrName){
        return attrName+':'+value
    }).join(', ')
);

API

likeAr(object)

The callback functions receive these parameters: value, key and the original object. The functions that in the Array case returns Arrays returns a chainable object.

functionreturned value
forEach(cb, this)undefined
map(cb, this)chainable object with the same keys and the value mapeds
filter(db, this)chainable object with the same keys and values for only that key/value that returns true in the callback function
join(separator)string with the join of the values
array()array of values
keys()array of keys
plain()plain object without likeAr functions

likeAr(object).build(cb(value, key))

Builds a new object with new keys.

The callback function must return a {key: value} object to compose the final result.

var pairs=[{field:'lastName', value:'Perez'}, {field:'firstName', value:'Diego'}];

console.log(likeAr(pairs).build(funciton(pair){ return {[pair.field]: pair.value}; ));
// {lastName: "Perez", firstName: "Diego"}

var toJoin=[{lastName:'Perez'}, {firstName:'Diego'}];

console.log(likeAr(toJoin).build(funciton(objectWithOneKey){ return objectWithOneKey; ));
// {lastName: "Perez", firstName: "Diego"}

likeAr.toPlainObject(array [,keyName [,valueName]])

likeAr.toPlainObject(arrayOfKeys, arrayOfValues)

Returns a plain object from an array of pairs (or a pair of arrays) of key/values.

Default values: 0 and 1 if keyName is not set. "value" for valueName if keyName is set.

Usage

var likeAr = require('like-ar');

var pairs=[['lastName', 'Perez'], ['firstName', 'Diego']];

console.log(likeAr.toPlainObject(pairs));

var pairs=[{field:'lastName', value:'Perez'}, {field:'firstName', value:'Diego'}];

console.log(likeAr.toPlainObject(pairs, 'field'));

likeAr.createIndex(array:T[],keyName:string):{[k:string]: T}

Returns a plain object containing the same element indexed by keyName

Usage

var likeAr = require('like-ar');

var persons=[{name:'Diego', lastName:'Rivera', age:30}, {name:'Frida', lastName:'Kahlo'}];

var idxPersons=likeAr.createIndex(persons, 'lastName');

idxPersons.Kahlo.age=20;

console.log(persons[1].age); // 20

License

MIT

FAQs

Package last updated on 09 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc