Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sweatmap

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sweatmap

SweatMap takes in a series of UTF-8 strings and maps them to UTF-8 strings that are as small as possible while still being unique.

  • 0.3.6
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

SweatMap

npm version Build Status

Take in a series of UTF-8 strings and map them to UTF-8 strings that are as small as possible while still being unique.

Why?

The motivation behind SweatMap was to take semantic CSS Identifiers (e.g. for selectors) and make them as small as possible at build time. With new tools that can take advantage of CSS Modules all we needed was something to map our current class names to something smaller.

Installation

npm install sweatmap --save

How to use

SweatMap uses a few ES6 features that may not be present in your Node/Browser depending on the version. These include: Array.fill, Object.assign, Object.freeze, and Object.keys

  • Constructor(obj):

    Takes in an object with up to three optional properties:

    • cssSafe [default false]: true disallows characters that aren't safe for CSS Identifiers.
    • additional_ranges [object]: An object where the key is a "range name" and the value is an object with a start character point and an end character point. You can set null to either start or end to remove a character range.
    • existing_strings [default {}]: Pass in an object of strings that you don't want changed. Key is the original name, value is the name that should be used.
  • bytes(string): Returns a byte count of the string passed in.

  • size(): Returns number of entries in the map.

  • cssSafeString(string): Determines if the string is a safe CSS Identifier.

  • set(string): Returns an obfuscated UTF-8 string that's unique to all strings in the map.

  • delete(key): Removes the string from the map.

  • clear(): Empties the map.

  • clear(): Empties the map.

  • entries(): Returns a new Iterator object that contains the [key, value] pairs for each element in the Map object in insertion order.

  • get(key): Returns the value for a given key.

  • get_obfuscated(value): Returns the key for a given value.

  • has(key): Returns true/false if a key exists in the map.

  • has_obfuscated(value): Returns true/false if a value exists in the map.

Keywords

FAQs

Package last updated on 24 Mar 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc