Complete Email Sortierer implementation with Appwrite and Stripe integration
This commit is contained in:
58
server/node_modules/@acemir/cssom/lib/CSSOM.js
generated
vendored
Normal file
58
server/node_modules/@acemir/cssom/lib/CSSOM.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
var CSSOM = {
|
||||
/**
|
||||
* Creates and configures a new CSSOM instance with the specified options.
|
||||
*
|
||||
* @param {Object} opts - Configuration options for the CSSOM instance
|
||||
* @param {Object} [opts.globalObject] - Optional global object to be assigned to CSSOM objects prototype
|
||||
* @returns {Object} A new CSSOM instance with the applied configuration
|
||||
* @description
|
||||
* This method creates a new instance of CSSOM and optionally
|
||||
* configures CSSStyleSheet with a global object reference. When a globalObject is provided
|
||||
* and CSSStyleSheet exists on the instance, it creates a new CSSStyleSheet constructor
|
||||
* using a factory function and assigns the globalObject to its prototype's __globalObject property.
|
||||
*/
|
||||
setup: function (opts) {
|
||||
var instance = Object.create(this);
|
||||
if (opts.globalObject) {
|
||||
if (instance.CSSStyleSheet) {
|
||||
var factoryCSSStyleSheet = createFunctionFactory(instance.CSSStyleSheet);
|
||||
var CSSStyleSheet = factoryCSSStyleSheet();
|
||||
CSSStyleSheet.prototype.__globalObject = opts.globalObject;
|
||||
|
||||
instance.CSSStyleSheet = CSSStyleSheet;
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
};
|
||||
|
||||
function createFunctionFactory(fn) {
|
||||
return function() {
|
||||
// Create a new function that delegates to the original
|
||||
var newFn = function() {
|
||||
return fn.apply(this, arguments);
|
||||
};
|
||||
|
||||
// Copy prototype chain
|
||||
Object.setPrototypeOf(newFn, Object.getPrototypeOf(fn));
|
||||
|
||||
// Copy own properties
|
||||
for (var key in fn) {
|
||||
if (Object.prototype.hasOwnProperty.call(fn, key)) {
|
||||
newFn[key] = fn[key];
|
||||
}
|
||||
}
|
||||
|
||||
// Clone the .prototype object for constructor-like behavior
|
||||
if (fn.prototype) {
|
||||
newFn.prototype = Object.create(fn.prototype);
|
||||
}
|
||||
|
||||
return newFn;
|
||||
};
|
||||
}
|
||||
|
||||
//.CommonJS
|
||||
module.exports = CSSOM;
|
||||
///CommonJS
|
||||
|
||||
Reference in New Issue
Block a user