@okf/ootils 1.3.2 → 1.3.4
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/dist/browser.d.mts +34 -0
- package/dist/browser.d.ts +34 -0
- package/dist/browser.js +191 -0
- package/dist/browser.mjs +161 -0
- package/dist/{index.d.mts → node.d.mts} +33 -24
- package/dist/{index.d.ts → node.d.ts} +33 -24
- package/dist/{index.js → node.js} +161 -141
- package/dist/{index.mjs → node.mjs} +156 -136
- package/dist/universal.d.mts +34 -0
- package/dist/universal.d.ts +34 -0
- package/dist/universal.js +191 -0
- package/dist/universal.mjs +161 -0
- package/package.json +35 -5
|
@@ -314,12 +314,12 @@ var require_Tpl = __commonJS({
|
|
|
314
314
|
}
|
|
315
315
|
});
|
|
316
316
|
|
|
317
|
-
// src/
|
|
318
|
-
var
|
|
319
|
-
__export(
|
|
320
|
-
add: () => add,
|
|
317
|
+
// src/node.ts
|
|
318
|
+
var node_exports = {};
|
|
319
|
+
__export(node_exports, {
|
|
321
320
|
connectToRedis: () => connectToRedis,
|
|
322
321
|
deleteVal: () => deleteVal,
|
|
322
|
+
genTagId: () => genTagId,
|
|
323
323
|
getAIConfigs: () => getAIConfigs,
|
|
324
324
|
getAnnotationsModelByTenant: () => getAnnotationsModelByTenant,
|
|
325
325
|
getDbByTenant: () => getDbByTenant,
|
|
@@ -334,12 +334,163 @@ __export(index_exports, {
|
|
|
334
334
|
setVal: () => setVal,
|
|
335
335
|
updateGlobalConfig: () => updateGlobalConfig
|
|
336
336
|
});
|
|
337
|
-
module.exports = __toCommonJS(
|
|
337
|
+
module.exports = __toCommonJS(node_exports);
|
|
338
338
|
|
|
339
|
-
// src/utils/
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
339
|
+
// src/utils/getterSetterDeleter/utils/set_deleteVal.ts
|
|
340
|
+
var set_deleteVal = (action, data, valuePath, value) => {
|
|
341
|
+
if (valuePath === void 0) return;
|
|
342
|
+
if (valuePath === null && action === "set") {
|
|
343
|
+
data = value;
|
|
344
|
+
return data;
|
|
345
|
+
}
|
|
346
|
+
let dataRef = data;
|
|
347
|
+
const keysArray = valuePath.split(".");
|
|
348
|
+
const len = keysArray.length;
|
|
349
|
+
let valIsUndefined = false;
|
|
350
|
+
for (let i = 0; i < len - 1; i++) {
|
|
351
|
+
const key = keysArray[i];
|
|
352
|
+
if (!dataRef[key]) {
|
|
353
|
+
if (action === "set") {
|
|
354
|
+
const nextKey = keysArray[i + 1];
|
|
355
|
+
if (nextKey && !isNaN(parseInt(nextKey))) {
|
|
356
|
+
dataRef[key] = [];
|
|
357
|
+
} else {
|
|
358
|
+
dataRef[key] = {};
|
|
359
|
+
}
|
|
360
|
+
} else {
|
|
361
|
+
valIsUndefined = true;
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
dataRef = dataRef[key];
|
|
366
|
+
}
|
|
367
|
+
if (valIsUndefined) return void 0;
|
|
368
|
+
if (action === "set") {
|
|
369
|
+
dataRef[keysArray[len - 1]] = value;
|
|
370
|
+
return data;
|
|
371
|
+
} else if (action === "delete") {
|
|
372
|
+
if (Array.isArray(dataRef)) {
|
|
373
|
+
dataRef.splice(parseInt(keysArray[len - 1]), 1);
|
|
374
|
+
} else {
|
|
375
|
+
delete dataRef[keysArray[len - 1]];
|
|
376
|
+
}
|
|
377
|
+
return data;
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
// src/utils/getterSetterDeleter/deleteVal.ts
|
|
382
|
+
var deleteVal = (data, valuePath) => {
|
|
383
|
+
return set_deleteVal("delete", data, valuePath);
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
// src/utils/getterSetterDeleter/setVal.ts
|
|
387
|
+
var setVal = (data, valuePath, value) => {
|
|
388
|
+
return set_deleteVal("set", data, valuePath, value);
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
// src/utils/getterSetterDeleter/utils/flattenArrayOfArrays.ts
|
|
392
|
+
var flattenArrayOfArrays = ({
|
|
393
|
+
array,
|
|
394
|
+
flattenLastArray = true,
|
|
395
|
+
toReturn = []
|
|
396
|
+
}) => {
|
|
397
|
+
array.map((ary) => {
|
|
398
|
+
if (Array.isArray(ary)) {
|
|
399
|
+
if (flattenLastArray === true) {
|
|
400
|
+
if (ary.some((childAry) => !Array.isArray(childAry))) {
|
|
401
|
+
toReturn.push(ary);
|
|
402
|
+
} else {
|
|
403
|
+
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
404
|
+
}
|
|
405
|
+
} else {
|
|
406
|
+
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
407
|
+
}
|
|
408
|
+
} else {
|
|
409
|
+
toReturn.push(ary);
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
return toReturn;
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
// src/utils/getterSetterDeleter/getVal.ts
|
|
416
|
+
var getVal = (data, valuePath, options = {}, depthIdx = 0) => {
|
|
417
|
+
let value = null;
|
|
418
|
+
const getFinalVal = (data2, valuePath2, options2, depthIdx2) => {
|
|
419
|
+
return Array.isArray(data2) ? data2.map((R) => getValV2_getter(R, valuePath2, options2, depthIdx2)) : getValV2_getter(data2, valuePath2, options2, depthIdx2);
|
|
420
|
+
};
|
|
421
|
+
if (Array.isArray(valuePath)) {
|
|
422
|
+
for (let i = 0; i < valuePath.length; i++) {
|
|
423
|
+
value = getFinalVal(data, valuePath[i], options, depthIdx);
|
|
424
|
+
if (value) break;
|
|
425
|
+
}
|
|
426
|
+
} else {
|
|
427
|
+
value = getFinalVal(data, valuePath, options, depthIdx);
|
|
428
|
+
}
|
|
429
|
+
return value;
|
|
430
|
+
};
|
|
431
|
+
var getValV2_getter = (data, valuePath, options, depthIdx) => {
|
|
432
|
+
const { flattenIfValueIsArray = true } = options;
|
|
433
|
+
if (valuePath === null) return data;
|
|
434
|
+
let dataRef = data;
|
|
435
|
+
const keysArray = valuePath.split(".");
|
|
436
|
+
const len = keysArray.length;
|
|
437
|
+
let valIsUndefined = false;
|
|
438
|
+
let thisIterationFoundAry = false;
|
|
439
|
+
for (let i = 0; i < len - 1; i++) {
|
|
440
|
+
const key = keysArray[i];
|
|
441
|
+
if (!thisIterationFoundAry) {
|
|
442
|
+
if (!dataRef[key]) {
|
|
443
|
+
valIsUndefined = true;
|
|
444
|
+
break;
|
|
445
|
+
}
|
|
446
|
+
dataRef = dataRef[key];
|
|
447
|
+
} else {
|
|
448
|
+
const nestedAryResponse = dataRef.map((dataRefItem) => {
|
|
449
|
+
const remainingValuePath = keysArray.filter((dd, ii) => ii >= i).join(".");
|
|
450
|
+
return getVal(dataRefItem, remainingValuePath, options, depthIdx + 1);
|
|
451
|
+
});
|
|
452
|
+
return flattenArrayOfArrays({
|
|
453
|
+
array: nestedAryResponse,
|
|
454
|
+
flattenLastArray: depthIdx === 0 && flattenIfValueIsArray === false ? false : true
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
if (Array.isArray(dataRef) && Number.isNaN(parseInt(keysArray[i + 1]))) thisIterationFoundAry = true;
|
|
458
|
+
}
|
|
459
|
+
if (valIsUndefined) return void 0;
|
|
460
|
+
if (thisIterationFoundAry) {
|
|
461
|
+
const toReturn = dataRef.map((d) => d[keysArray[len - 1]]);
|
|
462
|
+
return flattenArrayOfArrays({
|
|
463
|
+
array: toReturn,
|
|
464
|
+
flattenLastArray: flattenIfValueIsArray
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
return dataRef[keysArray[len - 1]];
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
// src/utils/genTagId.ts
|
|
471
|
+
var convertFromRichText = (value) => {
|
|
472
|
+
if (!value) return "";
|
|
473
|
+
let val = "";
|
|
474
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
475
|
+
return String(value);
|
|
476
|
+
}
|
|
477
|
+
if (typeof value === "object" && "blocks" in value && Array.isArray(value.blocks)) {
|
|
478
|
+
for (let i = 0; i < value.blocks.length; i++) {
|
|
479
|
+
const block = value.blocks[i];
|
|
480
|
+
if (block && block.text && block.text.length > 0) {
|
|
481
|
+
val = val + block.text;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
return val;
|
|
486
|
+
};
|
|
487
|
+
var genTagId = (tagName) => {
|
|
488
|
+
let toReturn = convertFromRichText(tagName);
|
|
489
|
+
const regex = /[^\p{L}\p{N}\+]+/gui;
|
|
490
|
+
toReturn = toReturn.trim().toLowerCase().replace(regex, "_");
|
|
491
|
+
toReturn = toReturn.replace(/\+/g, "plus");
|
|
492
|
+
return toReturn.replace(/^_+|_+$/, "");
|
|
493
|
+
};
|
|
343
494
|
|
|
344
495
|
// src/db/mongodb.ts
|
|
345
496
|
var import_mongoose = __toESM(require("mongoose"));
|
|
@@ -477,137 +628,6 @@ var getTplModelByTenant = ({ tenant, env, mongodb, dbConfigs }) => getModelByTen
|
|
|
477
628
|
env
|
|
478
629
|
});
|
|
479
630
|
|
|
480
|
-
// src/utils/getterSetterDeleter/utils/set_deleteVal.ts
|
|
481
|
-
var set_deleteVal = (action, data, valuePath, value) => {
|
|
482
|
-
if (valuePath === void 0) return;
|
|
483
|
-
if (valuePath === null && action === "set") {
|
|
484
|
-
data = value;
|
|
485
|
-
return data;
|
|
486
|
-
}
|
|
487
|
-
let dataRef = data;
|
|
488
|
-
const keysArray = valuePath.split(".");
|
|
489
|
-
const len = keysArray.length;
|
|
490
|
-
let valIsUndefined = false;
|
|
491
|
-
for (let i = 0; i < len - 1; i++) {
|
|
492
|
-
const key = keysArray[i];
|
|
493
|
-
if (!dataRef[key]) {
|
|
494
|
-
if (action === "set") {
|
|
495
|
-
const nextKey = keysArray[i + 1];
|
|
496
|
-
if (nextKey && !isNaN(parseInt(nextKey))) {
|
|
497
|
-
dataRef[key] = [];
|
|
498
|
-
} else {
|
|
499
|
-
dataRef[key] = {};
|
|
500
|
-
}
|
|
501
|
-
} else {
|
|
502
|
-
valIsUndefined = true;
|
|
503
|
-
break;
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
dataRef = dataRef[key];
|
|
507
|
-
}
|
|
508
|
-
if (valIsUndefined) return void 0;
|
|
509
|
-
if (action === "set") {
|
|
510
|
-
dataRef[keysArray[len - 1]] = value;
|
|
511
|
-
return data;
|
|
512
|
-
} else if (action === "delete") {
|
|
513
|
-
if (Array.isArray(dataRef)) {
|
|
514
|
-
dataRef.splice(parseInt(keysArray[len - 1]), 1);
|
|
515
|
-
} else {
|
|
516
|
-
delete dataRef[keysArray[len - 1]];
|
|
517
|
-
}
|
|
518
|
-
return data;
|
|
519
|
-
}
|
|
520
|
-
};
|
|
521
|
-
|
|
522
|
-
// src/utils/getterSetterDeleter/deleteVal.ts
|
|
523
|
-
var deleteVal = (data, valuePath) => {
|
|
524
|
-
return set_deleteVal("delete", data, valuePath);
|
|
525
|
-
};
|
|
526
|
-
|
|
527
|
-
// src/utils/getterSetterDeleter/setVal.ts
|
|
528
|
-
var setVal = (data, valuePath, value) => {
|
|
529
|
-
return set_deleteVal("set", data, valuePath, value);
|
|
530
|
-
};
|
|
531
|
-
|
|
532
|
-
// src/utils/getterSetterDeleter/utils/flattenArrayOfArrays.ts
|
|
533
|
-
var flattenArrayOfArrays = ({
|
|
534
|
-
array,
|
|
535
|
-
flattenLastArray = true,
|
|
536
|
-
toReturn = []
|
|
537
|
-
}) => {
|
|
538
|
-
array.map((ary) => {
|
|
539
|
-
if (Array.isArray(ary)) {
|
|
540
|
-
if (flattenLastArray === true) {
|
|
541
|
-
if (ary.some((childAry) => !Array.isArray(childAry))) {
|
|
542
|
-
toReturn.push(ary);
|
|
543
|
-
} else {
|
|
544
|
-
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
545
|
-
}
|
|
546
|
-
} else {
|
|
547
|
-
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
548
|
-
}
|
|
549
|
-
} else {
|
|
550
|
-
toReturn.push(ary);
|
|
551
|
-
}
|
|
552
|
-
});
|
|
553
|
-
return toReturn;
|
|
554
|
-
};
|
|
555
|
-
|
|
556
|
-
// src/utils/getterSetterDeleter/getVal.ts
|
|
557
|
-
var getVal = (data, valuePath, options = {}, depthIdx = 0) => {
|
|
558
|
-
let value = null;
|
|
559
|
-
const getFinalVal = (data2, valuePath2, options2, depthIdx2) => {
|
|
560
|
-
return Array.isArray(data2) ? data2.map((R) => getValV2_getter(R, valuePath2, options2, depthIdx2)) : getValV2_getter(data2, valuePath2, options2, depthIdx2);
|
|
561
|
-
};
|
|
562
|
-
if (Array.isArray(valuePath)) {
|
|
563
|
-
for (let i = 0; i < valuePath.length; i++) {
|
|
564
|
-
value = getFinalVal(data, valuePath[i], options, depthIdx);
|
|
565
|
-
if (value) break;
|
|
566
|
-
}
|
|
567
|
-
} else {
|
|
568
|
-
value = getFinalVal(data, valuePath, options, depthIdx);
|
|
569
|
-
}
|
|
570
|
-
return value;
|
|
571
|
-
};
|
|
572
|
-
var getValV2_getter = (data, valuePath, options, depthIdx) => {
|
|
573
|
-
const { flattenIfValueIsArray = true } = options;
|
|
574
|
-
if (valuePath === null) return data;
|
|
575
|
-
let dataRef = data;
|
|
576
|
-
const keysArray = valuePath.split(".");
|
|
577
|
-
const len = keysArray.length;
|
|
578
|
-
let valIsUndefined = false;
|
|
579
|
-
let thisIterationFoundAry = false;
|
|
580
|
-
for (let i = 0; i < len - 1; i++) {
|
|
581
|
-
const key = keysArray[i];
|
|
582
|
-
if (!thisIterationFoundAry) {
|
|
583
|
-
if (!dataRef[key]) {
|
|
584
|
-
valIsUndefined = true;
|
|
585
|
-
break;
|
|
586
|
-
}
|
|
587
|
-
dataRef = dataRef[key];
|
|
588
|
-
} else {
|
|
589
|
-
const nestedAryResponse = dataRef.map((dataRefItem) => {
|
|
590
|
-
const remainingValuePath = keysArray.filter((dd, ii) => ii >= i).join(".");
|
|
591
|
-
return getVal(dataRefItem, remainingValuePath, options, depthIdx + 1);
|
|
592
|
-
});
|
|
593
|
-
return flattenArrayOfArrays({
|
|
594
|
-
array: nestedAryResponse,
|
|
595
|
-
flattenLastArray: depthIdx === 0 && flattenIfValueIsArray === false ? false : true
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
if (Array.isArray(dataRef) && Number.isNaN(parseInt(keysArray[i + 1]))) thisIterationFoundAry = true;
|
|
599
|
-
}
|
|
600
|
-
if (valIsUndefined) return void 0;
|
|
601
|
-
if (thisIterationFoundAry) {
|
|
602
|
-
const toReturn = dataRef.map((d) => d[keysArray[len - 1]]);
|
|
603
|
-
return flattenArrayOfArrays({
|
|
604
|
-
array: toReturn,
|
|
605
|
-
flattenLastArray: flattenIfValueIsArray
|
|
606
|
-
});
|
|
607
|
-
}
|
|
608
|
-
return dataRef[keysArray[len - 1]];
|
|
609
|
-
};
|
|
610
|
-
|
|
611
631
|
// src/redis/index.ts
|
|
612
632
|
var import_ioredis = __toESM(require("ioredis"));
|
|
613
633
|
var redisClient = null;
|
|
@@ -716,9 +736,9 @@ var getAIConfigs = async ({
|
|
|
716
736
|
};
|
|
717
737
|
// Annotate the CommonJS export names for ESM import in node:
|
|
718
738
|
0 && (module.exports = {
|
|
719
|
-
add,
|
|
720
739
|
connectToRedis,
|
|
721
740
|
deleteVal,
|
|
741
|
+
genTagId,
|
|
722
742
|
getAIConfigs,
|
|
723
743
|
getAnnotationsModelByTenant,
|
|
724
744
|
getDbByTenant,
|
|
@@ -293,10 +293,161 @@ var require_Tpl = __commonJS({
|
|
|
293
293
|
}
|
|
294
294
|
});
|
|
295
295
|
|
|
296
|
-
// src/utils/
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
296
|
+
// src/utils/getterSetterDeleter/utils/set_deleteVal.ts
|
|
297
|
+
var set_deleteVal = (action, data, valuePath, value) => {
|
|
298
|
+
if (valuePath === void 0) return;
|
|
299
|
+
if (valuePath === null && action === "set") {
|
|
300
|
+
data = value;
|
|
301
|
+
return data;
|
|
302
|
+
}
|
|
303
|
+
let dataRef = data;
|
|
304
|
+
const keysArray = valuePath.split(".");
|
|
305
|
+
const len = keysArray.length;
|
|
306
|
+
let valIsUndefined = false;
|
|
307
|
+
for (let i = 0; i < len - 1; i++) {
|
|
308
|
+
const key = keysArray[i];
|
|
309
|
+
if (!dataRef[key]) {
|
|
310
|
+
if (action === "set") {
|
|
311
|
+
const nextKey = keysArray[i + 1];
|
|
312
|
+
if (nextKey && !isNaN(parseInt(nextKey))) {
|
|
313
|
+
dataRef[key] = [];
|
|
314
|
+
} else {
|
|
315
|
+
dataRef[key] = {};
|
|
316
|
+
}
|
|
317
|
+
} else {
|
|
318
|
+
valIsUndefined = true;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
dataRef = dataRef[key];
|
|
323
|
+
}
|
|
324
|
+
if (valIsUndefined) return void 0;
|
|
325
|
+
if (action === "set") {
|
|
326
|
+
dataRef[keysArray[len - 1]] = value;
|
|
327
|
+
return data;
|
|
328
|
+
} else if (action === "delete") {
|
|
329
|
+
if (Array.isArray(dataRef)) {
|
|
330
|
+
dataRef.splice(parseInt(keysArray[len - 1]), 1);
|
|
331
|
+
} else {
|
|
332
|
+
delete dataRef[keysArray[len - 1]];
|
|
333
|
+
}
|
|
334
|
+
return data;
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
// src/utils/getterSetterDeleter/deleteVal.ts
|
|
339
|
+
var deleteVal = (data, valuePath) => {
|
|
340
|
+
return set_deleteVal("delete", data, valuePath);
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
// src/utils/getterSetterDeleter/setVal.ts
|
|
344
|
+
var setVal = (data, valuePath, value) => {
|
|
345
|
+
return set_deleteVal("set", data, valuePath, value);
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
// src/utils/getterSetterDeleter/utils/flattenArrayOfArrays.ts
|
|
349
|
+
var flattenArrayOfArrays = ({
|
|
350
|
+
array,
|
|
351
|
+
flattenLastArray = true,
|
|
352
|
+
toReturn = []
|
|
353
|
+
}) => {
|
|
354
|
+
array.map((ary) => {
|
|
355
|
+
if (Array.isArray(ary)) {
|
|
356
|
+
if (flattenLastArray === true) {
|
|
357
|
+
if (ary.some((childAry) => !Array.isArray(childAry))) {
|
|
358
|
+
toReturn.push(ary);
|
|
359
|
+
} else {
|
|
360
|
+
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
361
|
+
}
|
|
362
|
+
} else {
|
|
363
|
+
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
364
|
+
}
|
|
365
|
+
} else {
|
|
366
|
+
toReturn.push(ary);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
return toReturn;
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
// src/utils/getterSetterDeleter/getVal.ts
|
|
373
|
+
var getVal = (data, valuePath, options = {}, depthIdx = 0) => {
|
|
374
|
+
let value = null;
|
|
375
|
+
const getFinalVal = (data2, valuePath2, options2, depthIdx2) => {
|
|
376
|
+
return Array.isArray(data2) ? data2.map((R) => getValV2_getter(R, valuePath2, options2, depthIdx2)) : getValV2_getter(data2, valuePath2, options2, depthIdx2);
|
|
377
|
+
};
|
|
378
|
+
if (Array.isArray(valuePath)) {
|
|
379
|
+
for (let i = 0; i < valuePath.length; i++) {
|
|
380
|
+
value = getFinalVal(data, valuePath[i], options, depthIdx);
|
|
381
|
+
if (value) break;
|
|
382
|
+
}
|
|
383
|
+
} else {
|
|
384
|
+
value = getFinalVal(data, valuePath, options, depthIdx);
|
|
385
|
+
}
|
|
386
|
+
return value;
|
|
387
|
+
};
|
|
388
|
+
var getValV2_getter = (data, valuePath, options, depthIdx) => {
|
|
389
|
+
const { flattenIfValueIsArray = true } = options;
|
|
390
|
+
if (valuePath === null) return data;
|
|
391
|
+
let dataRef = data;
|
|
392
|
+
const keysArray = valuePath.split(".");
|
|
393
|
+
const len = keysArray.length;
|
|
394
|
+
let valIsUndefined = false;
|
|
395
|
+
let thisIterationFoundAry = false;
|
|
396
|
+
for (let i = 0; i < len - 1; i++) {
|
|
397
|
+
const key = keysArray[i];
|
|
398
|
+
if (!thisIterationFoundAry) {
|
|
399
|
+
if (!dataRef[key]) {
|
|
400
|
+
valIsUndefined = true;
|
|
401
|
+
break;
|
|
402
|
+
}
|
|
403
|
+
dataRef = dataRef[key];
|
|
404
|
+
} else {
|
|
405
|
+
const nestedAryResponse = dataRef.map((dataRefItem) => {
|
|
406
|
+
const remainingValuePath = keysArray.filter((dd, ii) => ii >= i).join(".");
|
|
407
|
+
return getVal(dataRefItem, remainingValuePath, options, depthIdx + 1);
|
|
408
|
+
});
|
|
409
|
+
return flattenArrayOfArrays({
|
|
410
|
+
array: nestedAryResponse,
|
|
411
|
+
flattenLastArray: depthIdx === 0 && flattenIfValueIsArray === false ? false : true
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
if (Array.isArray(dataRef) && Number.isNaN(parseInt(keysArray[i + 1]))) thisIterationFoundAry = true;
|
|
415
|
+
}
|
|
416
|
+
if (valIsUndefined) return void 0;
|
|
417
|
+
if (thisIterationFoundAry) {
|
|
418
|
+
const toReturn = dataRef.map((d) => d[keysArray[len - 1]]);
|
|
419
|
+
return flattenArrayOfArrays({
|
|
420
|
+
array: toReturn,
|
|
421
|
+
flattenLastArray: flattenIfValueIsArray
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
return dataRef[keysArray[len - 1]];
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
// src/utils/genTagId.ts
|
|
428
|
+
var convertFromRichText = (value) => {
|
|
429
|
+
if (!value) return "";
|
|
430
|
+
let val = "";
|
|
431
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
432
|
+
return String(value);
|
|
433
|
+
}
|
|
434
|
+
if (typeof value === "object" && "blocks" in value && Array.isArray(value.blocks)) {
|
|
435
|
+
for (let i = 0; i < value.blocks.length; i++) {
|
|
436
|
+
const block = value.blocks[i];
|
|
437
|
+
if (block && block.text && block.text.length > 0) {
|
|
438
|
+
val = val + block.text;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return val;
|
|
443
|
+
};
|
|
444
|
+
var genTagId = (tagName) => {
|
|
445
|
+
let toReturn = convertFromRichText(tagName);
|
|
446
|
+
const regex = /[^\p{L}\p{N}\+]+/gui;
|
|
447
|
+
toReturn = toReturn.trim().toLowerCase().replace(regex, "_");
|
|
448
|
+
toReturn = toReturn.replace(/\+/g, "plus");
|
|
449
|
+
return toReturn.replace(/^_+|_+$/, "");
|
|
450
|
+
};
|
|
300
451
|
|
|
301
452
|
// src/db/mongodb.ts
|
|
302
453
|
import mongoose from "mongoose";
|
|
@@ -434,137 +585,6 @@ var getTplModelByTenant = ({ tenant, env, mongodb, dbConfigs }) => getModelByTen
|
|
|
434
585
|
env
|
|
435
586
|
});
|
|
436
587
|
|
|
437
|
-
// src/utils/getterSetterDeleter/utils/set_deleteVal.ts
|
|
438
|
-
var set_deleteVal = (action, data, valuePath, value) => {
|
|
439
|
-
if (valuePath === void 0) return;
|
|
440
|
-
if (valuePath === null && action === "set") {
|
|
441
|
-
data = value;
|
|
442
|
-
return data;
|
|
443
|
-
}
|
|
444
|
-
let dataRef = data;
|
|
445
|
-
const keysArray = valuePath.split(".");
|
|
446
|
-
const len = keysArray.length;
|
|
447
|
-
let valIsUndefined = false;
|
|
448
|
-
for (let i = 0; i < len - 1; i++) {
|
|
449
|
-
const key = keysArray[i];
|
|
450
|
-
if (!dataRef[key]) {
|
|
451
|
-
if (action === "set") {
|
|
452
|
-
const nextKey = keysArray[i + 1];
|
|
453
|
-
if (nextKey && !isNaN(parseInt(nextKey))) {
|
|
454
|
-
dataRef[key] = [];
|
|
455
|
-
} else {
|
|
456
|
-
dataRef[key] = {};
|
|
457
|
-
}
|
|
458
|
-
} else {
|
|
459
|
-
valIsUndefined = true;
|
|
460
|
-
break;
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
dataRef = dataRef[key];
|
|
464
|
-
}
|
|
465
|
-
if (valIsUndefined) return void 0;
|
|
466
|
-
if (action === "set") {
|
|
467
|
-
dataRef[keysArray[len - 1]] = value;
|
|
468
|
-
return data;
|
|
469
|
-
} else if (action === "delete") {
|
|
470
|
-
if (Array.isArray(dataRef)) {
|
|
471
|
-
dataRef.splice(parseInt(keysArray[len - 1]), 1);
|
|
472
|
-
} else {
|
|
473
|
-
delete dataRef[keysArray[len - 1]];
|
|
474
|
-
}
|
|
475
|
-
return data;
|
|
476
|
-
}
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
// src/utils/getterSetterDeleter/deleteVal.ts
|
|
480
|
-
var deleteVal = (data, valuePath) => {
|
|
481
|
-
return set_deleteVal("delete", data, valuePath);
|
|
482
|
-
};
|
|
483
|
-
|
|
484
|
-
// src/utils/getterSetterDeleter/setVal.ts
|
|
485
|
-
var setVal = (data, valuePath, value) => {
|
|
486
|
-
return set_deleteVal("set", data, valuePath, value);
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
// src/utils/getterSetterDeleter/utils/flattenArrayOfArrays.ts
|
|
490
|
-
var flattenArrayOfArrays = ({
|
|
491
|
-
array,
|
|
492
|
-
flattenLastArray = true,
|
|
493
|
-
toReturn = []
|
|
494
|
-
}) => {
|
|
495
|
-
array.map((ary) => {
|
|
496
|
-
if (Array.isArray(ary)) {
|
|
497
|
-
if (flattenLastArray === true) {
|
|
498
|
-
if (ary.some((childAry) => !Array.isArray(childAry))) {
|
|
499
|
-
toReturn.push(ary);
|
|
500
|
-
} else {
|
|
501
|
-
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
502
|
-
}
|
|
503
|
-
} else {
|
|
504
|
-
flattenArrayOfArrays({ array: ary, flattenLastArray, toReturn });
|
|
505
|
-
}
|
|
506
|
-
} else {
|
|
507
|
-
toReturn.push(ary);
|
|
508
|
-
}
|
|
509
|
-
});
|
|
510
|
-
return toReturn;
|
|
511
|
-
};
|
|
512
|
-
|
|
513
|
-
// src/utils/getterSetterDeleter/getVal.ts
|
|
514
|
-
var getVal = (data, valuePath, options = {}, depthIdx = 0) => {
|
|
515
|
-
let value = null;
|
|
516
|
-
const getFinalVal = (data2, valuePath2, options2, depthIdx2) => {
|
|
517
|
-
return Array.isArray(data2) ? data2.map((R) => getValV2_getter(R, valuePath2, options2, depthIdx2)) : getValV2_getter(data2, valuePath2, options2, depthIdx2);
|
|
518
|
-
};
|
|
519
|
-
if (Array.isArray(valuePath)) {
|
|
520
|
-
for (let i = 0; i < valuePath.length; i++) {
|
|
521
|
-
value = getFinalVal(data, valuePath[i], options, depthIdx);
|
|
522
|
-
if (value) break;
|
|
523
|
-
}
|
|
524
|
-
} else {
|
|
525
|
-
value = getFinalVal(data, valuePath, options, depthIdx);
|
|
526
|
-
}
|
|
527
|
-
return value;
|
|
528
|
-
};
|
|
529
|
-
var getValV2_getter = (data, valuePath, options, depthIdx) => {
|
|
530
|
-
const { flattenIfValueIsArray = true } = options;
|
|
531
|
-
if (valuePath === null) return data;
|
|
532
|
-
let dataRef = data;
|
|
533
|
-
const keysArray = valuePath.split(".");
|
|
534
|
-
const len = keysArray.length;
|
|
535
|
-
let valIsUndefined = false;
|
|
536
|
-
let thisIterationFoundAry = false;
|
|
537
|
-
for (let i = 0; i < len - 1; i++) {
|
|
538
|
-
const key = keysArray[i];
|
|
539
|
-
if (!thisIterationFoundAry) {
|
|
540
|
-
if (!dataRef[key]) {
|
|
541
|
-
valIsUndefined = true;
|
|
542
|
-
break;
|
|
543
|
-
}
|
|
544
|
-
dataRef = dataRef[key];
|
|
545
|
-
} else {
|
|
546
|
-
const nestedAryResponse = dataRef.map((dataRefItem) => {
|
|
547
|
-
const remainingValuePath = keysArray.filter((dd, ii) => ii >= i).join(".");
|
|
548
|
-
return getVal(dataRefItem, remainingValuePath, options, depthIdx + 1);
|
|
549
|
-
});
|
|
550
|
-
return flattenArrayOfArrays({
|
|
551
|
-
array: nestedAryResponse,
|
|
552
|
-
flattenLastArray: depthIdx === 0 && flattenIfValueIsArray === false ? false : true
|
|
553
|
-
});
|
|
554
|
-
}
|
|
555
|
-
if (Array.isArray(dataRef) && Number.isNaN(parseInt(keysArray[i + 1]))) thisIterationFoundAry = true;
|
|
556
|
-
}
|
|
557
|
-
if (valIsUndefined) return void 0;
|
|
558
|
-
if (thisIterationFoundAry) {
|
|
559
|
-
const toReturn = dataRef.map((d) => d[keysArray[len - 1]]);
|
|
560
|
-
return flattenArrayOfArrays({
|
|
561
|
-
array: toReturn,
|
|
562
|
-
flattenLastArray: flattenIfValueIsArray
|
|
563
|
-
});
|
|
564
|
-
}
|
|
565
|
-
return dataRef[keysArray[len - 1]];
|
|
566
|
-
};
|
|
567
|
-
|
|
568
588
|
// src/redis/index.ts
|
|
569
589
|
import IORedis from "ioredis";
|
|
570
590
|
var redisClient = null;
|
|
@@ -672,9 +692,9 @@ var getAIConfigs = async ({
|
|
|
672
692
|
});
|
|
673
693
|
};
|
|
674
694
|
export {
|
|
675
|
-
add,
|
|
676
695
|
connectToRedis,
|
|
677
696
|
deleteVal,
|
|
697
|
+
genTagId,
|
|
678
698
|
getAIConfigs,
|
|
679
699
|
getAnnotationsModelByTenant,
|
|
680
700
|
getDbByTenant,
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
declare const deleteVal: (data: any, valuePath: string) => any;
|
|
2
|
+
|
|
3
|
+
type ValuePath = string | string[];
|
|
4
|
+
type DataValue = any;
|
|
5
|
+
interface GetValOptions {
|
|
6
|
+
flattenIfValueIsArray?: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare const setVal: (data: any, valuePath: string, value: DataValue) => any;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param {*} data
|
|
14
|
+
* @param {*} valuePath
|
|
15
|
+
* @returns
|
|
16
|
+
* - if target value is an array found inside an array, it will flatten them out so that there is a single array
|
|
17
|
+
* - if target value is an array NOT found inside an array, that will be returned as is.
|
|
18
|
+
* - if target value is a string/object/number/boolean found inside an array of arrays, then the inner arrays will be flattened so that there is a single array
|
|
19
|
+
* - if target value is a string/object/number/boolean NOT found inside an array, it will be returned as is.
|
|
20
|
+
*/
|
|
21
|
+
declare const getVal: (data: any, valuePath: ValuePath, options?: GetValOptions, depthIdx?: number) => any;
|
|
22
|
+
|
|
23
|
+
interface RichTextBlock {
|
|
24
|
+
text: string;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}
|
|
27
|
+
interface RichTextValue {
|
|
28
|
+
blocks: RichTextBlock[];
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}
|
|
31
|
+
type TagNameInput = string | number | RichTextValue | null | undefined;
|
|
32
|
+
declare const genTagId: (tagName: TagNameInput) => string;
|
|
33
|
+
|
|
34
|
+
export { deleteVal, genTagId, getVal, setVal };
|