🚸 (webhook) Also add atomic deep keys selection
This commit is contained in:
@ -130,7 +130,39 @@ export const WebhookSettings = ({
|
||||
if (error)
|
||||
return showToast({ title: error.name, description: error.message })
|
||||
setTestResponse(JSON.stringify(data, undefined, 2))
|
||||
setResponseKeys(getDeepKeys(data))
|
||||
setResponseKeys(
|
||||
getDeepKeys({
|
||||
employees: [
|
||||
{
|
||||
name: 'Shyam',
|
||||
email: 'shyamjaiswal@gmail.com',
|
||||
employees: [
|
||||
{ name: 'Shyam', email: 'shyamjaiswal@gmail.com' },
|
||||
{ name: 'Bob', email: 'bob32@gmail.com' },
|
||||
{ name: 'Jai', email: 'jai87@gmail.com' },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Bob',
|
||||
email: 'bob32@gmail.com',
|
||||
employees: [
|
||||
{ name: 'Shyam', email: 'shyamjaiswal@gmail.com' },
|
||||
{ name: 'Bob', email: 'bob32@gmail.com' },
|
||||
{ name: 'Jai', email: 'jai87@gmail.com' },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Jai',
|
||||
email: 'jai87@gmail.com',
|
||||
employees: [
|
||||
{ name: 'Shyam', email: 'shyamjaiswal@gmail.com' },
|
||||
{ name: 'Bob', email: 'bob32@gmail.com' },
|
||||
{ name: 'Jai', email: 'jai87@gmail.com' },
|
||||
],
|
||||
},
|
||||
],
|
||||
})
|
||||
)
|
||||
setIsTestResponseLoading(false)
|
||||
}
|
||||
|
||||
|
@ -11,19 +11,18 @@ export const getDeepKeys = (obj: any): string[] => {
|
||||
)
|
||||
} else if (Array.isArray(obj[key])) {
|
||||
if (obj[key].length === 0) continue
|
||||
if (obj[key].length === 1) {
|
||||
const subkeys = getDeepKeys(obj[key][0])
|
||||
|
||||
const subkeys = getDeepKeys(obj[key][0])
|
||||
if (obj[key].length > 1) {
|
||||
keys = keys.concat(
|
||||
subkeys.map(function (subkey) {
|
||||
return `${key}[0]${parseKey(subkey)}`
|
||||
return `${key}.flatMap(item => item${parseKey(subkey)})`
|
||||
})
|
||||
)
|
||||
continue
|
||||
}
|
||||
const subkeys = getDeepKeys(obj[key][0])
|
||||
keys = keys.concat(
|
||||
subkeys.map(function (subkey) {
|
||||
return `${key}.flatMap(item => item${parseKey(subkey)})`
|
||||
subkeys.map(function (subkey, idx) {
|
||||
return `${key}[${idx}]${parseKey(subkey)}`
|
||||
})
|
||||
)
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user