New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

suchjs

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

suchjs

A powerful fake data library, configurable and customizable, generate data more accurate.

latest
Source
npmnpm
Version
3.1.3
Version published
Weekly downloads
15
50%
Maintainers
1
Weekly downloads
 
Created
Source

Suchjs

Suchjs Logo

npm version  Build Status  Coverage Status

An expandable and powerful library for generating fake data, both in nodejs & browser envirionment. You can use it to build a mock data server in nodejs, or just mocking data locally in the browser, normal built-in types can seen in official site, more extended types can seen in the document, you can start it easily.

Installation

How to install

Online demos

import globalSuch from 'suchjs';
// assign a city data
globalSuch.assign('city', {
  BeiJing: {
    BeiJing: ['ChaoYang', 'HaiDian', 'DongCheng'],
  },
  ShangHai: {
    ShangHai: ['JingAn', 'PuDong', 'PuTuo'],
  },
  GuangZhou: {
    GuangZhou: ['PanYu', 'YueXiu', 'BaiYun'],
  },
});
// assign a type 'mobile$china' base on 'regexp' type
globalSuch.define(
  'mobile$china',
  'regexp',
  '/(\\+86-)?(?<service>1[3-8][0-9])\\d{8}/',
);
// assign a type 'who' as an enum type
globalSuch.define('who', ["I'm", "He's", "She's"]);
console.log(globalSuch.as({
  string: ":string:[65,121]:{10,20}:@concat('_suffix')",
  number: ':number:[100,200]:%.2f',
  date: ":date:['-1 week','+1 week']:%yyyy-mm-dd HH\\:MM\\:ss",
  regexp: ':regexp:/[a-z]{1,3}[0-9]{2,10}/',
  range: ':increment:{2,3}:#[start=2,step=3]',
  'menu{2}': {
    id: ':increment',
    title: ':uppercase:{5,10}',
    'childs{2}': {
      cid: ':increment',
      refPid: ':ref:&../id',
      title: ':lowercase:{5,10}',
    },
  },
  cascader: {
    province: ':cascader:#[root=true,data=city]',
    city: ':cascader:&./province',
    area: ':cascader:&./city',
  },
  'enum:{1}': ['one', 'two'],
  template:
    ':::`:who` coming from `:ref:&./cascader/province`-`:ref:&./cascader/city`-`:ref:&./cascader/area`',
  diy: ':mobile$china',
  escape: '\\:number',
  extends: {
    bool: ':bool',
    int: ':int',
    percent: ':percent',
    uppercase: ':uppercase:{2,4}',
    lowercase: ':lowercase:{2,4}',
    alpha: ':alpha:{3,6}',
    alphaNumeric: ':alphaNumeric:{3,6}',
    alphaNumericDash: ':alphaNumericDash:{3,6}',
    tld: ':tld',
    domain: ':domain',
    protocol: ':protocol',
    url: ':url',
    email: ":email:#[domain='163.com']",
    ipv4: ':ipv4',
    ipv6: ':ipv6',
    color$hex: ':color$hex',
    color$rgb: ':color$rgb',
    color$rgba: ':color$rgba',
    color$hsl: ':color$hsl',
    color$hsla: ':color$hsla',
  },
}));

Playground

Changelog

Changelog

Expandable & Powerful

Suchjs has powerful APIs for you to design your own data, you can use a template literal mixed normal string and all supported data types to generate a DIY string just like an article. A built-in recommend extend types can be seen in such:recommend

Questions & Bugs?

Welcome to report to us with issue if you meet any question or bug.

License

MIT License.

Keywords

fake

FAQs

Package last updated on 02 Sep 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