Giter Site home page Giter Site logo

binit's Introduction

binit

cljs library to wrap horrible in-browser js binary fetching and convert to base64

Purpose:

Fetching a binary file and doing something to it from in-browser javascript is horrendously convoluted, involving diddling with the properties of http requests, instantiating seemingly random objects, asking the browser to pretend that a sequence of ints was intended to be unicode and calling string methods on it, and other bizarre Fear and Loathing in Javascript kinds of nonsense.

It, like most Javascript things, makes me sad. But Clojure makes me happy, and if you're looking at this it probably makes you happy too. So let's just do the whole thing in Clojurescript like a rational person.

Usage:

get the library and such like normal. You also need core.async.

[paulitheism/binit "0.0.1-SNAPSHOT"]

only not just yet because I should probably test this at least a little before I put it up on clojars.

and then

(require '[binit.core :refer [fetch-binary]])

You've got some binary file sitting on a server somewhere that you want to do something side-effectey with (like send to another server, fire off in a message in a clojurescript extension, etc.) without going through Javascript encoding hell.

(fetch-binary func url) asynchronously fetches the binary file at url, converts it to base64, and calls func on it.

That's it. That's all it does.

binit's People

Contributors

paultopia avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.