Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
ember-flexure
Advanced tools
Flexure is a library for helping you manage data and communicate with servers in Ember.js.
It's designed to fill the niche between when Ember Data is too heavy or opinionated for your needs, but raw ajax and javascript objects are not enough.
Its primary goal is to help you get your data into Ember objects that you can do useful things with, like define computed properties or manage simple relationships.
A bower component is forthcoming.
You should be using the new Ember resolver, preferably via ember-cli.
To define a model, create subclass EF.Model. For example,
// app/models/person.js
export default EF.Model.extend({
name: EF.attr("string"),
hobbies: EF.hasMany("hobby"),
isNice: EF.attr("boolean", {default: true}),
isNotNice: Ember.computed.not("isNice"),
});
// app/models/hobby.js
export default EF.Model.extend({
name: EF.attr("string"),
skill: Ef.attr("number"),
});
In Ember Data, you would pull your models out of the store. Flexure, on the other hand, does not have an identity map; the term "store" didn't feel right. Flexure instead provides Models, a utility class for creating model instances.
This object is automatically injected into your routes and controllers as the
models
property.
As a basic example,
// app/routes/index.js
export default Ember.Route.extend({
model: function() {
this.models.make("person", {
name: "Jereth",
isNice: false,
hobbies: [
{
name: "Ruling Goblins",
skill: 7,
},
{
name: "Babysitting",
skill: 0,
},
{
name: "Hair",
skill: 10,
},
]
});
}
});
Note that the objects under hobbies
will automatically be converted into
instances of model:hobby
, as defined in the previous section.
Models also provide basic support for managing:
Flexure also provides a utility object for communicating with your server.
To define it, subclass EF.API and register it as api:application
. This object
is automatically injected into your routes and controllers, and has access to
Models
.
// app/apis/application.js
export default EF.API.extend({
host: "//api.mydomain.com",
headers: {
"X-My-Auth-Token": "xxxx"
}
findPerson: function(name) {
var models = this.models;
return this.request({
type: "GET", //default
path: "person/" + name,
}).then(function(data) {
return models.make("person", data);
});
}
});
MIT License.
FAQs
A simple model framework for Ember.js
The npm package ember-flexure receives a total of 0 weekly downloads. As such, ember-flexure popularity was classified as not popular.
We found that ember-flexure demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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 uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.