@jvsoft/utils 0.0.9 → 0.0.11

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 (119) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +9 -24
  4. package/src/classes/data-model.ts +150 -0
  5. package/src/functions/base64.ts +8 -0
  6. package/src/functions/browser.ts +20 -0
  7. package/src/functions/crypto-js.ts +29 -0
  8. package/src/functions/date.ts +23 -0
  9. package/src/functions/email.ts +17 -0
  10. package/src/functions/file.ts +138 -0
  11. package/src/functions/forms.ts +145 -0
  12. package/src/functions/http-client.ts +110 -0
  13. package/src/functions/index.ts +1 -0
  14. package/src/functions/local-storage.ts +102 -0
  15. package/src/functions/mat-form-controls/autocomplete.ts +275 -0
  16. package/src/functions/mat-form-controls/index.ts +6 -0
  17. package/src/functions/ng-package.json +5 -0
  18. package/src/functions/number.ts +3 -0
  19. package/src/functions/object-transformation.ts +37 -0
  20. package/src/functions/objects-arrays.ts +243 -0
  21. package/src/functions/public-api.ts +19 -0
  22. package/src/functions/string.ts +9 -0
  23. package/src/functions/sweetalert.ts +95 -0
  24. package/src/functions/utiles.ts +20 -0
  25. package/{interfaces/datos.d.ts → src/interfaces/datos.ts} +2 -1
  26. package/src/interfaces/index.ts +1 -0
  27. package/src/interfaces/ng-package.json +5 -0
  28. package/src/interfaces/otros.ts +0 -0
  29. package/src/interfaces/public-api.ts +3 -0
  30. package/src/interfaces/routes.ts +42 -0
  31. package/src/pipes/data-en-lista.pipe.ts +40 -0
  32. package/src/pipes/date-diff-string.pipe.ts +117 -0
  33. package/src/pipes/filtro.pipe.ts +64 -0
  34. package/src/pipes/form-control-is-required.pipe.ts +17 -0
  35. package/src/pipes/index.ts +1 -0
  36. package/src/pipes/json-parse.pipe.ts +18 -0
  37. package/src/pipes/ng-package.json +5 -0
  38. package/src/pipes/no-sanitize.pipe.ts +12 -0
  39. package/src/pipes/public-api.ts +10 -0
  40. package/src/pipes/tipo-valor-funcion.pipe.ts +23 -0
  41. package/src/pipes/zero-fill.pipe.ts +19 -0
  42. package/src/public-api.ts +12 -0
  43. package/tsconfig.lib.json +17 -0
  44. package/tsconfig.lib.prod.json +11 -0
  45. package/tsconfig.spec.json +15 -0
  46. package/classes/data-model.d.ts +0 -25
  47. package/fesm2022/jvsoft-utils-src-functions.mjs +0 -1109
  48. package/fesm2022/jvsoft-utils-src-functions.mjs.map +0 -1
  49. package/fesm2022/jvsoft-utils-src-interfaces.mjs +0 -6
  50. package/fesm2022/jvsoft-utils-src-interfaces.mjs.map +0 -1
  51. package/fesm2022/jvsoft-utils-src-pipes.mjs +0 -290
  52. package/fesm2022/jvsoft-utils-src-pipes.mjs.map +0 -1
  53. package/fesm2022/jvsoft-utils.mjs +0 -1526
  54. package/fesm2022/jvsoft-utils.mjs.map +0 -1
  55. package/functions/base64.d.ts +0 -2
  56. package/functions/browser.d.ts +0 -1
  57. package/functions/crypto-js.d.ts +0 -2
  58. package/functions/date.d.ts +0 -3
  59. package/functions/email.d.ts +0 -2
  60. package/functions/file.d.ts +0 -10
  61. package/functions/forms.d.ts +0 -10
  62. package/functions/http-client.d.ts +0 -2
  63. package/functions/index.d.ts +0 -1
  64. package/functions/local-storage.d.ts +0 -29
  65. package/functions/mat-form-controls/autocomplete.d.ts +0 -21
  66. package/functions/mat-form-controls/index.d.ts +0 -2
  67. package/functions/number.d.ts +0 -1
  68. package/functions/object-transformation.d.ts +0 -2
  69. package/functions/objects-arrays.d.ts +0 -37
  70. package/functions/public-api.d.ts +0 -16
  71. package/functions/string.d.ts +0 -1
  72. package/functions/sweetalert.d.ts +0 -5
  73. package/functions/utiles.d.ts +0 -1
  74. package/index.d.ts +0 -5
  75. package/interfaces/index.d.ts +0 -1
  76. package/interfaces/public-api.d.ts +0 -1
  77. package/pipes/data-en-lista.pipe.d.ts +0 -8
  78. package/pipes/date-diff-string.pipe.d.ts +0 -17
  79. package/pipes/filtro.pipe.d.ts +0 -18
  80. package/pipes/form-control-is-required.pipe.d.ts +0 -9
  81. package/pipes/index.d.ts +0 -1
  82. package/pipes/json-parse.pipe.d.ts +0 -7
  83. package/pipes/no-sanitize.pipe.d.ts +0 -10
  84. package/pipes/public-api.d.ts +0 -8
  85. package/pipes/tipo-valor-funcion.pipe.d.ts +0 -9
  86. package/pipes/zero-fill.pipe.d.ts +0 -8
  87. package/public-api.d.ts +0 -4
  88. package/src/functions/base64.d.ts +0 -2
  89. package/src/functions/browser.d.ts +0 -1
  90. package/src/functions/crypto-js.d.ts +0 -2
  91. package/src/functions/date.d.ts +0 -3
  92. package/src/functions/email.d.ts +0 -2
  93. package/src/functions/file.d.ts +0 -10
  94. package/src/functions/forms.d.ts +0 -10
  95. package/src/functions/http-client.d.ts +0 -2
  96. package/src/functions/index.d.ts +0 -5
  97. package/src/functions/local-storage.d.ts +0 -29
  98. package/src/functions/mat-form-controls/autocomplete.d.ts +0 -21
  99. package/src/functions/mat-form-controls/index.d.ts +0 -2
  100. package/src/functions/number.d.ts +0 -1
  101. package/src/functions/object-transformation.d.ts +0 -2
  102. package/src/functions/objects-arrays.d.ts +0 -37
  103. package/src/functions/public-api.d.ts +0 -16
  104. package/src/functions/string.d.ts +0 -1
  105. package/src/functions/sweetalert.d.ts +0 -5
  106. package/src/functions/utiles.d.ts +0 -1
  107. package/src/interfaces/datos.d.ts +0 -4
  108. package/src/interfaces/index.d.ts +0 -5
  109. package/src/interfaces/public-api.d.ts +0 -1
  110. package/src/pipes/data-en-lista.pipe.d.ts +0 -8
  111. package/src/pipes/date-diff-string.pipe.d.ts +0 -17
  112. package/src/pipes/filtro.pipe.d.ts +0 -18
  113. package/src/pipes/form-control-is-required.pipe.d.ts +0 -9
  114. package/src/pipes/index.d.ts +0 -5
  115. package/src/pipes/json-parse.pipe.d.ts +0 -7
  116. package/src/pipes/no-sanitize.pipe.d.ts +0 -10
  117. package/src/pipes/public-api.d.ts +0 -8
  118. package/src/pipes/tipo-valor-funcion.pipe.d.ts +0 -9
  119. package/src/pipes/zero-fill.pipe.d.ts +0 -8
