🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis
Socket
Book a DemoInstallSign in
Socket

api-compare

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

api-compare

:yum: Optional comparator, compare multiple request results, highlight the diff.

latest
Source
npmnpm
Version
0.0.6
Version published
Maintainers
1
Created
Source

api-compare

:yum: Optional comparator, compare multiple request results, highlight the diff.

由一次项目代码优化而产生的轮子,用于 diff 数个接口之间的返回值是否一致。
自定义一些对比规则,来帮助验证确保升级不会影响到原有的数据结构。

Install

npm i -D api-compare

Usage

const Comparator = require('api-compare')

async function main() {
  let c = new Comparator()
  c.append({
    urlList: [
      'https://postman-echo.com/get?name=Niko&age=18',
      'https://postman-echo.com/get?name=Bellic&age=18'
    ],
    validator(data) {
      data.login = 'Login must be equal'
      data.site_admin = 'Site_admin must be equal'
    }
  })
  console.log('start check')
  let results = await c.check()
  console.log('get results', results[0]) 
  //  [ { msg: 'Login must be equal', validate: true }, { msg: 'Age must be equal', validate: false } ]
}

main()

Method

init

keytypedesc
errorOnly?BooleanFilter access log
let c = new Comparator({
  errorOnly: true
})

append

Add new request group.

keytypedesc
urlListArrayList of request
validatorFunctionCustom validate
optionList?Array/ObjectRequest option, like method, headers
c.append({
  urlList: [
    'domain1',
    'domain2'
  ],
  validator(data) {
    // do some validate
  }
})

Pipeline

c.append().append()

optionList

If optionList less than urlList, recycle optionList like padStart/padEnd.

c.append({
  urlList: [
    'domain1', 'domain2',
    'domain3', 'domain4'
  ],
  optionList: [{
    option: 1
  }, {
    option: 2
  }]
})

// domain1 {option: 1}
// domain2 {option: 2}
// domain3 {option: 1}
// domain4 {option: 2}

check

Run all task from append.

Return results, order of append.

let results = await c.check() // results for validate

FAQs

Package last updated on 27 Jun 2018

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