@senior-agronegocio/angular-components 0.0.89 → 0.0.92

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 (55) hide show
  1. package/bundles/senior-agronegocio-angular-components.umd.js +391 -343
  2. package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
  5. package/common/agro-platform-utils.class.d.ts +9 -0
  6. package/common/agro-string-utils.class.d.ts +46 -146
  7. package/common/colors.class.d.ts +2 -0
  8. package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +2 -2
  9. package/enums/agro-numbers.enum.d.ts +3 -2
  10. package/esm2015/common/agro-cookie-utils.class.js +7 -3
  11. package/esm2015/common/agro-date-utils.class.js +7 -3
  12. package/esm2015/common/agro-logics.class.js +22 -20
  13. package/esm2015/common/agro-name-utils.class.js +5 -4
  14. package/esm2015/common/agro-number-utils.class.js +20 -10
  15. package/esm2015/common/agro-object-utils.class.js +9 -7
  16. package/esm2015/common/agro-platform-utils.class.js +46 -50
  17. package/esm2015/common/agro-string-utils.class.js +217 -215
  18. package/esm2015/common/colors.class.js +3 -1
  19. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
  20. package/esm2015/components/event-control-board/event-control-board.component.js +2 -2
  21. package/esm2015/components/event-steps/index.js +1 -1
  22. package/esm2015/enums/agro-numbers.enum.js +3 -2
  23. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.module.js +15 -0
  24. package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +28 -0
  25. package/esm2015/pipe/index.js +3 -1
  26. package/esm2015/services/websocket/websocket.service.js +2 -2
  27. package/esm5/common/agro-cookie-utils.class.js +7 -3
  28. package/esm5/common/agro-date-utils.class.js +7 -3
  29. package/esm5/common/agro-logics.class.js +34 -42
  30. package/esm5/common/agro-name-utils.class.js +5 -4
  31. package/esm5/common/agro-number-utils.class.js +20 -10
  32. package/esm5/common/agro-object-utils.class.js +9 -7
  33. package/esm5/common/agro-platform-utils.class.js +46 -50
  34. package/esm5/common/agro-string-utils.class.js +217 -215
  35. package/esm5/common/colors.class.js +3 -1
  36. package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +8 -8
  37. package/esm5/components/event-control-board/event-control-board.component.js +2 -2
  38. package/esm5/components/event-steps/index.js +1 -1
  39. package/esm5/enums/agro-numbers.enum.js +3 -2
  40. package/esm5/pipe/cnpj-cpf/cnpj-cpf.module.js +18 -0
  41. package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +35 -0
  42. package/esm5/pipe/index.js +3 -1
  43. package/esm5/services/websocket/websocket.service.js +2 -2
  44. package/fesm2015/senior-agronegocio-angular-components.js +368 -322
  45. package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
  46. package/fesm5/senior-agronegocio-angular-components.js +389 -343
  47. package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
  48. package/package.json +1 -1
  49. package/pipe/cnpj-cpf/cnpj-cpf.module.d.ts +2 -0
  50. package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +4 -0
  51. package/pipe/index.d.ts +2 -0
  52. package/senior-agronegocio-angular-components.metadata.json +1 -1
  53. package/common/numbers.d.ts +0 -6
  54. package/esm2015/common/numbers.js +0 -8
  55. package/esm5/common/numbers.js +0 -8
@@ -382,7 +382,7 @@
382
382
 
383
383
  (function (AGRO_NUMBERS) {
384
384
  AGRO_NUMBERS[AGRO_NUMBERS["MINIMUM_WEIGHT"] = 0.001] = "MINIMUM_WEIGHT";
385
- AGRO_NUMBERS[AGRO_NUMBERS["MINUSONE"] = -1] = "MINUSONE";
385
+ AGRO_NUMBERS[AGRO_NUMBERS["MINUS_ONE"] = -1] = "MINUS_ONE";
386
386
  AGRO_NUMBERS[AGRO_NUMBERS["EIGHT"] = 8] = "EIGHT";
387
387
  AGRO_NUMBERS[AGRO_NUMBERS["EIGHT_HUNDRED"] = 800] = "EIGHT_HUNDRED";
388
388
  AGRO_NUMBERS[AGRO_NUMBERS["EIGHT_HUNDRED_AND_EIGHT"] = 808] = "EIGHT_HUNDRED_AND_EIGHT";
@@ -1385,6 +1385,7 @@
1385
1385
  AGRO_NUMBERS[AGRO_NUMBERS["TWO_HUNDRED_AND_TWO"] = 202] = "TWO_HUNDRED_AND_TWO";
1386
1386
  AGRO_NUMBERS[AGRO_NUMBERS["ZERO"] = 0] = "ZERO";
1387
1387
  AGRO_NUMBERS[AGRO_NUMBERS["FIVE_SECONDS"] = 5000] = "FIVE_SECONDS";
1388
+ AGRO_NUMBERS[AGRO_NUMBERS["MS_PER_DAY"] = 86400000] = "MS_PER_DAY";
1388
1389
  })(exports.AGRO_NUMBERS || (exports.AGRO_NUMBERS = {}));
1389
1390
 
1390
1391
 
@@ -1590,10 +1591,7 @@
1590
1591
  * @returns True se os objetos forem iguais, false caso contrário.
1591
1592
  */
1592
1593
  AgroObjectUtils.isEqual = function (obj1, obj2) {
1593
- if (JSON.stringify(obj1) === JSON.stringify(obj2)) {
1594
- return true;
1595
- }
1596
- return false;
1594
+ return JSON.stringify(obj1) === JSON.stringify(obj2);
1597
1595
  };
1598
1596
  /**
1599
1597
  * Verifica se um objeto é nulo.
@@ -1628,7 +1626,7 @@
1628
1626
  if (!AgroObjectUtils.isObject(obj)) {
1629
1627
  return false;
1630
1628
  }
1631
- return Object.keys(obj).length !== 0;
1629
+ return Object.keys(obj).length !== exports.AGRO_NUMBERS.ZERO;
1632
1630
  };
1633
1631
  /**
1634
1632
  * Verifica se um objeto é vazio.
@@ -1707,7 +1705,12 @@
1707
1705
  * @param value
1708
1706
  */
1709
1707
  AgroObjectUtils.fromString = function (value) {
1710
- return JSON.parse(value) || undefined;
1708
+ try {
1709
+ return JSON.parse(value);
1710
+ }
1711
+ catch (e) {
1712
+ return undefined;
1713
+ }
1711
1714
  };
1712
1715
  return AgroObjectUtils;
1713
1716
  }());
@@ -2086,14 +2089,18 @@
2086
2089
  }
2087
2090
  };
2088
2091
  AgroCookieUtils.setCookie = function (name, value, days) {
2092
+ if (days < exports.AGRO_NUMBERS.ZERO) {
2093
+ throw new Error("O número de dias não pode ser negativo.");
2094
+ }
2089
2095
  var date = new Date();
2090
- date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
2096
+ date.setTime(date.getTime() + (days * exports.AGRO_NUMBERS.MS_PER_DAY));
2091
2097
  var expires = 'expires=' + date.toUTCString();
2092
- document.cookie = name + '=' + value + ';' + expires + ';path=/';
2098
+ document.cookie = name + "=" + value + ";" + expires + ";path=/";
2093
2099
  };
2094
2100
  return AgroCookieUtils;
2095
2101
  }());
2096
2102
 
