obsidian-dev-utils 74.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 +6 -0
- package/dist/dev/main.js +172 -130
- 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/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/markdown.cjs +24 -15
- 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/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/markdown.mjs +24 -15
- package/package.json +6 -6
|
@@ -125,6 +125,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
125
125
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
126
126
|
var function_exports = {};
|
|
127
127
|
__export(function_exports, {
|
|
128
|
+
cloneFunction: () => cloneFunction,
|
|
128
129
|
createFunction: () => createFunction,
|
|
129
130
|
getFunctionExpressionString: () => getFunctionExpressionString,
|
|
130
131
|
noop: () => noop,
|
|
@@ -158,6 +159,12 @@ function omitAsyncReturnType(fn) {
|
|
|
158
159
|
}
|
|
159
160
|
const FUNCTION_EXPRESSION_RE = /^(?:function\b|async\b\s*(?:function\b|\()|\()/;
|
|
160
161
|
const ASYNC_KEYWORD_RE = /^async\b\s*/;
|
|
162
|
+
function cloneFunction(fn) {
|
|
163
|
+
return clonedFn;
|
|
164
|
+
function clonedFn(...args) {
|
|
165
|
+
return fn.apply(this, args);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
161
168
|
function createFunction(params) {
|
|
162
169
|
const argNames = params.argNames ?? [];
|
|
163
170
|
return new Function(...argNames, params.functionBody);
|
|
@@ -169,6 +176,7 @@ function omitReturnType(fn) {
|
|
|
169
176
|
}
|
|
170
177
|
// Annotate the CommonJS export names for ESM import in node:
|
|
171
178
|
0 && (module.exports = {
|
|
179
|
+
cloneFunction,
|
|
172
180
|
createFunction,
|
|
173
181
|
getFunctionExpressionString,
|
|
174
182
|
noop,
|
|
@@ -177,4 +185,4 @@ function omitReturnType(fn) {
|
|
|
177
185
|
omitAsyncReturnType,
|
|
178
186
|
omitReturnType
|
|
179
187
|
});
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Z1bmN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIHR5cGVzIGZvciB3b3JraW5nIHdpdGggZnVuY3Rpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSBhd2FpdGVkIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0FzeW5jRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIFByb21pc2U8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgdm9pZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3MgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0FzeW5jVm9pZEZ1bmN0aW9uPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdPiA9IEdlbmVyaWNBc3luY0Z1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHR5cGVQYXJhbSBSZXR1cm4gLSBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gKC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBwcm9taXNhYmxlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHR5cGVQYXJhbSBSZXR1cm4gLSBUaGUgYXdhaXRlZCByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNQcm9taXNhYmxlRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIFByb21pc2FibGU8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgcHJvbWlzYWJsZSB2b2lkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljUHJvbWlzYWJsZVZvaWRGdW5jdGlvbjxBcmdzIGV4dGVuZHMgdW5rbm93bltdID0gbmV2ZXJbXT4gPSBHZW5lcmljUHJvbWlzYWJsZUZ1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIHZvaWQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNWb2lkRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgZnVuY3Rpb24gaW50byBhIHN0cmluZyB0aGF0IGlzIGEgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqXG4gKiBgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKClgIG9uIGEgc2hvcnRoYW5kIG1ldGhvZCBsaWtlIGB7IGZuKCkge30gfWBcbiAqIHJldHVybnMgYFwiZm4oKSB7fVwiYCwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZXhwcmVzc2lvbi5cbiAqIFRoaXMgaGVscGVyIGRldGVjdHMgdGhhdCBmb3JtIGFuZCBwcmVmaXhlcyBpdCB3aXRoIGBmdW5jdGlvbiBgLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBzdHJpbmcgdGhhdCBpcyBhIHZhbGlkIGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgYEZ1bmN0aW9uYCB0eXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyhmbjogRnVuY3Rpb24pOiBzdHJpbmcge1xuICBjb25zdCBmblN0cmluZyA9IGZuLnRvU3RyaW5nKCk7XG5cbiAgaWYgKEZVTkNUSU9OX0VYUFJFU1NJT05fUkUudGVzdChmblN0cmluZykpIHtcbiAgICByZXR1cm4gZm5TdHJpbmc7XG4gIH1cblxuICBjb25zdCBhc3luY01hdGNoID0gQVNZTkNfS0VZV09SRF9SRS5leGVjKGZuU3RyaW5nKTtcbiAgaWYgKGFzeW5jTWF0Y2gpIHtcbiAgICByZXR1cm4gYGFzeW5jIGZ1bmN0aW9uICR7Zm5TdHJpbmcuc2xpY2UoYXN5bmNNYXRjaFswXS5sZW5ndGgpfWA7XG4gIH1cblxuICByZXR1cm4gYGZ1bmN0aW9uICR7Zm5TdHJpbmd9YDtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3RoaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgLy8gRG9lcyBub3RoaW5nLlxufVxuXG4vKipcbiAqIEEgc2luZ2xldG9uIG5vLW9wIHByb21pc2UuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcHJlZmVyLW5vb3AtYXN5bmMgLS0gQXZvaWQgY2lyY3VsYXIgcmVmZXJlbmNlLlxuZXhwb3J0IGNvbnN0IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3RoaW5nLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbm9vcEFzeW5jU2luZ2xldG9uUHJvbWlzZTtcbn1cblxuLyoqXG4gKiBNYWtlcyBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBhc3luYyBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gZm4gLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQuXG4gKiBAcmV0dXJucyBBbiBhc3luYyBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbWl0QXN5bmNSZXR1cm5UeXBlPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KGZuOiBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmdzPik6IEdlbmVyaWNBc3luY1ZvaWRGdW5jdGlvbjxBcmdzPiB7XG4gIHJldHVybiBhc3luYyAoLi4uYXJnczogQXJncykgPT4ge1xuICAgIGF3YWl0IGZuKC4uLmFyZ3MpO1xuICB9O1xufVxuXG4vKipcbiAqIE1hdGNoZXMgc3RyaW5ncyB0aGF0IGFyZSBhbHJlYWR5IHZhbGlkIGZ1bmN0aW9uIGV4cHJlc3Npb25zOlxuICogLSBgZnVuY3Rpb24gLi4uYCAoa2V5d29yZCwgbm90IGlkZW50aWZpZXIgbGlrZSBgZnVuY3Rpb24xYClcbiAqIC0gYChgIChhcnJvdyBmdW5jdGlvbilcbiAqIC0gYGFzeW5jXFxiYCBmb2xsb3dlZCBieSBgZnVuY3Rpb25cXGJgIG9yIGAoYCAoYXN5bmMgZnVuY3Rpb24vYXJyb3cpXG4gKi9cbmNvbnN0IEZVTkNUSU9OX0VYUFJFU1NJT05fUkUgPSAvXig/OmZ1bmN0aW9uXFxifGFzeW5jXFxiXFxzKig/OmZ1bmN0aW9uXFxifFxcKCl8XFwoKS87XG5cbi8qKlxuICogTWF0Y2hlcyB0aGUgYGFzeW5jYCBrZXl3b3JkICh3b3JkIGJvdW5kYXJ5LCBub3QgYGFzeW5jMWApIGZvbGxvd2VkIGJ5IG9wdGlvbmFsIHdoaXRlc3BhY2UuXG4gKiBVc2VkIHRvIHN0cmlwIHRoZSBgYXN5bmNgIHByZWZpeCBmcm9tIGFzeW5jIHNob3J0aGFuZCBtZXRob2RzIGJlZm9yZSByZS1hZGRpbmcgYGFzeW5jIGZ1bmN0aW9uYC5cbiAqL1xuY29uc3QgQVNZTkNfS0VZV09SRF9SRSA9IC9eYXN5bmNcXGJcXHMqLztcblxudHlwZSBBcmdOYW1lc09mPFQgZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+ID0gTWFwVG9BcmdOYW1lczxQYXJhbWV0ZXJzPFQ+PjtcblxuaW50ZXJmYWNlIENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zIHtcbiAgcmVhZG9ubHkgZnVuY3Rpb25Cb2R5OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+IGV4dGVuZHMgQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMge1xuICByZWFkb25seSBhcmdOYW1lczogQXJnTmFtZXNPZjxURnVuY3Rpb24+O1xufVxuXG50eXBlIE1hcFRvQXJnTmFtZXM8VEFyZ3MgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+ID0ge1xuICByZWFkb25seSBbSyBpbiBrZXlvZiBUQXJnc106IHN0cmluZztcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogRnVuY3Rpb24gaXMgYXJndW1lbnRsZXNzLCBzbyBgYXJnTmFtZXNgIGlzIG5vdCBuZWVkZWQuXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY3JlYXRlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHJldHVybiB0eXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uPFRGdW5jdGlvbiBleHRlbmRzICgpID0+IHVua25vd24+KHBhcmFtczogQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMpOiBURnVuY3Rpb247XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEZ1bmN0aW9uIGhhcyBhcmd1bWVudHMsIHNvIGBhcmdOYW1lc2AgaXMgcmVxdWlyZWQuXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY3JlYXRlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb248VEZ1bmN0aW9uIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPihwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uUGFyYW1zPFRGdW5jdGlvbj4pOiBURnVuY3Rpb247XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gY3JlYXRlIHRoZSBmdW5jdGlvbiB3aXRoLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiBjcmVhdGVkIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+KFxuICBwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zICYgUGFydGlhbDxDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24+PlxuKTogVEZ1bmN0aW9uIHtcbiAgY29uc3QgYXJnTmFtZXMgPSBwYXJhbXMuYXJnTmFtZXMgPz8gW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuYywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcGxpZWQtZXZhbCAtLSBOZWVkIGZ1bmN0aW9uIGNvbnN0cnVjdG9yXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oLi4uYXJnTmFtZXMsIHBhcmFtcy5mdW5jdGlvbkJvZHkpIGFzIFRGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBNYWtlcyBhIGZ1bmN0aW9uIHRoYXQgY2FsbHMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBhbmQgb21pdHMgdGhlIHJldHVybiB2YWx1ZS5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3MgLSBBcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBmbiAtIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb21pdFJldHVyblR5cGU8QXJncyBleHRlbmRzIHVua25vd25bXT4oZm46IEdlbmVyaWNGdW5jdGlvbjxBcmdzPik6IEdlbmVyaWNWb2lkRnVuY3Rpb248QXJncz4ge1xuICByZXR1cm4gKC4uLmFyZ3M6IEFyZ3MpID0+IHtcbiAgICBmbiguLi5hcmdzKTtcbiAgfTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdFTyxTQUFTLDRCQUE0QixJQUFzQjtBQUNoRSxRQUFNLFdBQVcsR0FBRyxTQUFTO0FBRTdCLE1BQUksdUJBQXVCLEtBQUssUUFBUSxHQUFHO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxhQUFhLGlCQUFpQixLQUFLLFFBQVE7QUFDakQsTUFBSSxZQUFZO0FBQ2QsV0FBTyxrQkFBa0IsU0FBUyxNQUFNLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztBQUFBLEVBQy9EO0FBRUEsU0FBTyxZQUFZLFFBQVE7QUFDN0I7QUFLTyxTQUFTLE9BQWE7QUFFN0I7QUFNTyxNQUFNLDRCQUE0QixRQUFRLFFBQVE7QUFPbEQsU0FBUyxZQUEyQjtBQUN6QyxTQUFPO0FBQ1Q7QUFTTyxTQUFTLG9CQUE0QyxJQUFnRTtBQUMxSCxTQUFPLFVBQVUsU0FBZTtBQUM5QixVQUFNLEdBQUcsR0FBRyxJQUFJO0FBQUEsRUFDbEI7QUFDRjtBQVFBLE1BQU0seUJBQXlCO0FBTS9CLE1BQU0sbUJBQW1CO0FBNkNsQixTQUFTLGVBQ2QsUUFDVztBQUNYLFFBQU0sV0FBVyxPQUFPLFlBQVksQ0FBQztBQUVyQyxTQUFPLElBQUksU0FBUyxHQUFHLFVBQVUsT0FBTyxZQUFZO0FBQ3REO0FBU08sU0FBUyxlQUF1QyxJQUFzRDtBQUMzRyxTQUFPLElBQUksU0FBZTtBQUN4QixPQUFHLEdBQUcsSUFBSTtBQUFBLEVBQ1o7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Z1bmN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIHR5cGVzIGZvciB3b3JraW5nIHdpdGggZnVuY3Rpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSBhd2FpdGVkIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0FzeW5jRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIFByb21pc2U8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgdm9pZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3MgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0FzeW5jVm9pZEZ1bmN0aW9uPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdPiA9IEdlbmVyaWNBc3luY0Z1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHR5cGVQYXJhbSBSZXR1cm4gLSBUaGUgcmV0dXJuIHR5cGUgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gKC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBwcm9taXNhYmxlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHR5cGVQYXJhbSBSZXR1cm4gLSBUaGUgYXdhaXRlZCByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNQcm9taXNhYmxlRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10sIFJldHVybiA9IHVua25vd24+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIFByb21pc2FibGU8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgcHJvbWlzYWJsZSB2b2lkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJncyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljUHJvbWlzYWJsZVZvaWRGdW5jdGlvbjxBcmdzIGV4dGVuZHMgdW5rbm93bltdID0gbmV2ZXJbXT4gPSBHZW5lcmljUHJvbWlzYWJsZUZ1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIHZvaWQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNWb2lkRnVuY3Rpb248QXJncyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10+ID0gR2VuZXJpY0Z1bmN0aW9uPEFyZ3MsIHZvaWQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgZnVuY3Rpb24gaW50byBhIHN0cmluZyB0aGF0IGlzIGEgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqXG4gKiBgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKClgIG9uIGEgc2hvcnRoYW5kIG1ldGhvZCBsaWtlIGB7IGZuKCkge30gfWBcbiAqIHJldHVybnMgYFwiZm4oKSB7fVwiYCwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZXhwcmVzc2lvbi5cbiAqIFRoaXMgaGVscGVyIGRldGVjdHMgdGhhdCBmb3JtIGFuZCBwcmVmaXhlcyBpdCB3aXRoIGBmdW5jdGlvbiBgLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0LlxuICogQHJldHVybnMgQSBzdHJpbmcgdGhhdCBpcyBhIHZhbGlkIGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgYEZ1bmN0aW9uYCB0eXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyhmbjogRnVuY3Rpb24pOiBzdHJpbmcge1xuICBjb25zdCBmblN0cmluZyA9IGZuLnRvU3RyaW5nKCk7XG5cbiAgaWYgKEZVTkNUSU9OX0VYUFJFU1NJT05fUkUudGVzdChmblN0cmluZykpIHtcbiAgICByZXR1cm4gZm5TdHJpbmc7XG4gIH1cblxuICBjb25zdCBhc3luY01hdGNoID0gQVNZTkNfS0VZV09SRF9SRS5leGVjKGZuU3RyaW5nKTtcbiAgaWYgKGFzeW5jTWF0Y2gpIHtcbiAgICByZXR1cm4gYGFzeW5jIGZ1bmN0aW9uICR7Zm5TdHJpbmcuc2xpY2UoYXN5bmNNYXRjaFswXS5sZW5ndGgpfWA7XG4gIH1cblxuICByZXR1cm4gYGZ1bmN0aW9uICR7Zm5TdHJpbmd9YDtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3RoaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgLy8gRG9lcyBub3RoaW5nLlxufVxuXG4vKipcbiAqIEEgc2luZ2xldG9uIG5vLW9wIHByb21pc2UuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcHJlZmVyLW5vb3AtYXN5bmMgLS0gQXZvaWQgY2lyY3VsYXIgcmVmZXJlbmNlLlxuZXhwb3J0IGNvbnN0IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3RoaW5nLlxuICpcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbm9vcEFzeW5jU2luZ2xldG9uUHJvbWlzZTtcbn1cblxuLyoqXG4gKiBNYWtlcyBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBhc3luYyBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKlxuICogQHR5cGVQYXJhbSBBcmdzIC0gQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gZm4gLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQuXG4gKiBAcmV0dXJucyBBbiBhc3luYyBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbWl0QXN5bmNSZXR1cm5UeXBlPEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KGZuOiBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmdzPik6IEdlbmVyaWNBc3luY1ZvaWRGdW5jdGlvbjxBcmdzPiB7XG4gIHJldHVybiBhc3luYyAoLi4uYXJnczogQXJncykgPT4ge1xuICAgIGF3YWl0IGZuKC4uLmFyZ3MpO1xuICB9O1xufVxuXG4vKipcbiAqIE1hdGNoZXMgc3RyaW5ncyB0aGF0IGFyZSBhbHJlYWR5IHZhbGlkIGZ1bmN0aW9uIGV4cHJlc3Npb25zOlxuICogLSBgZnVuY3Rpb24gLi4uYCAoa2V5d29yZCwgbm90IGlkZW50aWZpZXIgbGlrZSBgZnVuY3Rpb24xYClcbiAqIC0gYChgIChhcnJvdyBmdW5jdGlvbilcbiAqIC0gYGFzeW5jXFxiYCBmb2xsb3dlZCBieSBgZnVuY3Rpb25cXGJgIG9yIGAoYCAoYXN5bmMgZnVuY3Rpb24vYXJyb3cpXG4gKi9cbmNvbnN0IEZVTkNUSU9OX0VYUFJFU1NJT05fUkUgPSAvXig/OmZ1bmN0aW9uXFxifGFzeW5jXFxiXFxzKig/OmZ1bmN0aW9uXFxifFxcKCl8XFwoKS87XG5cbi8qKlxuICogTWF0Y2hlcyB0aGUgYGFzeW5jYCBrZXl3b3JkICh3b3JkIGJvdW5kYXJ5LCBub3QgYGFzeW5jMWApIGZvbGxvd2VkIGJ5IG9wdGlvbmFsIHdoaXRlc3BhY2UuXG4gKiBVc2VkIHRvIHN0cmlwIHRoZSBgYXN5bmNgIHByZWZpeCBmcm9tIGFzeW5jIHNob3J0aGFuZCBtZXRob2RzIGJlZm9yZSByZS1hZGRpbmcgYGFzeW5jIGZ1bmN0aW9uYC5cbiAqL1xuY29uc3QgQVNZTkNfS0VZV09SRF9SRSA9IC9eYXN5bmNcXGJcXHMqLztcblxudHlwZSBBcmdOYW1lc09mPFQgZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+ID0gTWFwVG9BcmdOYW1lczxQYXJhbWV0ZXJzPFQ+PjtcblxuaW50ZXJmYWNlIENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zIHtcbiAgcmVhZG9ubHkgZnVuY3Rpb25Cb2R5OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+IGV4dGVuZHMgQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMge1xuICByZWFkb25seSBhcmdOYW1lczogQXJnTmFtZXNPZjxURnVuY3Rpb24+O1xufVxuXG50eXBlIE1hcFRvQXJnTmFtZXM8VEFyZ3MgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+ID0ge1xuICByZWFkb25seSBbSyBpbiBrZXlvZiBUQXJnc106IHN0cmluZztcbn07XG5cbi8qKlxuICogQ2xvbmUgYSBmdW5jdGlvbiBieSBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbi5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3IgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2Ugb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyB0aGUgc2FtZSBiZWhhdmlvciBidXQgaXMgbm90IHN0cmljdGx5IGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFRGdW5jdGlvbiAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiB0byBjbG9uZS5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjbG9uZS5cbiAqIEByZXR1cm5zIEEgbmV3IGZ1bmN0aW9uIHRoYXQgaGFzIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb25lRnVuY3Rpb248VEZ1bmN0aW9uIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPihmbjogVEZ1bmN0aW9uKTogVEZ1bmN0aW9uIHtcbiAgcmV0dXJuIGNsb25lZEZuIGFzIFRGdW5jdGlvbjtcblxuICBmdW5jdGlvbiBjbG9uZWRGbih0aGlzOiBUaGlzUGFyYW1ldGVyVHlwZTxURnVuY3Rpb24+LCAuLi5hcmdzOiBQYXJhbWV0ZXJzPFRGdW5jdGlvbj4pOiBSZXR1cm5UeXBlPFRGdW5jdGlvbj4ge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmdzKSBhcyBSZXR1cm5UeXBlPFRGdW5jdGlvbj47XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogRnVuY3Rpb24gaXMgYXJndW1lbnRsZXNzLCBzbyBgYXJnTmFtZXNgIGlzIG5vdCBuZWVkZWQuXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY3JlYXRlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBXZSBuZWVkIHJldHVybiB0eXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uPFRGdW5jdGlvbiBleHRlbmRzICgpID0+IHVua25vd24+KHBhcmFtczogQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMpOiBURnVuY3Rpb247XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEZ1bmN0aW9uIGhhcyBhcmd1bWVudHMsIHNvIGBhcmdOYW1lc2AgaXMgcmVxdWlyZWQuXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY3JlYXRlLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb248VEZ1bmN0aW9uIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPihwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uUGFyYW1zPFRGdW5jdGlvbj4pOiBURnVuY3Rpb247XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gY3JlYXRlIHRoZSBmdW5jdGlvbiB3aXRoLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiBjcmVhdGVkIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+KFxuICBwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zICYgUGFydGlhbDxDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24+PlxuKTogVEZ1bmN0aW9uIHtcbiAgY29uc3QgYXJnTmFtZXMgPSBwYXJhbXMuYXJnTmFtZXMgPz8gW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuYywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcGxpZWQtZXZhbCAtLSBOZWVkIGZ1bmN0aW9uIGNvbnN0cnVjdG9yXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oLi4uYXJnTmFtZXMsIHBhcmFtcy5mdW5jdGlvbkJvZHkpIGFzIFRGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBNYWtlcyBhIGZ1bmN0aW9uIHRoYXQgY2FsbHMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBhbmQgb21pdHMgdGhlIHJldHVybiB2YWx1ZS5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3MgLSBBcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSBmbiAtIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb21pdFJldHVyblR5cGU8QXJncyBleHRlbmRzIHVua25vd25bXT4oZm46IEdlbmVyaWNGdW5jdGlvbjxBcmdzPik6IEdlbmVyaWNWb2lkRnVuY3Rpb248QXJncz4ge1xuICByZXR1cm4gKC4uLmFyZ3M6IEFyZ3MpID0+IHtcbiAgICBmbiguLi5hcmdzKTtcbiAgfTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VPLFNBQVMsNEJBQTRCLElBQXNCO0FBQ2hFLFFBQU0sV0FBVyxHQUFHLFNBQVM7QUFFN0IsTUFBSSx1QkFBdUIsS0FBSyxRQUFRLEdBQUc7QUFDekMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWEsaUJBQWlCLEtBQUssUUFBUTtBQUNqRCxNQUFJLFlBQVk7QUFDZCxXQUFPLGtCQUFrQixTQUFTLE1BQU0sV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0FBQUEsRUFDL0Q7QUFFQSxTQUFPLFlBQVksUUFBUTtBQUM3QjtBQUtPLFNBQVMsT0FBYTtBQUU3QjtBQU1PLE1BQU0sNEJBQTRCLFFBQVEsUUFBUTtBQU9sRCxTQUFTLFlBQTJCO0FBQ3pDLFNBQU87QUFDVDtBQVNPLFNBQVMsb0JBQTRDLElBQWdFO0FBQzFILFNBQU8sVUFBVSxTQUFlO0FBQzlCLFVBQU0sR0FBRyxHQUFHLElBQUk7QUFBQSxFQUNsQjtBQUNGO0FBUUEsTUFBTSx5QkFBeUI7QUFNL0IsTUFBTSxtQkFBbUI7QUF5QmxCLFNBQVMsY0FBaUQsSUFBMEI7QUFDekYsU0FBTztBQUVQLFdBQVMsWUFBZ0QsTUFBb0Q7QUFDM0csV0FBTyxHQUFHLE1BQU0sTUFBTSxJQUFJO0FBQUEsRUFDNUI7QUFDRjtBQThCTyxTQUFTLGVBQ2QsUUFDVztBQUNYLFFBQU0sV0FBVyxPQUFPLFlBQVksQ0FBQztBQUVyQyxTQUFPLElBQUksU0FBUyxHQUFHLFVBQVUsT0FBTyxZQUFZO0FBQ3REO0FBU08sU0FBUyxlQUF1QyxJQUFzRDtBQUMzRyxTQUFPLElBQUksU0FBZTtBQUN4QixPQUFHLEdBQUcsSUFBSTtBQUFBLEVBQ1o7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -87,6 +87,16 @@ interface CreateFunctionParams<TFunction extends GenericFunction> extends Create
|
|
|
87
87
|
type MapToArgNames<TArgs extends readonly unknown[]> = {
|
|
88
88
|
readonly [K in keyof TArgs]: string;
|
|
89
89
|
};
|
|
90
|
+
/**
|
|
91
|
+
* Clone a function by creating a new function that calls the original function.
|
|
92
|
+
*
|
|
93
|
+
* This is useful for creating a new instance of a function that has the same behavior but is not strictly equal to the original function.
|
|
94
|
+
*
|
|
95
|
+
* @typeParam TFunction - The type of the function to clone.
|
|
96
|
+
* @param fn - The function to clone.
|
|
97
|
+
* @returns A new function that has the same behavior as the original function.
|
|
98
|
+
*/
|
|
99
|
+
export declare function cloneFunction<TFunction extends GenericFunction>(fn: TFunction): TFunction;
|
|
90
100
|
/**
|
|
91
101
|
* Creates a function from the provided parameters.
|
|
92
102
|
*
|
package/dist/lib/cjs/library.cjs
CHANGED
|
@@ -130,7 +130,7 @@ __export(library_exports, {
|
|
|
130
130
|
LIBRARY_VERSION: () => LIBRARY_VERSION
|
|
131
131
|
});
|
|
132
132
|
module.exports = __toCommonJS(library_exports);
|
|
133
|
-
const LIBRARY_VERSION = "74.
|
|
133
|
+
const LIBRARY_VERSION = "74.1.0";
|
|
134
134
|
const LIBRARY_NAME = "obsidian-dev-utils";
|
|
135
135
|
const LIBRARY_STYLES = ".obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component pre, .obsidian-dev-utils.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-dev-utils.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-dev-utils.code-highlighter-component pre {\n position: absolute;\n pointer-events: none;\n border: var(--input-border-width) solid transparent;\n overflow: auto;\n inset: 0;\n padding: var(--size-4-1) var(--size-4-2);\n z-index: 1;\n}\n.obsidian-dev-utils.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-dev-utils.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-dev-utils.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-dev-utils input[type=url] {\n height: var(--input-height);\n}\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=tel],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=url],\n.obsidian-dev-utils input[type=week] {\n -webkit-app-region: no-drag;\n background: var(--background-modifier-form-field);\n border: var(--input-border-width) solid var(--background-modifier-border);\n color: var(--text-normal);\n font-family: inherit;\n padding: var(--size-4-1) var(--size-4-2);\n font-size: var(--font-ui-small);\n border-radius: var(--input-radius);\n outline: none;\n}\n@media (hover: hover) {\n .obsidian-dev-utils input[type=month]:hover,\n .obsidian-dev-utils input[type=tel]:hover,\n .obsidian-dev-utils input[type=time]:hover,\n .obsidian-dev-utils input[type=url]:hover,\n .obsidian-dev-utils input[type=week]:hover {\n border-color: var(--background-modifier-border-hover);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n }\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus {\n border-color: var(--background-modifier-border-focus);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus, .obsidian-dev-utils input[type=month]:focus-visible,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=tel]:focus-visible,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=time]:focus-visible,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=url]:focus-visible,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus,\n.obsidian-dev-utils input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-dev-utils input[type=month]::placeholder,\n.obsidian-dev-utils input[type=tel]::placeholder,\n.obsidian-dev-utils input[type=time]::placeholder,\n.obsidian-dev-utils input[type=url]::placeholder,\n.obsidian-dev-utils input[type=week]::placeholder {\n color: var(--text-faint);\n}\n.mod-rtl input[type=month],\n.mod-rtl input[type=time],\n.mod-rtl input[type=week],\n.is-rtl input[type=month],\n.is-rtl input[type=time],\n.is-rtl input[type=week],\n.rtl input[type=month],\n.rtl input[type=time],\n.rtl input[type=week] {\n direction: rtl;\n}\n.mod-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.rtl input[type=month]::-webkit-calendar-picker-indicator,\n.rtl input[type=time]::-webkit-calendar-picker-indicator,\n.rtl input[type=week]::-webkit-calendar-picker-indicator {\n right: var(--size-4-1);\n left: auto;\n}\n\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n position: absolute;\n left: var(--size-4-1);\n right: auto;\n opacity: 0.5;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:focus {\n background-color: var(--text-selection);\n color: var(--text-normal);\n cursor: text;\n}\n.mod-rtl .obsidian-dev-utils input[type=month], .is-rtl .obsidian-dev-utils input[type=month], .rtl .obsidian-dev-utils input[type=month],\n.mod-rtl .obsidian-dev-utils input[type=time],\n.is-rtl .obsidian-dev-utils input[type=time],\n.rtl .obsidian-dev-utils input[type=time],\n.mod-rtl .obsidian-dev-utils input[type=week],\n.is-rtl .obsidian-dev-utils input[type=week],\n.rtl .obsidian-dev-utils input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n left: auto;\n right: var(--size-4-1);\n}\n\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\n.obsidian-dev-utilsprogress.loop {\n min-width: 200px;\n}\n\n.obsidian-dev-utils.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-dev-utils .multiple-dropdown-component select,\n.obsidian-dev-utils .multiple-dropdown-component select:focus,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-dev-utils .multiple-dropdown-component select option:checked,\n.obsidian-dev-utils .multiple-dropdown-component select:focus option:checked,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown option:checked {\n background-color: #1967d2;\n color: #fff;\n}\n\n.obsidian-dev-utils.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-dev-utils.prompt-modal .text-box {\n width: 100%;\n}\n\n.obsidian-dev-utils.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-dev-utils :invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils input.metadata-input-text:active:invalid, .obsidian-dev-utils input.metadata-input-text:focus-visible:invalid, .obsidian-dev-utils input.metadata-input-text:focus:invalid,\n.obsidian-dev-utils input[type=date]:active:invalid,\n.obsidian-dev-utils input[type=date]:focus-visible:invalid,\n.obsidian-dev-utils input[type=date]:focus:invalid,\n.obsidian-dev-utils input[type=datetime-local]:active:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus-visible:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus:invalid,\n.obsidian-dev-utils input[type=email]:active:invalid,\n.obsidian-dev-utils input[type=email]:focus-visible:invalid,\n.obsidian-dev-utils input[type=email]:focus:invalid,\n.obsidian-dev-utils input[type=number]:active:invalid,\n.obsidian-dev-utils input[type=number]:focus-visible:invalid,\n.obsidian-dev-utils input[type=number]:focus:invalid,\n.obsidian-dev-utils input[type=password]:active:invalid,\n.obsidian-dev-utils input[type=password]:focus-visible:invalid,\n.obsidian-dev-utils input[type=password]:focus:invalid,\n.obsidian-dev-utils input[type=search]:active:invalid,\n.obsidian-dev-utils input[type=search]:focus-visible:invalid,\n.obsidian-dev-utils input[type=search]:focus:invalid,\n.obsidian-dev-utils input[type=text]:active:invalid,\n.obsidian-dev-utils input[type=text]:focus-visible:invalid,\n.obsidian-dev-utils input[type=text]:focus:invalid,\n.obsidian-dev-utils textarea:active:invalid,\n.obsidian-dev-utils textarea:focus-visible:invalid,\n.obsidian-dev-utils textarea:focus:invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-dev-utils.overlay-validator {\n caret-color: transparent;\n cursor: default;\n position: absolute;\n background-color: transparent;\n border: none;\n outline: none;\n pointer-events: none;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n.obsidian-dev-utils.tooltip.tooltip-validator {\n position: absolute;\n top: calc(100% + 8px);\n width: max-content;\n}\n\n/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/loop.scss%22,%22../src/styles/modal-container.scss%22,%22../src/styles/multiple-dropdown-component.scss%22,%22../src/styles/plugin-settings-tab.scss%22,%22../src/styles/prompt-modal.scss%22,%22../src/styles/tri-state-checkbox-component.scss%22,%22../src/styles/validation.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEI;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;ACzCJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;;;ACAA;EACE;EACA;;;ACFF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACRJ;EACE;;;ACDF;EACE;;;ACDF;EACE;;;ACEJ;EAJA;;AAoBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EApBJ;;AA0BA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20&.code-highlighter-component%20%7B%5Cn%20%20%20%20textarea,%20pre,%20code%20%7B%5Cn%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20line-height:%20var(--line-height-normal);%5Cn%20%20%20%20%20%20margin:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea,%20code%20%7B%5Cn%20%20%20%20%20%20font-size:%20var(--code-size);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20transparent;%5Cn%20%20%20%20%20%20z-index:%202;%5Cn%20%20%20%20%20%20width:%2020em;%5Cn%20%20%20%20%20%20height:%2010em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20%20%20border:%20var(--input-border-width)%20solid%20transparent;%5Cn%20%20%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20%20%20inset:%200;%5Cn%20%20%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20%20%20z-index:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre::after%20%7B%5Cn%20%20%20%20%20%20content:%20%5C%22%5C%22;%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20height:%20var(--bottom-gap,%200);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre.is-placeholder%20%7B%5Cn%20%20%20%20%20%20opacity:%200.6;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='url'%5D%20%7B%5Cn%20%20%20%20height:%20var(--input-height)%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='tel'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='url'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20-webkit-app-region:%20no-drag;%5Cn%20%20%20%20background:%20var(--background-modifier-form-field);%5Cn%20%20%20%20border:%20var(--input-border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20font-family:%20inherit;%5Cn%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20font-size:%20var(--font-ui-small);%5Cn%20%20%20%20border-radius:%20var(--input-radius);%5Cn%20%20%20%20outline:%20none;%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20@media%20(hover:%20hover)%20%7B%5Cn%20%20%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20border-color:%20var(--background-modifier-border-hover);%5Cn%20%20%20%20%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus,%5Cn%20%20%20%20&:focus-visible%20%7B%5Cn%20%20%20%20%20%20box-shadow:%200%200%200%202px%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20@at-root%20%7B%5Cn%20%20%20%20.mod-rtl,%5Cn%20%20%20%20.is-rtl,%5Cn%20%20%20%20.rtl%20%7B%5Cn%20%20%20%20%20%20&%20%7B%5Cn%20%20%20%20%20%20%20%20input%5Btype='month'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='time'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20font-variant-numeric:%20tabular-nums;%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-text%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%20%20padding-inline-end:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20left:%20var(--size-4-1);%5Cn%20%20%20%20%20%20right:%20auto;%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-month-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-day-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-year-field%20%7B%5Cn%20%20%20%20%20%20&:active,%5Cn%20%20%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--text-selection);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%20%20cursor:%20text;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20.mod-rtl%20&,%5Cn%20%20%20%20%20%20.is-rtl%20&,%5Cn%20%20%20%20%20%20.rtl%20&%20%7B%5Cn%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20body:not(.is-ios):not(.is-android)%20&%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline-start:%20var(--size-4-6);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='time'%5D%20%7B%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&progress.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%20%20%20%20%20%20padding-top:%203px;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20%231967d2;%5Cn%20%20%20%20%20%20%20%20color:%20%23fff;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-settings-tab%20%7B%5Cn%20%20%20%20a:focus%20%7B%5Cn%20%20%20%20%20%20outline:%202px%20solid%20var(--link-color);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cr%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cr%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cr%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cr%5Cn%20%20%20%20%7D%5Cr%5Cn%20%20%7D%5Cr%5Cn%7D%5Cr%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20:invalid%20%7B%5Cn%20%20%20%20@include%20invalid;%5Cn%20%20%7D%5Cn%5Cn%20%20input.metadata-input-text,%5Cn%20%20input%5Btype='date'%5D,%5Cn%20%20input%5Btype='datetime-local'%5D,%5Cn%20%20input%5Btype='email'%5D,%5Cn%20%20input%5Btype='number'%5D,%5Cn%20%20input%5Btype='password'%5D,%5Cn%20%20input%5Btype='search'%5D,%5Cn%20%20input%5Btype='text'%5D,%5Cn%20%20textarea%20%7B%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus-visible,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20&:invalid%20%7B%5Cn%20%20%20%20%20%20%20%20@include%20invalid;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.setting-component-wrapper%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%7D%5Cn%5Cn%20%20&.overlay-validator%20%7B%5Cn%20%20%20%20caret-color:%20transparent;%5Cn%20%20%20%20cursor:%20default;%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20background-color:%20transparent;%5Cn%20%20%20%20border:%20none;%5Cn%20%20%20%20outline:%20none;%5Cn%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20z-index:%209999;%5Cn%20%20%20%20left:%200;%5Cn%20%20%20%20top:%200;%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20height:%20100%25;%5Cn%20%20%7D%5Cn%5Cn%20%20&.tooltip.tooltip-validator%20%7B%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20top:%20calc(100%25%20+%208px);%5Cn%20%20%20%20width:%20max-content;%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */\n";
|
|
136
136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -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;
|