| 147 | cb(); |
| 148 | }; |
| 149 | var getInstanceData = function () { |
| 150 | var data = {}, prop; |
| 151 | for (var k in opts.data) { |
| 152 | if (!opts.data.hasOwnProperty(k)) continue; |
| 153 | prop = Model.allProperties[k]; |
| 154 | |
| 155 | if (prop) { |
| 156 | /* |
| 157 | if (opts.data[k] == null && (prop.type == 'serial' || typeof prop.defaultValue == 'function')) { |
| 158 | continue; |
| 159 | } |
| 160 | */ |
| 161 | |
| 162 | if (opts.driver.propertyToValue) { |
| 163 | data[k] = opts.driver.propertyToValue(opts.data[k], prop); |
| 164 | } else { |
| 165 | data[k] = opts.data[k]; |
| 166 | } |
| 167 | } else { |
| 168 | data[k] = opts.data[k]; |
| 169 | } |
| 170 | } |
| 171 | |
| 172 | return data; |
| 173 | }; |
| 174 | var waitHooks = function (hooks, next) { |
| 175 | var nextHook = function () { |
| 176 | if (hooks.length === 0) { |