obsidian-dev-utils 73.0.0 → 74.1.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.
- package/CHANGELOG.md +11 -0
- package/dist/dev/main.js +202 -194
- package/dist/lib/cjs/function.cjs +9 -1
- package/dist/lib/cjs/function.d.cts +10 -0
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +3 -7
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -3
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +15 -4
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +9 -3
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +3 -8
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -3
- package/dist/lib/cjs/obsidian/components/index.cjs +1 -4
- package/dist/lib/cjs/obsidian/components/index.d.cts +0 -1
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +5 -2
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +41 -9
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +118 -99
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +0 -1
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +21 -17
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +2 -7
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +4 -0
- package/dist/lib/cjs/obsidian/markdown.cjs +24 -15
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +15 -20
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +10 -14
- package/dist/lib/esm/function.d.mts +10 -0
- package/dist/lib/esm/function.mjs +8 -1
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -3
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +3 -7
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +9 -3
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +16 -5
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -3
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +3 -8
- package/dist/lib/esm/obsidian/components/index.d.mts +0 -1
- package/dist/lib/esm/obsidian/components/index.mjs +1 -3
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +41 -9
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +5 -2
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +0 -1
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +118 -99
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +21 -17
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +4 -0
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -7
- package/dist/lib/esm/obsidian/markdown.mjs +24 -15
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +10 -14
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +15 -20
- package/package.json +6 -6
- package/dist/lib/cjs/obsidian/components/i18n-component.cjs +0 -156
- package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +0 -24
- package/dist/lib/esm/obsidian/components/i18n-component.d.mts +0 -24
- package/dist/lib/esm/obsidian/components/i18n-component.mjs +0 -48
- package/obsidian/Components/i18n-component/package.json +0 -6
|
@@ -149,7 +149,10 @@ class MonkeyAroundComponent extends import_component_ex.ComponentEx {
|
|
|
149
149
|
}
|
|
150
150
|
this.registerPatch(params.obj, {
|
|
151
151
|
[params.methodName]: (originalMethod) => {
|
|
152
|
-
return
|
|
152
|
+
return params.postPatchHandler?.({
|
|
153
|
+
originalMethod,
|
|
154
|
+
patchedMethod
|
|
155
|
+
}) ?? patchedMethod;
|
|
153
156
|
function patchedMethod(...originalArgs) {
|
|
154
157
|
const originalThis = this;
|
|
155
158
|
return params.patchHandler({
|
|
@@ -193,4 +196,4 @@ function getMonkeyAroundPatches() {
|
|
|
193
196
|
around,
|
|
194
197
|
hasPatchToken
|
|
195
198
|
});
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbXByb3ZlZCB0eXBlLXNhZmUgd3JhcHBlciBvZiB7QGxpbmsgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbW9ua2V5LWFyb3VuZH0gbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsS2V5cyB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGFyb3VuZCBhcyBvcmlnaW5hbEFyb3VuZCB9IGZyb20gJ21vbmtleS1hcm91bmQnO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vYXBwLnRzJztcbmltcG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuXG4vKipcbiAqIEEgdHlwZSBvZiB0aGUgZmFjdG9yaWVzIHRvIGFwcGx5IHRvIHRoZSBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICovXG5leHBvcnQgdHlwZSBGYWN0b3JpZXM8T2JqIGV4dGVuZHMgb2JqZWN0PiA9IFBhcnRpYWw8XG4gIHtcbiAgICBbS2V5IGluIENvbmRpdGlvbmFsS2V5czxPYmosIEdlbmVyaWNGdW5jdGlvbiB8IHVuZGVmaW5lZD5dOiBXcmFwcGVyRmFjdG9yeTxFeHRyYWN0PE9ialtLZXldLCBHZW5lcmljRnVuY3Rpb24gfCB1bmRlZmluZWQ+PjtcbiAgfVxuPjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHBhc3NlZCB0byB7QGxpbmsgTW9ua2V5QXJvdW5kQ29tcG9uZW50I3JlZ2lzdGVyTWV0aG9kUGF0Y2h9LlxuICpcbiAqIEB0eXBlUGFyYW0gT2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiBleHRlbmRzIG9iamVjdCwgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4ge1xuICAvKipcbiAgICogVGhlIG1ldGhvZCBuYW1lIHRvIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kTmFtZTogTWV0aG9kTmFtZTtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IG9iajogT2JqO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0Y2ggaGFuZGxlciBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoSGFuZGxlcjogUGF0Y2hIYW5kbGVyRm48T2JqLCBNZXRob2ROYW1lPjtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdG9rZW4gdG8gaWRlbnRpZnkgdGhlIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0Y2hUb2tlbj86IHN5bWJvbDtcbn1cblxuLyoqXG4gKiBBIHBhdGNoIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBpbnRlcmNlcHRzIGNhbGxzIHRvIGEgbWV0aG9kIG9uIGFuIG9iamVjdC5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gSyAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgdHlwZSBQYXRjaEhhbmRsZXJGbjxPYmogZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+ID0gKFxuICBwYXJhbXM6IFBhdGNoSGFuZGxlclBhcmFtczxPYmosIEs+XG4pID0+IFJldHVyblR5cGU8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEge0BsaW5rIFBhdGNoSGFuZGxlckZufSBjYWxsYmFjay5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gSyAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoSGFuZGxlclBhcmFtczxPYmogZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+IHtcbiAgZmFsbGJhY2sodGhpczogdm9pZCk6IFJldHVyblR5cGU8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgYXJndW1lbnRzIG9mIHRoZSBpbnRlcmNlcHRlZCBjYWxsLCBhcyBhIHR1cGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxBcmdzOiBQYXJhbWV0ZXJzPEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsICh1bnBhdGNoZWQpIGZ1bmN0aW9uLiBDYWxsIHZpYSBgb3JpZ2luYWxGbi5jYWxsKG9yaWdpbmFsVGhpcywgLi4ub3JpZ2luYWxBcmdzKWAuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbE1ldGhvZDogRXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj47XG5cbiAgcmVhZG9ubHkgb3JpZ2luYWxNZXRob2RCb3VuZDogT21pdFRoaXNQYXJhbWV0ZXI8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgYHRoaXNgIGNvbnRleHQgb2YgdGhlIGludGVyY2VwdGVkIGNhbGwuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbFRoaXM6IE9iajtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZSAtLSBXZSBuZWVkIHRvIHVzZSBgRnVuY3Rpb25gIHR5cGUgYXMgYSBnZW5lcmljIHJlc3RyaWN0aW9uLlxudHlwZSBNZXRob2RLZXlzPE9iaiBleHRlbmRzIG9iamVjdD4gPSBDb25kaXRpb25hbEtleXM8T2JqLCBGdW5jdGlvbiB8IHVuZGVmaW5lZD4gJiBrZXlvZiBPYmo7XG5cbnR5cGUgT3JpZ2luYWxGYWN0b3JpZXM8T2JqIGV4dGVuZHMgR2VuZXJpY09iamVjdD4gPSBQYXJhbWV0ZXJzPHR5cGVvZiBvcmlnaW5hbEFyb3VuZDxPYmo+PlsxXTtcblxudHlwZSBVbmluc3RhbGxlciA9ICgpID0+IHZvaWQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgYEZ1bmN0aW9uYCB0eXBlIGFzIGEgZ2VuZXJpYyByZXN0cmljdGlvbi5cbnR5cGUgV3JhcHBlckZhY3Rvcnk8VCBleHRlbmRzIEZ1bmN0aW9uIHwgdW5kZWZpbmVkPiA9IChuZXh0OiBUKSA9PiBUO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBtb25rZXktcGF0Y2hlcyB3aXRoIGxpZmVjeWNsZS1ib3VuZCBjbGVhbnVwLlxuICogQWxsIHBhdGNoZXMgcmVnaXN0ZXJlZCB2aWEgdGhpcyBjb21wb25lbnQgYXJlIGF1dG9tYXRpY2FsbHkgdW5pbnN0YWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IHVubG9hZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb25rZXlBcm91bmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBzaW5nbGUtbWV0aG9kIHBhdGNoIHVzaW5nIGEgc2ltcGxpZmllZCBoYW5kbGVyLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBwYXRjaC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck1ldGhvZFBhdGNoPE9iaiBleHRlbmRzIG9iamVjdCwgY29uc3QgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4oXG4gICAgcGFyYW1zOiBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiwgTWV0aG9kTmFtZT5cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5lbnN1cmVMb2FkZWQoKTtcblxuICAgIGlmIChwYXJhbXMucGF0Y2hUb2tlbikge1xuICAgICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBwYXJhbXMub2JqW3BhcmFtcy5tZXRob2ROYW1lXSBhcyBHZW5lcmljRnVuY3Rpb247XG4gICAgICBnZXRNb25rZXlBcm91bmRQYXRjaGVzKCkuc2V0KG9yaWdpbmFsTWV0aG9kLCBwYXJhbXMucGF0Y2hUb2tlbik7XG4gICAgfVxuXG4gICAgdHlwZSBSYXdGbiA9IEV4dHJhY3Q8T2JqW01ldGhvZE5hbWVdLCBHZW5lcmljRnVuY3Rpb24+O1xuICAgIHR5cGUgRm4gPSBHZW5lcmljRnVuY3Rpb248UGFyYW1ldGVyczxSYXdGbj4sIFJldHVyblR5cGU8UmF3Rm4+PjtcbiAgICB0aGlzLnJlZ2lzdGVyUGF0Y2gocGFyYW1zLm9iaiwge1xuICAgICAgW3BhcmFtcy5tZXRob2ROYW1lXTogKG9yaWdpbmFsTWV0aG9kOiBGbik6IEZuID0+IHtcbiAgICAgICAgcmV0dXJuIHBhdGNoZWRNZXRob2Q7XG4gICAgICAgIGZ1bmN0aW9uIHBhdGNoZWRNZXRob2QodGhpczogT2JqLCAuLi5vcmlnaW5hbEFyZ3M6IFBhcmFtZXRlcnM8UmF3Rm4+KTogUmV0dXJuVHlwZTxSYXdGbj4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXRoaXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzIC0tIFdlIG5lZWQgdG8gdXNlIHRoZSBgdGhpc2AgY29udGV4dC5cbiAgICAgICAgICBjb25zdCBvcmlnaW5hbFRoaXMgPSB0aGlzO1xuICAgICAgICAgIHJldHVybiBwYXJhbXMucGF0Y2hIYW5kbGVyKHtcbiAgICAgICAgICAgIGZhbGxiYWNrKCkge1xuICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxNZXRob2QuY2FsbChvcmlnaW5hbFRoaXMsIC4uLm9yaWdpbmFsQXJncyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3JpZ2luYWxBcmdzLFxuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2Q6IG9yaWdpbmFsTWV0aG9kIGFzIFJhd0ZuLFxuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2RCb3VuZDogb3JpZ2luYWxNZXRob2QuYmluZChvcmlnaW5hbFRoaXMpIGFzIE9taXRUaGlzUGFyYW1ldGVyPFJhd0ZuPixcbiAgICAgICAgICAgIG9yaWdpbmFsVGhpc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBhcyBGYWN0b3JpZXM8T2JqPik7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgcGF0Y2ggdXNpbmcgcmF3IGZhY3RvcmllcyAoYWR2YW5jZWQgQVBJKS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICAgKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICogQHBhcmFtIGZhY3RvcmllcyAtIFRoZSBmYWN0b3JpZXMgdG8gYXBwbHkgdG8gdGhlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlclBhdGNoPE9iaiBleHRlbmRzIG9iamVjdD4ob2JqOiBPYmosIGZhY3RvcmllczogRmFjdG9yaWVzPE9iaj4pOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZUxvYWRlZCgpO1xuXG4gICAgY29uc3QgdW5pbnN0YWxsZXIgPSBhcm91bmQob2JqLCBmYWN0b3JpZXMpO1xuICAgIHRoaXMucmVnaXN0ZXIodW5pbnN0YWxsZXIpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHBhdGNoIHRvIHRoZSBvYmplY3QuXG4gKiBCZXR0ZXIgc3Ryb25nbHktdHlwZWQgdmVyc2lvbiBvZiBgbW9ua2V5LWFyb3VuZGAuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHVuaW5zdGFsbGVyIHRoYXQgcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiBjYWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcm91bmQ8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IFVuaW5zdGFsbGVyIHtcbiAgcmV0dXJuIG9yaWdpbmFsQXJvdW5kKG9iaiBhcyBHZW5lcmljT2JqZWN0LCBmYWN0b3JpZXMgYXMgT3JpZ2luYWxGYWN0b3JpZXM8R2VuZXJpY09iamVjdD4pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZ1bmN0aW9uIGhhcyBhIHNwZWNpZmljIHBhdGNoIHRva2VuLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEBwYXJhbSBwYXRjaFRva2VuIC0gVGhlIHBhdGNoIHRva2VuIHRvIGNoZWNrIGZvci5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGhhcyB0aGUgcGF0Y2ggdG9rZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQYXRjaFRva2VuKGZuOiBHZW5lcmljRnVuY3Rpb24sIHBhdGNoVG9rZW46IHN5bWJvbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0TW9ua2V5QXJvdW5kUGF0Y2hlcygpLmdldChmbikgPT09IHBhdGNoVG9rZW47XG59XG5cbmZ1bmN0aW9uIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKTogV2Vha01hcDxHZW5lcmljRnVuY3Rpb24sIHN5bWJvbD4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKG51bGwsICdtb25rZXlBcm91bmRQYXRjaGVzJywgbmV3IFdlYWtNYXA8R2VuZXJpY0Z1bmN0aW9uLCBzeW1ib2w+KCkpLnZhbHVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDJCQUF5QztBQUt6QyxpQkFBeUM7QUFDekMsMEJBQTRCO0FBNEZyQixNQUFNLDhCQUE4QixnQ0FBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFROUMsb0JBQ0wsUUFDTTtBQUNOLFNBQUssYUFBYTtBQUVsQixRQUFJLE9BQU8sWUFBWTtBQUNyQixZQUFNLGlCQUFpQixPQUFPLElBQUksT0FBTyxVQUFVO0FBQ25ELDZCQUF1QixFQUFFLElBQUksZ0JBQWdCLE9BQU8sVUFBVTtBQUFBLElBQ2hFO0FBSUEsU0FBSyxjQUFjLE9BQU8sS0FBSztBQUFBLE1BQzdCLENBQUMsT0FBTyxVQUFVLEdBQUcsQ0FBQyxtQkFBMkI7QUFDL0MsZUFBTztBQUNQLGlCQUFTLGlCQUE0QixjQUFvRDtBQUV2RixnQkFBTSxlQUFlO0FBQ3JCLGlCQUFPLE9BQU8sYUFBYTtBQUFBLFlBQ3pCLFdBQVc7QUFDVCxxQkFBTyxlQUFlLEtBQUssY0FBYyxHQUFHLFlBQVk7QUFBQSxZQUMxRDtBQUFBLFlBQ0E7QUFBQSxZQUNBO0FBQUEsWUFDQSxxQkFBcUIsZUFBZSxLQUFLLFlBQVk7QUFBQSxZQUNyRDtBQUFBLFVBQ0YsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRixDQUFtQjtBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLGNBQWtDLEtBQVUsV0FBaUM7QUFDbEYsU0FBSyxhQUFhO0FBRWxCLFVBQU0sY0FBYyxPQUFPLEtBQUssU0FBUztBQUN6QyxTQUFLLFNBQVMsV0FBVztBQUFBLEVBQzNCO0FBQ0Y7QUFXTyxTQUFTLE9BQTJCLEtBQVUsV0FBd0M7QUFDM0YsYUFBTyxxQkFBQUEsUUFBZSxLQUFzQixTQUE2QztBQUMzRjtBQVNPLFNBQVMsY0FBYyxJQUFxQixZQUE2QjtBQUM5RSxTQUFPLHVCQUF1QixFQUFFLElBQUksRUFBRSxNQUFNO0FBQzlDO0FBRUEsU0FBUyx5QkFBMkQ7QUFDbEUsYUFBTyxxQ0FBeUIsTUFBTSx1QkFBdUIsb0JBQUksUUFBaUMsQ0FBQyxFQUFFO0FBQ3ZHOyIsCiAgIm5hbWVzIjogWyJvcmlnaW5hbEFyb3VuZCJdCn0K
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbXByb3ZlZCB0eXBlLXNhZmUgd3JhcHBlciBvZiB7QGxpbmsgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbW9ua2V5LWFyb3VuZH0gbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsS2V5cyB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGFyb3VuZCBhcyBvcmlnaW5hbEFyb3VuZCB9IGZyb20gJ21vbmtleS1hcm91bmQnO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcblxuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vYXBwLnRzJztcbmltcG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuXG4vKipcbiAqIEEgdHlwZSBvZiB0aGUgZmFjdG9yaWVzIHRvIGFwcGx5IHRvIHRoZSBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICovXG5leHBvcnQgdHlwZSBGYWN0b3JpZXM8T2JqIGV4dGVuZHMgb2JqZWN0PiA9IFBhcnRpYWw8XG4gIHtcbiAgICBbS2V5IGluIENvbmRpdGlvbmFsS2V5czxPYmosIEdlbmVyaWNGdW5jdGlvbiB8IHVuZGVmaW5lZD5dOiBXcmFwcGVyRmFjdG9yeTxFeHRyYWN0PE9ialtLZXldLCBHZW5lcmljRnVuY3Rpb24gfCB1bmRlZmluZWQ+PjtcbiAgfVxuPjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHBhc3NlZCB0byB7QGxpbmsgTW9ua2V5QXJvdW5kQ29tcG9uZW50I3JlZ2lzdGVyTWV0aG9kUGF0Y2h9LlxuICpcbiAqIEB0eXBlUGFyYW0gT2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiBleHRlbmRzIG9iamVjdCwgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4ge1xuICAvKipcbiAgICogVGhlIG1ldGhvZCBuYW1lIHRvIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kTmFtZTogTWV0aG9kTmFtZTtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IG9iajogT2JqO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0Y2ggaGFuZGxlciBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoSGFuZGxlcjogUGF0Y2hIYW5kbGVyRm48T2JqLCBNZXRob2ROYW1lPjtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdG9rZW4gdG8gaWRlbnRpZnkgdGhlIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0Y2hUb2tlbj86IHN5bWJvbDtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcG9zdC1wYXRjaCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgcnVucyBhZnRlciB0aGUgcGF0Y2ggaXMgYXBwbGllZC5cbiAgICovXG4gIHJlYWRvbmx5IHBvc3RQYXRjaEhhbmRsZXI/OiBQb3N0UGF0Y2hIYW5kbGVyRm48T2JqLCBNZXRob2ROYW1lPjtcbn1cblxuLyoqXG4gKiBBIHBhdGNoIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBpbnRlcmNlcHRzIGNhbGxzIHRvIGEgbWV0aG9kIG9uIGFuIG9iamVjdC5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgdHlwZSBQYXRjaEhhbmRsZXJGbjxPYmogZXh0ZW5kcyBvYmplY3QsIE1ldGhvZE5hbWUgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+ID0gKFxuICBwYXJhbXM6IFBhdGNoSGFuZGxlclBhcmFtczxPYmosIE1ldGhvZE5hbWU+XG4pID0+IFJldHVyblR5cGU8RXh0cmFjdEZ1bmN0aW9uPE9iaiwgTWV0aG9kTmFtZT4+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEge0BsaW5rIFBhdGNoSGFuZGxlckZufSBjYWxsYmFjay5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoSGFuZGxlclBhcmFtczxPYmogZXh0ZW5kcyBvYmplY3QsIE1ldGhvZE5hbWUgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+IHtcbiAgZmFsbGJhY2sodGhpczogdm9pZCk6IFJldHVyblR5cGU8RXh0cmFjdEZ1bmN0aW9uPE9iaiwgTWV0aG9kTmFtZT4+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgYXJndW1lbnRzIG9mIHRoZSBpbnRlcmNlcHRlZCBjYWxsLCBhcyBhIHR1cGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxBcmdzOiBQYXJhbWV0ZXJzPEV4dHJhY3RGdW5jdGlvbjxPYmosIE1ldGhvZE5hbWU+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsICh1bnBhdGNoZWQpIG1ldGhvZC4gQ2FsbCB2aWEgYG9yaWdpbmFsRm4uY2FsbChvcmlnaW5hbFRoaXMsIC4uLm9yaWdpbmFsQXJncylgLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxNZXRob2Q6IEV4dHJhY3RGdW5jdGlvbjxPYmosIE1ldGhvZE5hbWU+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgbWV0aG9kLCBidXQgd2l0aCB0aGUgYHRoaXNgIGNvbnRleHQgYWxyZWFkeSBib3VuZCB0byB0aGUgb3JpZ2luYWwgb2JqZWN0LiBDYWxsIHZpYSBgb3JpZ2luYWxNZXRob2RCb3VuZCguLi5vcmlnaW5hbEFyZ3MpYC5cbiAgICovXG4gIHJlYWRvbmx5IG9yaWdpbmFsTWV0aG9kQm91bmQ6IE9taXRUaGlzUGFyYW1ldGVyPEV4dHJhY3RGdW5jdGlvbjxPYmosIE1ldGhvZE5hbWU+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIGB0aGlzYCBjb250ZXh0IG9mIHRoZSBpbnRlcmNlcHRlZCBjYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxUaGlzOiBPYmo7XG59XG5cbi8qKlxuICogQSBwb3N0LXBhdGNoIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBydW5zIGFmdGVyIGEgcGF0Y2ggaXMgYXBwbGllZC5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgdHlwZSBQb3N0UGF0Y2hIYW5kbGVyRm48T2JqIGV4dGVuZHMgb2JqZWN0LCBNZXRob2ROYW1lIGV4dGVuZHMgTWV0aG9kS2V5czxPYmo+PiA9IChcbiAgcGFyYW1zOiBQb3N0UGF0Y2hIYW5kbGVyUGFyYW1zPE9iaiwgTWV0aG9kTmFtZT5cbikgPT4gTWF5YmVSZXR1cm48RXh0cmFjdEZ1bmN0aW9uPE9iaiwgTWV0aG9kTmFtZT4+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEge0BsaW5rIFBvc3RQYXRjaEhhbmRsZXJGbn0gY2FsbGJhY2suXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IGJlaW5nIHBhdGNoZWQuXG4gKiBAdHlwZVBhcmFtIE1ldGhvZE5hbWUgLSBUaGUgbWV0aG9kIG5hbWUgYmVpbmcgcGF0Y2hlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3N0UGF0Y2hIYW5kbGVyUGFyYW1zPE9iaiBleHRlbmRzIG9iamVjdCwgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4ge1xuICAvKipcbiAgICogVGhlIG9yaWdpbmFsICh1bnBhdGNoZWQpIG1ldGhvZC4gQ2FsbCB2aWEgYG9yaWdpbmFsRm4uY2FsbChvcmlnaW5hbFRoaXMsIC4uLm9yaWdpbmFsQXJncylgLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxNZXRob2Q6IEV4dHJhY3RGdW5jdGlvbjxPYmosIE1ldGhvZE5hbWU+O1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0Y2hlZCBtZXRob2QuXG4gICAqL1xuICByZWFkb25seSBwYXRjaGVkTWV0aG9kOiBFeHRyYWN0RnVuY3Rpb248T2JqLCBNZXRob2ROYW1lPjtcbn1cblxudHlwZSBFeHRyYWN0RnVuY3Rpb248T2JqIGV4dGVuZHMgb2JqZWN0LCBNZXRob2ROYW1lIGV4dGVuZHMgTWV0aG9kS2V5czxPYmo+PiA9IEdlbmVyaWNGdW5jdGlvbjxQYXJhbWV0ZXJzPEV4dHJhY3Q8T2JqW01ldGhvZE5hbWVdLCBHZW5lcmljRnVuY3Rpb24+PiwgUmV0dXJuVHlwZTxFeHRyYWN0PE9ialtNZXRob2ROYW1lXSwgR2VuZXJpY0Z1bmN0aW9uPj4+O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIGBGdW5jdGlvbmAgdHlwZSBhcyBhIGdlbmVyaWMgcmVzdHJpY3Rpb24uXG50eXBlIE1ldGhvZEtleXM8T2JqIGV4dGVuZHMgb2JqZWN0PiA9IENvbmRpdGlvbmFsS2V5czxPYmosIEZ1bmN0aW9uIHwgdW5kZWZpbmVkPiAmIGtleW9mIE9iajtcblxudHlwZSBPcmlnaW5hbEZhY3RvcmllczxPYmogZXh0ZW5kcyBHZW5lcmljT2JqZWN0PiA9IFBhcmFtZXRlcnM8dHlwZW9mIG9yaWdpbmFsQXJvdW5kPE9iaj4+WzFdO1xuXG50eXBlIFVuaW5zdGFsbGVyID0gKCkgPT4gdm9pZDtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZSAtLSBXZSBuZWVkIHRvIHVzZSBgRnVuY3Rpb25gIHR5cGUgYXMgYSBnZW5lcmljIHJlc3RyaWN0aW9uLlxudHlwZSBXcmFwcGVyRmFjdG9yeTxUIGV4dGVuZHMgRnVuY3Rpb24gfCB1bmRlZmluZWQ+ID0gKG5leHQ6IFQpID0+IFQ7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIG1vbmtleS1wYXRjaGVzIHdpdGggbGlmZWN5Y2xlLWJvdW5kIGNsZWFudXAuXG4gKiBBbGwgcGF0Y2hlcyByZWdpc3RlcmVkIHZpYSB0aGlzIGNvbXBvbmVudCBhcmUgYXV0b21hdGljYWxseSB1bmluc3RhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgdW5sb2Fkcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vbmtleUFyb3VuZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHNpbmdsZS1tZXRob2QgcGF0Y2ggdXNpbmcgYSBzaW1wbGlmaWVkIGhhbmRsZXIuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gT2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICogQHR5cGVQYXJhbSBNZXRob2ROYW1lIC0gVGhlIG1ldGhvZCBuYW1lIHRvIHBhdGNoLlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHBhdGNoLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyTWV0aG9kUGF0Y2g8T2JqIGV4dGVuZHMgb2JqZWN0LCBjb25zdCBNZXRob2ROYW1lIGV4dGVuZHMgTWV0aG9kS2V5czxPYmo+PihcbiAgICBwYXJhbXM6IE1vbmtleUFyb3VuZENvbXBvbmVudFJlZ2lzdGVyTWV0aG9kUGF0Y2hQYXJhbXM8T2JqLCBNZXRob2ROYW1lPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZUxvYWRlZCgpO1xuXG4gICAgaWYgKHBhcmFtcy5wYXRjaFRva2VuKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IHBhcmFtcy5vYmpbcGFyYW1zLm1ldGhvZE5hbWVdIGFzIEdlbmVyaWNGdW5jdGlvbjtcbiAgICAgIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKS5zZXQob3JpZ2luYWxNZXRob2QsIHBhcmFtcy5wYXRjaFRva2VuKTtcbiAgICB9XG5cbiAgICB0eXBlIEZuID0gRXh0cmFjdEZ1bmN0aW9uPE9iaiwgTWV0aG9kTmFtZT47XG5cbiAgICB0aGlzLnJlZ2lzdGVyUGF0Y2gocGFyYW1zLm9iaiwge1xuICAgICAgW3BhcmFtcy5tZXRob2ROYW1lXTogKG9yaWdpbmFsTWV0aG9kOiBGbik6IEZuID0+IHtcbiAgICAgICAgcmV0dXJuIHBhcmFtcy5wb3N0UGF0Y2hIYW5kbGVyPy4oe1xuICAgICAgICAgIG9yaWdpbmFsTWV0aG9kLFxuICAgICAgICAgIHBhdGNoZWRNZXRob2RcbiAgICAgICAgfSkgPz8gcGF0Y2hlZE1ldGhvZDtcbiAgICAgICAgZnVuY3Rpb24gcGF0Y2hlZE1ldGhvZCh0aGlzOiBPYmosIC4uLm9yaWdpbmFsQXJnczogUGFyYW1ldGVyczxGbj4pOiBSZXR1cm5UeXBlPEZuPiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtdGhpcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXMgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGB0aGlzYCBjb250ZXh0LlxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGhpcyA9IHRoaXM7XG4gICAgICAgICAgcmV0dXJuIHBhcmFtcy5wYXRjaEhhbmRsZXIoe1xuICAgICAgICAgICAgZmFsbGJhY2soKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5jYWxsKG9yaWdpbmFsVGhpcywgLi4ub3JpZ2luYWxBcmdzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW5hbEFyZ3MsXG4gICAgICAgICAgICBvcmlnaW5hbE1ldGhvZCxcbiAgICAgICAgICAgIG9yaWdpbmFsTWV0aG9kQm91bmQ6IG9yaWdpbmFsTWV0aG9kLmJpbmQob3JpZ2luYWxUaGlzKSxcbiAgICAgICAgICAgIG9yaWdpbmFsVGhpc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBhcyBGYWN0b3JpZXM8T2JqPik7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgcGF0Y2ggdXNpbmcgcmF3IGZhY3RvcmllcyAoYWR2YW5jZWQgQVBJKS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICAgKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICogQHBhcmFtIGZhY3RvcmllcyAtIFRoZSBmYWN0b3JpZXMgdG8gYXBwbHkgdG8gdGhlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlclBhdGNoPE9iaiBleHRlbmRzIG9iamVjdD4ob2JqOiBPYmosIGZhY3RvcmllczogRmFjdG9yaWVzPE9iaj4pOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZUxvYWRlZCgpO1xuXG4gICAgY29uc3QgdW5pbnN0YWxsZXIgPSBhcm91bmQob2JqLCBmYWN0b3JpZXMpO1xuICAgIHRoaXMucmVnaXN0ZXIodW5pbnN0YWxsZXIpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHBhdGNoIHRvIHRoZSBvYmplY3QuXG4gKiBCZXR0ZXIgc3Ryb25nbHktdHlwZWQgdmVyc2lvbiBvZiBgbW9ua2V5LWFyb3VuZGAuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHVuaW5zdGFsbGVyIHRoYXQgcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiBjYWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcm91bmQ8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IFVuaW5zdGFsbGVyIHtcbiAgcmV0dXJuIG9yaWdpbmFsQXJvdW5kKG9iaiBhcyBHZW5lcmljT2JqZWN0LCBmYWN0b3JpZXMgYXMgT3JpZ2luYWxGYWN0b3JpZXM8R2VuZXJpY09iamVjdD4pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZ1bmN0aW9uIGhhcyBhIHNwZWNpZmljIHBhdGNoIHRva2VuLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEBwYXJhbSBwYXRjaFRva2VuIC0gVGhlIHBhdGNoIHRva2VuIHRvIGNoZWNrIGZvci5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGhhcyB0aGUgcGF0Y2ggdG9rZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQYXRjaFRva2VuKGZuOiBHZW5lcmljRnVuY3Rpb24sIHBhdGNoVG9rZW46IHN5bWJvbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0TW9ua2V5QXJvdW5kUGF0Y2hlcygpLmdldChmbikgPT09IHBhdGNoVG9rZW47XG59XG5cbmZ1bmN0aW9uIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKTogV2Vha01hcDxHZW5lcmljRnVuY3Rpb24sIHN5bWJvbD4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKG51bGwsICdtb25rZXlBcm91bmRQYXRjaGVzJywgbmV3IFdlYWtNYXA8R2VuZXJpY0Z1bmN0aW9uLCBzeW1ib2w+KCkpLnZhbHVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDJCQUF5QztBQU16QyxpQkFBeUM7QUFDekMsMEJBQTRCO0FBa0lyQixNQUFNLDhCQUE4QixnQ0FBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFROUMsb0JBQ0wsUUFDTTtBQUNOLFNBQUssYUFBYTtBQUVsQixRQUFJLE9BQU8sWUFBWTtBQUNyQixZQUFNLGlCQUFpQixPQUFPLElBQUksT0FBTyxVQUFVO0FBQ25ELDZCQUF1QixFQUFFLElBQUksZ0JBQWdCLE9BQU8sVUFBVTtBQUFBLElBQ2hFO0FBSUEsU0FBSyxjQUFjLE9BQU8sS0FBSztBQUFBLE1BQzdCLENBQUMsT0FBTyxVQUFVLEdBQUcsQ0FBQyxtQkFBMkI7QUFDL0MsZUFBTyxPQUFPLG1CQUFtQjtBQUFBLFVBQy9CO0FBQUEsVUFDQTtBQUFBLFFBQ0YsQ0FBQyxLQUFLO0FBQ04saUJBQVMsaUJBQTRCLGNBQThDO0FBRWpGLGdCQUFNLGVBQWU7QUFDckIsaUJBQU8sT0FBTyxhQUFhO0FBQUEsWUFDekIsV0FBVztBQUNULHFCQUFPLGVBQWUsS0FBSyxjQUFjLEdBQUcsWUFBWTtBQUFBLFlBQzFEO0FBQUEsWUFDQTtBQUFBLFlBQ0E7QUFBQSxZQUNBLHFCQUFxQixlQUFlLEtBQUssWUFBWTtBQUFBLFlBQ3JEO0FBQUEsVUFDRixDQUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxJQUNGLENBQW1CO0FBQUEsRUFDckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sY0FBa0MsS0FBVSxXQUFpQztBQUNsRixTQUFLLGFBQWE7QUFFbEIsVUFBTSxjQUFjLE9BQU8sS0FBSyxTQUFTO0FBQ3pDLFNBQUssU0FBUyxXQUFXO0FBQUEsRUFDM0I7QUFDRjtBQVdPLFNBQVMsT0FBMkIsS0FBVSxXQUF3QztBQUMzRixhQUFPLHFCQUFBQSxRQUFlLEtBQXNCLFNBQTZDO0FBQzNGO0FBU08sU0FBUyxjQUFjLElBQXFCLFlBQTZCO0FBQzlFLFNBQU8sdUJBQXVCLEVBQUUsSUFBSSxFQUFFLE1BQU07QUFDOUM7QUFFQSxTQUFTLHlCQUEyRDtBQUNsRSxhQUFPLHFDQUF5QixNQUFNLHVCQUF1QixvQkFBSSxRQUFpQyxDQUFDLEVBQUU7QUFDdkc7IiwKICAibmFtZXMiOiBbIm9yaWdpbmFsQXJvdW5kIl0KfQo=
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ConditionalKeys } from 'type-fest';
|
|
8
8
|
import type { GenericFunction } from '../../function.cjs';
|
|
9
|
+
import type { MaybeReturn } from '../../type.cjs';
|
|
9
10
|
import { ComponentEx } from './component-ex.cjs';
|
|
10
11
|
/**
|
|
11
12
|
* A type of the factories to apply to the object.
|
|
@@ -38,36 +39,67 @@ export interface MonkeyAroundComponentRegisterMethodPatchParams<Obj extends obje
|
|
|
38
39
|
* An optional token to identify the patch.
|
|
39
40
|
*/
|
|
40
41
|
readonly patchToken?: symbol;
|
|
42
|
+
/**
|
|
43
|
+
* An optional post-patch handler function that runs after the patch is applied.
|
|
44
|
+
*/
|
|
45
|
+
readonly postPatchHandler?: PostPatchHandlerFn<Obj, MethodName>;
|
|
41
46
|
}
|
|
42
47
|
/**
|
|
43
48
|
* A patch handler function that intercepts calls to a method on an object.
|
|
44
49
|
*
|
|
45
50
|
* @typeParam Obj - The object being patched.
|
|
46
|
-
* @typeParam
|
|
51
|
+
* @typeParam MethodName - The method name being patched.
|
|
47
52
|
*/
|
|
48
|
-
export type PatchHandlerFn<Obj extends object,
|
|
53
|
+
export type PatchHandlerFn<Obj extends object, MethodName extends MethodKeys<Obj>> = (params: PatchHandlerParams<Obj, MethodName>) => ReturnType<ExtractFunction<Obj, MethodName>>;
|
|
49
54
|
/**
|
|
50
55
|
* Parameters passed to a {@link PatchHandlerFn} callback.
|
|
51
56
|
*
|
|
52
57
|
* @typeParam Obj - The object being patched.
|
|
53
|
-
* @typeParam
|
|
58
|
+
* @typeParam MethodName - The method name being patched.
|
|
54
59
|
*/
|
|
55
|
-
export interface PatchHandlerParams<Obj extends object,
|
|
56
|
-
fallback(this: void): ReturnType<
|
|
60
|
+
export interface PatchHandlerParams<Obj extends object, MethodName extends MethodKeys<Obj>> {
|
|
61
|
+
fallback(this: void): ReturnType<ExtractFunction<Obj, MethodName>>;
|
|
57
62
|
/**
|
|
58
63
|
* The original arguments of the intercepted call, as a tuple.
|
|
59
64
|
*/
|
|
60
|
-
readonly originalArgs: Parameters<
|
|
65
|
+
readonly originalArgs: Parameters<ExtractFunction<Obj, MethodName>>;
|
|
61
66
|
/**
|
|
62
|
-
* The original (unpatched)
|
|
67
|
+
* The original (unpatched) method. Call via `originalFn.call(originalThis, ...originalArgs)`.
|
|
63
68
|
*/
|
|
64
|
-
readonly originalMethod:
|
|
65
|
-
|
|
69
|
+
readonly originalMethod: ExtractFunction<Obj, MethodName>;
|
|
70
|
+
/**
|
|
71
|
+
* The original method, but with the `this` context already bound to the original object. Call via `originalMethodBound(...originalArgs)`.
|
|
72
|
+
*/
|
|
73
|
+
readonly originalMethodBound: OmitThisParameter<ExtractFunction<Obj, MethodName>>;
|
|
66
74
|
/**
|
|
67
75
|
* The original `this` context of the intercepted call.
|
|
68
76
|
*/
|
|
69
77
|
readonly originalThis: Obj;
|
|
70
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* A post-patch handler function that runs after a patch is applied.
|
|
81
|
+
*
|
|
82
|
+
* @typeParam Obj - The object being patched.
|
|
83
|
+
* @typeParam MethodName - The method name being patched.
|
|
84
|
+
*/
|
|
85
|
+
export type PostPatchHandlerFn<Obj extends object, MethodName extends MethodKeys<Obj>> = (params: PostPatchHandlerParams<Obj, MethodName>) => MaybeReturn<ExtractFunction<Obj, MethodName>>;
|
|
86
|
+
/**
|
|
87
|
+
* Parameters passed to a {@link PostPatchHandlerFn} callback.
|
|
88
|
+
*
|
|
89
|
+
* @typeParam Obj - The object being patched.
|
|
90
|
+
* @typeParam MethodName - The method name being patched.
|
|
91
|
+
*/
|
|
92
|
+
export interface PostPatchHandlerParams<Obj extends object, MethodName extends MethodKeys<Obj>> {
|
|
93
|
+
/**
|
|
94
|
+
* The original (unpatched) method. Call via `originalFn.call(originalThis, ...originalArgs)`.
|
|
95
|
+
*/
|
|
96
|
+
readonly originalMethod: ExtractFunction<Obj, MethodName>;
|
|
97
|
+
/**
|
|
98
|
+
* The patched method.
|
|
99
|
+
*/
|
|
100
|
+
readonly patchedMethod: ExtractFunction<Obj, MethodName>;
|
|
101
|
+
}
|
|
102
|
+
type ExtractFunction<Obj extends object, MethodName extends MethodKeys<Obj>> = GenericFunction<Parameters<Extract<Obj[MethodName], GenericFunction>>, ReturnType<Extract<Obj[MethodName], GenericFunction>>>;
|
|
71
103
|
type MethodKeys<Obj extends object> = ConditionalKeys<Obj, Function | undefined> & keyof Obj;
|
|
72
104
|
type Uninstaller = () => void;
|
|
73
105
|
type WrapperFactory<T extends Function | undefined> = (next: T) => T;
|