New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@dewib/dw-api

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dewib/dw-api - npm Package Compare versions

Comparing version 2.5.0 to 2.6.0

7

CHANGELOG.md

@@ -5,2 +5,9 @@ # Changelog

## [2.6.0](https://github.com/gaetansenn/dw-api/compare/v2.5.0...v2.6.0) (2022-04-20)
### Features
* add format as optional ([13bf88d](https://github.com/gaetansenn/dw-api/commit/13bf88d0eed9a7fa72a88efcdc8a59b4b1eae2ad))
## [2.5.0](https://github.com/gaetansenn/dw-api/compare/v2.4.0...v2.5.0) (2022-03-23)

@@ -7,0 +14,0 @@

29

lib/utils/model.js

@@ -26,3 +26,3 @@ import { isObject, camelCase, isEmpty, isString, get } from 'lodash'

get (url, { fields, queryParams, multi, headers, scope, ...extra } = {}) {
get (url, { fields, queryParams, multi, headers, scope, format, ...extra } = {}) {
return this.handleRequest({

@@ -36,2 +36,3 @@ method: 'get',

scope,
format,
...extra

@@ -41,3 +42,3 @@ })

post (url, body, { fields, queryParams, multi, headers, scope, ...extra } = {}) {
post (url, body, { fields, queryParams, multi, headers, scope, format, ...extra } = {}) {
return this.handleRequest({

@@ -52,2 +53,3 @@ method: 'post',

scope,
format,
...extra

@@ -57,3 +59,3 @@ })

delete (url, { fields, queryParams, multi, headers, scope, body = null, ...extra } = {}) {
delete (url, { fields, queryParams, multi, headers, scope, body = null, format, ...extra } = {}) {
return this.handleRequest({

@@ -68,2 +70,3 @@ method: 'delete',

scope,
format,
...extra

@@ -73,3 +76,3 @@ })

patch (url, body, { fields, queryParams, multi, headers, scope, ...extra } = {}) {
patch (url, body, { fields, queryParams, multi, headers, scope, format, ...extra } = {}) {
return this.handleRequest({

@@ -84,2 +87,3 @@ method: 'patch',

scope,
format,
...extra

@@ -89,3 +93,3 @@ })

handleRequest ({ method, url, body = false, fields = [], multi = false, queryParams = {}, headers = {}, catchError = true, scope }) {
handleRequest ({ method, url, body = false, fields = [], multi = false, queryParams = {}, headers = {}, catchError = true, scope, format = true }) {
const request = {

@@ -107,3 +111,3 @@ method,

const mapped = this.extractModel(fields, response.data)
const mapped = this.extractModel(fields, response.data, format)

@@ -113,3 +117,3 @@ return catchError ? [false, mapped] : mapped

response.data = response.data.map(this.extractModel.bind(this, fields))
response.data = response.data.map(item => this.extractModel.bind(this, fields, item, format))

@@ -130,3 +134,3 @@ return (multi) ? (catchError ? [false, response.data] : response.data) : (catchError ? [false, response] : response)

*/
extractModel (fields, model, parentModel, originModel) {
extractModel (fields, model, format, parentModel, originModel) {
if (isEmpty(model)) return null

@@ -142,4 +146,5 @@

fields.forEach((field) => {
// We normalize to camelCase
const normalizedKey = camelCase(isObject(field) ? field.newKey || field.key : field)
// We normalize to camelCase if format
const _camelCase = format ? camelCase : data => data
const normalizedKey = _camelCase(isObject(field) ? field.newKey || field.key : field)

@@ -172,5 +177,5 @@ if (typeof field.fields === 'function') field.fields = field.fields()

else return true
}).map(m => this.extractModel.bind(this, field.fields, m, sourceModel, originModel)())
}).map(m => this.extractModel.bind(this, field.fields, m, format, sourceModel, originModel)())
else
return this.extractModel(field.fields, sourceModel[field.key], sourceModel, originModel)
return this.extractModel(field.fields, sourceModel[field.key], format, sourceModel, originModel)
}

@@ -177,0 +182,0 @@

{
"name": "@dewib/dw-api",
"version": "2.5.0",
"version": "2.6.0",
"description": "Wrap all your request into one place and map your response for your needs",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

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