plugin-tls 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/extend/extend.d.ts +2 -2
  2. package/dist/extend/extend.d.ts.map +1 -1
  3. package/dist/extend/mixin.d.ts.map +1 -1
  4. package/dist/index.js +1038 -0
  5. package/dist/index.umd.cjs +1 -0
  6. package/dist/options-manager/ModeOptions.d.ts.map +1 -1
  7. package/dist/options-manager/OptionsManager.d.ts.map +1 -1
  8. package/dist/options-manager/TierOptions.d.ts.map +1 -1
  9. package/dist/options-manager/defaultOptions.d.ts.map +1 -1
  10. package/dist/plugin-host/PluginHost.d.ts +53 -15
  11. package/dist/plugin-host/PluginHost.d.ts.map +1 -1
  12. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts +45 -16
  13. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts.map +1 -1
  14. package/dist/plugin-host/TierOptionsPluginHost.d.ts +43 -9
  15. package/dist/plugin-host/TierOptionsPluginHost.d.ts.map +1 -1
  16. package/doc/api/index.md +23 -3
  17. package/doc/api/plugin-tls.adddefaultoptions.md +49 -4
  18. package/doc/api/plugin-tls.addinstoptions.md +59 -5
  19. package/doc/api/plugin-tls.allfunctionapply.md +59 -5
  20. package/doc/api/plugin-tls.becomepluginhost_extends.md +37 -9
  21. package/doc/api/plugin-tls.becomepluginhost_proxy.md +31 -3
  22. package/doc/api/plugin-tls.classextenderprivatemember.md +64 -4
  23. package/doc/api/plugin-tls.classextenderprivatememberwithinit.md +43 -3
  24. package/doc/api/plugin-tls.classtype._new_.md +31 -3
  25. package/doc/api/plugin-tls.classtype.md +21 -3
  26. package/doc/api/plugin-tls.createcallerofprivatememberofextend.md +31 -3
  27. package/doc/api/plugin-tls.createextendtarget.md +33 -3
  28. package/doc/api/plugin-tls.createextendtargetwithinit.md +35 -5
  29. package/doc/api/plugin-tls.createmixintarget.md +31 -3
  30. package/doc/api/plugin-tls.createpluginhost.md +81 -9
  31. package/doc/api/plugin-tls.createpropertysetter.md +45 -4
  32. package/doc/api/plugin-tls.createtargetextend.md +33 -3
  33. package/doc/api/plugin-tls.createtargetextendwithinit.md +35 -5
  34. package/doc/api/plugin-tls.createtargetmixin.md +33 -3
  35. package/doc/api/plugin-tls.createtiermodeoptionspluginhost.md +81 -11
  36. package/doc/api/plugin-tls.createtieroptionspluginhost.md +78 -9
  37. package/doc/api/plugin-tls.defineextend.md +49 -4
  38. package/doc/api/plugin-tls.defineextendwithinit.md +49 -4
  39. package/doc/api/plugin-tls.definemixin.md +49 -4
  40. package/doc/api/plugin-tls.extendtarget.md +49 -4
  41. package/doc/api/plugin-tls.extendtargetwithinit.md +49 -4
  42. package/doc/api/plugin-tls.getpropertyvalue.md +45 -4
  43. package/doc/api/plugin-tls.getpropertyvaluebypath.md +45 -4
  44. package/doc/api/plugin-tls.gettargetproperties.md +45 -4
  45. package/doc/api/plugin-tls.idefaultoptionshost.md +41 -3
  46. package/doc/api/plugin-tls.iplugin.created.md +49 -4
  47. package/doc/api/plugin-tls.iplugin.destroyed.md +49 -4
  48. package/doc/api/plugin-tls.iplugin.md +45 -5
  49. package/doc/api/plugin-tls.iplugin.used.md +49 -4
  50. package/doc/api/plugin-tls.ipluginhost.md +23 -3
  51. package/doc/api/plugin-tls.ipluginhost.use.md +45 -4
  52. package/doc/api/plugin-tls.ipluginhostconstructor.md +23 -3
  53. package/doc/api/plugin-tls.ipluginhostconstructor.use.md +49 -4
  54. package/doc/api/plugin-tls.ipluginwithinit.inited.md +49 -4
  55. package/doc/api/plugin-tls.ipluginwithinit.md +23 -3
  56. package/doc/api/plugin-tls.itiermodeoptionshost.md +58 -4
  57. package/doc/api/plugin-tls.itieroptionshost.md +41 -3
  58. package/doc/api/plugin-tls.md +960 -92
  59. package/doc/api/plugin-tls.mergeproperties.md +45 -4
  60. package/doc/api/plugin-tls.mixin_4.md +49 -4
  61. package/doc/api/plugin-tls.mixintarget.md +49 -4
  62. package/doc/api/plugin-tls.modeoptions._constructor_.md +31 -3
  63. package/doc/api/plugin-tls.modeoptions._constructor__1.md +47 -4
  64. package/doc/api/plugin-tls.modeoptions.getfullmodeoption.md +31 -3
  65. package/doc/api/plugin-tls.modeoptions.getmodeoption.md +31 -3
  66. package/doc/api/plugin-tls.modeoptions.hasmode.md +31 -3
  67. package/doc/api/plugin-tls.modeoptions.md +347 -23
  68. package/doc/api/plugin-tls.modeoptions.setmodeoption.md +77 -6
  69. package/doc/api/plugin-tls.parsepropertypath.md +31 -3
  70. package/doc/api/{plugin-tls.pluginhost.destroy.md → plugin-tls.pluginhost.destroythis.md} +3 -3
  71. package/doc/api/plugin-tls.pluginhost.md +150 -11
  72. package/doc/api/plugin-tls.pluginhost.use.md +49 -4
  73. package/doc/api/plugin-tls.pluginmanager._constructor_.md +33 -3
  74. package/doc/api/plugin-tls.pluginmanager.created.md +33 -3
  75. package/doc/api/plugin-tls.pluginmanager.destroyed.md +33 -3
  76. package/doc/api/plugin-tls.pluginmanager.instuse.md +61 -5
  77. package/doc/api/plugin-tls.pluginmanager.md +187 -14
  78. package/doc/api/plugin-tls.pluginmanager.use.md +49 -4
  79. package/doc/api/plugin-tls.pluginmanagerwithinit.inited.md +33 -3
  80. package/doc/api/plugin-tls.pluginmanagerwithinit.md +31 -3
  81. package/doc/api/plugin-tls.privatememberofextend._constructor.md +31 -3
  82. package/doc/api/plugin-tls.privatememberofextend.md +34 -4
  83. package/doc/api/plugin-tls.privatememberofextendwithinit._init.md +31 -3
  84. package/doc/api/plugin-tls.privatememberofextendwithinit.md +23 -3
  85. package/doc/api/plugin-tls.setpropertyvalue.md +59 -5
  86. package/doc/api/plugin-tls.setpropertyvaluebypath.md +59 -5
  87. package/doc/api/plugin-tls.targetextend.md +49 -4
  88. package/doc/api/plugin-tls.targetextendwithinit.md +49 -4
  89. package/doc/api/plugin-tls.targetmixin.md +49 -4
  90. package/doc/api/plugin-tls.tiermodeoptions._constructor_.md +31 -3
  91. package/doc/api/plugin-tls.tiermodeoptions._constructor__1.md +63 -5
  92. package/doc/api/plugin-tls.tiermodeoptions.getfullmodeoption.md +31 -3
  93. package/doc/api/plugin-tls.tiermodeoptions.getmember.md +31 -3
  94. package/doc/api/plugin-tls.tiermodeoptions.getmodeoptionmanager.md +31 -3
  95. package/doc/api/plugin-tls.tiermodeoptions.getvalue.md +31 -3
  96. package/doc/api/plugin-tls.tiermodeoptions.hasmodeontier.md +31 -3
  97. package/doc/api/plugin-tls.tiermodeoptions.md +227 -17
  98. package/doc/api/plugin-tls.tiermodeoptionsdecorator.md +45 -4
  99. package/doc/api/plugin-tls.tiermodeoptionspluginhost._constructor_.md +31 -3
  100. package/doc/api/plugin-tls.tiermodeoptionspluginhost.md +152 -10
  101. package/doc/api/plugin-tls.tieroptions._constructor_.md +49 -4
  102. package/doc/api/plugin-tls.tieroptions.getmember.md +31 -3
  103. package/doc/api/plugin-tls.tieroptions.getvalue.md +31 -3
  104. package/doc/api/plugin-tls.tieroptions.md +209 -15
  105. package/doc/api/plugin-tls.tieroptionsdecorator.md +45 -4
  106. package/doc/api/plugin-tls.tieroptionspluginhost._constructor_.md +31 -3
  107. package/doc/api/plugin-tls.tieroptionspluginhost.md +116 -8
  108. package/package.json +29 -20
  109. package/dist/plugin-tls.d.ts +0 -1329
  110. package/dist/plugin-tls.iife.js +0 -1
  111. package/dist/plugin-tls.mjs +0 -1064
  112. package/dist/plugin-tls.umd.js +0 -1
  113. package/dist/tsdoc-metadata.json +0 -11
