@jvsoft/utils 0.0.13-alpha.6 → 1.0.0-alpha.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.
@@ -21,10 +21,10 @@ class DataEnListaPipe {
21
21
  }
22
22
  return null;
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DataEnListaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
25
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DataEnListaPipe, isStandalone: true, name: "dataEnLista" });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DataEnListaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
25
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: DataEnListaPipe, isStandalone: true, name: "dataEnLista" });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DataEnListaPipe, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DataEnListaPipe, decorators: [{
28
28
  type: Pipe,
29
29
  args: [{
30
30
  name: 'dataEnLista',
@@ -113,10 +113,10 @@ class DateDiffStringPipe {
113
113
  seconds,
114
114
  };
115
115
  }
116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DateDiffStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
117
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DateDiffStringPipe, isStandalone: true, name: "dateDiffString" });
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DateDiffStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
117
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: DateDiffStringPipe, isStandalone: true, name: "dateDiffString" });
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DateDiffStringPipe, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DateDiffStringPipe, decorators: [{
120
120
  type: Pipe,
121
121
  args: [{
122
122
  name: 'dateDiffString',
@@ -168,10 +168,10 @@ class FiltroPipe {
168
168
  return false;
169
169
  });
170
170
  }
171
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FiltroPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
172
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FiltroPipe, isStandalone: true, name: "filtro" });
171
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FiltroPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
172
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: FiltroPipe, isStandalone: true, name: "filtro" });
173
173
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FiltroPipe, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FiltroPipe, decorators: [{
175
175
  type: Pipe,
176
176
  args: [{
177
177
  name: 'filtro'
@@ -185,10 +185,10 @@ class FormControlIsRequiredPipe {
185
185
  }
186
186
  return formControl.hasValidator(Validators.required);
187
187
  }
188
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormControlIsRequiredPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
189
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FormControlIsRequiredPipe, isStandalone: true, name: "formControlIsRequired" });
188
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FormControlIsRequiredPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
189
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: FormControlIsRequiredPipe, isStandalone: true, name: "formControlIsRequired" });
190
190
  }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FormControlIsRequiredPipe, decorators: [{
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: FormControlIsRequiredPipe, decorators: [{
192
192
  type: Pipe,
193
193
  args: [{
194
194
  name: 'formControlIsRequired'
@@ -211,10 +211,10 @@ class JsonParsePipe {
211
211
  return [];
212
212
  }
213
213
  }
214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: JsonParsePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
215
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: JsonParsePipe, isStandalone: true, name: "jsonParse" });
214
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: JsonParsePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
215
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: JsonParsePipe, isStandalone: true, name: "jsonParse" });
216
216
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: JsonParsePipe, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: JsonParsePipe, decorators: [{
218
218
  type: Pipe,
219
219
  args: [{
220
220
  name: 'jsonParse'
@@ -229,10 +229,10 @@ class NoSanitizePipe {
229
229
  transform(html) {
230
230
  return this.domSanitizer.bypassSecurityTrustHtml(html);
231
231
  }
232
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NoSanitizePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
233
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: NoSanitizePipe, isStandalone: true, name: "noSanitize" });
232
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: NoSanitizePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
233
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: NoSanitizePipe, isStandalone: true, name: "noSanitize" });
234
234
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: NoSanitizePipe, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: NoSanitizePipe, decorators: [{
236
236
  type: Pipe,
237
237
  args: [{ name: 'noSanitize' }]
238
238
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
@@ -247,10 +247,10 @@ class TipoValorFuncionPipe {
247
247
  }
248
248
  return datoParam;
249
249
  }
250
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TipoValorFuncionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
251
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TipoValorFuncionPipe, isStandalone: true, name: "tipoValorFuncion" });
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TipoValorFuncionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
251
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: TipoValorFuncionPipe, isStandalone: true, name: "tipoValorFuncion" });
252
252
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TipoValorFuncionPipe, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TipoValorFuncionPipe, decorators: [{
254
254
  type: Pipe,
255
255
  args: [{
256
256
  name: 'tipoValorFuncion',
@@ -269,10 +269,10 @@ class ZeroFillPipe {
269
269
  }
270
270
  return s;
271
271
  }
272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZeroFillPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
273
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ZeroFillPipe, isStandalone: true, name: "zeroFill" });
272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ZeroFillPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
273
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ZeroFillPipe, isStandalone: true, name: "zeroFill" });
274
274
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZeroFillPipe, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ZeroFillPipe, decorators: [{
276
276
  type: Pipe,
277
277
  args: [{
278
278
  name: 'zeroFill',
@@ -1 +1 @@
1
- {"version":3,"file":"jvsoft-utils-src-pipes.mjs","sources":["../../../projects/utils/src/pipes/data-en-lista.pipe.ts","../../../projects/utils/src/pipes/date-diff-string.pipe.ts","../../../projects/utils/src/pipes/filtro.pipe.ts","../../../projects/utils/src/pipes/form-control-is-required.pipe.ts","../../../projects/utils/src/pipes/json-parse.pipe.ts","../../../projects/utils/src/pipes/no-sanitize.pipe.ts","../../../projects/utils/src/pipes/tipo-valor-funcion.pipe.ts","../../../projects/utils/src/pipes/zero-fill.pipe.ts","../../../projects/utils/src/pipes/jvsoft-utils-src-pipes.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'dataEnLista',\n})\nexport class DataEnListaPipe implements PipeTransform {\n\n transform(coleccion: object[], idBuscar: string | string[], dato: any): any {\n if (coleccion) {\n if (Array.isArray(idBuscar)) {\n return coleccion.find(item => {\n const arrCoincide: any[] = [];\n idBuscar.forEach((campo: string, idx) => {\n // @ts-ignore\n arrCoincide.push((item[campo] == dato[idx]));\n });\n return arrCoincide.every(e => e === true);\n });\n }\n // @ts-ignore\n return coleccion.find(item => item[idBuscar] == dato);\n }\n return null;\n }\n\n // opcSelec(coleccion, idBuscar, formControl) {\n // \tif (coleccion) {\n // \t\tif (formControl.value == '') {\n // \t\t\treturn {cModuloNombre: '', cModuloPadreNombre: 'Todos', iModuloId: ''};\n // \t\t}\n // \t\treturn coleccion.find(item => item[idBuscar] == formControl.value);\n // \t}\n // \treturn null;\n // }\n\n}\n\nexport function dataEnLista(coleccion: object[], idBuscar: string | string[], dato: any): any {\n return new DataEnListaPipe().transform(coleccion, idBuscar, dato);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n\tname: 'dateDiffString',\n\tpure: true\n})\nexport class DateDiffStringPipe implements PipeTransform {\n\ttransform(startingDate: Date, endingDate: Date): any {\n\t\tlet startDate = new Date(startingDate);\n\t\t// user not pass endingDate then set current date as end date.\n\t\tif (!endingDate) {\n\t\t\tendingDate = new Date();\n\t\t}\n\t\tlet endDate = new Date(endingDate);\n\t\t// chack start date and end date and base on condication alter date.\n\t\tif (startDate > endDate) {\n\t\t\tconst swap = startDate;\n\t\t\tstartDate = endDate;\n\t\t\tendDate = swap;\n\t\t}\n\n\t\tconst disgregado = this.separarMilisegundos(endDate.getTime() - startDate.getTime());\n\t\t// console.log(disgregado);\n\t\tconst formatearATexto = (arrayToFill: string[], campo: any, texto: any, textoPlural = 's') => {\n\t\t\tif (campo > 0) {\n\t\t\t\tarrayToFill.push( campo + ' ' + texto + (campo > 1 ? textoPlural : '') );\n\t\t\t}\n\t\t\treturn arrayToFill;\n\t\t};\n\n\t\tlet arrDFinal: any[] = [];\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.years, 'año');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.months, 'mes', 'es');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.weeks, 'semana');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.days, 'día');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.hours, 'hora');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.minutes, 'minuto');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.seconds, 'segundo');\n\t\tif (arrDFinal.length > 3) {\n\t\t\tarrDFinal.splice(3);\n\t\t\tarrDFinal.splice(-1, 0, 'y');\n\t\t} else {\n\t\t\tif (arrDFinal.length > 1) {\n\t\t\t\tarrDFinal.splice(-1, 0, 'y');\n\t\t\t}\n\t\t}\n\t\treturn arrDFinal.join(' ');\n\t}\n\n\tsepararMilisegundos(milisegundos: any): {\n\t\tyears: number,\n\t\tmonths: number,\n\t\tweeks: number,\n\t\tdays: number,\n\t\thours: number,\n\t\tminutes: number,\n\t\tseconds: number,\n\t} {\n\t\tconst todoEnSegundos = milisegundos / 1000;\n\t\tlet secsUsed = 0;\n\t\tconst years = Math.floor(todoEnSegundos / 31536000);\n\t\tif (years > 0) {\n\t\t\tsecsUsed += (years * 31536000);\n\t\t}\n\t\tconst months = Math.floor((todoEnSegundos - secsUsed) / 2628288);\n\t\tif (months > 0) {\n\t\t\tsecsUsed += (months * 2628288);\n\t\t}\n\t\tconst weeks = Math.floor((todoEnSegundos - secsUsed) / 604800);\n\t\tif (weeks > 0) {\n\t\t\tsecsUsed += (weeks * 604800);\n\t\t}\n\t\tconst days = Math.floor((todoEnSegundos - secsUsed) / 86400);\n\t\tif (days > 0) {\n\t\t\tsecsUsed += (days * 86400);\n\t\t}\n\t\tconst hours = Math.floor((todoEnSegundos - secsUsed) / 3600);\n\t\tif (hours > 0) {\n\t\t\tsecsUsed += (hours * 3600);\n\t\t}\n\t\tconst minutes = Math.floor((todoEnSegundos - secsUsed) / 60);\n\t\tif (minutes > 0) {\n\t\t\tsecsUsed += (minutes * 60);\n\t\t}\n\t\tconst seconds = Math.round(todoEnSegundos - secsUsed);\n\n\t\treturn {\n\t\t\tyears,\n\t\t\tmonths,\n\t\t\tweeks,\n\t\t\tdays,\n\t\t\thours,\n\t\t\tminutes,\n\t\t\tseconds,\n\t\t};\n\t}\n\n/*\n\ttransform(to: Date, from: Date, seconds = true, strict = false): string {\n\t\tif (typeof to == 'string') {\n\t\t\tto = new Date(to);\n\t\t}\n\t\tif (typeof from == 'string') {\n\t\t\tfrom = new Date(from);\n\t\t}\n\t\tconsole.log(typeof to, typeof from);\n\t\tconsole.log(to);\n\t\tconsole.log(from);\n\n\t\treturn strict ? formatDistanceStrict(from, to, {unit: 'minute', locale: es}) : formatDistance(from, to, {includeSeconds: seconds, locale: es});\n\t}\n\t*/\n}\n\nexport function dateDiffString(startingDate: Date, endingDate: Date){\n\treturn new DateDiffStringPipe().transform(startingDate, endingDate);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\ninterface OpcionesBusqueda {\n texto: string;\n longitudMinima?: number;\n campo?: string | string[];\n mostrarObligado?: MostrarObligado;\n}\n\ninterface MostrarObligado {\n campo: string;\n items: any[];\n}\n\n@Pipe({\n name: 'filtro'\n})\nexport class FiltroPipe implements PipeTransform {\n\n transform(items: any[], opcionesBusqueda: OpcionesBusqueda): any[] {\n if (!items || !Array.isArray(items)) return [];\n if (!opcionesBusqueda.texto || opcionesBusqueda.texto.length < (opcionesBusqueda.longitudMinima ?? 1)) return items;\n\n const normalize = (() => {\n const from = 'ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇç';\n const to = 'AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc';\n const mapping: Record<string, string> = {};\n\n for (let i = 0; i < from.length; i++) {\n mapping[from[i]] = to[i];\n }\n\n return (str: string): string => {\n return str.split('').map(c => mapping[c] || c).join('');\n };\n })();\n\n const textoNormalizado = normalize(opcionesBusqueda.texto.toLowerCase());\n\n return items.filter(item => {\n // 🔹 Manejo de `mostrarObligado`\n if (opcionesBusqueda.mostrarObligado) {\n const {campo, items: obligados} = opcionesBusqueda.mostrarObligado;\n if (obligados.includes(item[campo])) return true;\n }\n\n // 🔹 Manejo de `campo`\n if (opcionesBusqueda.campo) {\n if (Array.isArray(opcionesBusqueda.campo)) {\n return opcionesBusqueda.campo.some(campo => {\n const valor = item[campo] as string | undefined;\n return valor ? normalize(valor.toLowerCase()).includes(textoNormalizado):false;\n });\n }\n else {\n const valor = item[opcionesBusqueda.campo] as string | undefined;\n return valor ? normalize(valor.toLowerCase()).includes(textoNormalizado):false;\n }\n }\n\n return false;\n });\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {AbstractControl, Validators} from '@angular/forms';\n\n@Pipe({\n name: 'formControlIsRequired'\n})\nexport class FormControlIsRequiredPipe implements PipeTransform {\n\n\ttransform(formControl: AbstractControl, ...args: unknown[]): any {\n\t\tif (!formControl) { return false; }\n\t\treturn formControl.hasValidator(Validators.required);\n\t}\n\n}\nexport function formControlIsRequired(formControl: AbstractControl) {\n return new FormControlIsRequiredPipe().transform(formControl);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'jsonParse'\n})\nexport class JsonParsePipe implements PipeTransform {\n\n\ttransform(value: string, ...args: unknown[]): any {\n\t\tif (!value) { return []; }\n\t\ttry {\n\t\t\treturn JSON.parse(value);\n\t\t} catch (e) {\n\t\t\tconsole.warn('La cadena \"' + value + '\" no es JSON');\n\t\t\treturn [];\n\t\t}\n\t}\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({ name: 'noSanitize' })\nexport class NoSanitizePipe implements PipeTransform {\n\tconstructor(private domSanitizer: DomSanitizer) {\n\n\t}\n\ttransform(html: string): SafeHtml {\n\t\treturn this.domSanitizer.bypassSecurityTrustHtml(html);\n\t}\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\nexport type TipoValorFuncion<T> = T | ((...param: any) => T);\n\n@Pipe({\n name: 'tipoValorFuncion',\n standalone: true, // Para usarlo en standalone components\n})\nexport class TipoValorFuncionPipe implements PipeTransform {\n transform<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {\n if (datoParam === undefined || datoParam === null) {\n return defaultValue;\n }\n if (typeof datoParam === 'function') {\n return (datoParam as (...args: any) => T)(...param);\n }\n return datoParam;\n }\n}\n\nexport function tipoValorFuncion<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {\n return new TipoValorFuncionPipe().transform(datoParam, defaultValue, ...param);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n\tname: 'zeroFill',\n})\nexport class ZeroFillPipe implements PipeTransform {\n\n\ttransform(value: unknown, digitos: number, ...args: unknown[]) {\n\t\tlet s = value + '';\n\t\twhile (s.length < digitos) {\n\t\t\ts = '0' + s;\n\t\t}\n\t\treturn s;\n\t}\n\n}\nexport function zeroFill(value: unknown, digitos: number, ...args: unknown[]) {\n\treturn new ZeroFillPipe().transform(value, digitos, args);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jvsoft-utils-src-pipes.mjs","sources":["../../../projects/utils/src/pipes/data-en-lista.pipe.ts","../../../projects/utils/src/pipes/date-diff-string.pipe.ts","../../../projects/utils/src/pipes/filtro.pipe.ts","../../../projects/utils/src/pipes/form-control-is-required.pipe.ts","../../../projects/utils/src/pipes/json-parse.pipe.ts","../../../projects/utils/src/pipes/no-sanitize.pipe.ts","../../../projects/utils/src/pipes/tipo-valor-funcion.pipe.ts","../../../projects/utils/src/pipes/zero-fill.pipe.ts","../../../projects/utils/src/pipes/jvsoft-utils-src-pipes.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'dataEnLista',\n})\nexport class DataEnListaPipe implements PipeTransform {\n\n transform(coleccion: object[], idBuscar: string | string[], dato: any): any {\n if (coleccion) {\n if (Array.isArray(idBuscar)) {\n return coleccion.find(item => {\n const arrCoincide: any[] = [];\n idBuscar.forEach((campo: string, idx) => {\n // @ts-ignore\n arrCoincide.push((item[campo] == dato[idx]));\n });\n return arrCoincide.every(e => e === true);\n });\n }\n // @ts-ignore\n return coleccion.find(item => item[idBuscar] == dato);\n }\n return null;\n }\n\n // opcSelec(coleccion, idBuscar, formControl) {\n // \tif (coleccion) {\n // \t\tif (formControl.value == '') {\n // \t\t\treturn {cModuloNombre: '', cModuloPadreNombre: 'Todos', iModuloId: ''};\n // \t\t}\n // \t\treturn coleccion.find(item => item[idBuscar] == formControl.value);\n // \t}\n // \treturn null;\n // }\n\n}\n\nexport function dataEnLista(coleccion: object[], idBuscar: string | string[], dato: any): any {\n return new DataEnListaPipe().transform(coleccion, idBuscar, dato);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n\tname: 'dateDiffString',\n\tpure: true\n})\nexport class DateDiffStringPipe implements PipeTransform {\n\ttransform(startingDate: Date, endingDate: Date): any {\n\t\tlet startDate = new Date(startingDate);\n\t\t// user not pass endingDate then set current date as end date.\n\t\tif (!endingDate) {\n\t\t\tendingDate = new Date();\n\t\t}\n\t\tlet endDate = new Date(endingDate);\n\t\t// chack start date and end date and base on condication alter date.\n\t\tif (startDate > endDate) {\n\t\t\tconst swap = startDate;\n\t\t\tstartDate = endDate;\n\t\t\tendDate = swap;\n\t\t}\n\n\t\tconst disgregado = this.separarMilisegundos(endDate.getTime() - startDate.getTime());\n\t\t// console.log(disgregado);\n\t\tconst formatearATexto = (arrayToFill: string[], campo: any, texto: any, textoPlural = 's') => {\n\t\t\tif (campo > 0) {\n\t\t\t\tarrayToFill.push( campo + ' ' + texto + (campo > 1 ? textoPlural : '') );\n\t\t\t}\n\t\t\treturn arrayToFill;\n\t\t};\n\n\t\tlet arrDFinal: any[] = [];\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.years, 'año');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.months, 'mes', 'es');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.weeks, 'semana');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.days, 'día');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.hours, 'hora');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.minutes, 'minuto');\n\t\tarrDFinal = formatearATexto(arrDFinal, disgregado.seconds, 'segundo');\n\t\tif (arrDFinal.length > 3) {\n\t\t\tarrDFinal.splice(3);\n\t\t\tarrDFinal.splice(-1, 0, 'y');\n\t\t} else {\n\t\t\tif (arrDFinal.length > 1) {\n\t\t\t\tarrDFinal.splice(-1, 0, 'y');\n\t\t\t}\n\t\t}\n\t\treturn arrDFinal.join(' ');\n\t}\n\n\tsepararMilisegundos(milisegundos: any): {\n\t\tyears: number,\n\t\tmonths: number,\n\t\tweeks: number,\n\t\tdays: number,\n\t\thours: number,\n\t\tminutes: number,\n\t\tseconds: number,\n\t} {\n\t\tconst todoEnSegundos = milisegundos / 1000;\n\t\tlet secsUsed = 0;\n\t\tconst years = Math.floor(todoEnSegundos / 31536000);\n\t\tif (years > 0) {\n\t\t\tsecsUsed += (years * 31536000);\n\t\t}\n\t\tconst months = Math.floor((todoEnSegundos - secsUsed) / 2628288);\n\t\tif (months > 0) {\n\t\t\tsecsUsed += (months * 2628288);\n\t\t}\n\t\tconst weeks = Math.floor((todoEnSegundos - secsUsed) / 604800);\n\t\tif (weeks > 0) {\n\t\t\tsecsUsed += (weeks * 604800);\n\t\t}\n\t\tconst days = Math.floor((todoEnSegundos - secsUsed) / 86400);\n\t\tif (days > 0) {\n\t\t\tsecsUsed += (days * 86400);\n\t\t}\n\t\tconst hours = Math.floor((todoEnSegundos - secsUsed) / 3600);\n\t\tif (hours > 0) {\n\t\t\tsecsUsed += (hours * 3600);\n\t\t}\n\t\tconst minutes = Math.floor((todoEnSegundos - secsUsed) / 60);\n\t\tif (minutes > 0) {\n\t\t\tsecsUsed += (minutes * 60);\n\t\t}\n\t\tconst seconds = Math.round(todoEnSegundos - secsUsed);\n\n\t\treturn {\n\t\t\tyears,\n\t\t\tmonths,\n\t\t\tweeks,\n\t\t\tdays,\n\t\t\thours,\n\t\t\tminutes,\n\t\t\tseconds,\n\t\t};\n\t}\n\n/*\n\ttransform(to: Date, from: Date, seconds = true, strict = false): string {\n\t\tif (typeof to == 'string') {\n\t\t\tto = new Date(to);\n\t\t}\n\t\tif (typeof from == 'string') {\n\t\t\tfrom = new Date(from);\n\t\t}\n\t\tconsole.log(typeof to, typeof from);\n\t\tconsole.log(to);\n\t\tconsole.log(from);\n\n\t\treturn strict ? formatDistanceStrict(from, to, {unit: 'minute', locale: es}) : formatDistance(from, to, {includeSeconds: seconds, locale: es});\n\t}\n\t*/\n}\n\nexport function dateDiffString(startingDate: Date, endingDate: Date){\n\treturn new DateDiffStringPipe().transform(startingDate, endingDate);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\ninterface OpcionesBusqueda {\n texto: string;\n longitudMinima?: number;\n campo?: string | string[];\n mostrarObligado?: MostrarObligado;\n}\n\ninterface MostrarObligado {\n campo: string;\n items: any[];\n}\n\n@Pipe({\n name: 'filtro'\n})\nexport class FiltroPipe implements PipeTransform {\n\n transform(items: any[], opcionesBusqueda: OpcionesBusqueda): any[] {\n if (!items || !Array.isArray(items)) return [];\n if (!opcionesBusqueda.texto || opcionesBusqueda.texto.length < (opcionesBusqueda.longitudMinima ?? 1)) return items;\n\n const normalize = (() => {\n const from = 'ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇç';\n const to = 'AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc';\n const mapping: Record<string, string> = {};\n\n for (let i = 0; i < from.length; i++) {\n mapping[from[i]] = to[i];\n }\n\n return (str: string): string => {\n return str.split('').map(c => mapping[c] || c).join('');\n };\n })();\n\n const textoNormalizado = normalize(opcionesBusqueda.texto.toLowerCase());\n\n return items.filter(item => {\n // 🔹 Manejo de `mostrarObligado`\n if (opcionesBusqueda.mostrarObligado) {\n const {campo, items: obligados} = opcionesBusqueda.mostrarObligado;\n if (obligados.includes(item[campo])) return true;\n }\n\n // 🔹 Manejo de `campo`\n if (opcionesBusqueda.campo) {\n if (Array.isArray(opcionesBusqueda.campo)) {\n return opcionesBusqueda.campo.some(campo => {\n const valor = item[campo] as string | undefined;\n return valor ? normalize(valor.toLowerCase()).includes(textoNormalizado):false;\n });\n }\n else {\n const valor = item[opcionesBusqueda.campo] as string | undefined;\n return valor ? normalize(valor.toLowerCase()).includes(textoNormalizado):false;\n }\n }\n\n return false;\n });\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {AbstractControl, Validators} from '@angular/forms';\n\n@Pipe({\n name: 'formControlIsRequired'\n})\nexport class FormControlIsRequiredPipe implements PipeTransform {\n\n\ttransform(formControl: AbstractControl, ...args: unknown[]): any {\n\t\tif (!formControl) { return false; }\n\t\treturn formControl.hasValidator(Validators.required);\n\t}\n\n}\nexport function formControlIsRequired(formControl: AbstractControl) {\n return new FormControlIsRequiredPipe().transform(formControl);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'jsonParse'\n})\nexport class JsonParsePipe implements PipeTransform {\n\n\ttransform(value: string, ...args: unknown[]): any {\n\t\tif (!value) { return []; }\n\t\ttry {\n\t\t\treturn JSON.parse(value);\n\t\t} catch (e) {\n\t\t\tconsole.warn('La cadena \"' + value + '\" no es JSON');\n\t\t\treturn [];\n\t\t}\n\t}\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\n@Pipe({ name: 'noSanitize' })\nexport class NoSanitizePipe implements PipeTransform {\n\tconstructor(private domSanitizer: DomSanitizer) {\n\n\t}\n\ttransform(html: string): SafeHtml {\n\t\treturn this.domSanitizer.bypassSecurityTrustHtml(html);\n\t}\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\nexport type TipoValorFuncion<T> = T | ((...param: any) => T);\n\n@Pipe({\n name: 'tipoValorFuncion',\n standalone: true, // Para usarlo en standalone components\n})\nexport class TipoValorFuncionPipe implements PipeTransform {\n transform<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {\n if (datoParam === undefined || datoParam === null) {\n return defaultValue;\n }\n if (typeof datoParam === 'function') {\n return (datoParam as (...args: any) => T)(...param);\n }\n return datoParam;\n }\n}\n\nexport function tipoValorFuncion<T>(datoParam: TipoValorFuncion<T>, defaultValue?: T, ...param: any[]): T | undefined {\n return new TipoValorFuncionPipe().transform(datoParam, defaultValue, ...param);\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n\tname: 'zeroFill',\n})\nexport class ZeroFillPipe implements PipeTransform {\n\n\ttransform(value: unknown, digitos: number, ...args: unknown[]) {\n\t\tlet s = value + '';\n\t\twhile (s.length < digitos) {\n\t\t\ts = '0' + s;\n\t\t}\n\t\treturn s;\n\t}\n\n}\nexport function zeroFill(value: unknown, digitos: number, ...args: unknown[]) {\n\treturn new ZeroFillPipe().transform(value, digitos, args);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}