let ( >>| ) = Belt.Option.map
let resolve = Js.Promise.resolve
let () =
let zip_file = Zip.make () in
(* Create & manipulate *)
zip_file
|> Zip.add_file "README.md" "Hi! I'm inside this zip file!"
|> Zip.add_file "some_binary" (Node.Fs.readFileSync "foo" `binary)
|> Zip.folder "src"
|> Zip.add_file "hello.py" "print \"Hello, world!\"\n"
|> ignore;
(* Show contents *)
Zip.each (fun path file ->
Printf.printf "is %s a directory? %b\n" path file##dir) zip_file;
(* Load *)
Node.Fs.readFileSync "my_files.zip" `binary
|> Zip.load
|> Js.Promise.then_ (fun zip ->
zip
|> Zip.folder "things"
|> Zip.folder "stuff"
|> Zip.get "something.txt"
>>| Zip.Object.get_contents
>>| Js.Promise.then_ (fun x -> Js.log x |> resolve)
|> resolve)
|> ignore;
(* Generate *)
Zip.generate zip_file
|> Js.Promise.then_ (fun b ->
Node.Fs.writeFileSync "out.zip" b `binary
|> resolve)
|> ignore
-
Notifications
You must be signed in to change notification settings - Fork 0
rung-tools/bs-zip
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
OCaml & Reason bindings for JsZip
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published