Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
ember-array-computed-macros
Advanced tools
This addon is supplemental to the already existing computed macros existing in Ember.js
This addon is supplemental to the already existing array computed macros existing in Ember.js
maxBy(listProperty, valueProperty)
Takes all values of valueProperty
from listProperty
and then picks the maximum value from that.
Example:
var ContactList = Ember.Component.extend({
highestAge: maxBy('people', 'age')
});
const myContactList = ContactList.create({
people: [
{ first: 'Tom', last: 'Dale', age: 21 },
{ first: 'Yehuda', last: 'Katz', age: 42 }
]
}).
myContactList.get('highestAge') // returns 42
minBy(listPropery, valueProperty)
See maxBy
, except it takes the minimum value instead of the maximum.
orderBy(listProperty, ...sortProperties)
Takes a listProperty
and returns that list sorted by the sortProperties
.
Append :desc
to the sort property to sort in reverse order for that property.
import Ember from 'ember';
import { map } from 'ember-array-computed-macros';
export default Ember.Component.extend({
names: [
{ first: 'Tom', last: 'Dale', age: 21 },
{ first: 'Yehuda', last: 'Katz', age: 42 }
],
orderedNames: orderBy('names', 'last', 'first'. 'age:desc')
});
There is also a variant for groupBy
that works with a dynamic list of
sortProperties called groupByComputedProperty
:
import Ember from 'ember';
import { map } from 'ember-array-computed-macros';
export default Ember.Component.extend({
names: [
{ first: 'Tom', last: 'Dale', age: 21 },
{ first: 'Yehuda', last: 'Katz', age: 42 }
],
nameOrdering: ['last', 'first', 'age:desc'],
orderedNames: orderByComputedProperty('names', 'nameOrdering')
});
groupBy(listProperty, valueProperty)
Pushes all items in listProperty
that have the same value at valueProperty
into an array.
var ContactList = Ember.Component.extend({
groupedByAge: groupBy('people', 'age')
});
const myContactList = ContactList.create({
people: [
{ first: 'Tom', last: 'Dale', age: 21 },
{ first: 'Yehuda', last: 'Katz', age: 42 },
{ first: 'Robert', last: 'Jackson', age: 42 },
{ first: 'Stefan', last: 'Penner', age 33 }
]
}).
myContactList.get('groupedByAge') // returns:
//[
// [
// { first: 'Tom', last: 'Dale', age: 21 }
// ],
// [
// { first: 'Yehuda', last: 'Katz', age: 42 },
// { first: 'Robert', last: 'Jackson', age: 42 }
// ],
// [
// { first: 'Stefan', last: 'Penner', age 33 }
// ]
//]
sumBy(listProperty, valueProperty)
Takes all values of valueProperty
from listProperty
and then sums those values.
Example:
var ContactList = Ember.Component.extend({
collectiveAge: sumBy('people', 'age')
});
const myContactList = ContactList.create({
people: [
{ first: 'Tom', last: 'Dale', age: 21 },
{ first: 'Yehuda', last: 'Katz', age: 42 }
]
}).
myContactList.get('collectiveAge') // returns 53
reverse(listProperty)
Reverses the array at listProperty
with Array.prototype.reverse
.
everyBy(listPropery, valueProperty)
Takes all values of valueProperty
from listProperty
and then checks if all of those values are truthy.
anyBy(listProperty, valueProperty)
Takes all values of valueProperty
from listProperty
and then checks if any of those values are truthy.
The addon re-exports all array computed macros from Ember.js for convenience.
import Ember from 'ember';
import { map } from 'ember-array-computed-macros/decorators';
export default Ember.Component.extend({
names: [
{ first: 'Tom', last: 'Dale' },
{ first: 'Yehuda', last: 'Katz' }
],
@mapBy('names', 'first')
firstNames
});
git clone
this repositorynpm install
bower install
ember server
ember test
ember test --server
ember build
For more information on using ember-cli, visit http://www.ember-cli.com/.
FAQs
This addon is supplemental to the already existing computed macros existing in Ember.js
The npm package ember-array-computed-macros receives a total of 7 weekly downloads. As such, ember-array-computed-macros popularity was classified as not popular.
We found that ember-array-computed-macros demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.