@@ -0,0 +1,17 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+ import {AbstractControl, Validators} from '@angular/forms';
3
+
4
+ @Pipe({
5
+ name: 'formControlIsRequired'
6
+ })
7
+ export class FormControlIsRequiredPipe implements PipeTransform {
8
+
9
+ transform(formControl: AbstractControl, ...args: unknown[]): any {
10
+ if (!formControl) { return false; }
11
+ return formControl.hasValidator(Validators.required);
12
+ }
13
+
14
+ }
15
+ export function formControlIsRequired(formControl: AbstractControl) {
16
+ return new FormControlIsRequiredPipe().transform(formControl);
17
+ }
@@ -0,0 +1 @@
1
+ export * from './public-api'
@@ -0,0 +1,18 @@
1
+ import { Pipe, PipeTransform } from '@angular/core';
2
+
3
+ @Pipe({
4
+ name: 'jsonParse'
5
+ })
6
+ export class JsonParsePipe implements PipeTransform {
7
+
8
+ transform(value: string, ...args: unknown[]): any {
9
+ if (!value) { return []; }
10
+ try {
11
+ return JSON.parse(value);
12
+ } catch (e) {
13
+ console.warn('La cadena "' + value + '" no es JSON');
14
+ return [];
15
+ }
16
+ }
17
+
18
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "lib": {
3
+ "entryFile": "public-api.ts"
4
+ }
5
+ }
@@ -0,0 +1,12 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+ import {DomSanitizer, SafeHtml} from '@angular/platform-browser';
3
+
4
+ @Pipe({ name: 'noSanitize' })
5
+ export class NoSanitizePipe implements PipeTransform {
6
+ constructor(private domSanitizer: DomSanitizer) {
7
+
8
+ }
9
+ transform(html: string): SafeHtml {
10
+ return this.domSanitizer.bypassSecurityTrustHtml(html);
11
+ }
12
+ }
@@ -0,0 +1,10 @@
1
+
2
+ export * from './data-en-lista.pipe';
3
+ export * from './date-diff-string.pipe';
4
+ export * from './filtro.pipe'
5
+ export * from './form-control-is-required.pipe'
6
+ export * from './json-parse.pipe'
7
+ export * from './no-sanitize.pipe'
8
+ export * from './tipo-valor-funcion.pipe'
9
+ export * from './zero-fill.pipe'
10
+
@@ -0,0 +1,23 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+
3
+ export type TipoValorFuncion<T> = T | ((...param: any) => T);
4
+
5
+ @Pipe({
6
+ name: 'tipoValorFuncion',
7
+ standalone: true, // Para usarlo en standalone components
8
+ })
9
+ export class TipoValorFuncionPipe implements PipeTransform {
10
+ transform<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {
11
+ if (datoParam === undefined || datoParam === null) {
12
+ return defaultValue;
13
+ }
14
+ if (typeof datoParam === 'function') {
15
+ return (datoParam as (...args: any) => T)(...param);
16
+ }
17
+ return datoParam;
18
+ }
19
+ }
20
+
21
+ export function tipoValorFuncion<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {
22
+ return new TipoValorFuncionPipe().transform(datoParam, defaultValue, ...param);
23
+ }
@@ -0,0 +1,19 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+
3
+ @Pipe({
4
+ name: 'zeroFill',
5
+ })
6
+ export class ZeroFillPipe implements PipeTransform {
7
+
8
+ transform(value: unknown, digitos: number, ...args: unknown[]) {
9
+ let s = value + '';
10
+ while (s.length < digitos) {
11
+ s = '0' + s;
12
+ }
13
+ return s;
14
+ }
15
+
16
+ }
17
+ export function zeroFill(value: unknown, digitos: number, ...args: unknown[]) {
18
+ return new ZeroFillPipe().transform(value, digitos, args);
19
+ }
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Public API Surface of utils
3
+ */
4
+
5
+ export * from './classes/data-model';
6
+ export * from './functions';
7
+ export * from './pipes';
8
+ export * from './interfaces';
9
+ // export * from './functions/common.function';
10
+
11
+ // export * from './lib/utils.component';
12
+ // export * from './lib/utils.service';
@@ -0,0 +1,17 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/lib",
7
+ "rootDir": ".", // ✅ permite que cualquier subcarpeta como "functions/" esté incluida
8
+ "declaration": true,
9
+ "declarationMap": true,
10
+ "sourceMap": true,
11
+ "inlineSources": true,
12
+ "types": []
13
+ },
14
+ "exclude": [
15
+ "**/*.spec.ts"
16
+ ]
17
+ }
@@ -0,0 +1,11 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "./tsconfig.lib.json",
5
+ "compilerOptions": {
6
+ "declarationMap": false
7
+ },
8
+ "angularCompilerOptions": {
9
+ "compilationMode": "partial"
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/spec",
7
+ "types": [
8
+ "jasmine"
9
+ ]
10
+ },
11
+ "include": [
12
+ "**/*.spec.ts",
13
+ "**/*.d.ts"
14
+ ]
15
+ }
@@ -1,25 +0,0 @@
1
- import { FormGroup } from '@angular/forms';
2
- export declare class DataModel {
3
- modelosChk: {
4
- [key: string]: boolean | any;
5
- };
6
- checkbox: ForCheckboxModel;
7
- constructor();
8
- generarId(row: any, campoValor: string[] | string, separador?: string): string;
9
- agregarControles(lista: any[], idLista: string, limpiar?: boolean, campoValor?: string[] | string | null, campoValorSeparador?: string): void;
10
- setState(idx: string, state: boolean): void;
11
- getState(idx: string): boolean | any;
12
- getDataMultiple(idx: string): any;
13
- generarLista(tipoRetorno?: 'array' | 'object' | null, esCampoNumerico?: boolean): string | object | any[];
14
- generarFormGroupFromModelosChk(tipo?: string): FormGroup;
15
- }
16
- declare class ForCheckboxModel {
17
- private modeloCheck;
18
- constructor(modeloCheck: DataModel);
19
- get cantidadActivos(): number;
20
- get existenActivados(): boolean;
21
- get todosActivos(): boolean;
22
- get algunosActivos(): boolean;
23
- establecerTodos(activo: boolean): void;
24
- }
25
- export {};