@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
33 lines • 3 kB
JavaScript
/**
* 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) {
const stringyKeys = keys.map((id) => id.toString());
const values = [];
for (const key of stringyKeys) {
// istanbul ignore else
if (hash[key]) {
values.push(hash[key]);
}
}
return values;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0dXJuLXZhbHVlcy1ieS1rZXlzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRlcm1pbnVzL25neC10b29scy91dGlsaXRpZXMvIiwic291cmNlcyI6WyJyZXR1cm4tdmFsdWVzLWJ5LWtleXMvcmV0dXJuLXZhbHVlcy1ieS1rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxJQUE0QixFQUFFLElBQXVCO0lBQ3pGLE1BQU0sV0FBVyxHQUFhLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFtQixFQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN2RixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFFdkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUU7UUFDN0IsdUJBQXVCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QjtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHJldHVybiBhbiBhcnJheSBvZiB2YWx1ZXMgZnJvbSBhbiBoYXNoIG9iamVjdFxuICpcbiAqIEBwYXJhbSBrZXlzIC0gVGhlIGFycmF5IGNvbnRhaW5pbmcgdGhlIGtleSB2YWx1ZXMgKG51bWJlcnxzdHJpbmcpIHRvIHJldHJpZXZlIGZyb20gdGhlIGhhc2hcbiAqIEBwYXJhbSBoYXNoIC0gVGhlIG9iamVjdCB0byBwdWxsIHZhbHVlcyBmcm9tXG4gKiBAcmV0dXJucyBUaGUgYXJyYXkgb2YgdmFsdWVzIHRoYXQgbWF0Y2gga2V5c1xuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCB0YWN0aWMxOiBNeVR5cGUgPSB7XG4gKiAgIGlkOiAxLFxuICogICBuYW1lOiAndGFjdGljMScsXG4gKiAgIGdvYWw6ICdnb2FsMScsXG4gKiB9XG4gKiBjb25zdCB0YWN0aWMyOiBNeVR5cGUgPSB7XG4gKiAgIGlkOiAyLFxuICogICBuYW1lOiAndGFjdGljMicsXG4gKiAgIGdvYWw6ICdnb2FsMicsXG4gKiB9XG4gKiBjb25zdCB0YWN0aWNzID0geyAxOiB0YWN0aWMxLCAyOiB0YWN0aWMyIH1cbiAqIHJldHVyblZhbHVlc0J5S2V5czxNeVR5cGU+KFsxXSwgdGFjdGljcykgLy8gUmV0dXJuczogYFt0YWN0aWMxXWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJldHVyblZhbHVlc0J5S2V5czxUPihrZXlzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+LCBoYXNoOiBSZWNvcmQ8c3RyaW5nLCBUPik6IFRbXSB7XG4gIGNvbnN0IHN0cmluZ3lLZXlzOiBzdHJpbmdbXSA9IGtleXMubWFwKChpZDogbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nID0+IGlkLnRvU3RyaW5nKCkpO1xuICBjb25zdCB2YWx1ZXM6IFRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3Qga2V5IG9mIHN0cmluZ3lLZXlzKSB7XG4gICAgLy8gaXN0YW5idWwgaWdub3JlIGVsc2VcbiAgICBpZiAoaGFzaFtrZXldKSB7XG4gICAgICB2YWx1ZXMucHVzaChoYXNoW2tleV0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZXM7XG59XG4iXX0=