Skip to content
Snippets Groups Projects
objectHelpers.ts 739 B
Newer Older
/**
 * Created by gavorhes on 6/7/2016.
 */

import provide from './provide';
let nm = provide('util');


export interface keyVals {
    key: string;
    value: Object
}

/**
 * iterate over the key value pairs of an object
Glenn Vorhes's avatar
Glenn Vorhes committed
 * @example for (let x:KeyValuePair of keyValPairs(object)){..}
 * @param {object} obj - the input object
Glenn Vorhes's avatar
Glenn Vorhes committed
 * @returns {Array<keyVals>} - array of key value pairs
Glenn Vorhes's avatar
Glenn Vorhes committed
export function keyValPairs(obj): Array<keyVals> {
    let outArray: Array<keyVals> = [];
    for (let key of Object.keys(obj)) {
        outArray.push({'key': key, 'value': obj[key]});

    }
    outArray.sort(function (a, b) {
        "use strict";

        return a > b ? 1 : -1;
    });

    return outArray;
}

nm.keyValPairs = keyValPairs;