`open` should make API calls. It needs to check if the file exists or not, and react to that. Whether or not you actually create a new file when appropriate on open vs. sync is your choice.

https://github.com/jvilk/BrowserFS/blob/master/src/generic/indexed_filesystem.coffee#L27