obsidian-dev-utils 84.1.0 → 84.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "84.1.0",
3
+ "version": "84.3.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
5
5
  "keywords": [
6
6
  "obsidian"
@@ -635,9 +635,6 @@
635
635
  "test": "jiti scripts/test.ts",
636
636
  "test:coverage": "jiti scripts/test-coverage.ts",
637
637
  "test:integration": "jiti scripts/test-integration.ts",
638
- "test:integration:android": "jiti scripts/test-integration-android.ts",
639
- "test:integration:desktop": "jiti scripts/test-integration-desktop.ts",
640
- "test:integration:no-app": "jiti scripts/test-integration-no-app.ts",
641
638
  "test:watch": "jiti scripts/test-watch.ts",
642
639
  "version": "jiti scripts/version.ts"
643
640
  },
@@ -658,7 +655,7 @@
658
655
  "@eslint/config-helpers": "^0.6.0",
659
656
  "@eslint/js": "^10.0.1",
660
657
  "@lezer/common": "1.2.3",
661
- "@obsidian-typings/obsidian-public-latest": "^6.19.0",
658
+ "@obsidian-typings/obsidian-public-latest": "^6.20.0",
662
659
  "@stylistic/eslint-plugin": "^5.10.0",
663
660
  "@tsconfig/strictest": "^2.0.8",
664
661
  "@types/babel__core": "^7.20.5",
@@ -687,9 +684,9 @@
687
684
  "eslint": "^10.6.0",
688
685
  "eslint-import-resolver-typescript": "^4.4.5",
689
686
  "eslint-plugin-import-x": "^4.17.1",
690
- "eslint-plugin-jsdoc": "^63.0.10",
687
+ "eslint-plugin-jsdoc": "^63.0.11",
691
688
  "eslint-plugin-no-unsanitized": "^4.1.5",
692
- "eslint-plugin-obsidianmd": "^0.4.0",
689
+ "eslint-plugin-obsidianmd": "^0.4.1",
693
690
  "eslint-plugin-perfectionist": "^5.9.1",
694
691
  "eslint-plugin-tsdoc": "^0.5.2",
695
692
  "globals": "^17.7.0",
@@ -700,13 +697,13 @@
700
697
  "lru-cache": "^11.5.1",
701
698
  "markdownlint": "^0.41.0",
702
699
  "markdownlint-cli2": "^0.23.0",
703
- "markdownlint-rule-relative-links": "^5.1.0",
700
+ "markdownlint-rule-relative-links": "^5.1.1",
704
701
  "monkey-around": "^3.0.0",
705
702
  "obsidian": "^1.13.1",
706
703
  "path-browserify": "^1.0.1",
707
704
  "postcss": "^8.5.16",
708
705
  "postcss-modules": "^9.0.0",
709
- "preact": "^10.29.3",
706
+ "preact": "^10.29.4",
710
707
  "react": "^19.2.7",
711
708
  "remark": "^15.0.1",
712
709
  "remark-parse": "^11.0.0",
@@ -716,7 +713,7 @@
716
713
  "shell-quote": "^1.9.0",
717
714
  "svelte-check": "^4.7.1",
718
715
  "svelte-preprocess": "^6.0.5",
719
- "type-fest": "^5.7.0",
716
+ "type-fest": "^5.8.0",
720
717
  "typescript": "^6.0.3",
721
718
  "typescript-eslint": "^8.62.1",
722
719
  "unist-util-visit": "^5.1.0"
@@ -738,8 +735,8 @@
738
735
  "jsdom": "^29.1.1",
739
736
  "moment": "^2.30.1",
740
737
  "nano-staged": "^1.0.2",
741
- "obsidian-integration-testing": "^5.1.1",
742
- "obsidian-test-mocks": "^3.4.0",
738
+ "obsidian-integration-testing": "^5.2.0",
739
+ "obsidian-test-mocks": "^3.5.1",
743
740
  "ts-declaration-location": "^1.0.7",
744
741
  "vitest": "^4.1.9",
745
742
  "yaml": "^2.9.0"