@@ -1 +0,0 @@
1
- var PluginTls=function(s){"use strict";var Ge=Object.defineProperty;var Je=(s,d,m)=>d in s?Ge(s,d,{enumerable:!0,configurable:!0,writable:!0,value:m}):s[d]=m;var c=(s,d,m)=>(Je(s,typeof d!="symbol"?d+"":d,m),m);function d(n,...e){for(const t of e){const r=Object.getOwnPropertyDescriptors(t);Object.defineProperties(n,r)}return n}function m(n,e){return e}function ee(){return function(e,t){return t}}function te(n,e){return d(n,e),e}function ne(n){return function(t){return d(n,t),t}}function p(n,e){return d(n,e),n}function re(n){return function(t){return d(n,t),n}}function ie(n,e){return e}function y(n,e){d(n.prototype,e);const t=e._constructor;typeof t=="function"&&(n._constructors??(n._constructors=[])).push(t);const r=e._destroy;return typeof r=="function"&&(n._destroys??(n._destroys=[])).push(r),e}function oe(n){return function(t){return y(n,t),t}}function U(n,e){return y(n,e),n}function se(n){return function(t){return y(n,t),n}}function F(n,e,t){for(const r of n)r.apply(e,t)}function ue(n){return{constructed:function(e,t){F(n._constructors??[],e,t)},initialized:function(e,t){F(n._inits??[],e,t)},destroyed:function(e,t){F(n._destroys??[],e,t)}}}function ce(n,e){return e}function b(n,e){y(n,e);const t=e._init;return typeof t=="function"&&(n._inits??(n._inits=[])).push(t),e}function ae(n){return function(t){return b(n,t),t}}function de(n,e){return b(n,e),n}function ge(n){return function(t){return b(n,t),n}}class M{constructor(e){c(this,"host");c(this,"pluginOptsMap",new Map);c(this,"plugins",[]);e&&(this.host=e)}use(e,...t){const{pluginOptsMap:r,plugins:i,host:o}=this;if(!i.includes(e))return i.push(e),r.set(e,t[0]),e.used(o,t[0])}created(e){var i;const{plugins:t,pluginOptsMap:r}=this;for(const o of t){const u=r.get(o);(i=o.created)==null||i.call(o,e,u)}}destroyed(e){var i;const{plugins:t,pluginOptsMap:r}=this;for(const o of t){const u=r.get(o);(i=o.destroyed)==null||i.call(o,e,u)}}instUse(e,t,...r){var o;if(!this.pluginOptsMap.has(t))return this.use(t,...r),(o=t.created)==null?void 0:o.call(t,e,...r)}}class fe extends M{inited(e){var i;const{plugins:t,pluginOptsMap:r}=this;for(const o of t){const u=r.get(o);(i=o.inited)==null||i.call(o,e,u)}}}function pe(n,e){const t=e??"defaultOptions",r=`_${t}`;return function(o){const u=p(o,{get[t](){return n}});U(u,{get[t](){return this[r]||(this[r]=structuredClone(u.defaultOptions))}})}}function le(n,e,t){const r=`_${e}`;return U(n,{get[e](){return this[r]||(this[r]=structuredClone(n[e]))}}),t}function j(n){const e=n.split(".");return e[0]===""&&e.shift(),e}function T(n,e){for(const t of e)if(n=n[t],n==null)return;return n}function he(n,e){return T(n,j(e))}function D(n,e,t){const r=e.pop(),i=e.length;let o=0;for(;o<i;){const u=n[e[o]];if(u==null)break;n=u,o++}e=e.slice(o);for(const u of e)n=n[u]={};return n[r]=t,n}function me(n,e,t){return D(n,j(e),t)}const l={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")},O={defaultMerge:l.defaultMerge};function $(n,e){return e}function w(n){return typeof n!="object"||n===null?0:Array.isArray(n)?2:Oe(n)?1:n instanceof Set?3:n instanceof Map?4:5}function k(n){const e=new Set;for(const t of n)for(const r of[...Object.keys(t),...Object.getOwnPropertySymbols(t)])e.add(r);return e}function W(n,e){return typeof n=="object"&&Object.prototype.propertyIsEnumerable.call(n,e)}function x(n){return{*[Symbol.iterator](){for(const e of n)for(const t of e)yield t}}}const z=new Set(["[object Object]","[object Module]"]);function Oe(n){if(!z.has(Object.prototype.toString.call(n)))return!1;const{constructor:e}=n;if(e===void 0)return!0;const t=e.prototype;return!(t===null||typeof t!="object"||!z.has(Object.prototype.toString.call(t))||!t.hasOwnProperty("isPrototypeOf"))}function Me(n,e,t){const r={};for(const i of k(n)){const o=[];for(const g of n)W(g,i)&&o.push(g[i]);if(o.length===0)continue;const u=e.metaDataUpdater(t,{key:i,parents:n}),a=q(o,e,u);a!==l.skip&&(i==="__proto__"?Object.defineProperty(r,i,{value:a,configurable:!0,enumerable:!0,writable:!0}):r[i]=a)}return r}function ye(n){return n.flat()}function _e(n){return new Set(x(n))}function Pe(n){return new Map(x(n))}function C(n){return n.at(-1)}var S=Object.freeze({__proto__:null,mergeArrays:ye,mergeMaps:Pe,mergeOthers:C,mergeRecords:Me,mergeSets:_e});function B(...n){return Fe({})(...n)}function Fe(n,e){const t=be(n,r);function r(...i){return q(i,t,e)}return r}function be(n,e){return{defaultMergeFunctions:S,mergeFunctions:{...S,...Object.fromEntries(Object.entries(n).filter(([t,r])=>Object.hasOwn(S,t)).map(([t,r])=>r===!1?[t,C]:[t,r]))},metaDataUpdater:n.metaDataUpdater??$,deepmerge:e,useImplicitDefaultMerging:n.enableImplicitDefaultMerging??!1,actions:l}}function q(n,e,t){if(n.length===0)return;if(n.length===1)return H(n,e,t);const r=w(n[0]);if(r!==0&&r!==5){for(let i=1;i<n.length;i++)if(w(n[i])!==r)return H(n,e,t)}switch(r){case 1:return Te(n,e,t);case 2:return we(n,e,t);case 3:return xe(n,e,t);case 4:return Ie(n,e,t);default:return H(n,e,t)}}function Te(n,e,t){const r=e.mergeFunctions.mergeRecords(n,e,t);return r===l.defaultMerge||e.useImplicitDefaultMerging&&r===void 0&&e.mergeFunctions.mergeRecords!==e.defaultMergeFunctions.mergeRecords?e.defaultMergeFunctions.mergeRecords(n,e,t):r}function we(n,e,t){const r=e.mergeFunctions.mergeArrays(n,e,t);return r===l.defaultMerge||e.useImplicitDefaultMerging&&r===void 0&&e.mergeFunctions.mergeArrays!==e.defaultMergeFunctions.mergeArrays?e.defaultMergeFunctions.mergeArrays(n):r}function xe(n,e,t){const r=e.mergeFunctions.mergeSets(n,e,t);return r===l.defaultMerge||e.useImplicitDefaultMerging&&r===void 0&&e.mergeFunctions.mergeSets!==e.defaultMergeFunctions.mergeSets?e.defaultMergeFunctions.mergeSets(n):r}function Ie(n,e,t){const r=e.mergeFunctions.mergeMaps(n,e,t);return r===l.defaultMerge||e.useImplicitDefaultMerging&&r===void 0&&e.mergeFunctions.mergeMaps!==e.defaultMergeFunctions.mergeMaps?e.defaultMergeFunctions.mergeMaps(n):r}function H(n,e,t){const r=e.mergeFunctions.mergeOthers(n,e,t);return r===l.defaultMerge||e.useImplicitDefaultMerging&&r===void 0&&e.mergeFunctions.mergeOthers!==e.defaultMergeFunctions.mergeOthers?e.defaultMergeFunctions.mergeOthers(n):r}function Ue(n,e,t,r){for(const i of k(e)){const o=[];for(const g of e)W(g,i)&&o.push(g[i]);if(o.length===0)continue;const u=t.metaDataUpdater(r,{key:i,parents:e}),a={value:o[0]};G(a,o,t,u),i==="__proto__"?Object.defineProperty(n,i,{value:a.value,configurable:!0,enumerable:!0,writable:!0}):n.value[i]=a.value}}function je(n,e){n.value.push(...e.slice(1).flat())}function De(n,e){for(const t of x(e.slice(1)))n.value.add(t)}function Se(n,e){for(const[t,r]of x(e.slice(1)))n.value.set(t,r)}function K(n,e){n.value=e.at(-1)}var V=Object.freeze({__proto__:null,mergeArrays:je,mergeMaps:Se,mergeOthers:K,mergeRecords:Ue,mergeSets:De});function E(n,...e){return void He({})(n,...e)}function He(n,e){const t=Ve(n,r);function r(i,...o){G({value:i},[i,...o],t,e)}return r}function Ve(n,e){return{defaultMergeFunctions:V,mergeFunctions:{...V,...Object.fromEntries(Object.entries(n).filter(([t,r])=>Object.hasOwn(V,t)).map(([t,r])=>r===!1?[t,K]:[t,r]))},metaDataUpdater:n.metaDataUpdater??$,deepmergeInto:e,actions:O}}function G(n,e,t,r){if(e.length===0)return;if(e.length===1)return void N(n,e,t,r);const i=w(n.value);if(i!==0&&i!==5){for(let o=1;o<e.length;o++)if(w(e[o])!==i)return void N(n,e,t,r)}switch(i){case 1:return void Ee(n,e,t,r);case 2:return void Ne(n,e,t,r);case 3:return void ve(n,e,t,r);case 4:return void Ae(n,e,t,r);default:return void N(n,e,t,r)}}function Ee(n,e,t,r){t.mergeFunctions.mergeRecords(n,e,t,r)===O.defaultMerge&&t.defaultMergeFunctions.mergeRecords(n,e,t,r)}function Ne(n,e,t,r){t.mergeFunctions.mergeArrays(n,e,t,r)===O.defaultMerge&&t.defaultMergeFunctions.mergeArrays(n,e)}function ve(n,e,t,r){t.mergeFunctions.mergeSets(n,e,t,r)===O.defaultMerge&&t.defaultMergeFunctions.mergeSets(n,e)}function Ae(n,e,t,r){t.mergeFunctions.mergeMaps(n,e,t,r)===O.defaultMerge&&t.defaultMergeFunctions.mergeMaps(n,e)}function N(n,e,t,r){(t.mergeFunctions.mergeOthers(n,e,t,r)===O.defaultMerge||n.value===O.defaultMerge)&&t.defaultMergeFunctions.mergeOthers(n,e)}const v={UndefinedAndNull:function(e){return e==null},Undefined:function(e){return e===void 0},Null:function(e){return e===null}};class J{constructor(){c(this,"freezeMember",!0);c(this,"fullOption",new Proxy(this,{get:function(e,t,r){const i=e.plainFullOption[t];return e.freezeMember?Object.freeze(i):i},set:function(e,t,r,i){return e.setMember(t,r,!1),!0},has:function(e,t){return t in e.plainFullOption},getOwnPropertyDescriptor:function(e,t){return Object.getOwnPropertyDescriptor(e.plainFullOption,t)},ownKeys:function(e){return Reflect.ownKeys(e.plainFullOption)},deleteProperty:function(e,t){return e.setMember(t,void 0),!0},defineProperty:function(e,t,r){return Object.defineProperty(e.option,t,r),!0}}));c(this,"_undefinedValue","UndefinedAndNull");c(this,"isUndefined",v.UndefinedAndNull)}setOption(e,t){const r=t?E(this.option,e):Object.assign(this.option,e);return this.updateFullOption(),r}get undefinedValue(){return this._undefinedValue}set undefinedValue(e){this._undefinedValue=e,this.isUndefined=v[e]||v.UndefinedAndNull}getMember(e){return this.option[e]}setMember(e,t,r){const i=this.option;if(t===void 0)delete i[e];else{const o=i[e];r&&o&&typeof o=="object"?E(o,t):i[e]=t}this.updateFullOption()}getValue(e){return T(this.option,e)}setValue(e,t,r){const i=this.option;let o;r&&(o=T(i,e))&&typeof o=="object"?E(o,t):D(this.option,e,t),this.updateFullOption()}}class f extends J{constructor(t,r){super();c(this,"_extends",null);c(this,"option",{});c(this,"_plainFullOption",null);t&&(this.option=t),r&&(this.extends=r)}get extends(){return this._extends}set extends(t){this._extends=t,this.updateFullOption()}get plainFullOption(){let t=this._plainFullOption;if(t)return t;const{extends:r,option:i}=this;if(t=i,r){const o=r.plainFullOption;t=B(o,i)}return this._plainFullOption=t}updateFullOption(){this._plainFullOption=null}getMember(t){const r=this.option[t];if(!this.isUndefined(r))return r;const i=this.extends;if(i)return i.getMember(t)}getValue(t){const r=super.getValue(t);if(!this.isUndefined(r))return r;const i=this.extends;if(i)return i.getValue(t)}}function Re(n,e){const{name:t}=e,r=`_${t}`;return{get:function(){return this[r]||(this[r]=new f(void 0,this.constructor[t]))}}}class L extends J{constructor(t,r){super();c(this,"modes",{});c(this,"_mode");c(this,"_modeNames",null);c(this,"_plainFullOption",null);r&&this.setModeOption(t,r),this.mode=t}get mode(){return this._mode||(this.mode=this.modeNames[0])}set mode(t){this._mode=t,this.hasMode(t)||this.setModeOption(t,{}),this.updateFullOption()}get modeNames(){return this._modeNames||(this._modeNames=this.getModeNames())}getModeNames(){return Object.keys(this.modes)}hasMode(t){return!!this.modes[t]}get optionManager(){return this.modes[this.mode]}get option(){return this.optionManager.option}get plainFullOption(){return this._plainFullOption??(this._plainFullOption=this.getFullModeOption(this.mode))}updateFullOption(){this._plainFullOption=null,this._modeNames=null}getModeOption(t){return this.modes[t].option}getFullModeOption(t){var r;return(r=this.modes[t])==null?void 0:r.plainFullOption}setModeOption(t,r,i,o){const{modes:u}=this,a=u[t]||(u[t]=new f);if(a.setOption(r,i),o){const g=u[o];g&&(a.extends=g)}return this.updateFullOption(),a}}class h extends L{constructor(t,r,i){super(t,r);c(this,"_extends",null);i&&(this.extends=i)}get extends(){return this._extends}set extends(t){this._extends=t,this.updateFullOption()}getFullModeOption(t){var u;const{modes:r,extends:i}=this,o=(u=r[t])==null?void 0:u.plainFullOption;if(i){const a=i.getFullModeOption(t);return o?B(a,o):a}return o}getModeNames(){const{modes:t,extends:r}=this,i=Object.keys(t);if(!r)return i;const o=r.getModeNames();return[...new Set([...i,...o])]}hasModeOnTier(t){if(this.hasMode(t))return!0;const r=this.extends;return r?r.hasModeOnTier(t):!1}get optionManager(){return this.getModeOptionManager(this.mode)}getModeOptionManager(t){var o;const r=this.modes[t];return r||(((o=this.extends)==null?void 0:o.getModeOptionManager(t))?this.setModeOption(t,{}):null)}getMember(t){const r=this.optionManager.getMember(t);if(!this.isUndefined(r))return r;const i=this.extends;if(i)return i.getMember(t)}getValue(t){const r=this.optionManager.getValue(t);if(!this.isUndefined(r))return r;const i=this.extends;if(i)return i.getValue(t)}}function $e(n,e){const{name:t}=e,r=`_${t}`;return{get:function(){return this[r]||(this[r]=new h(this.constructor[t].mode,void 0,this.constructor[t]))}}}class I{static get pluginManager(){let e=this._pluginManager;return e||(e=this._pluginManager=new M(this)),e}get pluginManager(){return this.constructor.pluginManager}static use(e,...t){return this.pluginManager.use(e,...t)}use(e,...t){return this.pluginManager.instUse(this,e,...t)}destroy(){return this.pluginManager.destroyed(this)}}c(I,"_pluginManager");function A(){var n;return n=class{static get pluginManager(){let t=this._pluginManager;return t||(t=this._pluginManager=new M(this)),t}get pluginManager(){return this.constructor.pluginManager}static use(t,...r){return this.pluginManager.use(t,...r)}use(t,...r){return this.pluginManager.instUse(this,t,...r)}destroy(){return this.pluginManager.destroyed(this)}},c(n,"_pluginManager"),n}function Q(n){const e=p(n,{get pluginManager(){let t=this._pluginManager;return t||(t=this._pluginManager=new M(this)),t},use(t,r){return this.pluginManager.use(t,r)}});return p(e.prototype,{get pluginManager(){return this.constructor.pluginManager},use(t,r){return this.pluginManager.instUse(this,t,r)},destroy(){return this.pluginManager.destroyed(this)}}),n}function ke(n){const e=Q(n);return new Proxy(n,{construct:function(t,r,i){const o=new t(...r);return e.pluginManager.created(this),o}})}function We(n){var e;return e=class extends n{static get pluginManager(){let r=this._pluginManager;return r||(r=this._pluginManager=new M(this)),r}get pluginManager(){return this.constructor.pluginManager}static use(r,...i){return this.pluginManager.use(r,...i)}constructor(...r){super(...r),this.pluginManager.created(this)}use(r,...i){return this.pluginManager.instUse(this,r,...i)}destroy(){return this.pluginManager.destroyed(this)}},c(e,"_pluginManager"),e}class X extends I{constructor(t){super();c(this,"_defaultOptions");this.defaultOptions.option=t}get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new f(void 0,this.constructor.defaultOptions))}}c(X,"defaultOptions",new f);function ze(){var e;const n=A();return e=class extends n{constructor(i){super();c(this,"_defaultOptions");this.defaultOptions.option=i}get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new f(void 0,this.constructor.defaultOptions))}},c(e,"defaultOptions",new f),e}function Ce(n,e){const t=p(n,{defaultOptions:new f(e)});return p(t.prototype,{get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new f(void 0,this.constructor.defaultOptions))}}),n}const _="common";class Y extends I{constructor(t){super();c(this,"_modeOptions");this.modeOptions.setOption(t)}get modeOptions(){return this._modeOptions||(this._modeOptions=new h(_,void 0,this.constructor.modeOptions))}get mode(){return this.modeOptions.mode}set mode(t){this.modeOptions.mode=t}get options(){return this.modeOptions.plainFullOption}}c(Y,"modeOptions",new h(_));function Be(){var e;const n=A();return e=class extends n{constructor(i){super();c(this,"_modeOptions");this.modeOptions.setOption(i)}get modeOptions(){return this._modeOptions||(this._modeOptions=new h(_,void 0,this.constructor.modeOptions))}get mode(){return this.modeOptions.mode}set mode(i){this.modeOptions.mode=i}get options(){return this.modeOptions.plainFullOption}},c(e,"modeOptions",new h(_)),e}function qe(n,e,t){const r=p(n,{modeOptions:new h(e,t)});return p(r.prototype,{get modeOptions(){return this._modeOptions||(this._modeOptions=new h(e,void 0,this.constructor.modeOptions))},get mode(){return this.modeOptions.mode},set mode(i){this.modeOptions.mode=i},get options(){return this.modeOptions.fullOption}}),n}function R(n,e){const t=[{target:n,props:e}];let r;for(;r=t.shift();){const{target:i,props:o}=r;for(const[u,a]of Object.entries(o)){if(a!=null&&typeof a=="object"&&(!a.constructor||a.constructor===Object)){t.push({target:i[u],props:a});continue}i[u]=a}}return n}function Z(n,e){const t={},r=[{target:n,props:e,targetProps:t}];let i;for(;i=r.shift();){const{target:o,props:u,targetProps:a}=i;for(const[g,P]of Object.entries(u)){if(P!=null&&typeof P=="object"&&(!P.constructor||P.constructor===Object)){r.push({target:o[g],props:P,targetProps:a[g]={}});continue}a[g]=o[g]}}return t}function Ke(n,e){const t=Z(n,e);function r(){R(n,e)}function i(){R(n,t)}return{set:r,unset:i}}return s.ModeOptions=L,s.PluginHost=I,s.PluginManager=M,s.PluginManagerWithInit=fe,s.TierModeOptions=h,s.TierModeOptionsPluginHost=Y,s.TierOptions=f,s.TierOptionsPluginHost=X,s.addDefaultOptions=pe,s.addInstOptions=le,s.allFunctionApply=F,s.becomePluginHost=Q,s.becomePluginHost_Extends=We,s.becomePluginHost_Proxy=ke,s.becomeTierModeOptionsHost=qe,s.becomeTierOptionsHost=Ce,s.commonModeName=_,s.createCallerOfPrivateMemberOfExtend=ue,s.createDefineMixin=ee,s.createExtendTarget=se,s.createExtendTargetWithInit=ge,s.createMixinTarget=re,s.createPluginHost=A,s.createPropertySetter=Ke,s.createTargetExtend=oe,s.createTargetExtendWithInit=ae,s.createTargetMixin=ne,s.createTierModeOptionsPluginHost=Be,s.createTierOptionsPluginHost=ze,s.defineExtend=ie,s.defineExtendWithInit=ce,s.defineMixin=m,s.extendTarget=U,s.extendTargetWithInit=de,s.getPropertyValue=T,s.getPropertyValueByPath=he,s.getTargetProperties=Z,s.mergeProperties=R,s.mixin=d,s.mixinTarget=p,s.parsePropertyPath=j,s.setPropertyValue=D,s.setPropertyValueByPath=me,s.targetExtend=y,s.targetExtendWithInit=b,s.targetMixin=te,s.tierModeOptionsDecorator=$e,s.tierOptionsDecorator=Re,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),s}({});