@lidofinance/satanizer
TypeScript icon, indicating that this package has built-in type declarations

0.43.0 • Public • Published

@lidofinance/satanizer

Zero dependencies tool, which masks secrets 🕵️

Installation

yarn add @lidofinance/satanizer

Usage

There are two types of usage, you can provide secrets first and then appy mask function.

import { satanizer } from '@lidofinance/satanizer';

const mask = satanizer([/0x[a-zA-Z0-9]+/])
const target = 'qwe 0xABC1 asd'
const result = 'qwe ****** asd'

expect(mask(target)).toBe(result)

Alternatively you can execute satanizer right away.

import { satanizer } from '@lidofinance/satanizer';

const target = 'qwe secret asd'
const result = 'qwe ****** asd'

expect(satanizer(['secret'], target)).toBe(result)

Pattern can be string or regular expression.

import { satanizer } from '@lidofinance/satanizer';

assert(satanizer(['secret', /0x[s]ecret/], 'qwe secret 0xsecret asd') === 'qwe ****** ******** asd')

Target can be a anything - string, object, array or Error.

import { satanizer } from '@lidofinance/satanizer';

const mask = satanizer(['secret'])

const target = { message: `there are secret` }
const result = { message: `there are ******` }
expect(mask(target)).toMatchObject(result)

const target = ['some secret item', 'some item']
const result = ['some ****** item', 'some item']
expect(mask(target)).toMatchObject(result)

const target = new Error(`there are secret`)
const result = { message: `there are ******` }
expect(mask(target)).toMatchObject(result)

Configuration

You can specify as well as your own secrets, as well as use some pre-build secrets patterns:

  • blockchainAddress (ETH and others).
  • ensAddress.
  • ipAddress.
  • macAddress.

You can use them one by one or all together.

import { commonPatterns } from '@lidofinance/satanizer'

const secrets = [/* your secrets */]
const mask = satanizer([...commonPatterns, ...secrets])

Readme

Keywords

none

Package Sidebar

Install

npm i @lidofinance/satanizer

Weekly Downloads

123

Version

0.43.0

License

MIT

Unpacked Size

24.4 kB

Total Files

11

Last publish

Collaborators

  • lidofinance-ui
  • lidofinance-group