can-connect/can/base-map/base-map
Create connection with many of the best behaviors in can-connect and hook it up to a can-define/map/map.
Deprecated 5.0
Use can-realtime-rest-model instead.
baseMap(options)
Creates a connection with the following behaviors: constructor, can/map, constructor/store, data/callbacks, data/callbacks-cache, can-connect/data/parse/parse, data/url, real-time, constructor/callbacks-once.
Use
The can-connect/can/base-map
module exports a helper function that creates a connection
with the "standard" behaviors in can-connect and hooks it up to a
can-define/map/map and can-define/list/list.
If you are using CanJS, this is an easy way to create a connection that can be useful and fast in most circumstances.
To use it, first define a Map and List constructor function:
const Todo = DefineMap.extend( { /* ... */ } );
const TodoList = DefineList.extend( {
"#": Todo
// ...
} );
Next, call baseMap
with all of the options needed by the behaviors that baseMap
adds:
var todoConnection = baseMap({
Map: Todo,
List: TodoList,
url: "/services/todos",
name: "todo"
});
As, can/map adds CRUD methods to the Map
option, you can use those to create,
read, update and destroy todos:
Todo.getList({}).then(function(todos){ ... });
Todo.get({}).then(function(todo){ ... });
new Todo({name: "dishes"}).save().then(function(todo){
todo.attr({
name: "Do the dishes"
})
.save()
.then(function(todo){
todo.destroy();
});
});