UNPKG

816 BJavaScriptView Raw
1import Backbone from 'backbone';
2
3
4export class BaseModel extends Backbone.Model {
5 url() {
6 var baseUrl = super.url();
7 if (!baseUrl.match(/\/$/)) {
8 return `${baseUrl}/`;
9 }
10 return baseUrl;
11 }
12
13 updateFromProps(props) {
14 var proto = Reflect.getPrototypeOf(this);
15 var hasProps = false;
16 for (let name of Reflect.ownKeys(proto)) {
17 if (Reflect.getOwnPropertyDescriptor(proto, name).set) {
18 if (props[name] !== undefined) {
19 this[name] = props[name];
20 hasProps = true;
21 }
22 }
23 }
24 if (!hasProps) {
25 var protoBase = Reflect.getPrototypeOf(proto);
26 for (let name of Reflect.ownKeys(protoBase)) {
27 if (Reflect.getOwnPropertyDescriptor(protoBase, name).set) {
28 this[name] = props[name];
29 }
30 }
31 }
32
33 }
34}