lib/ThirdParty/sdmxjsonlib.js
function(series) {
    if (series === undefined || series === null) return;

    for (var key in series) {
      // Convert key from string into array of numbers
      var serDimIdx = key.split(KEY_SEPARATOR).map(Number);
      // Update series and obs keys
      serDimIdx.forEach(updateSeriesAndObsKeys);

      var value = series[key];
      var serAttrIdx = [];

      if (Array.isArray(value.attributes)) {
        serAttrIdx = value.attributes;
      }

      processObservations(
        value.observations,
        seriesKey.join(KEY_SEPARATOR),
        dsDimIdx.concat(serDimIdx),
        dsAttrIdx.concat(serAttrIdx)
      );
    }
  }
function(series) {
    if (series === undefined || series === null) return;

    for (var key in series) {
      // Convert key from string into array of numbers
      var serDimIdx = key.split(KEY_SEPARATOR).map(Number);
      // Update series and obs keys
      serDimIdx.forEach(updateSeriesAndObsKeys);

      var value = series[key];
      var serAttrIdx = [];

      if (Array.isArray(value.attributes)) {
        serAttrIdx = value.attributes;
      }

      processObservations(
        value.observations,
        seriesKey.join(KEY_SEPARATOR),
        dsDimIdx.concat(serDimIdx),
        dsAttrIdx.concat(serAttrIdx)
      );
    }
  }
function ( series ) { if ( series === undefined || series === null ) return ; for ( var key in series ) { // Convert key from string into array of numbers var serDimIdx = key . split ( KEY_SEPARATOR ) . map ( Number ) ; // Update series and obs keys serDimIdx . forEach ( updateSeriesAndObsKeys ) ; var value = series [ key ] ; var serAttrIdx = [ ] ; if ( Array . isArray ( value . attributes ) ) { serAttrIdx = value . attributes ; } processObservations ( value . observations , seriesKey . join ( KEY_SEPARATOR ) , dsDimIdx . concat ( serDimIdx ) , dsAttrIdx . concat ( serAttrIdx ) ) ; } }
Call processObservations for each series object
Call processObservations for each series object