Skip to content

Instantly share code, notes, and snippets.

@donburks
Last active September 2, 2023 01:29
Show Gist options
  • Select an option

  • Save donburks/7a778160ce638645930b to your computer and use it in GitHub Desktop.

Select an option

Save donburks/7a778160ce638645930b to your computer and use it in GitHub Desktop.
Object Constructor Library
mkobj.register('snuggles', 100);
mkobj.register('getSnuggles', function() { return this.snuggles; });
mkobj.register('setSnuggles', function(snugs) { this.snuggles = snugs; });
mkobj.register('saySnuggles', function() { console.log("There are " + this.snuggles + " snuggles!");});
var snuggleObj = mkobj.construct('snuggles', 'getSnuggles', 'saySnuggles');
snuggleObj.saySnuggles();
const mkobj = {
construct: function() {
const obj = {};
let temp, prop, i = arguments.length;
while(i--) {
temp = arguments[i];
if (mkobj.registered[temp]) {
obj[temp] = mkobj.registered[temp];
}
}
return obj;
},
registered: {},
register: function(key, cb) {
if (cb === null && mkobj.registered[key]) {
delete mkobj.registered[key];
} else {
mkobj.registered[key] = cb;
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment