klawtil 0.16.0 → 0.17.0-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -482,6 +482,7 @@ removeFromPosition("AAACBBB", 3, 4); // -> AAABBB
482
482
  ```js
483
483
  applyMask("59650000", "00.000-000"); // -> 59.650-000
484
484
  applyMask("99877665544", "(00) 0 0000-0000"); // -> (99) 8 7766-5544
485
+ applyMask('EK2KZZUJ000148', '00.000.000/0000-00'); // -> EK.2KZ.ZUJ/0001-48
485
486
  ```
486
487
 
487
488
  ### applyVars
@@ -610,6 +610,10 @@ export declare function removeFromPosition(value: string, startPosition: number,
610
610
  * @param {ApplyVarsOptions} options
611
611
  */
612
612
  export declare function applyVars(value: string, vars: Record<string, any>, options?: Partial<ApplyVarsOptions>): string;
613
+ /**
614
+ * Remove specialChars
615
+ */
616
+ export declare function removeSpecialChars(value: string): string;
613
617
  /**
614
618
  * applyMask()
615
619
  * Aplica uma máscara a uma string
@@ -706,3 +710,4 @@ export declare function toBoolean(value: any): boolean;
706
710
  */
707
711
  export declare function timeUUID(): string;
708
712
  export {};
713
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,21 @@
4
4
  /* eslint-disable @typescript-eslint/ban-types */
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.timeUUID = exports.toBoolean = exports.sortByKey = exports.filesize = exports.quantity = exports.randomLetter = exports.applyMask = exports.applyVars = exports.removeFromPosition = exports.insertAtPosition = exports.clearFalsy = exports.clearNumber = exports.randomNumber = exports.removeAccent = exports.whiteList = exports.objectFlat = exports.prefixObjectKeys = exports.upperFirst = exports.currencyBR = exports.slug = exports.keyGenerator = exports.groupBy = exports.objectPath = exports.intersect = exports.isTruthy = exports.isFalsy = exports.isTime = exports.isDateBR = exports.isDate = exports.isEmail = exports.checkTypes = exports.isJSON = exports.isNumeric = exports.isFloat = exports.isInteger = exports.isString = exports.isObject = exports.isArray = exports.empty = void 0;
7
+ exports.sortByKey = exports.filesize = exports.quantity = exports.removeAccent = exports.whiteList = exports.upperFirst = exports.currencyBR = exports.slug = exports.keyGenerator = exports.groupBy = exports.intersect = exports.isTruthy = exports.isFalsy = exports.isTime = exports.isDateBR = exports.isDate = exports.isEmail = exports.checkTypes = exports.isJSON = exports.isNumeric = exports.isFloat = exports.isInteger = exports.isString = exports.isObject = exports.isArray = exports.empty = void 0;
8
+ exports.objectPath = objectPath;
9
+ exports.prefixObjectKeys = prefixObjectKeys;
10
+ exports.objectFlat = objectFlat;
11
+ exports.randomNumber = randomNumber;
12
+ exports.clearNumber = clearNumber;
13
+ exports.clearFalsy = clearFalsy;
14
+ exports.insertAtPosition = insertAtPosition;
15
+ exports.removeFromPosition = removeFromPosition;
16
+ exports.applyVars = applyVars;
17
+ exports.removeSpecialChars = removeSpecialChars;
18
+ exports.applyMask = applyMask;
19
+ exports.randomLetter = randomLetter;
20
+ exports.toBoolean = toBoolean;
21
+ exports.timeUUID = timeUUID;
8
22
  /*************************************************************************
9
23
  *
10
24
  * COMPARAÇÃO DE VALORES
@@ -402,7 +416,6 @@ function objectPath(obj, path) {
402
416
  });
403
417
  return obj;
404
418
  }
405
- exports.objectPath = objectPath;
406
419
  /********************
407
420
  * FUNÇÕES DE APOIO
408
421
  */
@@ -617,7 +630,6 @@ function prefixObjectKeys(obj, prefix = "") {
617
630
  .forEach((item) => (output[item.prefixed] = obj[item.key]));
618
631
  return output;
619
632
  }
620
- exports.prefixObjectKeys = prefixObjectKeys;
621
633
  /**
622
634
  * objectFlat()
623
635
  * Recebe um objeto e o transforma em uma versão plana, com suas chaves
@@ -683,7 +695,6 @@ function objectFlat(obj, separator = ".") {
683
695
  }
684
696
  return flatten(obj, separator);
685
697
  }
686
- exports.objectFlat = objectFlat;
687
698
  /**
688
699
  * Mantém somente as chaves do objeto que estão na lista branca
689
700
  *
@@ -774,7 +785,6 @@ function randomNumber(length, forceLength = false) {
774
785
  return String(value).padStart(length, "0");
775
786
  return +value;
776
787
  }
777
- exports.randomNumber = randomNumber;
778
788
  /**
779
789
  * Limpa um número informado, retirando caracteres diferentes de números,
780
790
  * preenchendo com zeros à esquerda se for menor que o tamanho exato e
@@ -799,7 +809,6 @@ function clearNumber(value, length = null) {
799
809
  return clearedNumber;
800
810
  return clearedNumber.padStart(length, "0").substring(0, length);
801
811
  }
802
- exports.clearNumber = clearNumber;
803
812
  /**
804
813
  * Limpa os valores falsy do objeto informado
805
814
  *
@@ -816,7 +825,6 @@ function clearFalsy(value) {
816
825
  });
817
826
  return value;
818
827
  }
819
- exports.clearFalsy = clearFalsy;
820
828
  /**
821
829
  * insertAtPosition()
822
830
  * Insere um conjunto de caracteres em um local específico de uma string
@@ -834,7 +842,6 @@ exports.clearFalsy = clearFalsy;
834
842
  function insertAtPosition(value, insertValue, position) {
835
843
  return `${value.substring(0, position)}${insertValue}${value.substring(position)}`;
836
844
  }
837
- exports.insertAtPosition = insertAtPosition;
838
845
  /**
839
846
  * removeFromPosition()
840
847
  * Retira um conjunto de caracteres de um local específico de uma string
@@ -852,7 +859,6 @@ exports.insertAtPosition = insertAtPosition;
852
859
  function removeFromPosition(value, startPosition, endPosition) {
853
860
  return [value.slice(0, startPosition), value.slice(endPosition)].join("");
854
861
  }
855
- exports.removeFromPosition = removeFromPosition;
856
862
  /**
857
863
  * applyVars()
858
864
  * Aplica variáveis a um texto
@@ -873,7 +879,12 @@ function applyVars(value, vars, options = {}) {
873
879
  const flattened = objectFlat(vars);
874
880
  return Object.keys(flattened).reduce((text, key) => text.replace(`${start}${key}${end}`, flattened[key]), value);
875
881
  }
876
- exports.applyVars = applyVars;
882
+ /**
883
+ * Remove specialChars
884
+ */
885
+ function removeSpecialChars(value) {
886
+ return value.replace(/([^0-9a-z]+)/ig, '');
887
+ }
877
888
  /**
878
889
  * applyMask()
879
890
  * Aplica uma máscara a uma string
@@ -888,8 +899,8 @@ exports.applyVars = applyVars;
888
899
  *
889
900
  */
890
901
  function applyMask(value, mask) {
891
- const maskLen = clearNumber(mask).length;
892
- let masked = clearNumber(value, maskLen);
902
+ // const maskLen = removeSpecialChars(mask).length;
903
+ let masked = removeSpecialChars(String(value));
893
904
  const specialChars = ["/", "-", ".", "(", ")", " "];
894
905
  for (let position = 0; position < mask.length; position += 1) {
895
906
  const current = mask[position];
@@ -898,7 +909,6 @@ function applyMask(value, mask) {
898
909
  }
899
910
  return masked;
900
911
  }
901
- exports.applyMask = applyMask;
902
912
  /**
903
913
  * randomLetter()
904
914
  * Pega uma letra maiúscula aleatoriamente
@@ -913,7 +923,6 @@ function randomLetter() {
913
923
  const idx = Math.floor(1 + Math.random() * 26);
914
924
  return String.fromCharCode(idx + 64);
915
925
  }
916
- exports.randomLetter = randomLetter;
917
926
  /**
918
927
  * Exibe uma quantidade como string numérica
919
928
  *
@@ -1018,7 +1027,6 @@ exports.sortByKey = sortByKey;
1018
1027
  function toBoolean(value) {
1019
1028
  return !(0, exports.isFalsy)(value);
1020
1029
  }
1021
- exports.toBoolean = toBoolean;
1022
1030
  /**
1023
1031
  *
1024
1032
  * Gera um UUID V4 ordenável, usando a data atual como base
@@ -1041,17 +1049,14 @@ function timeUUID() {
1041
1049
  .replace(".", "")
1042
1050
  .slice(0, 16)
1043
1051
  .padEnd(16, "0");
1044
- // console.log({ group12, milliseconds, perf16 });
1045
1052
  // Os demais caracteres do 3, o 4 e o quinto.
1046
1053
  const group345 = [milliseconds, perf16].join("");
1047
1054
  const hex1 = parseInt(group12, 10).toString(16);
1048
1055
  const hex2 = parseInt(group345, 10).toString(16);
1049
- // console.log({ group12, group345 });
1050
1056
  const len = 31 - hex1.length - hex2.length;
1051
1057
  const rand = Math.floor(Math.random() * Math.pow(10, len))
1052
1058
  .toString()
1053
1059
  .padStart(len, "0");
1054
- // console.log({ hex1, hex2, rand, len });
1055
1060
  const hex = hex1 + hex2 + rand;
1056
1061
  return [
1057
1062
  hex.slice(0, 8),
@@ -1061,5 +1066,3 @@ function timeUUID() {
1061
1066
  hex.slice(19),
1062
1067
  ].join("-");
1063
1068
  }
1064
- exports.timeUUID = timeUUID;
1065
- //# sourceMappingURL=main.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klawtil",
3
- "version": "0.16.0",
3
+ "version": "0.17.0-rc2",
4
4
  "description": "Biblioteca de funções úteis",
5
5
  "author": "Cláudio Medeiros <contato@klawdyo.com>",
6
6
  "license": "MIT",
@@ -12,34 +12,20 @@
12
12
  "main": "./dist/tsc/main.js",
13
13
  "types": "./dist/tsc/main.d.ts",
14
14
  "repository": {
15
- "url": "https://github.com/klawdyo/utils"
15
+ "url": "https://github.com/klawdyo/klawtil"
16
16
  },
17
17
  "bugs": {
18
- "url": "https://github.com/klawdyo/utils/issues"
18
+ "url": "https://github.com/klawdyo/klawtil/issues"
19
19
  },
20
- "homepage": "https://github.com/klawdyo/utils#readme",
20
+ "homepage": "https://github.com/klawdyo/klawtil#readme",
21
21
  "scripts": {
22
- "lint": "eslint src/ --ext .js,.jsx,.ts,.tsx",
23
- "clean": "rm -rf dist build package",
24
- "ts-node": "ts-node",
25
- "test": "jest",
26
- "test:watch": "jest --watch",
27
- "test:coverage": "jest --collectCoverageFrom=src/**/*.ts --coverage",
28
- "docs": "typedoc --entryPoints src/main.ts",
29
- "build": "tsc -p tsconfig.json",
30
- "prepublish": "npm run build && npm run docs"
22
+ "test": "npx vitest run",
23
+ "test:watch": "vitest",
24
+ "build": "rm -r ./dist & tsc",
25
+ "prepublishOnly": "npm run build"
31
26
  },
32
27
  "devDependencies": {
33
- "@types/jest": "^26.0.21",
34
- "@types/node": "^15.0.1",
35
- "@typescript-eslint/eslint-plugin": "^4.19.0",
36
- "@typescript-eslint/parser": "^4.19.0",
37
- "esbuild": "^0.11.11",
38
- "eslint": "^7.22.0",
39
- "jest": "^29.7.0",
40
- "ts-jest": "^29.1.5",
41
- "ts-node": "^9.1.1",
42
- "typedoc": "^0.26.3",
43
- "typescript": "^4.2.3"
28
+ "typescript": "^5.6.3",
29
+ "vitest": "^4.0.17"
44
30
  }
45
31
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}