lib/ThirdParty/sdmxjsonlib.js
function(observations, seriesKey, dimIdx, attrIdx) {
    if (observations === undefined || observations === null) return;

    // process each observation in object.
    for (var key in observations) {
      // convert key from string to an array of numbers
      var obsDimIdx = key.split(KEY_SEPARATOR).map(Number);
      obsDimIdx.forEach(updateObsKey);

      var value = observations[key];
      if (value === null) continue;

      results.push(
        iterator.call(
          context,
          // String of dimension id values e.g. 'M.FI.P.2000'
          obsKey.join(KEY_SEPARATOR),
          // Same as obsKey but without obs level dims
          seriesKey,
          // observation value
          value[0],
          // Array of dimension indices e.g. [ 0, 4, 5, 18 ]
          dimIdx.concat(obsDimIdx),
          // Array of attribute indices e.g. [ 1, 92, 27 ]
          attrIdx.concat(value.slice(1)),
          // Array of dimension objects
          allDims,
          // Array of attribute objects
          allAttrs
        )
      );
    }
  }
function(observations, seriesKey, dimIdx, attrIdx) {
    if (observations === undefined || observations === null) return;

    // process each observation in object.
    for (var key in observations) {
      // convert key from string to an array of numbers
      var obsDimIdx = key.split(KEY_SEPARATOR).map(Number);
      obsDimIdx.forEach(updateObsKey);

      var value = observations[key];
      if (value === null) continue;

      results.push(
        iterator.call(
          context,
          // String of dimension id values e.g. 'M.FI.P.2000'
          obsKey.join(KEY_SEPARATOR),
          // Same as obsKey but without obs level dims
          seriesKey,
          // observation value
          value[0],
          // Array of dimension indices e.g. [ 0, 4, 5, 18 ]
          dimIdx.concat(obsDimIdx),
          // Array of attribute indices e.g. [ 1, 92, 27 ]
          attrIdx.concat(value.slice(1)),
          // Array of dimension objects
          allDims,
          // Array of attribute objects
          allAttrs
        )
      );
    }
  }
function ( observations , seriesKey , dimIdx , attrIdx ) { if ( observations === undefined || observations === null ) return ; // process each observation in object. for ( var key in observations ) { // convert key from string to an array of numbers var obsDimIdx = key . split ( KEY_SEPARATOR ) . map ( Number ) ; obsDimIdx . forEach ( updateObsKey ) ; var value = observations [ key ] ; if ( value === null ) continue ; results . push ( iterator . call ( context , // String of dimension id values e.g. 'M.FI.P.2000' obsKey . join ( KEY_SEPARATOR ) , // Same as obsKey but without obs level dims seriesKey , // observation value value [ 0 ] , // Array of dimension indices e.g. [ 0, 4, 5, 18 ] dimIdx . concat ( obsDimIdx ) , // Array of attribute indices e.g. [ 1, 92, 27 ] attrIdx . concat ( value . slice ( 1 ) ) , // Array of dimension objects allDims , // Array of attribute objects allAttrs ) ) ; } }
Process observations object and call the iterator function for each observation. Works for both dataset and series level observations. Updates the results array.
Process observations object and call the iterator function for each observation . Works for both dataset and series level observations . Updates the results array .