maskdata
Version:
Node module to mask various kinds of data in the required formats
146 lines (130 loc) • 3.77 kB
Markdown
## Mask data for Typescript
The type definitions are bundled with the package. So, no need to install additional dependency. The type definitions are present here: https://github.com/Sumukha1496/maskdata/blob/master/index.d.ts
For more examples you can refer: [maskdata](https://www.npmjs.com/package/maskdata)
### Example: Mask password functionality
```javascript
import { maskPassword, PasswordMaskOptions } from 'maskdata';
const password: string = 'myPassword123';
const options: PasswordMaskOptions = {
maskWith: '*',
maxMaskedCharacters: 10,
fixedOutputLength: undefined,
unmaskedStartCharacters: 2,
unmaskedEndCharacters: 2
};
const maskedPassword = maskPassword(password, options);
```
<br/>
## Available mask configs/option
### 1. PasswordMaskOptions
Usage: [Password Masking](./README.md#mask-password)
```javascript
{
maskWith?: string;
maxMaskedCharacters?: number;
fixedOutputLength?: undefined | number;
unmaskedStartCharacters?: number;
unmaskedEndCharacters?: number;
}
```
### 2. CardMaskOptions
Usage: [Card masking](./README.md#mask-card-number)
```javascript
{
maskWith?: string;
unmaskedStartDigits?: number;
unmaskedEndDigits?: number;
}
```
### 3. EmailMask2Options
Usage: [Email masking](./README.md#mask-email-id)
```javascript
{
maskWith?: string;
unmaskedStartCharactersBeforeAt?: number;
unmaskedEndCharactersAfterAt?: number;
maskAtTheRate?: boolean;
}
```
### 4. PhoneMaskOptions
Usage: [Phone Number Masking](./README.md#mask-phone-number)
```javascript
{
maskWith?: string;
unmaskedStartDigits?: number;
unmaskedEndDigits?: number;
}
```
### 5. StringMaskOptions
Usage: [String masking](./README.md#mask-the-characters-or-words-in-the-string)
```javascript
{
maskWith?: string;
maskOnlyFirstOccurance?: boolean;
values?: string[];
maskAll?: boolean;
maskSpace?: boolean;
}
```
### 6. UuidMaskOptions
Usage: [UUID Masking](./README.md#mask-uuid)
```javascript
{
maskWith?: string;
unmaskedStartCharacters?: number;
unmaskedEndCharacters?: number;
}
```
### 7. StringMaskV2Options
Usage: [Generic String Masking](./README.md#generic-string-masking)
```javascript
{
maskWith?: string;
maxMaskedCharacters?: number;
fixedOutputLength?: undefined | number;
unmaskedStartCharacters?: number;
unmaskedEndCharacters?: number;
}
```
### 8. Mask JWT
Usage: [JWT masking](./README.md#mask-jwt-token)
```javascript
{
maskWith?: string;
maxMaskedCharacters?: number;
maskDot?: boolean;
maskHeader?: boolean;
maskPayload?: boolean;
maskSignature?: boolean;
}
```
### 9. JsonMask2Configs
Usage: [JSON fields masking](./README.md#mask-json)
```typescript
interface GenericStringMaskOptions {
config?: StringMaskV2Options;
fields: string[];
}
{
cardMaskOptions?: CardMaskOptions;
cardFields?: string[];
emailMaskOptions?: EmailMask2Options;
emailFields?: string[];
passwordMaskOptions?: PasswordMaskOptions;
passwordFields?: string[];
phoneMaskOptions?: PhoneMaskOptions;
phoneFields?: string[];
stringMaskOptions?: StringMaskOptions;
stringFields?: string[];
uuidMaskOptions?: UuidMaskOptions;
uuidFields?: string[];
jwtMaskOptions?: JwtMaskOptions;
jwtFields?: string[];
genericStrings?: GenericStringMaskOptions[]
}
```
<br/>
## Available imports
```javascript
import { maskPassword, PasswordMaskOptions, maskJSON2, JsonMask2Configs, maskPhone, PhoneMaskOptions, maskEmail2, EmailMask2Options, maskCard, CardMaskOptions, maskString, StringMaskOptions, maskUuid, UuidMaskOptions, maskJwt, JwtMaskOptions, maskStringV2, GenericStringMaskOptions, StringMaskV2Options, getInnerProperty, replaceValue } from 'maskdata';
```