aboutsummaryrefslogtreecommitdiffstats
path: root/syte/static/js/libs/json.js
diff options
context:
space:
mode:
Diffstat (limited to 'syte/static/js/libs/json.js')
-rw-r--r--syte/static/js/libs/json.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/syte/static/js/libs/json.js b/syte/static/js/libs/json.js
new file mode 100644
index 0000000..fbf3fbc
--- /dev/null
+++ b/syte/static/js/libs/json.js
@@ -0,0 +1,42 @@
+/*!
+ * RequireJS plugin for loading JSON files
+ * - depends on Text plugin and it was HEAVILY "inspired" by it as well.
+ *
+ * IMPORTANT: it only works on r.js optimizer after version 0.26+ 20011/09/27
+ *
+ * @author Miller Medeiros
+ * @version 0.0.1 (2011/06/10)
+ * Released under the WTFPL <http://sam.zoy.org/wtfpl/>
+ */
+define(['text'], function(text){
+
+ var jsonParse = (typeof JSON !== 'undefined' && typeof JSON.parse === 'function')? JSON.parse : function(val){
+ return eval('('+ val +')'); //quick and dirty
+ },
+ buildMap = {};
+
+ //API
+ return {
+
+ load : function(name, req, onLoad, config) {
+ text.get(req.toUrl(name), function(data){
+ if (config.isBuild) {
+ buildMap[name] = data;
+ onLoad(data);
+ } else {
+ onLoad(jsonParse(data));
+ }
+ });
+ },
+
+ //write method based on RequireJS official text plugin by James Burke
+ //https://github.com/jrburke/requirejs/blob/master/text.js
+ write : function(pluginName, moduleName, write){
+ if(moduleName in buildMap){
+ var content = buildMap[moduleName];
+ write('define("'+ pluginName +'!'+ moduleName +'", function(){ return '+ content +';});\n');
+ }
+ }
+
+ };
+}); \ No newline at end of file