WebAssembly / wasi-blobstore

15 stars 11 forks source link

ref(*)!: Reorganizes the blobstore interface #23

Open thomastaylor312 opened 3 months ago

thomastaylor312 commented 3 months ago

This is a relatively simple PR that mostly restructures things. This removes the container interface because there wasn't much you could do with it by itself, it always had to be used in conjunction with the blobstore interface. I also got rid of all of the type aliases for strings to make the types interface cleaner, as well as follow what we've been doing in the other wasi cloud interfaces with avoiding type aliases.

Additionally, I updated the timestamps to use the wasi-clock timestamps instead so we were using a concrete type. That was the only major change here, but it does solve an outstanding issue we have.

Closes #7

ossfellow commented 1 month ago

@thomastaylor312, with the proposed update, how either of the following wit/blobstore.wit functions can work for a different container than the one these methods are invoked for?

# blobstore.wit
copy-object: func(src: string, dest: string) -> result<_, string>;
move-object: func(src: string, dest: string) -> result<_, string>;

Before the update object-id, which is replaced by string was defined as:

# types.wit
  // identifier for an object that includes its container name
  record object-id {
    container: container-name,
    object: object-name
  }

So it had a container-name property, but that's lost now.