obsidian-dev-utils 5.3.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/lib/Async.cjs +2 -1
- package/dist/lib/Async.d.ts +4 -0
- package/dist/lib/String.cjs +3 -3
- package/dist/lib/String.d.ts +2 -2
- package/dist/lib/obsidian/AttachmentPath.cjs +3 -3
- package/dist/lib/obsidian/AttachmentPath.d.ts +3 -3
- package/dist/lib/obsidian/Backlink.cjs +3 -3
- package/dist/lib/obsidian/FileSystem.cjs +15 -15
- package/dist/lib/obsidian/FileSystem.d.ts +14 -14
- package/dist/lib/obsidian/Link.cjs +77 -73
- package/dist/lib/obsidian/Link.d.ts +61 -65
- package/dist/lib/obsidian/Loop.cjs +2 -2
- package/dist/lib/obsidian/Loop.d.ts +4 -4
- package/dist/lib/obsidian/MetadataCache.cjs +1 -16
- package/dist/lib/obsidian/MetadataCache.d.ts +0 -9
- package/dist/lib/obsidian/Plugin/ValueComponent.cjs +4 -4
- package/dist/lib/obsidian/Plugin/ValueComponent.d.ts +4 -4
- package/dist/lib/obsidian/RenameDeleteHandler.cjs +17 -19
- package/dist/lib/scripts/ESLint/ESLint.cjs +5 -5
- package/dist/lib/scripts/ESLint/ESLint.d.ts +2 -2
- package/dist/lib/scripts/Exec.cjs +5 -5
- package/dist/lib/scripts/Exec.d.ts +7 -7
- package/dist/lib/scripts/JSON.cjs +2 -2
- package/dist/lib/scripts/JSON.d.ts +1 -1
- package/dist/lib/scripts/Npm.cjs +3 -3
- package/dist/lib/scripts/Root.cjs +4 -4
- package/dist/lib/scripts/version.cjs +12 -12
- package/package.json +1 -1
@@ -15,30 +15,26 @@ export interface ConvertLinkOptions {
|
|
15
15
|
* The Obsidian app instance.
|
16
16
|
*/
|
17
17
|
app: App;
|
18
|
-
/**
|
19
|
-
* Whether to force markdown links.
|
20
|
-
*/
|
21
|
-
forceMarkdownLinks?: boolean | undefined;
|
22
18
|
/**
|
23
19
|
* The reference for the link.
|
24
20
|
*/
|
25
21
|
link: Reference;
|
22
|
+
/**
|
23
|
+
* The source file containing the link.
|
24
|
+
*/
|
25
|
+
newSourcePathOrFile: PathOrFile;
|
26
26
|
/**
|
27
27
|
* The old path of the link.
|
28
28
|
*/
|
29
|
-
|
29
|
+
oldSourcePathOrFile?: PathOrFile | undefined;
|
30
30
|
/**
|
31
|
-
*
|
31
|
+
* Whether to force markdown links.
|
32
32
|
*/
|
33
|
-
|
33
|
+
shouldForceMarkdownLinks?: boolean | undefined;
|
34
34
|
/**
|
35
35
|
* Whether to update filename alias. Defaults to `true`.
|
36
36
|
*/
|
37
37
|
shouldUpdateFilenameAlias?: boolean | undefined;
|
38
|
-
/**
|
39
|
-
* The source file containing the link.
|
40
|
-
*/
|
41
|
-
sourcePathOrFile: PathOrFile;
|
42
38
|
}
|
43
39
|
/**
|
44
40
|
* Wrapper for default options for generating markdown links.
|
@@ -57,30 +53,22 @@ export interface GenerateMarkdownLinkOptions {
|
|
57
53
|
* The alias for the link.
|
58
54
|
*/
|
59
55
|
alias?: string | undefined;
|
60
|
-
/**
|
61
|
-
* Whether to allow an empty alias for embeds. Defaults to `true`.
|
62
|
-
*/
|
63
|
-
allowEmptyEmbedAlias?: boolean | undefined;
|
64
|
-
/**
|
65
|
-
* Whether to allow non-existing files. If `false` and `pathOrFile` is a non-existing file, an error will be thrown. Defaults to `false`.
|
66
|
-
*/
|
67
|
-
allowNonExistingFile?: boolean | undefined;
|
68
56
|
/**
|
69
57
|
* The Obsidian app instance.
|
70
58
|
*/
|
71
59
|
app: App;
|
72
60
|
/**
|
73
|
-
* Indicates if the link should be
|
61
|
+
* Indicates if the link should be embedded. If not provided, it will be inferred based on the file type.
|
74
62
|
*/
|
75
|
-
|
63
|
+
isEmbed?: boolean | undefined;
|
76
64
|
/**
|
77
|
-
* Whether to
|
65
|
+
* Whether to allow an empty alias for embeds. Defaults to `true`.
|
78
66
|
*/
|
79
|
-
|
67
|
+
isEmptyEmbedAliasAllowed?: boolean | undefined;
|
80
68
|
/**
|
81
|
-
*
|
69
|
+
* Whether to allow non-existing files. If `false` and `pathOrFile` is a non-existing file, an error will be thrown. Defaults to `false`.
|
82
70
|
*/
|
83
|
-
|
71
|
+
isNonExistingFileAllowed?: boolean | undefined;
|
84
72
|
/**
|
85
73
|
* Indicates if the link should be a wikilink. If not provided, it will be inferred based on the Obsidian settings.
|
86
74
|
*/
|
@@ -91,9 +79,21 @@ export interface GenerateMarkdownLinkOptions {
|
|
91
79
|
*/
|
92
80
|
originalLink?: string | undefined;
|
93
81
|
/**
|
94
|
-
*
|
82
|
+
* Indicates if the link should be relative. If not provided or `false`, it will be inferred based on the Obsidian settings.
|
95
83
|
*/
|
96
|
-
|
84
|
+
shouldForceRelativePath?: boolean | undefined;
|
85
|
+
/**
|
86
|
+
* Whether to include the attachment extension in the embed alias. Has no effect if `allowEmptyEmbedAlias` is `true`. Defaults to `false`.
|
87
|
+
*/
|
88
|
+
shouldIncludeAttachmentExtensionToEmbedAlias?: boolean | undefined;
|
89
|
+
/**
|
90
|
+
* Indicates if the link should use angle brackets. Defaults to `false`. Has no effect if `isWikilink` is `true`
|
91
|
+
*/
|
92
|
+
shouldUseAngleBrackets?: boolean | undefined;
|
93
|
+
/**
|
94
|
+
* Indicates if the link should use a leading dot. Defaults to `false`. Has no effect if `isWikilink` is `true` or `isRelative` is `false`.
|
95
|
+
*/
|
96
|
+
shouldUseLeadingDot?: boolean | undefined;
|
97
97
|
/**
|
98
98
|
* The source path of the link.
|
99
99
|
*/
|
@@ -103,13 +103,9 @@ export interface GenerateMarkdownLinkOptions {
|
|
103
103
|
*/
|
104
104
|
subpath?: string | undefined;
|
105
105
|
/**
|
106
|
-
*
|
107
|
-
*/
|
108
|
-
useAngleBrackets?: boolean | undefined;
|
109
|
-
/**
|
110
|
-
* Indicates if the link should use a leading dot. Defaults to `false`. Has no effect if `isWikilink` is `true` or `isRelative` is `false`.
|
106
|
+
* The target path or file.
|
111
107
|
*/
|
112
|
-
|
108
|
+
targetPathOrFile: PathOrFile;
|
113
109
|
}
|
114
110
|
/**
|
115
111
|
* The result of parsing a link.
|
@@ -161,17 +157,21 @@ export interface ShouldResetAliasOptions {
|
|
161
157
|
*/
|
162
158
|
isWikilink?: boolean | undefined;
|
163
159
|
/**
|
164
|
-
*
|
160
|
+
* The source path of the link.
|
165
161
|
*/
|
166
|
-
|
162
|
+
newSourcePathOrFile: PathOrFile;
|
167
163
|
/**
|
168
|
-
* The
|
164
|
+
* The old source file containing the link.
|
169
165
|
*/
|
170
|
-
|
166
|
+
oldSourcePathOrFile?: PathOrFile | undefined;
|
171
167
|
/**
|
172
|
-
* The
|
168
|
+
* The old target path of the link.
|
173
169
|
*/
|
174
|
-
|
170
|
+
oldTargetPath: PathOrFile;
|
171
|
+
/**
|
172
|
+
* The target path or file.
|
173
|
+
*/
|
174
|
+
targetPathOrFile: PathOrFile;
|
175
175
|
}
|
176
176
|
/**
|
177
177
|
* Splits a link into its link path and subpath.
|
@@ -194,34 +194,34 @@ export interface UpdateLinkOptions {
|
|
194
194
|
* The Obsidian app instance.
|
195
195
|
*/
|
196
196
|
app: App;
|
197
|
-
/**
|
198
|
-
* Whether to force markdown links.
|
199
|
-
*/
|
200
|
-
forceMarkdownLinks?: boolean | undefined;
|
201
197
|
/**
|
202
198
|
* The reference for the link.
|
203
199
|
*/
|
204
200
|
link: Reference;
|
205
201
|
/**
|
206
|
-
* The
|
202
|
+
* The source file containing the link.
|
207
203
|
*/
|
208
|
-
|
204
|
+
newSourcePathOrFile: PathOrFile;
|
209
205
|
/**
|
210
206
|
* The file associated with the link.
|
211
207
|
*/
|
212
|
-
|
208
|
+
newTargetPathOrFile: PathOrFile;
|
213
209
|
/**
|
214
|
-
*
|
210
|
+
* The old source file containing the link.
|
215
211
|
*/
|
216
|
-
|
212
|
+
oldSourcePathOrFile?: PathOrFile | undefined;
|
217
213
|
/**
|
218
|
-
*
|
214
|
+
* The old path of the file.
|
219
215
|
*/
|
220
|
-
|
216
|
+
oldTargetPathOrFile?: PathOrFile | undefined;
|
221
217
|
/**
|
222
|
-
*
|
218
|
+
* Whether to force markdown links.
|
223
219
|
*/
|
224
|
-
|
220
|
+
shouldForceMarkdownLinks?: boolean | undefined;
|
221
|
+
/**
|
222
|
+
* Whether to update filename alias. Defaults to `true`.
|
223
|
+
*/
|
224
|
+
shouldUpdateFilenameAlias?: boolean | undefined;
|
225
225
|
}
|
226
226
|
/**
|
227
227
|
* Options for updating links in a file.
|
@@ -232,25 +232,21 @@ export interface UpdateLinksInFileOptions {
|
|
232
232
|
*/
|
233
233
|
app: App;
|
234
234
|
/**
|
235
|
-
*
|
236
|
-
*/
|
237
|
-
embedOnlyLinks?: boolean | undefined;
|
238
|
-
/**
|
239
|
-
* Whether to force the links to be in Markdown format.
|
235
|
+
* The file to update the links in.
|
240
236
|
*/
|
241
|
-
|
237
|
+
newSourcePathOrFile: PathOrFile;
|
242
238
|
/**
|
243
239
|
* The old path of the file.
|
244
240
|
*/
|
245
|
-
|
241
|
+
oldSourcePathOrFile?: PathOrFile;
|
246
242
|
/**
|
247
|
-
*
|
243
|
+
* Whether to force the links to be in Markdown format.
|
248
244
|
*/
|
249
|
-
|
245
|
+
shouldForceMarkdownLinks?: boolean | undefined;
|
250
246
|
/**
|
251
|
-
*
|
247
|
+
* Whether to update only embedded links.
|
252
248
|
*/
|
253
|
-
|
249
|
+
shouldUpdateEmbedOnlyLinks?: boolean | undefined;
|
254
250
|
/**
|
255
251
|
* Whether to update filename alias. Defaults to `true`.
|
256
252
|
*/
|
@@ -288,10 +284,10 @@ export declare function editLinks(app: App, pathOrFile: PathOrFile, linkConverte
|
|
288
284
|
*
|
289
285
|
* @param app - The Obsidian application instance.
|
290
286
|
* @param link - The reference cache for the link.
|
291
|
-
* @param
|
287
|
+
* @param sourcePathOrFile - The source path or file.
|
292
288
|
* @returns The file associated with the link, or null if not found.
|
293
289
|
*/
|
294
|
-
export declare function extractLinkFile(app: App, link: Reference,
|
290
|
+
export declare function extractLinkFile(app: App, link: Reference, sourcePathOrFile: PathOrFile): null | TFile;
|
295
291
|
/**
|
296
292
|
* Generates a markdown link based on the provided parameters.
|
297
293
|
*
|
@@ -53,7 +53,7 @@ async function loop(options) {
|
|
53
53
|
try {
|
54
54
|
await options.processItem(item);
|
55
55
|
} catch (error) {
|
56
|
-
if (!options.
|
56
|
+
if (!options.shouldContinueOnError) {
|
57
57
|
notice.hide();
|
58
58
|
throw error;
|
59
59
|
} else {
|
@@ -67,4 +67,4 @@ async function loop(options) {
|
|
67
67
|
0 && (module.exports = {
|
68
68
|
loop
|
69
69
|
});
|
70
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+
|
70
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTG9vcFxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGxvb3BpbmcgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGVtaXRBc3luY0Vycm9yRXZlbnQgfSBmcm9tICcuLi9FcnJvci50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGxvb3AgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9vcE9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgYWJvcnQgc2lnbmFsIHRvIGNhbmNlbCB0aGUgbG9vcC5cbiAgICovXG4gIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gYnVpbGQgdGhlIG5vdGljZSBtZXNzYWdlIGZvciBlYWNoIGl0ZW0uXG4gICAqL1xuICBidWlsZE5vdGljZU1lc3NhZ2UoaXRlbTogVCwgaXRlcmF0aW9uU3RyOiBzdHJpbmcpOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaXRlbXMgdG8gbG9vcCBvdmVyLlxuICAgKi9cbiAgaXRlbXM6IFRbXTtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0byBwcm9jZXNzIGVhY2ggaXRlbS5cbiAgICovXG4gIHByb2Nlc3NJdGVtKGl0ZW06IFQpOiBNYXliZVByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbnRpbnVlIHRoZSBsb29wIG9uIGVycm9yLlxuICAgKi9cbiAgc2hvdWxkQ29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBMb29wcyBvdmVyIGEgbGlzdCBvZiBpdGVtcyBhbmQgcHJvY2Vzc2VzIGVhY2ggaXRlbS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgbG9vcC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvb3A8VD4ob3B0aW9uczogTG9vcE9wdGlvbnM8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgaXRlbXMgPSBvcHRpb25zLml0ZW1zO1xuICBsZXQgaXRlcmF0aW9uQ291bnQgPSAwO1xuICBjb25zdCBub3RpY2UgPSBuZXcgTm90aWNlKCcnLCAwKTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgaWYgKG9wdGlvbnMuYWJvcnRTaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIG5vdGljZS5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZXJhdGlvbkNvdW50Kys7XG4gICAgY29uc3QgaXRlcmF0aW9uU3RyID0gYCMgJHtpdGVyYXRpb25Db3VudC50b1N0cmluZygpfSAvICR7aXRlbXMubGVuZ3RoLnRvU3RyaW5nKCl9YDtcbiAgICBjb25zdCBtZXNzYWdlID0gb3B0aW9ucy5idWlsZE5vdGljZU1lc3NhZ2UoaXRlbSwgaXRlcmF0aW9uU3RyKTtcbiAgICBub3RpY2Uuc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghb3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlLmhpZGUoKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbm90aWNlLmhpZGUoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxtQkFBb0M7QUFacEMsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQXlDQSxlQUFzQixLQUFRLFNBQXdDO0FBQ3BFLFFBQU0sUUFBUSxRQUFRO0FBQ3RCLE1BQUksaUJBQWlCO0FBQ3JCLFFBQU0sU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQy9CLGFBQVcsUUFBUSxPQUFPO0FBQ3hCLFFBQUksUUFBUSxhQUFhLFNBQVM7QUFDaEMsYUFBTyxLQUFLO0FBQ1o7QUFBQSxJQUNGO0FBQ0E7QUFDQSxVQUFNLGVBQWUsS0FBSyxlQUFlLFNBQVMsQ0FBQyxNQUFNLE1BQU0sT0FBTyxTQUFTLENBQUM7QUFDaEYsVUFBTSxVQUFVLFFBQVEsbUJBQW1CLE1BQU0sWUFBWTtBQUM3RCxXQUFPLFdBQVcsT0FBTztBQUN6QixZQUFRLE1BQU0sT0FBTztBQUVyQixRQUFJO0FBQ0YsWUFBTSxRQUFRLFlBQVksSUFBSTtBQUFBLElBQ2hDLFNBQVMsT0FBTztBQUNkLFVBQUksQ0FBQyxRQUFRLHVCQUF1QjtBQUNsQyxlQUFPLEtBQUs7QUFDWixjQUFNO0FBQUEsTUFDUixPQUFPO0FBQ0wsOENBQW9CLEtBQUs7QUFBQSxNQUMzQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTyxLQUFLO0FBQ2Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -15,10 +15,6 @@ export interface LoopOptions<T> {
|
|
15
15
|
* The function to build the notice message for each item.
|
16
16
|
*/
|
17
17
|
buildNoticeMessage(item: T, iterationStr: string): string;
|
18
|
-
/**
|
19
|
-
* Whether to continue the loop on error.
|
20
|
-
*/
|
21
|
-
continueOnError?: boolean;
|
22
18
|
/**
|
23
19
|
* The items to loop over.
|
24
20
|
*/
|
@@ -27,6 +23,10 @@ export interface LoopOptions<T> {
|
|
27
23
|
* The function to process each item.
|
28
24
|
*/
|
29
25
|
processItem(item: T): MaybePromise<void>;
|
26
|
+
/**
|
27
|
+
* Whether to continue the loop on error.
|
28
|
+
*/
|
29
|
+
shouldContinueOnError?: boolean;
|
30
30
|
}
|
31
31
|
/**
|
32
32
|
* Loops over a list of items and processes each item.
|
@@ -31,7 +31,6 @@ __export(MetadataCache_exports, {
|
|
31
31
|
getAllLinks: () => getAllLinks,
|
32
32
|
getBacklinksForFileOrPath: () => getBacklinksForFileOrPath,
|
33
33
|
getBacklinksForFileSafe: () => getBacklinksForFileSafe,
|
34
|
-
getBacklinksMap: () => getBacklinksMap,
|
35
34
|
getCacheSafe: () => getCacheSafe,
|
36
35
|
getFrontmatterSafe: () => getFrontmatterSafe,
|
37
36
|
registerFile: () => registerFile,
|
@@ -142,19 +141,6 @@ async function getBacklinksForFileSafe(app, pathOrFile, retryOptions = {}) {
|
|
142
141
|
}, overriddenOptions);
|
143
142
|
return backlinks;
|
144
143
|
}
|
145
|
-
async function getBacklinksMap(app, pathOrFiles, retryOptions = {}) {
|
146
|
-
const map = /* @__PURE__ */ new Map();
|
147
|
-
for (const pathOrFile of pathOrFiles) {
|
148
|
-
const customArrayDict = await getBacklinksForFileSafe(app, pathOrFile, retryOptions);
|
149
|
-
for (const path of customArrayDict.keys()) {
|
150
|
-
const mapLinks = map.get(path) ?? [];
|
151
|
-
const pathLinks = customArrayDict.get(path) ?? [];
|
152
|
-
mapLinks.push(...pathLinks);
|
153
|
-
map.set(path, mapLinks);
|
154
|
-
}
|
155
|
-
}
|
156
|
-
return map;
|
157
|
-
}
|
158
144
|
async function getCacheSafe(app, fileOrPath, retryOptions = {}) {
|
159
145
|
const DEFAULT_RETRY_OPTIONS = { timeoutInMilliseconds: 6e4 };
|
160
146
|
const overriddenOptions = { ...DEFAULT_RETRY_OPTIONS, ...retryOptions };
|
@@ -245,10 +231,9 @@ async function saveNote(app, pathOrFile) {
|
|
245
231
|
getAllLinks,
|
246
232
|
getBacklinksForFileOrPath,
|
247
233
|
getBacklinksForFileSafe,
|
248
|
-
getBacklinksMap,
|
249
234
|
getCacheSafe,
|
250
235
|
getFrontmatterSafe,
|
251
236
|
registerFile,
|
252
237
|
tempRegisterFileAndRun
|
253
238
|
});
|
254
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHsgTWFya2Rvd25WaWV3IH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuXG5pbXBvcnQgeyByZXRyeVdpdGhUaW1lb3V0IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldE5lc3RlZFByb3BlcnR5VmFsdWUgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250bWF0dGVyIH0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBzb3J0UmVmZXJlbmNlcyB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBXcmFwcGVyIGZvciB0aGUgZ2V0QmFja2xpbmtzRm9yRmlsZSBtZXRob2QgdGhhdCBwcm92aWRlcyBhIHNhZmUgb3ZlcmxvYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAgICovXG4gIHNhZmUocGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4+O1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkgZm9yIGFsbCBmaWxlcy5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBbcGF0aCwgY2FjaGVdIG9mIE9iamVjdC5lbnRyaWVzKGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVDYWNoZSkpIHtcbiAgICBpZiAoIWNhY2hlLmhhc2gpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChhcHAubWV0YWRhdGFDYWNoZS5tZXRhZGF0YUNhY2hlW2NhY2hlLmhhc2hdKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgbGlua3MgZnJvbSB0aGUgcHJvdmlkZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIGNhY2hlIC0gVGhlIGNhY2hlZCBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlZmVyZW5jZSBjYWNoZXMgcmVwcmVzZW50aW5nIHRoZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbExpbmtzKGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IFJlZmVyZW5jZVtdIHtcbiAgbGV0IGxpbmtzOiBSZWZlcmVuY2VbXSA9IFtdO1xuXG4gIGlmIChjYWNoZS5saW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUubGlua3MpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmVtYmVkcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZW1iZWRzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5mcm9udG1hdHRlckxpbmtzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5mcm9udG1hdHRlckxpbmtzKTtcbiAgfVxuXG4gIHNvcnRSZWZlcmVuY2VzKGxpbmtzKTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgbGlua3MgPSBsaW5rcy5maWx0ZXIoKGxpbmssIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c0xpbmsgPSBsaW5rc1tpbmRleCAtIDFdO1xuICAgIGlmICghcHJldmlvdXNMaW5rKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSAmJiBpc1JlZmVyZW5jZUNhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAhPT0gcHJldmlvdXNMaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSAmJiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLmtleSAhPT0gcHJldmlvdXNMaW5rLmtleTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgb3IgcGF0aC5cbiAqIE5PVEU6IFRoZSBmaWxlIG1heSBiZSBub24tZXhpc3RlbnQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgYmFja2xpbmtzIGZvciB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIHJldHVybiB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuKGFwcCwgZmlsZSwgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZShmaWxlKSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBzYWZlbHkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IGRpY3Rpb25hcnkgb2YgYmFja2xpbmtzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+PiB7XG4gIGNvbnN0IHNhZmVPdmVybG9hZCA9IChhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlIGFzIFBhcnRpYWw8R2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyPikuc2FmZTtcbiAgaWYgKHNhZmVPdmVybG9hZCkge1xuICAgIHJldHVybiBzYWZlT3ZlcmxvYWQocGF0aE9yRmlsZSk7XG4gIH1cbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4gPSBudWxsIGFzIHVua25vd24gYXMgQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT47XG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgYXdhaXQgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5KGFwcCk7XG4gICAgYmFja2xpbmtzID0gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgYmFja2xpbmtzLmtleXMoKSkge1xuICAgICAgY29uc3Qgbm90ZSA9IGdldEZpbGVPck51bGwoYXBwLCBub3RlUGF0aCk7XG4gICAgICBpZiAoIW5vdGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBzYXZlTm90ZShhcHAsIG5vdGUpO1xuXG4gICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQobm90ZSk7XG4gICAgICBjb25zdCBmcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXIoY29udGVudCk7XG4gICAgICBjb25zdCBsaW5rcyA9IGJhY2tsaW5rcy5nZXQobm90ZVBhdGgpO1xuICAgICAgaWYgKCFsaW5rcykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xuICAgICAgICBsZXQgYWN0dWFsTGluazogc3RyaW5nO1xuICAgICAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSkge1xuICAgICAgICAgIGFjdHVhbExpbmsgPSBjb250ZW50LnNsaWNlKGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0LCBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUobGluaykpIHtcbiAgICAgICAgICBjb25zdCBsaW5rVmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBsaW5rLmtleSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBsaW5rVmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFjdHVhbExpbmsgPSBsaW5rVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdHVhbExpbmsgIT09IGxpbmsub3JpZ2luYWwpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgb3ZlcnJpZGRlbk9wdGlvbnMpO1xuXG4gIHJldHVybiBiYWNrbGlua3M7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgYmFja2xpbmtzIG1hcCBmb3IgdGhlIHNwZWNpZmllZCBmaWxlcy5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlcyAtIFRoZSBwYXRocyBvciBmaWxlcyB0byBnZXQgdGhlIGJhY2tsaW5rcyBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgbWFwIG9mIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhY2tsaW5rc01hcChhcHA6IEFwcCwgcGF0aE9yRmlsZXM6IFBhdGhPckZpbGVbXSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8TWFwPHN0cmluZywgUmVmZXJlbmNlW10+PiB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBSZWZlcmVuY2VbXT4oKTtcbiAgZm9yIChjb25zdCBwYXRoT3JGaWxlIG9mIHBhdGhPckZpbGVzKSB7XG4gICAgY29uc3QgY3VzdG9tQXJyYXlEaWN0ID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBwYXRoT3JGaWxlLCByZXRyeU9wdGlvbnMpO1xuICAgIGZvciAoY29uc3QgcGF0aCBvZiBjdXN0b21BcnJheURpY3Qua2V5cygpKSB7XG4gICAgICBjb25zdCBtYXBMaW5rcyA9IG1hcC5nZXQocGF0aCkgPz8gW107XG4gICAgICBjb25zdCBwYXRoTGlua3MgPSBjdXN0b21BcnJheURpY3QuZ2V0KHBhdGgpID8/IFtdO1xuICAgICAgbWFwTGlua3MucHVzaCguLi5wYXRoTGlua3MpO1xuICAgICAgbWFwLnNldChwYXRoLCBtYXBMaW5rcyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBtYXA7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucyBmb3IgdGhlIHJldHJpZXZhbCBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgdGhlIGZpbGUsIG9yIG51bGwgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhY2hlU2FmZShhcHA6IEFwcCwgZmlsZU9yUGF0aDogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGEgfCBudWxsPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDYwMDAwIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGxldCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgY2FjaGUgPSBudWxsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBmaWxlKTtcblxuICAgIGNvbnN0IGZpbGVJbmZvID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUluZm8oZmlsZS5wYXRoKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuc3RhdChmaWxlLnBhdGgpO1xuXG4gICAgaWYgKCFmaWxlSW5mbykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXN0YXQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgc3RhdCBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGUuc3RhdC5tdGltZSA8IHN0YXQubXRpbWUpIHtcbiAgICAgIGFwcC52YXVsdC5vbkNoYW5nZSgnbW9kaWZpZWQnLCBmaWxlLnBhdGgsIHVuZGVmaW5lZCwgc3RhdCk7XG4gICAgICBjb25zb2xlLmRlYnVnKGBDYWNoZWQgdGltZXN0YW1wIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGUuc3RhdC5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBzeXN0ZW0gbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChmaWxlSW5mby5tdGltZSA8IHN0YXQubXRpbWUpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgY2FjaGUgaW5mbyBmb3IgJHtmaWxlLnBhdGh9IGlzIGZyb20gJHtuZXcgRGF0ZShmaWxlSW5mby5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBtb2RpZmljYXRpb24gdGltZXN0YW1wICR7bmV3IERhdGUoc3RhdC5tdGltZSkudG9TdHJpbmcoKX1gKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk7XG4gICAgICBpZiAoIWNhY2hlKSB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgY2FjaGUgZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSwgb3ZlcnJpZGRlbk9wdGlvbnMpO1xuXG4gIHJldHVybiBjYWNoZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udG1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRtYXR0ZXJTYWZlPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPjtcbn1cblxuLyoqKlxuICogUmVnaXN0ZXJzIGEgZmlsZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byByZWdpc3Rlci5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB1bnJlZ2lzdGVycyB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZShhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSk6ICgpID0+IHZvaWQge1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgY29uc3QgZGVsZXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBkZWxldGVkRmlsZTogVEFic3RyYWN0RmlsZSA9IGZpbGU7XG5cbiAgd2hpbGUgKGRlbGV0ZWRGaWxlLmRlbGV0ZWQpIHtcbiAgICBkZWxldGVkUGF0aHMucHVzaChkZWxldGVkRmlsZS5wYXRoKTtcbiAgICBhcHAudmF1bHQuZmlsZU1hcFtkZWxldGVkRmlsZS5wYXRoXSA9IGRlbGV0ZWRGaWxlO1xuICAgIGRlbGV0ZWRGaWxlID0gZGVsZXRlZEZpbGUucGFyZW50ID8/IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZGVsZXRlZEZpbGUucGF0aCksIHRydWUpO1xuICB9XG5cbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgfVxuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIGRlbGV0ZWRQYXRocykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW3BhdGhdO1xuICAgIH1cblxuICAgIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGEgZmlsZSBhbmQgcnVucyBhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byB0ZW1wb3JhcmlseSByZWdpc3Rlci5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBydW4uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBSZWdpc3RlckZpbGVBbmRSdW48VD4oYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUsIGZuOiAoKSA9PiBUKTogVCB7XG4gIGNvbnN0IHVucmVnaXN0ZXIgPSByZWdpc3RlckZpbGUoYXBwLCBmaWxlKTtcblxuICB0cnkge1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIHVucmVnaXN0ZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNhdmVzIHRoZSBzcGVjaWZpZWQgbm90ZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgbm90ZSB0byBiZSBzYXZlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5vdGUgaXMgc2F2ZWQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhdmVOb3RlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwYXRoID0gZ2V0UGF0aChwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoJ21hcmtkb3duJykpIHtcbiAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCBsZWFmLnZpZXcuc2F2ZSgpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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YTtBQUN0RCxlQUFPO0FBQUEsTUFDVCxPQUFPO0FBQ0wsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBQUEsRUFDRixHQUFHLGlCQUFpQjtBQUVwQixTQUFPO0FBQ1Q7QUFVQSxlQUFzQixtQkFBZ0QsS0FBVSxZQUF5RTtBQUN2SixRQUFNLFFBQVEsTUFBTSxhQUFhLEtBQUssVUFBVTtBQUNoRCxTQUFRLE9BQU8sZUFBZSxDQUFDO0FBQ2pDO0FBU08sU0FBUyxhQUFhLEtBQVUsTUFBaUM7QUFDdEUsTUFBSSxDQUFDLEtBQUssU0FBUztBQUNqQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sZUFBeUIsQ0FBQztBQUVoQyxNQUFJLGNBQTZCO0FBRWpDLFNBQU8sWUFBWSxTQUFTO0FBQzFCLGlCQUFhLEtBQUssWUFBWSxJQUFJO0FBQ2xDLFFBQUksTUFBTSxRQUFRLFlBQVksSUFBSSxJQUFJO0FBQ3RDLGtCQUFjLFlBQVksY0FBVSw2QkFBVSxTQUFLLHlDQUFpQixZQUFZLElBQUksR0FBRyxJQUFJO0FBQUEsRUFDN0Y7QUFFQSxVQUFJLDBCQUFPLElBQUksR0FBRztBQUNoQixRQUFJLGNBQWMsaUJBQWlCLElBQUksS0FBSyxLQUFLLFlBQVksR0FBRyxJQUFJO0FBQUEsRUFDdEU7QUFFQSxTQUFPLE1BQU07QUFDWCxlQUFXLFFBQVEsY0FBYztBQUUvQixhQUFPLElBQUksTUFBTSxRQUFRLElBQUk7QUFBQSxJQUMvQjtBQUVBLFlBQUksMEJBQU8sSUFBSSxHQUFHO0FBQ2hCLFVBQUksY0FBYyxpQkFBaUIsT0FBTyxLQUFLLEtBQUssWUFBWSxHQUFHLElBQUk7QUFBQSxJQUN6RTtBQUFBLEVBQ0Y7QUFDRjtBQVVPLFNBQVMsdUJBQTBCLEtBQVUsTUFBcUIsSUFBZ0I7QUFDdkYsUUFBTSxhQUFhLGFBQWEsS0FBSyxJQUFJO0FBRXpDLE1BQUk7QUFDRixXQUFPLEdBQUc7QUFBQSxFQUNaLFVBQUU7QUFDQSxlQUFXO0FBQUEsRUFDYjtBQUNGO0FBU0EsZUFBZSxTQUFTLEtBQVUsWUFBdUM7QUFDdkUsTUFBSSxLQUFDLGtDQUFlLFVBQVUsR0FBRztBQUMvQjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQU8sMkJBQVEsVUFBVTtBQUUvQixhQUFXLFFBQVEsSUFBSSxVQUFVLGdCQUFnQixVQUFVLEdBQUc7QUFDNUQsUUFBSSxLQUFLLGdCQUFnQixnQ0FBZ0IsS0FBSyxLQUFLLE1BQU0sU0FBUyxNQUFNO0FBQ3RFLFlBQU0sS0FBSyxLQUFLLEtBQUs7QUFBQSxJQUN2QjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
239
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHsgTWFya2Rvd25WaWV3IH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udG1hdHRlciB9IGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuXG5pbXBvcnQgeyByZXRyeVdpdGhUaW1lb3V0IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldE5lc3RlZFByb3BlcnR5VmFsdWUgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250bWF0dGVyIH0gZnJvbSAnLi9Gcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyBzb3J0UmVmZXJlbmNlcyB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBXcmFwcGVyIGZvciB0aGUgZ2V0QmFja2xpbmtzRm9yRmlsZSBtZXRob2QgdGhhdCBwcm92aWRlcyBhIHNhZmUgb3ZlcmxvYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAgICovXG4gIHNhZmUocGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4+O1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkgZm9yIGFsbCBmaWxlcy5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBbcGF0aCwgY2FjaGVdIG9mIE9iamVjdC5lbnRyaWVzKGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVDYWNoZSkpIHtcbiAgICBpZiAoIWNhY2hlLmhhc2gpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChhcHAubWV0YWRhdGFDYWNoZS5tZXRhZGF0YUNhY2hlW2NhY2hlLmhhc2hdKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgbGlua3MgZnJvbSB0aGUgcHJvdmlkZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIGNhY2hlIC0gVGhlIGNhY2hlZCBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlZmVyZW5jZSBjYWNoZXMgcmVwcmVzZW50aW5nIHRoZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbExpbmtzKGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IFJlZmVyZW5jZVtdIHtcbiAgbGV0IGxpbmtzOiBSZWZlcmVuY2VbXSA9IFtdO1xuXG4gIGlmIChjYWNoZS5saW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUubGlua3MpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmVtYmVkcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZW1iZWRzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5mcm9udG1hdHRlckxpbmtzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5mcm9udG1hdHRlckxpbmtzKTtcbiAgfVxuXG4gIHNvcnRSZWZlcmVuY2VzKGxpbmtzKTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgbGlua3MgPSBsaW5rcy5maWx0ZXIoKGxpbmssIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c0xpbmsgPSBsaW5rc1tpbmRleCAtIDFdO1xuICAgIGlmICghcHJldmlvdXNMaW5rKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSAmJiBpc1JlZmVyZW5jZUNhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAhPT0gcHJldmlvdXNMaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSAmJiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLmtleSAhPT0gcHJldmlvdXNMaW5rLmtleTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgb3IgcGF0aC5cbiAqIE5PVEU6IFRoZSBmaWxlIG1heSBiZSBub24tZXhpc3RlbnQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgYmFja2xpbmtzIGZvciB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIHJldHVybiB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuKGFwcCwgZmlsZSwgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZShmaWxlKSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBzYWZlbHkuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IGRpY3Rpb25hcnkgb2YgYmFja2xpbmtzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+PiB7XG4gIGNvbnN0IHNhZmVPdmVybG9hZCA9IChhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlIGFzIFBhcnRpYWw8R2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyPikuc2FmZTtcbiAgaWYgKHNhZmVPdmVybG9hZCkge1xuICAgIHJldHVybiBzYWZlT3ZlcmxvYWQocGF0aE9yRmlsZSk7XG4gIH1cbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4gPSBudWxsIGFzIHVua25vd24gYXMgQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT47XG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSk7XG4gICAgYXdhaXQgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5KGFwcCk7XG4gICAgYmFja2xpbmtzID0gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgYmFja2xpbmtzLmtleXMoKSkge1xuICAgICAgY29uc3Qgbm90ZSA9IGdldEZpbGVPck51bGwoYXBwLCBub3RlUGF0aCk7XG4gICAgICBpZiAoIW5vdGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBzYXZlTm90ZShhcHAsIG5vdGUpO1xuXG4gICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgYXBwLnZhdWx0LnJlYWQobm90ZSk7XG4gICAgICBjb25zdCBmcm9udG1hdHRlciA9IHBhcnNlRnJvbnRtYXR0ZXIoY29udGVudCk7XG4gICAgICBjb25zdCBsaW5rcyA9IGJhY2tsaW5rcy5nZXQobm90ZVBhdGgpO1xuICAgICAgaWYgKCFsaW5rcykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xuICAgICAgICBsZXQgYWN0dWFsTGluazogc3RyaW5nO1xuICAgICAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSkge1xuICAgICAgICAgIGFjdHVhbExpbmsgPSBjb250ZW50LnNsaWNlKGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0LCBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUobGluaykpIHtcbiAgICAgICAgICBjb25zdCBsaW5rVmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlKGZyb250bWF0dGVyLCBsaW5rLmtleSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBsaW5rVmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFjdHVhbExpbmsgPSBsaW5rVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdHVhbExpbmsgIT09IGxpbmsub3JpZ2luYWwpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgb3ZlcnJpZGRlbk9wdGlvbnMpO1xuXG4gIHJldHVybiBiYWNrbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucyBmb3IgdGhlIHJldHJpZXZhbCBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgdGhlIGZpbGUsIG9yIG51bGwgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhY2hlU2FmZShhcHA6IEFwcCwgZmlsZU9yUGF0aDogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGEgfCBudWxsPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDYwMDAwIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGxldCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgY2FjaGUgPSBudWxsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBmaWxlKTtcblxuICAgIGNvbnN0IGZpbGVJbmZvID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUluZm8oZmlsZS5wYXRoKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuc3RhdChmaWxlLnBhdGgpO1xuXG4gICAgaWYgKCFmaWxlSW5mbykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXN0YXQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgc3RhdCBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGUuc3RhdC5tdGltZSA8IHN0YXQubXRpbWUpIHtcbiAgICAgIGFwcC52YXVsdC5vbkNoYW5nZSgnbW9kaWZpZWQnLCBmaWxlLnBhdGgsIHVuZGVmaW5lZCwgc3RhdCk7XG4gICAgICBjb25zb2xlLmRlYnVnKGBDYWNoZWQgdGltZXN0YW1wIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGUuc3RhdC5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBzeXN0ZW0gbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChmaWxlSW5mby5tdGltZSA8IHN0YXQubXRpbWUpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgY2FjaGUgaW5mbyBmb3IgJHtmaWxlLnBhdGh9IGlzIGZyb20gJHtuZXcgRGF0ZShmaWxlSW5mby5tdGltZSkudG9TdHJpbmcoKX0gd2hpY2ggaXMgb2xkZXIgdGhhbiB0aGUgZmlsZSBtb2RpZmljYXRpb24gdGltZXN0YW1wICR7bmV3IERhdGUoc3RhdC5tdGltZSkudG9TdHJpbmcoKX1gKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGUgPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlQ2FjaGUoZmlsZSk7XG4gICAgICBpZiAoIWNhY2hlKSB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgY2FjaGUgZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSwgb3ZlcnJpZGRlbk9wdGlvbnMpO1xuXG4gIHJldHVybiBjYWNoZTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udG1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRtYXR0ZXJTYWZlPEN1c3RvbUZyb250bWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250bWF0dGVyPEN1c3RvbUZyb250bWF0dGVyPjtcbn1cblxuLyoqKlxuICogUmVnaXN0ZXJzIGEgZmlsZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byByZWdpc3Rlci5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB1bnJlZ2lzdGVycyB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZShhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSk6ICgpID0+IHZvaWQge1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgY29uc3QgZGVsZXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBkZWxldGVkRmlsZTogVEFic3RyYWN0RmlsZSA9IGZpbGU7XG5cbiAgd2hpbGUgKGRlbGV0ZWRGaWxlLmRlbGV0ZWQpIHtcbiAgICBkZWxldGVkUGF0aHMucHVzaChkZWxldGVkRmlsZS5wYXRoKTtcbiAgICBhcHAudmF1bHQuZmlsZU1hcFtkZWxldGVkRmlsZS5wYXRoXSA9IGRlbGV0ZWRGaWxlO1xuICAgIGRlbGV0ZWRGaWxlID0gZGVsZXRlZEZpbGUucGFyZW50ID8/IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZGVsZXRlZEZpbGUucGF0aCksIHRydWUpO1xuICB9XG5cbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgfVxuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIGRlbGV0ZWRQYXRocykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW3BhdGhdO1xuICAgIH1cblxuICAgIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGEgZmlsZSBhbmQgcnVucyBhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byB0ZW1wb3JhcmlseSByZWdpc3Rlci5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBydW4uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBSZWdpc3RlckZpbGVBbmRSdW48VD4oYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUsIGZuOiAoKSA9PiBUKTogVCB7XG4gIGNvbnN0IHVucmVnaXN0ZXIgPSByZWdpc3RlckZpbGUoYXBwLCBmaWxlKTtcblxuICB0cnkge1xuICAgIHJldHVybiBmbigpO1xuICB9IGZpbmFsbHkge1xuICAgIHVucmVnaXN0ZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIFNhdmVzIHRoZSBzcGVjaWZpZWQgbm90ZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgbm90ZSB0byBiZSBzYXZlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5vdGUgaXMgc2F2ZWQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhdmVOb3RlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwYXRoID0gZ2V0UGF0aChwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoJ21hcmtkb3duJykpIHtcbiAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCBsZWFmLnZpZXcuc2F2ZSgpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjog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
|
@@ -50,15 +50,6 @@ export declare function getBacklinksForFileOrPath(app: App, pathOrFile: PathOrFi
|
|
50
50
|
* @returns A promise that resolves to an array dictionary of backlinks.
|
51
51
|
*/
|
52
52
|
export declare function getBacklinksForFileSafe(app: App, pathOrFile: PathOrFile, retryOptions?: Partial<RetryOptions>): Promise<CustomArrayDict<Reference>>;
|
53
|
-
/**
|
54
|
-
* Gets the backlinks map for the specified files.
|
55
|
-
*
|
56
|
-
* @param app - The Obsidian app instance.
|
57
|
-
* @param pathOrFiles - The paths or files to get the backlinks for.
|
58
|
-
* @param retryOptions - Optional retry options.
|
59
|
-
* @returns A promise that resolves to a map of backlinks.
|
60
|
-
*/
|
61
|
-
export declare function getBacklinksMap(app: App, pathOrFiles: PathOrFile[], retryOptions?: Partial<RetryOptions>): Promise<Map<string, Reference[]>>;
|
62
53
|
/**
|
63
54
|
* Retrieves the cached metadata for a given file or path.
|
64
55
|
*
|
@@ -55,9 +55,9 @@ class ValueComponentEx {
|
|
55
55
|
*/
|
56
56
|
bind(plugin, property, options) {
|
57
57
|
const DEFAULT_OPTIONS = {
|
58
|
-
autoSave: true,
|
59
58
|
componentToPluginSettingsValueConverter: (value) => value,
|
60
|
-
pluginSettingsToComponentValueConverter: (value) => value
|
59
|
+
pluginSettingsToComponentValueConverter: (value) => value,
|
60
|
+
shouldAutoSave: true
|
61
61
|
};
|
62
62
|
const optionsExt = { ...DEFAULT_OPTIONS, ...options };
|
63
63
|
const pluginExt = plugin;
|
@@ -81,7 +81,7 @@ class ValueComponentEx {
|
|
81
81
|
}
|
82
82
|
const pluginSettings = pluginSettingsFn();
|
83
83
|
pluginSettings[property] = optionsExt.componentToPluginSettingsValueConverter(uiValue);
|
84
|
-
if (optionsExt.
|
84
|
+
if (optionsExt.shouldAutoSave) {
|
85
85
|
await pluginExt.saveSettings(pluginSettings);
|
86
86
|
}
|
87
87
|
await optionsExt.onChanged?.();
|
@@ -117,4 +117,4 @@ function getValidatorElement(valueComponent) {
|
|
117
117
|
0 && (module.exports = {
|
118
118
|
extend
|
119
119
|
});
|
120
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9WYWx1ZUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVmFsdWVDb21wb25lbnRcbiAqIENvbnRhaW5zIHV0aWxpdHkgdHlwZXMgYW5kIGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgdmFsdWUgY29tcG9uZW50cywgd2hpY2ggYXJlIFVJIGNvbXBvbmVudHMgdGhhdCBkaXNwbGF5IGFuZCBlZGl0IHZhbHVlcy5cbiAqL1xuXG5pbXBvcnQge1xuICBEcm9wZG93bkNvbXBvbmVudCxcbiAgU2xpZGVyQ29tcG9uZW50LFxuICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudCxcbiAgVmFsdWVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEtleXNNYXRjaGluZyB9IGZyb20gJy4uLy4uL0B0eXBlcy50cyc7XG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL0hUTUxFbGVtZW50LnRzJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luQmFzZSB9IGZyb20gJy4vUGx1Z2luQmFzZS50cyc7XG5cbmltcG9ydCB7IGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL09iamVjdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFZhbHVlQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZT4ge1xuICAvKipcbiAgICogSWYgdHJ1ZSwgc2F2ZXMgdGhlIHBsdWdpbiBzZXR0aW5ncyBhdXRvbWF0aWNhbGx5IGFmdGVyIHRoZSBjb21wb25lbnQgdmFsdWUgY2hhbmdlcy4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBhdXRvU2F2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgb25DaGFuZ2VkPzogKCkgPT4gTWF5YmVQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdCB0byBiaW5kIHRoZSBjb21wb25lbnQgdG8uIERlZmF1bHQgaXMgdGhlIHBsdWdpbidzIGN1cnJlbnQgc2V0dGluZ3MuXG4gICAqL1xuICBwbHVnaW5TZXR0aW5ncz86IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiBpdCBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPzogKHVpVmFsdWU6IFVJVmFsdWUpID0+IG51bGwgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFZhbHVlQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzPiBleHRlbmRzIEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZSBiYWNrIHRvIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZSB0byB0aGUgdmFsdWUgdXNlZCBieSB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gcGx1Z2luU2V0dGluZ3NWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICAgKi9cbiAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAocGx1Z2luU2V0dGluZ3NWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIFZhbHVlQ29tcG9uZW50IHRoYXQgY2FuIGJlIHVzZWQgYXMgYW4gb3JpZ2luYWwgVmFsdWVDb21wb25lbnQgd2l0aCBleHRlbmRlZCBmdW5jdGlvbmFsaXR5LlxuICovXG50eXBlIFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+PiA9IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50RXg8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PjtcblxuLyoqXG4gKiBBIFZhbHVlQ29tcG9uZW50IHRoYXQgY2FuIHRyYWNrIGNoYW5nZXMuXG4gKi9cbmludGVyZmFjZSBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFQpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIFZhbHVlQ29tcG9uZW50IHdpdGggZXh0ZW5kZWQgZnVuY3Rpb25hbGl0eS5cbiAqL1xuY2xhc3MgVmFsdWVDb21wb25lbnRFeDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPj4ge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50KSB7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgVmFsdWVDb21wb25lbnQgd2l0aCBleHRlbmRlZCBmdW5jdGlvbmFsaXR5LlxuICAgKi9cbiAgcHVibGljIGFzRXh0ZW5kZWQoKTogVmFsdWVDb21wb25lbnRFeFR5cGU8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyh7fSwgdGhpcy52YWx1ZUNvbXBvbmVudCwgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhlIFZhbHVlQ29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbi5cbiAgICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIFRoZSBgVmFsdWVDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+XG4gID4oXG4gICAgcGx1Z2luOiBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9ucz86IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+XG4gICk6IFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoZSBWYWx1ZUNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIGBWYWx1ZUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHBsdWdpbjogUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIG9wdGlvbnM6IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+XG4gICk6IFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoZSBWYWx1ZUNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIGBWYWx1ZUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHBsdWdpbjogUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIG9wdGlvbnM/OiBCaW5kVmFsdWVDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPlxuICApOiBWYWx1ZUNvbXBvbmVudEV4VHlwZTxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQ+IHtcbiAgICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+ID0ge1xuICAgICAgYXV0b1NhdmU6IHRydWUsXG4gICAgICBjb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZSk6IFByb3BlcnR5VHlwZSA9PiB2YWx1ZSBhcyBQcm9wZXJ0eVR5cGUsXG4gICAgICBwbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZSk6IFVJVmFsdWUgPT4gdmFsdWUgYXMgVUlWYWx1ZVxuICAgIH07XG5cbiAgICBjb25zdCBvcHRpb25zRXh0OiBCaW5kVmFsdWVDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgcGx1Z2luRXh0ID0gcGx1Z2luIGFzIHVua25vd24gYXMgUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz47XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NGbiA9ICgpOiBQbHVnaW5TZXR0aW5ncyA9PiBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9ICh1aVZhbHVlPzogVUlWYWx1ZSk6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKCFvcHRpb25zRXh0LnZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdWlWYWx1ZSA/Pz0gdGhpcy52YWx1ZUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gb3B0aW9uc0V4dC52YWx1ZVZhbGlkYXRvcih1aVZhbHVlKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHRoaXMudmFsdWVDb21wb25lbnQpO1xuICAgICAgaWYgKHZhbGlkYXRvckVsZW1lbnQpIHtcbiAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAhZXJyb3JNZXNzYWdlO1xuICAgIH07XG5cbiAgICB0aGlzLnZhbHVlQ29tcG9uZW50XG4gICAgICAuc2V0VmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIocGx1Z2luU2V0dGluZ3NGbigpW3Byb3BlcnR5XSkpXG4gICAgICAub25DaGFuZ2UoYXN5bmMgKHVpVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCF2YWxpZGF0ZSh1aVZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IHBsdWdpblNldHRpbmdzRm4oKTtcbiAgICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC5jb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXIodWlWYWx1ZSk7XG4gICAgICAgIGlmIChvcHRpb25zRXh0LmF1dG9TYXZlKSB7XG4gICAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZD8uKCk7XG4gICAgICB9KTtcblxuICAgIHZhbGlkYXRlKCk7XG5cbiAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yRWxlbWVudCh0aGlzLnZhbHVlQ29tcG9uZW50KTtcbiAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgdmFsaWRhdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHZhbGlkYXRlKCkpO1xuICAgICAgdmFsaWRhdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdmFsaWRhdGUoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXNFeHRlbmRlZCgpO1xuICB9XG59XG5cbi8qKlxuICogRXh0ZW5kcyBhIFZhbHVlQ29tcG9uZW50IHdpdGggYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0aGUgY29tcG9uZW50IGRpc3BsYXlzLlxuICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVmFsdWVDb21wb25lbnRgLlxuICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBleHRlbmQuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50IHdpdGggZXh0ZW5kZWQgZnVuY3Rpb25hbGl0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPj4odmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+KTogVmFsdWVDb21wb25lbnRFeFR5cGU8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PiB7XG4gIHJldHVybiBuZXcgVmFsdWVDb21wb25lbnRFeDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQ+KHZhbHVlQ29tcG9uZW50KS5hc0V4dGVuZGVkKCk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsaWRhdG9yIGVsZW1lbnQgZnJvbSBhIHZhbHVlIGNvbXBvbmVudCBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBnZXQgdGhlIHZhbGlkYXRvciBlbGVtZW50IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgaWYgaXQgZXhpc3RzLCBvciBgbnVsbGAgaWYgaXQgZG9lcyBub3QuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbGlkYXRvckVsZW1lbnQ8VUlWYWx1ZT4odmFsdWVDb21wb25lbnQ6IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+KTogbnVsbCB8IFZhbGlkYXRvckVsZW1lbnQge1xuICBpZiAodmFsdWVDb21wb25lbnQgaW5zdGFuY2VvZiBEcm9wZG93bkNvbXBvbmVudCkge1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudC5zZWxlY3RFbDtcbiAgfVxuXG4gIGlmICh2YWx1ZUNvbXBvbmVudCBpbnN0YW5jZW9mIFNsaWRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudC5zbGlkZXJFbDtcbiAgfVxuXG4gIGlmICh2YWx1ZUNvbXBvbmVudCBpbnN0YW5jZW9mIFRleHRBcmVhQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICBpZiAodmFsdWVDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxzQkFNTztBQU9QLG9CQUFrRDtBQW9FbEQsTUFBTSxpQkFBNkY7QUFBQSxFQUMxRixZQUFvQixnQkFBaUM7QUFBakM7QUFBQSxFQUMzQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sYUFBNkQ7QUFDbEUsZUFBTyxpREFBa0MsQ0FBQyxHQUFHLEtBQUssZ0JBQWdCLElBQUk7QUFBQSxFQUN4RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXFETyxLQUlMLFFBQ0EsVUFDQSxTQUNnRDtBQUVoRCxVQUFNLGtCQUF3RjtBQUFBLE1BQzVGLFVBQVU7QUFBQSxNQUNWLHlDQUF5QyxDQUFDLFVBQXdCO0FBQUEsTUFDbEUseUNBQXlDLENBQUMsVUFBbUI7QUFBQSxJQUMvRDtBQUVBLFVBQU0sYUFBbUYsRUFBRSxHQUFHLGlCQUFpQixHQUFHLFFBQVE7QUFDMUgsVUFBTSxZQUFZO0FBQ2xCLFVBQU0sbUJBQW1CLE1BQXNCLFdBQVcsa0JBQWtCLFVBQVU7QUFFdEYsVUFBTSxXQUFXLENBQUMsWUFBK0I7QUFDL0MsVUFBSSxDQUFDLFdBQVcsZ0JBQWdCO0FBQzlCLGVBQU87QUFBQSxNQUNUO0FBQ0Esa0JBQVksS0FBSyxlQUFlLFNBQVM7QUFDekMsWUFBTSxlQUFlLFdBQVcsZUFBZSxPQUFPO0FBQ3RELFlBQU1BLG9CQUFtQixvQkFBb0IsS0FBSyxjQUFjO0FBQ2hFLFVBQUlBLG1CQUFrQjtBQUNwQixRQUFBQSxrQkFBaUIsa0JBQWtCLGdCQUFnQixFQUFFO0FBQ3JELFFBQUFBLGtCQUFpQixlQUFlO0FBQUEsTUFDbEM7QUFFQSxhQUFPLENBQUM7QUFBQSxJQUNWO0FBRUEsU0FBSyxlQUNGLFNBQVMsV0FBVyx3Q0FBd0MsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDekYsU0FBUyxPQUFPLFlBQVk7QUFDM0IsVUFBSSxDQUFDLFNBQVMsT0FBTyxHQUFHO0FBQ3RCO0FBQUEsTUFDRjtBQUNBLFlBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxxQkFBZSxRQUFRLElBQUksV0FBVyx3Q0FBd0MsT0FBTztBQUNyRixVQUFJLFdBQVcsVUFBVTtBQUN2QixjQUFNLFVBQVUsYUFBYSxjQUFjO0FBQUEsTUFDN0M7QUFFQSxZQUFNLFdBQVcsWUFBWTtBQUFBLElBQy9CLENBQUM7QUFFSCxhQUFTO0FBRVQsVUFBTSxtQkFBbUIsb0JBQW9CLEtBQUssY0FBYztBQUNoRSxRQUFJLGtCQUFrQjtBQUNwQix1QkFBaUIsaUJBQWlCLFNBQVMsTUFBTSxTQUFTLENBQUM7QUFDM0QsdUJBQWlCLGlCQUFpQixRQUFRLE1BQU0sU0FBUyxDQUFDO0FBQUEsSUFDNUQ7QUFFQSxXQUFPLEtBQUssV0FBVztBQUFBLEVBQ3pCO0FBQ0Y7QUFVTyxTQUFTLE9BQW1GLGdCQUE2SDtBQUM5TixTQUFPLElBQUksaUJBQTJDLGNBQWMsRUFBRSxXQUFXO0FBQ25GO0FBUUEsU0FBUyxvQkFBNkIsZ0JBQW9GO0FBQ3hILE1BQUksMEJBQTBCLG1DQUFtQjtBQUMvQyxXQUFPLGVBQWU7QUFBQSxFQUN4QjtBQUVBLE1BQUksMEJBQTBCLGlDQUFpQjtBQUM3QyxXQUFPLGVBQWU7QUFBQSxFQUN4QjtBQUVBLE1BQUksMEJBQTBCLG1DQUFtQjtBQUMvQyxXQUFPLGVBQWU7QUFBQSxFQUN4QjtBQUVBLE1BQUksMEJBQTBCLCtCQUFlO0FBQzNDLFdBQU8sZUFBZTtBQUFBLEVBQ3hCO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJ2YWxpZGF0b3JFbGVtZW50Il0KfQo=
|
120
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9WYWx1ZUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVmFsdWVDb21wb25lbnRcbiAqIENvbnRhaW5zIHV0aWxpdHkgdHlwZXMgYW5kIGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgdmFsdWUgY29tcG9uZW50cywgd2hpY2ggYXJlIFVJIGNvbXBvbmVudHMgdGhhdCBkaXNwbGF5IGFuZCBlZGl0IHZhbHVlcy5cbiAqL1xuXG5pbXBvcnQge1xuICBEcm9wZG93bkNvbXBvbmVudCxcbiAgU2xpZGVyQ29tcG9uZW50LFxuICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudCxcbiAgVmFsdWVDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEtleXNNYXRjaGluZyB9IGZyb20gJy4uLy4uL0B0eXBlcy50cyc7XG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL0hUTUxFbGVtZW50LnRzJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luQmFzZSB9IGZyb20gJy4vUGx1Z2luQmFzZS50cyc7XG5cbmltcG9ydCB7IGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL09iamVjdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFZhbHVlQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZT4ge1xuICAvKipcbiAgICogQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZWQ/OiAoKSA9PiBNYXliZVByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0IHRvIGJpbmQgdGhlIGNvbXBvbmVudCB0by4gRGVmYXVsdCBpcyB0aGUgcGx1Z2luJ3MgY3VycmVudCBzZXR0aW5ncy5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzPzogUGx1Z2luU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHNhdmVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXV0b21hdGljYWxseSBhZnRlciB0aGUgY29tcG9uZW50IHZhbHVlIGNoYW5nZXMuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgc2hvdWxkQXV0b1NhdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiBpdCBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPzogKHVpVmFsdWU6IFVJVmFsdWUpID0+IG51bGwgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFZhbHVlQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eSBleHRlbmRzIGtleW9mIFBsdWdpblNldHRpbmdzPiBleHRlbmRzIEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBVSSBjb21wb25lbnQncyB2YWx1ZSBiYWNrIHRvIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIGNvbXBvbmVudFRvUGx1Z2luU2V0dGluZ3NWYWx1ZUNvbnZlcnRlcjogKHVpVmFsdWU6IFVJVmFsdWUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHBsdWdpbiBzZXR0aW5ncyB2YWx1ZSB0byB0aGUgdmFsdWUgdXNlZCBieSB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gcGx1Z2luU2V0dGluZ3NWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgVUkgY29tcG9uZW50LlxuICAgKi9cbiAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAocGx1Z2luU2V0dGluZ3NWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlO1xufVxuXG4vKipcbiAqIFZhbHVlQ29tcG9uZW50IHRoYXQgY2FuIGJlIHVzZWQgYXMgYW4gb3JpZ2luYWwgVmFsdWVDb21wb25lbnQgd2l0aCBleHRlbmRlZCBmdW5jdGlvbmFsaXR5LlxuICovXG50eXBlIFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+PiA9IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50RXg8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PjtcblxuLyoqXG4gKiBBIFZhbHVlQ29tcG9uZW50IHRoYXQgY2FuIHRyYWNrIGNoYW5nZXMuXG4gKi9cbmludGVyZmFjZSBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIFNldHMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFQpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIFZhbHVlQ29tcG9uZW50IHdpdGggZXh0ZW5kZWQgZnVuY3Rpb25hbGl0eS5cbiAqL1xuY2xhc3MgVmFsdWVDb21wb25lbnRFeDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPj4ge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50KSB7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgVmFsdWVDb21wb25lbnQgd2l0aCBleHRlbmRlZCBmdW5jdGlvbmFsaXR5LlxuICAgKi9cbiAgcHVibGljIGFzRXh0ZW5kZWQoKTogVmFsdWVDb21wb25lbnRFeFR5cGU8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyh7fSwgdGhpcy52YWx1ZUNvbXBvbmVudCwgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhlIFZhbHVlQ29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbi5cbiAgICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIFRoZSBgVmFsdWVDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+XG4gID4oXG4gICAgcGx1Z2luOiBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzPixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9ucz86IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWU+XG4gICk6IFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoZSBWYWx1ZUNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIGBWYWx1ZUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHBsdWdpbjogUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIG9wdGlvbnM6IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+XG4gICk6IFZhbHVlQ29tcG9uZW50RXhUeXBlPFVJVmFsdWUsIFRWYWx1ZUNvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoZSBWYWx1ZUNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IGV4dGVuZHMgYFBsdWdpbkJhc2VgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHJldHVybnMgVGhlIGBWYWx1ZUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGJpbmQ8XG4gICAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5nc1xuICA+KFxuICAgIHBsdWdpbjogUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIG9wdGlvbnM/OiBCaW5kVmFsdWVDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlPlxuICApOiBWYWx1ZUNvbXBvbmVudEV4VHlwZTxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQ+IHtcbiAgICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IEJpbmRWYWx1ZUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHk+ID0ge1xuICAgICAgY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBQcm9wZXJ0eVR5cGUgPT4gdmFsdWUgYXMgUHJvcGVydHlUeXBlLFxuICAgICAgcGx1Z2luU2V0dGluZ3NUb0NvbXBvbmVudFZhbHVlQ29udmVydGVyOiAodmFsdWUpOiBVSVZhbHVlID0+IHZhbHVlIGFzIFVJVmFsdWUsXG4gICAgICBzaG91bGRBdXRvU2F2ZTogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdCBvcHRpb25zRXh0OiBCaW5kVmFsdWVDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWUsIFByb3BlcnR5PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgcGx1Z2luRXh0ID0gcGx1Z2luIGFzIHVua25vd24gYXMgUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncz47XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NGbiA9ICgpOiBQbHVnaW5TZXR0aW5ncyA9PiBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9ICh1aVZhbHVlPzogVUlWYWx1ZSk6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKCFvcHRpb25zRXh0LnZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdWlWYWx1ZSA/Pz0gdGhpcy52YWx1ZUNvbXBvbmVudC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gb3B0aW9uc0V4dC52YWx1ZVZhbGlkYXRvcih1aVZhbHVlKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvckVsZW1lbnQgPSBnZXRWYWxpZGF0b3JFbGVtZW50KHRoaXMudmFsdWVDb21wb25lbnQpO1xuICAgICAgaWYgKHZhbGlkYXRvckVsZW1lbnQpIHtcbiAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAhZXJyb3JNZXNzYWdlO1xuICAgIH07XG5cbiAgICB0aGlzLnZhbHVlQ29tcG9uZW50XG4gICAgICAuc2V0VmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIocGx1Z2luU2V0dGluZ3NGbigpW3Byb3BlcnR5XSkpXG4gICAgICAub25DaGFuZ2UoYXN5bmMgKHVpVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCF2YWxpZGF0ZSh1aVZhbHVlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IHBsdWdpblNldHRpbmdzRm4oKTtcbiAgICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gb3B0aW9uc0V4dC5jb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXIodWlWYWx1ZSk7XG4gICAgICAgIGlmIChvcHRpb25zRXh0LnNob3VsZEF1dG9TYXZlKSB7XG4gICAgICAgICAgYXdhaXQgcGx1Z2luRXh0LnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZD8uKCk7XG4gICAgICB9KTtcblxuICAgIHZhbGlkYXRlKCk7XG5cbiAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yRWxlbWVudCh0aGlzLnZhbHVlQ29tcG9uZW50KTtcbiAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgdmFsaWRhdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHZhbGlkYXRlKCkpO1xuICAgICAgdmFsaWRhdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdmFsaWRhdGUoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXNFeHRlbmRlZCgpO1xuICB9XG59XG5cbi8qKlxuICogRXh0ZW5kcyBhIFZhbHVlQ29tcG9uZW50IHdpdGggYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0aGUgY29tcG9uZW50IGRpc3BsYXlzLlxuICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVmFsdWVDb21wb25lbnRgLlxuICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBleHRlbmQuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgY29tcG9uZW50IHdpdGggZXh0ZW5kZWQgZnVuY3Rpb25hbGl0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxVSVZhbHVlPj4odmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+KTogVmFsdWVDb21wb25lbnRFeFR5cGU8VUlWYWx1ZSwgVFZhbHVlQ29tcG9uZW50PiB7XG4gIHJldHVybiBuZXcgVmFsdWVDb21wb25lbnRFeDxVSVZhbHVlLCBUVmFsdWVDb21wb25lbnQ+KHZhbHVlQ29tcG9uZW50KS5hc0V4dGVuZGVkKCk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsaWRhdG9yIGVsZW1lbnQgZnJvbSBhIHZhbHVlIGNvbXBvbmVudCBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBnZXQgdGhlIHZhbGlkYXRvciBlbGVtZW50IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgaWYgaXQgZXhpc3RzLCBvciBgbnVsbGAgaWYgaXQgZG9lcyBub3QuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbGlkYXRvckVsZW1lbnQ8VUlWYWx1ZT4odmFsdWVDb21wb25lbnQ6IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+KTogbnVsbCB8IFZhbGlkYXRvckVsZW1lbnQge1xuICBpZiAodmFsdWVDb21wb25lbnQgaW5zdGFuY2VvZiBEcm9wZG93bkNvbXBvbmVudCkge1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudC5zZWxlY3RFbDtcbiAgfVxuXG4gIGlmICh2YWx1ZUNvbXBvbmVudCBpbnN0YW5jZW9mIFNsaWRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudC5zbGlkZXJFbDtcbiAgfVxuXG4gIGlmICh2YWx1ZUNvbXBvbmVudCBpbnN0YW5jZW9mIFRleHRBcmVhQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICBpZiAodmFsdWVDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHZhbHVlQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQSxzQkFNTztBQU9QLG9CQUFrRDtBQW9FbEQsTUFBTSxpQkFBNkY7QUFBQSxFQUMxRixZQUFvQixnQkFBaUM7QUFBakM7QUFBQSxFQUMzQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sYUFBNkQ7QUFDbEUsZUFBTyxpREFBa0MsQ0FBQyxHQUFHLEtBQUssZ0JBQWdCLElBQUk7QUFBQSxFQUN4RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXFETyxLQUlMLFFBQ0EsVUFDQSxTQUNnRDtBQUVoRCxVQUFNLGtCQUF3RjtBQUFBLE1BQzVGLHlDQUF5QyxDQUFDLFVBQXdCO0FBQUEsTUFDbEUseUNBQXlDLENBQUMsVUFBbUI7QUFBQSxNQUM3RCxnQkFBZ0I7QUFBQSxJQUNsQjtBQUVBLFVBQU0sYUFBbUYsRUFBRSxHQUFHLGlCQUFpQixHQUFHLFFBQVE7QUFDMUgsVUFBTSxZQUFZO0FBQ2xCLFVBQU0sbUJBQW1CLE1BQXNCLFdBQVcsa0JBQWtCLFVBQVU7QUFFdEYsVUFBTSxXQUFXLENBQUMsWUFBK0I7QUFDL0MsVUFBSSxDQUFDLFdBQVcsZ0JBQWdCO0FBQzlCLGVBQU87QUFBQSxNQUNUO0FBQ0Esa0JBQVksS0FBSyxlQUFlLFNBQVM7QUFDekMsWUFBTSxlQUFlLFdBQVcsZUFBZSxPQUFPO0FBQ3RELFlBQU1BLG9CQUFtQixvQkFBb0IsS0FBSyxjQUFjO0FBQ2hFLFVBQUlBLG1CQUFrQjtBQUNwQixRQUFBQSxrQkFBaUIsa0JBQWtCLGdCQUFnQixFQUFFO0FBQ3JELFFBQUFBLGtCQUFpQixlQUFlO0FBQUEsTUFDbEM7QUFFQSxhQUFPLENBQUM7QUFBQSxJQUNWO0FBRUEsU0FBSyxlQUNGLFNBQVMsV0FBVyx3Q0FBd0MsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDekYsU0FBUyxPQUFPLFlBQVk7QUFDM0IsVUFBSSxDQUFDLFNBQVMsT0FBTyxHQUFHO0FBQ3RCO0FBQUEsTUFDRjtBQUNBLFlBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxxQkFBZSxRQUFRLElBQUksV0FBVyx3Q0FBd0MsT0FBTztBQUNyRixVQUFJLFdBQVcsZ0JBQWdCO0FBQzdCLGNBQU0sVUFBVSxhQUFhLGNBQWM7QUFBQSxNQUM3QztBQUVBLFlBQU0sV0FBVyxZQUFZO0FBQUEsSUFDL0IsQ0FBQztBQUVILGFBQVM7QUFFVCxVQUFNLG1CQUFtQixvQkFBb0IsS0FBSyxjQUFjO0FBQ2hFLFFBQUksa0JBQWtCO0FBQ3BCLHVCQUFpQixpQkFBaUIsU0FBUyxNQUFNLFNBQVMsQ0FBQztBQUMzRCx1QkFBaUIsaUJBQWlCLFFBQVEsTUFBTSxTQUFTLENBQUM7QUFBQSxJQUM1RDtBQUVBLFdBQU8sS0FBSyxXQUFXO0FBQUEsRUFDekI7QUFDRjtBQVVPLFNBQVMsT0FBbUYsZ0JBQTZIO0FBQzlOLFNBQU8sSUFBSSxpQkFBMkMsY0FBYyxFQUFFLFdBQVc7QUFDbkY7QUFRQSxTQUFTLG9CQUE2QixnQkFBb0Y7QUFDeEgsTUFBSSwwQkFBMEIsbUNBQW1CO0FBQy9DLFdBQU8sZUFBZTtBQUFBLEVBQ3hCO0FBRUEsTUFBSSwwQkFBMEIsaUNBQWlCO0FBQzdDLFdBQU8sZUFBZTtBQUFBLEVBQ3hCO0FBRUEsTUFBSSwwQkFBMEIsbUNBQW1CO0FBQy9DLFdBQU8sZUFBZTtBQUFBLEVBQ3hCO0FBRUEsTUFBSSwwQkFBMEIsK0JBQWU7QUFDM0MsV0FBTyxlQUFlO0FBQUEsRUFDeEI7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbInZhbGlkYXRvckVsZW1lbnQiXQp9Cg==
|
@@ -10,10 +10,6 @@ import type { PluginBase } from './PluginBase.ts';
|
|
10
10
|
* Options for binding a value component to a plugin setting.
|
11
11
|
*/
|
12
12
|
interface BindValueComponentOptions<PluginSettings, UIValue> {
|
13
|
-
/**
|
14
|
-
* If true, saves the plugin settings automatically after the component value changes. Default is `true`.
|
15
|
-
*/
|
16
|
-
autoSave?: boolean;
|
17
13
|
/**
|
18
14
|
* A callback function that is called when the value of the component changes.
|
19
15
|
*/
|
@@ -22,6 +18,10 @@ interface BindValueComponentOptions<PluginSettings, UIValue> {
|
|
22
18
|
* The plugin settings object to bind the component to. Default is the plugin's current settings.
|
23
19
|
*/
|
24
20
|
pluginSettings?: PluginSettings;
|
21
|
+
/**
|
22
|
+
* If true, saves the plugin settings automatically after the component value changes. Default is `true`.
|
23
|
+
*/
|
24
|
+
shouldAutoSave?: boolean;
|
25
25
|
/**
|
26
26
|
* Validates the UI value before setting it on the plugin settings.
|
27
27
|
* @param uiValue - The value of the UI component.
|