2103
+ var DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';
2097
2104
  var AgroDateUtils = /** @class */ (function () {
2098
2105
  function AgroDateUtils() {
2099
2106
  }
@@ -2199,7 +2206,7 @@
2199
2206
  * @returns
2200
2207
  */
2201
2208
  AgroDateUtils.formatDate = function (date, format) {
2202
- if (format === void 0) { format = 'DD/MM/YYYY'; }
2209
+ if (format === void 0) { format = DEFAULT_DATE_FORMAT; }
2203
2210
  var moment$1 = moment;
2204
2211
  return moment$1(date).utc().format(format);
2205
2212
  };
@@ -2209,7 +2216,10 @@
2209
2216
  * @returns
2210
2217
  */
2211
2218
  AgroDateUtils.padZero = function (value) {
2212
- return value < exports.AGRO_NUMBERS.TEN ? '0' + value : value.toString();
2219
+ if (value < exports.AGRO_NUMBERS.TEN) {
2220
+ return '0' + value;
2221
+ }
2222
+ return value.toString();
2213
2223
  };
2214
2224
  return AgroDateUtils;
2215
2225
  }());
@@ -2220,130 +2230,202 @@
2220
2230
  var AgroStringUtils = /** @class */ (function () {
2221
2231
  function AgroStringUtils() {
2222
2232
  }
2233
+ /** Retorna true se a string contém apenas letras */
2234
+ AgroStringUtils.isOnlyLetters = function (str) {
2235
+ if (!str) {
2236
+ return false;
2237
+ }
2238
+ return /^[A-Za-z]+$/.test(str);
2239
+ };
2240
+ /** Retorna true se a string contém pelo menos uma letra */
2241
+ AgroStringUtils.hasLetters = function (str) {
2242
+ if (!str) {
2243
+ return false;
2244
+ }
2245
+ return /[A-Za-z]/.test(str);
2246
+ };
2247
+ /** Retorna true se a string contém apenas números */
2248
+ AgroStringUtils.isOnlyNumbers = function (str) {
2249
+ if (!str) {
2250
+ return false;
2251
+ }
2252
+ return /^\d+$/.test(str);
2253
+ };
2254
+ /** Retorna true se a string contém pelo menos um número */
2255
+ AgroStringUtils.hasNumbers = function (str) {
2256
+ if (!str) {
2257
+ return false;
2258
+ }
2259
+ return /\d/.test(str);
2260
+ };
2223
2261
  /**
2224
- * Verifica se uma string está vazia ou consiste apenas de caracteres de espaço em branco.
2225
- * @param str - A string a ser verificada.
2226
- * @returns True se a string estiver vazia ou consistir apenas de caracteres de espaço em branco, false caso contrário.
2262
+ * Verifica se a string está vazia.
2227
2263
  */
2228
2264
  AgroStringUtils.isEmpty = function (str) {
2229
2265
  var _a;
2230
2266
  return !str || ((_a = str.trim()) === null || _a === void 0 ? void 0 : _a.length) === exports.AGRO_NUMBERS.ZERO;
2231
2267
  };
2232
2268
  /**
2233
- * Verifica se uma string não está vazia e não consiste apenas de caracteres de espaço em branco.
2234
- * @param str - A string a ser verificada.
2235
- * @returns True se a string não estiver vazia e não consistir apenas de caracteres de espaço em branco, false caso contrário.
2269
+ * Verifica se a string não está vazia.
2236
2270
  */
2237
2271
  AgroStringUtils.isNotEmpty = function (str) {
2238
2272
  return !AgroStringUtils.isEmpty(str);
2239
2273
  };
2240
- /**
2241
- * Verifica se uma string está vazia, consiste apenas de caracteres de espaço em branco ou é nula.
2242
- * @param str - A string a ser verificada.
2243
- * @returns True se a string estiver vazia, consistir apenas de caracteres de espaço em branco ou for nula, false caso contrário.
2244
- */
2274
+ /** Verifica se a string é nula, indefinida ou contém apenas espaços em branco */
2245
2275
  AgroStringUtils.isBlank = function (str) {
2246
2276
  return !str || AGRO_REGEX.onlyBlankSpaces.test(str);
2247
2277
  };
2248
- /**
2249
- * Verifica se uma string não está vazia, não consiste apenas de caracteres de espaço em branco e não é nula.
2250
- * @param str - A string a ser verificada.
2251
- * @returns True se a string não estiver vazia, não consistir apenas de caracteres de espaço em branco e não for nula, false caso contrário.
2252
- */
2278
+ /** Verifica se a string não é nula, indefinida ou contém apenas espaços em branco */
2253
2279
  AgroStringUtils.isNotBlank = function (str) {
2254
2280
  return !AgroStringUtils.isBlank(str);
2255
2281
  };
2256
2282
  /**
2257
- * Remove os espaços em branco de uma string e retorna null se a string resultante estiver vazia, caso contrário retorna a string sem espaços em branco.
2258
- * @param str - A string a ser removidos os espaços em branco.
2259
- * @returns A string sem espaços em branco ou null se a string resultante estiver vazia.
2283
+ * Remove espaços em branco do início e do fim da string.
2260
2284
  */
2261
2285
  AgroStringUtils.trimToNull = function (str) {
2262
- if (!str)
2286
+ if (!str) {
2263
2287
  return null;
2288
+ }
2264
2289
  var trimmed = str.trim();
2265
2290
  return trimmed === "" ? null : trimmed;
2266
2291
  };
2267
2292
  /**
2268
- * Verifica se duas strings são iguais, ignorando maiúsculas e minúsculas.
2269
- * @param str1 - A primeira string a ser comparada.
2270
- * @param str2 - A segunda string a ser comparada.
2271
- * @returns True se as strings forem iguais, ignorando maiúsculas e minúsculas, false caso contrário.
2293
+ * Compara duas strings ignorando diferenças entre maiúsculas e minúsculas.
2272
2294
  */
2273
2295
  AgroStringUtils.equalsIgnoreCase = function (str1, str2) {
2274
2296
  return (str1 === null || str1 === void 0 ? void 0 : str1.toLowerCase()) === (str2 === null || str2 === void 0 ? void 0 : str2.toLowerCase());
2275
2297
  };
2276
2298
  /**
2277
- * Verifica se duas strings são iguais.
2278
- * @param str1
2279
- * @param str2
2280
- * @returns
2299
+ * Compara duas strings considerando diferenças entre maiúsculas e minúsculas.
2281
2300
  */
2282
2301
  AgroStringUtils.equals = function (str1, str2) {
2283
2302
  return str1 === str2;
2284
2303
  };
2285
- /**
2286
- * Inverte os caracteres de uma string.
2287
- * @param str - A string a ser invertida.
2288
- * @returns A string invertida.
2289
- */
2290
2304
  AgroStringUtils.reverse = function (str) {
2291
2305
  return str.split("").reverse().join("");
2292
2306
  };
2293
- /**
2294
- * Verifica se a string é um e-mail.
2295
- * @param str - A string a ser testada
2296
- * @returns - True se a string for um e-mail, false caso contrário.
2297
- */
2298
2307
  AgroStringUtils.isEmail = function (str) {
2299
2308
  return AGRO_REGEX.isEmail.test(str);
2300
2309
  };
2301
- /**
2302
- * Verifica se a string é um número inteiro positivo.
2303
- * @param str - A string a ser testada
2304
- * @returns - True se a string for um número inteiro positivo, false caso contrário.
2305
- */
2306
2310
  AgroStringUtils.isPositiveInteger = function (str) {
2307
2311
  return AGRO_REGEX.positiveInteger.test(str);
2308
2312
  };
2309
- /**
2310
- * Verifica se a string é um número decimal positivo.
2311
- * @param str - A string a ser testada
2312
- * @returns - True se a string for um número decimal positivo, false caso contrário.
2313
- */
2313
+ /** Retorna true se a string é uma string válida (não null, não undefined, não vazia) */
2314
+ AgroStringUtils.isString = function (value) {
2315
+ return typeof value === "string" && value.trim().length > exports.AGRO_NUMBERS.ZERO;
2316
+ };
2314
2317
  AgroStringUtils.isPositiveDecimal = function (str) {
2315
2318
  return AGRO_REGEX.positiveDecimal.test(str);
2316
2319
  };
2317
- /**
2318
- * Verifica se a string é um CEP (Código Postal).
2319
- * @param str - A string a ser testada
2320
- * @returns - True se a string for um CEP, false caso contrário.
2321
- */
2322
2320
  AgroStringUtils.isZipCode = function (str) {
2323
2321
  return AGRO_REGEX.zipCode.test(str);
2324
2322
  };
2325
- /**
2326
- * Verifica se a string é um UUID.
2327
- * @param str - A string a ser testada
2328
- * @returns - True se a string for um UUID, false caso contrário.
2329
- */
2330
2323
  AgroStringUtils.isUUID = function (str) {
2331
2324
  return AGRO_REGEX.isUUID.test(str);
2332
2325
  };
2333
- /**
2334
- * Verifica se a string é um número.
2335
- * @param str - A string a ser testada
2336
- * @returns - True se a string for um número, false caso contrário.
2337
- */
2338
2326
  AgroStringUtils.isNumber = function (str) {
2339
2327
  return AGRO_REGEX.isNumber.test(str);
2340
2328
  };
2329
+ AgroStringUtils.validateCPF = function (cpf) {
2330
+ cpf = cpf.replace(/\D/g, "");
2331
+ if (cpf.length !== exports.AGRO_NUMBERS.ELEVEN || /^(\d)\1+$/.test(cpf)) {
2332
+ return false;
2333
+ }
2334
+ var calcVerifier = function (cpf, length) {
2335
+ var sum = exports.AGRO_NUMBERS.ZERO;
2336
+ for (var i = exports.AGRO_NUMBERS.ZERO; i < length; i++) {
2337
+ sum += parseInt(cpf[i], exports.AGRO_NUMBERS.TEN) * (length + exports.AGRO_NUMBERS.ONE - i);
2338
+ }
2339
+ var result = sum % exports.AGRO_NUMBERS.ELEVEN;
2340
+ return result < exports.AGRO_NUMBERS.TWO ? exports.AGRO_NUMBERS.ZERO : exports.AGRO_NUMBERS.ELEVEN - result;
2341
+ };
2342
+ var digit1 = calcVerifier(cpf, exports.AGRO_NUMBERS.NINE);
2343
+ var digit2 = calcVerifier(cpf, exports.AGRO_NUMBERS.TEN);
2344
+ return digit1 === parseInt(cpf[exports.AGRO_NUMBERS.NINE], exports.AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[exports.AGRO_NUMBERS.TEN], exports.AGRO_NUMBERS.TEN);
2345
+ };
2341
2346
  /**
2342
- * Retorna a diferença entre duas strings.
2343
- * @param str1
2344
- * @param str2
2345
- * @returns
2347
+ * Detecta automaticamente se é CNPJ antigo ou novo formato.
2346
2348
  */
2349
+ AgroStringUtils.validateCNPJ = function (cnpj) {
2350
+ if (!cnpj) {
2351
+ return false;
2352
+ }
2353
+ cnpj = cnpj.trim();
2354
+ // Se contém letras → valida formato alfanumérico
2355
+ if (AgroStringUtils.hasLetters(cnpj)) {
2356
+ return AgroStringUtils.validateCNPJAlfanumerico(cnpj);
2357
+ }
2358
+ // Caso contrário, valida como CNPJ tradicional
2359
+ return AgroStringUtils.validateCNPJAntigo(cnpj);
2360
+ };
2361
+ /**
2362
+ * Valida o CNPJ tradicional (somente números)
2363
+ */
2364
+ AgroStringUtils.validateCNPJAntigo = function (cnpj) {
2365
+ cnpj = cnpj.replace(/\D/g, "");
2366
+ if (!AgroStringUtils.isOnlyNumbers(cnpj)) {
2367
+ return false;
2368
+ }
2369
+ if (cnpj.length !== exports.AGRO_NUMBERS.FOURTEEN) {
2370
+ return false;
2371
+ }
2372
+ if (/^(\d)\1{13}$/.test(cnpj)) {
2373
+ return false;
2374
+ }
2375
+ var soma = exports.AGRO_NUMBERS.ZERO;
2376
+ for (var i = exports.AGRO_NUMBERS.ZERO; i < exports.AGRO_NUMBERS.TWELVE; i++) {
2377
+ soma += parseInt(cnpj.charAt(i), exports.AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1[i];
2378
+ }
2379
+ var resto = soma % exports.AGRO_NUMBERS.ELEVEN;
2380
+ var digito1 = resto < exports.AGRO_NUMBERS.TWO ? exports.AGRO_NUMBERS.ZERO : exports.AGRO_NUMBERS.ELEVEN - resto;
2381
+ soma = exports.AGRO_NUMBERS.ZERO;
2382
+ for (var i = exports.AGRO_NUMBERS.ZERO; i < exports.AGRO_NUMBERS.THIRTEEN; i++) {
2383
+ soma += parseInt(cnpj.charAt(i), exports.AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2[i];
2384
+ }
2385
+ resto = soma % exports.AGRO_NUMBERS.ELEVEN;
2386
+ var digito2 = resto < exports.AGRO_NUMBERS.TWO ? exports.AGRO_NUMBERS.ZERO : exports.AGRO_NUMBERS.ELEVEN - resto;
2387
+ return parseInt(cnpj.charAt(exports.AGRO_NUMBERS.TWELVE), exports.AGRO_NUMBERS.TEN) === digito1 && parseInt(cnpj.charAt(exports.AGRO_NUMBERS.THIRTEEN), exports.AGRO_NUMBERS.TEN) === digito2;
2388
+ };
2389
+ /**
2390
+ * Valida o CNPJ em formato alfanumérico (padrão 2026)
2391
+ */
2392
+ AgroStringUtils.validateCNPJAlfanumerico = function (cnpj) {
2393
+ if (!AgroStringUtils.isString(cnpj)) {
2394
+ return false;
2395
+ }
2396
+ // Remove caracteres especiais (pontos, barra, traço, espaços)
2397
+ var clean = cnpj.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
2398
+ // O CNPJ deve ter exatamente 14 posições
2399
+ if (clean.length !== exports.AGRO_NUMBERS.FOURTEEN) {
2400
+ return false;
2401
+ }
2402
+ // Verifica se há pelo menos uma letra e um número
2403
+ if (!AgroStringUtils.hasLetters(clean) || !AgroStringUtils.hasNumbers(clean)) {
2404
+ return false;
2405
+ }
2406
+ // Calcula o primeiro dígito verificador
2407
+ var pesos1 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1;
2408
+ var pesos2 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2;
2409
+ // Pega os 12 primeiros caracteres
2410
+ var base = clean.substring(exports.AGRO_NUMBERS.ZERO, exports.AGRO_NUMBERS.TWELVE);
2411
+ var dvInformado = clean.substring(exports.AGRO_NUMBERS.TWELVE, exports.AGRO_NUMBERS.FOURTEEN);
2412
+ var calculaDV = function (str, pesos) {
2413
+ var soma = exports.AGRO_NUMBERS.ZERO;
2414
+ for (var i = exports.AGRO_NUMBERS.ZERO; i < pesos.length; i++) {
2415
+ var char = str.charAt(i);
2416
+ var asciiValue = char.charCodeAt(0) - exports.AGRO_NUMBERS.FORTY_EIGHT; // conforme documento (48 = '0')
2417
+ soma += asciiValue * pesos[i]; // asciiValue já calculado a partir do enum FORTY_EIGHT
2418
+ }
2419
+ var resto = soma % exports.AGRO_NUMBERS.ELEVEN;
2420
+ var digito = exports.AGRO_NUMBERS.ELEVEN - resto;
2421
+ return digito > exports.AGRO_NUMBERS.NINE ? exports.AGRO_NUMBERS.ZERO : digito; // segue mesma regra do CNPJ tradicional
2422
+ };
2423
+ var dv1 = calculaDV(base, pesos1);
2424
+ var dv2 = calculaDV(base + dv1.toString(), pesos2);
2425
+ var dvCalculado = "" + dv1 + dv2;
2426
+ return dvCalculado === dvInformado;
2427
+ };
2428
+ /** Calcula a diferença entre duas strings em termos de número de caracteres diferentes */
2347
2429
  AgroStringUtils.difference = function (str1, str2) {
2348
2430
  var len1 = str1.length;
2349
2431
  var len2 = str2.length;
@@ -2355,174 +2437,60 @@
2355
2437
  }
2356
2438
  return diff;
2357
2439
  };
2358
- /**
2359
- * Retorna se a string termina com a string fornecida.
2360
- * @param str1
2361
- * @param str2
2362
- * @returns
2363
- */
2440
+ /** Verifica se str1 termina com str2 */
2364
2441
  AgroStringUtils.endsWith = function (str1, str2) {
2365
2442
  return str1.endsWith(str2);
2366
2443
  };
2367
- /**
2368
- * Retorna se a string começa com a string fornecida.
2369
- * @param str1
2370
- * @param str2
2371
- * @returns
2372
- */
2444
+ /** Verifica se str1 começa com str2 */
2373
2445
  AgroStringUtils.startsWith = function (str1, str2) {
2374
2446
  return str1.startsWith(str2);
2375
2447
  };
2376
- /**
2377
- * Retorna se a string contém a string fornecida.
2378
- * @param str1
2379
- * @param str2
2380
- * @returns
2381
- */
2448
+ /** Verifica se str1 contém str2 */
2382
2449
  AgroStringUtils.contains = function (str1, str2) {
2383
2450
  return str1.includes(str2);
2384
2451
  };
2385
- /**
2386
- * Retorna se a string começa com a string fornecida ignorando maiúsculas e minúsculas.
2387
- * @param str1
2388
- * @param str2
2389
- * @returns
2390
- */
2452
+ /** Verifica se str1 começa com str2, ignorando maiúsculas e minúsculas */
2391
2453
  AgroStringUtils.startsWithIgnoreCase = function (str1, str2) {
2392
2454
  return str1.toLowerCase().startsWith(str2.toLowerCase());
2393
2455
  };
2394
- /**
2395
- * Retorna se a string termina com a string fornecida ignorando maiúsculas e minúsculas.
2396
- * @param str1
2397
- * @param str2
2398
- * @returns
2399
- */
2456
+ /** Verifica se str1 termina com str2, ignorando maiúsculas e minúsculas */
2400
2457
  AgroStringUtils.endsWithIgnoreCase = function (str1, str2) {
2401
2458
  return str1.toLowerCase().endsWith(str2.toLowerCase());
2402
2459
  };
2403
- /**
2404
- * Converte uma string para letras maiúsculas.
2405
- * @param str - A string a ser convertida.
2406
- * @returns A string convertida para letras maiúsculas.
2407
- */
2408
- AgroStringUtils.toUpperCase = function (str) {
2409
- return str.toUpperCase();
2410
- };
2411
- /**
2412
- * Converte uma string para letras minúsculas.
2413
- * @param str - A string a ser convertida.
2414
- * @returns A string convertida para letras minúsculas.
2415
- */
2416
- AgroStringUtils.toLowerCase = function (str) {
2417
- return str.toLowerCase();
2418
- };
2419
- /**
2420
- * Inverte o caso das letras em uma string.
2421
- * @param str - A string a ser convertida.
2422
- * @returns A string com o caso das letras invertido.
2423
- */
2460
+ /** Inverte o caso de cada letra na string */
2424
2461
  AgroStringUtils.swapCase = function (str) {
2425
2462
  var swapped = "";
2426
2463
  for (var i = exports.AGRO_NUMBERS.ZERO; i < str.length; i++) {
2427
2464
  var char = str[i];
2428
- if (char === char.toUpperCase()) {
2429
- swapped += char.toLowerCase();
2430
- }
2431
- else {
2432
- swapped += char.toUpperCase();
2433
- }
2465
+ swapped += char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase();
2434
2466
  }
2435
2467
  return swapped;
2436
2468
  };
2437
- /**
2438
- * Converte a primeira letra de uma string para maiúscula.
2439
- * @param str - A string a ser convertida.
2440
- * @returns A string com a primeira letra em maiúscula.
2441
- */
2469
+ /** Coloca a primeira letra da string em maiúsculo */
2442
2470
  AgroStringUtils.capitalize = function (str) {
2443
2471
  return str.charAt(exports.AGRO_NUMBERS.ZERO).toUpperCase() + str.slice(1);
2444
2472
  };
2445
- /**
2446
- * Converte a primeira letra de uma string para minúscula.
2447
- * @param str - A string a ser convertida.
2448
- * @returns A string com a primeira letra em minúscula.
2449
- */
2473
+ /** Coloca a primeira letra da string em minúsculo */
2450
2474
  AgroStringUtils.uncapitalize = function (str) {
2451
2475
  return str.charAt(exports.AGRO_NUMBERS.ZERO).toLowerCase() + str.slice(1);
2452
2476
  };
2453
- /**
2454
- * Conta o número de ocorrências de uma substring em uma string.
2455
- * @param str - A string onde a contagem será realizada.
2456
- * @param substring - A substring a ser contada.
2457
- * @returns O número de ocorrências da substring na string.
2458
- */
2477
+ /** Conta o número de ocorrências de uma substring dentro de uma string */
2459
2478
  AgroStringUtils.countMatches = function (str, substring) {
2460
2479
  var regex = new RegExp(substring, "g");
2461
- var matches = [];
2462
- var match;
2463
- while ((match = regex.exec(str)) !== null) {
2464
- matches.push(match[0]);
2465
- }
2480
+ var matches = str.match(regex);
2466
2481
  return matches ? matches.length : exports.AGRO_NUMBERS.ZERO;
2467
2482
  };
2468
- AgroStringUtils.validateCPF = function (cpf) {
2469
- cpf = cpf.replace(/\D/g, "");
2470
- if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf)) {
2471
- return false;
2472
- }
2473
- var calcVerifier = function (cpf, length) {
2474
- var sum = 0;
2475
- for (var i = 0; i < length; i++) {
2476
- sum += parseInt(cpf[i]) * (length + 1 - i);
2477
- }
2478
- var result = sum % 11;
2479
- return result < 2 ? 0 : 11 - result;
2480
- };
2481
- var digit1 = calcVerifier(cpf, 9);
2482
- var digit2 = calcVerifier(cpf, 10);
2483
- return digit1 === parseInt(cpf[9]) && digit2 === parseInt(cpf[10]);
2484
- };
2485
- AgroStringUtils.validateCNPJ = function (cnpj) {
2486
- // Remove todos os caracteres não numéricos
2487
- cnpj = cnpj.replace(/\D/g, "");
2488
- // Verifica se tem 14 dígitos
2489
- if (cnpj.length !== 14)
2490
- return false;
2491
- // Verifica se o CNPJ é uma sequência repetida (ex: 11111111111111, 22222222222222, etc.)
2492
- if (/^(\d)\1{13}$/.test(cnpj))
2493
- return false;
2494
- // Cálculo do primeiro dígito verificador
2495
- var soma = 0;
2496
- var pesos1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
2497
- for (var i = 0; i < 12; i++) {
2498
- soma += parseInt(cnpj.charAt(i)) * pesos1[i];
2499
- }
2500
- var resto = soma % 11;
2501
- var digito1 = resto < 2 ? 0 : 11 - resto;
2502
- // Cálculo do segundo dígito verificador
2503
- soma = 0;
2504
- var pesos2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
2505
- for (var i = 0; i < 13; i++) {
2506
- soma += parseInt(cnpj.charAt(i)) * pesos2[i];
2507
- }
2508
- resto = soma % 11;
2509
- var digito2 = resto < 2 ? 0 : 11 - resto;
2510
- // Verifica se os dígitos verificadores são válidos
2511
- return parseInt(cnpj.charAt(12)) === digito1 && parseInt(cnpj.charAt(13)) === digito2;
2512
- };
2513
- /**
2514
- * Método para aplicar uma máscara em uma string. Considere a máscara com valores 9 para aplicação
2515
- * @example AgroStringUtils.applyMask('12345678901', '999.999.999-99') => '123.456.789-01'
2516
- * @param value
2517
- * @param mask
2518
- * @returns
2483
+ /**
2484
+ * Aplica uma máscara simples à string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou
2485
+ * pode ser uma string personalizada onde '9' representa um dígito a ser substituído pelo caractere correspondente
2486
+ * da string.
2519
2487
  */
2520
2488
  AgroStringUtils.applyMask = function (value, mask) {
2521
2489
  var e_1, _a;
2522
2490
  var valueChars = value.toString().split("");
2523
2491
  var maskChars = mask.split("");
2524
2492
  var maskedValue = "";
2525
- var j = 0;
2493
+ var j = exports.AGRO_NUMBERS.ZERO;
2526
2494
  try {
2527
2495
  for (var maskChars_1 = __values(maskChars), maskChars_1_1 = maskChars_1.next(); !maskChars_1_1.done; maskChars_1_1 = maskChars_1.next()) {
2528
2496
  var maskChar = maskChars_1_1.value;
@@ -2530,7 +2498,8 @@
2530
2498
  break;
2531
2499
  }
2532
2500
  if (maskChar === "9") {
2533
- maskedValue += valueChars[j++];
2501
+ maskedValue += valueChars[j];
2502
+ j += exports.AGRO_NUMBERS.ONE; // increment extracted per Sonar recommendation
2534
2503
  }
2535
2504
  else {
2536
2505
  maskedValue += maskChar;
@@ -2546,31 +2515,78 @@
2546
2515
  }
2547
2516
  return maskedValue;
2548
2517
  };
2549
- /**
2550
- * Verifica se uma string é válida.
2551
- * @param str - A string a ser verificada.
2552
- * @returns True se a string for válida, false caso contrário.
2553
- */
2554
2518
  AgroStringUtils.isValid = function (str) {
2555
- if (typeof str === "undefined" || str === null) {
2556
- return false;
2557
- }
2558
- if (AgroStringUtils.isNotEmpty(str)) {
2559
- return true;
2560
- }
2561
- return false;
2519
+ return typeof str !== "undefined" && str !== null && this.isNotEmpty(str);
2562
2520
  };
2563
- /**
2564
- * Verifica se uma string é inválida.
2565
- * @param str - A string a ser verificada.
2566
- * @returns True se a string for inválida, false caso contrário.
2567
- */
2568
2521
  AgroStringUtils.isInvalid = function (str) {
2569
2522
  return !AgroStringUtils.isValid(str);
2570
2523
  };
2524
+ AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1 = [
2525
+ exports.AGRO_NUMBERS.FIVE,
2526
+ exports.AGRO_NUMBERS.FOUR,
2527
+ exports.AGRO_NUMBERS.THREE,
2528
+ exports.AGRO_NUMBERS.TWO,
2529
+ exports.AGRO_NUMBERS.NINE,
2530
+ exports.AGRO_NUMBERS.EIGHT,
2531
+ exports.AGRO_NUMBERS.SEVEN,
2532
+ exports.AGRO_NUMBERS.SIX,
2533
+ exports.AGRO_NUMBERS.FIVE,
2534
+ exports.AGRO_NUMBERS.FOUR,
2535
+ exports.AGRO_NUMBERS.THREE,
2536
+ exports.AGRO_NUMBERS.TWO
2537
+ ];
2538
+ AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2 = [
2539
+ exports.AGRO_NUMBERS.SIX,
2540
+ exports.AGRO_NUMBERS.FIVE,
2541
+ exports.AGRO_NUMBERS.FOUR,
2542
+ exports.AGRO_NUMBERS.THREE,
2543
+ exports.AGRO_NUMBERS.TWO,
2544
+ exports.AGRO_NUMBERS.NINE,
2545
+ exports.AGRO_NUMBERS.EIGHT,
2546
+ exports.AGRO_NUMBERS.SEVEN,
2547
+ exports.AGRO_NUMBERS.SIX,
2548
+ exports.AGRO_NUMBERS.FIVE,
2549
+ exports.AGRO_NUMBERS.FOUR,
2550
+ exports.AGRO_NUMBERS.THREE,
2551
+ exports.AGRO_NUMBERS.TWO
2552
+ ];
2553
+ // Pesos utilizados para cálculo de dígitos verificadores do CNPJ alfanumérico (2026)
2554
+ AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1 = [
2555
+ exports.AGRO_NUMBERS.FIVE,
2556
+ exports.AGRO_NUMBERS.FOUR,
2557
+ exports.AGRO_NUMBERS.THREE,
2558
+ exports.AGRO_NUMBERS.TWO,
2559
+ exports.AGRO_NUMBERS.NINE,
2560
+ exports.AGRO_NUMBERS.EIGHT,
2561
+ exports.AGRO_NUMBERS.SEVEN,
2562
+ exports.AGRO_NUMBERS.SIX,
2563
+ exports.AGRO_NUMBERS.FIVE,
2564
+ exports.AGRO_NUMBERS.FOUR,
2565
+ exports.AGRO_NUMBERS.THREE,
2566
+ exports.AGRO_NUMBERS.TWO
2567
+ ];
2568
+ AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2 = [
2569
+ exports.AGRO_NUMBERS.SIX,
2570
+ exports.AGRO_NUMBERS.FIVE,
2571
+ exports.AGRO_NUMBERS.FOUR,
2572
+ exports.AGRO_NUMBERS.THREE,
2573
+ exports.AGRO_NUMBERS.TWO,
2574
+ exports.AGRO_NUMBERS.NINE,
2575
+ exports.AGRO_NUMBERS.EIGHT,
2576
+ exports.AGRO_NUMBERS.SEVEN,
2577
+ exports.AGRO_NUMBERS.SIX,
2578
+ exports.AGRO_NUMBERS.FIVE,
2579
+ exports.AGRO_NUMBERS.FOUR,
2580
+ exports.AGRO_NUMBERS.THREE,
2581
+ exports.AGRO_NUMBERS.TWO
2582
+ ];
2571
2583
  return AgroStringUtils;
2572
2584
  }());
