obsidian-dev-utils 4.4.0 → 4.6.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/@types/compare-versions.d.ts +1 -1
- package/dist/lib/Async.cjs +3 -3
- package/dist/lib/Async.d.ts +5 -5
- package/dist/lib/Error.cjs +2 -2
- package/dist/lib/HTMLElement.cjs +1 -1
- package/dist/lib/HTMLElement.d.ts +4 -4
- package/dist/lib/Object.cjs +1 -1
- package/dist/lib/Object.d.ts +1 -1
- package/dist/lib/String.cjs +11 -5
- package/dist/lib/String.d.ts +11 -1
- package/dist/lib/ValueProvider.cjs +1 -1
- package/dist/lib/ValueProvider.d.ts +1 -1
- package/dist/lib/obsidian/AttachmentPath.cjs +1 -1
- package/dist/lib/obsidian/AttachmentPath.d.ts +2 -2
- package/dist/lib/obsidian/Backlink.cjs +4 -4
- package/dist/lib/obsidian/Callout.cjs +4 -4
- package/dist/lib/obsidian/Callout.d.ts +8 -8
- package/dist/lib/obsidian/ChainedPromise.cjs +1 -1
- package/dist/lib/obsidian/ChainedPromise.d.ts +5 -1
- package/dist/lib/obsidian/Dataview.cjs +17 -17
- package/dist/lib/obsidian/Dataview.d.ts +27 -27
- package/dist/lib/obsidian/DataviewLink.cjs +1 -1
- package/dist/lib/obsidian/FileChange.cjs +9 -9
- package/dist/lib/obsidian/FileChange.d.ts +12 -8
- package/dist/lib/obsidian/FileManager.cjs +1 -1
- package/dist/lib/obsidian/FileManager.d.ts +5 -1
- package/dist/lib/obsidian/FileSystem.cjs +1 -1
- package/dist/lib/obsidian/FileSystem.d.ts +7 -7
- package/dist/lib/obsidian/FrontMatter.cjs +3 -2
- package/dist/lib/obsidian/Link.cjs +25 -25
- package/dist/lib/obsidian/Link.d.ts +63 -63
- package/dist/lib/obsidian/Logger.cjs +8 -8
- package/dist/lib/obsidian/Logger.d.ts +4 -0
- package/dist/lib/obsidian/Markdown.cjs +50 -0
- package/dist/lib/obsidian/Markdown.d.ts +14 -0
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
- package/dist/lib/obsidian/MetadataCache.cjs +1 -1
- package/dist/lib/obsidian/Modal/Alert.cjs +6 -6
- package/dist/lib/obsidian/Modal/Alert.d.ts +6 -6
- package/dist/lib/obsidian/Modal/Confirm.cjs +11 -11
- package/dist/lib/obsidian/Modal/Confirm.d.ts +12 -12
- package/dist/lib/obsidian/Modal/Prompt.cjs +22 -22
- package/dist/lib/obsidian/Modal/Prompt.d.ts +17 -17
- package/dist/lib/obsidian/Modal/SelectItem.cjs +5 -5
- package/dist/lib/obsidian/Modal/SelectItem.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +56 -56
- package/dist/lib/obsidian/Plugin/PluginBase.d.ts +34 -34
- package/dist/lib/obsidian/Plugin/ValueComponent.cjs +3 -3
- package/dist/lib/obsidian/Plugin/ValueComponent.d.ts +15 -11
- package/dist/lib/obsidian/Reference.cjs +5 -5
- package/dist/lib/obsidian/Reference.d.ts +4 -0
- package/dist/lib/obsidian/RenameDeleteHandler.cjs +5 -5
- package/dist/lib/obsidian/RenameDeleteHandler.d.ts +4 -0
- package/dist/lib/obsidian/ResourceUrl.cjs +1 -1
- package/dist/lib/obsidian/Vault.cjs +3 -3
- package/dist/lib/obsidian/Vault.d.ts +2 -2
- package/dist/lib/obsidian/index.cjs +4 -1
- package/dist/lib/obsidian/index.d.ts +1 -0
- package/dist/lib/scripts/CliUtils.cjs +19 -19
- package/dist/lib/scripts/CliUtils.d.ts +17 -17
- package/dist/lib/scripts/ESLint/ESLint.cjs +3 -3
- package/dist/lib/scripts/ESLint/eslint.config.cjs +24 -20
- package/dist/lib/scripts/Exec.cjs +5 -5
- package/dist/lib/scripts/Exec.d.ts +15 -11
- package/dist/lib/scripts/Fs.cjs +1 -1
- package/dist/lib/scripts/Fs.d.ts +16 -16
- package/dist/lib/scripts/JSON.cjs +1 -1
- package/dist/lib/scripts/NodeModules.cjs +1 -1
- package/dist/lib/scripts/NodeModules.d.ts +4 -0
- package/dist/lib/scripts/Npm.cjs +1 -1
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +3 -3
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.d.ts +4 -4
- package/dist/lib/scripts/Root.cjs +1 -1
- package/dist/lib/scripts/Root.d.ts +4 -4
- package/dist/lib/scripts/build.cjs +3 -3
- package/dist/lib/scripts/cli.cjs +6 -6
- package/dist/lib/scripts/esbuild/Dependency.cjs +8 -8
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +3 -3
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.d.ts +4 -4
- package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +6 -6
- package/dist/lib/scripts/version.cjs +11 -11
- package/dist/lib/scripts/version.d.ts +4 -4
- package/package.json +2 -2
@@ -36,25 +36,25 @@ export interface UpdateLinksInFileOptions {
|
|
36
36
|
*/
|
37
37
|
app: App;
|
38
38
|
/**
|
39
|
-
*
|
39
|
+
* Whether to update only embedded links.
|
40
40
|
*/
|
41
|
-
|
41
|
+
embedOnlyLinks?: boolean | undefined;
|
42
42
|
/**
|
43
|
-
*
|
43
|
+
* Whether to force the links to be in Markdown format.
|
44
44
|
*/
|
45
|
-
|
45
|
+
forceMarkdownLinks?: boolean | undefined;
|
46
46
|
/**
|
47
|
-
*
|
47
|
+
* The old path of the file.
|
48
48
|
*/
|
49
|
-
|
49
|
+
oldPathOrFile?: PathOrFile | undefined;
|
50
50
|
/**
|
51
|
-
*
|
51
|
+
* The file to update the links in.
|
52
52
|
*/
|
53
|
-
|
53
|
+
pathOrFile: PathOrFile;
|
54
54
|
/**
|
55
|
-
*
|
55
|
+
* A map of old and new paths for renaming links.
|
56
56
|
*/
|
57
|
-
|
57
|
+
renameMap?: Map<string, string> | undefined;
|
58
58
|
/**
|
59
59
|
* Whether to update filename alias. Defaults to `true`.
|
60
60
|
*/
|
@@ -76,13 +76,13 @@ export interface ConvertLinkOptions {
|
|
76
76
|
*/
|
77
77
|
app: App;
|
78
78
|
/**
|
79
|
-
*
|
79
|
+
* Whether to force markdown links.
|
80
80
|
*/
|
81
|
-
|
81
|
+
forceMarkdownLinks?: boolean | undefined;
|
82
82
|
/**
|
83
|
-
* The
|
83
|
+
* The reference for the link.
|
84
84
|
*/
|
85
|
-
|
85
|
+
link: Reference;
|
86
86
|
/**
|
87
87
|
* The old path of the link.
|
88
88
|
*/
|
@@ -91,14 +91,14 @@ export interface ConvertLinkOptions {
|
|
91
91
|
* A map of old and new file paths.
|
92
92
|
*/
|
93
93
|
renameMap?: Map<string, string> | undefined;
|
94
|
-
/**
|
95
|
-
* Whether to force markdown links.
|
96
|
-
*/
|
97
|
-
forceMarkdownLinks?: boolean | undefined;
|
98
94
|
/**
|
99
95
|
* Whether to update filename alias. Defaults to `true`.
|
100
96
|
*/
|
101
97
|
shouldUpdateFilenameAlias?: boolean | undefined;
|
98
|
+
/**
|
99
|
+
* The source file containing the link.
|
100
|
+
*/
|
101
|
+
sourcePathOrFile: PathOrFile;
|
102
102
|
}
|
103
103
|
/**
|
104
104
|
* Converts a link to a new path.
|
@@ -115,7 +115,7 @@ export declare function convertLink(options: ConvertLinkOptions): string;
|
|
115
115
|
* @param notePathOrFile - The path or file of the note containing the link.
|
116
116
|
* @returns The file associated with the link, or null if not found.
|
117
117
|
*/
|
118
|
-
export declare function extractLinkFile(app: App, link: Reference, notePathOrFile: PathOrFile):
|
118
|
+
export declare function extractLinkFile(app: App, link: Reference, notePathOrFile: PathOrFile): null | TFile;
|
119
119
|
/**
|
120
120
|
* Options for updating a link.
|
121
121
|
*/
|
@@ -125,33 +125,33 @@ export interface UpdateLinkOptions {
|
|
125
125
|
*/
|
126
126
|
app: App;
|
127
127
|
/**
|
128
|
-
*
|
128
|
+
* Whether to force markdown links.
|
129
129
|
*/
|
130
|
-
|
130
|
+
forceMarkdownLinks?: boolean | undefined;
|
131
131
|
/**
|
132
|
-
* The
|
132
|
+
* The reference for the link.
|
133
133
|
*/
|
134
|
-
|
134
|
+
link: Reference;
|
135
135
|
/**
|
136
136
|
* The old path of the file.
|
137
137
|
*/
|
138
138
|
oldPathOrFile?: PathOrFile | undefined;
|
139
139
|
/**
|
140
|
-
* The
|
140
|
+
* The file associated with the link.
|
141
141
|
*/
|
142
|
-
|
142
|
+
pathOrFile: null | PathOrFile;
|
143
143
|
/**
|
144
144
|
* A map of old and new file paths.
|
145
145
|
*/
|
146
146
|
renameMap?: Map<string, string> | undefined;
|
147
|
-
/**
|
148
|
-
* Whether to force markdown links.
|
149
|
-
*/
|
150
|
-
forceMarkdownLinks?: boolean | undefined;
|
151
147
|
/**
|
152
148
|
* Whether to update filename alias. Defaults to `true`.
|
153
149
|
*/
|
154
150
|
shouldUpdateFilenameAlias?: boolean | undefined;
|
151
|
+
/**
|
152
|
+
* The source file containing the link.
|
153
|
+
*/
|
154
|
+
sourcePathOrFile: PathOrFile;
|
155
155
|
}
|
156
156
|
/**
|
157
157
|
* Updates a link based on the provided parameters.
|
@@ -173,21 +173,21 @@ export interface ShouldResetAliasOptions {
|
|
173
173
|
*/
|
174
174
|
displayText: string | undefined;
|
175
175
|
/**
|
176
|
-
*
|
176
|
+
* Indicates if the link is a wikilink.
|
177
177
|
*/
|
178
|
-
|
178
|
+
isWikilink?: boolean | undefined;
|
179
179
|
/**
|
180
180
|
* Other paths associated with the link.
|
181
181
|
*/
|
182
182
|
otherPathOrFiles: (PathOrFile | undefined)[];
|
183
183
|
/**
|
184
|
-
* The
|
184
|
+
* The path or file of the link.
|
185
185
|
*/
|
186
|
-
|
186
|
+
pathOrFile: PathOrFile;
|
187
187
|
/**
|
188
|
-
*
|
188
|
+
* The source path of the link.
|
189
189
|
*/
|
190
|
-
|
190
|
+
sourcePathOrFile: PathOrFile;
|
191
191
|
}
|
192
192
|
/**
|
193
193
|
* Determines if the alias of a link should be reset.
|
@@ -210,25 +210,29 @@ export interface GenerateMarkdownLinkDefaultOptionsWrapper {
|
|
210
210
|
*/
|
211
211
|
export interface GenerateMarkdownLinkOptions {
|
212
212
|
/**
|
213
|
-
* The
|
213
|
+
* The alias for the link.
|
214
214
|
*/
|
215
|
-
|
215
|
+
alias?: string | undefined;
|
216
216
|
/**
|
217
|
-
*
|
217
|
+
* Whether to allow an empty alias for embeds. Defaults to `true`.
|
218
218
|
*/
|
219
|
-
|
219
|
+
allowEmptyEmbedAlias?: boolean | undefined;
|
220
220
|
/**
|
221
|
-
*
|
221
|
+
* Whether to allow non-existing files. If `false` and `pathOrFile` is a non-existing file, an error will be thrown. Defaults to `false`.
|
222
222
|
*/
|
223
|
-
|
223
|
+
allowNonExistingFile?: boolean | undefined;
|
224
224
|
/**
|
225
|
-
* The
|
225
|
+
* The Obsidian app instance.
|
226
226
|
*/
|
227
|
-
|
227
|
+
app: App;
|
228
228
|
/**
|
229
|
-
*
|
229
|
+
* Indicates if the link should be relative. If not provided or `false`, it will be inferred based on the Obsidian settings.
|
230
230
|
*/
|
231
|
-
|
231
|
+
forceRelativePath?: boolean | undefined;
|
232
|
+
/**
|
233
|
+
* Whether to include the attachment extension in the embed alias. Has no effect if `allowEmptyEmbedAlias` is `true`. Defaults to `false`.
|
234
|
+
*/
|
235
|
+
includeAttachmentExtensionToEmbedAlias?: boolean | undefined;
|
232
236
|
/**
|
233
237
|
* Indicates if the link should be embedded. If not provided, it will be inferred based on the file type.
|
234
238
|
*/
|
@@ -237,35 +241,31 @@ export interface GenerateMarkdownLinkOptions {
|
|
237
241
|
* Indicates if the link should be a wikilink. If not provided, it will be inferred based on the Obsidian settings.
|
238
242
|
*/
|
239
243
|
isWikilink?: boolean | undefined;
|
240
|
-
/**
|
241
|
-
* Indicates if the link should be relative. If not provided or `false`, it will be inferred based on the Obsidian settings.
|
242
|
-
*/
|
243
|
-
forceRelativePath?: boolean | undefined;
|
244
|
-
/**
|
245
|
-
* Indicates if the link should use a leading dot. Defaults to `false`. Has no effect if `isWikilink` is `true` or `isRelative` is `false`.
|
246
|
-
*/
|
247
|
-
useLeadingDot?: boolean | undefined;
|
248
|
-
/**
|
249
|
-
* Indicates if the link should use angle brackets. Defaults to `false`. Has no effect if `isWikilink` is `true`
|
250
|
-
*/
|
251
|
-
useAngleBrackets?: boolean | undefined;
|
252
244
|
/**
|
253
245
|
* The original link text. If provided, it will be used to infer the values of `isEmbed`, `isWikilink`, `useLeadingDot`, and `useAngleBrackets`.
|
254
246
|
* These inferred values will be overridden by corresponding settings if specified.
|
255
247
|
*/
|
256
248
|
originalLink?: string | undefined;
|
257
249
|
/**
|
258
|
-
*
|
250
|
+
* The file to link to.
|
259
251
|
*/
|
260
|
-
|
252
|
+
pathOrFile: PathOrFile;
|
261
253
|
/**
|
262
|
-
*
|
254
|
+
* The source path of the link.
|
263
255
|
*/
|
264
|
-
|
256
|
+
sourcePathOrFile: PathOrFile;
|
265
257
|
/**
|
266
|
-
*
|
258
|
+
* The subpath of the link.
|
267
259
|
*/
|
268
|
-
|
260
|
+
subpath?: string | undefined;
|
261
|
+
/**
|
262
|
+
* Indicates if the link should use angle brackets. Defaults to `false`. Has no effect if `isWikilink` is `true`
|
263
|
+
*/
|
264
|
+
useAngleBrackets?: boolean | undefined;
|
265
|
+
/**
|
266
|
+
* Indicates if the link should use a leading dot. Defaults to `false`. Has no effect if `isWikilink` is `true` or `isRelative` is `false`.
|
267
|
+
*/
|
268
|
+
useLeadingDot?: boolean | undefined;
|
269
269
|
}
|
270
270
|
/**
|
271
271
|
* Generates a markdown link based on the provided parameters.
|
@@ -35,25 +35,25 @@ async function invokeAsyncAndLog(title, fn, stackTrace) {
|
|
35
35
|
stackTrace = (0, import_Error.getStackTrace)().split("\n").slice(1).join("\n");
|
36
36
|
}
|
37
37
|
console.debug(`${title}:start`, {
|
38
|
-
timestampStart,
|
39
38
|
fn,
|
40
|
-
stackTrace
|
39
|
+
stackTrace,
|
40
|
+
timestampStart
|
41
41
|
});
|
42
42
|
try {
|
43
43
|
await fn();
|
44
44
|
const timestampEnd = Date.now();
|
45
45
|
console.debug(`${title}:end`, {
|
46
|
-
timestampStart,
|
46
|
+
duration: timestampEnd - timestampStart,
|
47
47
|
timestampEnd,
|
48
|
-
|
48
|
+
timestampStart
|
49
49
|
});
|
50
50
|
} catch (error) {
|
51
51
|
const timestampEnd = Date.now();
|
52
52
|
console.debug(`${title}:error`, {
|
53
|
-
timestampStart,
|
54
|
-
timestampEnd: Date.now(),
|
55
53
|
duration: timestampEnd - timestampStart,
|
56
|
-
error
|
54
|
+
error,
|
55
|
+
timestampEnd: Date.now(),
|
56
|
+
timestampStart
|
57
57
|
});
|
58
58
|
throw error;
|
59
59
|
}
|
@@ -62,4 +62,4 @@ async function invokeAsyncAndLog(title, fn, stackTrace) {
|
|
62
62
|
0 && (module.exports = {
|
63
63
|
invokeAsyncAndLog
|
64
64
|
});
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
65
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0xvZ2dlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTG9nZ2VyXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbG9nZ2luZyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUHJvbWlzZSB9IGZyb20gJy4uL0FzeW5jLnRzJztcblxuaW1wb3J0IHsgZ2V0U3RhY2tUcmFjZSB9IGZyb20gJy4uL0Vycm9yLnRzJztcblxuLyoqXG4gKiBJbnZva2VzIGEgZnVuY3Rpb24gYW5kIGxvZ3MgdGhlIHN0YXJ0LCBlbmQsIGFuZCBkdXJhdGlvbiBvZiB0aGUgaW52b2NhdGlvbi5cbiAqXG4gKiBAcGFyYW0gdGl0bGUgLSBUaGUgdGl0bGUgb2YgdGhlIGxvZy5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gKiBAcGFyYW0gc3RhY2tUcmFjZSAtIE9wdGlvbmFsIHN0YWNrIHRyYWNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlQXN5bmNBbmRMb2codGl0bGU6IHN0cmluZywgZm46ICgpID0+IE1heWJlUHJvbWlzZTx2b2lkPiwgc3RhY2tUcmFjZT86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB0aW1lc3RhbXBTdGFydCA9IERhdGUubm93KCk7XG4gIGlmIChzdGFja1RyYWNlID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFja1RyYWNlID0gZ2V0U3RhY2tUcmFjZSgpLnNwbGl0KCdcXG4nKS5zbGljZSgxKS5qb2luKCdcXG4nKTtcbiAgfVxuICBjb25zb2xlLmRlYnVnKGAke3RpdGxlfTpzdGFydGAsIHtcbiAgICBmbixcbiAgICBzdGFja1RyYWNlLFxuICAgIHRpbWVzdGFtcFN0YXJ0XG4gIH0pO1xuICB0cnkge1xuICAgIGF3YWl0IGZuKCk7XG4gICAgY29uc3QgdGltZXN0YW1wRW5kID0gRGF0ZS5ub3coKTtcbiAgICBjb25zb2xlLmRlYnVnKGAke3RpdGxlfTplbmRgLCB7XG4gICAgICBkdXJhdGlvbjogdGltZXN0YW1wRW5kIC0gdGltZXN0YW1wU3RhcnQsXG4gICAgICB0aW1lc3RhbXBFbmQsXG4gICAgICB0aW1lc3RhbXBTdGFydFxuICAgIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IHRpbWVzdGFtcEVuZCA9IERhdGUubm93KCk7XG4gICAgY29uc29sZS5kZWJ1ZyhgJHt0aXRsZX06ZXJyb3JgLCB7XG4gICAgICBkdXJhdGlvbjogdGltZXN0YW1wRW5kIC0gdGltZXN0YW1wU3RhcnQsXG4gICAgICBlcnJvcixcbiAgICAgIHRpbWVzdGFtcEVuZDogRGF0ZS5ub3coKSxcbiAgICAgIHRpbWVzdGFtcFN0YXJ0XG4gICAgfSk7XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxtQkFBOEI7QUFTOUIsZUFBc0Isa0JBQWtCLE9BQWUsSUFBOEIsWUFBb0M7QUFDdkgsUUFBTSxpQkFBaUIsS0FBSyxJQUFJO0FBQ2hDLE1BQUksZUFBZSxRQUFXO0FBQzVCLHFCQUFhLDRCQUFjLEVBQUUsTUFBTSxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJO0FBQUEsRUFDN0Q7QUFDQSxVQUFRLE1BQU0sR0FBRyxLQUFLLFVBQVU7QUFBQSxJQUM5QjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixDQUFDO0FBQ0QsTUFBSTtBQUNGLFVBQU0sR0FBRztBQUNULFVBQU0sZUFBZSxLQUFLLElBQUk7QUFDOUIsWUFBUSxNQUFNLEdBQUcsS0FBSyxRQUFRO0FBQUEsTUFDNUIsVUFBVSxlQUFlO0FBQUEsTUFDekI7QUFBQSxNQUNBO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSCxTQUFTLE9BQU87QUFDZCxVQUFNLGVBQWUsS0FBSyxJQUFJO0FBQzlCLFlBQVEsTUFBTSxHQUFHLEtBQUssVUFBVTtBQUFBLE1BQzlCLFVBQVUsZUFBZTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxjQUFjLEtBQUssSUFBSTtBQUFBLE1BQ3ZCO0FBQUEsSUFDRixDQUFDO0FBRUQsVUFBTTtBQUFBLEVBQ1I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/*
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
4
|
+
*/
|
5
|
+
|
6
|
+
(function patchRequireEsmDefault(){const __require=require;require=Object.assign(id=>{const module=__require(id);return module.__esModule&&module.default?module.default:module},__require)})()
|
7
|
+
|
8
|
+
"use strict";
|
9
|
+
var __defProp = Object.defineProperty;
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
13
|
+
var __export = (target, all) => {
|
14
|
+
for (var name in all)
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
16
|
+
};
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
19
|
+
for (let key of __getOwnPropNames(from))
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
22
|
+
}
|
23
|
+
return to;
|
24
|
+
};
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
26
|
+
var Markdown_exports = {};
|
27
|
+
__export(Markdown_exports, {
|
28
|
+
markdownToHtml: () => markdownToHtml
|
29
|
+
});
|
30
|
+
module.exports = __toCommonJS(Markdown_exports);
|
31
|
+
var import_obsidian = require('obsidian');
|
32
|
+
var __process = globalThis["process"] ?? {
|
33
|
+
"cwd": () => "/",
|
34
|
+
"env": {},
|
35
|
+
"platform": "android"
|
36
|
+
};
|
37
|
+
async function markdownToHtml(app, markdown, sourcePath) {
|
38
|
+
const component = new import_obsidian.Component();
|
39
|
+
component.load();
|
40
|
+
const renderDiv = createDiv();
|
41
|
+
await import_obsidian.MarkdownRenderer.render(app, markdown, renderDiv, sourcePath ?? "", component);
|
42
|
+
const html = renderDiv.innerHTML;
|
43
|
+
component.unload();
|
44
|
+
return html;
|
45
|
+
}
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
47
|
+
0 && (module.exports = {
|
48
|
+
markdownToHtml
|
49
|
+
});
|
50
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxyXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWFya2Rvd25cclxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cclxuICovXHJcblxyXG5pbXBvcnQge1xyXG4gIEFwcCxcclxuICBDb21wb25lbnQsXHJcbiAgTWFya2Rvd25SZW5kZXJlclxyXG59IGZyb20gJ29ic2lkaWFuJztcclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBNYXJrZG93biB0byBIVE1MLlxyXG4gKlxyXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cclxuICogQHBhcmFtIG1hcmtkb3duIC0gVGhlIE1hcmtkb3duIHN0cmluZyB0byBjb252ZXJ0LlxyXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIChvcHRpb25hbCkgVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXHJcbiAqIEByZXR1cm5zIFRoZSBIVE1MIHN0cmluZy5cclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYXJrZG93blRvSHRtbChhcHA6IEFwcCwgbWFya2Rvd246IHN0cmluZywgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgY29uc3QgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xyXG4gIGNvbXBvbmVudC5sb2FkKCk7XHJcbiAgY29uc3QgcmVuZGVyRGl2ID0gY3JlYXRlRGl2KCk7XHJcbiAgYXdhaXQgTWFya2Rvd25SZW5kZXJlci5yZW5kZXIoYXBwLCBtYXJrZG93biwgcmVuZGVyRGl2LCBzb3VyY2VQYXRoID8/ICcnLCBjb21wb25lbnQpO1xyXG4gIGNvbnN0IGh0bWwgPSByZW5kZXJEaXYuaW5uZXJIVE1MO1xyXG4gIGNvbXBvbmVudC51bmxvYWQoKTtcclxuICByZXR1cm4gaHRtbDtcclxufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUlPO0FBZFAsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW9CQSxlQUFzQixlQUFlLEtBQVUsVUFBa0IsWUFBc0M7QUFDckcsUUFBTSxZQUFZLElBQUksMEJBQVU7QUFDaEMsWUFBVSxLQUFLO0FBQ2YsUUFBTSxZQUFZLFVBQVU7QUFDNUIsUUFBTSxpQ0FBaUIsT0FBTyxLQUFLLFVBQVUsV0FBVyxjQUFjLElBQUksU0FBUztBQUNuRixRQUFNLE9BQU8sVUFBVTtBQUN2QixZQUFVLE9BQU87QUFDakIsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* @packageDocumentation Markdown
|
3
|
+
* This module provides utility functions for processing Markdown content in Obsidian.
|
4
|
+
*/
|
5
|
+
import { App } from 'obsidian';
|
6
|
+
/**
|
7
|
+
* Converts Markdown to HTML.
|
8
|
+
*
|
9
|
+
* @param app - The Obsidian app instance.
|
10
|
+
* @param markdown - The Markdown string to convert.
|
11
|
+
* @param sourcePath - (optional) The source path to resolve relative links.
|
12
|
+
* @returns The HTML string.
|
13
|
+
*/
|
14
|
+
export declare function markdownToHtml(app: App, markdown: string, sourcePath?: string): Promise<string>;
|
@@ -51,4 +51,4 @@ function getCodeBlockArgument(ctx, el) {
|
|
51
51
|
0 && (module.exports = {
|
52
52
|
getCodeBlockArgument
|
53
53
|
});
|
54
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/
|
54
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1hcmtkb3duQ29kZUJsb2NrUHJvY2Vzc29yXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgcHJvY2Vzc2luZyBjb2RlIGJsb2NrcyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IHRocm93RXhwcmVzc2lvbiB9IGZyb20gJy4uL0Vycm9yLnRzJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFyZ3VtZW50IG9mIGEgY29kZSBibG9jayBmcm9tIHRoZSBnaXZlbiBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IGFuZCBIVE1MRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0gY3R4IC0gVGhlIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQgb2JqZWN0LlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHJlcHJlc2VudGluZyB0aGUgY29kZSBibG9jay5cbiAqIEByZXR1cm5zIFRoZSBhcmd1bWVudCBvZiB0aGUgY29kZSBibG9jayBhcyBhIHN0cmluZywgb3IgbnVsbCBpZiBubyBhcmd1bWVudCBpcyBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvZGVCbG9ja0FyZ3VtZW50KGN0eDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dCwgZWw6IEhUTUxFbGVtZW50KTogbnVsbCB8IHN0cmluZyB7XG4gIGNvbnN0IHNlY3Rpb25JbmZvID0gY3R4LmdldFNlY3Rpb25JbmZvKGVsKTtcbiAgaWYgKCFzZWN0aW9uSW5mbykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGxpbmVzID0gc2VjdGlvbkluZm8udGV4dC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IGNvZGVCbG9ja0hlYWRlciA9IGxpbmVzW3NlY3Rpb25JbmZvLmxpbmVTdGFydF0gPz8gdGhyb3dFeHByZXNzaW9uKG5ldyBFcnJvcignQ29kZSBibG9jayBoZWFkZXIgbm90IGZvdW5kJykpO1xuICBjb25zdCBtYXRjaCA9IC9eYHszLH1cXFMrXFxzKyguKikkLy5leGVjKGNvZGVCbG9ja0hlYWRlcik7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gbWF0Y2hbMV0/LnRyaW0oKSA/PyBudWxsO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxtQkFBZ0M7QUFaaEMsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWlCTyxTQUFTLHFCQUFxQixLQUFtQyxJQUFnQztBQUN0RyxRQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7QUFDekMsTUFBSSxDQUFDLGFBQWE7QUFDaEIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxRQUFNLFFBQVEsWUFBWSxLQUFLLE1BQU0sSUFBSTtBQUN6QyxRQUFNLGtCQUFrQixNQUFNLFlBQVksU0FBUyxTQUFLLDhCQUFnQixJQUFJLE1BQU0sNkJBQTZCLENBQUM7QUFDaEgsUUFBTSxRQUFRLG9CQUFvQixLQUFLLGVBQWU7QUFDdEQsTUFBSSxDQUFDLE9BQU87QUFDVixXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8sTUFBTSxDQUFDLEdBQUcsS0FBSyxLQUFLO0FBQzdCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -10,4 +10,4 @@ import type { MarkdownPostProcessorContext } from 'obsidian';
|
|
10
10
|
* @param el - The HTMLElement representing the code block.
|
11
11
|
* @returns The argument of the code block as a string, or null if no argument is found.
|
12
12
|
*/
|
13
|
-
export declare function getCodeBlockArgument(ctx: MarkdownPostProcessorContext, el: HTMLElement):
|
13
|
+
export declare function getCodeBlockArgument(ctx: MarkdownPostProcessorContext, el: HTMLElement): null | string;
|
@@ -249,4 +249,4 @@ async function ensureMetadataCacheReady(app) {
|
|
249
249
|
registerFile,
|
250
250
|
tempRegisterFileAndRun
|
251
251
|
});
|
252
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgTWFya2Rvd25WaWV3IH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcbmltcG9ydCB7XG4gIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gIGlzUmVmZXJlbmNlQ2FjaGUsXG4gIHBhcmVudEZvbGRlclBhdGhcbn0gZnJvbSAnb2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnMnO1xuXG5pbXBvcnQgdHlwZSB7IFJldHJ5T3B0aW9ucyB9IGZyb20gJy4uL0FzeW5jLnRzJztcbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXQgfSBmcm9tICcuLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vRnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uL09iamVjdC50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckZpbGUgfSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRNYXR0ZXIgfSBmcm9tICcuL0Zyb250TWF0dGVyLnRzJztcbmltcG9ydCB7IHBhcnNlRnJvbnRNYXR0ZXIgfSBmcm9tICcuL0Zyb250TWF0dGVyLnRzJztcbmltcG9ydCB7IHNvcnRSZWZlcmVuY2VzIH0gZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgY2FjaGVkIG1ldGFkYXRhIGZvciBhIGdpdmVuIGZpbGUgb3IgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlT3JQYXRoIC0gVGhlIGZpbGUgb3IgcGF0aCB0byByZXRyaWV2ZSB0aGUgbWV0YWRhdGEgZm9yLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMgZm9yIHRoZSByZXRyaWV2YWwgcHJvY2Vzcy5cbiAqIEByZXR1cm5zIFRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIHRoZSBmaWxlLCBvciBudWxsIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDYWNoZVNhZmUoYXBwOiBBcHAsIGZpbGVPclBhdGg6IFBhdGhPckZpbGUsIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPENhY2hlZE1ldGFkYXRhIHwgbnVsbD4ge1xuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBsZXQgY2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgYXdhaXQgcmV0cnlXaXRoVGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGVPck51bGwoYXBwLCBmaWxlT3JQYXRoKTtcblxuICAgIGlmICghZmlsZSB8fCBmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGNhY2hlID0gbnVsbDtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgZmlsZSk7XG5cbiAgICBjb25zdCBmaWxlSW5mbyA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVJbmZvKGZpbGUucGF0aCk7XG4gICAgY29uc3Qgc3RhdCA9IGF3YWl0IGFwcC52YXVsdC5hZGFwdGVyLnN0YXQoZmlsZS5wYXRoKTtcblxuICAgIGlmICghZmlsZUluZm8pIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgY2FjaGUgaW5mbyBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFzdGF0KSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIHN0YXQgZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChmaWxlLnN0YXQubXRpbWUgPCBzdGF0Lm10aW1lKSB7XG4gICAgICBhcHAudmF1bHQub25DaGFuZ2UoJ21vZGlmaWVkJywgZmlsZS5wYXRoLCB1bmRlZmluZWQsIHN0YXQpO1xuICAgICAgY29uc29sZS5kZWJ1ZyhgQ2FjaGVkIHRpbWVzdGFtcCBmb3IgJHtmaWxlLnBhdGh9IGlzIGZyb20gJHtuZXcgRGF0ZShmaWxlLnN0YXQubXRpbWUpLnRvU3RyaW5nKCl9IHdoaWNoIGlzIG9sZGVyIHRoYW4gdGhlIGZpbGUgc3lzdGVtIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgJHtuZXcgRGF0ZShzdGF0Lm10aW1lKS50b1N0cmluZygpfWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZmlsZUluZm8ubXRpbWUgPCBzdGF0Lm10aW1lKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZUluZm8ubXRpbWUpLnRvU3RyaW5nKCl9IHdoaWNoIGlzIG9sZGVyIHRoYW4gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcCAke25ldyBEYXRlKHN0YXQubXRpbWUpLnRvU3RyaW5nKCl9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhY2hlID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgICAgaWYgKCFjYWNoZSkge1xuICAgICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gY2FjaGU7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIGFsbCBsaW5rcyBmcm9tIHRoZSBwcm92aWRlZCBjYWNoZS5cbiAqXG4gKiBAcGFyYW0gY2FjaGUgLSBUaGUgY2FjaGVkIG1ldGFkYXRhLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVmZXJlbmNlIGNhY2hlcyByZXByZXNlbnRpbmcgdGhlIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTGlua3MoY2FjaGU6IENhY2hlZE1ldGFkYXRhKTogUmVmZXJlbmNlW10ge1xuICBsZXQgbGlua3M6IFJlZmVyZW5jZVtdID0gW107XG5cbiAgaWYgKGNhY2hlLmxpbmtzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5saW5rcyk7XG4gIH1cblxuICBpZiAoY2FjaGUuZW1iZWRzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5lbWJlZHMpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmZyb250bWF0dGVyTGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmZyb250bWF0dGVyTGlua3MpO1xuICB9XG5cbiAgc29ydFJlZmVyZW5jZXMobGlua3MpO1xuXG4gIC8vIEJVRzogaHR0cHM6Ly9mb3J1bS5vYnNpZGlhbi5tZC90L2J1Zy1kdXBsaWNhdGVkLWxpbmtzLWluLW1ldGFkYXRhY2FjaGUtaW5zaWRlLWZvb3Rub3Rlcy84NTU1MVxuICBsaW5rcyA9IGxpbmtzLmZpbHRlcigobGluaywgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzTGluayA9IGxpbmtzW2luZGV4IC0gMV07XG4gICAgaWYgKCFwcmV2aW91c0xpbmspIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc1JlZmVyZW5jZUNhY2hlKGxpbmspICYmIGlzUmVmZXJlbmNlQ2FjaGUocHJldmlvdXNMaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0ICE9PSBwcmV2aW91c0xpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0O1xuICAgIH1cblxuICAgIGlmIChpc0Zyb250bWF0dGVyTGlua0NhY2hlKGxpbmspICYmIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocHJldmlvdXNMaW5rKSkge1xuICAgICAgcmV0dXJuIGxpbmsua2V5ICE9PSBwcmV2aW91c0xpbmsua2V5O1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gbGlua3M7XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgdGhlIGdldEJhY2tsaW5rc0ZvckZpbGUgbWV0aG9kIHRoYXQgcHJvdmlkZXMgYSBzYWZlIG92ZXJsb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlV3JhcHBlciB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gICAqL1xuICBzYWZlKHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+Pjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIG9yIHBhdGguXG4gKiBOT1RFOiBUaGUgZmlsZSBtYXkgYmUgbm9uLWV4aXN0ZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGJhY2tsaW5rcyBmb3IgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUsIHRydWUpO1xuICByZXR1cm4gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bihhcHAsIGZpbGUsICgpID0+IGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUoZmlsZSkpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYmFja2xpbmtzIGZvciBhIGZpbGUgc2FmZWx5LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgb2JqZWN0LlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBkaWN0aW9uYXJ5IG9mIGJhY2tsaW5rcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPj4ge1xuICBjb25zdCBzYWZlT3ZlcmxvYWQgPSAoYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZSBhcyBQYXJ0aWFsPEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlV3JhcHBlcj4pLnNhZmU7XG4gIGlmIChzYWZlT3ZlcmxvYWQpIHtcbiAgICByZXR1cm4gc2FmZU92ZXJsb2FkKHBhdGhPckZpbGUpO1xuICB9XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDYwMDAwIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGxldCBiYWNrbGlua3M6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+ID0gbnVsbCBhcyB1bmtub3duIGFzIEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+O1xuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUpO1xuICAgIGF3YWl0IGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHApO1xuICAgIGJhY2tsaW5rcyA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBmaWxlKTtcbiAgICBmb3IgKGNvbnN0IG5vdGVQYXRoIG9mIGJhY2tsaW5rcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IG5vdGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgbm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKG5vdGUpO1xuICAgICAgY29uc3QgZnJvbnRNYXR0ZXIgPSBwYXJzZUZyb250TWF0dGVyKGNvbnRlbnQpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKTtcbiAgICAgIGlmICghbGlua3MpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgbGV0IGFjdHVhbExpbms6IHN0cmluZztcbiAgICAgICAgaWYgKGlzUmVmZXJlbmNlQ2FjaGUobGluaykpIHtcbiAgICAgICAgICBhY3R1YWxMaW5rID0gY29udGVudC5zbGljZShsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCwgbGluay5wb3NpdGlvbi5lbmQub2Zmc2V0KTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Zyb250bWF0dGVyTGlua0NhY2hlKGxpbmspKSB7XG4gICAgICAgICAgY29uc3QgbGlua1ZhbHVlID0gZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZShmcm9udE1hdHRlciwgbGluay5rZXkpO1xuICAgICAgICAgIGlmICh0eXBlb2YgbGlua1ZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhY3R1YWxMaW5rID0gbGlua1ZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gYmFja2xpbmtzO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGJhY2tsaW5rcyBtYXAgZm9yIHRoZSBzcGVjaWZpZWQgZmlsZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZXMgLSBUaGUgcGF0aHMgb3IgZmlsZXMgdG8gZ2V0IHRoZSBiYWNrbGlua3MgZm9yLlxuICogQHBhcmFtIHJldHJ5T3B0aW9ucyAtIE9wdGlvbmFsIHJldHJ5IG9wdGlvbnMuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIG1hcCBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NNYXAoYXBwOiBBcHAsIHBhdGhPckZpbGVzOiBQYXRoT3JGaWxlW10sIHJldHJ5T3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0ge30pOiBQcm9taXNlPE1hcDxzdHJpbmcsIFJlZmVyZW5jZVtdPj4ge1xuICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgUmVmZXJlbmNlW10+KCk7XG4gIGZvciAoY29uc3QgcGF0aE9yRmlsZSBvZiBwYXRoT3JGaWxlcykge1xuICAgIGNvbnN0IGN1c3RvbUFycmF5RGljdCA9IGF3YWl0IGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlKGFwcCwgcGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zKTtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgY3VzdG9tQXJyYXlEaWN0LmtleXMoKSkge1xuICAgICAgY29uc3QgbWFwTGlua3MgPSBtYXAuZ2V0KHBhdGgpID8/IFtdO1xuICAgICAgY29uc3QgcGF0aExpbmtzID0gY3VzdG9tQXJyYXlEaWN0LmdldChwYXRoKSA/PyBbXTtcbiAgICAgIG1hcExpbmtzLnB1c2goLi4ucGF0aExpbmtzKTtcbiAgICAgIG1hcC5zZXQocGF0aCwgbWFwTGlua3MpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbWFwO1xufVxuXG4vKipcbiAqIFNhdmVzIHRoZSBzcGVjaWZpZWQgbm90ZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgbm90ZSB0byBiZSBzYXZlZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG5vdGUgaXMgc2F2ZWQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHNhdmVOb3RlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghaXNNYXJrZG93bkZpbGUocGF0aE9yRmlsZSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwYXRoID0gZ2V0UGF0aChwYXRoT3JGaWxlKTtcblxuICBmb3IgKGNvbnN0IGxlYWYgb2YgYXBwLndvcmtzcGFjZS5nZXRMZWF2ZXNPZlR5cGUoJ21hcmtkb3duJykpIHtcbiAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCBsZWFmLnZpZXcuc2F2ZSgpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZnJvbnQgbWF0dGVyIGZyb20gdGhlIG1ldGFkYXRhIGNhY2hlIHNhZmVseS5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250TWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJldHJpZXZlIHRoZSBmcm9udCBtYXR0ZXIgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBjb21iaW5lZCBmcm9udCBtYXR0ZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGcm9udE1hdHRlclNhZmU8Q3VzdG9tRnJvbnRNYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q29tYmluZWRGcm9udE1hdHRlcjxDdXN0b21Gcm9udE1hdHRlcj4+IHtcbiAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgcmV0dXJuIChjYWNoZT8uZnJvbnRtYXR0ZXIgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+O1xufVxuXG4vKipcbiAqIFRlbXBvcmFyaWx5IHJlZ2lzdGVycyBhIGZpbGUgYW5kIHJ1bnMgYSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gdGVtcG9yYXJpbHkgcmVnaXN0ZXIuXG4gKiBAcGFyYW0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gcnVuLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuPFQ+KGFwcDogQXBwLCBmaWxlOiBUQWJzdHJhY3RGaWxlLCBmbjogKCkgPT4gVCk6IFQge1xuICBjb25zdCB1bnJlZ2lzdGVyID0gcmVnaXN0ZXJGaWxlKGFwcCwgZmlsZSk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBmaW5hbGx5IHtcbiAgICB1bnJlZ2lzdGVyKCk7XG4gIH1cbn1cblxuLyoqKlxuICogUmVnaXN0ZXJzIGEgZmlsZSBpbiB0aGUgT2JzaWRpYW4gYXBwLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGUgLSBUaGUgZmlsZSB0byByZWdpc3Rlci5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdGhhdCB1bnJlZ2lzdGVycyB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZShhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSk6ICgpID0+IHZvaWQge1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHJldHVybiBub29wO1xuICB9XG5cbiAgY29uc3QgZGVsZXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBkZWxldGVkRmlsZTogVEFic3RyYWN0RmlsZSA9IGZpbGU7XG5cbiAgd2hpbGUgKGRlbGV0ZWRGaWxlLmRlbGV0ZWQpIHtcbiAgICBkZWxldGVkUGF0aHMucHVzaChkZWxldGVkRmlsZS5wYXRoKTtcbiAgICBhcHAudmF1bHQuZmlsZU1hcFtkZWxldGVkRmlsZS5wYXRoXSA9IGRlbGV0ZWRGaWxlO1xuICAgIGRlbGV0ZWRGaWxlID0gZGVsZXRlZEZpbGUucGFyZW50ID8/IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZGVsZXRlZEZpbGUucGF0aCksIHRydWUpO1xuICB9XG5cbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgfVxuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIGRlbGV0ZWRQYXRocykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZVxuICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW3BhdGhdO1xuICAgIH1cblxuICAgIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IHRoZSBtZXRhZGF0YSBjYWNoZSBpcyByZWFkeSBmb3IgYWxsIGZpbGVzLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtZXRhZGF0YSBjYWNoZSBpcyByZWFkeS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHA6IEFwcCk6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IFtwYXRoLCBjYWNoZV0gb2YgT2JqZWN0LmVudHJpZXMoYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlKSkge1xuICAgIGlmICghY2FjaGUuaGFzaCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbY2FjaGUuaGFzaF0pIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGF3YWl0IGdldENhY2hlU2FmZShhcHAsIHBhdGgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
252
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gTWV0YWRhdGFDYWNoZVxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHsgTWFya2Rvd25WaWV3IH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udE1hdHRlciB9IGZyb20gJy4vRnJvbnRNYXR0ZXIudHMnO1xuXG5pbXBvcnQgeyByZXRyeVdpdGhUaW1lb3V0IH0gZnJvbSAnLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldE5lc3RlZFByb3BlcnR5VmFsdWUgfSBmcm9tICcuLi9PYmplY3QudHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0ZpbGUsXG4gIGlzTWFya2Rvd25GaWxlXG59IGZyb20gJy4vRmlsZVN5c3RlbS50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250TWF0dGVyIH0gZnJvbSAnLi9Gcm9udE1hdHRlci50cyc7XG5pbXBvcnQgeyBzb3J0UmVmZXJlbmNlcyB9IGZyb20gJy4vUmVmZXJlbmNlLnRzJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgYSBnaXZlbiBmaWxlIG9yIHBhdGguXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZU9yUGF0aCAtIFRoZSBmaWxlIG9yIHBhdGggdG8gcmV0cmlldmUgdGhlIG1ldGFkYXRhIGZvci5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zIGZvciB0aGUgcmV0cmlldmFsIHByb2Nlc3MuXG4gKiBAcmV0dXJucyBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgbnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q2FjaGVTYWZlKGFwcDogQXBwLCBmaWxlT3JQYXRoOiBQYXRoT3JGaWxlLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxDYWNoZWRNZXRhZGF0YSB8IG51bGw+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGNhY2hlOiBDYWNoZWRNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgZmlsZU9yUGF0aCk7XG5cbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICBjYWNoZSA9IG51bGw7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBzYXZlTm90ZShhcHAsIGZpbGUpO1xuXG4gICAgY29uc3QgZmlsZUluZm8gPSBhcHAubWV0YWRhdGFDYWNoZS5nZXRGaWxlSW5mbyhmaWxlLnBhdGgpO1xuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBhcHAudmF1bHQuYWRhcHRlci5zdGF0KGZpbGUucGF0aCk7XG5cbiAgICBpZiAoIWZpbGVJbmZvKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBGaWxlIGNhY2hlIGluZm8gZm9yICR7ZmlsZS5wYXRofSBpcyBtaXNzaW5nYCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghc3RhdCkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBzdGF0IGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoZmlsZS5zdGF0Lm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgYXBwLnZhdWx0Lm9uQ2hhbmdlKCdtb2RpZmllZCcsIGZpbGUucGF0aCwgdW5kZWZpbmVkLCBzdGF0KTtcbiAgICAgIGNvbnNvbGUuZGVidWcoYENhY2hlZCB0aW1lc3RhbXAgZm9yICR7ZmlsZS5wYXRofSBpcyBmcm9tICR7bmV3IERhdGUoZmlsZS5zdGF0Lm10aW1lKS50b1N0cmluZygpfSB3aGljaCBpcyBvbGRlciB0aGFuIHRoZSBmaWxlIHN5c3RlbSBtb2RpZmljYXRpb24gdGltZXN0YW1wICR7bmV3IERhdGUoc3RhdC5tdGltZSkudG9TdHJpbmcoKX1gKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGVJbmZvLm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGVJbmZvLm10aW1lKS50b1N0cmluZygpfSB3aGljaCBpcyBvbGRlciB0aGFuIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgJHtuZXcgRGF0ZShzdGF0Lm10aW1lKS50b1N0cmluZygpfWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgICAgIGlmICghY2FjaGUpIHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9LCBvdmVycmlkZGVuT3B0aW9ucyk7XG5cbiAgcmV0dXJuIGNhY2hlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgbGlua3MgZnJvbSB0aGUgcHJvdmlkZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIGNhY2hlIC0gVGhlIGNhY2hlZCBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlZmVyZW5jZSBjYWNoZXMgcmVwcmVzZW50aW5nIHRoZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbExpbmtzKGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IFJlZmVyZW5jZVtdIHtcbiAgbGV0IGxpbmtzOiBSZWZlcmVuY2VbXSA9IFtdO1xuXG4gIGlmIChjYWNoZS5saW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUubGlua3MpO1xuICB9XG5cbiAgaWYgKGNhY2hlLmVtYmVkcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZW1iZWRzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5mcm9udG1hdHRlckxpbmtzKSB7XG4gICAgbGlua3MucHVzaCguLi5jYWNoZS5mcm9udG1hdHRlckxpbmtzKTtcbiAgfVxuXG4gIHNvcnRSZWZlcmVuY2VzKGxpbmtzKTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgbGlua3MgPSBsaW5rcy5maWx0ZXIoKGxpbmssIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91c0xpbmsgPSBsaW5rc1tpbmRleCAtIDFdO1xuICAgIGlmICghcHJldmlvdXNMaW5rKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSAmJiBpc1JlZmVyZW5jZUNhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAhPT0gcHJldmlvdXNMaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSAmJiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLmtleSAhPT0gcHJldmlvdXNMaW5rLmtleTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIHRoZSBnZXRCYWNrbGlua3NGb3JGaWxlIG1ldGhvZCB0aGF0IHByb3ZpZGVzIGEgc2FmZSBvdmVybG9hZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRCYWNrbGlua3NGb3JGaWxlU2FmZVdyYXBwZXIge1xuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBzYWZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IGRpY3Rpb25hcnkgb2YgYmFja2xpbmtzLlxuICAgKi9cbiAgc2FmZShwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTxDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPj47XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICogTk9URTogVGhlIGZpbGUgbWF5IGJlIG5vbi1leGlzdGVudC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBiYWNrbGlua3MgZm9yIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlLCB0cnVlKTtcbiAgcmV0dXJuIHRlbXBSZWdpc3RlckZpbGVBbmRSdW4oYXBwLCBmaWxlLCAoKSA9PiBhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlKGZpbGUpKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4+IHtcbiAgY29uc3Qgc2FmZU92ZXJsb2FkID0gKGFwcC5tZXRhZGF0YUNhY2hlLmdldEJhY2tsaW5rc0ZvckZpbGUgYXMgUGFydGlhbDxHZXRCYWNrbGlua3NGb3JGaWxlU2FmZVdyYXBwZXI+KS5zYWZlO1xuICBpZiAoc2FmZU92ZXJsb2FkKSB7XG4gICAgcmV0dXJuIHNhZmVPdmVybG9hZChwYXRoT3JGaWxlKTtcbiAgfVxuICBjb25zdCBERUZBVUxUX1JFVFJZX09QVElPTlM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgdGltZW91dEluTWlsbGlzZWNvbmRzOiA2MDAwMCB9O1xuICBjb25zdCBvdmVycmlkZGVuT3B0aW9uczogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyAuLi5ERUZBVUxUX1JFVFJZX09QVElPTlMsIC4uLnJldHJ5T3B0aW9ucyB9O1xuICBsZXQgYmFja2xpbmtzOiBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPiA9IG51bGwgYXMgdW5rbm93biBhcyBDdXN0b21BcnJheURpY3Q8UmVmZXJlbmNlPjtcbiAgYXdhaXQgcmV0cnlXaXRoVGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBhd2FpdCBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwKTtcbiAgICBiYWNrbGlua3MgPSBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoKGFwcCwgZmlsZSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gZ2V0RmlsZU9yTnVsbChhcHAsIG5vdGVQYXRoKTtcbiAgICAgIGlmICghbm90ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgbm90ZSk7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBhcHAudmF1bHQucmVhZChub3RlKTtcbiAgICAgIGNvbnN0IGZyb250TWF0dGVyID0gcGFyc2VGcm9udE1hdHRlcihjb250ZW50KTtcbiAgICAgIGNvbnN0IGxpbmtzID0gYmFja2xpbmtzLmdldChub3RlUGF0aCk7XG4gICAgICBpZiAoIWxpbmtzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICAgIGxldCBhY3R1YWxMaW5rOiBzdHJpbmc7XG4gICAgICAgIGlmIChpc1JlZmVyZW5jZUNhY2hlKGxpbmspKSB7XG4gICAgICAgICAgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSkge1xuICAgICAgICAgIGNvbnN0IGxpbmtWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRNYXR0ZXIsIGxpbmsua2V5KTtcbiAgICAgICAgICBpZiAodHlwZW9mIGxpbmtWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYWN0dWFsTGluayA9IGxpbmtWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0dWFsTGluayAhPT0gbGluay5vcmlnaW5hbCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9LCBvdmVycmlkZGVuT3B0aW9ucyk7XG5cbiAgcmV0dXJuIGJhY2tsaW5rcztcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBiYWNrbGlua3MgbWFwIGZvciB0aGUgc3BlY2lmaWVkIGZpbGVzLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGVzIC0gVGhlIHBhdGhzIG9yIGZpbGVzIHRvIGdldCB0aGUgYmFja2xpbmtzIGZvci5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBtYXAgb2YgYmFja2xpbmtzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFja2xpbmtzTWFwKGFwcDogQXBwLCBwYXRoT3JGaWxlczogUGF0aE9yRmlsZVtdLCByZXRyeU9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHt9KTogUHJvbWlzZTxNYXA8c3RyaW5nLCBSZWZlcmVuY2VbXT4+IHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlZmVyZW5jZVtdPigpO1xuICBmb3IgKGNvbnN0IHBhdGhPckZpbGUgb2YgcGF0aE9yRmlsZXMpIHtcbiAgICBjb25zdCBjdXN0b21BcnJheURpY3QgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIHBhdGhPckZpbGUsIHJldHJ5T3B0aW9ucyk7XG4gICAgZm9yIChjb25zdCBwYXRoIG9mIGN1c3RvbUFycmF5RGljdC5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IG1hcExpbmtzID0gbWFwLmdldChwYXRoKSA/PyBbXTtcbiAgICAgIGNvbnN0IHBhdGhMaW5rcyA9IGN1c3RvbUFycmF5RGljdC5nZXQocGF0aCkgPz8gW107XG4gICAgICBtYXBMaW5rcy5wdXNoKC4uLnBhdGhMaW5rcyk7XG4gICAgICBtYXAuc2V0KHBhdGgsIG1hcExpbmtzKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1hcDtcbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgc3BlY2lmaWVkIG5vdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIG5vdGUgdG8gYmUgc2F2ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYXZlTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKCdtYXJrZG93bicpKSB7XG4gICAgaWYgKGxlYWYudmlldyBpbnN0YW5jZW9mIE1hcmtkb3duVmlldyAmJiBsZWFmLnZpZXcuZmlsZT8ucGF0aCA9PT0gcGF0aCkge1xuICAgICAgYXdhaXQgbGVhZi52aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udE1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRNYXR0ZXJTYWZlPEN1c3RvbUZyb250TWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPjtcbn1cblxuLyoqXG4gKiBUZW1wb3JhcmlseSByZWdpc3RlcnMgYSBmaWxlIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRlbXBvcmFyaWx5IHJlZ2lzdGVyLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJ1bi5cbiAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bjxUPihhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSwgZm46ICgpID0+IFQpOiBUIHtcbiAgY29uc3QgdW5yZWdpc3RlciA9IHJlZ2lzdGVyRmlsZShhcHAsIGZpbGUpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlcigpO1xuICB9XG59XG5cbi8qKipcbiAqIFJlZ2lzdGVycyBhIGZpbGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gcmVnaXN0ZXIuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckZpbGUoYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUpOiAoKSA9PiB2b2lkIHtcbiAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICByZXR1cm4gbm9vcDtcbiAgfVxuXG4gIGNvbnN0IGRlbGV0ZWRQYXRoczogc3RyaW5nW10gPSBbXTtcblxuICBsZXQgZGVsZXRlZEZpbGU6IFRBYnN0cmFjdEZpbGUgPSBmaWxlO1xuXG4gIHdoaWxlIChkZWxldGVkRmlsZS5kZWxldGVkKSB7XG4gICAgZGVsZXRlZFBhdGhzLnB1c2goZGVsZXRlZEZpbGUucGF0aCk7XG4gICAgYXBwLnZhdWx0LmZpbGVNYXBbZGVsZXRlZEZpbGUucGF0aF0gPSBkZWxldGVkRmlsZTtcbiAgICBkZWxldGVkRmlsZSA9IGRlbGV0ZWRGaWxlLnBhcmVudCA/PyBnZXRGb2xkZXIoYXBwLCBwYXJlbnRGb2xkZXJQYXRoKGRlbGV0ZWRGaWxlLnBhdGgpLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICBhcHAubWV0YWRhdGFDYWNoZS51bmlxdWVGaWxlTG9va3VwLmFkZChmaWxlLm5hbWUudG9Mb3dlckNhc2UoKSwgZmlsZSk7XG4gIH1cblxuICByZXR1cm4gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgcGF0aCBvZiBkZWxldGVkUGF0aHMpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGVcbiAgICAgIGRlbGV0ZSBhcHAudmF1bHQuZmlsZU1hcFtwYXRoXTtcbiAgICB9XG5cbiAgICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgICBhcHAubWV0YWRhdGFDYWNoZS51bmlxdWVGaWxlTG9va3VwLnJlbW92ZShmaWxlLm5hbWUudG9Mb3dlckNhc2UoKSwgZmlsZSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkgZm9yIGFsbCBmaWxlcy5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbWV0YWRhdGEgY2FjaGUgaXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBbcGF0aCwgY2FjaGVdIG9mIE9iamVjdC5lbnRyaWVzKGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVDYWNoZSkpIHtcbiAgICBpZiAoIWNhY2hlLmhhc2gpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChhcHAubWV0YWRhdGFDYWNoZS5tZXRhZGF0YUNhY2hlW2NhY2hlLmhhc2hdKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
@@ -41,14 +41,17 @@ class AlertModal extends import_obsidian.Modal {
|
|
41
41
|
this.resolve = resolve;
|
42
42
|
const DEFAULT_OPTIONS = {
|
43
43
|
app: options.app,
|
44
|
-
title: "",
|
45
44
|
message: "",
|
45
|
+
okButtonStyles: {},
|
46
46
|
okButtonText: "OK",
|
47
|
-
|
47
|
+
title: ""
|
48
48
|
};
|
49
49
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
50
50
|
}
|
51
51
|
options;
|
52
|
+
onClose() {
|
53
|
+
this.resolve();
|
54
|
+
}
|
52
55
|
onOpen() {
|
53
56
|
this.titleEl.setText(this.options.title);
|
54
57
|
const paragraph = this.contentEl.createEl("p");
|
@@ -59,12 +62,9 @@ class AlertModal extends import_obsidian.Modal {
|
|
59
62
|
okButton.onClick(this.close.bind(this));
|
60
63
|
Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
|
61
64
|
}
|
62
|
-
onClose() {
|
63
|
-
this.resolve();
|
64
|
-
}
|
65
65
|
}
|
66
66
|
// Annotate the CommonJS export names for ESM import in node:
|
67
67
|
0 && (module.exports = {
|
68
68
|
alert
|
69
69
|
});
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
70
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0FsZXJ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBbGVydFxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhbGVydCBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIGFuIFwiT0tcIiBidXR0b24gdG8gY2xvc2UgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgTW9kYWxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgYWxlcnQgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwuXG4gICAqL1xuICBtZXNzYWdlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25TdHlsZXM/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gYWxlcnQgbW9kYWwgaW4gT2JzaWRpYW4gd2l0aCBhIHNwZWNpZmllZCBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBhbGVydCBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFsZXJ0KG9wdGlvbnM6IEFsZXJ0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBBbGVydE1vZGFsKG9wdGlvbnMsIHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG5cbmNsYXNzIEFsZXJ0TW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gIHByaXZhdGUgb3B0aW9uczogUmVxdWlyZWQ8QWxlcnRPcHRpb25zPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQWxlcnRPcHRpb25zLCBwcml2YXRlIHJlc29sdmU6ICgpID0+IHZvaWQpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxBbGVydE9wdGlvbnM+ID0ge1xuICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgb2tCdXR0b25TdHlsZXM6IHt9LFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgdGl0bGU6ICcnXG4gICAgfTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgcGFyYWdyYXBoID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnKTtcbiAgICBwYXJhZ3JhcGguc2V0VGV4dCh0aGlzLm9wdGlvbnMubWVzc2FnZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBPYmplY3QuYXNzaWduKG9rQnV0dG9uLmJ1dHRvbkVsLnN0eWxlLCB0aGlzLm9wdGlvbnMub2tCdXR0b25TdHlsZXMpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBLHNCQUdPO0FBc0NQLGVBQXNCLE1BQU0sU0FBc0M7QUFDaEUsU0FBTyxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sUUFBUSxJQUFJLFdBQVcsU0FBUyxPQUFPO0FBQzdDLFVBQU0sS0FBSztBQUFBLEVBQ2IsQ0FBQztBQUNIO0FBRUEsTUFBTSxtQkFBbUIsc0JBQU07QUFBQSxFQUd0QixZQUFZLFNBQStCLFNBQXFCO0FBQ3JFLFVBQU0sUUFBUSxHQUFHO0FBRCtCO0FBRWhELFVBQU0sa0JBQTBDO0FBQUEsTUFDOUMsS0FBSyxRQUFRO0FBQUEsTUFDYixTQUFTO0FBQUEsTUFDVCxnQkFBZ0IsQ0FBQztBQUFBLE1BQ2pCLGNBQWM7QUFBQSxNQUNkLE9BQU87QUFBQSxJQUNUO0FBQ0EsU0FBSyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBQUEsRUFDbEQ7QUFBQSxFQVpRO0FBQUEsRUFjUSxVQUFnQjtBQUM5QixTQUFLLFFBQVE7QUFBQSxFQUNmO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxVQUFNLFlBQVksS0FBSyxVQUFVLFNBQVMsR0FBRztBQUM3QyxjQUFVLFFBQVEsS0FBSyxRQUFRLE9BQU87QUFDdEMsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDaEQsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDdEMsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQUEsRUFDcEU7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -14,21 +14,21 @@ export interface AlertOptions {
|
|
14
14
|
*/
|
15
15
|
app: App;
|
16
16
|
/**
|
17
|
-
* The
|
17
|
+
* The message to display in the modal.
|
18
18
|
*/
|
19
|
-
|
19
|
+
message: DocumentFragment | string;
|
20
20
|
/**
|
21
|
-
* The
|
21
|
+
* The styles to apply to the "OK" button.
|
22
22
|
*/
|
23
|
-
|
23
|
+
okButtonStyles?: Partial<CSSStyleDeclaration>;
|
24
24
|
/**
|
25
25
|
* The text for the "OK" button.
|
26
26
|
*/
|
27
27
|
okButtonText?: string;
|
28
28
|
/**
|
29
|
-
* The
|
29
|
+
* The title of the modal.
|
30
30
|
*/
|
31
|
-
|
31
|
+
title?: DocumentFragment | string;
|
32
32
|
}
|
33
33
|
/**
|
34
34
|
* Displays an alert modal in Obsidian with a specified message.
|