klawtil 0.17.0-rc3 → 0.17.0-rc4
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/dist/main.d.ts +0 -667
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +24 -701
- package/package.json +1 -1
package/dist/main.d.ts
CHANGED
|
@@ -1,713 +1,46 @@
|
|
|
1
|
-
/***************************************************
|
|
2
|
-
* UTILS
|
|
3
|
-
* Funções soltas de cunho geral que servem em outros locais do app
|
|
4
|
-
*
|
|
5
|
-
****************************************************/
|
|
6
|
-
/*************************************************************************
|
|
7
|
-
*
|
|
8
|
-
* TYPES
|
|
9
|
-
*/
|
|
10
1
|
type ApplyVarsOptions = {
|
|
11
2
|
start: string;
|
|
12
3
|
end: string;
|
|
13
4
|
};
|
|
14
|
-
/*************************************************************************
|
|
15
|
-
*
|
|
16
|
-
* COMPARAÇÃO DE VALORES
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Verifica se um valor é vazio, null, array vazio ou objeto vazio.
|
|
20
|
-
* Não considera 0 ou false como vazio.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
*
|
|
24
|
-
* empty('') // -> true
|
|
25
|
-
* empty(null) // -> true
|
|
26
|
-
* empty(false) // -> false
|
|
27
|
-
* empty(undefined) // -> true
|
|
28
|
-
*
|
|
29
|
-
* @param {*} value
|
|
30
|
-
* @returns {Boolean}
|
|
31
|
-
*/
|
|
32
5
|
export declare const empty: (value: any) => boolean;
|
|
33
|
-
/*************************************************************************
|
|
34
|
-
*
|
|
35
|
-
* VERIFICAÇÃO DE TIPOS
|
|
36
|
-
*/
|
|
37
|
-
/**
|
|
38
|
-
* Verifica se o valor passado é do tipo array
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
*
|
|
42
|
-
* isArray([]) // -> true
|
|
43
|
-
* isArray({}) // -> false
|
|
44
|
-
* isArray(0) // -> false
|
|
45
|
-
* isArray('claudio') // -> false
|
|
46
|
-
*
|
|
47
|
-
* @param {*} value
|
|
48
|
-
* @returns {Boolean}
|
|
49
|
-
*/
|
|
50
6
|
export declare const isArray: (value: any) => boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Verifica se o valor passado é do tipo objeto
|
|
53
|
-
*/
|
|
54
7
|
export declare const isObject: (value: any) => boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Verifica se o valor passado é do tipo string
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
8
|
export declare const isString: (value: any) => boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Verifica se é um número inteiro.
|
|
63
|
-
*
|
|
64
|
-
* @examples
|
|
65
|
-
|
|
66
|
-
* isInteger('1') // -> true
|
|
67
|
-
* isInteger('1', true) // -> false
|
|
68
|
-
* isInteger(1) // -> true
|
|
69
|
-
* isInteger(1.2) // -> false
|
|
70
|
-
* isInteger(1, true) // -> true
|
|
71
|
-
* isInteger('1', true) // -> false
|
|
72
|
-
* isInteger('claudio') // -> false
|
|
73
|
-
|
|
74
|
-
*
|
|
75
|
-
* @param {Any} value: Valor que será comparado
|
|
76
|
-
* @param {Boolean} forceType: Define se deve verificar o tipo, e não apenas o número
|
|
77
|
-
*/
|
|
78
9
|
export declare const isInteger: (value: any, forceType?: boolean) => boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Verifica se é no formato de float, independente do tipo
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
*
|
|
84
|
-
* isFloat('1') // -> true
|
|
85
|
-
* isFloat(1, true) // -> true
|
|
86
|
-
* isFloat('1', true) // -> false
|
|
87
|
-
* isFloat(1) // -> true
|
|
88
|
-
* isFloat(1.2) // -> true
|
|
89
|
-
* isFloat('1.2') // -> true
|
|
90
|
-
* isFloat('1.2', true) // -> false
|
|
91
|
-
* isFloat('claudio') // -> false
|
|
92
|
-
* isFloat(false) // -> false
|
|
93
|
-
*
|
|
94
|
-
* @param {*} value
|
|
95
|
-
* @returns {Boolean} *
|
|
96
|
-
*/
|
|
97
10
|
export declare const isFloat: (value: any, forceType?: boolean) => boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Verifica se é no formato de float, independente do tipo
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
*
|
|
103
|
-
* isNumeric('1') // -> true
|
|
104
|
-
* isNumeric(1, true) // -> true
|
|
105
|
-
* isNumeric('1', true) // -> false
|
|
106
|
-
* isNumeric(1) // -> true
|
|
107
|
-
* isNumeric(1.2) // -> true
|
|
108
|
-
* isNumeric('1.2') // -> true
|
|
109
|
-
* isNumeric('1.2', true) // -> false
|
|
110
|
-
* isNumeric('claudio') // -> false
|
|
111
|
-
* isNumeric(false) // -> false
|
|
112
|
-
*
|
|
113
|
-
* @param {*} value
|
|
114
|
-
* @returns {Boolean}
|
|
115
|
-
*/
|
|
116
11
|
export declare const isNumeric: (value: any, forceType?: boolean) => boolean;
|
|
117
|
-
/**
|
|
118
|
-
* Verifica se um dado valor é um objeto JSON
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
*
|
|
122
|
-
* isJSON( true ) // -> false
|
|
123
|
-
* isJSON( false ) // -> false
|
|
124
|
-
* isJSON( '' ) // -> false
|
|
125
|
-
* isJSON( null ) // -> false
|
|
126
|
-
* isJSON( undefined ) // -> false
|
|
127
|
-
* isJSON( NaN ) // -> false
|
|
128
|
-
* isJSON( 'claudio' ) // -> false
|
|
129
|
-
* isJSON( 4654 ) // -> false
|
|
130
|
-
* isJSON( 0 ) // -> false
|
|
131
|
-
* isJSON( [1,2,3] ) // -> false
|
|
132
|
-
* isJSON( new Date() ) // -> false
|
|
133
|
-
* isJSON( "{ age: 21 }" ) // -> false
|
|
134
|
-
* isJSON( { age: 21 } ) // -> true
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* @param {*} value
|
|
138
|
-
* @returns {Boolean}
|
|
139
|
-
*/
|
|
140
12
|
export declare const isJSON: (value: any) => boolean;
|
|
141
|
-
/**
|
|
142
|
-
* checkTypes
|
|
143
|
-
* Verifica se o valor passado bate com algum dos tipos
|
|
144
|
-
* http://tobyho.com/2011/01/28/checking-types-in-javascript/
|
|
145
|
-
*
|
|
146
|
-
* checkTypes( 1, String ) // -> false
|
|
147
|
-
* checkTypes( '1', String ) // -> true
|
|
148
|
-
* checkTypes( 1, Number ) // -> true
|
|
149
|
-
* checkTypes( '1', Number ) // -> false
|
|
150
|
-
* checkTypes( 1, [String, Number] ) // -> true
|
|
151
|
-
* checkTypes( 'a', [String, Number] ) // -> true
|
|
152
|
-
* checkTypes( {}, [String, Number] ) // -> false
|
|
153
|
-
* checkTypes( [], [String, Number] ) // -> false
|
|
154
|
-
* checkTypes( [], [String, Number, Array] ) // -> true
|
|
155
|
-
* checkTypes( {}, [String, Number, Array] ) // -> false
|
|
156
|
-
* checkTypes( {}, [String, Number, Array, Object] ) // -> true
|
|
157
|
-
*
|
|
158
|
-
* @param {*} value
|
|
159
|
-
* @param {*|[*]} types
|
|
160
|
-
* @returns {Boolean}
|
|
161
|
-
*/
|
|
162
13
|
export declare const checkTypes: (value: any, types: any | any[]) => boolean;
|
|
163
|
-
/*************************************************************************
|
|
164
|
-
*
|
|
165
|
-
* COMPARAÇÃO DE FORMATOS
|
|
166
|
-
*/
|
|
167
|
-
/**
|
|
168
|
-
* Verifica se é um e-mail
|
|
169
|
-
*
|
|
170
|
-
* isEmail("claudio") // -> false
|
|
171
|
-
* isEmail("claudio@claudio.com") // -> true
|
|
172
|
-
* isEmail("") // -> false
|
|
173
|
-
* isEmail(null) // -> false
|
|
174
|
-
* isEmail(undefined) // -> false
|
|
175
|
-
* isEmail([]) // -> false
|
|
176
|
-
* isEmail({}) // -> false
|
|
177
|
-
* isEmail(123) // -> false
|
|
178
|
-
*
|
|
179
|
-
*/
|
|
180
14
|
export declare const isEmail: (value: any) => boolean;
|
|
181
|
-
/**
|
|
182
|
-
* Verifica se é uma data em um formato aceito pelo javascript
|
|
183
|
-
*
|
|
184
|
-
* @example
|
|
185
|
-
*
|
|
186
|
-
* isDate('12/12/29') // -> true
|
|
187
|
-
* isDate('31/12/29') // -> false
|
|
188
|
-
* isDate('12/31/29') // -> true
|
|
189
|
-
* isDate('12/12/2029') // -> true
|
|
190
|
-
* isDate('2029-12-12') // -> true
|
|
191
|
-
*
|
|
192
|
-
* @param {String|Number|Date}
|
|
193
|
-
* @returns {Boolean}
|
|
194
|
-
*/
|
|
195
15
|
export declare const isDate: (value: string | number | Date) => boolean;
|
|
196
|
-
/**
|
|
197
|
-
* Verifica se é uma data válida em portugues
|
|
198
|
-
*
|
|
199
|
-
* @example
|
|
200
|
-
* isDateBR('31/07/2020') // true
|
|
201
|
-
* isDateBR('32/07/2020') // false
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
* @param {String}
|
|
205
|
-
* @returns {Boolean}
|
|
206
|
-
*/
|
|
207
16
|
export declare const isDateBR: (value: string) => boolean;
|
|
208
|
-
/**
|
|
209
|
-
* Verifica se uma hora informada possui o formato de hora:
|
|
210
|
-
* 00:00 ou 00:00:00.
|
|
211
|
-
* Por padrão na verifica os segundos. Passe seconds=true para
|
|
212
|
-
* verificar também os segundos
|
|
213
|
-
*
|
|
214
|
-
* @example
|
|
215
|
-
*
|
|
216
|
-
* isTime('12:00') // -> true
|
|
217
|
-
* isTime('23:00') // -> true
|
|
218
|
-
* isTime('23:59') // -> true
|
|
219
|
-
* isTime('24:00') // -> false
|
|
220
|
-
* isTime('00:00') // -> true
|
|
221
|
-
* isTime('-12:00') // -> false
|
|
222
|
-
* isTime('aa:pp') // -> false
|
|
223
|
-
* isTime('23:60') // -> false
|
|
224
|
-
|
|
225
|
-
* isTime('00:00:00', true) // -> true
|
|
226
|
-
* isTime('23:59:59', true) // -> true
|
|
227
|
-
* isTime('24:59:59', true) // -> false
|
|
228
|
-
* isTime('23:60:59', true) // -> false
|
|
229
|
-
* isTime('23:59:65', true) // -> false
|
|
230
|
-
* isTime('aa:bb:dd', true) // -> false
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
* @param {String} value
|
|
235
|
-
* @param {Boolean} seconds
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*/
|
|
239
17
|
export declare const isTime: (value: string, seconds?: boolean) => boolean;
|
|
240
|
-
/**
|
|
241
|
-
* Verifica se um valor é falsy, ou seja, mesmo convertido
|
|
242
|
-
* para string a intenção dele deveria ser falso
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
*
|
|
246
|
-
* isFalsy(0) // -> true
|
|
247
|
-
* isFalsy('') // -> true
|
|
248
|
-
* isFalsy('0') // -> true
|
|
249
|
-
* isFalsy(NaN) // -> true
|
|
250
|
-
* isFalsy(null) // -> true
|
|
251
|
-
* isFalsy('NaN') // -> true
|
|
252
|
-
* isFalsy(false) // -> true
|
|
253
|
-
* isFalsy('null') // -> true
|
|
254
|
-
* isFalsy('false') // -> true
|
|
255
|
-
* isFalsy(undefined) // -> true
|
|
256
|
-
* isFalsy('undefined') // -> true
|
|
257
|
-
*
|
|
258
|
-
* @param {any} value
|
|
259
|
-
*/
|
|
260
18
|
export declare const isFalsy: (value: any) => boolean;
|
|
261
|
-
/**
|
|
262
|
-
* Verifica se um valor é falsy, ou seja, mesmo convertido
|
|
263
|
-
* para string a intenção dele deveria ser falso
|
|
264
|
-
*
|
|
265
|
-
* @example
|
|
266
|
-
*
|
|
267
|
-
* isTruthy(0) // -> false
|
|
268
|
-
* isTruthy('') // -> false
|
|
269
|
-
* isTruthy('0') // -> false
|
|
270
|
-
* isTruthy(NaN) // -> false
|
|
271
|
-
* isTruthy(null) // -> false
|
|
272
|
-
* isTruthy('NaN') // -> false
|
|
273
|
-
* isTruthy(false) // -> false
|
|
274
|
-
* isTruthy('null') // -> false
|
|
275
|
-
* isTruthy('false') // -> false
|
|
276
|
-
* isTruthy(undefined) // -> false
|
|
277
|
-
* isTruthy('undefined') // -> false
|
|
278
|
-
*
|
|
279
|
-
* @param {any} value
|
|
280
|
-
*/
|
|
281
19
|
export declare const isTruthy: (value: any) => boolean;
|
|
282
|
-
/*************************************************************************
|
|
283
|
-
*
|
|
284
|
-
* CONVERSÃO DE FORMATOS
|
|
285
|
-
*/
|
|
286
|
-
/********************
|
|
287
|
-
* BUSCA
|
|
288
|
-
*/
|
|
289
|
-
/**
|
|
290
|
-
* Verifica 2 arrays e retorna os valores que estão em ambos
|
|
291
|
-
*
|
|
292
|
-
* @example
|
|
293
|
-
*
|
|
294
|
-
* intersect([1,2,3], [3,4,5]) // -> [ 3 ]
|
|
295
|
-
*
|
|
296
|
-
* @param {Array} array1
|
|
297
|
-
* @param {Array} array2
|
|
298
|
-
* @return {Array} Array contendo os valores que estão nos 2 arrays
|
|
299
|
-
*/
|
|
300
20
|
export declare const intersect: (array1: any[], array2: any[]) => any[];
|
|
301
|
-
/**
|
|
302
|
-
* Retorna o valor de uma chave em um objeto de múltiplos níveis
|
|
303
|
-
*
|
|
304
|
-
* @example
|
|
305
|
-
* let obj = { a:'1', b:{ c:10, d:2, e:{ f:'4', g:'5', h:{ i:'6' } } } }
|
|
306
|
-
* objectPath( obj , 'b.e.h.i' ); // -> '6'
|
|
307
|
-
*
|
|
308
|
-
* @param {Object} obj
|
|
309
|
-
* @param {String} path Endereço no formato 'chave.subchave.outrasubchave'
|
|
310
|
-
* @returns {*} Valor de acordo com o caminho
|
|
311
|
-
*/
|
|
312
21
|
export declare function objectPath(obj: any, path: string): any;
|
|
313
|
-
/********************
|
|
314
|
-
* FUNÇÕES DE APOIO
|
|
315
|
-
*/
|
|
316
|
-
/**
|
|
317
|
-
* Agrupa um array de objetos por uma das chaves desse array.
|
|
318
|
-
*
|
|
319
|
-
* @todo Mesclar com o objectPath() acima e permitir agurpamentos multidimensionais
|
|
320
|
-
* com
|
|
321
|
-
*
|
|
322
|
-
* @exemplo
|
|
323
|
-
* const list = [
|
|
324
|
-
* {"id":1,"name":"claudio","age":37,"city":"fortaleza"},
|
|
325
|
-
* {"id":2,"name":"isa","age":9,"city":"natal"},
|
|
326
|
-
* {"id":3,"name":"jose","age":37,"city":"fortaleza"},
|
|
327
|
-
* {"id":4,"name":"marta","age":42,"city":"afonso bezerra"},
|
|
328
|
-
* {"id":5,"name":"joelma","age":42,"city":"afonso bezerra"},
|
|
329
|
-
* {"id":6,"name":"jose","age":24,"city":"assu"}
|
|
330
|
-
* ]
|
|
331
|
-
*
|
|
332
|
-
* groupBy( list, 'name' )
|
|
333
|
-
*
|
|
334
|
-
* {
|
|
335
|
-
* "claudio":[
|
|
336
|
-
* {"id":1,"name":"claudio","age":37,"city":"fortaleza"}
|
|
337
|
-
* ],
|
|
338
|
-
* "isa":[
|
|
339
|
-
* {"id":2,"name":"isa","age":9,"city":"natal"}
|
|
340
|
-
* ],
|
|
341
|
-
* "jose":[
|
|
342
|
-
* {"id":3,"name":"jose","age":37,"city":"fortaleza"},
|
|
343
|
-
* {"id":6,"name":"jose","age":24,"city":"assu"}
|
|
344
|
-
* ],
|
|
345
|
-
* "marta":[
|
|
346
|
-
* {"id":4,"name":"marta","age":42,"city":"afonso bezerra"}
|
|
347
|
-
* ],
|
|
348
|
-
* "joelma":[
|
|
349
|
-
* {"id":5,"name":"joelma","age":42,"city":"afonso bezerra"}
|
|
350
|
-
* ]
|
|
351
|
-
* }
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* @param {Array} items Lista de objetos
|
|
355
|
-
* @param {String} key Nome da chave que agrupará os demais dados
|
|
356
|
-
*/
|
|
357
22
|
export declare const groupBy: (items: object[], key: any) => any;
|
|
358
|
-
/**
|
|
359
|
-
* Gerador de chaves aleatórias
|
|
360
|
-
* Pelo menos 1 dos parâmetros numbers, lower e upper precisa ser true.
|
|
361
|
-
* Para que haja a máxima proteção contra conflitos, os três podem ser true
|
|
362
|
-
* https://gist.github.com/6174/6062387#gistcomment-2742945
|
|
363
|
-
*
|
|
364
|
-
* @example
|
|
365
|
-
*
|
|
366
|
-
* keyGenerator(5) // -> 11S9P
|
|
367
|
-
* keyGenerator(5, false) // -> HrmTF
|
|
368
|
-
* keyGenerator(5, false, false) // -> RHCWJ
|
|
369
|
-
* keyGenerator(5, false, true, false) // -> vzuyn
|
|
370
|
-
*
|
|
371
|
-
* @param {Integer} length Tamanho gerado
|
|
372
|
-
* @param {Boolean} numbers Define se existirão números
|
|
373
|
-
* @param {Boolean} lower Define se existirão letras minúsculas
|
|
374
|
-
* @param {Boolean} upper Define se existirão letras maiúsculas
|
|
375
|
-
* @returns {String}
|
|
376
|
-
*/
|
|
377
23
|
export declare const keyGenerator: (length?: number, numbers?: boolean, lower?: boolean, upper?: boolean) => string;
|
|
378
|
-
/**
|
|
379
|
-
* Gerador de slug
|
|
380
|
-
* Create SLUG from a string
|
|
381
|
-
* This function rewrite the string prototype and also
|
|
382
|
-
* replace latin and other special characters.
|
|
383
|
-
*
|
|
384
|
-
* @link
|
|
385
|
-
* Forked by Gabriel Fróes - https://gist.github.com/gabrielfroes
|
|
386
|
-
* Original Author: Mathew Byrne - https://gist.github.com/mathewbyrne/1280286
|
|
387
|
-
*
|
|
388
|
-
* @example
|
|
389
|
-
*
|
|
390
|
-
* slug('José Cláudio + ') // -> 'jose-claudio
|
|
391
|
-
* slug('José -- /\|<>Cláu=dio ') // -> 'jose-claudio
|
|
392
|
-
*
|
|
393
|
-
* @param {String} value
|
|
394
|
-
* @returns {String} Valor convertido para slug
|
|
395
|
-
*/
|
|
396
24
|
export declare const slug: (value: string) => string;
|
|
397
|
-
/**
|
|
398
|
-
* Converte um número passado para o formato do Real Brasileiro
|
|
399
|
-
*
|
|
400
|
-
* https://stackoverflow.com/a/64909632/3240078
|
|
401
|
-
* NumberFormat use small non-breaking space (\u202f) for thousand separator
|
|
402
|
-
* and normal non-breaking space beforece currency (\xa0)
|
|
403
|
-
*
|
|
404
|
-
* @example
|
|
405
|
-
* currencyBR(12.34) // -> 'R$ 12,34'
|
|
406
|
-
* currencyBR('12.34') // -> 'R$ 12,34'
|
|
407
|
-
* currencyBR('12,34') // -> null
|
|
408
|
-
*
|
|
409
|
-
* @param {Number|String} value
|
|
410
|
-
* @returns {String}
|
|
411
|
-
*/
|
|
412
25
|
export declare const currencyBR: (value: number | string) => string;
|
|
413
|
-
/**
|
|
414
|
-
* Converte um nome para as primeiras em maiúsculas, exceto as partes
|
|
415
|
-
* que normalmente continuam em minúsculas, tipo "de", "dos" etc.
|
|
416
|
-
*
|
|
417
|
-
* @example
|
|
418
|
-
* upperFirst('jose claudio medeiros de lima') // -> Jose Claudio Medeiros de Lima
|
|
419
|
-
* upperFirst('JOSE CLAUDIO MEDEIROS DE LIMA') // -> Jose Claudio Medeiros de Lima
|
|
420
|
-
* upperFirst('JoSe cLaUdIo MeDeIrOs De LiMa') // -> Jose Claudio Medeiros de Lima
|
|
421
|
-
*
|
|
422
|
-
* @param {String} value
|
|
423
|
-
* @returns {String}
|
|
424
|
-
*
|
|
425
|
-
*/
|
|
426
26
|
export declare const upperFirst: (value: string) => string;
|
|
427
|
-
/**
|
|
428
|
-
* Reescreve um objeto aplicando um prefixo definido às suas chaves
|
|
429
|
-
*
|
|
430
|
-
* @example
|
|
431
|
-
* const original = {
|
|
432
|
-
* name: 'ze',
|
|
433
|
-
* age: 23
|
|
434
|
-
* }
|
|
435
|
-
*
|
|
436
|
-
* prefixObjectKeys( original, 'people.*.' )
|
|
437
|
-
* // ->
|
|
438
|
-
* {
|
|
439
|
-
* 'people.*.name': 'ze',
|
|
440
|
-
* 'people.*.age': 23,
|
|
441
|
-
* }
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
* @param {Object} obj Objecto original
|
|
445
|
-
* @param {String} prefix Prefixo que será aplicado
|
|
446
|
-
*/
|
|
447
27
|
export declare function prefixObjectKeys(obj: any, prefix?: string): any;
|
|
448
|
-
/**
|
|
449
|
-
* objectFlat()
|
|
450
|
-
* Recebe um objeto e o transforma em uma versão plana, com suas chaves
|
|
451
|
-
* multinível unidas por um ponto.
|
|
452
|
-
*
|
|
453
|
-
* @link https://stackoverflow.com/a/34514143/3240078
|
|
454
|
-
*
|
|
455
|
-
* @example
|
|
456
|
-
*
|
|
457
|
-
* const obj = {
|
|
458
|
-
* name: 'claudio'
|
|
459
|
-
* address: { street': 'Monkey St.' }
|
|
460
|
-
* }
|
|
461
|
-
*
|
|
462
|
-
* objectFlat( obj )
|
|
463
|
-
* // -> { name: 'claudio', 'address.street': 'Monkey St.' }
|
|
464
|
-
*
|
|
465
|
-
* objectFlat( obj, '_' )
|
|
466
|
-
* // -> { name: 'claudio', address_street: 'Monkey St.' }
|
|
467
|
-
*
|
|
468
|
-
* objectFlat( {name:'ze', info:{age:null}}, '_' )
|
|
469
|
-
* // -> { name: 'claudio', address_street: 'Monkey St.' }
|
|
470
|
-
*
|
|
471
|
-
* objectFlat( {name:'ze', info:{age:null}}, '_' )
|
|
472
|
-
* // -> { name: 'ze', info_age: null }
|
|
473
|
-
*
|
|
474
|
-
* objectFlat( {name:'ze', info:{age:null}}, '_' )
|
|
475
|
-
* // -> { name: 'ze', info_age: null }
|
|
476
|
-
*
|
|
477
|
-
* objectFlat({ birth: new Date('1982-07-31'), address: { number: null, } }, '_')
|
|
478
|
-
* // -> { birth: new Date('1982-07-31'), address_number: null }
|
|
479
|
-
*
|
|
480
|
-
* @param {Object} obj
|
|
481
|
-
* @param {String} separator Default "."
|
|
482
|
-
* @returns {Object}
|
|
483
|
-
*/
|
|
484
28
|
export declare function objectFlat(obj: Record<string, any>, separator?: string): Record<string, any>;
|
|
485
|
-
/**
|
|
486
|
-
* Mantém somente as chaves do objeto que estão na lista branca
|
|
487
|
-
*
|
|
488
|
-
* @example
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
* const address = {
|
|
492
|
-
* id: 1,
|
|
493
|
-
* description: 'decrição',
|
|
494
|
-
* city_id: 123,
|
|
495
|
-
* city: {
|
|
496
|
-
* id: 123,
|
|
497
|
-
* name: 'açu'
|
|
498
|
-
* }
|
|
499
|
-
* }
|
|
500
|
-
*
|
|
501
|
-
* whiteList(address, ['id', 'description', 'city_id'])
|
|
502
|
-
* // -> { id: 1, description: 'decrição', city_id: 123 }
|
|
503
|
-
*
|
|
504
|
-
* whiteList([address, address], ['id', 'description'])
|
|
505
|
-
* // -> [
|
|
506
|
-
* { id: 1, description: 'decrição' },
|
|
507
|
-
* { id: 1, description: 'decrição' }
|
|
508
|
-
* ]
|
|
509
|
-
*
|
|
510
|
-
* @param {Object|Array} obj Objeto inicial. Se for array, aplica um loop aos elementos
|
|
511
|
-
* @param {Array} keys Lista de chaves permitidas
|
|
512
|
-
*/
|
|
513
29
|
export declare const whiteList: (obj: any | any[], keys: any[]) => any;
|
|
514
|
-
/**
|
|
515
|
-
* Substitui os caracteres acentuados por semelhantes não acentuados respeitando
|
|
516
|
-
* maiúsculas e minúsculas
|
|
517
|
-
*
|
|
518
|
-
* @example
|
|
519
|
-
* removeAccent('Açu') // -> Acu
|
|
520
|
-
*
|
|
521
|
-
* @param value
|
|
522
|
-
* @returns
|
|
523
|
-
*/
|
|
524
30
|
export declare const removeAccent: (value: string) => string;
|
|
525
|
-
/**
|
|
526
|
-
* randomNumber()
|
|
527
|
-
* Cria um número aleatório com o número de caracteres
|
|
528
|
-
*
|
|
529
|
-
* @example
|
|
530
|
-
* randomNumber(8, true) // -> 00083159
|
|
531
|
-
* randomNumber(4) // -> 831
|
|
532
|
-
*
|
|
533
|
-
* @param {Integer} length
|
|
534
|
-
* @param {Boolean} forceLength Adiciona zeros à esquerda para ter os números de caractes exatos
|
|
535
|
-
* @returns {String}
|
|
536
|
-
*/
|
|
537
31
|
export declare function randomNumber(length: number, forceLength?: boolean): number | string;
|
|
538
|
-
/**
|
|
539
|
-
* Limpa um número informado, retirando caracteres diferentes de números,
|
|
540
|
-
* preenchendo com zeros à esquerda se for menor que o tamanho exato e
|
|
541
|
-
* removendo uma parte do número se for maior que tamanho definido.
|
|
542
|
-
*
|
|
543
|
-
* 1) Retira caracteres não-numéricos
|
|
544
|
-
* 2) Preenche com zeros à esquerda se 'value' for menor que 'length'
|
|
545
|
-
* 3) Remove caracteres à direita se 'value' for maior que 'length'
|
|
546
|
-
*
|
|
547
|
-
* @example
|
|
548
|
-
* clearNumber(12345-6, 6) // -> 123456
|
|
549
|
-
* clearNumber(12345678, 3) // -> 123
|
|
550
|
-
* clearNumber(12345, 10) // -> 0000001234
|
|
551
|
-
*
|
|
552
|
-
* @param {Number|String} value
|
|
553
|
-
* @param {Number} length Tamanho exato. Se for null, só retira os caracteres não-numéricos
|
|
554
|
-
* @returns {String} Número com o tamanho exato
|
|
555
|
-
*/
|
|
556
32
|
export declare function clearNumber(value: string | number, length?: number | null): string;
|
|
557
|
-
/**
|
|
558
|
-
* Limpa os valores falsy do objeto informado
|
|
559
|
-
*
|
|
560
|
-
* @example
|
|
561
|
-
* clearFalsy({ id:1, age:'0', idade: 'NaN', birth: '' }); // -> { id: 1 }
|
|
562
|
-
*
|
|
563
|
-
* @param {Object} value
|
|
564
|
-
* @returns {Object} Objeto sem os valores
|
|
565
|
-
*/
|
|
566
33
|
export declare function clearFalsy(value: Record<string, any>): Record<string, any>;
|
|
567
|
-
/**
|
|
568
|
-
* insertAtPosition()
|
|
569
|
-
* Insere um conjunto de caracteres em um local específico de uma string
|
|
570
|
-
*
|
|
571
|
-
* @example
|
|
572
|
-
* insertAtPosition('AAABBB', 'C', 3) // -> AAACBBB
|
|
573
|
-
* insertAtPosition('000011122223445555', 99, 7) // -> 00001119922223445555
|
|
574
|
-
*
|
|
575
|
-
* @param {String} value Valor original
|
|
576
|
-
* @param {String|Number} insertValue Valor que será inserido
|
|
577
|
-
* @param {Number} position Posição que receberá o novo valor
|
|
578
|
-
* @returns {String}
|
|
579
|
-
*
|
|
580
|
-
*/
|
|
581
34
|
export declare function insertAtPosition(value: string, insertValue: string | number, position: number): string;
|
|
582
|
-
/**
|
|
583
|
-
* removeFromPosition()
|
|
584
|
-
* Retira um conjunto de caracteres de um local específico de uma string
|
|
585
|
-
*
|
|
586
|
-
* @example
|
|
587
|
-
* removeFromPosition('00001119922223445555', 7,9) // -> 000011122223445555
|
|
588
|
-
* removeFromPosition('AAACBBB', 3,4) // -> AAABBB
|
|
589
|
-
*
|
|
590
|
-
* @param {String|Number} value Valor original
|
|
591
|
-
* @param {String|Number} startPosition
|
|
592
|
-
* @param {String|Number} endPosition
|
|
593
|
-
* @returns {String}
|
|
594
|
-
*
|
|
595
|
-
*/
|
|
596
35
|
export declare function removeFromPosition(value: string, startPosition: number, endPosition: number): string;
|
|
597
|
-
/**
|
|
598
|
-
* applyVars()
|
|
599
|
-
* Aplica variáveis a um texto
|
|
600
|
-
*
|
|
601
|
-
* @example
|
|
602
|
-
* const values = { id: 1, name: 'claudio', age: 39, email: 'email@mail.com' }
|
|
603
|
-
*
|
|
604
|
-
* applyVars('Olá, :name. Seu e-mail ainda é :email?', values)
|
|
605
|
-
* applyVars('Olá, {name}. Seu e-mail ainda é {email}?', values, { start: '{', end: '}' })
|
|
606
|
-
* applyVars('Olá, {{name}}. Seu e-mail ainda é {{email}}?', values, { start: '{{', end: '}}'})
|
|
607
|
-
*
|
|
608
|
-
* @param {String} text
|
|
609
|
-
* @param {Object} vars
|
|
610
|
-
* @param {ApplyVarsOptions} options
|
|
611
|
-
*/
|
|
612
36
|
export declare function applyVars(value: string, vars: Record<string, any>, options?: Partial<ApplyVarsOptions>): string;
|
|
613
|
-
/**
|
|
614
|
-
* Remove specialChars
|
|
615
|
-
*/
|
|
616
37
|
export declare function removeSpecialChars(value: string): string;
|
|
617
|
-
/**
|
|
618
|
-
* applyMask()
|
|
619
|
-
* Aplica uma máscara a uma string
|
|
620
|
-
*
|
|
621
|
-
* @example
|
|
622
|
-
* applyMask('59650000', '00.000-000') // -> 59.650-000
|
|
623
|
-
* applyMask('99877665544', '(00) 0 0000-0000') // -> (99) 8 7766-5544
|
|
624
|
-
*
|
|
625
|
-
* @param {String|Number} value Valor original
|
|
626
|
-
* @param {String} mask
|
|
627
|
-
* @returns {String}
|
|
628
|
-
*
|
|
629
|
-
*/
|
|
630
38
|
export declare function applyMask(value: string | number, mask: string): string;
|
|
631
|
-
/**
|
|
632
|
-
* randomLetter()
|
|
633
|
-
* Pega uma letra maiúscula aleatoriamente
|
|
634
|
-
*
|
|
635
|
-
* @example
|
|
636
|
-
* randomLetter() // -> A
|
|
637
|
-
* randomLetter() // -> S
|
|
638
|
-
*
|
|
639
|
-
* @returns {String}
|
|
640
|
-
*/
|
|
641
39
|
export declare function randomLetter(): string;
|
|
642
|
-
/**
|
|
643
|
-
* Exibe uma quantidade como string numérica
|
|
644
|
-
*
|
|
645
|
-
* @example
|
|
646
|
-
* quantity(0, 'mensagens', 'mensagem', 'nenhuma mensagem') // nenhuma mensagem
|
|
647
|
-
* quantity(0, 'mensagens', 'mensagem', null) // 0 mensagem
|
|
648
|
-
* quantity(1, 'mensagens', 'mensagem', 'nenhuma mensagem') // 1 mensagem
|
|
649
|
-
* quantity(2, 'mensagens', 'mensagem', 'nenhuma mensagem') // 2 mensagens
|
|
650
|
-
*
|
|
651
|
-
* @param {Number|'String} A quantidade
|
|
652
|
-
* @param {String} Sufixo que será usado quando a quantidade for mais de um
|
|
653
|
-
* @param {String} Sufixo que será usado quando a quantidade for 1
|
|
654
|
-
* @param {String|Null} Texto usado quando a quantidade for zero. Se estiver em branco,
|
|
655
|
-
* será usado o sufixo individual
|
|
656
|
-
*
|
|
657
|
-
* @return {String} Texto contendo as variações
|
|
658
|
-
*/
|
|
659
40
|
export declare const quantity: (qty: number | string, suffixMany: string, suffixOne: string, textEmpty: string | null) => string;
|
|
660
|
-
/**
|
|
661
|
-
* Converte bytes em um de seus múltiplos.
|
|
662
|
-
*
|
|
663
|
-
* @example
|
|
664
|
-
* filesize(null) // -> 0 Kb
|
|
665
|
-
* filesize('') // -> 0 Kb
|
|
666
|
-
* filesize(12354353) // -> 11 mb
|
|
667
|
-
*
|
|
668
|
-
* @param {Number} bytes
|
|
669
|
-
* @return {String} Valor convertido para kb, mb etc
|
|
670
|
-
*/
|
|
671
41
|
export declare const filesize: (bytes: number | string) => string;
|
|
672
|
-
/**
|
|
673
|
-
* Ordena um array de objetos a partir de uma chave
|
|
674
|
-
*
|
|
675
|
-
* sortByKey( [{name: 'marta'}, {name: 'claudio'}, {name: 'isa'}], 'name' )
|
|
676
|
-
* // -> [ {name: 'claudio',}, {name: 'isa',}, {name: 'marta',} ]
|
|
677
|
-
*
|
|
678
|
-
* @param {Object[]} list
|
|
679
|
-
*/
|
|
680
42
|
export declare const sortByKey: (list: Array<Record<string, any>>, key: any) => Record<string, any>[];
|
|
681
|
-
/**
|
|
682
|
-
*
|
|
683
|
-
* Converte um valor boolean, analisando seu conteúdo, mesmo que seja uma string.
|
|
684
|
-
* Se for um valor possivelmente falsy, converte para falsy
|
|
685
|
-
*
|
|
686
|
-
* @example
|
|
687
|
-
* toBoolean("a"); // -> true
|
|
688
|
-
* toBoolean(1); // -> true
|
|
689
|
-
* toBoolean("true"); // -> true
|
|
690
|
-
* toBoolean("0"); // -> false
|
|
691
|
-
* toBoolean(0); // -> false
|
|
692
|
-
* toBoolean("false"); // -> false
|
|
693
|
-
* toBoolean(false); // -> false
|
|
694
|
-
* toBoolean(""); // -> false
|
|
695
|
-
* toBoolean("undefined"); // -> false
|
|
696
|
-
* toBoolean(undefined); // -> false
|
|
697
|
-
* toBoolean("NaN"); // -> false
|
|
698
|
-
* toBoolean(NaN); // -> false
|
|
699
|
-
* toBoolean("null"); // -> false
|
|
700
|
-
* toBoolean(null); // -> false
|
|
701
|
-
*
|
|
702
|
-
* @param {*} value
|
|
703
|
-
* @returns {Boolean}
|
|
704
|
-
*/
|
|
705
43
|
export declare function toBoolean(value: any): boolean;
|
|
706
|
-
/**
|
|
707
|
-
*
|
|
708
|
-
* Gera um UUID V4 ordenável, usando a data atual como base
|
|
709
|
-
*
|
|
710
|
-
*/
|
|
711
44
|
export declare function timeUUID(): string;
|
|
712
45
|
export {};
|
|
713
46
|
//# sourceMappingURL=main.d.ts.map
|