2573
2585
 
2586
+ // Cookie name constants
2587
+ var COOKIE_TOKEN = 'com.senior.token';
2588
+ var COOKIE_BASE_URL = 'com.senior.base.url';
2589
+ var COOKIE_SERVICES_URL = 'com.senior.services.url';
2574
2590
  var AgroPlatformUtils = /** @class */ (function () {
2575
2591
  function AgroPlatformUtils() {
2576
2592
  }
@@ -2580,31 +2596,30 @@
2580
2596
  * @returns
2581
2597
  */
2582
2598
  AgroPlatformUtils.getCurrentTenant = function () {
2583
- var _a;
2584
- var cookie = AgroCookieUtils.getCookie('com.senior.token', true);
2585
- if (cookie) {
2586
- var str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.tenantName;
2587
- if (str) {
2588
- return str;
2589
- }
2599
+ var tenant = AgroPlatformUtils.getTokenField('tenantName');
2600
+ if (tenant) {
2601
+ return tenant;
2590
2602
  }
2591
- throw new Error('Cookie: "com.senior.token" não encontrado.');
2603
+ throw new Error("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2592
2604
  };
2593
2605
  /**
2594
2606
  * Retorna o locale do tenant atual
2595
2607
  *
2596
2608
  * @returns
2597
2609
  */
2598
- AgroPlatformUtils.getCurrenTenantLocale = function () {
2599
- var _a;
2600
- var cookie = AgroCookieUtils.getCookie('com.senior.token', true);
2601
- if (cookie) {
2602
- var str = (_a = AgroObjectUtils.fromString(cookie)) === null || _a === void 0 ? void 0 : _a.locale;
2603
- if (str) {
2604
- return str;
2605
- }
2610
+ AgroPlatformUtils.getCurrentTenantLocale = function () {
2611
+ var locale = AgroPlatformUtils.getTokenField('locale');
2612
+ if (locale) {
2613
+ return locale;
2606
2614
  }
2607
- throw new Error('Cookie: "com.senior.token" não encontrado.');
2615
+ throw new Error("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2616
+ };
2617
+ /**
2618
+ * @deprecated Use getCurrentTenantLocale()
2619
+ * Mantido por compatibilidade retroativa.
2620
+ */
2621
+ AgroPlatformUtils.getCurrenTenantLocale = function () {
2622
+ return AgroPlatformUtils.getCurrentTenantLocale();
2608
2623
  };
2609
2624
  /**
2610
2625
  * Retorna o usuário logado
@@ -2612,15 +2627,8 @@
2612
2627
  * @returns string || null
2613
2628
  */
2614
2629
  AgroPlatformUtils.getCurrentUserName = function () {
2615
- var _a;
2616
- var cookie = AgroCookieUtils.getCookie('com.senior.token');
2617
- if (cookie) {
2618
- var str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.fullName;
2619
- if (str) {
2620
- return str;
2621
- }
2622
- }
2623
- return null;
2630
+ var name = AgroPlatformUtils.getTokenField('fullName');
2631
+ return name || null;
2624
2632
  };
2625
2633
  /**
2626
2634
  * Retorna o e-mail do usuário logado
@@ -2628,16 +2636,11 @@
2628
2636
  * @returns string
2629
2637
  */
2630
2638
  AgroPlatformUtils.getCurrentUserEmail = function () {
2631
- var _a;
2632
- var cookie = AgroCookieUtils.getCookie('com.senior.token');
2633
- if (cookie) {
2634
- var str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.email;
2635
- if (str) {
2636
- return str;
2637
- }
2639
+ var email = AgroPlatformUtils.getTokenField('email');
2640
+ if (!email) {
2641
+ console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2638
2642
  }
2639
- console.error('Cookie: "com.senior.token" não encontrado.');
2640
- return null;
2643
+ return email || null;
2641
2644
  };
2642
2645
  /**
2643
2646
  * Retorna uma string com a baseURL atual
@@ -2645,11 +2648,11 @@
2645
2648
  * @example "https://cloud-leaf.senior.com.br" || "https://platform.senior.com.br"
2646
2649
  */
2647
2650
  AgroPlatformUtils.getBaseURL = function () {
2648
- var cookie = AgroCookieUtils.getCookie('com.senior.base.url');
2651
+ var cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);
2649
2652
  if (cookie) {
2650
2653
  return decodeURIComponent(cookie);
2651
2654
  }
2652
- throw new Error('Cookie: "com.senior.base.url" não encontrado.');
2655
+ throw new Error("Cookie: \"" + COOKIE_BASE_URL + "\" n\u00E3o encontrado.");
2653
2656
  };
2654
2657
  /**
2655
2658
  * Retorna uma string com a URL dos serviços
@@ -2657,27 +2660,33 @@
2657
2660
  * @example "https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/"
2658
2661
  */
2659
2662
  AgroPlatformUtils.getServicesURL = function () {
2660
- var cookie = AgroCookieUtils.getCookie('com.senior.services.url');
2663
+ var cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);
2661
2664
  if (AgroStringUtils.isNotEmpty(cookie)) {
2662
2665
  return decodeURIComponent(cookie);
2663
2666
  }
2664
- throw new Error('Cookie: "com.senior.services.url" não encontrado.');
2667
+ throw new Error("Cookie: \"" + COOKIE_SERVICES_URL + "\" n\u00E3o encontrado.");
2665
2668
  };
2666
2669
  /**
2667
2670
  * Retorna uma string com o token de acesso atual
2668
2671
  * Caso contrário, retorna uma instância de Error
2669
2672
  */
2670
2673
  AgroPlatformUtils.getCurrentAccessToken = function () {
2671
- var _a;
2672
- var cookie = AgroCookieUtils.getCookie('com.senior.token');
2673
- if (cookie) {
2674
- var str = (_a = AgroCookieUtils.parseCookieToObject(cookie, true)) === null || _a === void 0 ? void 0 : _a.access_token;
2675
- if (str) {
2676
- return str;
2677
- }
2674
+ var token = AgroPlatformUtils.getTokenField('access_token');
2675
+ if (!token) {
2676
+ console.info("Cookie: \"" + COOKIE_TOKEN + "\" n\u00E3o encontrado.");
2678
2677
  }
2679
- console.error('Cookie: "com.senior.token" não encontrado.');
2680
- return null;
2678
+ return token || null;
2679
+ };
2680
+ /**
2681
+ * Helper para extrair um campo do cookie de token.
2682
+ */
2683
+ AgroPlatformUtils.getTokenField = function (field) {
2684
+ var cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);
2685
+ if (!cookie) {
2686
+ return undefined;
2687
+ }
2688
+ var obj = AgroCookieUtils.parseCookieToObject(cookie, true);
2689
+ return obj[field];
2681
2690
  };
2682
2691
  return AgroPlatformUtils;
2683
2692
  }());
@@ -2711,7 +2720,7 @@
2711
2720
  * @returns True se for par, false caso contrário.
2712
2721
  */
2713
2722
  AgroNumberUtils.isEven = function (value) {
2714
- return value % 2 === 0;
2723
+ return value % exports.AGRO_NUMBERS.TWO === exports.AGRO_NUMBERS.ZERO;
2715
2724
  };
2716
2725
  /**
2717
2726
  * Verifica se um número é ímpar.
@@ -2720,7 +2729,7 @@
2720
2729
  * @returns True se for ímpar, false caso contrário.
2721
2730
  */
2722
2731
  AgroNumberUtils.isOdd = function (value) {
2723
- return value % 2 !== 0;
2732
+ return value % exports.AGRO_NUMBERS.TWO !== exports.AGRO_NUMBERS.ZERO;
2724
2733
  };
2725
2734
  /**
2726
2735
  * Calcula a porcentagem de um valor em relação a um total.
@@ -2730,9 +2739,10 @@
2730
2739
  * @returns A porcentagem calculada.
2731
2740
  */
2732
2741
  AgroNumberUtils.percentage = function (partial, total) {
2733
- if (total === 0)
2742
+ if (total === exports.AGRO_NUMBERS.ZERO) {
2734
2743
  throw new Error("O total não pode ser zero.");
2735
- return (partial / total) * 100;
2744
+ }
2745
+ return (partial / total) * exports.AGRO_NUMBERS.ONE_HUNDRED;
2736
2746
  };
2737
2747
  /**
2738
2748
  * Formata um número para o formato monetário.
@@ -2758,6 +2768,9 @@
2758
2768
  * @returns Um número aleatório no intervalo.
2759
2769
  */
2760
2770
  AgroNumberUtils.randomInRange = function (min, max) {
2771
+ if (max <= min) {
2772
+ throw new Error("O valor máximo deve ser maior que o mínimo.");
2773
+ }
2761
2774
  return Math.random() * (max - min) + min;
2762
2775
  };
2763
2776
  /**
@@ -2767,11 +2780,13 @@
2767
2780
  * @returns True se for primo, false caso contrário.
2768
2781
  */
2769
2782
  AgroNumberUtils.isPrime = function (value) {
2770
- if (value <= 1)
2783
+ if (value <= exports.AGRO_NUMBERS.ONE) {
2771
2784
  return false;
2772
- for (var i = 2; i <= Math.sqrt(value); i++) {
2773
- if (value % i === 0)
2785
+ }
2786
+ for (var i = exports.AGRO_NUMBERS.TWO; i <= Math.sqrt(value); i++) {
2787
+ if (value % i === exports.AGRO_NUMBERS.ZERO) {
2774
2788
  return false;
2789
+ }
2775
2790
  }
2776
2791
  return true;
2777
2792
  };
@@ -2783,8 +2798,11 @@
2783
2798
  * @returns O número arredondado.
2784
2799
  */
2785
2800
  AgroNumberUtils.roundTo = function (value, decimals) {
2786
- if (decimals === void 0) { decimals = 2; }
2787
- var factor = Math.pow(10, decimals);
2801
+ if (decimals === void 0) { decimals = exports.AGRO_NUMBERS.TWO; }
2802
+ if (decimals < exports.AGRO_NUMBERS.ZERO) {
2803
+ throw new Error("O número de casas decimais não pode ser negativo.");
2804
+ }
2805
+ var factor = Math.pow(exports.AGRO_NUMBERS.TEN, decimals);
2788
2806
  return Math.round(value * factor) / factor;
2789
2807
  };
2790
2808
  return AgroNumberUtils;
@@ -2820,6 +2838,8 @@
2820
2838
  SECONDARY_RGB: "153, 153, 153",
2821
2839
  PRIMAEY_DISABLED: "#CCCCCC",
2822
2840
  PRIMAEY_DISABLED_RGB: "204, 204, 204",
2841
+ PRIMARY_DISABLED: "#CCCCCC",
2842
+ PRIMARY_DISABLED_RGB: "204, 204, 204",
2823
2843
  SECONDARY_DISABLED: "#D8D8D8",
2824
2844
  SECONDARY_DISABLED_RGB: "216, 216, 216",
2825
2845
  BLACK_HAZE: "#E5EAEA",
@@ -2883,8 +2903,7 @@
2883
2903
  return null;
2884
2904
  }
2885
2905
  var parts = fullName.trim().split(/\s+/);
2886
- // Verifica se pelo menos duas partes no nome
2887
- if (parts.length < 2) {
2906
+ if (parts.length < exports.AGRO_NUMBERS.TWO) {
2888
2907
  return fullName; // Retorna o nome original se não puder ser abreviado
2889
2908
  }
2890
2909
  var firstName = parts[0]; // Primeiro nome completo
@@ -2903,8 +2922,9 @@
2903
2922
  return null;
2904
2923
  }
2905
2924
  var parts = fullName.trim().split(/\s+/);
2906
- if (parts.length < 2)
2925
+ if (parts.length < exports.AGRO_NUMBERS.TWO) {
2907
2926
  return fullName;
2927
+ }
2908
2928
  var firstName = parts[0];
2909
2929
  var abbreviatedLastNames = parts
2910
2930
  .slice(1)
@@ -3016,61 +3036,52 @@
3016
3036
  var e_1, _a;
3017
3037
  var total = data.length;
3018
3038
  var map = new Map();
3019
- var _loop_1 = function (item) {
3020
- var e_2, _a, e_3, _b;
3021
- var uniqueKey = JSON.stringify(keys.map(function (c) {
3022
- var e_4, _a;
3023
- var parts = c.split(".");
3024
- var value = item;
3025
- try {
3026
- for (var parts_2 = (e_4 = void 0, __values(parts)), parts_2_1 = parts_2.next(); !parts_2_1.done; parts_2_1 = parts_2.next()) {
3027
- var p = parts_2_1.value;
3028
- value = value === null || value === void 0 ? void 0 : value[p];
3039
+ var resolvePath = function (source, path) {
3040
+ var e_2, _a;
3041
+ var parts = path.split(".");
3042
+ var value = source;
3043
+ try {
3044
+ for (var parts_1 = __values(parts), parts_1_1 = parts_1.next(); !parts_1_1.done; parts_1_1 = parts_1.next()) {
3045
+ var p = parts_1_1.value;
3046
+ if (value == null) {
3047
+ return undefined;
3029
3048
  }
3049
+ value = value[p];
3030
3050
  }
3031
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
3032
- finally {
3033
- try {
3034
- if (parts_2_1 && !parts_2_1.done && (_a = parts_2.return)) _a.call(parts_2);
3035
- }
3036
- finally { if (e_4) throw e_4.error; }
3051
+ }
3052
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3053
+ finally {
3054
+ try {
3055
+ if (parts_1_1 && !parts_1_1.done && (_a = parts_1.return)) _a.call(parts_1);
3037
3056
  }
3038
- return value;
3039
- }));
3057
+ finally { if (e_2) throw e_2.error; }
3058
+ }
3059
+ return value;
3060
+ };
3061
+ var _loop_1 = function (item) {
3062
+ var e_3, _a;
3063
+ var keyValues = keys.map(function (k) { return resolvePath(item, k); });
3064
+ var uniqueKey = JSON.stringify(keyValues);
3040
3065
  if (!map.has(uniqueKey)) {
3041
3066
  var groupedData = {};
3042
3067
  try {
3043
- for (var keys_1 = (e_2 = void 0, __values(keys)), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
3044
- var c = keys_1_1.value;
3045
- var parts = c.split(".");
3046
- var value = item;
3047
- try {
3048
- for (var parts_1 = (e_3 = void 0, __values(parts)), parts_1_1 = parts_1.next(); !parts_1_1.done; parts_1_1 = parts_1.next()) {
3049
- var p = parts_1_1.value;
3050
- value = value === null || value === void 0 ? void 0 : value[p];
3051
- }
3052
- }
3053
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
3054
- finally {
3055
- try {
3056
- if (parts_1_1 && !parts_1_1.done && (_b = parts_1.return)) _b.call(parts_1);
3057
- }
3058
- finally { if (e_3) throw e_3.error; }
3059
- }
3060
- // add the full entity (not only its ID)
3061
- groupedData[c.toString().split(".")[0]] = value;
3068
+ for (var keys_1 = (e_3 = void 0, __values(keys)), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
3069
+ var k = keys_1_1.value;
3070
+ var rootName = k.toString().split(".")[0];
3071
+ groupedData[rootName] = resolvePath(item, k);
3062
3072
  }
3063
3073
  }
3064
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
3074
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
3065
3075
  finally {
3066
3076
  try {
3067
3077
  if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
3068
3078
  }
3069
- finally { if (e_2) throw e_2.error; }
3079
+ finally { if (e_3) throw e_3.error; }
3070
3080
  }
3071
3081
  map.set(uniqueKey, { data: groupedData, count: 0 });
3072
3082
  }
3073
- map.get(uniqueKey).count++;
3083
+ var entry = map.get(uniqueKey);
3084
+ entry.count += exports.AGRO_NUMBERS.ONE;
3074
3085
  };
3075
3086
  try {
3076
3087
  for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
@@ -3088,7 +3099,7 @@
3088
3099
  var result = Array.from(map.values()).map(function (entry) { return ({
3089
3100
  data: entry.data,
3090
3101
  samplingQuantity: entry.count,
3091
- samplingSuccess: Math.round((entry.count / total) * 100),
3102
+ samplingSuccess: Math.round((entry.count / total) * exports.AGRO_NUMBERS.ONE_HUNDRED),
3092
3103
  }); });
3093
3104
  result.sort(function (a, b) { return b.samplingSuccess - a.samplingSuccess; });
3094
3105
  return result;
@@ -3515,7 +3526,7 @@
3515
3526
  this.handleError('WebSocketError', data);
3516
3527
  };
3517
3528
  WebsocketService.prototype.handleError = function (origin, data) {
3518
- console.error(origin, data);
3529
+ console.info(origin, data);
3519
3530
  this.error$.next(data);
3520
3531
  };
3521
3532
  WebsocketService.prototype.handleReconnection = function () {
@@ -4463,14 +4474,6 @@
4463
4474
  return LibTranslationService;
4464
4475
  }());
4465
4476
 
4466
- var NUMBERS;
4467
- (function (NUMBERS) {
4468
- NUMBERS[NUMBERS["ZERO"] = 0] = "ZERO";
4469
- NUMBERS[NUMBERS["TWELVE"] = 12] = "TWELVE";
4470
- NUMBERS[NUMBERS["FIFTEEN"] = 15] = "FIFTEEN";
4471
- NUMBERS[NUMBERS["HUNDRED"] = 100] = "HUNDRED";
4472
- })(NUMBERS || (NUMBERS = {}));
4473
-
4474
4477
  var CancelEventDialogComponent = /** @class */ (function () {
4475
4478
  function CancelEventDialogComponent(formBuilder, config, ref, translate) {
4476
4479
  this.formBuilder = formBuilder;
@@ -4478,13 +4481,13 @@
4478
4481
  this.ref = ref;
4479
4482
  this.translate = translate;
4480
4483
  this.loading = false;
4481
- this.reasonMinLength = NUMBERS.FIFTEEN;
4484
+ this.reasonMinLength = exports.AGRO_NUMBERS.FIFTEEN;
4482
4485
  this.ngUnsubscribe = new rxjs.Subject();
4483
4486
  this.cpSize = {
4484
4487
  sm: 12,
4485
- md: NUMBERS.TWELVE,
4486
- lg: NUMBERS.TWELVE,
4487
- xl: NUMBERS.TWELVE,
4488
+ md: exports.AGRO_NUMBERS.TWELVE,
4489
+ lg: exports.AGRO_NUMBERS.TWELVE,
4490
+ xl: exports.AGRO_NUMBERS.TWELVE,
4488
4491
  };
4489
4492
  this.priority = angularComponents.ButtonPriority;
4490
4493
  }
@@ -4512,14 +4515,14 @@
4512
4515
  multiple: false,
4513
4516
  required: function () { return true; },
4514
4517
  size: this.cpSize,
4515
- maxLength: NUMBERS.HUNDRED,
4518
+ maxLength: exports.AGRO_NUMBERS.ONE_HUNDRED,
4516
4519
  }),
4517
4520
  ];
4518
4521
  };
4519
4522
  CancelEventDialogComponent.prototype.setDataConfigDialog = function () {
4520
4523
  var _a, _b, _c, _d;
4521
4524
  this.cancelEventDialogConfig = (_b = (_a = this.config.data) === null || _a === void 0 ? void 0 : _a.cancelEventDialogConfig) !== null && _b !== void 0 ? _b : {};
4522
- this.reasonMinLength = (_d = (_c = this.cancelEventDialogConfig) === null || _c === void 0 ? void 0 : _c.reasonMinLength) !== null && _d !== void 0 ? _d : NUMBERS.FIFTEEN;
4525
+ this.reasonMinLength = (_d = (_c = this.cancelEventDialogConfig) === null || _c === void 0 ? void 0 : _c.reasonMinLength) !== null && _d !== void 0 ? _d : exports.AGRO_NUMBERS.FIFTEEN;
4523
4526
  };
4524
4527
  CancelEventDialogComponent.prototype.setTranslations = function () {
4525
4528
  this.translations = {
@@ -5435,7 +5438,7 @@
5435
5438
  return keys.reduce(function (acc, key) { return acc && acc[key]; }, parsedJson);
5436
5439
  }
5437
5440
  catch (error) {
5438
- console.error("Erro ao acessar o objeto pelo path: " + path, error);
5441
+ console.info("Erro ao acessar o objeto pelo path: " + path, error);
5439
5442
  return null;
5440
5443
  }
5441
5444
  };
@@ -6650,6 +6653,49 @@
6650
6653
  return EventControlBoardModule;
6651
6654
  }());
6652
6655
 
6656
+ var CnpjCpfPipe = /** @class */ (function () {
6657
+ function CnpjCpfPipe() {
6658
+ }
6659
+ CnpjCpfPipe.prototype.transform = function (value) {
6660
+ var args = [];
6661
+ for (var _i = 1; _i < arguments.length; _i++) {
6662
+ args[_i - 1] = arguments[_i];
6663
+ }
6664
+ if (typeof value !== 'string' && typeof value !== 'number') {
6665
+ return value;
6666
+ }
6667
+ var nVal = value.toString().replace(/\D/g, '');
6668
+ if (AgroStringUtils.isNotEmpty(nVal)) {
6669
+ if (nVal.length === exports.AGRO_NUMBERS.FOURTEEN) {
6670
+ return AgroStringUtils.applyMask(nVal, exports.AgroStringMasks.CNPJ);
6671
+ }
6672
+ if (nVal.length === exports.AGRO_NUMBERS.ELEVEN) {
6673
+ return AgroStringUtils.applyMask(nVal, exports.AgroStringMasks.CPF);
6674
+ }
6675
+ }
6676
+ return value;
6677
+ };
6678
+ CnpjCpfPipe = __decorate([
6679
+ core.Pipe({
6680
+ name: 'cnpjCpf'
6681
+ })
6682
+ ], CnpjCpfPipe);
6683
+ return CnpjCpfPipe;
6684
+ }());
6685
+
6686
+ var CnpjCpfModule = /** @class */ (function () {
6687
+ function CnpjCpfModule() {
6688
+ }
6689
+ CnpjCpfModule = __decorate([
6690
+ core.NgModule({
6691
+ declarations: [CnpjCpfPipe],
6692
+ imports: [common.CommonModule],
6693
+ exports: [CnpjCpfPipe],
6694
+ })
6695
+ ], CnpjCpfModule);
6696
+ return CnpjCpfModule;
6697
+ }());
6698
+
6653
6699
  var HostProjectConfigsInjectionToken = new core.InjectionToken("hostProjectConfigs");
6654
6700
  var AgroAngularComponentsModule = /** @class */ (function () {
6655
6701
  function AgroAngularComponentsModule() {
@@ -6688,6 +6734,8 @@
6688
6734
  exports.AsyncLock = AsyncLock;
6689
6735
  exports.CancelEventDialogComponent = CancelEventDialogComponent;
6690
6736
  exports.CancelEventDialogModule = CancelEventDialogModule;
6737
+ exports.CnpjCpfModule = CnpjCpfModule;
6738
+ exports.CnpjCpfPipe = CnpjCpfPipe;
6691
6739
  exports.Colors = Colors;
6692
6740
  exports.E001TnsModule = E001TnsModule;
6693
6741
  exports.E001pesModule = E001pesModule;