@@ -1,201 +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
- (function initCjs() {
7
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
- const globalThisRecord = globalThis;
9
- globalThisRecord['__name'] ??= name;
10
- const originalRequire = require;
11
- if (originalRequire && !originalRequire.__isPatched) {
12
- // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
- require = Object.assign(
14
- (id) => requirePatched(id),
15
- originalRequire,
16
- {
17
- __isPatched: true
18
- }
19
- );
20
- }
21
-
22
- const newFuncs = {
23
- __extractDefault() {
24
- return extractDefault;
25
- },
26
- process() {
27
- const browserProcess = {
28
- browser: true,
29
- cwd() {
30
- return '/';
31
- },
32
- env: {},
33
- platform: 'android'
34
- };
35
- return browserProcess;
36
- }
37
- };
38
-
39
- for (const key of Object.keys(newFuncs)) {
40
- globalThisRecord[key] ??= newFuncs[key]?.();
41
- }
42
-
43
- function name(obj) {
44
- return obj;
45
- }
46
-
47
- function extractDefault(module) {
48
- return module && module.__esModule && 'default' in module ? module.default : module;
49
- }
50
-
51
- const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
- 'obsidian',
53
- '@codemirror/autocomplete',
54
- '@codemirror/collab',
55
- '@codemirror/commands',
56
- '@codemirror/language',
57
- '@codemirror/lint',
58
- '@codemirror/search',
59
- '@codemirror/state',
60
- '@codemirror/text',
61
- '@codemirror/view',
62
- '@lezer/common',
63
- '@lezer/lr',
64
- '@lezer/highlight'];
65
-
66
-
67
- const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
- '@codemirror/closebrackets',
69
- '@codemirror/comment',
70
- '@codemirror/fold',
71
- '@codemirror/gutter',
72
- '@codemirror/highlight',
73
- '@codemirror/history',
74
- '@codemirror/matchbrackets',
75
- '@codemirror/panel',
76
- '@codemirror/rangeset',
77
- '@codemirror/rectangular-selection',
78
- '@codemirror/stream-parser',
79
- '@codemirror/tooltip'];
80
-
81
-
82
- function requirePatched(id) {
83
- if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
- return originalRequire?.(id);
85
- }
86
-
87
- // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
- if (globalThis.app.isMobile) {
89
- if (id === 'process' || id === 'node:process') {
90
- // eslint-disable-next-line no-console -- Valid usage.
91
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
- return globalThis.process;
94
- }
95
- } else {
96
- const module = originalRequire?.(id);
97
- if (module) {
98
- return extractDefault(module);
99
- }
100
- }
101
-
102
- // eslint-disable-next-line no-console -- Valid usage.
103
- console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
- return {};
105
- }
106
- })();
107
-
108
- "use strict";
109
- var __defProp = Object.defineProperty;
110
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
- var __getOwnPropNames = Object.getOwnPropertyNames;
112
- var __hasOwnProp = Object.prototype.hasOwnProperty;
113
- var __export = (target, all) => {
114
- for (var name in all)
115
- __defProp(target, name, { get: all[name], enumerable: true });
116
- };
117
- var __copyProps = (to, from, except, desc) => {
118
- if (from && typeof from === "object" || typeof from === "function") {
119
- for (let key of __getOwnPropNames(from))
120
- if (!__hasOwnProp.call(to, key) && key !== except)
121
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
- }
123
- return to;
124
- };
125
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
- var get_bases_context_constructor_exports = {};
127
- __export(get_bases_context_constructor_exports, {
128
- getBasesContextConstructor: () => getBasesContextConstructor
129
- });
130
- module.exports = __toCommonJS(get_bases_context_constructor_exports);
131
- var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
132
- var import_async = require('../../async.cjs');
133
- var import_type_guards = require('../../type-guards.cjs');
134
- var import_file_system = require('../file-system.cjs');
135
- var import_vault = require('../vault.cjs');
136
- class BasesContextConstructorExtractor {
137
- constructor(app) {
138
- this.app = app;
139
- }
140
- app;
141
- async extract() {
142
- const basesPlugin = this.app.internalPlugins.getPluginById(import_implementations.InternalPluginName.Bases);
143
- (0, import_type_guards.assertNonNullable)(basesPlugin, "Bases plugin is not available");
144
- const wasBasesEnabled = basesPlugin.enabled;
145
- if (!wasBasesEnabled) {
146
- await basesPlugin.enable();
147
- }
148
- try {
149
- return await this.extractFromAnyBase();
150
- } finally {
151
- if (!wasBasesEnabled) {
152
- basesPlugin.disable();
153
- }
154
- }
155
- }
156
- async createTempBaseFile() {
157
- const basesPlugin = this.app.internalPlugins.getEnabledPluginById(import_implementations.InternalPluginName.Bases);
158
- (0, import_type_guards.assertNonNullable)(basesPlugin, "Bases plugin is not enabled");
159
- return await basesPlugin.createNewBasesFile();
160
- }
161
- async extractFromAnyBase() {
162
- const openBasesLeaf = this.app.workspace.getLeavesOfType(import_implementations.ViewType.Bases)[0];
163
- if (openBasesLeaf) {
164
- return await this.extractFromLeaf(openBasesLeaf);
165
- }
166
- const existingBaseFile = this.app.vault.getFiles().find((file) => file.extension === import_file_system.BASE_FILE_EXTENSION);
167
- if (existingBaseFile) {
168
- return await this.openAndExtract(existingBaseFile, false);
169
- }
170
- const tempBaseFile = await this.createTempBaseFile();
171
- return await this.openAndExtract(tempBaseFile, true);
172
- }
173
- async extractFromLeaf(leaf) {
174
- await leaf.loadIfDeferred();
175
- await (0, import_async.retryWithTimeout)({
176
- operationFn: () => leaf.view.controller.ctx !== null,
177
- operationName: "getBasesContextConstructor"
178
- });
179
- return leaf.view.controller.ctx.constructor;
180
- }
181
- async openAndExtract(file, shouldTrashFile) {
182
- const leaf = this.app.workspace.getLeaf(true);
183
- try {
184
- await leaf.openFile(file);
185
- return await this.extractFromLeaf(leaf);
186
- } finally {
187
- leaf.detach();
188
- if (shouldTrashFile) {
189
- await (0, import_vault.trashSafe)(this.app, file);
190
- }
191
- }
192
- }
193
- }
194
- async function getBasesContextConstructor(app) {
195
- return await new BasesContextConstructorExtractor(app).extract();
196
- }
197
- // Annotate the CommonJS export names for ESM import in node:
198
- 0 && (module.exports = {
199
- getBasesContextConstructor
200
- });
201
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbnN0cnVjdG9ycy9nZXQtYmFzZXMtY29udGV4dC1jb25zdHJ1Y3Rvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEV4dHJhY3RzIHRoZSBgQmFzZXNDb250ZXh0YCBjb25zdHJ1Y3RvciBmcm9tIGEgbGl2ZSBiYXNlcyB2aWV3IHNvIGEgdGhyb3dhd2F5IGNvbnRleHQgY2FuIGJlXG4gKiBjb25zdHJ1Y3RlZCB0byBwYXRjaCB0aGUgYmFzZXMgbm90ZSByZW5kZXJpbmcuXG4gKlxuICogVGhlIGBCYXNlc0NvbnRleHRgIGNsYXNzIGlzIG5vdCBleHBvc2VkIGFzIGEgcnVudGltZSB2YWx1ZSwgc28gaXRzIGNvbnN0cnVjdG9yIGNhbiBvbmx5IGJlIHJlYWRcbiAqIGZyb20gYSBsaXZlIGBjb250cm9sbGVyLmN0eGAgaW5zdGFuY2UsIHdoaWNoIGV4aXN0cyBvbmx5IG9uY2UgYSBiYXNlIHdpdGggYSBsb2FkZWQgcXVlcnkgaXMgb3Blbi5cbiAqIFRoaXMgcmVzb2x2ZXMgc3VjaCBhbiBpbnN0YW5jZSB3aXRoIGFzIGxpdHRsZSBkaXNydXB0aW9uIGFzIHBvc3NpYmxlOiBpdCByZXVzZXMgYW4gYWxyZWFkeS1vcGVuXG4gKiBiYXNlcyB2aWV3IHdoZW4gcHJlc2VudCwgb3RoZXJ3aXNlIG9wZW5zIGFuIGV4aXN0aW5nIGJhc2UgZmlsZSwgYW5kIG9ubHkgYXMgYSBsYXN0IHJlc29ydCBjcmVhdGVzXG4gKiAoYW5kIHJlbW92ZXMpIGEgdGVtcG9yYXJ5IGJhc2UgZmlsZS4gVGhlIEJhc2VzIGludGVybmFsIHBsdWdpbiBpcyBlbmFibGVkIHRlbXBvcmFyaWx5IHdoZW4gbmVlZGVkXG4gKiBhbmQgcmVzdG9yZWQgdG8gaXRzIHByZXZpb3VzIHN0YXRlIGFmdGVyd2FyZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCYXNlc0NvbnRleHQsXG4gIEJhc2VzVmlldyxcbiAgRXh0cmFjdENvbnN0cnVjdG9yXG59IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFRGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgSW50ZXJuYWxQbHVnaW5OYW1lLFxuICBWaWV3VHlwZVxufSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXQgfSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IEJBU0VfRklMRV9FWFRFTlNJT04gfSBmcm9tICcuLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0cmFzaFNhZmUgfSBmcm9tICcuLi92YXVsdC50cyc7XG5cbi8qKlxuICogVGhlIGNvbnN0cnVjdG9yIG9mIGEge0BsaW5rIEJhc2VzQ29udGV4dH0uXG4gKi9cbmV4cG9ydCB0eXBlIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yID0gRXh0cmFjdENvbnN0cnVjdG9yPEJhc2VzQ29udGV4dD47XG5cbmNsYXNzIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yRXh0cmFjdG9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHApIHt9XG5cbiAgcHVibGljIGFzeW5jIGV4dHJhY3QoKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGNvbnN0IGJhc2VzUGx1Z2luID0gdGhpcy5hcHAuaW50ZXJuYWxQbHVnaW5zLmdldFBsdWdpbkJ5SWQoSW50ZXJuYWxQbHVnaW5OYW1lLkJhc2VzKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShiYXNlc1BsdWdpbiwgJ0Jhc2VzIHBsdWdpbiBpcyBub3QgYXZhaWxhYmxlJyk7XG5cbiAgICBjb25zdCB3YXNCYXNlc0VuYWJsZWQgPSBiYXNlc1BsdWdpbi5lbmFibGVkO1xuICAgIGlmICghd2FzQmFzZXNFbmFibGVkKSB7XG4gICAgICBhd2FpdCBiYXNlc1BsdWdpbi5lbmFibGUoKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZXh0cmFjdEZyb21BbnlCYXNlKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICghd2FzQmFzZXNFbmFibGVkKSB7XG4gICAgICAgIGJhc2VzUGx1Z2luLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZVRlbXBCYXNlRmlsZSgpOiBQcm9taXNlPFRGaWxlPiB7XG4gICAgY29uc3QgYmFzZXNQbHVnaW4gPSB0aGlzLmFwcC5pbnRlcm5hbFBsdWdpbnMuZ2V0RW5hYmxlZFBsdWdpbkJ5SWQoSW50ZXJuYWxQbHVnaW5OYW1lLkJhc2VzKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShiYXNlc1BsdWdpbiwgJ0Jhc2VzIHBsdWdpbiBpcyBub3QgZW5hYmxlZCcpO1xuICAgIHJldHVybiBhd2FpdCBiYXNlc1BsdWdpbi5jcmVhdGVOZXdCYXNlc0ZpbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXh0cmFjdEZyb21BbnlCYXNlKCk6IFByb21pc2U8QmFzZXNDb250ZXh0Q29uc3RydWN0b3I+IHtcbiAgICBjb25zdCBvcGVuQmFzZXNMZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShWaWV3VHlwZS5CYXNlcylbMF07XG4gICAgaWYgKG9wZW5CYXNlc0xlYWYpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RGcm9tTGVhZihvcGVuQmFzZXNMZWFmKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ0Jhc2VGaWxlID0gdGhpcy5hcHAudmF1bHQuZ2V0RmlsZXMoKS5maW5kKChmaWxlKSA9PiBmaWxlLmV4dGVuc2lvbiA9PT0gQkFTRV9GSUxFX0VYVEVOU0lPTik7XG4gICAgaWYgKGV4aXN0aW5nQmFzZUZpbGUpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLm9wZW5BbmRFeHRyYWN0KGV4aXN0aW5nQmFzZUZpbGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wQmFzZUZpbGUgPSBhd2FpdCB0aGlzLmNyZWF0ZVRlbXBCYXNlRmlsZSgpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLm9wZW5BbmRFeHRyYWN0KHRlbXBCYXNlRmlsZSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4dHJhY3RGcm9tTGVhZihsZWFmOiBXb3Jrc3BhY2VMZWFmKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGF3YWl0IGxlYWYubG9hZElmRGVmZXJyZWQoKTtcblxuICAgIC8vIFRoZSBiYXNlcyB2aWV3IGNvbnRyb2xsZXIgZG9lcyBub3QgY3JlYXRlIGl0cyBjb250ZXh0IHN5bmNocm9ub3VzbHksIHNvIHdhaXQgdW50aWwgaXQgaGFzIGJ1aWx0XG4gICAgLy8gSXRzIGNvbnRleHQgYmVmb3JlIHJlYWRpbmcgdGhlIGNvbnN0cnVjdG9yLlxuICAgIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoe1xuICAgICAgb3BlcmF0aW9uRm46ICgpID0+ICgobGVhZi52aWV3IGFzIEJhc2VzVmlldykuY29udHJvbGxlci5jdHggYXMgQmFzZXNDb250ZXh0IHwgbnVsbCkgIT09IG51bGwsXG4gICAgICBvcGVyYXRpb25OYW1lOiAnZ2V0QmFzZXNDb250ZXh0Q29uc3RydWN0b3InXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKGxlYWYudmlldyBhcyBCYXNlc1ZpZXcpLmNvbnRyb2xsZXIuY3R4LmNvbnN0cnVjdG9yIGFzIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvcGVuQW5kRXh0cmFjdChmaWxlOiBURmlsZSwgc2hvdWxkVHJhc2hGaWxlOiBib29sZWFuKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGNvbnN0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhZih0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbGVhZi5vcGVuRmlsZShmaWxlKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RGcm9tTGVhZihsZWFmKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgbGVhZi5kZXRhY2goKTtcbiAgICAgIGlmIChzaG91bGRUcmFzaEZpbGUpIHtcbiAgICAgICAgYXdhaXQgdHJhc2hTYWZlKHRoaXMuYXBwLCBmaWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB7QGxpbmsgQmFzZXNDb250ZXh0fSBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHtAbGluayBCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYXNlc0NvbnRleHRDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFByb21pc2U8QmFzZXNDb250ZXh0Q29uc3RydWN0b3I+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBCYXNlc0NvbnRleHRDb25zdHJ1Y3RvckV4dHJhY3RvcihhcHApLmV4dHJhY3QoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlCQSw2QkFHTztBQUVQLG1CQUFpQztBQUNqQyx5QkFBa0M7QUFDbEMseUJBQW9DO0FBQ3BDLG1CQUEwQjtBQU8xQixNQUFNLGlDQUFpQztBQUFBLEVBQzlCLFlBQTZCLEtBQVU7QUFBVjtBQUFBLEVBQVc7QUFBQSxFQUFYO0FBQUEsRUFFcEMsTUFBYSxVQUE0QztBQUN2RCxVQUFNLGNBQWMsS0FBSyxJQUFJLGdCQUFnQixjQUFjLDBDQUFtQixLQUFLO0FBQ25GLDhDQUFrQixhQUFhLCtCQUErQjtBQUU5RCxVQUFNLGtCQUFrQixZQUFZO0FBQ3BDLFFBQUksQ0FBQyxpQkFBaUI7QUFDcEIsWUFBTSxZQUFZLE9BQU87QUFBQSxJQUMzQjtBQUVBLFFBQUk7QUFDRixhQUFPLE1BQU0sS0FBSyxtQkFBbUI7QUFBQSxJQUN2QyxVQUFFO0FBQ0EsVUFBSSxDQUFDLGlCQUFpQjtBQUNwQixvQkFBWSxRQUFRO0FBQUEsTUFDdEI7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRUEsTUFBYyxxQkFBcUM7QUFDakQsVUFBTSxjQUFjLEtBQUssSUFBSSxnQkFBZ0IscUJBQXFCLDBDQUFtQixLQUFLO0FBQzFGLDhDQUFrQixhQUFhLDZCQUE2QjtBQUM1RCxXQUFPLE1BQU0sWUFBWSxtQkFBbUI7QUFBQSxFQUM5QztBQUFBLEVBRUEsTUFBYyxxQkFBdUQ7QUFDbkUsVUFBTSxnQkFBZ0IsS0FBSyxJQUFJLFVBQVUsZ0JBQWdCLGdDQUFTLEtBQUssRUFBRSxDQUFDO0FBQzFFLFFBQUksZUFBZTtBQUNqQixhQUFPLE1BQU0sS0FBSyxnQkFBZ0IsYUFBYTtBQUFBLElBQ2pEO0FBRUEsVUFBTSxtQkFBbUIsS0FBSyxJQUFJLE1BQU0sU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEtBQUssY0FBYyxzQ0FBbUI7QUFDeEcsUUFBSSxrQkFBa0I7QUFDcEIsYUFBTyxNQUFNLEtBQUssZUFBZSxrQkFBa0IsS0FBSztBQUFBLElBQzFEO0FBRUEsVUFBTSxlQUFlLE1BQU0sS0FBSyxtQkFBbUI7QUFDbkQsV0FBTyxNQUFNLEtBQUssZUFBZSxjQUFjLElBQUk7QUFBQSxFQUNyRDtBQUFBLEVBRUEsTUFBYyxnQkFBZ0IsTUFBdUQ7QUFDbkYsVUFBTSxLQUFLLGVBQWU7QUFJMUIsY0FBTSwrQkFBaUI7QUFBQSxNQUNyQixhQUFhLE1BQVEsS0FBSyxLQUFtQixXQUFXLFFBQWdDO0FBQUEsTUFDeEYsZUFBZTtBQUFBLElBQ2pCLENBQUM7QUFFRCxXQUFRLEtBQUssS0FBbUIsV0FBVyxJQUFJO0FBQUEsRUFDakQ7QUFBQSxFQUVBLE1BQWMsZUFBZSxNQUFhLGlCQUE0RDtBQUNwRyxVQUFNLE9BQU8sS0FBSyxJQUFJLFVBQVUsUUFBUSxJQUFJO0FBQzVDLFFBQUk7QUFDRixZQUFNLEtBQUssU0FBUyxJQUFJO0FBQ3hCLGFBQU8sTUFBTSxLQUFLLGdCQUFnQixJQUFJO0FBQUEsSUFDeEMsVUFBRTtBQUNBLFdBQUssT0FBTztBQUNaLFVBQUksaUJBQWlCO0FBQ25CLGtCQUFNLHdCQUFVLEtBQUssS0FBSyxJQUFJO0FBQUEsTUFDaEM7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGO0FBUUEsZUFBc0IsMkJBQTJCLEtBQTRDO0FBQzNGLFNBQU8sTUFBTSxJQUFJLGlDQUFpQyxHQUFHLEVBQUUsUUFBUTtBQUNqRTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,27 +0,0 @@
1
- /// <reference path="../../library.d.cts" />
2
- /**
3
- * @file
4
- *
5
- * Extracts the `BasesContext` constructor from a live bases view so a throwaway context can be
6
- * constructed to patch the bases note rendering.
7
- *
8
- * The `BasesContext` class is not exposed as a runtime value, so its constructor can only be read
9
- * from a live `controller.ctx` instance, which exists only once a base with a loaded query is open.
10
- * This resolves such an instance with as little disruption as possible: it reuses an already-open
11
- * bases view when present, otherwise opens an existing base file, and only as a last resort creates
12
- * (and removes) a temporary base file. The Bases internal plugin is enabled temporarily when needed
13
- * and restored to its previous state afterwards.
14
- */
15
- import type { BasesContext, ExtractConstructor } from '@obsidian-typings/obsidian-public-latest' with { 'resolution-mode': 'import' };
16
- import type { App } from 'obsidian' with { 'resolution-mode': 'import' };
17
- /**
18
- * The constructor of a {@link BasesContext}.
19
- */
20
- export type BasesContextConstructor = ExtractConstructor<BasesContext>;
21
- /**
22
- * Gets the {@link BasesContext} constructor.
23
- *
24
- * @param app - The Obsidian app instance.
25
- * @returns A {@link Promise} that resolves to the {@link BasesContextConstructor}.
26
- */
27
- export declare function getBasesContextConstructor(app: App): Promise<BasesContextConstructor>;
@@ -1,27 +0,0 @@
1
- /// <reference path="../../library.d.mts" />
2
- /**
3
- * @file
4
- *
5
- * Extracts the `BasesContext` constructor from a live bases view so a throwaway context can be
6
- * constructed to patch the bases note rendering.
7
- *
8
- * The `BasesContext` class is not exposed as a runtime value, so its constructor can only be read
9
- * from a live `controller.ctx` instance, which exists only once a base with a loaded query is open.
10
- * This resolves such an instance with as little disruption as possible: it reuses an already-open
11
- * bases view when present, otherwise opens an existing base file, and only as a last resort creates
12
- * (and removes) a temporary base file. The Bases internal plugin is enabled temporarily when needed
13
- * and restored to its previous state afterwards.
14
- */
15
- import type { BasesContext, ExtractConstructor } from '@obsidian-typings/obsidian-public-latest';
16
- import type { App } from 'obsidian';
17
- /**
18
- * The constructor of a {@link BasesContext}.
19
- */
20
- export type BasesContextConstructor = ExtractConstructor<BasesContext>;
21
- /**
22
- * Gets the {@link BasesContext} constructor.
23
- *
24
- * @param app - The Obsidian app instance.
25
- * @returns A {@link Promise} that resolves to the {@link BasesContextConstructor}.
26
- */
27
- export declare function getBasesContextConstructor(app: App): Promise<BasesContextConstructor>;
@@ -1,96 +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
- (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
- if (globalThis.process) {
9
- return;
10
- }
11
-
12
- const browserProcess = {
13
- browser: true,
14
- cwd() {
15
- return '/';
16
- },
17
- env: {},
18
- platform: 'android'
19
- };
20
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
- globalThis.process = browserProcess;
22
- })();
23
-
24
- import {
25
- InternalPluginName,
26
- ViewType
27
- } from "@obsidian-typings/obsidian-public-latest/implementations";
28
- import { retryWithTimeout } from "../../async.mjs";
29
- import { assertNonNullable } from "../../type-guards.mjs";
30
- import { BASE_FILE_EXTENSION } from "../file-system.mjs";
31
- import { trashSafe } from "../vault.mjs";
32
- class BasesContextConstructorExtractor {
33
- constructor(app) {
34
- this.app = app;
35
- }
36
- app;
37
- async extract() {
38
- const basesPlugin = this.app.internalPlugins.getPluginById(InternalPluginName.Bases);
39
- assertNonNullable(basesPlugin, "Bases plugin is not available");
40
- const wasBasesEnabled = basesPlugin.enabled;
41
- if (!wasBasesEnabled) {
42
- await basesPlugin.enable();
43
- }
44
- try {
45
- return await this.extractFromAnyBase();
46
- } finally {
47
- if (!wasBasesEnabled) {
48
- basesPlugin.disable();
49
- }
50
- }
51
- }
52
- async createTempBaseFile() {
53
- const basesPlugin = this.app.internalPlugins.getEnabledPluginById(InternalPluginName.Bases);
54
- assertNonNullable(basesPlugin, "Bases plugin is not enabled");
55
- return await basesPlugin.createNewBasesFile();
56
- }
57
- async extractFromAnyBase() {
58
- const openBasesLeaf = this.app.workspace.getLeavesOfType(ViewType.Bases)[0];
59
- if (openBasesLeaf) {
60
- return await this.extractFromLeaf(openBasesLeaf);
61
- }
62
- const existingBaseFile = this.app.vault.getFiles().find((file) => file.extension === BASE_FILE_EXTENSION);
63
- if (existingBaseFile) {
64
- return await this.openAndExtract(existingBaseFile, false);
65
- }
66
- const tempBaseFile = await this.createTempBaseFile();
67
- return await this.openAndExtract(tempBaseFile, true);
68
- }
69
- async extractFromLeaf(leaf) {
70
- await leaf.loadIfDeferred();
71
- await retryWithTimeout({
72
- operationFn: () => leaf.view.controller.ctx !== null,
73
- operationName: "getBasesContextConstructor"
74
- });
75
- return leaf.view.controller.ctx.constructor;
76
- }
77
- async openAndExtract(file, shouldTrashFile) {
78
- const leaf = this.app.workspace.getLeaf(true);
79
- try {
80
- await leaf.openFile(file);
81
- return await this.extractFromLeaf(leaf);
82
- } finally {
83
- leaf.detach();
84
- if (shouldTrashFile) {
85
- await trashSafe(this.app, file);
86
- }
87
- }
88
- }
89
- }
90
- async function getBasesContextConstructor(app) {
91
- return await new BasesContextConstructorExtractor(app).extract();
92
- }
93
- export {
94
- getBasesContextConstructor
95
- };
96
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbnN0cnVjdG9ycy9nZXQtYmFzZXMtY29udGV4dC1jb25zdHJ1Y3Rvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEV4dHJhY3RzIHRoZSBgQmFzZXNDb250ZXh0YCBjb25zdHJ1Y3RvciBmcm9tIGEgbGl2ZSBiYXNlcyB2aWV3IHNvIGEgdGhyb3dhd2F5IGNvbnRleHQgY2FuIGJlXG4gKiBjb25zdHJ1Y3RlZCB0byBwYXRjaCB0aGUgYmFzZXMgbm90ZSByZW5kZXJpbmcuXG4gKlxuICogVGhlIGBCYXNlc0NvbnRleHRgIGNsYXNzIGlzIG5vdCBleHBvc2VkIGFzIGEgcnVudGltZSB2YWx1ZSwgc28gaXRzIGNvbnN0cnVjdG9yIGNhbiBvbmx5IGJlIHJlYWRcbiAqIGZyb20gYSBsaXZlIGBjb250cm9sbGVyLmN0eGAgaW5zdGFuY2UsIHdoaWNoIGV4aXN0cyBvbmx5IG9uY2UgYSBiYXNlIHdpdGggYSBsb2FkZWQgcXVlcnkgaXMgb3Blbi5cbiAqIFRoaXMgcmVzb2x2ZXMgc3VjaCBhbiBpbnN0YW5jZSB3aXRoIGFzIGxpdHRsZSBkaXNydXB0aW9uIGFzIHBvc3NpYmxlOiBpdCByZXVzZXMgYW4gYWxyZWFkeS1vcGVuXG4gKiBiYXNlcyB2aWV3IHdoZW4gcHJlc2VudCwgb3RoZXJ3aXNlIG9wZW5zIGFuIGV4aXN0aW5nIGJhc2UgZmlsZSwgYW5kIG9ubHkgYXMgYSBsYXN0IHJlc29ydCBjcmVhdGVzXG4gKiAoYW5kIHJlbW92ZXMpIGEgdGVtcG9yYXJ5IGJhc2UgZmlsZS4gVGhlIEJhc2VzIGludGVybmFsIHBsdWdpbiBpcyBlbmFibGVkIHRlbXBvcmFyaWx5IHdoZW4gbmVlZGVkXG4gKiBhbmQgcmVzdG9yZWQgdG8gaXRzIHByZXZpb3VzIHN0YXRlIGFmdGVyd2FyZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCYXNlc0NvbnRleHQsXG4gIEJhc2VzVmlldyxcbiAgRXh0cmFjdENvbnN0cnVjdG9yXG59IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFRGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgSW50ZXJuYWxQbHVnaW5OYW1lLFxuICBWaWV3VHlwZVxufSBmcm9tICdAb2JzaWRpYW4tdHlwaW5ncy9vYnNpZGlhbi1wdWJsaWMtbGF0ZXN0L2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXQgfSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IEJBU0VfRklMRV9FWFRFTlNJT04gfSBmcm9tICcuLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyB0cmFzaFNhZmUgfSBmcm9tICcuLi92YXVsdC50cyc7XG5cbi8qKlxuICogVGhlIGNvbnN0cnVjdG9yIG9mIGEge0BsaW5rIEJhc2VzQ29udGV4dH0uXG4gKi9cbmV4cG9ydCB0eXBlIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yID0gRXh0cmFjdENvbnN0cnVjdG9yPEJhc2VzQ29udGV4dD47XG5cbmNsYXNzIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yRXh0cmFjdG9yIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHApIHt9XG5cbiAgcHVibGljIGFzeW5jIGV4dHJhY3QoKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGNvbnN0IGJhc2VzUGx1Z2luID0gdGhpcy5hcHAuaW50ZXJuYWxQbHVnaW5zLmdldFBsdWdpbkJ5SWQoSW50ZXJuYWxQbHVnaW5OYW1lLkJhc2VzKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShiYXNlc1BsdWdpbiwgJ0Jhc2VzIHBsdWdpbiBpcyBub3QgYXZhaWxhYmxlJyk7XG5cbiAgICBjb25zdCB3YXNCYXNlc0VuYWJsZWQgPSBiYXNlc1BsdWdpbi5lbmFibGVkO1xuICAgIGlmICghd2FzQmFzZXNFbmFibGVkKSB7XG4gICAgICBhd2FpdCBiYXNlc1BsdWdpbi5lbmFibGUoKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZXh0cmFjdEZyb21BbnlCYXNlKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICghd2FzQmFzZXNFbmFibGVkKSB7XG4gICAgICAgIGJhc2VzUGx1Z2luLmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZVRlbXBCYXNlRmlsZSgpOiBQcm9taXNlPFRGaWxlPiB7XG4gICAgY29uc3QgYmFzZXNQbHVnaW4gPSB0aGlzLmFwcC5pbnRlcm5hbFBsdWdpbnMuZ2V0RW5hYmxlZFBsdWdpbkJ5SWQoSW50ZXJuYWxQbHVnaW5OYW1lLkJhc2VzKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShiYXNlc1BsdWdpbiwgJ0Jhc2VzIHBsdWdpbiBpcyBub3QgZW5hYmxlZCcpO1xuICAgIHJldHVybiBhd2FpdCBiYXNlc1BsdWdpbi5jcmVhdGVOZXdCYXNlc0ZpbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXh0cmFjdEZyb21BbnlCYXNlKCk6IFByb21pc2U8QmFzZXNDb250ZXh0Q29uc3RydWN0b3I+IHtcbiAgICBjb25zdCBvcGVuQmFzZXNMZWFmID0gdGhpcy5hcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShWaWV3VHlwZS5CYXNlcylbMF07XG4gICAgaWYgKG9wZW5CYXNlc0xlYWYpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RGcm9tTGVhZihvcGVuQmFzZXNMZWFmKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ0Jhc2VGaWxlID0gdGhpcy5hcHAudmF1bHQuZ2V0RmlsZXMoKS5maW5kKChmaWxlKSA9PiBmaWxlLmV4dGVuc2lvbiA9PT0gQkFTRV9GSUxFX0VYVEVOU0lPTik7XG4gICAgaWYgKGV4aXN0aW5nQmFzZUZpbGUpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLm9wZW5BbmRFeHRyYWN0KGV4aXN0aW5nQmFzZUZpbGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wQmFzZUZpbGUgPSBhd2FpdCB0aGlzLmNyZWF0ZVRlbXBCYXNlRmlsZSgpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLm9wZW5BbmRFeHRyYWN0KHRlbXBCYXNlRmlsZSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4dHJhY3RGcm9tTGVhZihsZWFmOiBXb3Jrc3BhY2VMZWFmKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGF3YWl0IGxlYWYubG9hZElmRGVmZXJyZWQoKTtcblxuICAgIC8vIFRoZSBiYXNlcyB2aWV3IGNvbnRyb2xsZXIgZG9lcyBub3QgY3JlYXRlIGl0cyBjb250ZXh0IHN5bmNocm9ub3VzbHksIHNvIHdhaXQgdW50aWwgaXQgaGFzIGJ1aWx0XG4gICAgLy8gSXRzIGNvbnRleHQgYmVmb3JlIHJlYWRpbmcgdGhlIGNvbnN0cnVjdG9yLlxuICAgIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXQoe1xuICAgICAgb3BlcmF0aW9uRm46ICgpID0+ICgobGVhZi52aWV3IGFzIEJhc2VzVmlldykuY29udHJvbGxlci5jdHggYXMgQmFzZXNDb250ZXh0IHwgbnVsbCkgIT09IG51bGwsXG4gICAgICBvcGVyYXRpb25OYW1lOiAnZ2V0QmFzZXNDb250ZXh0Q29uc3RydWN0b3InXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKGxlYWYudmlldyBhcyBCYXNlc1ZpZXcpLmNvbnRyb2xsZXIuY3R4LmNvbnN0cnVjdG9yIGFzIEJhc2VzQ29udGV4dENvbnN0cnVjdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvcGVuQW5kRXh0cmFjdChmaWxlOiBURmlsZSwgc2hvdWxkVHJhc2hGaWxlOiBib29sZWFuKTogUHJvbWlzZTxCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcj4ge1xuICAgIGNvbnN0IGxlYWYgPSB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0TGVhZih0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbGVhZi5vcGVuRmlsZShmaWxlKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RGcm9tTGVhZihsZWFmKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgbGVhZi5kZXRhY2goKTtcbiAgICAgIGlmIChzaG91bGRUcmFzaEZpbGUpIHtcbiAgICAgICAgYXdhaXQgdHJhc2hTYWZlKHRoaXMuYXBwLCBmaWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB7QGxpbmsgQmFzZXNDb250ZXh0fSBjb25zdHJ1Y3Rvci5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHtAbGluayBCYXNlc0NvbnRleHRDb25zdHJ1Y3Rvcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYXNlc0NvbnRleHRDb25zdHJ1Y3RvcihhcHA6IEFwcCk6IFByb21pc2U8QmFzZXNDb250ZXh0Q29uc3RydWN0b3I+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBCYXNlc0NvbnRleHRDb25zdHJ1Y3RvckV4dHJhY3RvcihhcHApLmV4dHJhY3QoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyxpQkFBaUI7QUFPMUIsTUFBTSxpQ0FBaUM7QUFBQSxFQUM5QixZQUE2QixLQUFVO0FBQVY7QUFBQSxFQUFXO0FBQUEsRUFBWDtBQUFBLEVBRXBDLE1BQWEsVUFBNEM7QUFDdkQsVUFBTSxjQUFjLEtBQUssSUFBSSxnQkFBZ0IsY0FBYyxtQkFBbUIsS0FBSztBQUNuRixzQkFBa0IsYUFBYSwrQkFBK0I7QUFFOUQsVUFBTSxrQkFBa0IsWUFBWTtBQUNwQyxRQUFJLENBQUMsaUJBQWlCO0FBQ3BCLFlBQU0sWUFBWSxPQUFPO0FBQUEsSUFDM0I7QUFFQSxRQUFJO0FBQ0YsYUFBTyxNQUFNLEtBQUssbUJBQW1CO0FBQUEsSUFDdkMsVUFBRTtBQUNBLFVBQUksQ0FBQyxpQkFBaUI7QUFDcEIsb0JBQVksUUFBUTtBQUFBLE1BQ3RCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVBLE1BQWMscUJBQXFDO0FBQ2pELFVBQU0sY0FBYyxLQUFLLElBQUksZ0JBQWdCLHFCQUFxQixtQkFBbUIsS0FBSztBQUMxRixzQkFBa0IsYUFBYSw2QkFBNkI7QUFDNUQsV0FBTyxNQUFNLFlBQVksbUJBQW1CO0FBQUEsRUFDOUM7QUFBQSxFQUVBLE1BQWMscUJBQXVEO0FBQ25FLFVBQU0sZ0JBQWdCLEtBQUssSUFBSSxVQUFVLGdCQUFnQixTQUFTLEtBQUssRUFBRSxDQUFDO0FBQzFFLFFBQUksZUFBZTtBQUNqQixhQUFPLE1BQU0sS0FBSyxnQkFBZ0IsYUFBYTtBQUFBLElBQ2pEO0FBRUEsVUFBTSxtQkFBbUIsS0FBSyxJQUFJLE1BQU0sU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEtBQUssY0FBYyxtQkFBbUI7QUFDeEcsUUFBSSxrQkFBa0I7QUFDcEIsYUFBTyxNQUFNLEtBQUssZUFBZSxrQkFBa0IsS0FBSztBQUFBLElBQzFEO0FBRUEsVUFBTSxlQUFlLE1BQU0sS0FBSyxtQkFBbUI7QUFDbkQsV0FBTyxNQUFNLEtBQUssZUFBZSxjQUFjLElBQUk7QUFBQSxFQUNyRDtBQUFBLEVBRUEsTUFBYyxnQkFBZ0IsTUFBdUQ7QUFDbkYsVUFBTSxLQUFLLGVBQWU7QUFJMUIsVUFBTSxpQkFBaUI7QUFBQSxNQUNyQixhQUFhLE1BQVEsS0FBSyxLQUFtQixXQUFXLFFBQWdDO0FBQUEsTUFDeEYsZUFBZTtBQUFBLElBQ2pCLENBQUM7QUFFRCxXQUFRLEtBQUssS0FBbUIsV0FBVyxJQUFJO0FBQUEsRUFDakQ7QUFBQSxFQUVBLE1BQWMsZUFBZSxNQUFhLGlCQUE0RDtBQUNwRyxVQUFNLE9BQU8sS0FBSyxJQUFJLFVBQVUsUUFBUSxJQUFJO0FBQzVDLFFBQUk7QUFDRixZQUFNLEtBQUssU0FBUyxJQUFJO0FBQ3hCLGFBQU8sTUFBTSxLQUFLLGdCQUFnQixJQUFJO0FBQUEsSUFDeEMsVUFBRTtBQUNBLFdBQUssT0FBTztBQUNaLFVBQUksaUJBQWlCO0FBQ25CLGNBQU0sVUFBVSxLQUFLLEtBQUssSUFBSTtBQUFBLE1BQ2hDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQVFBLGVBQXNCLDJCQUEyQixLQUE0QztBQUMzRixTQUFPLE1BQU0sSUFBSSxpQ0FBaUMsR0FBRyxFQUFFLFFBQVE7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,6 +0,0 @@
1
- {
2
- "main": "../../../dist/lib/cjs/obsidian/constructors/get-bases-context-constructor.cjs",
3
- "module": "../../../dist/lib/esm/obsidian/constructors/get-bases-context-constructor.mjs",
4
- "type": "module",
5
- "types": "../../../dist/lib/cjs/obsidian/constructors/get-bases-context-constructor.d.cts"
6
- }