Hi there,
I have been trying to compile some audio code in clojurescript in advanced
mode. I have setup the w3c_audio.js extern (from:
http://closureplease.com/externs/) into my extern list. When I compile, it
prevents the munging of "AudioContext" (without the extern, this is being
munged, so the extern is 'working'). But it doesn't prevent the munging of
methods on AudioContext object.
A super minimal example (but not working code):
(def audio-context (js/AudioContext.))
(.decodeAudioData audio-context "data" #(println "ok" %) #(println "error"
%))
compiles with advanced to:
;var zv = new AudioContext;
zv.Rd("data", function(a) {
return fo.c(mh([a], 0));
}, function() {
return(0).call(null);
});
zv.Rd is wrong. It should be zv.decodeAudioData.
The externs file does indeed have this function prototype. here are the
excerpts:
/**
* @constructor
*/
var AudioContext = function() {};
....
/**
* @param {ArrayBuffer} audioData
* @param {Function} successCallback
* @param {Function=} errorCallback
*/
AudioContext.prototype.decodeAudioData = function(audioData,
successCallback,
errorCallback) {};
Why would closure compiler protect the AudioContext name, but munge the
decodeAudioData name? What am I doing wrong?
Regards
Crispin Wellington
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.