obsidian-dev-utils 2.26.3 → 3.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 +9 -0
- package/dist/lib/@types/compare-versions.d.ts +2 -2
- package/dist/lib/@types.cjs +11 -2
- package/dist/lib/Async.cjs +18 -7
- package/dist/lib/Async.d.ts +2 -2
- package/dist/lib/Blob.cjs +21 -6
- package/dist/lib/DocumentFragment.cjs +11 -2
- package/dist/lib/Error.cjs +20 -6
- package/dist/lib/Error.d.ts +7 -0
- package/dist/lib/Object.cjs +38 -5
- package/dist/lib/Object.d.ts +21 -0
- package/dist/lib/Path.cjs +14 -6
- package/dist/lib/Path.d.ts +1 -1
- package/dist/lib/RegExp.cjs +11 -2
- package/dist/lib/String.cjs +14 -4
- package/dist/lib/String.d.ts +4 -1
- package/dist/lib/ValueProvider.cjs +11 -2
- package/dist/lib/ValueProvider.d.ts +1 -1
- package/dist/lib/_dependencies.cjs +7734 -1266
- package/dist/lib/_dependencies.d.ts +4 -6
- package/dist/lib/index.cjs +14 -23
- package/dist/lib/index.d.ts +13 -19
- package/dist/lib/obsidian/App.cjs +13 -3
- package/dist/lib/obsidian/App.d.ts +1 -1
- package/dist/lib/obsidian/AttachmentPath.cjs +13 -4
- package/dist/lib/obsidian/AttachmentPath.d.ts +2 -2
- package/dist/lib/obsidian/Backlink.cjs +16 -6
- package/dist/lib/obsidian/Backlink.d.ts +7 -7
- package/dist/lib/obsidian/Callout.cjs +14 -4
- package/dist/lib/obsidian/Callout.d.ts +4 -4
- package/dist/lib/obsidian/Dataview.cjs +20 -9
- package/dist/lib/obsidian/Dataview.d.ts +22 -16
- package/dist/lib/obsidian/DataviewLink.cjs +12 -4
- package/dist/lib/obsidian/DataviewLink.d.ts +2 -2
- package/dist/lib/obsidian/FrontMatter.cjs +17 -7
- package/dist/lib/obsidian/FrontMatter.d.ts +31 -7
- package/dist/lib/obsidian/Link.cjs +19 -10
- package/dist/lib/obsidian/Link.d.ts +25 -13
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +14 -4
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
- package/dist/lib/obsidian/MetadataCache.cjs +30 -5
- package/dist/lib/obsidian/MetadataCache.d.ts +11 -5
- package/dist/lib/obsidian/Modal/Alert.cjs +14 -3
- package/dist/lib/obsidian/Modal/Alert.d.ts +1 -1
- package/dist/lib/obsidian/Modal/Prompt.cjs +14 -3
- package/dist/lib/obsidian/Modal/Prompt.d.ts +3 -3
- package/dist/lib/obsidian/Modal/SelectItem.cjs +11 -2
- package/dist/lib/obsidian/Modal/SelectItem.d.ts +4 -4
- package/dist/lib/obsidian/Modal/index.cjs +11 -2
- package/dist/lib/obsidian/Modal/index.d.ts +3 -3
- package/dist/lib/obsidian/ObsidianSettings.cjs +11 -2
- package/dist/lib/obsidian/ObsidianSettings.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +11 -2
- package/dist/lib/obsidian/Plugin/Plugin.cjs +11 -2
- package/dist/lib/obsidian/Plugin/Plugin.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +37 -23
- package/dist/lib/obsidian/Plugin/PluginBase.d.ts +8 -9
- package/dist/lib/obsidian/Plugin/PluginSettings.cjs +11 -2
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +11 -2
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.d.ts +2 -2
- package/dist/lib/obsidian/Plugin/UIComponent.cjs +11 -2
- package/dist/lib/obsidian/Plugin/UIComponent.d.ts +2 -2
- package/dist/lib/obsidian/Plugin/index.cjs +11 -2
- package/dist/lib/obsidian/Plugin/index.d.ts +6 -6
- package/dist/lib/obsidian/ResourceUrl.cjs +11 -2
- package/dist/lib/obsidian/ResourceUrl.d.ts +1 -1
- package/dist/lib/obsidian/TAbstractFile.cjs +12 -3
- package/dist/lib/obsidian/TAbstractFile.d.ts +1 -1
- package/dist/lib/obsidian/TFile.cjs +11 -2
- package/dist/lib/obsidian/TFile.d.ts +1 -1
- package/dist/lib/obsidian/TFolder.cjs +11 -2
- package/dist/lib/obsidian/TFolder.d.ts +2 -1
- package/dist/lib/obsidian/Vault.cjs +23 -15
- package/dist/lib/obsidian/Vault.d.ts +21 -7
- package/dist/lib/obsidian/index.cjs +11 -2
- package/dist/lib/obsidian/index.d.ts +18 -18
- package/dist/lib/scripts/CliUtils.cjs +170 -0
- package/dist/lib/{cli.d.ts → scripts/CliUtils.d.ts} +1 -1
- package/dist/lib/scripts/CodeGenerator.cjs +56 -0
- package/dist/lib/{bin → scripts}/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.ts +3 -2
- package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-modules-newlines.d.ts +3 -2
- package/dist/lib/{bin → scripts}/ESLint/@types/eslint-plugin-verify-tsdoc.d.ts +3 -2
- package/dist/lib/scripts/ESLint/ESLint.cjs +92 -0
- package/dist/lib/{bin → scripts}/ESLint/ESLint.d.ts +2 -2
- package/dist/lib/scripts/ESLint/eslint.config.cjs +170 -0
- package/dist/lib/scripts/ESLint/eslint.config.d.ts +16 -0
- package/dist/lib/scripts/ESLint/index.cjs +62 -0
- package/dist/lib/scripts/ESLint/index.d.ts +2 -0
- package/dist/lib/scripts/Fs.cjs +98 -0
- package/dist/lib/{Fs.d.ts → scripts/Fs.d.ts} +3 -3
- package/dist/lib/scripts/JSON.cjs +71 -0
- package/dist/lib/{JSON.d.ts → scripts/JSON.d.ts} +3 -24
- package/dist/lib/scripts/NodeModules.cjs +87 -0
- package/dist/lib/scripts/NodeModules.d.ts +9 -0
- package/dist/lib/scripts/Npm.cjs +97 -0
- package/dist/lib/{Npm.d.ts → scripts/Npm.d.ts} +3 -3
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +76 -0
- package/dist/lib/{bin → scripts}/ObsidianDevUtilsRepoPaths.d.ts +4 -0
- package/dist/lib/scripts/Root.cjs +142 -0
- package/dist/lib/{Root.d.ts → scripts/Root.d.ts} +4 -4
- package/dist/lib/scripts/build.cjs +67 -0
- package/dist/lib/scripts/cli.cjs +80 -0
- package/dist/lib/scripts/esbuild/Dependency.cjs +135 -0
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +167 -0
- package/dist/lib/{bin → scripts}/esbuild/ObsidianPluginBuilder.d.ts +5 -5
- package/dist/lib/scripts/esbuild/copyToObsidianPluginsFolderPlugin.cjs +67 -0
- package/dist/lib/{bin → scripts}/esbuild/copyToObsidianPluginsFolderPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/fixSourceMapsPlugin.cjs +83 -0
- package/dist/lib/{bin → scripts}/esbuild/fixSourceMapsPlugin.d.ts +1 -1
- package/dist/lib/{bin → scripts}/esbuild/index.cjs +11 -2
- package/dist/lib/scripts/esbuild/index.d.ts +7 -0
- package/dist/lib/scripts/esbuild/lintPlugin.cjs +64 -0
- package/dist/lib/{bin → scripts}/esbuild/lintPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +95 -0
- package/dist/lib/{bin → scripts}/esbuild/preprocessPlugin.d.ts +1 -1
- package/dist/lib/scripts/esbuild/renameToCjsPlugin.cjs +85 -0
- package/dist/lib/{bin → scripts}/esbuild/renameToCjsPlugin.d.ts +1 -1
- package/dist/lib/scripts/index.cjs +98 -0
- package/dist/lib/scripts/index.d.ts +14 -0
- package/dist/lib/scripts/spellcheck.cjs +67 -0
- package/dist/lib/{bin → scripts}/spellcheck.d.ts +1 -1
- package/dist/lib/scripts/version.cjs +349 -0
- package/dist/lib/{bin → scripts}/version.d.ts +7 -8
- package/dist/lib/url.cjs +11 -2
- package/package.json +136 -131
- package/dist/lib/CodeGenerator.cjs +0 -47
- package/dist/lib/Fs.cjs +0 -89
- package/dist/lib/JSON.cjs +0 -85
- package/dist/lib/Npm.cjs +0 -88
- package/dist/lib/Root.cjs +0 -145
- package/dist/lib/bin/ESLint/@types/@stylistic__eslint-plugin.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__eslint-plugin.d.ts +0 -21
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__parser.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/eslint-plugin-deprecation.d.ts +0 -11
- package/dist/lib/bin/ESLint/@types/eslint-plugin-import.d.ts +0 -10
- package/dist/lib/bin/ESLint/@types/globals.d.ts +0 -16
- package/dist/lib/bin/ESLint/ESLint.cjs +0 -84
- package/dist/lib/bin/ESLint/eslint.config.cjs +0 -114
- package/dist/lib/bin/ESLint/eslint.config.d.ts +0 -20
- package/dist/lib/bin/ESLint/index.cjs +0 -53
- package/dist/lib/bin/ESLint/index.d.ts +0 -2
- package/dist/lib/bin/ObsidianDevUtilsRepoPaths.cjs +0 -66
- package/dist/lib/bin/build.cjs +0 -58
- package/dist/lib/bin/cli.cjs +0 -81
- package/dist/lib/bin/esbuild/Dependency.cjs +0 -125
- package/dist/lib/bin/esbuild/ObsidianPluginBuilder.cjs +0 -160
- package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.cjs +0 -59
- package/dist/lib/bin/esbuild/fixSourceMapsPlugin.cjs +0 -74
- package/dist/lib/bin/esbuild/index.d.ts +0 -7
- package/dist/lib/bin/esbuild/lintPlugin.cjs +0 -55
- package/dist/lib/bin/esbuild/preprocessPlugin.cjs +0 -89
- package/dist/lib/bin/esbuild/renameToCjsPlugin.cjs +0 -75
- package/dist/lib/bin/index.cjs +0 -68
- package/dist/lib/bin/index.d.ts +0 -7
- package/dist/lib/bin/spellcheck.cjs +0 -58
- package/dist/lib/bin/version.cjs +0 -352
- package/dist/lib/cli.cjs +0 -170
- /package/dist/lib/{CodeGenerator.d.ts → scripts/CodeGenerator.d.ts} +0 -0
- /package/dist/lib/{bin → scripts}/build.d.ts +0 -0
- /package/dist/lib/{bin → scripts}/cli.d.ts +0 -0
- /package/dist/lib/{bin → scripts}/esbuild/Dependency.d.ts +0 -0
package/dist/lib/cli.cjs
DELETED
@@ -1,170 +0,0 @@
|
|
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
|
-
"use strict";
|
7
|
-
var __create = Object.create;
|
8
|
-
var __defProp = Object.defineProperty;
|
9
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
10
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
11
|
-
var __getProtoOf = Object.getPrototypeOf;
|
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
26
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
27
|
-
// file that has been converted to a CommonJS file using a Babel-
|
28
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
29
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
30
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
31
|
-
mod
|
32
|
-
));
|
33
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
34
|
-
var cli_exports = {};
|
35
|
-
__export(cli_exports, {
|
36
|
-
CliTaskResult: () => CliTaskResult,
|
37
|
-
toCommandLine: () => toCommandLine,
|
38
|
-
wrapCliTask: () => wrapCliTask
|
39
|
-
});
|
40
|
-
module.exports = __toCommonJS(cli_exports);
|
41
|
-
var import_node_process = __toESM(require("node:process"), 1);
|
42
|
-
var import_Error = require("./Error.cjs");
|
43
|
-
var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
|
44
|
-
var __process = globalThis["process"] ?? {
|
45
|
-
"cwd": () => "/",
|
46
|
-
"env": {},
|
47
|
-
"platform": "android"
|
48
|
-
};
|
49
|
-
class CliTaskResult {
|
50
|
-
/**
|
51
|
-
* Chains multiple tasks together, executing them sequentially until one fails.
|
52
|
-
*
|
53
|
-
* @param tasks - An array of task functions that return a `TaskResult` or `void`.
|
54
|
-
* @returns A promise that resolves with the first failed `TaskResult` or a success result.
|
55
|
-
*/
|
56
|
-
static async chain(tasks) {
|
57
|
-
for (const task of tasks) {
|
58
|
-
const result = await wrapResult(task);
|
59
|
-
if (!result.isSuccessful()) {
|
60
|
-
return result;
|
61
|
-
}
|
62
|
-
}
|
63
|
-
return CliTaskResult.Success();
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* Creates a CliTaskResult representing a successful task result.
|
67
|
-
*
|
68
|
-
* @param isSuccess - A boolean indicating whether the task was successful. Default is true.
|
69
|
-
* @returns A CliTaskResult object representing a successful task result.
|
70
|
-
*/
|
71
|
-
static Success(isSuccess = true) {
|
72
|
-
return new SuccessTaskResult(isSuccess);
|
73
|
-
}
|
74
|
-
/**
|
75
|
-
* Represents a failure result of a CLI task.
|
76
|
-
*
|
77
|
-
* @returns The failure result.
|
78
|
-
*/
|
79
|
-
static Failure() {
|
80
|
-
return this.Success(false);
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Creates a `TaskResult` based on an exit code.
|
84
|
-
*
|
85
|
-
* @param exitCode - The exit code to represent.
|
86
|
-
* @returns A `TaskResult` representing the exit code.
|
87
|
-
*/
|
88
|
-
static FromExitCode(exitCode) {
|
89
|
-
return new ExitCodeTaskResult(exitCode);
|
90
|
-
}
|
91
|
-
/**
|
92
|
-
* Creates a `TaskResult` that does not exit the process.
|
93
|
-
*
|
94
|
-
* @returns A `TaskResult` that does not exit the process.
|
95
|
-
*/
|
96
|
-
static DoNotExit() {
|
97
|
-
return new DoNotExitTaskResult();
|
98
|
-
}
|
99
|
-
}
|
100
|
-
class SuccessTaskResult extends CliTaskResult {
|
101
|
-
constructor(_isSuccessful) {
|
102
|
-
super();
|
103
|
-
this._isSuccessful = _isSuccessful;
|
104
|
-
}
|
105
|
-
/**
|
106
|
-
* Exits the process based on the success of the task.
|
107
|
-
*/
|
108
|
-
exit() {
|
109
|
-
import_node_process.default.exit(this._isSuccessful ? 0 : 1);
|
110
|
-
}
|
111
|
-
isSuccessful() {
|
112
|
-
return this._isSuccessful;
|
113
|
-
}
|
114
|
-
}
|
115
|
-
class ExitCodeTaskResult extends CliTaskResult {
|
116
|
-
constructor(exitCode) {
|
117
|
-
super();
|
118
|
-
this.exitCode = exitCode;
|
119
|
-
}
|
120
|
-
/**
|
121
|
-
* Exits the process with the specified exit code.
|
122
|
-
*/
|
123
|
-
exit() {
|
124
|
-
import_node_process.default.exit(this.exitCode);
|
125
|
-
}
|
126
|
-
isSuccessful() {
|
127
|
-
return this.exitCode === 0;
|
128
|
-
}
|
129
|
-
}
|
130
|
-
class DoNotExitTaskResult extends CliTaskResult {
|
131
|
-
constructor() {
|
132
|
-
super();
|
133
|
-
}
|
134
|
-
/**
|
135
|
-
* Does not exit the process.
|
136
|
-
*/
|
137
|
-
exit() {
|
138
|
-
}
|
139
|
-
isSuccessful() {
|
140
|
-
return true;
|
141
|
-
}
|
142
|
-
}
|
143
|
-
async function wrapResult(taskFn) {
|
144
|
-
try {
|
145
|
-
return await taskFn() ?? CliTaskResult.Success();
|
146
|
-
} catch (error) {
|
147
|
-
(0, import_Error.printError)(new Error("An error occurred during task execution", { cause: error }));
|
148
|
-
return CliTaskResult.Failure();
|
149
|
-
}
|
150
|
-
}
|
151
|
-
async function wrapCliTask(taskFn) {
|
152
|
-
const result = await wrapResult(taskFn);
|
153
|
-
result.exit();
|
154
|
-
}
|
155
|
-
function toCommandLine(args) {
|
156
|
-
return args.map((arg) => {
|
157
|
-
if (/[\s"\n]/.test(arg)) {
|
158
|
-
const escapedArg = arg.replace(/"/g, '\\"').replace(/\n/g, "\\n");
|
159
|
-
return `"${escapedArg}"`;
|
160
|
-
}
|
161
|
-
return arg;
|
162
|
-
}).join(" ");
|
163
|
-
}
|
164
|
-
// Annotate the CommonJS export names for ESM import in node:
|
165
|
-
0 && (module.exports = {
|
166
|
-
CliTaskResult,
|
167
|
-
toCommandLine,
|
168
|
-
wrapCliTask
|
169
|
-
});
|
170
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NsaS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIGNsaVxuICogQ29udGFpbnMgdXRpbGl0eSBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIHRhc2sgcmVzdWx0cywgaW5jbHVkaW5nXG4gKiBzdWNjZXNzLCBleGl0IGNvZGVzLCBhbmQgY2hhaW5pbmcgbXVsdGlwbGUgdGFza3MuXG4gKi9cblxuaW1wb3J0IHByb2Nlc3MgZnJvbSBcIm5vZGU6cHJvY2Vzc1wiO1xuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi9Bc3luYy50c1wiO1xuaW1wb3J0IHsgcHJpbnRFcnJvciB9IGZyb20gXCIuL0Vycm9yLnRzXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSB0YXNrLiBJbmNsdWRlcyBtZXRob2RzIGZvciBoYW5kbGluZyBzdWNjZXNzLFxuICogZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZXhpdCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGFpbnMgbXVsdGlwbGUgdGFza3MgdG9nZXRoZXIsIGV4ZWN1dGluZyB0aGVtIHNlcXVlbnRpYWxseSB1bnRpbCBvbmUgZmFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyAtIEFuIGFycmF5IG9mIHRhc2sgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEgYFRhc2tSZXN1bHRgIG9yIGB2b2lkYC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgZmlyc3QgZmFpbGVkIGBUYXNrUmVzdWx0YCBvciBhIHN1Y2Nlc3MgcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBjaGFpbih0YXNrczogKCgpID0+IE1heWJlUHJvbWlzZTxDbGlUYXNrUmVzdWx0IHwgdm9pZD4pW10pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdyYXBSZXN1bHQodGFzayk7XG4gICAgICBpZiAoIXJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBDbGlUYXNrUmVzdWx0LlN1Y2Nlc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0YXNrIHdhcyBzdWNjZXNzZnVsLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ2xpVGFza1Jlc3VsdCByZXByZXNlbnRpbmcgYSBzdWNjZXNzZnVsIHRhc2sgcmVzdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gaXNTdWNjZXNzIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgdGFzayB3YXMgc3VjY2Vzc2Z1bC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKiBAcmV0dXJucyBBIENsaVRhc2tSZXN1bHQgb2JqZWN0IHJlcHJlc2VudGluZyBhIHN1Y2Nlc3NmdWwgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFN1Y2Nlc3MoaXNTdWNjZXNzOiBib29sZWFuID0gdHJ1ZSk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiBuZXcgU3VjY2Vzc1Rhc2tSZXN1bHQoaXNTdWNjZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGEgZmFpbHVyZSByZXN1bHQgb2YgYSBDTEkgdGFzay5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGZhaWx1cmUgcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGYWlsdXJlKCk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLlN1Y2Nlc3MoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBgVGFza1Jlc3VsdGAgYmFzZWQgb24gYW4gZXhpdCBjb2RlLlxuICAgKlxuICAgKiBAcGFyYW0gZXhpdENvZGUgLSBUaGUgZXhpdCBjb2RlIHRvIHJlcHJlc2VudC5cbiAgICogQHJldHVybnMgQSBgVGFza1Jlc3VsdGAgcmVwcmVzZW50aW5nIHRoZSBleGl0IGNvZGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZyb21FeGl0Q29kZShleGl0Q29kZTogbnVtYmVyKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBFeGl0Q29kZVRhc2tSZXN1bHQoZXhpdENvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBgVGFza1Jlc3VsdGAgdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIGBUYXNrUmVzdWx0YCB0aGF0IGRvZXMgbm90IGV4aXQgdGhlIHByb2Nlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERvTm90RXhpdCgpOiBDbGlUYXNrUmVzdWx0IHtcbiAgICByZXR1cm4gbmV3IERvTm90RXhpdFRhc2tSZXN1bHQoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCBiYXNlZCBvbiBzdWNjZXNzIG9yIGZhaWx1cmUuXG4gKi9cbmNsYXNzIFN1Y2Nlc3NUYXNrUmVzdWx0IGV4dGVuZHMgQ2xpVGFza1Jlc3VsdCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9pc1N1Y2Nlc3NmdWw6IGJvb2xlYW4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4aXRzIHRoZSBwcm9jZXNzIGJhc2VkIG9uIHRoZSBzdWNjZXNzIG9mIHRoZSB0YXNrLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgcHJvY2Vzcy5leGl0KHRoaXMuX2lzU3VjY2Vzc2Z1bCA/IDAgOiAxKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU3VjY2Vzc2Z1bDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCBiYXNlZCBvbiBhbiBleGl0IGNvZGUuXG4gKi9cbmNsYXNzIEV4aXRDb2RlVGFza1Jlc3VsdCBleHRlbmRzIENsaVRhc2tSZXN1bHQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBleGl0Q29kZTogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyB3aXRoIHRoZSBzcGVjaWZpZWQgZXhpdCBjb2RlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgcHJvY2Vzcy5leGl0KHRoaXMuZXhpdENvZGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leGl0Q29kZSA9PT0gMDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0YXNrIHJlc3VsdCB0aGF0IGRvZXMgbm90IGV4aXQgdGhlIHByb2Nlc3MuXG4gKi9cbmNsYXNzIERvTm90RXhpdFRhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFNhZmVseSBleGVjdXRlcyBhIHRhc2sgZnVuY3Rpb24gYW5kIHJldHVybnMgYSBgVGFza1Jlc3VsdGAuIElmIHRoZSB0YXNrIGZ1bmN0aW9uIHRocm93cyBhbiBlcnJvcixcbiAqIHRoZSBlcnJvciBpcyBjYXVnaHQsIGFuZCBhIGZhaWx1cmUgYFRhc2tSZXN1bHRgIGlzIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgdGFzayBmdW5jdGlvbiB0byBleGVjdXRlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGBUYXNrUmVzdWx0YCByZXByZXNlbnRpbmcgdGhlIG91dGNvbWUgb2YgdGhlIHRhc2suXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHdyYXBSZXN1bHQodGFza0ZuOiAoKSA9PiBNYXliZVByb21pc2U8Q2xpVGFza1Jlc3VsdCB8IHZvaWQ+KTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHRhc2tGbigpID8/IENsaVRhc2tSZXN1bHQuU3VjY2VzcygpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByaW50RXJyb3IobmV3IEVycm9yKFwiQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRhc2sgZXhlY3V0aW9uXCIsIHsgY2F1c2U6IGVycm9yIH0pKTtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5GYWlsdXJlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhIENMSSB0YXNrIGZ1bmN0aW9uIHRvIGVuc3VyZSBpdCBydW5zIHNhZmVseSBhbmQgaGFuZGxlcyBpdHMgYFRhc2tSZXN1bHRgLlxuICpcbiAqIEBwYXJhbSB0YXNrRm4gLSBUaGUgdGFzayBmdW5jdGlvbiB0byBleGVjdXRlLCB3aGljaCBtYXkgcmV0dXJuIGEgYFRhc2tSZXN1bHRgIG9yIHZvaWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB0YXNrIGlzIGNvbXBsZXRlZCBhbmQgZXhpdHMgd2l0aCB0aGUgYXBwcm9wcmlhdGUgc3RhdHVzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JhcENsaVRhc2sodGFza0ZuOiAoKSA9PiBNYXliZVByb21pc2U8Q2xpVGFza1Jlc3VsdCB8IHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdyYXBSZXN1bHQodGFza0ZuKTtcbiAgcmVzdWx0LmV4aXQoKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGludG8gYSBzaW5nbGUgY29tbWFuZC1saW5lIHN0cmluZy5cbiAqIEhhbmRsZXMgZXNjYXBpbmcgb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzIHN1Y2ggYXMgc3BhY2VzLCBxdW90ZXMsIGFuZCBuZXdsaW5lcy5cbiAqXG4gKiBAcGFyYW0gYXJncyAtIFRoZSBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNvbW1hbmQtbGluZSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db21tYW5kTGluZShhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBhcmdzXG4gICAgLm1hcCgoYXJnKSA9PiB7XG4gICAgICBpZiAoL1tcXHNcIlxcbl0vLnRlc3QoYXJnKSkge1xuICAgICAgICBjb25zdCBlc2NhcGVkQXJnID0gYXJnLnJlcGxhY2UoL1wiL2csIFwiXFxcXFxcXCJcIikucmVwbGFjZSgvXFxuL2csIFwiXFxcXG5cIik7XG4gICAgICAgIHJldHVybiBgXCIke2VzY2FwZWRBcmd9XCJgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFyZztcbiAgICB9KVxuICAgIC5qb2luKFwiIFwiKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsMEJBQW9CO0FBRXBCLG1CQUEyQjtBQWQzQixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWVPLE1BQWUsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWWxDLGFBQW9CLE1BQU0sT0FBNkU7QUFDckcsZUFBVyxRQUFRLE9BQU87QUFDeEIsWUFBTSxTQUFTLE1BQU0sV0FBVyxJQUFJO0FBQ3BDLFVBQUksQ0FBQyxPQUFPLGFBQWEsR0FBRztBQUMxQixlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFFQSxXQUFPLGNBQWMsUUFBUTtBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFlQSxPQUFjLFFBQVEsWUFBcUIsTUFBcUI7QUFDOUQsV0FBTyxJQUFJLGtCQUFrQixTQUFTO0FBQUEsRUFDeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFVBQXlCO0FBQ3JDLFdBQU8sS0FBSyxRQUFRLEtBQUs7QUFBQSxFQUMzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLFVBQWlDO0FBQzFELFdBQU8sSUFBSSxtQkFBbUIsUUFBUTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxZQUEyQjtBQUN2QyxXQUFPLElBQUksb0JBQW9CO0FBQUEsRUFDakM7QUFDRjtBQUtBLE1BQU0sMEJBQTBCLGNBQWM7QUFBQSxFQUNyQyxZQUE2QixlQUF3QjtBQUMxRCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixPQUFhO0FBQzNCLHdCQUFBQSxRQUFRLEtBQUssS0FBSyxnQkFBZ0IsSUFBSSxDQUFDO0FBQUEsRUFDekM7QUFBQSxFQUVtQixlQUF3QjtBQUN6QyxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQ0Y7QUFLQSxNQUFNLDJCQUEyQixjQUFjO0FBQUEsRUFDdEMsWUFBNkIsVUFBa0I7QUFDcEQsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsT0FBYTtBQUMzQix3QkFBQUEsUUFBUSxLQUFLLEtBQUssUUFBUTtBQUFBLEVBQzVCO0FBQUEsRUFFbUIsZUFBd0I7QUFDekMsV0FBTyxLQUFLLGFBQWE7QUFBQSxFQUMzQjtBQUNGO0FBS0EsTUFBTSw0QkFBNEIsY0FBYztBQUFBLEVBQ3ZDLGNBQWM7QUFDbkIsVUFBTTtBQUFBLEVBQ1I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixPQUFhO0FBQUEsRUFDN0I7QUFBQSxFQUVtQixlQUF3QjtBQUN6QyxXQUFPO0FBQUEsRUFDVDtBQUNGO0FBU0EsZUFBZSxXQUFXLFFBQTBFO0FBQ2xHLE1BQUk7QUFDRixXQUFPLE1BQU0sT0FBTyxLQUFLLGNBQWMsUUFBUTtBQUFBLEVBQ2pELFNBQVMsT0FBTztBQUNkLGlDQUFXLElBQUksTUFBTSwyQ0FBMkMsRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ2pGLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDL0I7QUFDRjtBQVFBLGVBQXNCLFlBQVksUUFBaUU7QUFDakcsUUFBTSxTQUFTLE1BQU0sV0FBVyxNQUFNO0FBQ3RDLFNBQU8sS0FBSztBQUNkO0FBU08sU0FBUyxjQUFjLE1BQXdCO0FBQ3BELFNBQU8sS0FDSixJQUFJLENBQUMsUUFBUTtBQUNaLFFBQUksVUFBVSxLQUFLLEdBQUcsR0FBRztBQUN2QixZQUFNLGFBQWEsSUFBSSxRQUFRLE1BQU0sS0FBTSxFQUFFLFFBQVEsT0FBTyxLQUFLO0FBQ2pFLGFBQU8sSUFBSSxVQUFVO0FBQUEsSUFDdkI7QUFDQSxXQUFPO0FBQUEsRUFDVCxDQUFDLEVBQ0EsS0FBSyxHQUFHO0FBQ2I7IiwKICAibmFtZXMiOiBbInByb2Nlc3MiXQp9Cg==
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|