@pstdio/workbench 0.4.0 → 0.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.
Files changed (34) hide show
  1. package/README.md +66 -72
  2. package/dist/composition-resolver-types-CWykPyEK.js +241 -0
  3. package/dist/composition-resolver-types-CWykPyEK.js.map +1 -0
  4. package/dist/extensions.d.ts +359 -43
  5. package/dist/extensions.js +1595 -1044
  6. package/dist/extensions.js.map +1 -1
  7. package/dist/file-renderer-view-zpunbE4I.js +432 -0
  8. package/dist/file-renderer-view-zpunbE4I.js.map +1 -0
  9. package/dist/file-section-navigation-CfYqVObc.js +30 -0
  10. package/dist/file-section-navigation-CfYqVObc.js.map +1 -0
  11. package/dist/index.d.ts +287 -19
  12. package/dist/index.js +2323 -2011
  13. package/dist/index.js.map +1 -1
  14. package/dist/layout-types-DMoZz38-.js.map +1 -1
  15. package/dist/react.d.ts +157 -16
  16. package/dist/react.js +2675 -2736
  17. package/dist/react.js.map +1 -1
  18. package/dist/storage.d.ts +96 -2
  19. package/dist/storage.js +173 -115
  20. package/dist/storage.js.map +1 -1
  21. package/dist/testing.d.ts +146 -14
  22. package/dist/webview-runtime.js +1 -1
  23. package/dist/webview-runtime.js.map +1 -1
  24. package/dist/workbench-built-ins-BtgeB274.js +1171 -0
  25. package/dist/workbench-built-ins-BtgeB274.js.map +1 -0
  26. package/dist/workbench-menu-paths-Bb0ICxeG.js +20 -0
  27. package/dist/workbench-menu-paths-Bb0ICxeG.js.map +1 -0
  28. package/package.json +3 -3
  29. package/dist/context-key-service-W4QEfVdN.js +0 -1031
  30. package/dist/context-key-service-W4QEfVdN.js.map +0 -1
  31. package/dist/file-renderer-view-DrrhYnb_.js +0 -171
  32. package/dist/file-renderer-view-DrrhYnb_.js.map +0 -1
  33. package/dist/workbench-menu-paths-B_QJzcNU.js +0 -12
  34. package/dist/workbench-menu-paths-B_QJzcNU.js.map +0 -1
package/dist/storage.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  declare type ContributionSource = "module" | "extension";
2
2
 
3
+ declare type ContributionSource_2 = "module" | "extension";
4
+
3
5
  export declare const createLocalStorageHistoryPersistence: (input: CreateWorkbenchStoragePersistenceInput) => WorkbenchHistoryPersistence;
4
6
 
5
7
  export declare const createLocalStorageLastResourcePersistence: (input: CreateLocalStorageLastResourcePersistenceInput) => LastResourcePersistenceAdapter;
@@ -25,10 +27,11 @@ export declare interface CreateLocalStorageTreePersistenceInput extends CreateWo
25
27
  export declare const createLocalStorageWorkbenchPersistence: (input: CreateLocalStorageWorkbenchPersistenceInput) => {
26
28
  snapshotPersistence: WorkbenchPersistenceAdapter;
27
29
  historyPersistence: WorkbenchHistoryPersistence;
28
- layoutPersistence: LayoutPersistenceAdapter;
30
+ layoutPersistence: LayoutPersistenceAdapter_2;
29
31
  panelsPersistence: WorkbenchPanelsPersistenceAdapter;
30
32
  treePersistence: TreeRendererPersistenceAdapter;
31
33
  lastResourcePersistence: LastResourcePersistenceAdapter;
34
+ sidePanelPersistence: WorkbenchSidePanelPersistenceAdapter;
32
35
  };
33
36
 
