![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
backbone-hypermedia
Advanced tools
Backbone plugin providing support for following hypermedia controls from Backbone models and collections.
Backbone plugin providing support for following hypermedia controls from Backbone models and collections.
Assuming a resource with a links
property, something like this:
{
"name": {
"first" : "Joe",
"last": "Bloggs"
},
"links" : [
{ "rel": "country", "href": "/countries/GB" }
]
}
Define a corresponding Backbone model by extending Backbone.HypermediaModel
(instead of Backbone.Model
):
var User = Backbone.HypermediaModel.extend({
...
});
Then define a links
property for the model like this:
links: {
'country': Country,
'timezone': TimeZone
}
Each key corresponds to the rel
value of a link which may be present when the model is fetched from the server. The value defines the type of Backbone model you would like to be constructed based on that relation, so in this example Country
and TimeZone
are Backbone models (which must themselves extend Backbone.HypermediaModel
).
Backbone.HypermediaModel
overrides fetch
so that for each link found in the response, if there is a corresponding value in the links property on your model, then the related model will also be fetched and a property added to your model under the same key. The return value of fetch
is a promise which represents the collective fetch operations for the model and all related resources.
By using the promise returned from fetch
you can wait until all related resources are fetched before rendering your view:
user.fetch().then(function () {
// show user view
});
You can also add a links
property to each related resource and have those relations followed as well, if you need to.
toJSON
will include any related models which have been added to your model as properties.
bower install backbone-hypermedia
npm install backbone-hypermedia
Install-Package backbone.hypermedia
Prior to publishing a new version of the package, you must run the following commands to configure your NuGet and npm credentials. You should only need to do this once.
npm adduser
grunt nugetkey --key=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Once you have entered your credentials, you will have to get yourself added as a maintainer to both nuget and npm. Then you can publish to npm and NuGet by running one of the following tasks:
grunt publish:patch
Increments patch version in package.json, publishes to npm and NuGet. A short-hand command is grunt publish
.
grunt publish:minor
As before, but bumps minor version.
grunt publish:major
As before, but bumps major version.
The publish task will create an appropriate semver tag which Bower will detect as a new version.
FAQs
Backbone plugin providing support for following hypermedia controls from Backbone models and collections.
We found that backbone-hypermedia demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 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.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.