@manticore-labs/nest 0.0.105 → 0.0.107

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.
Files changed (18) hide show
  1. package/.idea/workspace.xml +125 -50
  2. package/build/main/lib/funciones-util/buscar-registro.js +24 -499
  3. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.d.ts +1 -1
  4. package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +271 -226
  5. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.d.ts +2 -1
  6. package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.js +22 -12
  7. package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +3 -3
  8. package/build/main/lib/funciones-util/funciones-busqueda/verificar-campo.d.ts +4 -0
  9. package/build/main/lib/funciones-util/funciones-busqueda/verificar-campo.js +363 -0
  10. package/build/module/lib/funciones-util/buscar-registro.js +27 -502
  11. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.d.ts +1 -1
  12. package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +274 -226
  13. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.d.ts +2 -1
  14. package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.js +25 -15
  15. package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +3 -3
  16. package/build/module/lib/funciones-util/funciones-busqueda/verificar-campo.d.ts +4 -0
  17. package/build/module/lib/funciones-util/funciones-busqueda/verificar-campo.js +360 -0
  18. package/package.json +1 -1
@@ -47,7 +47,14 @@ async function buscarVariosRegistros(criterioBusqueda, PrincipalFindManyOptions,
47
47
  }
48
48
  if (criterioBusquedaClase.where) {
49
49
  const objetoWhereYRelations = obtener_objeto_where_y_relations_1.obtenerObjetoWhereYRelations(criterioBusqueda.where);
50
- if (Object.keys(objetoWhereYRelations.objetoRelaciones).length === 0) {
50
+ const algunValorDelWhereEsArreglo = Object
51
+ .keys(objetoWhereYRelations.objetoCampos)
52
+ .some((nombreCampo) => {
53
+ const valorCampo = objetoWhereYRelations.objetoCampos[nombreCampo];
54
+ return Array.isArray(valorCampo);
55
+ });
56
+ const noExistenRelaciones = Object.keys(objetoWhereYRelations.objetoRelaciones).length === 0;
57
+ if (noExistenRelaciones && !algunValorDelWhereEsArreglo) {
51
58
  if (Array.isArray(criterioBusquedaClase.where)) {
52
59
  criterioBusquedaClase
53
60
  .where
@@ -540,510 +547,28 @@ async function buscarVariosRegistros(criterioBusqueda, PrincipalFindManyOptions,
540
547
  }
541
548
  else {
542
549
  criterioBusquedaClase.where = objetoWhereYRelations.objetoCampos;
543
- if (Array.isArray(criterioBusquedaClase.where)) {
544
- criterioBusquedaClase
545
- .where
546
- .forEach((busqueda, indice) => {
547
- Object
548
- .keys(busqueda)
549
- .forEach((campo) => {
550
- let noEncuentraOperador = true;
551
- let campoEsTexto = typeof criterioBusquedaClase.where[indice][campo] === 'string';
552
- if (noEncuentraOperador && campoEsTexto) {
553
- const expresionRegularNot = /Not\(".+"\)+/g;
554
- const contieneNot = criterioBusquedaClase.where[indice][campo].match(expresionRegularNot);
555
- if (contieneNot && noEncuentraOperador) {
556
- const sinNot = criterioBusquedaClase.where[indice][campo].replace('Not("', '').replace('")', '');
557
- if (noEncuentraOperador && campoEsTexto) {
558
- const expresionRegularLike = /Like\(".+"\)+/g;
559
- const contieneLike = sinNot.match(expresionRegularLike);
560
- if (contieneLike) {
561
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.Like(sinNot.replace('Like("', '').replace('")', '')));
562
- noEncuentraOperador = false;
563
- }
564
- }
565
- if (noEncuentraOperador && campoEsTexto) {
566
- const expresionRegularLessThan = /LessThan\(".+"\)+/g;
567
- const contieneLessThan = sinNot.match(expresionRegularLessThan);
568
- if (contieneLessThan) {
569
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.LessThan(sinNot.replace('LessThan("', '').replace('")', '')));
570
- noEncuentraOperador = false;
571
- }
572
- }
573
- if (noEncuentraOperador && campoEsTexto) {
574
- const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
575
- const contieneMoreThan = sinNot.match(expresionRegularMoreThan);
576
- if (contieneMoreThan) {
577
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.MoreThan(sinNot.replace('MoreThan("', '').replace('")', '')));
578
- noEncuentraOperador = false;
579
- }
580
- }
581
- if (noEncuentraOperador && campoEsTexto) {
582
- const expresionRegularEqual = /Equal\(".+"\)+/g;
583
- const contieneEqual = sinNot.match(expresionRegularEqual);
584
- if (contieneEqual) {
585
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.Equal(sinNot.replace('Equal("', '').replace('")', '')));
586
- noEncuentraOperador = false;
587
- }
588
- }
589
- if (noEncuentraOperador && campoEsTexto) {
590
- const expresionRegularBetween = /Between\(".+"\)+/g;
591
- const contieneBetween = sinNot.match(expresionRegularBetween);
592
- if (contieneBetween) {
593
- const busqueda = [...sinNot
594
- .replace('Between("', '')
595
- .replace('")', '')
596
- .replace(' ', '')
597
- .split(',')
598
- .map((n) => isNaN(n) ? n : +n)];
599
- const esFecha = busqueda[0].length === 10 &&
600
- busqueda[0].length === 10 &&
601
- (typeof busqueda[0] === 'string') &&
602
- (typeof busqueda[1] === 'string') &&
603
- busqueda[0].match('-') &&
604
- busqueda[1].match('-');
605
- if (esFecha) {
606
- const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
607
- const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
608
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.Between(fechaInicio, fechaFin));
609
- }
610
- else {
611
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.Between(busqueda[0], busqueda[1]));
612
- }
613
- noEncuentraOperador = false;
614
- }
615
- }
616
- if (noEncuentraOperador && campoEsTexto) {
617
- const expresionRegularIn = /In\(.+\)+/g;
618
- const contieneIn = sinNot.match(expresionRegularIn);
619
- if (contieneIn) {
620
- let arreglo;
621
- try {
622
- arreglo = JSON.parse(sinNot
623
- .replace('In(', '')
624
- .replace('])', ']'));
625
- if (arreglo.length > 0) {
626
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.In(arreglo));
627
- noEncuentraOperador = false;
628
- }
629
- else {
630
- console.error({
631
- mensaje: 'IN mal formateado, no tiene elementos eliminando campo.'
632
- });
633
- delete criterioBusquedaClase.where[campo];
634
- }
635
- }
636
- catch (error) {
637
- console.error({
638
- error,
639
- mensaje: 'IN mal formateado, eliminando campo.'
640
- });
641
- delete criterioBusquedaClase.where[campo];
642
- }
643
- }
644
- }
645
- if (noEncuentraOperador && campoEsTexto) {
646
- const expresionRegularAny = /Any\(.+\)+/g;
647
- const contieneAny = sinNot.match(expresionRegularAny);
648
- if (contieneAny) {
649
- let arreglo;
650
- try {
651
- arreglo = JSON.parse(sinNot
652
- .replace('Any(', '')
653
- .replace(')', ''));
654
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.Any(arreglo));
655
- noEncuentraOperador = false;
656
- }
657
- catch (e) {
658
- console.log('Error formateando clausula ANY');
659
- console.log(e);
660
- }
661
- }
662
- }
663
- if (noEncuentraOperador && campoEsTexto) {
664
- const expresionRegularIsNull = /IsNull\(".+"\)+/g;
665
- const contieneIsNull = sinNot.match(expresionRegularIsNull);
666
- if (contieneIsNull) {
667
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Not(typeorm_1.IsNull());
668
- noEncuentraOperador = false;
669
- }
670
- }
671
- }
672
- } // Fin de NOT
673
- if (noEncuentraOperador && campoEsTexto) {
674
- const expresionRegularLike = /Like\(".+"\)+/g;
675
- const contieneLike = criterioBusquedaClase.where[indice][campo].match(expresionRegularLike);
676
- if (contieneLike) {
677
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Like(criterioBusquedaClase.where[indice][campo].replace('Like("', '').replace('")', ''));
678
- noEncuentraOperador = false;
679
- }
680
- }
681
- if (noEncuentraOperador && campoEsTexto) {
682
- const expresionRegularLessThan = /LessThan\(".+"\)+/g;
683
- const contieneLessThan = criterioBusquedaClase.where[indice][campo].match(expresionRegularLessThan);
684
- if (contieneLessThan) {
685
- criterioBusquedaClase.where[indice][campo] = typeorm_1.LessThan(criterioBusquedaClase.where[indice][campo].replace('LessThan("', '').replace('")', ''));
686
- noEncuentraOperador = false;
687
- }
688
- }
689
- if (noEncuentraOperador && campoEsTexto) {
690
- const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
691
- const contieneMoreThan = criterioBusquedaClase.where[indice][campo].match(expresionRegularMoreThan);
692
- if (contieneMoreThan) {
693
- criterioBusquedaClase.where[indice][campo] = typeorm_1.MoreThan(criterioBusquedaClase.where[indice][campo].replace('MoreThan("', '').replace('")', ''));
694
- noEncuentraOperador = false;
695
- }
696
- }
697
- if (noEncuentraOperador && campoEsTexto) {
698
- const expresionRegularEqual = /Equal\(".+"\)+/g;
699
- const contieneEqual = criterioBusquedaClase.where[indice][campo].match(expresionRegularEqual);
700
- if (contieneEqual) {
701
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Equal(criterioBusquedaClase.where[indice][campo].replace('Equal("', '').replace('")', ''));
702
- noEncuentraOperador = false;
703
- }
704
- }
705
- if (noEncuentraOperador && campoEsTexto) {
706
- const expresionRegularBetween = /Between\(".+"\)+/g;
707
- const contieneBetween = criterioBusquedaClase.where[indice][campo].match(expresionRegularBetween);
708
- if (contieneBetween) {
709
- const busqueda = [...criterioBusquedaClase.where[indice][campo]
710
- .replace('Between("', '')
711
- .replace('")', '')
712
- .replace(' ', '')
713
- .split(',')
714
- .map((n) => isNaN(n) ? n : +n)];
715
- const esFecha = busqueda[0].length === 10 &&
716
- busqueda[0].length === 10 &&
717
- (typeof busqueda[0] === 'string') &&
718
- (typeof busqueda[1] === 'string') &&
719
- busqueda[0].match('-') &&
720
- busqueda[1].match('-');
721
- if (esFecha) {
722
- const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
723
- const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
724
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Between(fechaInicio, fechaFin);
725
- }
726
- else {
727
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Between(busqueda[0], busqueda[1]);
728
- }
729
- noEncuentraOperador = false;
730
- }
731
- }
732
- if (noEncuentraOperador && campoEsTexto) {
733
- const expresionRegularIn = /In\(.+\)+/g;
734
- const contieneIn = criterioBusquedaClase.where[indice][campo].match(expresionRegularIn);
735
- if (contieneIn) {
736
- let arreglo;
737
- try {
738
- arreglo = JSON.parse(criterioBusquedaClase.where[indice][campo]
739
- .replace('In(', '')
740
- .replace('])', ']'));
741
- if (arreglo.length > 0) {
742
- criterioBusquedaClase.where[campo] = typeorm_1.In(arreglo);
743
- noEncuentraOperador = false;
744
- }
745
- else {
746
- console.error({
747
- mensaje: 'IN mal formateado, no tiene elementos eliminando campo.'
748
- });
749
- delete criterioBusquedaClase.where[campo];
750
- }
751
- }
752
- catch (error) {
753
- console.error({
754
- error,
755
- mensaje: 'IN mal formateado, eliminando campo.'
756
- });
757
- delete criterioBusquedaClase.where[campo];
758
- }
759
- }
760
- }
761
- if (noEncuentraOperador && campoEsTexto) {
762
- const expresionRegularAny = /Any\(.+\)+/g;
763
- const contieneAny = criterioBusquedaClase.where[indice][campo].match(expresionRegularAny);
764
- if (contieneAny) {
765
- let arreglo;
766
- try {
767
- arreglo = JSON.parse(criterioBusquedaClase.where[indice][campo]
768
- .replace('Any(', '')
769
- .replace(')', ''));
770
- criterioBusquedaClase.where[indice][campo] = typeorm_1.Any(arreglo);
771
- noEncuentraOperador = false;
772
- }
773
- catch (e) {
774
- console.log(e);
775
- }
776
- }
777
- }
778
- if (noEncuentraOperador && campoEsTexto) {
779
- const expresionRegularIsNull = /IsNull\(".+"\)+/g;
780
- const contieneIsNull = criterioBusquedaClase.where[indice][campo].match(expresionRegularIsNull);
781
- if (contieneIsNull) {
782
- criterioBusquedaClase.where[indice][campo] = typeorm_1.IsNull();
783
- noEncuentraOperador = false;
784
- }
785
- }
786
- });
787
- });
788
- }
789
- else {
790
- Object
791
- .keys(criterioBusquedaClase.where)
792
- .forEach((campo) => {
793
- let noEncuentraOperador = true;
794
- let campoEsTexto = typeof criterioBusquedaClase.where[campo] === 'string';
795
- if (noEncuentraOperador && campoEsTexto) {
796
- const expresionRegularNot = /Not\(".+"\)+/g;
797
- const contieneNot = criterioBusquedaClase.where[campo].match(expresionRegularNot);
798
- if (contieneNot && noEncuentraOperador) {
799
- // criterioBusquedaClase.where[campo] = Not(
800
- // criterioBusquedaClase.where[campo].replace('Not("', '').replace('")', '')
801
- // );
802
- // noEncuentraOperador = false;
803
- const sinNot = criterioBusquedaClase.where[campo].replace('Not("', '').replace('")', '');
804
- if (noEncuentraOperador && campoEsTexto) {
805
- const expresionRegularLike = /Like\(".+"\)+/g;
806
- const contieneLike = sinNot.match(expresionRegularLike);
807
- if (contieneLike) {
808
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.Like(sinNot.replace('Like("', '').replace('")', '')));
809
- noEncuentraOperador = false;
810
- }
811
- }
812
- if (noEncuentraOperador && campoEsTexto) {
813
- const expresionRegularLessThan = /LessThan\(".+"\)+/g;
814
- const contieneLessThan = sinNot.match(expresionRegularLessThan);
815
- if (contieneLessThan) {
816
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.LessThan(sinNot.replace('LessThan("', '').replace('")', '')));
817
- noEncuentraOperador = false;
818
- }
819
- }
820
- if (noEncuentraOperador && campoEsTexto) {
821
- const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
822
- const contieneMoreThan = sinNot.match(expresionRegularMoreThan);
823
- if (contieneMoreThan) {
824
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.MoreThan(sinNot.replace('MoreThan("', '').replace('")', '')));
825
- noEncuentraOperador = false;
826
- }
827
- }
828
- if (noEncuentraOperador && campoEsTexto) {
829
- const expresionRegularEqual = /Equal\(".+"\)+/g;
830
- const contieneEqual = sinNot.match(expresionRegularEqual);
831
- if (contieneEqual) {
832
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.Equal(sinNot.replace('Equal("', '').replace('")', '')));
833
- noEncuentraOperador = false;
834
- }
835
- }
836
- if (noEncuentraOperador && campoEsTexto) {
837
- const expresionRegularBetween = /Between\(".+"\)+/g;
838
- const contieneBetween = sinNot.match(expresionRegularBetween);
839
- if (contieneBetween) {
840
- const busqueda = [...sinNot
841
- .replace('Between("', '')
842
- .replace('")', '')
843
- .replace(' ', '')
844
- .split(',')
845
- .map((n) => isNaN(n) ? n : +n)];
846
- const esFecha = busqueda[0].length === 10 &&
847
- busqueda[0].length === 10 &&
848
- (typeof busqueda[0] === 'string') &&
849
- (typeof busqueda[1] === 'string') &&
850
- busqueda[0].match('-') &&
851
- busqueda[1].match('-');
852
- if (esFecha) {
853
- const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
854
- const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
855
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.Between(fechaInicio, fechaFin));
856
- }
857
- else {
858
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.Between(busqueda[0], busqueda[1]));
859
- }
860
- noEncuentraOperador = false;
861
- }
862
- }
863
- if (noEncuentraOperador && campoEsTexto) {
864
- const expresionRegularIn = /In\(.+\)+/g;
865
- const contieneIn = sinNot.match(expresionRegularIn);
866
- if (contieneIn) {
867
- let arreglo;
868
- try {
869
- arreglo = JSON.parse(sinNot
870
- .replace('In(', '')
871
- .replace('])', ']'));
872
- if (arreglo.length > 0) {
873
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.In(arreglo));
874
- noEncuentraOperador = false;
875
- }
876
- else {
877
- console.error({
878
- mensaje: 'IN mal formateado, no tiene elementos eliminando campo.'
879
- });
880
- delete criterioBusquedaClase.where[campo];
881
- }
882
- }
883
- catch (error) {
884
- console.error({
885
- error,
886
- mensaje: 'IN mal formateado, eliminando campo.'
887
- });
888
- delete criterioBusquedaClase.where[campo];
889
- }
890
- }
891
- }
892
- if (noEncuentraOperador && campoEsTexto) {
893
- const expresionRegularAny = /Any\(.+\)+/g;
894
- const contieneAny = sinNot.match(expresionRegularAny);
895
- if (contieneAny) {
896
- let arreglo;
897
- try {
898
- arreglo = JSON.parse(sinNot
899
- .replace('Any(', '')
900
- .replace(')', ''));
901
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.Any(arreglo));
902
- noEncuentraOperador = false;
903
- }
904
- catch (e) {
905
- console.log('Error formateando clausula ANY');
906
- console.log(e);
907
- }
908
- }
909
- }
910
- if (noEncuentraOperador && campoEsTexto) {
911
- const expresionRegularIsNull = /IsNull\(".+"\)+/g;
912
- const contieneIsNull = sinNot.match(expresionRegularIsNull);
913
- if (contieneIsNull) {
914
- criterioBusquedaClase.where[campo] = typeorm_1.Not(typeorm_1.IsNull());
915
- noEncuentraOperador = false;
916
- }
917
- }
918
- }
919
- } // Fin de NOT
920
- if (noEncuentraOperador && campoEsTexto) {
921
- const expresionRegularLike = /Like\(".+"\)+/g;
922
- const contieneLike = criterioBusquedaClase.where[campo].match(expresionRegularLike);
923
- if (contieneLike) {
924
- criterioBusquedaClase.where[campo] = typeorm_1.Like(criterioBusquedaClase.where[campo].replace('Like("', '').replace('")', ''));
925
- noEncuentraOperador = false;
926
- }
927
- }
928
- if (noEncuentraOperador && campoEsTexto) {
929
- const expresionRegularLessThan = /LessThan\(".+"\)+/g;
930
- const contieneLessThan = criterioBusquedaClase.where[campo].match(expresionRegularLessThan);
931
- if (contieneLessThan) {
932
- criterioBusquedaClase.where[campo] = typeorm_1.LessThan(criterioBusquedaClase.where[campo].replace('LessThan("', '').replace('")', ''));
933
- noEncuentraOperador = false;
934
- }
935
- }
936
- if (noEncuentraOperador && campoEsTexto) {
937
- const expresionRegularMoreThan = /MoreThan\(".+"\)+/g;
938
- const contieneMoreThan = criterioBusquedaClase.where[campo].match(expresionRegularMoreThan);
939
- if (contieneMoreThan) {
940
- criterioBusquedaClase.where[campo] = typeorm_1.MoreThan(criterioBusquedaClase.where[campo].replace('MoreThan("', '').replace('")', ''));
941
- noEncuentraOperador = false;
942
- }
943
- }
944
- if (noEncuentraOperador && campoEsTexto) {
945
- const expresionRegularEqual = /Equal\(".+"\)+/g;
946
- const contieneEqual = criterioBusquedaClase.where[campo].match(expresionRegularEqual);
947
- if (contieneEqual) {
948
- criterioBusquedaClase.where[campo] = typeorm_1.Equal(criterioBusquedaClase.where[campo].replace('Equal("', '').replace('")', ''));
949
- noEncuentraOperador = false;
950
- }
951
- }
952
- if (noEncuentraOperador && campoEsTexto) {
953
- const expresionRegularBetween = /Between\(".+"\)+/g;
954
- const contieneBetween = criterioBusquedaClase.where[campo].match(expresionRegularBetween);
955
- if (contieneBetween) {
956
- const busqueda = [...criterioBusquedaClase.where[campo]
957
- .replace('Between("', '')
958
- .replace('")', '')
959
- .replace(' ', '')
960
- .split(',')
961
- .map((n) => isNaN(n) ? n : +n)];
962
- const esFecha = busqueda[0].length === 10 &&
963
- busqueda[0].length === 10 &&
964
- (typeof busqueda[0] === 'string') &&
965
- (typeof busqueda[1] === 'string') &&
966
- busqueda[0].match('-') &&
967
- busqueda[1].match('-');
968
- if (esFecha) {
969
- const fechaInicio = new Date(busqueda[0].substring(0, 4), busqueda[0].substring(5, 7) - 1, busqueda[0].substring(8));
970
- const fechaFin = new Date(busqueda[1].substring(0, 4), busqueda[1].substring(5, 7) - 1, busqueda[1].substring(8));
971
- criterioBusquedaClase.where[campo] = typeorm_1.Between(fechaInicio, fechaFin);
972
- }
973
- else {
974
- criterioBusquedaClase.where[campo] = typeorm_1.Between(busqueda[0], busqueda[1]);
975
- }
976
- noEncuentraOperador = false;
977
- }
978
- }
979
- if (noEncuentraOperador && campoEsTexto) {
980
- const expresionRegularIn = /In\(.+\)+/g;
981
- const contieneIn = criterioBusquedaClase.where[campo].match(expresionRegularIn);
982
- if (contieneIn) {
983
- let arreglo;
984
- try {
985
- arreglo = JSON.parse(criterioBusquedaClase.where[campo]
986
- .replace('In(', '')
987
- .replace('])', ']'));
988
- if (arreglo.length > 0) {
989
- criterioBusquedaClase.where[campo] = typeorm_1.In(arreglo);
990
- noEncuentraOperador = false;
991
- }
992
- else {
993
- console.error({
994
- mensaje: 'IN mal formateado, no tiene elementos eliminando campo.'
995
- });
996
- delete criterioBusquedaClase.where[campo];
997
- }
998
- }
999
- catch (error) {
1000
- console.error({
1001
- error,
1002
- mensaje: 'IN mal formateado, eliminando campo.'
1003
- });
1004
- delete criterioBusquedaClase.where[campo];
1005
- }
1006
- }
1007
- }
1008
- if (noEncuentraOperador && campoEsTexto) {
1009
- const expresionRegularAny = /Any\(.+\)+/g;
1010
- const contieneAny = criterioBusquedaClase.where[campo].match(expresionRegularAny);
1011
- if (contieneAny) {
1012
- let arreglo;
1013
- try {
1014
- arreglo = JSON.parse(criterioBusquedaClase.where[campo]
1015
- .replace('Any(', '')
1016
- .replace(')', ''));
1017
- criterioBusquedaClase.where[campo] = typeorm_1.Any(arreglo);
1018
- noEncuentraOperador = false;
1019
- }
1020
- catch (e) {
1021
- console.log(e);
1022
- }
1023
- }
1024
- }
1025
- if (noEncuentraOperador && campoEsTexto) {
1026
- const expresionRegularIsNull = /IsNull\(".+"\)+/g;
1027
- const contieneIsNull = criterioBusquedaClase.where[campo].match(expresionRegularIsNull);
1028
- if (contieneIsNull) {
1029
- criterioBusquedaClase.where[campo] = typeorm_1.IsNull();
1030
- noEncuentraOperador = false;
1031
- }
1032
- }
1033
- });
1034
- }
1035
550
  let consulta = servicio.repository.createQueryBuilder('raiz');
