parent
36dd43b3b2
commit
19f00e1b4b
|
@ -25,10 +25,21 @@ let getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function(obj
|
||||||
}, {});
|
}, {});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function setConstructorOnPrototype(klass) {
|
||||||
|
if (klass.prototype.constructor !== klass) {
|
||||||
|
Object.defineProperty(klass.prototype, 'constructor', { value: klass, configurable: true, writable: true });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function(realmConstructor) {
|
module.exports = function(realmConstructor) {
|
||||||
// Add the specified Array methods to the Collection prototype.
|
// Add the specified Array methods to the Collection prototype.
|
||||||
Object.defineProperties(realmConstructor.Collection.prototype, require('./collection-methods'));
|
Object.defineProperties(realmConstructor.Collection.prototype, require('./collection-methods'));
|
||||||
|
|
||||||
|
setConstructorOnPrototype(realmConstructor.Collection);
|
||||||
|
setConstructorOnPrototype(realmConstructor.List);
|
||||||
|
setConstructorOnPrototype(realmConstructor.Results);
|
||||||
|
setConstructorOnPrototype(realmConstructor.Object);
|
||||||
|
|
||||||
// Add sync methods
|
// Add sync methods
|
||||||
if (realmConstructor.Sync) {
|
if (realmConstructor.Sync) {
|
||||||
let userMethods = require('./user-methods');
|
let userMethods = require('./user-methods');
|
||||||
|
@ -51,6 +62,9 @@ module.exports = function(realmConstructor) {
|
||||||
process.exit(99);
|
process.exit(99);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setConstructorOnPrototype(realmConstructor.Sync.User);
|
||||||
|
setConstructorOnPrototype(realmConstructor.Sync.Session);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Remove this now useless object.
|
// TODO: Remove this now useless object.
|
||||||
|
|
|
@ -48,10 +48,7 @@ class ObjectWrap {
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSObjectRef create_constructor(JSContextRef ctx) {
|
static JSObjectRef create_constructor(JSContextRef ctx) {
|
||||||
JSObjectRef constructor = JSObjectMake(ctx, get_constructor_class(), nullptr);
|
return JSObjectMake(ctx, get_constructor_class(), nullptr);
|
||||||
JSObjectRef prototype = (JSObjectRef)Object::get_property(ctx, constructor, "prototype");
|
|
||||||
Object::set_property(ctx, prototype, "constructor", constructor);
|
|
||||||
return constructor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSClassRef get_class() {
|
static JSClassRef get_class() {
|
||||||
|
|
Loading…
Reference in New Issue