60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# Простые функции
|
||
|
||
## Описание
|
||
* В данном репозитории собраны простые функции, которые могут пригодиться в разработке. Функции сгруппированны по сущностям, в соответствии с их назначением.
|
||
## Установка
|
||
npm install 1-toolkits-helpers --registry=https://vniac.ru:4873/
|
||
|
||
### Adapter
|
||
* Часто используется для адаптации данных, полученных с сервера, к виду, который ожидает фронтенд. Например, переименование ключей, преобразование значений и т.д.
|
||
#### Функции
|
||
* convertObject - Адаптирует объект к другому виду, путем замены ключей, может заменять значения через callback
|
||
* convertList - Имплементация метода convertObject для массива объектов
|
||
|
||
```js
|
||
import {Adapter} from '1-toolkits-helpers'
|
||
const { convertObject, convertList } = Adapter
|
||
|
||
const targetObject = {
|
||
"id": 1,
|
||
"created_at": "2024-02-15T17:24:52.755254148+03:00",
|
||
"updated_at": "2024-02-15T17:24:52.755254148+03:00",
|
||
"deleted_at": null,
|
||
"name": "jsonplaceholder.typicode.com",
|
||
"port": 9965,
|
||
"proxy_ip": "172.25.78.153",
|
||
"site_ip": "172.25.78.36",
|
||
"internet_uri": "localhost",
|
||
"description": "localhost",
|
||
"is_online": true
|
||
}
|
||
|
||
const config = {
|
||
id: "id",
|
||
name: "name2",
|
||
port: "port2",
|
||
proxy_ip: "proxyIp",
|
||
site_ip: "siteIp",
|
||
internet_uri: "internetUri",
|
||
description: "description",
|
||
is_online: "isOnline",
|
||
}
|
||
|
||
// expectedObject - объект, который мы хотим получить
|
||
const expectedObject = {
|
||
id: 1,
|
||
name2: "jsonplaceholder.typicode.com",
|
||
port2: 9965,
|
||
proxyIp: "172.25.78.153",
|
||
siteIp: "172.25.78.36",
|
||
internetUri: "localhost",
|
||
description: "localhost",
|
||
isOnline: true,
|
||
}
|
||
|
||
const expectedList = [expectedObject]
|
||
|
||
convertObject(targetObject, {config})
|
||
convertList([targetObject], {config})
|
||
```
|