@terminus/ngx-tools
Version:
[![CircleCI][circle-badge]][circle-link] [![codecov][codecov-badge]][codecov-project] [![semantic-release][semantic-release-badge]][semantic-release] [![MIT License][license-image]][license-url] <br> [![NPM version][npm-version-image]][npm-url] [![Github
45 lines • 3.59 kB
JavaScript
import { __values } from "tslib";
/**
* Helper function to return an array of values from an hash object
*
* @param keys - The array containing the key values (number|string) to retrieve from the hash
* @param hash - The object to pull values from
* @returns The array of values that match keys
*
* @example
* const tactic1: MyType = {
* id: 1,
* name: 'tactic1',
* goal: 'goal1',
* }
* const tactic2: MyType = {
* id: 2,
* name: 'tactic2',
* goal: 'goal2',
* }
* const tactics = { 1: tactic1, 2: tactic2 }
* returnValuesByKeys<MyType>([1], tactics) // Returns: `[tactic1]`
*/
export function returnValuesByKeys(keys, hash) {
var e_1, _a;
var stringyKeys = keys.map(function (id) { return id.toString(); });
var values = [];
try {
for (var stringyKeys_1 = __values(stringyKeys), stringyKeys_1_1 = stringyKeys_1.next(); !stringyKeys_1_1.done; stringyKeys_1_1 = stringyKeys_1.next()) {
var key = stringyKeys_1_1.value;
// istanbul ignore else
if (hash[key]) {
values.push(hash[key]);
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (stringyKeys_1_1 && !stringyKeys_1_1.done && (_a = stringyKeys_1.return)) _a.call(stringyKeys_1);
}
finally { if (e_1) throw e_1.error; }
}
return values;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0dXJuLXZhbHVlcy1ieS1rZXlzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRlcm1pbnVzL25neC10b29scy91dGlsaXRpZXMvIiwic291cmNlcyI6WyJyZXR1cm4tdmFsdWVzLWJ5LWtleXMvcmV0dXJuLXZhbHVlcy1ieS1rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUksSUFBNEIsRUFBRSxJQUF1Qjs7SUFDekYsSUFBTSxXQUFXLEdBQWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQW1CLElBQWEsT0FBQSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQWIsQ0FBYSxDQUFDLENBQUM7SUFDdkYsSUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDOztRQUV2QixLQUFrQixJQUFBLGdCQUFBLFNBQUEsV0FBVyxDQUFBLHdDQUFBLGlFQUFFO1lBQTFCLElBQU0sR0FBRyx3QkFBQTtZQUNaLHVCQUF1QjtZQUN2QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDYixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0Y7Ozs7Ozs7OztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byByZXR1cm4gYW4gYXJyYXkgb2YgdmFsdWVzIGZyb20gYW4gaGFzaCBvYmplY3RcbiAqXG4gKiBAcGFyYW0ga2V5cyAtIFRoZSBhcnJheSBjb250YWluaW5nIHRoZSBrZXkgdmFsdWVzIChudW1iZXJ8c3RyaW5nKSB0byByZXRyaWV2ZSBmcm9tIHRoZSBoYXNoXG4gKiBAcGFyYW0gaGFzaCAtIFRoZSBvYmplY3QgdG8gcHVsbCB2YWx1ZXMgZnJvbVxuICogQHJldHVybnMgVGhlIGFycmF5IG9mIHZhbHVlcyB0aGF0IG1hdGNoIGtleXNcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdGFjdGljMTogTXlUeXBlID0ge1xuICogICBpZDogMSxcbiAqICAgbmFtZTogJ3RhY3RpYzEnLFxuICogICBnb2FsOiAnZ29hbDEnLFxuICogfVxuICogY29uc3QgdGFjdGljMjogTXlUeXBlID0ge1xuICogICBpZDogMixcbiAqICAgbmFtZTogJ3RhY3RpYzInLFxuICogICBnb2FsOiAnZ29hbDInLFxuICogfVxuICogY29uc3QgdGFjdGljcyA9IHsgMTogdGFjdGljMSwgMjogdGFjdGljMiB9XG4gKiByZXR1cm5WYWx1ZXNCeUtleXM8TXlUeXBlPihbMV0sIHRhY3RpY3MpIC8vIFJldHVybnM6IGBbdGFjdGljMV1gXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXR1cm5WYWx1ZXNCeUtleXM8VD4oa2V5czogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiwgaGFzaDogUmVjb3JkPHN0cmluZywgVD4pOiBUW10ge1xuICBjb25zdCBzdHJpbmd5S2V5czogc3RyaW5nW10gPSBrZXlzLm1hcCgoaWQ6IG51bWJlciB8IHN0cmluZyk6IHN0cmluZyA9PiBpZC50b1N0cmluZygpKTtcbiAgY29uc3QgdmFsdWVzOiBUW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBzdHJpbmd5S2V5cykge1xuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBlbHNlXG4gICAgaWYgKGhhc2hba2V5XSkge1xuICAgICAgdmFsdWVzLnB1c2goaGFzaFtrZXldKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsdWVzO1xufVxuIl19