JSFiddle - React, Tailwind, and code Playground
by Chase Wilson
JavaScript
console.log('\n\n\n\n\n\n\n\n\n\n\n\n');
var _NAMESPACE_ = window._NAMESPACE_ || window;
if(!window.Data){
_NAMESPACE_.Data = {};
}
/*
// Sample JSON data
data = {
"profile":{
"current":160,
"target":150
},
"program": [
{
"category":"exercise",
"weekly schedule":[
{"day":"sunday", "activity":"swimming"},
{"day":"monday", "activity":"running"},
{"day":"tuesday", "activity":"biking"},
{"day":"wednesday", "activity":"running"},
{"day":"thursday", "activity":"swimming"},
{"day":"friday", "activity":"running"},
{"day":"saturday", "activity":"golf"}
]
}
]
};
var mySchema = {
metaFields: {current:"profile.current", target:"profile.target"},
dataList: "program[0]['weekly schedule']",
dataFields: [{key:"day"}, {key:"activity"}]
};
new DataSchema(data,mySchema);
*/
(function(ns){
var DataSchema = ns.DataSchema = new Class({
dataOut : null
,_data : null
,dataSchema:null
,initialize: function(data, schema){
console.log('this.initialize');
this.apply(data, schema);
}
,apply: function(data, schema){
console.log('this.apply');
this._data = data,
this.dataOut = { results: [], meta: {} };
schema = this.dataSchema = schema || {};
// Convert incoming JSON strings
if(typeOf(data) != 'object') {
try {
this._data = JSON.parse(data);
} catch(e) {
console.error(e.message);
this.dataOut.error = e;
return this.dataOut;
}
}
if((typeof this._data === 'object') && this.dataSchema) {
// Parse results data
...