mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-04-25 06:58:30 -04:00
Changed 'server.js' to allow an empty ipwhitelist to allow any and all hosts instead of none as mentioned in the documentation
93 lines
2.4 KiB
JavaScript
93 lines
2.4 KiB
JavaScript
/* Simple JavaScript Inheritance
|
|
* By John Resig http://ejohn.org/
|
|
* MIT Licensed.
|
|
*/
|
|
|
|
// Inspired by base2 and Prototype
|
|
(function () {
|
|
var initializing = false;
|
|
var fnTest = /xyz/.test(function () { xyz; }) ? /\b_super\b/ : /.*/;
|
|
|
|
// The base Class implementation (does nothing)
|
|
this.Class = function () { };
|
|
|
|
// Create a new Class that inherits from this class
|
|
Class.extend = function (prop) {
|
|
var _super = this.prototype;
|
|
|
|
// Instantiate a base class (but only create the instance,
|
|
// don't run the init constructor)
|
|
initializing = true;
|
|
var prototype = new this();
|
|
initializing = false;
|
|
|
|
// Make a copy of all prototype properies, to prevent reference issues.
|
|
for (var name in prototype) {
|
|
prototype[name] = cloneObject(prototype[name]);
|
|
}
|
|
|
|
// Copy the properties over onto the new prototype
|
|
for (var name in prop) {
|
|
// Check if we're overwriting an existing function
|
|
prototype[name] = typeof prop[name] == "function" &&
|
|
typeof _super[name] == "function" && fnTest.test(prop[name]) ? (function (name, fn) {
|
|
return function () {
|
|
var tmp = this._super;
|
|
|
|
// Add a new ._super() method that is the same method
|
|
// but on the super-class
|
|
this._super = _super[name];
|
|
|
|
// The method only need to be bound temporarily, so we
|
|
// remove it when we're done executing
|
|
var ret = fn.apply(this, arguments);
|
|
this._super = tmp;
|
|
|
|
|
|
return ret;
|
|
};
|
|
})(name, prop[name]) : prop[name];
|
|
}
|
|
|
|
// The dummy class constructor
|
|
function Class() {
|
|
// All construction is actually done in the init method
|
|
if (!initializing && this.init) {
|
|
this.init.apply(this, arguments);
|
|
}
|
|
}
|
|
|
|
// Populate our constructed prototype object
|
|
Class.prototype = prototype;
|
|
|
|
// Enforce the constructor to be what we expect
|
|
Class.prototype.constructor = Class;
|
|
|
|
// And make this class extendable
|
|
Class.extend = arguments.callee;
|
|
|
|
return Class;
|
|
};
|
|
})();
|
|
|
|
//Define the clone method for later use.
|
|
//Helper Method
|
|
function cloneObject(obj) {
|
|
if (obj === null || typeof obj !== "object") {
|
|
return obj;
|
|
}
|
|
|
|
var temp = obj.constructor(); // give temp the original obj's constructor
|
|
for (var key in obj) {
|
|
temp[key] = cloneObject(obj[key]);
|
|
|
|
if (key === "lockStrings") {
|
|
Log.log(key);
|
|
}
|
|
}
|
|
|
|
return temp;
|
|
}
|
|
|
|
/*************** DO NOT EDIT THE LINE BELOW ***************/
|
|
if (typeof module !== "undefined") { module.exports = Class; }
|