data-store.php

Basic data store utility -- unfinished
git clone git://git.finwo.net/lib/data-store.php
Log | Files | Refs

require.js (1545B)


      1 String.prototype.format = function(data) {
      2   var output   = this,
      3       flatData = {};
      4   (function flatten( obj, prefix ) {
      5     prefix = prefix || '';
      6     Object.keys(obj).forEach(function( key ) {
      7       var compositeKey = prefix + key;
      8       switch(typeof obj[key]) {
      9         case 'string':
     10         case 'number':
     11           flatData[compositeKey] = obj[key];
     12           break;
     13         case 'object':
     14           flatData[compositeKey] = obj[key];
     15           flatten( obj[key], compositeKey + '.' );
     16           break;
     17       }
     18     });
     19   })(data);
     20   Object.keys(flatData).forEach(function(key) {
     21     while(output.indexOf('{'+key+'}')>=0) output = output.replace('{'+key+'}',flatData[key]);
     22   });
     23   return output;
     24 };
     25 window.require=window.define= (function() {
     26   var a=function(o) {
     27         return Object.keys(o).map(function(k){return o[k]});
     28       },
     29       q=[],
     30       m={},
     31       k=[],
     32       l=function(n){if(k.indexOf(n)>=0)return;k.push(n);var x=new XMLHttpRequest();x.onreadystatechange=function(){if(x.readyState==XMLHttpRequest.DONE&&x.status==200)eval(x.responseText)};x.open('GET',r.uri+n+'.js',!0);x.send();},p=function(){var r=!0,ar=[],e=q.shift();if(!e)return;if(e.s&&m[e.s]){q.length&&setTimeout(p,5);return;}e.o.map(function(d){if(!r)return;if(m[d]){ar.push(m[d])}else{r=!1;q.push(e);l(d)}});if(r){e.s?m[e.s]=e.f.apply(null,ar):e.f.apply(null,ar)}q.length&&setTimeout(p,5)};function r(){var e={s:null,o:[],f:function(){}};a(arguments).map(function(arg){e[(typeof arg).substr(0,1)]=arg});q.push(e);p()}r.uri='/js/';r.amd=!0;return r
     33 })();