@malloy-publisher/sdk 0.0.87 → 0.0.88

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.
@@ -8,7 +8,6 @@ import {
8
8
  } from "@mui/material";
9
9
  import React from "react";
10
10
  import { useWorkbookStorage } from "./WorkbookStorageProvider";
11
- import { usePackage } from "../Package";
12
11
  import { WorkbookLocator } from "./WorkbookStorage";
13
12
 
14
13
  interface WorkbookListProps {
@@ -20,7 +19,6 @@ interface WorkbookListProps {
20
19
 
21
20
  export function WorkbookList({ onWorkbookClick }: WorkbookListProps) {
22
21
  const { workbookStorage } = useWorkbookStorage();
23
- const packageContext = usePackage();
24
22
  const [workbooks, setWorkbooks] = React.useState<WorkbookLocator[]>([]);
25
23
  const [lastError, setLastError] = React.useState<string | undefined>(
26
24
  undefined,
@@ -28,30 +26,28 @@ export function WorkbookList({ onWorkbookClick }: WorkbookListProps) {
28
26
 
29
27
  React.useEffect(() => {
30
28
  if (workbookStorage) {
31
- workbookStorage
32
- .listWorkspaces(packageContext, false)
33
- .then((workspaces) => {
34
- const allWorkbooks: WorkbookLocator[] = [];
35
- Promise.all(
36
- workspaces.map(async (workspace) => {
37
- await workbookStorage
38
- .listWorkbooks(workspace, packageContext)
39
- .then((newWorkbooks) => {
40
- allWorkbooks.push(...newWorkbooks);
41
- })
42
- .catch((error) => {
43
- setLastError(
44
- `Error listing workbooks: ${error.message}`,
45
- );
46
- });
47
- }),
48
- ).then(() => {
49
- setWorkbooks(allWorkbooks);
50
- setLastError(undefined);
51
- });
29
+ workbookStorage.listWorkspaces(false).then((workspaces) => {
30
+ const allWorkbooks: WorkbookLocator[] = [];
31
+ Promise.all(
32
+ workspaces.map(async (workspace) => {
33
+ await workbookStorage
34
+ .listWorkbooks(workspace)
35
+ .then((newWorkbooks) => {
36
+ allWorkbooks.push(...newWorkbooks);
37
+ })
38
+ .catch((error) => {
39
+ setLastError(
40
+ `Error listing workbooks: ${error.message}`,
41
+ );
42
+ });
43
+ }),
44
+ ).then(() => {
45
+ setWorkbooks(allWorkbooks);
46
+ setLastError(undefined);
52
47
  });
48
+ });
53
49
  }
54
- }, [workbookStorage, packageContext]);
50
+ }, [workbookStorage]);
55
51
 
56
52
  return (
57
53
  <>
@@ -1,4 +1,3 @@
1
- import { PackageContextProps } from "../Package";
2
1
  import type { WorkbookLocator, WorkbookStorage } from "./WorkbookStorage";
3
2
 
4
3
  /**
@@ -40,21 +39,17 @@ export interface WorkbookCellValue {
40
39
  export class WorkbookManager {
41
40
  private isSaved: boolean;
42
41
  private workbookStorage: WorkbookStorage;
43
- private packageContext: PackageContextProps;
44
42
 
45
43
  /**
46
44
  * Creates a new WorkbookManager instance
47
45
  * @param {WorkbookStorage} workbookStorage - Storage implementation
48
- * @param {PackageContextProps} packageContext - Package context for storage
49
46
  * @param {WorkbookData} workbookData - Initial workbook data
50
47
  */
51
48
  constructor(
52
49
  workbookStorage: WorkbookStorage,
53
- packageContext: PackageContextProps,
54
50
  private workbookData: WorkbookData,
55
51
  ) {
56
52
  this.workbookStorage = workbookStorage;
57
- this.packageContext = packageContext;
58
53
  if (this.workbookData) {
59
54
  this.isSaved = true;
60
55
  } else {
@@ -92,7 +87,6 @@ export class WorkbookManager {
92
87
  if (this.workbookData.workbookPath.path !== workbookPath) {
93
88
  try {
94
89
  await this.workbookStorage.moveWorkbook(
95
- this.packageContext,
96
90
  this.workbookData.workbookPath,
97
91
  {
98
92
  path: workbookPath,
@@ -154,17 +148,12 @@ export class WorkbookManager {
154
148
  throw new Error("Workbook path is not set");
155
149
  }
156
150
  await this.workbookStorage.saveWorkbook(
157
- this.packageContext,
158
151
  this.workbookData.workbookPath,
159
152
  JSON.stringify(this.workbookData),
160
153
  );
161
154
  this.isSaved = true;
162
155
  }
163
- return new WorkbookManager(
164
- this.workbookStorage,
165
- this.packageContext,
166
- this.workbookData,
167
- );
156
+ return new WorkbookManager(this.workbookStorage, this.workbookData);
168
157
  }
169
158
 
170
159
  /**
@@ -188,11 +177,8 @@ export class WorkbookManager {
188
177
  .join("\n");
189
178
  }
190
179
 
191
- static newWorkbook(
192
- workbookStorage: WorkbookStorage,
193
- packageContext: PackageContextProps,
194
- ): WorkbookManager {
195
- return new WorkbookManager(workbookStorage, packageContext, undefined);
180
+ static newWorkbook(workbookStorage: WorkbookStorage): WorkbookManager {
181
+ return new WorkbookManager(workbookStorage, undefined);
196
182
  }
197
183
 
198
184
  /**
@@ -204,16 +190,11 @@ export class WorkbookManager {
204
190
  */
205
191
  static async loadWorkbook(
206
192
  workbookStorage: WorkbookStorage,
207
- packageContext: PackageContextProps,
208
193
  workbookPath: WorkbookLocator,
209
194
  ): Promise<WorkbookManager> {
210
195
  let workbookData: WorkbookData | undefined = undefined;
211
- console.log("loadWorkbook", workbookPath);
212
196
  try {
213
- const saved = await workbookStorage.getWorkbook(
214
- packageContext,
215
- workbookPath,
216
- );
197
+ const saved = await workbookStorage.getWorkbook(workbookPath);
217
198
  if (saved) {
218
199
  workbookData = JSON.parse(saved);
219
200
  }
@@ -225,6 +206,6 @@ export class WorkbookManager {
225
206
  workbookPath: workbookPath,
226
207
  };
227
208
  }
228
- return new WorkbookManager(workbookStorage, packageContext, workbookData);
209
+ return new WorkbookManager(workbookStorage, workbookData);
229
210
  }
230
211
  }
@@ -13,42 +13,22 @@ export interface WorkbookLocator {
13
13
 
14
14
  export interface WorkbookStorage {
15
15
  // Lists all available workspaces for the context.
16
- listWorkspaces(
17
- context: PackageContextProps,
18
- writeableOnly: boolean,
19
- ): Promise<Workspace[]>;
16
+ listWorkspaces(writeableOnly: boolean): Promise<Workspace[]>;
20
17
 
21
18
  // Lists all available workbooks for the context.
22
19
  // Workbooks names are like S3 paths- / denote hierarchical
23
20
  // folders, but otherwise folders are not "real" objects
24
- listWorkbooks(
25
- workspace: Workspace,
26
- context: PackageContextProps,
27
- ): Promise<WorkbookLocator[]>;
21
+ listWorkbooks(workspace: Workspace): Promise<WorkbookLocator[]>;
28
22
 
29
23
  // Returns the workbook at the specific path, throws an exception if no such workbook exists (or cannot be accessed)
30
- getWorkbook(
31
- context: PackageContextProps,
32
- path: WorkbookLocator,
33
- ): Promise<string>;
24
+ getWorkbook(path: WorkbookLocator): Promise<string>;
34
25
 
35
26
  // Deletes the workbook at the specified path, or throws an
36
27
  // Exception on failure
37
- deleteWorkbook(
38
- context: PackageContextProps,
39
- path: WorkbookLocator,
40
- ): Promise<void>;
28
+ deleteWorkbook(path: WorkbookLocator): Promise<void>;
41
29
 
42
- saveWorkbook(
43
- context: PackageContextProps,
44
- path: WorkbookLocator,
45
- workbook: string,
46
- ): Promise<void>;
30
+ saveWorkbook(path: WorkbookLocator, workbook: string): Promise<void>;
47
31
 
48
32
  // Moves workbook from the "from" path to the "to" path
49
- moveWorkbook(
50
- context: PackageContextProps,
51
- from: WorkbookLocator,
52
- to: WorkbookLocator,
53
- ): Promise<void>;
33
+ moveWorkbook(from: WorkbookLocator, to: WorkbookLocator): Promise<void>;
54
34
  }