1036
551
  // Consulta where normal
1037
552
  const wherePrincipal = Object
1038
553
  .keys(objetoWhereYRelations.objetoCampos);
1039
554
  let condicionGeneral = '';
1040
555
  let objetoGeneral = {};
556
+ console.log('Recuerde usar la propiedad "mlabOr" con valores true o false' +
557
+ ' por defecto la opcion es false. Sirve para usar la consulta con OR o AND.');
1041
558
  wherePrincipal.forEach((nombreCampo, indice) => {
1042
- const objetoCampoCondiciones = generar_campos_con_condiciones_1.generarCampoConCondiciones(nombreCampo, objetoWhereYRelations.objetoCampos[nombreCampo], 'raiz', 0);
1043
- condicionGeneral = condicionGeneral + (indice === wherePrincipal.length + 1) ?
1044
- objetoCampoCondiciones.consulta :
1045
- objetoCampoCondiciones.consulta + ' and ';
1046
- objetoGeneral = Object.assign({}, objetoGeneral, objetoCampoCondiciones.objeto);
559
+ if (nombreCampo === 'mlabOr') {
560
+ }
561
+ else {
562
+ const objetoCampoCondiciones = generar_campos_con_condiciones_1.generarCampoConCondiciones(nombreCampo, objetoWhereYRelations.objetoCampos[nombreCampo], 'raiz', 0);
563
+ const consultaConOr = objetoWhereYRelations.objetoCampos['mlabOr'];
564
+ const indiceASumar = (consultaConOr === false || consultaConOr === true) ? 2 : 1;
565
+ const concatenador = (consultaConOr ? ' OR ' : ' AND ');
566
+ condicionGeneral = condicionGeneral +
567
+ ((indice + indiceASumar === wherePrincipal.length) ?
568
+ objetoCampoCondiciones.consulta :
569
+ objetoCampoCondiciones.consulta + concatenador);
570
+ objetoGeneral = Object.assign({}, objetoGeneral, objetoCampoCondiciones.objeto);
571
+ }
1047
572
  });
