|
@@ -1,71 +1,72 @@
|
|
|
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.brikz = f()}})(function(){var define,module,exports;
|
|
|
-function Brikz(api, apiKey, initKey) {
|
|
|
- var brikz = this, backup = {};
|
|
|
- apiKey = apiKey || 'exports';
|
|
|
- initKey = initKey || '__init__';
|
|
|
+define([], function () {
|
|
|
+ return function Brikz(api, apiKey, initKey) {
|
|
|
+ var brikz = this,
|
|
|
+ backup = {};
|
|
|
+ apiKey = apiKey || 'exports';
|
|
|
+ initKey = initKey || '__init__';
|
|
|
|
|
|
- function mixin(src, target, what) {
|
|
|
- for (var keys = Object.keys(what || src), l = keys.length, i = 0; i < l; ++i) {
|
|
|
- if (src == null) {
|
|
|
- target[keys[i]] = undefined;
|
|
|
- } else {
|
|
|
- var value = src[keys[i]];
|
|
|
- if (typeof value !== "undefined") {
|
|
|
- target[keys[i]] = value;
|
|
|
+ function mixin(src, target, what) {
|
|
|
+ for (var keys = Object.keys(what || src), l = keys.length, i = 0; i < l; ++i) {
|
|
|
+ if (src == null) {
|
|
|
+ target[keys[i]] = undefined;
|
|
|
+ } else {
|
|
|
+ var value = src[keys[i]];
|
|
|
+ if (typeof value !== "undefined") {
|
|
|
+ target[keys[i]] = value;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ return target;
|
|
|
}
|
|
|
- return target;
|
|
|
- }
|
|
|
|
|
|
- Object.defineProperties(this, {
|
|
|
- rebuild: {value: null, enumerable: false, configurable: true, writable: true}
|
|
|
- });
|
|
|
- var exclude = mixin(this, {});
|
|
|
-
|
|
|
- this.rebuild = function () {
|
|
|
- Object.keys(backup).forEach(function (key) {
|
|
|
- mixin(null, api, (backup[key] || 0)[apiKey] || {});
|
|
|
+ Object.defineProperties(this, {
|
|
|
+ rebuild: { value: null, enumerable: false, configurable: true, writable: true }
|
|
|
});
|
|
|
- var oapi = mixin(api, {}), order = [], chk = {};
|
|
|
+ var exclude = mixin(this, {});
|
|
|
|
|
|
- function ensure(key) {
|
|
|
- if (key in exclude) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- var b = brikz[key], bak = backup[key];
|
|
|
- mixin(null, api, api);
|
|
|
- while (typeof b === "function") {
|
|
|
- (b.deps || []).forEach(ensure);
|
|
|
- b = new b(brikz, api, bak);
|
|
|
- }
|
|
|
- brikz[key] = b;
|
|
|
- if (b && !chk[key]) {
|
|
|
- chk[key] = true;
|
|
|
- order.push(b);
|
|
|
- }
|
|
|
- if (b && !b[apiKey]) {
|
|
|
- b[apiKey] = mixin(api, {});
|
|
|
- }
|
|
|
- }
|
|
|
+ this.rebuild = function () {
|
|
|
+ Object.keys(backup).forEach(function (key) {
|
|
|
+ mixin(null, api, (backup[key] || 0)[apiKey] || {});
|
|
|
+ });
|
|
|
+ var oapi = mixin(api, {}),
|
|
|
+ order = [],
|
|
|
+ chk = {};
|
|
|
|
|
|
- Object.keys(brikz).forEach(ensure);
|
|
|
- mixin(oapi, mixin(null, api, api));
|
|
|
- order.forEach(function (brik) {
|
|
|
- mixin(brik[apiKey] || {}, api);
|
|
|
- });
|
|
|
- order.forEach(function (brik) {
|
|
|
- if (brik[initKey]) {
|
|
|
- brik[initKey]();
|
|
|
- if (brik[initKey].once) {
|
|
|
- delete brik[initKey];
|
|
|
+ function ensure(key) {
|
|
|
+ if (key in exclude) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ var b = brikz[key],
|
|
|
+ bak = backup[key];
|
|
|
+ mixin(null, api, api);
|
|
|
+ while (typeof b === "function") {
|
|
|
+ (b.deps || []).forEach(ensure);
|
|
|
+ b = new b(brikz, api, bak);
|
|
|
+ }
|
|
|
+ brikz[key] = b;
|
|
|
+ if (b && !chk[key]) {
|
|
|
+ chk[key] = true;
|
|
|
+ order.push(b);
|
|
|
+ }
|
|
|
+ if (b && !b[apiKey]) {
|
|
|
+ b[apiKey] = mixin(api, {});
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- backup = mixin(brikz, {});
|
|
|
- };
|
|
|
-}
|
|
|
|
|
|
-return Brikz;
|
|
|
-
|
|
|
-});
|
|
|
+ Object.keys(brikz).forEach(ensure);
|
|
|
+ mixin(oapi, mixin(null, api, api));
|
|
|
+ order.forEach(function (brik) {
|
|
|
+ mixin(brik[apiKey] || {}, api);
|
|
|
+ });
|
|
|
+ order.forEach(function (brik) {
|
|
|
+ if (brik[initKey]) {
|
|
|
+ brik[initKey]();
|
|
|
+ if (brik[initKey].once) {
|
|
|
+ delete brik[initKey];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ backup = mixin(brikz, {});
|
|
|
+ };
|
|
|
+ };
|
|
|
+});
|