obsidian-typings 2.3.0 → 2.3.2
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/README.md +3 -3
- package/dist/implementations.cjs +1 -198
- package/dist/implementations.d.ts +0 -3887
- package/dist/obsidian-typings.api.json +45 -0
- package/dist/types.d.ts +529 -523
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
|
|
26
26
|
<div align="center">
|
|
27
27
|
<h4>
|
|
28
|
-
<a href="https://github.
|
|
28
|
+
<a href="https://fevol.github.io/obsidian-typings">WEBSITE</a>
|
|
29
29
|
<span> · </span>
|
|
30
|
-
<a href="https://github.
|
|
30
|
+
<a href="https://fevol.github.io/obsidian-typings/resources/obsidian-typings-changelog">CHANGELOG</a>
|
|
31
31
|
<span> · </span>
|
|
32
32
|
<a href="https://www.npmjs.com/package/obsidian-typings">NPM</a>
|
|
33
33
|
<span> · </span>
|
|
34
|
-
<a href="https://github.
|
|
34
|
+
<a href="https://fevol.github.io/obsidian-typings/contributing">CONTRIBUTING</a>
|
|
35
35
|
|
|
36
36
|
</h4>
|
|
37
37
|
</div>
|
package/dist/implementations.cjs
CHANGED
|
@@ -3,201 +3,4 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
|
-
|
|
7
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
-
|
|
24
|
-
// src/obsidian/implementations/index.ts
|
|
25
|
-
var implementations_exports = {};
|
|
26
|
-
__export(implementations_exports, {
|
|
27
|
-
CustomArrayDictImpl: () => CustomArrayDictImpl,
|
|
28
|
-
InternalPluginName: () => InternalPluginName,
|
|
29
|
-
constructApp: () => constructApp,
|
|
30
|
-
constructInternalPlugin: () => constructInternalPlugin,
|
|
31
|
-
constructInternalPlugins: () => constructInternalPlugins,
|
|
32
|
-
constructTFile: () => constructTFile,
|
|
33
|
-
constructTFolder: () => constructTFolder,
|
|
34
|
-
createTFileInstance: () => createTFileInstance,
|
|
35
|
-
createTFolderInstance: () => createTFolderInstance,
|
|
36
|
-
isEmbedCache: () => isEmbedCache,
|
|
37
|
-
isFrontmatterLinkCache: () => isFrontmatterLinkCache,
|
|
38
|
-
isLinkCache: () => isLinkCache,
|
|
39
|
-
isReferenceCache: () => isReferenceCache,
|
|
40
|
-
parentFolderPath: () => parentFolderPath
|
|
41
|
-
});
|
|
42
|
-
module.exports = __toCommonJS(implementations_exports);
|
|
43
|
-
|
|
44
|
-
// src/obsidian/implementations/PathUtils.ts
|
|
45
|
-
function parentFolderPath(path) {
|
|
46
|
-
return path.replace(/\/?[^\/]*$/, "") || "/";
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// src/obsidian/implementations/Constructors/constructTFolder.ts
|
|
50
|
-
var import_obsidian = require("obsidian");
|
|
51
|
-
function constructTFolder(vault, path) {
|
|
52
|
-
return new import_obsidian.TFolder(vault, path);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// src/obsidian/implementations/createTFolderInstance.ts
|
|
56
|
-
function createTFolderInstance(vault, path) {
|
|
57
|
-
let folder = vault.getFolderByPath(path);
|
|
58
|
-
if (folder) {
|
|
59
|
-
return folder;
|
|
60
|
-
}
|
|
61
|
-
folder = constructTFolder(vault, path);
|
|
62
|
-
folder.parent = createTFolderInstance(vault, parentFolderPath(path));
|
|
63
|
-
folder.deleted = true;
|
|
64
|
-
return folder;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// src/obsidian/implementations/CustomArrayDictImpl.ts
|
|
68
|
-
var CustomArrayDictImpl = class {
|
|
69
|
-
data = /* @__PURE__ */ new Map();
|
|
70
|
-
add(key, value) {
|
|
71
|
-
let values = this.get(key);
|
|
72
|
-
if (!values) {
|
|
73
|
-
values = [];
|
|
74
|
-
this.data.set(key, []);
|
|
75
|
-
}
|
|
76
|
-
if (!values.includes(value)) {
|
|
77
|
-
values.push(value);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
remove(key, value) {
|
|
81
|
-
const values = this.get(key);
|
|
82
|
-
if (!values) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
values.remove(value);
|
|
86
|
-
if (values.length === 0) {
|
|
87
|
-
this.clear(key);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
get(key) {
|
|
91
|
-
return this.data.get(key) || null;
|
|
92
|
-
}
|
|
93
|
-
keys() {
|
|
94
|
-
return Array.from(this.data.keys());
|
|
95
|
-
}
|
|
96
|
-
clear(key) {
|
|
97
|
-
this.data.delete(key);
|
|
98
|
-
}
|
|
99
|
-
clearAll() {
|
|
100
|
-
this.data.clear();
|
|
101
|
-
}
|
|
102
|
-
contains(key, value) {
|
|
103
|
-
return !!this.get(key)?.contains(value);
|
|
104
|
-
}
|
|
105
|
-
count() {
|
|
106
|
-
let ans = 0;
|
|
107
|
-
for (const key in this.keys()) {
|
|
108
|
-
ans += this.get(key)?.length ?? 0;
|
|
109
|
-
}
|
|
110
|
-
return ans;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// src/obsidian/implementations/InternalPluginName.ts
|
|
115
|
-
var InternalPluginName = {
|
|
116
|
-
AudioRecorder: "audio-recorder",
|
|
117
|
-
Backlink: "backlink",
|
|
118
|
-
Bookmarks: "bookmarks",
|
|
119
|
-
Canvas: "canvas",
|
|
120
|
-
CommandPalette: "command-palette",
|
|
121
|
-
DailyNotes: "daily-notes",
|
|
122
|
-
EditorStatus: "editor-status",
|
|
123
|
-
FileExplorer: "file-explorer",
|
|
124
|
-
FileRecovery: "file-recovery",
|
|
125
|
-
GlobalSearch: "global-search",
|
|
126
|
-
Graph: "graph",
|
|
127
|
-
MarkdownImporter: "markdown-importer",
|
|
128
|
-
NoteComposer: "note-composer",
|
|
129
|
-
OutgoingLink: "outgoing-link",
|
|
130
|
-
Outline: "outline",
|
|
131
|
-
PagePreview: "page-preview",
|
|
132
|
-
Properties: "properties",
|
|
133
|
-
Publish: "publish",
|
|
134
|
-
RandomNote: "random-note",
|
|
135
|
-
SlashCommand: "slash-command",
|
|
136
|
-
Slides: "slides",
|
|
137
|
-
Switcher: "switcher",
|
|
138
|
-
Sync: "sync",
|
|
139
|
-
TagPane: "tag-pane",
|
|
140
|
-
Templates: "templates",
|
|
141
|
-
WordCount: "word-count",
|
|
142
|
-
Workspaces: "workspaces",
|
|
143
|
-
ZkPrefixer: "zk-prefixer"
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// src/obsidian/implementations/Constructors/constructTFile.ts
|
|
147
|
-
var import_obsidian2 = require("obsidian");
|
|
148
|
-
function constructTFile(vault, path) {
|
|
149
|
-
return new import_obsidian2.TFile(vault, path);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// src/obsidian/implementations/createTFileInstance.ts
|
|
153
|
-
function createTFileInstance(vault, path) {
|
|
154
|
-
let file = vault.getFileByPath(path);
|
|
155
|
-
if (file) {
|
|
156
|
-
return file;
|
|
157
|
-
}
|
|
158
|
-
file = constructTFile(vault, path);
|
|
159
|
-
file.parent = createTFolderInstance(vault, parentFolderPath(path));
|
|
160
|
-
file.deleted = true;
|
|
161
|
-
return file;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// src/obsidian/implementations/TypeGuards/isReferenceCache.ts
|
|
165
|
-
function isReferenceCache(reference) {
|
|
166
|
-
return !!reference.position;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// src/obsidian/implementations/TypeGuards/isEmbedCache.ts
|
|
170
|
-
function isEmbedCache(reference) {
|
|
171
|
-
return isReferenceCache(reference) && reference.original[0] === "!";
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
|
|
175
|
-
function isFrontmatterLinkCache(reference) {
|
|
176
|
-
return !!reference.key;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// src/obsidian/implementations/TypeGuards/isLinkCache.ts
|
|
180
|
-
function isLinkCache(reference) {
|
|
181
|
-
return isReferenceCache(reference) && reference.original[0] !== "!";
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// src/obsidian/implementations/Constructors/constructInternalPlugins.ts
|
|
185
|
-
function constructInternalPlugins(app) {
|
|
186
|
-
return new app.internalPlugins.constructor(app);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// src/obsidian/implementations/Constructors/constructInternalPlugin.ts
|
|
190
|
-
function constructInternalPlugin(app, instance, internalPlugins) {
|
|
191
|
-
const anyPlugin = Object.values(app.internalPlugins.plugins)[0];
|
|
192
|
-
if (!anyPlugin) {
|
|
193
|
-
throw new Error("No internal plugin found");
|
|
194
|
-
}
|
|
195
|
-
return new anyPlugin.constructor(app, instance, internalPlugins);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// src/obsidian/implementations/Constructors/constructApp.ts
|
|
199
|
-
var import_obsidian3 = require("obsidian");
|
|
200
|
-
function constructApp(adapter, appId) {
|
|
201
|
-
return new import_obsidian3.App(adapter, appId);
|
|
202
|
-
}
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1BhdGhVdGlscy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzUmVmZXJlbmNlQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzRW1iZWRDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNGcm9udG1hdHRlckxpbmtDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNMaW5rQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vUGF0aFV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGaWxlSW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzRW1iZWRDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNGcm9udG1hdHRlckxpbmtDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNSZWZlcmVuY2VDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNMaW5rQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW4uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJlbnRGb2xkZXJQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXFwvP1teXFwvXSokLywgJycpIHx8ICcvJztcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURm9sZGVyO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgVEZvbGRlciBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZvbGRlciBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIFRGb2xkZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgcmV0dXJuIG5ldyAoVEZvbGRlciBhcyBURm9sZGVyQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBjb25zdHJ1Y3RURm9sZGVyIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgbGV0IGZvbGRlciA9IHZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gY29uc3RydWN0VEZvbGRlcih2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUFycmF5RGljdEltcGw8VD4gaW1wbGVtZW50cyBDdXN0b21BcnJheURpY3Q8VD4ge1xuICAgIHB1YmxpYyBkYXRhOiBNYXA8c3RyaW5nLCBUW10+ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghdmFsdWVzKSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZGF0YS5zZXQoa2V5LCBbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghdmFsdWVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzLnJlbW92ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBUW10gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5nZXQoa2V5KSB8fCBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5kYXRhLmtleXMoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YS5kZWxldGUoa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YS5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250YWlucyhrZXk6IHN0cmluZywgdmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5nZXQoa2V5KT8uY29udGFpbnModmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgYW5zID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5rZXlzKCkpIHtcbiAgICAgICAgICAgIGFucyArPSB0aGlzLmdldChrZXkpPy5sZW5ndGggPz8gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbnM7XG4gICAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBJbnRlcm5hbFBsdWdpbk5hbWUgPSB7XG4gICAgQXVkaW9SZWNvcmRlcjogJ2F1ZGlvLXJlY29yZGVyJyxcbiAgICBCYWNrbGluazogJ2JhY2tsaW5rJyxcbiAgICBCb29rbWFya3M6ICdib29rbWFya3MnLFxuICAgIENhbnZhczogJ2NhbnZhcycsXG4gICAgQ29tbWFuZFBhbGV0dGU6ICdjb21tYW5kLXBhbGV0dGUnLFxuICAgIERhaWx5Tm90ZXM6ICdkYWlseS1ub3RlcycsXG4gICAgRWRpdG9yU3RhdHVzOiAnZWRpdG9yLXN0YXR1cycsXG4gICAgRmlsZUV4cGxvcmVyOiAnZmlsZS1leHBsb3JlcicsXG4gICAgRmlsZVJlY292ZXJ5OiAnZmlsZS1yZWNvdmVyeScsXG4gICAgR2xvYmFsU2VhcmNoOiAnZ2xvYmFsLXNlYXJjaCcsXG4gICAgR3JhcGg6ICdncmFwaCcsXG4gICAgTWFya2Rvd25JbXBvcnRlcjogJ21hcmtkb3duLWltcG9ydGVyJyxcbiAgICBOb3RlQ29tcG9zZXI6ICdub3RlLWNvbXBvc2VyJyxcbiAgICBPdXRnb2luZ0xpbms6ICdvdXRnb2luZy1saW5rJyxcbiAgICBPdXRsaW5lOiAnb3V0bGluZScsXG4gICAgUGFnZVByZXZpZXc6ICdwYWdlLXByZXZpZXcnLFxuICAgIFByb3BlcnRpZXM6ICdwcm9wZXJ0aWVzJyxcbiAgICBQdWJsaXNoOiAncHVibGlzaCcsXG4gICAgUmFuZG9tTm90ZTogJ3JhbmRvbS1ub3RlJyxcbiAgICBTbGFzaENvbW1hbmQ6ICdzbGFzaC1jb21tYW5kJyxcbiAgICBTbGlkZXM6ICdzbGlkZXMnLFxuICAgIFN3aXRjaGVyOiAnc3dpdGNoZXInLFxuICAgIFN5bmM6ICdzeW5jJyxcbiAgICBUYWdQYW5lOiAndGFnLXBhbmUnLFxuICAgIFRlbXBsYXRlczogJ3RlbXBsYXRlcycsXG4gICAgV29yZENvdW50OiAnd29yZC1jb3VudCcsXG4gICAgV29ya3NwYWNlczogJ3dvcmtzcGFjZXMnLFxuICAgIFprUHJlZml4ZXI6ICd6ay1wcmVmaXhlcidcbn0gYXMgY29uc3Q7XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBURmlsZUNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURmlsZTtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IFRGaWxlIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSB2YXVsdCAtIFRoZSB2YXVsdCB0byB3aGljaCB0aGUgZmlsZSBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBURmlsZSBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdFRGaWxlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZpbGUge1xuICAgIHJldHVybiBuZXcgKFRGaWxlIGFzIFRGaWxlQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGaWxlLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY29uc3RydWN0VEZpbGUgfSBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyc7XG5pbXBvcnQgeyBjcmVhdGVURm9sZGVySW5zdGFuY2UgfSBmcm9tICcuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURmlsZSBldmVuIHRoZSB1bmRlcmx5aW5nIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZpbGVJbnN0YW5jZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICBsZXQgZmlsZSA9IHZhdWx0LmdldEZpbGVCeVBhdGgocGF0aCk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG4gICAgZmlsZSA9IGNvbnN0cnVjdFRGaWxlKHZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZmlsZS5kZWxldGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gZmlsZTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgUmVmZXJlbmNlLFxuICAgIFJlZmVyZW5jZUNhY2hlXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgUmVmZXJlbmNlQ2FjaGUge1xuICAgIHJldHVybiAhIShyZWZlcmVuY2UgYXMgUGFydGlhbDxSZWZlcmVuY2VDYWNoZT4pLnBvc2l0aW9uO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBFbWJlZENhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBpc1JlZmVyZW5jZUNhY2hlIH0gZnJvbSAnLi9pc1JlZmVyZW5jZUNhY2hlLnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1iZWRDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBFbWJlZENhY2hlIHtcbiAgICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2UpICYmIHJlZmVyZW5jZS5vcmlnaW5hbFswXSA9PT0gJyEnO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNGcm9udG1hdHRlckxpbmtDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBGcm9udG1hdHRlckxpbmtDYWNoZSB7XG4gICAgcmV0dXJuICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPEZyb250bWF0dGVyTGlua0NhY2hlPikua2V5O1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBMaW5rQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGlzUmVmZXJlbmNlQ2FjaGUgfSBmcm9tICcuL2lzUmVmZXJlbmNlQ2FjaGUudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNMaW5rQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgTGlua0NhY2hlIHtcbiAgICByZXR1cm4gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2UpICYmIHJlZmVyZW5jZS5vcmlnaW5hbFswXSAhPT0gJyEnO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbnMgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW4vSW50ZXJuYWxQbHVnaW5zLmpzJztcblxudHlwZSBJbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3RvciA9IG5ldyhhcHA6IEFwcCkgPT4gSW50ZXJuYWxQbHVnaW5zO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgSW50ZXJuYWxQbHVnaW5zIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEludGVybmFsUGx1Z2lucyBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEludGVybmFsUGx1Z2lucyhhcHA6IEFwcCk6IEludGVybmFsUGx1Z2lucyB7XG4gICAgcmV0dXJuIG5ldyAoYXBwLmludGVybmFsUGx1Z2lucy5jb25zdHJ1Y3RvciBhcyBJbnRlcm5hbFBsdWdpbnNDb25zdHJ1Y3RvcikoYXBwKTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW4gfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW4vSW50ZXJuYWxQbHVnaW4uanMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbnMgfSBmcm9tICcuLi8uLi9pbnRlcm5hbHMvSW50ZXJuYWxQbHVnaW4vSW50ZXJuYWxQbHVnaW5zLmpzJztcblxudHlwZSBJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yPEluc3RhbmNlPiA9IG5ldyhcbiAgICBhcHA6IEFwcCxcbiAgICBpbnN0YW5jZTogSW5zdGFuY2UsXG4gICAgaW50ZXJuYWxQbHVnaW5zOiBJbnRlcm5hbFBsdWdpbnNcbikgPT4gSW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+O1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgSW50ZXJuYWxQbHVnaW4gaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gaW5zdGFuY2UgLSBUaGUgaW5zdGFuY2Ugb2YgdGhlIHBsdWdpbi5cbiAqIEBwYXJhbSBpbnRlcm5hbFBsdWdpbnMgLSBUaGUgaW50ZXJuYWwgcGx1Z2lucyBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBJbnRlcm5hbFBsdWdpbiBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEludGVybmFsUGx1Z2luPEluc3RhbmNlPihcbiAgICBhcHA6IEFwcCxcbiAgICBpbnN0YW5jZTogSW5zdGFuY2UsXG4gICAgaW50ZXJuYWxQbHVnaW5zOiBJbnRlcm5hbFBsdWdpbnNcbik6IEludGVybmFsUGx1Z2luPEluc3RhbmNlPiB7XG4gICAgY29uc3QgYW55UGx1Z2luID0gT2JqZWN0LnZhbHVlcyhhcHAuaW50ZXJuYWxQbHVnaW5zLnBsdWdpbnMpWzBdO1xuICAgIGlmICghYW55UGx1Z2luKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW50ZXJuYWwgcGx1Z2luIGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgKGFueVBsdWdpbi5jb25zdHJ1Y3RvciBhcyBJbnRlcm5hbFBsdWdpbkNvbnN0cnVjdG9yPEluc3RhbmNlPikoYXBwLCBpbnN0YW5jZSwgaW50ZXJuYWxQbHVnaW5zKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIEFwcCxcbiAgICB0eXBlIERhdGFBZGFwdGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBBcHBDb25zdHJ1Y3RvciA9IG5ldyhhZGFwdGVyOiBEYXRhQWRhcHRlciwgYXBwSWQ6IHN0cmluZykgPT4gQXBwO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgQXBwIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSBhZGFwdGVyIC0gVGhlIGRhdGEgYWRhcHRlciB0byB1c2UuXG4gKiBAcGFyYW0gYXBwSWQgLSBUaGUgSUQgb2YgdGhlIGFwcC5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBBcHAgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RBcHAoYWRhcHRlcjogRGF0YUFkYXB0ZXIsIGFwcElkOiBzdHJpbmcpOiBBcHAge1xuICAgIHJldHVybiBuZXcgKEFwcCBhcyBBcHBDb25zdHJ1Y3RvcikoYWRhcHRlciwgYXBwSWQpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBTyxTQUFTLGlCQUFpQixNQUFzQjtBQUNuRCxTQUFPLEtBQUssUUFBUSxjQUFjLEVBQUUsS0FBSztBQUM3Qzs7O0FDRkEsc0JBR087QUFXQSxTQUFTLGlCQUFpQixPQUFjLE1BQXVCO0FB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
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
|