0.0.47 • Published 14 days ago
oute-services-utility-sdk v0.0.47
This module expose helper functions
- Initialization
var utility = require("oute-services-utility-sdk")
- Validate and parse string object
utility.validateAndParseObject("{}")
- Execute API
var options = {
method: 'GET',
url: 'http://localhost:3101/service/v0/variable/get/transformed',
headers: {
'token': "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoidGVzdEBnb2ZvLmFwcCIsIm9yZ0lkcyI6WyJaekJmSk1wZlEiXSwiaWF0IjoxNjgyMjQ4MjcwLCJleHAiOjMzMjA4MjkwNjcwfQ.OADEKdh1IaABuKCEwFgskapkNVrg_IIjzj1cd0HoGdc",
'Content-Type': 'application/json'
},
path_variable: {p: "123"},
query_params: {asset_id: "asset"},
convert_to_curl: false, //this will convert the request to curl and respond with curl
timeout: 700, //This will be in milliseconds
response_type: "stream", //possiblie value ["stream", null], This type is used for getting the response in specified format.
body_info: {
type: "", //form-data, x-www-form-urlencoded, binary, raw, none or ""
sub_type: "" //if raw => json, text, html, xml, javascript
}
}
await utility.executeAPI(options)
- Compare array
src_array = [1,2]
comparing_array = [2,1]
compare_type= "all"
// all => all element of both array should be same
// any_one => any one element of comparing array should be in src array
utility.compareArray(src_array, comparing_array, compare_type)
- Query array
src_array = [{a: "test", b: "mtro"},{a: "mets"}, {a: "test1", b: "mtro"}, {a: "test1", b: "wert"}]
search_options = {a: /test/, b: /mt/}
utility.queryArray(src_array, search_options)
- Invoke the function
//Note if trying to call the callback function then ensure the last args should be callback function
//Callback function assumed as (error, result) => {}
fn = (a)=>
new Promise((resolve, reject) =>
return reject(a)
)
func_itentity = "promise"
await utility.invokeFunction(fn, func_itentity, {a: 1})
- Function call with retry and delay
max_retry = 1
retry_delay_ms = 1000
fn = (a)=>
new Promise((resolve, reject) =>
return reject(a)
)
fn_type = "promise"
await utility.retry(max_retry, retry_delay_ms, fn, fn_type, {a: 1})
- sleep function
sleep_ms = 500
await utility.sleep(sleep_ms)
- Parse cmd args
utility.parseArgs(process.argv)
Transformations
- json to schema
object = { orderId : "123", items : [ {medicineId : "2", qty : "3"},{ankit : "ankit"} ], address : { line1 : {medicineId : "2", qty : "3"}, line2 : 500033 }}
schema_config = {}
utility.jsonToSchema(object, schema_config)
- schema to json
schema_config = {"schema":[{"type":"string","key":"name","sample_value":"Asd","path":["name"],"pathStr":"name"},{"type":"string","key":"orderId","sample_value":"123","path":["orderId"],"pathStr":"orderId"},{"type":"object","key":"items","schema":[{"type":"array","key":"items2","schema":[{"type":"string","key":"medicineId","sample_value":"2","path":["items","items2","medicineId"],"pathStr":"{items}.[items2].medicineId"},{"type":"string","key":"qty","sample_value":"3","path":["items","items2","qty"],"pathStr":"{items}.[items2].qty"},{"type":"string","key":"ankit","sample_value":"ankit","path":["items","items2","ankit"],"pathStr":"{items}.[items2].ankit"}],"path":["items"],"pathStr":"{items}.items2"},{"type":"string","key":"medicineId","sample_value":"2","path":["items","medicineId"],"pathStr":"{items}.medicineId"},{"type":"string","key":"qty","sample_value":"3","path":["items","qty"],"pathStr":"{items}.qty"}],"path":[],"pathStr":"items"}],"path":[],"keys":["name","orderId","items","{items}.items2","{items}.[items2].medicineId","{items}.[items2].qty","{items}.[items2].ankit","{items}.medicineId","{items}.qty"],"flattened_schema":[{"type":"string","key":"name","sample_value":"Asd","path":["name"],"pathStr":"name"},{"type":"string","key":"orderId","sample_value":"123","path":["orderId"],"pathStr":"orderId"},{"type":"object","key":"items","path":["items"],"pathStr":"{items}"},{"type":"array","key":"items2","path":["items","items2"],"pathStr":"{items}.items2"},{"type":"string","key":"medicineId","sample_value":"2","path":["items","items2","medicineId"],"pathStr":"{items}.[items2].medicineId"},{"type":"string","key":"qty","sample_value":"3","path":["items","items2","qty"],"pathStr":"{items}.[items2].qty"},{"type":"string","key":"ankit","sample_value":"ankit","path":["items","items2","ankit"],"pathStr":"{items}.[items2].ankit"},{"type":"string","key":"medicineId","sample_value":"2","path":["items","medicineId"],"pathStr":"{items}.medicineId"},{"type":"string","key":"qty","sample_value":"3","path":["items","qty"],"pathStr":"{items}.qty"}]}
utility.schemaToJson(schema_config)
- get default value and type for key
path_str = "{a}.{b}.c"
key_index = 1
key_separator = "."
utility.getDefaultValueAndTypeForKey(path_str, key_index, key_separator)
- Check, parse and format the date
//This function usasage the dayjs lib to parse and validate please check the doc for more info
[docs](https://day.js.org/docs/en/installation/installation)
date = "2024-03-19T07:38:01.172Z"
src_format = undefined //Date original format
out_format = "YYYY-MM-DD HH:mm:ss" //Format for the ouput date string
tz_string = undefined //timezone string to parse basis of timezone
utility.processDate(date, src_format, out_format, tz_string)
- Clean the object based of conditions
inputs = [] || {}
filterFn = (value) => return (value != "") //default is to filter the undefined keys
utility_instance.cleanObjectBy(inputs, filterFn)
- Check if value is empty
value = {} //{}, [], "", null, undefinded returns true else false
utility.isEmpty(value)
- Check if the value is null or empty
value = {} //"", null, undefinded returns true else false
utility.isEmptyOrNull(value)
0.0.46
15 days ago
0.0.47
14 days ago
0.0.45
16 days ago
0.0.44
25 days ago
0.0.42
29 days ago
0.0.43
28 days ago
0.0.41
30 days ago
0.0.40
1 month ago
0.0.37
2 months ago
0.0.38
2 months ago
0.0.39
2 months ago
0.0.36
2 months ago
0.0.34
3 months ago
0.0.35
3 months ago
0.0.33
3 months ago
0.0.32
3 months ago
0.0.30
3 months ago
0.0.31
3 months ago
0.0.28
4 months ago
0.0.29
4 months ago
0.0.27
5 months ago
0.0.26
5 months ago
0.0.25
5 months ago
0.0.24
5 months ago
0.0.20
6 months ago
0.0.21
6 months ago
0.0.22
5 months ago
0.0.23
5 months ago
0.0.18
8 months ago
0.0.19
7 months ago
0.0.16
8 months ago
0.0.17
8 months ago
0.0.15
9 months ago
0.0.14
9 months ago
0.0.13
9 months ago
0.0.12
9 months ago
0.0.11
10 months ago
0.0.10
10 months ago
0.0.9
10 months ago
0.0.8
10 months ago
0.0.7
10 months ago
0.0.6
10 months ago
0.0.5
10 months ago
0.0.4
11 months ago
0.0.3
11 months ago
0.0.2
11 months ago
0.0.1
11 months ago