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