# shadowed-map **Repository Path**: mirrors_WebReflection/shadowed-map ## Basic Information - **Project Name**: shadowed-map - **Description**: A read-only Set for maps' keys or values. - **Primary Language**: Unknown - **License**: ISC - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-03 - **Last Updated**: 2026-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Shadowed Map [![build status](https://github.com/WebReflection/shadowed-map/actions/workflows/node.js.yml/badge.svg)](https://github.com/WebReflection/shadowed-map/actions) [![Coverage Status](https://coveralls.io/repos/github/WebReflection/shadowed-map/badge.svg?branch=main)](https://coveralls.io/github/WebReflection/shadowed-map?branch=main) A read-only Set for maps' keys or values, useful to expose a read-only *Set* that represents the mapped keys or values, without needing to expose the *Map* itself, and without being worried about keeping it in sync. ```js import {Keys, Vaues} from 'shadowed-map'; const map = new Map([ ['a', 1], ['b', 2] ]); const keys = new Keys(map); const values = new Values(map); [...keys]; // a, b [...values]; // 1, 2 keys.size; // 2 keys.has('a'); // true keys.keys(); // iterator keys.values(); // iterator keys.forEach; // same as Set#forEach map.set('c', 3); [...keys]; // a, b, c [...values]; // 1, 2, 3 ```