copy db, connector, and type properties before handing them over to the connector, etc. This prevents some weird errors using y-elements
This commit is contained in:
parent
0521fac8d8
commit
6dd33f4f90
28
src/y.js
28
src/y.js
@ -112,24 +112,28 @@ function Y (opts/* :YOptions */) /* :Promise<YConfig> */ {
|
|||||||
modules.push(opts.share[name])
|
modules.push(opts.share[name])
|
||||||
}
|
}
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
setTimeout(function () {
|
if (opts == null) reject('An options object is expected! ')
|
||||||
Y.requestModules(modules).then(function () {
|
else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
|
||||||
if (opts == null) reject('An options object is expected! ')
|
else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
|
||||||
else if (opts.connector == null) reject('You must specify a connector! (missing connector property)')
|
else if (opts.db == null) reject('You must specify a database! (missing db property)')
|
||||||
else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)')
|
else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
|
||||||
else if (opts.db == null) reject('You must specify a database! (missing db property)')
|
else if (opts.share == null) reject('You must specify a set of shared types!')
|
||||||
else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)')
|
else {
|
||||||
else if (opts.share == null) reject('You must specify a set of shared types!')
|
opts = Y.utils.copyObject(opts)
|
||||||
else {
|
opts.connector = Y.utils.copyObject(opts.connector)
|
||||||
|
opts.db = Y.utils.copyObject(opts.db)
|
||||||
|
opts.share = Y.utils.copyObject(opts.share)
|
||||||
|
setTimeout(function () {
|
||||||
|
Y.requestModules(modules).then(function () {
|
||||||
var yconfig = new YConfig(opts)
|
var yconfig = new YConfig(opts)
|
||||||
yconfig.db.whenUserIdSet(function () {
|
yconfig.db.whenUserIdSet(function () {
|
||||||
yconfig.init(function () {
|
yconfig.init(function () {
|
||||||
resolve(yconfig)
|
resolve(yconfig)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}).catch(reject)
|
||||||
}).catch(reject)
|
}, 0)
|
||||||
}, 0)
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user