Fork me on GitHub
#funcool
<
2016-05-27
>
kenny07:05:22

@niwinz: Getting

Uncaught TypeError: Cannot set property '_bitField' of undefined
with advanced compilation. Using promesa 1.2.0. Example code:
(ns cljs-js-wrapper.core
  (:require [promesa.core :as p]
            [beicon.core :as s]
            [postal.client :as pc]))

(enable-console-print!)

(defn ^:export client
  [url]
  (pc/client url))

(defn ^:export subscribe
  [c dest data]
  (pc/subscribe c dest (js->clj data :keywordize-keys true)))

(defn ^:export on-value
  [bus val-fn err-fn done-fn]
  (s/subscribe bus
               (fn [v]
                 (val-fn (clj->js v)))
               (fn [v]
                 (err-fn (clj->js v)))
               done-fn))

(defn ^:export send
  [c opts callback]
  (p/then (pc/send! c (js->clj opts :keywordize-keys true))
          (fn [frame]
            (callback (clj->js frame)))))

kenny07:05:57

Works in any other compilation besides :advanced

niwinz07:05:08

hmm, strange

kenny07:05:57

FYI, calling the code from JS like this:

var a = cljs_js_wrapper.core;
var client = a.client("");
a.subscribe(client, "stream-update");
a.send(client, {type: "novelty", dest: "foo", data: {id: "123"}}, function(v){
	console.log(v);
})

niwinz08:05:09

looks nice

niwinz08:05:17

abou the _bitField...

niwinz08:05:31

is strange because this is completly internal to bluebird

niwinz08:05:14

this is something thag google closure compiler in theory does not touches...

kenny18:05:33

@niwinz: Right. I was thinking it may have something to do with the externs. Might be worth trying to update bluebird to the latest?

ericfode20:05:25

@niwinz or @kenny : are you the owner of https://github.com/funcool/postal ? I have a pr for you if your are interested https://github.com/funcool/postal/pull/3

kenny20:05:53

I am not. @niwinz is.