34
37
  export declare interface CreateLocalStorageWorkbenchPersistenceInput extends CreateWorkbenchStoragePersistenceInput {
@@ -60,12 +63,31 @@ declare interface LastResourcePersistenceAdapter {
60
63
  declare interface LayoutPersistenceAdapter {
61
64
  getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
62
65
  setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
66
+ listScopes?(projectId: string): LayoutScope[];
67
+ transformLayouts?(projectId: string, transform: (layout: WorkbenchLayout, scope: LayoutScope) => WorkbenchLayout | undefined): void;
68
+ getCompatibilityMarker?(key: string): string | undefined;
69
+ setCompatibilityMarker?(key: string, value: string): void;
70
+ advanceWriteGeneration?(): number;
71
+ flush?(): void;
72
+ dispose?(): void;
73
+ }
74
+
75
+ declare interface LayoutPersistenceAdapter_2 {
76
+ getLayout(scope?: LayoutScope_2): WorkbenchLayout_2 | undefined;
77
+ setLayout(layout: WorkbenchLayout_2, scope?: LayoutScope_2): void;
78
+ listScopes?(projectId: string): LayoutScope_2[];
79
+ transformLayouts?(projectId: string, transform: (layout: WorkbenchLayout_2, scope: LayoutScope_2) => WorkbenchLayout_2 | undefined): void;
80
+ getCompatibilityMarker?(key: string): string | undefined;
81
+ setCompatibilityMarker?(key: string, value: string): void;
82
+ advanceWriteGeneration?(): number;
63
83
  flush?(): void;
64
84
  dispose?(): void;
65
85
  }
66
86
 
67
87
  declare type LayoutScope = string;
68
88
 
89
+ declare type LayoutScope_2 = string;
90
+
69
91
  declare interface PersistedTreeRendererStates {
70
92
  statesByTreeId: Record<string, TreeRendererState>;
71
93
  }
@@ -87,6 +109,15 @@ declare interface ResourceRef {
87
109
  metadata?: Record<string, unknown>;
88
110
  }
89
111
 
112
+ declare interface ResourceRef_2 {
113
+ kind: string;
114
+ uri: string;
115
+ id?: string;
116
+ label?: string;
117
+ icon?: string;
118
+ metadata?: Record<string, unknown>;
119
+ }
120
+
90
121
  declare interface TreeRendererPersistenceAdapter {
91
122
  getTreeStates(): PersistedTreeRendererStates | undefined;
92
123
  setTreeStates(states: PersistedTreeRendererStates): void;
@@ -101,6 +132,8 @@ declare interface TreeRendererState {
101
132
 
102
133
  declare type WidgetMountStrategy = "active" | "keep-mounted";
103
134
 
135
+ declare type WidgetMountStrategy_2 = "active" | "keep-mounted";
136
+
104
137
  declare interface WorkbenchClosedSubPanel {
105
138
  region: WorkbenchPanelRegion;
106
139
  reference: WorkbenchSubPanelRef;
@@ -121,6 +154,14 @@ declare interface WorkbenchLayout {
121
154
  activeResourceUri?: string;
122
155
  }
123
156
 
157
+ declare interface WorkbenchLayout_2 {
158
+ regions: Record<WorkbenchRegion_2, WorkbenchRegionState_2>;
159
+ locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion_2, string>>>;
160
+ activeWidgetId?: string;
161
+ activeLocationWidgetId?: string;
162
+ activeResourceUri?: string;
163
+ }
164
+
124
165
  declare interface WorkbenchLocationRef {
125
166
  key: string;
126
167
  modeId?: string;
@@ -146,8 +187,12 @@ declare interface WorkbenchNavigationEntry {
146
187
 
147
188
  declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
148
189
 
190
+ declare type WorkbenchPanelRegion_2 = (typeof workbenchPanelRegions_2)[number];
191
+
149
192
  declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
150
193
 
194
+ declare const workbenchPanelRegions_2: readonly ["main", "secondary", "side"];
195
+
151
196
  declare interface WorkbenchPanelsPersistenceAdapter {
152
197
  getPanelStates(scope?: string): PersistedWorkbenchPanels | undefined;
153
198
  setPanelStates(state: PersistedWorkbenchPanels, scope?: string): void;
@@ -162,8 +207,12 @@ declare interface WorkbenchPersistenceAdapter {
162
207
 
163
208
  declare type WorkbenchRegion = (typeof workbenchRegions)[number];
164
209
 
210
+ declare type WorkbenchRegion_2 = (typeof workbenchRegions_2)[number];
211
+
165
212
  declare const workbenchRegions: readonly ["nav", "activity", "sidenav-header", "sidenav", "main-header", "main-left-menu", "main", "main-right-menu", "secondary-header", "secondary-left-menu", "secondary", "secondary-right-menu", "side-header", "side-left-menu", "side", "side-right-menu", "status", "overlay"];
166
213
 
214
+ declare const workbenchRegions_2: readonly ["nav", "activity", "sidenav-header", "sidenav", "main-header", "main-left-menu", "main", "main-right-menu", "secondary-header", "secondary-left-menu", "secondary", "secondary-right-menu", "side-header", "side-left-menu", "side", "side-right-menu", "status", "overlay"];
215
+
167
216
  declare interface WorkbenchRegionState {
168
217
  id: WorkbenchRegion;
169
218
  visible: boolean;
@@ -172,19 +221,36 @@ declare interface WorkbenchRegionState {
172
221
  activeWidgetId?: string;
173
222
  }
174
223
 
224
+ declare interface WorkbenchRegionState_2 {
225
+ id: WorkbenchRegion_2;
226
+ visible: boolean;
227
+ size?: number;
228
+ widgets: WorkbenchWidgetPlacement_2[];
229
+ activeWidgetId?: string;
230
+ }
231
+
232
+ declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
233
+
234
+ declare interface WorkbenchSidePanelPersistenceAdapter {
235
+ getMode(): WorkbenchSidePanelMode | undefined;
236
+ setMode(mode: WorkbenchSidePanelMode): void;
237
+ }
238
+
175
239
  declare interface WorkbenchSnapshot {
176
240
  layout: WorkbenchLayout;
177
241
  }
178
242
 
179
243
  export declare interface WorkbenchStorageLike {
244
+ readonly length?: number;
180
245
  getItem(key: string): string | null;
246
+ key?(index: number): string | null;
181
247
  setItem(key: string, value: string): void;
182
248
  removeItem?(key: string): void;
183
249
  }
184
250
 
185
251
  export declare const workbenchStoragePersistenceKey: (namespace: string, kind: WorkbenchStoragePersistenceKind, scope: string | undefined) => string;
186
252
 
187
- export declare type WorkbenchStoragePersistenceKind = "history" | "layout" | "layout-resource-index" | "panels" | "tree" | "last-resource";
253
+ export declare type WorkbenchStoragePersistenceKind = "history" | "layout" | "layout-compatibility" | "layout-generation" | "layout-resource-index" | "layout-scope-index" | "panels" | "side-panel" | "tree" | "last-resource";
188
254
 
189
255
  declare interface WorkbenchSubPanelRef {
190
256
  contributionId: string;
@@ -194,6 +260,8 @@ declare interface WorkbenchSubPanelRef {
194
260
 
195
261
  declare type WorkbenchTabRetention = "preview" | "persistent";
196
262
 
263
+ declare type WorkbenchTabRetention_2 = "preview" | "persistent";
264
+
197
265
  declare interface WorkbenchWidgetPlacement {
198
266
  widgetId: string;
199
267
  contributionId: string;
@@ -212,12 +280,38 @@ declare interface WorkbenchWidgetPlacement {
212
280
  role?: WorkbenchWidgetRole;
213
281
  }
214
282
 
283
+ declare interface WorkbenchWidgetPlacement_2 {
284
+ widgetId: string;
285
+ contributionId: string;
286
+ ownerId?: string;
287
+ source?: ContributionSource_2;
288
+ resource?: ResourceRef_2;
289
+ resourceUri?: string;
290
+ ownerResourceUri?: string;
291
+ title?: string;
292
+ pinned?: boolean;
293
+ closable?: boolean;
294
+ mountStrategy?: WidgetMountStrategy_2;
295
+ hiddenByDefault?: boolean;
296
+ tabRetention?: WorkbenchTabRetention_2;
297
+ tab?: WorkbenchWidgetTab_2;
298
+ role?: WorkbenchWidgetRole_2;
299
+ }
300
+
215
301
  declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
216
302
 
303
+ declare type WorkbenchWidgetRole_2 = "content" | "location" | "sub-panel" | "panel-menu";
304
+
217
305
  declare interface WorkbenchWidgetTab {
218
306
  contentRendererId?: string;
219
307
  /** Custom actions shown when the user activates an already-active tab. */
220
308
  customMenuRendererId?: string;
221
309
  }
222
310
 
311
+ declare interface WorkbenchWidgetTab_2 {
312
+ contentRendererId?: string;
313
+ /** Custom actions shown when the user activates an already-active tab. */
314
+ customMenuRendererId?: string;
315
+ }
316
+
223
317
  export { }
package/dist/storage.js CHANGED
@@ -1,182 +1,240 @@
1
- import { b as E } from "./layout-types-DMoZz38-.js";
2
- const S = 2, P = 1, b = 50, r = (e, s, t) => `${e}:${s}:${t ?? "global"}`, N = () => {
1
+ const i = (e, t, n) => `${e}:${t}:${n ?? "global"}`, h = () => {
3
2
  const e = /* @__PURE__ */ new Map();
4
3
  return {
5
- getItem: (s) => e.get(s) ?? null,
6
- setItem: (s, t) => {
7
- e.set(s, t);
4
+ get length() {
5
+ return e.size;
8
6
  },
9
- removeItem: (s) => {
10
- e.delete(s);
7
+ getItem: (t) => e.get(t) ?? null,
8
+ key: (t) => [...e.keys()][t] ?? null,
9
+ setItem: (t, n) => {
10
+ e.set(t, n);
11
+ },
12
+ removeItem: (t) => {
13
+ e.delete(t);
11
14
  }
12
15
  };
13
- }, d = (e) => e || (typeof localStorage < "u" ? localStorage : N()), p = (e, s) => {
14
- const t = e.getItem(s);
15
- if (t)
16
+ }, d = (e) => e || (typeof localStorage < "u" ? localStorage : h()), y = (e, t) => {
17
+ const n = e.getItem(t);
18
+ if (n)
16
19
  try {
17
- return JSON.parse(t);
20
+ return JSON.parse(n);
18
21
  } catch {
19
22
  return;
20
23
  }
21
- }, T = (e) => {
22
- const s = d(e.storage), t = /* @__PURE__ */ new Map(), a = e.debounceMs ?? 250, m = e.eventTarget ?? (typeof window < "u" ? {
23
- addEventListener: (n, o) => window.addEventListener(n, o),
24
- removeEventListener: (n, o) => window.removeEventListener(n, o)
24
+ };
25
+ const T = (e) => {
26
+ const t = d(e.storage), n = /* @__PURE__ */ new Map(), c = e.debounceMs ?? 250, g = e.eventTarget ?? (typeof window < "u" ? {
27
+ addEventListener: (s, r) => window.addEventListener(s, r),
28
+ removeEventListener: (s, r) => window.removeEventListener(s, r)
25
29
  } : void 0);
26
30
  let l;
27
- const R = (n) => n?.match(/^project\/([^/]+)\/mode\/[^/]+\/resource\//)?.[1], O = (n) => {
28
- const o = R(n);
29
- if (!o || !n) return;
30
- const y = r(e.namespace, "layout-resource-index", o), c = p(s, y), i = typeof c == "object" && c !== null && "version" in c && c.version === P && "scopes" in c && Array.isArray(c.scopes) ? c.scopes.filter((g) => typeof g == "string" && g !== n && s.getItem(r(e.namespace, "layout", g)) !== null) : [];
31
- i.push(n);
32
- for (const g of i.splice(0, Math.max(0, i.length - b)))
33
- s.removeItem?.(r(e.namespace, "layout", g)), s.removeItem?.(r(e.namespace, "panels", g));
34
- const v = {
35
- version: P,
36
- scopes: i
31
+ const v = i(e.namespace, "layout-generation", void 0), S = () => {
32
+ const s = y(t, v);
33
+ return typeof s == "object" && s !== null && "version" in s && s.version === 1 && "generation" in s && typeof s.generation == "number" ? s.generation : 0;
34
+ }, O = () => {
35
+ const s = S() + 1, r = {
36
+ version: 1,
37
+ generation: s
37
38
  };
38
- s.setItem(y, JSON.stringify(v));
39
- }, f = () => {
39
+ return t.setItem(v, JSON.stringify(r)), s;
40
+ }, N = (s) => s?.match(/^project\/([^/]+)\/mode\/[^/]+\/resource\//)?.[1], I = (s) => s?.match(/^project\/([^/]+)/)?.[1], L = (s) => {
41
+ if (!t.key) return [];
42
+ const r = `${e.namespace}:layout:`, o = [];
43
+ for (let a = 0; a < (t.length ?? 0); a += 1) {
44
+ const m = t.key(a);
45
+ if (!m?.startsWith(r)) continue;
46
+ const u = m.slice(r.length);
47
+ I(u) === s && o.push(u);
48
+ }
49
+ return o;
50
+ }, f = (s, r) => {
51
+ const o = y(t, i(e.namespace, s, r));
52
+ return typeof o == "object" && o !== null && "version" in o && o.version === 1 && "scopes" in o && Array.isArray(o.scopes) ? o.scopes.filter((a) => typeof a == "string" && t.getItem(i(e.namespace, "layout", a)) !== null) : [];
53
+ }, E = (s, r, o) => {
54
+ const a = {
55
+ version: 1,
56
+ scopes: o
57
+ };
58
+ t.setItem(i(e.namespace, s, r), JSON.stringify(a));
59
+ }, R = (s) => {
60
+ const r = I(s);
61
+ if (!r || !s) return;
62
+ const o = f("layout-scope-index", r).filter((a) => a !== s);
63
+ o.push(s), E("layout-scope-index", r, o);
64
+ }, _ = (s) => {
65
+ const r = N(s);
66
+ if (!r || !s) return;
67
+ const o = f("layout-resource-index", r).filter((a) => a !== s);
68
+ o.push(s);
69
+ for (const a of o.splice(0, Math.max(0, o.length - 50)))
70
+ t.removeItem?.(i(e.namespace, "layout", a)), t.removeItem?.(i(e.namespace, "panels", a));
71
+ E("layout-resource-index", r, o);
72
+ }, p = () => {
40
73
  l && clearTimeout(l), l = void 0;
41
- const n = [...t.values()];
42
- t.clear();
43
- for (const o of n)
44
- s.setItem(r(e.namespace, "layout", o.scope), o.raw), O(o.scope), o.legacyPanelsKey && s.removeItem?.(o.legacyPanelsKey);
45
- }, I = () => {
46
- l && clearTimeout(l), l = setTimeout(f, a);
74
+ const s = [...n.values()];
75
+ n.clear();
76
+ const r = S();
77
+ for (const o of s)
78
+ o.generation === r && (t.setItem(i(e.namespace, "layout", o.scope), o.raw), R(o.scope), _(o.scope), o.legacyPanelsKey && t.removeItem?.(o.legacyPanelsKey));
79
+ }, P = () => {
80
+ l && clearTimeout(l), l = setTimeout(p, c);
47
81
  };
48
- return m?.addEventListener("pagehide", f), {
49
- getLayout: (n) => {
50
- const o = r(e.namespace, "layout", n), y = t.has(o) ? JSON.parse(t.get(o).raw) : p(s, o);
51
- if (y?.version === S) return y.layout;
52
- if (y?.version !== 1) return;
53
- const c = r(e.namespace, "panels", n), i = p(s, c), v = typeof i == "object" && i !== null && "openByRegionId" in i && typeof i.openByRegionId == "object" && i.openByRegionId !== null ? i.openByRegionId : {}, g = {
54
- ...y.layout.regions
55
- };
56
- for (const u of E) {
57
- const L = v[u];
58
- typeof L == "boolean" && g[u] && (g[u] = {
59
- ...g[u],
60
- visible: L
61
- });
82
+ return g?.addEventListener("pagehide", p), {
83
+ getLayout: (s) => {
84
+ const r = i(e.namespace, "layout", s), o = n.get(r), a = o && o.generation === S() ? JSON.parse(o.raw) : y(t, r);
85
+ if (a?.version === 3) return a.layout;
86
+ },
87
+ setLayout: (s, r) => {
88
+ const o = {
89
+ version: 3,
90
+ layout: s
91
+ }, a = i(e.namespace, "layout", r), m = i(e.namespace, "panels", r);
92
+ n.delete(a), n.set(a, {
93
+ generation: S(),
94
+ legacyPanelsKey: t.getItem(m) === null ? void 0 : m,
95
+ raw: JSON.stringify(o),
96
+ scope: r
97
+ }), P();
98
+ },
99
+ flush: p,
100
+ listScopes(s) {
101
+ return [.../* @__PURE__ */ new Set([...f("layout-scope-index", s), ...f("layout-resource-index", s), ...L(s)])];
102
+ },
103
+ transformLayouts(s, r) {
104
+ p(), O();
105
+ for (const o of this.listScopes?.(s) ?? []) {
106
+ const a = i(e.namespace, "layout", o), m = y(t, a);
107
+ if (m?.version !== 3) continue;
108
+ const u = r(m.layout, o);
109
+ if (!u) {
110
+ t.removeItem?.(a);
111
+ continue;
112
+ }
113
+ t.setItem(a, JSON.stringify({
114
+ version: 3,
115
+ layout: u
116
+ }));
62
117
  }
63
- const h = {
64
- ...y.layout,
65
- regions: g
66
- }, w = {
67
- version: S,
68
- layout: h
69
- };
70
- return t.set(o, {
71
- legacyPanelsKey: s.getItem(c) === null ? void 0 : c,
72
- raw: JSON.stringify(w),
73
- scope: n
74
- }), I(), h;
75
118
  },
76
- setLayout: (n, o) => {
77
- const y = {
78
- version: S,
79
- layout: n
80
- }, c = r(e.namespace, "layout", o), i = r(e.namespace, "panels", o);
81
- t.delete(c), t.set(c, {
82
- legacyPanelsKey: s.getItem(i) === null ? void 0 : i,
83
- raw: JSON.stringify(y),
84
- scope: o
85
- }), I();
119
+ getCompatibilityMarker: (s) => y(t, i(e.namespace, "layout-compatibility", s)),
120
+ setCompatibilityMarker: (s, r) => {
121
+ O(), t.setItem(i(e.namespace, "layout-compatibility", s), JSON.stringify(r));
86
122
  },
87
- flush: f,
123
+ advanceWriteGeneration: O,
88
124
  dispose() {
89
- f(), m?.removeEventListener("pagehide", f);
125
+ p(), g?.removeEventListener("pagehide", p);
90
126
  }
91
127
  };
92
128
  }, K = (e) => {
93
- const s = d(e.storage);
129
+ const t = d(e.storage);
94
130
  return {
95
- getHistory: (t) => p(s, r(e.namespace, "history", t)),
96
- setHistory: (t, a) => {
97
- s.setItem(r(e.namespace, "history", a), JSON.stringify(t));
131
+ getHistory: (n) => y(t, i(e.namespace, "history", n)),
132
+ setHistory: (n, c) => {
133
+ t.setItem(i(e.namespace, "history", c), JSON.stringify(n));
98
134
  }
99
135
  };
100
- }, J = (e) => {
101
- const s = d(e.storage);
136
+ }, k = (e) => {
137
+ const t = d(e.storage);
102
138
  return {
103
- getPanelStates: (t) => p(s, r(e.namespace, "panels", t ?? e.scope)),
104
- setPanelStates: (t, a) => {
105
- const m = r(e.namespace, "panels", a ?? e.scope);
106
- s.setItem(m, JSON.stringify(t));
139
+ getPanelStates: (n) => y(t, i(e.namespace, "panels", n ?? e.scope)),
140
+ setPanelStates: (n, c) => {
141
+ const g = i(e.namespace, "panels", c ?? e.scope);
142
+ t.setItem(g, JSON.stringify(n));
107
143
  }
108
144
  };
109
- }, k = (e) => {
110
- const s = d(e.storage), t = r(e.namespace, "tree", e.scope);
145
+ }, w = (e) => {
146
+ const t = d(e.storage), n = i(e.namespace, "tree", e.scope);
111
147
  return {
112
- getTreeStates: () => p(s, t),
113
- setTreeStates: (a) => {
114
- s.setItem(t, JSON.stringify(a));
148
+ getTreeStates: () => y(t, n),
149
+ setTreeStates: (c) => {
150
+ t.setItem(n, JSON.stringify(c));
115
151
  }
116
152
  };
117
- }, B = (e) => !!e && typeof e.kind == "string" && typeof e.uri == "string", M = (e) => {
118
- const s = d(e.storage), t = r(e.namespace, "last-resource", e.scope);
153
+ }, C = (e) => !!e && typeof e.kind == "string" && typeof e.uri == "string", W = (e) => {
154
+ const t = d(e.storage), n = i(e.namespace, "last-resource", e.scope);
119
155
  return {
120
156
  getLastResource: () => {
121
- const a = p(s, t);
122
- return B(a) ? a : void 0;
157
+ const c = y(t, n);
158
+ return C(c) ? c : void 0;
123
159
  },
124
- setLastResource: (a) => {
125
- if (!a) {
126
- s.removeItem?.(t);
160
+ setLastResource: (c) => {
161
+ if (!c) {
162
+ t.removeItem?.(n);
127
163
  return;
128
164
  }
129
- s.setItem(t, JSON.stringify(a));
165
+ t.setItem(n, JSON.stringify(c));
166
+ }
167
+ };
168
+ };
169
+ const H = ["attached", "closed", "floating"], b = (e) => {
170
+ const t = d(e.storage), n = i(e.namespace, "side-panel", e.scope);
171
+ return {
172
+ getMode: () => {
173
+ const c = y(t, n);
174
+ if (c?.version === 1)
175
+ return H.includes(c.mode) ? c.mode : void 0;
176
+ },
177
+ setMode: (c) => {
178
+ const g = {
179
+ version: 1,
180
+ mode: c
181
+ };
182
+ t.setItem(n, JSON.stringify(g));
130
183
  }
131
184
  };
132
- }, j = (e) => {
133
- const s = d(e.storage), t = T({
185
+ }, A = (e) => {
186
+ const t = d(e.storage), n = T({
134
187
  debounceMs: e.debounceMs,
135
188
  eventTarget: e.eventTarget,
136
189
  namespace: e.namespace,
137
- storage: s
190
+ storage: t
138
191
  });
139
192
  return {
140
193
  snapshotPersistence: {
141
- getSnapshot: (m) => {
142
- const l = t.getLayout(m);
194
+ getSnapshot: (g) => {
195
+ const l = n.getLayout(g);
143
196
  return l ? {
144
197
  layout: l
145
198
  } : void 0;
146
199
  },
147
- setSnapshot: (m, l) => t.setLayout(m.layout, l),
148
- flush: t.flush,
149
- dispose: t.dispose
200
+ setSnapshot: (g, l) => n.setLayout(g.layout, l),
201
+ flush: n.flush,
202
+ dispose: n.dispose
150
203
  },
151
204
  historyPersistence: K({
152
205
  namespace: e.namespace,
153
- storage: s
206
+ storage: t
154
207
  }),
155
- layoutPersistence: t,
156
- panelsPersistence: J({
208
+ layoutPersistence: n,
209
+ panelsPersistence: k({
157
210
  namespace: e.namespace,
158
211
  scope: e.scope ?? "global",
159
- storage: s
212
+ storage: t
213
+ }),
214
+ treePersistence: w({
215
+ namespace: e.namespace,
216
+ scope: e.scope,
217
+ storage: t
160
218
  }),
161
- treePersistence: k({
219
+ lastResourcePersistence: W({
162
220
  namespace: e.namespace,
163
221
  scope: e.scope,
164
- storage: s
222
+ storage: t
165
223
  }),
166
- lastResourcePersistence: M({
224
+ sidePanelPersistence: b({
167
225
  namespace: e.namespace,
168
226
  scope: e.scope,
169
- storage: s
227
+ storage: t
170
228
  })
171
229
  };
172
230
  };
173
231
  export {
174
232
  K as createLocalStorageHistoryPersistence,
175
- M as createLocalStorageLastResourcePersistence,
233
+ W as createLocalStorageLastResourcePersistence,
176
234
  T as createLocalStorageLayoutPersistence,
177
- J as createLocalStoragePanelsPersistence,
178
- k as createLocalStorageTreePersistence,
179
- j as createLocalStorageWorkbenchPersistence,
180
- r as workbenchStoragePersistenceKey
235
+ k as createLocalStoragePanelsPersistence,
236
+ w as createLocalStorageTreePersistence,
237
+ A as createLocalStorageWorkbenchPersistence,
238
+ i as workbenchStoragePersistenceKey
181
239
  };
182
240
  //# sourceMappingURL=storage.js.map