(function(){var o,t;o=this,t=function(o){"use strict";var t;let s=Spina.spina(t=class Extension extends Spina.BaseModel{static defaults={id:null,name:null,settings:{}};initialize(){this.hooks=[]}})||t;var e;let n=Spina.spina({prototypeAttrs:["each","hookPoint"]})(e=class ExtensionHook extends Spina.BaseModel{static hookPoint=null;static defaults={extension:null};static each(o,t=null){for(const s of this.prototype.hookPoint.hooks)o.call(t,s)}initialize(){const o=this.get("extension");console.assert(!!this.hookPoint,"This ExtensionHook subclass must define hookPoint"),console.assert(!!o,"An Extension instance must be passed to ExtensionHook"),o.hooks.push(this),this.hookPoint.addHook(this),this.setUpHook()}setUpHook(){}})||e;var i;let a=Spina.spina(i=class ExtensionHookPoint extends Spina.BaseModel{initialize(){this.hooks=[]}addHook(o){this.hooks.push(o)}})||i;o.Extension=s,o.ExtensionHook=n,o.ExtensionHookPoint=a},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((o="undefined"!=typeof globalThis?globalThis:o||self).Djblets=o.Djblets||{})}).call(this);
