@server/next 0.25.9 → 0.25.10

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": "@server/next",
3
- "version": "0.25.9",
3
+ "version": "0.25.10",
4
4
  "description": "A fully-fledged web server with routing, file uploads, sessions, static files, schema validation, websockets, testing, etc.",
5
5
  "homepage": "https://server-js.com/",
6
6
  "repository": "https://github.com/franciscop/server-next.git",
@@ -33,9 +33,14 @@ function thinLocalBucket(root) {
33
33
  }
34
34
  return fs.createWriteStream(fullPath);
35
35
  },
36
- delete: (name) => {
36
+ delete: async (name) => {
37
37
  const fullPath = absolute(name);
38
- return fsp.unlink(fullPath);
38
+ try {
39
+ await fsp.unlink(fullPath);
40
+ return true;
41
+ } catch (error) {
42
+ return false;
43
+ }
39
44
  },
40
45
  };
41
46
  }
@@ -37,4 +37,15 @@ describe("bucket", () => {
37
37
  const stream = await localBucket.read("testFile.txt");
38
38
  expect(stream).toBeNull();
39
39
  });
40
+
41
+ it("removes an existing file", async () => {
42
+ await localBucket.write("testFile.txt", "To be deleted");
43
+ const isDeleted = await localBucket.delete("testFile.txt");
44
+ expect(isDeleted).toBe(true);
45
+ });
46
+
47
+ it("tries to remove a non-existing file", async () => {
48
+ const isDeleted = await localBucket.delete("nonExistentFile.txt");
49
+ expect(isDeleted).toBe(false);
50
+ });
40
51
  });
package/src/index.d.ts CHANGED
@@ -17,7 +17,21 @@ type Store = {
17
17
  ) => Promise<any>;
18
18
  };
19
19
 
20
- type Bucket = any;
20
+ type Bucket =
21
+ | string
22
+ | {
23
+ read: (key: string) => ReadableStream;
24
+ write: (
25
+ key: string,
26
+ data:
27
+ | string
28
+ | NodeJS.ArrayBufferView
29
+ | Iterable<string | NodeJS.ArrayBufferView>
30
+ | AsyncIterable<string | NodeJS.ArrayBufferView>,
31
+ type: BufferEncoding,
32
+ ) => Promise<Boolean>;
33
+ delete: (key: string) => Promise<Boolean>;
34
+ };
21
35
 
22
36
  type Auth = {
23
37
  type: "cookie" | "token";