1048
573
  consulta.where(condicionGeneral, objetoGeneral);
1049
574
  // Consulta ya con relaciones
@@ -1087,4 +612,4 @@ async function buscarVariosRegistros(criterioBusqueda, PrincipalFindManyOptions,
1087
612
  }
1088
613
  }
1089
614
  exports.buscarVariosRegistros = buscarVariosRegistros;
1090
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXJlZ2lzdHJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItcmVnaXN0cm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkM7QUFDM0MseURBQWlEO0FBQ2pELHFDQUF5RjtBQUV6Riw0R0FBcUc7QUFDckcsc0VBQWtFO0FBQ2xFLHdHQUFpRztBQUUxRixLQUFLLGdDQUNWLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IscUJBQTJDLEVBQzNDLGlCQUFpQixFQUNqQixXQUFXO0lBQ1gsSUFBSSwyQkFBMkIsR0FBRyxLQUFLLENBQUM7SUFDeEMsTUFBTSw0QkFBNEIsR0FBRyxPQUFPLGdCQUFnQixLQUFLLFFBQVEsQ0FBQztJQUUxRSxJQUFJLDRCQUE0QixFQUFFO1FBQ2hDLElBQUk7WUFDRixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDakQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLDJCQUEyQixHQUFHLElBQUksQ0FBQztTQUNwQztLQUNGO0lBRUQsSUFBSSwyQkFBMkIsRUFBRTtRQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDMUUsTUFBTSwwQkFBMEIsR0FBRztZQUNqQyxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO1FBQzlDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3hDO1NBQU07UUFDTCxJQUFJLHFCQUFxQixHQUFRLGdDQUFZLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUFRLENBQUMscUJBQXFCLENB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
615
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzY2FyLXJlZ2lzdHJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9mdW5jaW9uZXMtdXRpbC9idXNjYXItcmVnaXN0cm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMkM7QUFDM0MseURBQWlEO0FBQ2pELHFDQUF5RjtBQUV6Riw0R0FBcUc7QUFDckcsc0VBQWtFO0FBQ2xFLHdHQUFpRztBQUUxRixLQUFLLGdDQUNWLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IscUJBQTJDLEVBQzNDLGlCQUFpQixFQUNqQixXQUFXO0lBQ1gsSUFBSSwyQkFBMkIsR0FBRyxLQUFLLENBQUM7SUFDeEMsTUFBTSw0QkFBNEIsR0FBRyxPQUFPLGdCQUFnQixLQUFLLFFBQVEsQ0FBQztJQUUxRSxJQUFJLDRCQUE0QixFQUFFO1FBQ2hDLElBQUk7WUFDRixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDakQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLDJCQUEyQixHQUFHLElBQUksQ0FBQztTQUNwQztLQUNGO0lBRUQsSUFBSSwyQkFBMkIsRUFBRTtRQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDMUUsTUFBTSwwQkFBMEIsR0FBRztZQUNqQyxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO1FBQzlDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3hDO1NBQU07UUFDTCxJQUFJLHFCQUFxQixHQUFRLGdDQUFZLENBQUMsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUFRLENBQUMscUJBQXFCLENB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