@dataloop-ai/components 0.19.191 → 0.19.192
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -199,10 +199,12 @@ export function setAliases(str: string, aliases: Alias[]) {
|
|
|
199
199
|
function valueAliases(schema: Data, field: string) {
|
|
200
200
|
let aliases: Data = {}
|
|
201
201
|
const type: any = get(schema, field)
|
|
202
|
+
|
|
202
203
|
if (Array.isArray(type)) {
|
|
203
204
|
for (const element of type) {
|
|
204
|
-
if (typeof element === 'object')
|
|
205
|
+
if (typeof element === 'object') {
|
|
205
206
|
aliases = Object.assign(aliases, element)
|
|
207
|
+
}
|
|
206
208
|
}
|
|
207
209
|
} else {
|
|
208
210
|
if (typeof type === 'object') aliases = Object.assign(aliases, type)
|
|
@@ -212,10 +214,50 @@ function valueAliases(schema: Data, field: string) {
|
|
|
212
214
|
|
|
213
215
|
export function revertValueAliases(json: Data, schema: Data) {
|
|
214
216
|
const clone = cloneDeep(json)
|
|
217
|
+
const operatorKeys = [
|
|
218
|
+
'$in',
|
|
219
|
+
'$nin',
|
|
220
|
+
'$eq',
|
|
221
|
+
'$neq',
|
|
222
|
+
'$gt',
|
|
223
|
+
'$gte',
|
|
224
|
+
'$lt',
|
|
225
|
+
'$lte'
|
|
226
|
+
]
|
|
227
|
+
|
|
215
228
|
const replaceAliases = (where: Data) => {
|
|
216
229
|
for (const key in where) {
|
|
217
230
|
if (typeof where[key] === 'object') {
|
|
218
|
-
|
|
231
|
+
const val = where[key]
|
|
232
|
+
const isOperator = operatorKeys.includes(Object.keys(val)[0])
|
|
233
|
+
const isArrayOperator = ['$in', '$nin'].includes(
|
|
234
|
+
Object.keys(val)[0]
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
if (isOperator) {
|
|
238
|
+
const opVal = val[Object.keys(val)[0]]
|
|
239
|
+
const aliases = valueAliases(schema, key)
|
|
240
|
+
|
|
241
|
+
if (isArrayOperator) {
|
|
242
|
+
for (let i = 0; i < opVal.length; ++i) {
|
|
243
|
+
const value = aliases[opVal[i] as string]
|
|
244
|
+
if (value) {
|
|
245
|
+
val[Object.keys(val)[0]][i] = value
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
} else {
|
|
249
|
+
const value = aliases[opVal]
|
|
250
|
+
if (value) {
|
|
251
|
+
val[Object.keys(val)[0]] = value
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
} else if (Array.isArray(val)) {
|
|
255
|
+
for (const element of val) {
|
|
256
|
+
replaceAliases(element)
|
|
257
|
+
}
|
|
258
|
+
} else {
|
|
259
|
+
replaceAliases(where[key])
|
|
260
|
+
}
|
|
219
261
|
} else {
|
|
220
262
|
const aliases = valueAliases(schema, key)
|
|
221
263
|
const value = aliases[where[key] as string]
|
|
@@ -232,14 +274,57 @@ export function revertValueAliases(json: Data, schema: Data) {
|
|
|
232
274
|
|
|
233
275
|
export function setValueAliases(json: Data, schema: Data) {
|
|
234
276
|
const clone = cloneDeep(json)
|
|
277
|
+
const operatorKeys = [
|
|
278
|
+
'$in',
|
|
279
|
+
'$nin',
|
|
280
|
+
'$eq',
|
|
281
|
+
'$neq',
|
|
282
|
+
'$gt',
|
|
283
|
+
'$gte',
|
|
284
|
+
'$lt',
|
|
285
|
+
'$lte'
|
|
286
|
+
]
|
|
287
|
+
|
|
235
288
|
const replaceValues = (where: Data) => {
|
|
236
289
|
for (const key in where) {
|
|
237
|
-
|
|
238
|
-
|
|
290
|
+
const val = where[key]
|
|
291
|
+
|
|
292
|
+
if (typeof val === 'object') {
|
|
293
|
+
const val = where[key]
|
|
294
|
+
const isOperator = operatorKeys.includes(Object.keys(val)[0])
|
|
295
|
+
const isArrayOperator = ['$in', '$nin'].includes(
|
|
296
|
+
Object.keys(val)[0]
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
if (isOperator) {
|
|
300
|
+
const opVal = val[Object.keys(val)[0]]
|
|
301
|
+
const aliases = valueAliases(schema, key)
|
|
302
|
+
|
|
303
|
+
if (isArrayOperator) {
|
|
304
|
+
for (let i = 0; i < opVal.length; ++i) {
|
|
305
|
+
const value = aliases[opVal[i] as string]
|
|
306
|
+
if (value) {
|
|
307
|
+
val[Object.keys(val)[0]][i] = value
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
} else {
|
|
311
|
+
const value = aliases[opVal]
|
|
312
|
+
if (value) {
|
|
313
|
+
val[Object.keys(val)[0]] = value
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
if (Array.isArray(val)) {
|
|
318
|
+
for (const element of val) {
|
|
319
|
+
replaceValues(element)
|
|
320
|
+
}
|
|
321
|
+
} else {
|
|
322
|
+
replaceValues(where[key])
|
|
323
|
+
}
|
|
239
324
|
} else {
|
|
240
325
|
const aliases = valueAliases(schema, key)
|
|
241
326
|
for (const alias in aliases) {
|
|
242
|
-
if (
|
|
327
|
+
if (val === aliases[alias]) {
|
|
243
328
|
where[key] = alias
|
|
244
329
|
break
|
|
245
330
|
}
|