UNPKG

24.2 kBTypeScriptView Raw
1import _ = require("../index");
2declare module "../index" {
3 interface LoDashStatic {
4 /**
5 * Converts string to camel case.
6 *
7 * @param string The string to convert.
8 * @return Returns the camel cased string.
9 */
10 camelCase(string?: string): string;
11 }
12 interface LoDashImplicitWrapper<TValue> {
13 /**
14 * @see _.camelCase
15 */
16 camelCase(): string;
17 }
18 interface LoDashExplicitWrapper<TValue> {
19 /**
20 * @see _.camelCase
21 */
22 camelCase(): StringChain;
23 }
24
25 interface LoDashStatic {
26 /**
27 * Converts the first character of string to upper case and the remaining to lower case.
28 *
29 * @param string The string to capitalize.
30 * @return Returns the capitalized string.
31 */
32 capitalize(string?: string): string;
33 }
34 interface LoDashImplicitWrapper<TValue> {
35 /**
36 * @see _.capitalize
37 */
38 capitalize(): string;
39 }
40 interface LoDashExplicitWrapper<TValue> {
41 /**
42 * @see _.capitalize
43 */
44 capitalize(): StringChain;
45 }
46
47 interface LoDashStatic {
48 /**
49 * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining
50 * diacritical marks.
51 *
52 * @param string The string to deburr.
53 * @return Returns the deburred string.
54 */
55 deburr(string?: string): string;
56 }
57 interface LoDashImplicitWrapper<TValue> {
58 /**
59 * @see _.deburr
60 */
61 deburr(): string;
62 }
63 interface LoDashExplicitWrapper<TValue> {
64 /**
65 * @see _.deburr
66 */
67 deburr(): StringChain;
68 }
69
70 interface LoDashStatic {
71 /**
72 * Checks if string ends with the given target string.
73 *
74 * @param string The string to search.
75 * @param target The string to search for.
76 * @param position The position to search from.
77 * @return Returns true if string ends with target, else false.
78 */
79 endsWith(string?: string, target?: string, position?: number): boolean;
80 }
81 interface LoDashImplicitWrapper<TValue> {
82 /**
83 * @see _.endsWith
84 */
85 endsWith(target?: string, position?: number): boolean;
86 }
87 interface LoDashExplicitWrapper<TValue> {
88 /**
89 * @see _.endsWith
90 */
91 endsWith(target?: string, position?: number): PrimitiveChain<boolean>;
92 }
93
94 interface LoDashStatic {
95 /**
96 * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities.
97 *
98 * Note: No other characters are escaped. To escape additional characters use a third-party library like he.
99 *
100 * Though the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML
101 * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s
102 * article (under "semi-related fun fact") for more details.
103 *
104 * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59,
105 * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details.
106 *
107 * When working with HTML you should always quote attribute values to reduce XSS vectors.
108 *
109 * @param string The string to escape.
110 * @return Returns the escaped string.
111 */
112 escape(string?: string): string;
113 }
114 interface LoDashImplicitWrapper<TValue> {
115 /**
116 * @see _.escape
117 */
118 escape(): string;
119 }
120 interface LoDashExplicitWrapper<TValue> {
121 /**
122 * @see _.escape
123 */
124 escape(): StringChain;
125 }
126
127 interface LoDashStatic {
128 /**
129 * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]",
130 * "{", "}", and "|" in string.
131 *
132 * @param string The string to escape.
133 * @return Returns the escaped string.
134 */
135 escapeRegExp(string?: string): string;
136 }
137 interface LoDashImplicitWrapper<TValue> {
138 /**
139 * @see _.escapeRegExp
140 */
141 escapeRegExp(): string;
142 }
143 interface LoDashExplicitWrapper<TValue> {
144 /**
145 * @see _.escapeRegExp
146 */
147 escapeRegExp(): StringChain;
148 }
149
150 interface LoDashStatic {
151 /**
152 * Converts string to kebab case.
153 *
154 * @param string The string to convert.
155 * @return Returns the kebab cased string.
156 */
157 kebabCase(string?: string): string;
158 }
159 interface LoDashImplicitWrapper<TValue> {
160 /**
161 * @see _.kebabCase
162 */
163 kebabCase(): string;
164 }
165 interface LoDashExplicitWrapper<TValue> {
166 /**
167 * @see _.kebabCase
168 */
169 kebabCase(): StringChain;
170 }
171
172 interface LoDashStatic {
173 /**
174 * Converts `string`, as space separated words, to lower case.
175 *
176 * @param string The string to convert.
177 * @return Returns the lower cased string.
178 */
179 lowerCase(string?: string): string;
180 }
181 interface LoDashImplicitWrapper<TValue> {
182 /**
183 * @see _.lowerCase
184 */
185 lowerCase(): string;
186 }
187 interface LoDashExplicitWrapper<TValue> {
188 /**
189 * @see _.lowerCase
190 */
191 lowerCase(): StringChain;
192 }
193
194 interface LoDashStatic {
195 /**
196 * Converts the first character of `string` to lower case.
197 *
198 * @param string The string to convert.
199 * @return Returns the converted string.
200 */
201 lowerFirst<T extends string = string>(string?: T): Uncapitalize<T>;
202 }
203 interface LoDashImplicitWrapper<TValue> {
204 /**
205 * @see _.lowerFirst
206 */
207 lowerFirst(): TValue extends string ? Uncapitalize<TValue> : string;
208 }
209 interface LoDashExplicitWrapper<TValue> {
210 /**
211 * @see _.lowerFirst
212 */
213 lowerFirst(): StringChain<TValue extends string ? Uncapitalize<TValue> : string>;
214 }
215
216 interface LoDashStatic {
217 /**
218 * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if
219 * they can’t be evenly divided by length.
220 *
221 * @param string The string to pad.
222 * @param length The padding length.
223 * @param chars The string used as padding.
224 * @return Returns the padded string.
225 */
226 pad(string?: string, length?: number, chars?: string): string;
227 }
228 interface LoDashImplicitWrapper<TValue> {
229 /**
230 * @see _.pad
231 */
232 pad(length?: number, chars?: string): string;
233 }
234 interface LoDashExplicitWrapper<TValue> {
235 /**
236 * @see _.pad
237 */
238 pad(length?: number, chars?: string): StringChain;
239 }
240
241 interface LoDashStatic {
242 /**
243 * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed
244 * length.
245 *
246 * @param string The string to pad.
247 * @param length The padding length.
248 * @param chars The string used as padding.
249 * @return Returns the padded string.
250 */
251 padEnd(string?: string, length?: number, chars?: string): string;
252 }
253 interface LoDashImplicitWrapper<TValue> {
254 /**
255 * @see _.padEnd
256 */
257 padEnd(length?: number, chars?: string): string;
258 }
259 interface LoDashExplicitWrapper<TValue> {
260 /**
261 * @see _.padEnd
262 */
263 padEnd(length?: number, chars?: string): StringChain;
264 }
265
266 interface LoDashStatic {
267 /**
268 * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed
269 * length.
270 *
271 * @param string The string to pad.
272 * @param length The padding length.
273 * @param chars The string used as padding.
274 * @return Returns the padded string.
275 */
276 padStart(string?: string, length?: number, chars?: string): string;
277 }
278 interface LoDashImplicitWrapper<TValue> {
279 /**
280 * @see _.padStart
281 */
282 padStart(length?: number, chars?: string): string;
283 }
284 interface LoDashExplicitWrapper<TValue> {
285 /**
286 * @see _.padStart
287 */
288 padStart(length?: number, chars?: string): StringChain;
289 }
290
291 interface LoDashStatic {
292 /**
293 * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used
294 * unless value is a hexadecimal, in which case a radix of 16 is used.
295 *
296 * Note: This method aligns with the ES5 implementation of parseInt.
297 *
298 * @param string The string to convert.
299 * @param radix The radix to interpret value by.
300 * @return Returns the converted integer.
301 */
302 parseInt(string: string, radix?: number): number;
303 }
304 interface LoDashImplicitWrapper<TValue> {
305 /**
306 * @see _.parseInt
307 */
308 parseInt(radix?: number): number;
309 }
310 interface LoDashExplicitWrapper<TValue> {
311 /**
312 * @see _.parseInt
313 */
314 parseInt(radix?: number): PrimitiveChain<number>;
315 }
316
317 interface LoDashStatic {
318 /**
319 * Repeats the given string n times.
320 *
321 * @param string The string to repeat.
322 * @param n The number of times to repeat the string.
323 * @return Returns the repeated string.
324 */
325 repeat(string?: string, n?: number): string;
326 }
327 interface LoDashImplicitWrapper<TValue> {
328 /**
329 * @see _.repeat
330 */
331 repeat(n?: number): string;
332 }
333 interface LoDashExplicitWrapper<TValue> {
334 /**
335 * @see _.repeat
336 */
337 repeat(n?: number): StringChain;
338 }
339 type ReplaceFunction = (match: string, ...args: any[]) => string;
340
341 interface LoDashStatic {
342 /**
343 * Replaces matches for pattern in string with replacement.
344 *
345 * Note: This method is based on String#replace.
346 *
347 * @return Returns the modified string.
348 */
349 replace(string: string, pattern: RegExp | string, replacement: ReplaceFunction | string): string;
350 /**
351 * @see _.replace
352 */
353 replace(pattern: RegExp | string, replacement: ReplaceFunction | string): string;
354 }
355 interface LoDashImplicitWrapper<TValue> {
356 /**
357 * @see _.replace
358 */
359 replace(pattern: RegExp | string, replacement: ReplaceFunction | string): string;
360 /**
361 * @see _.replace
362 */
363 replace(replacement: ReplaceFunction | string): string;
364 }
365 interface LoDashExplicitWrapper<TValue> {
366 /**
367 * @see _.replace
368 */
369 replace(pattern: RegExp | string, replacement: ReplaceFunction | string): StringChain;
370 /**
371 * @see _.replace
372 */
373 replace(replacement: ReplaceFunction | string): StringChain;
374 }
375
376 interface LoDashStatic {
377 /**
378 * Converts string to snake case.
379 *
380 * @param string The string to convert.
381 * @return Returns the snake cased string.
382 */
383 snakeCase(string?: string): string;
384 }
385 interface LoDashImplicitWrapper<TValue> {
386 /**
387 * @see _.snakeCase
388 */
389 snakeCase(): string;
390 }
391 interface LoDashExplicitWrapper<TValue> {
392 /**
393 * @see _.snakeCase
394 */
395 snakeCase(): StringChain;
396 }
397
398 interface LoDashStatic {
399 /**
400 * Splits string by separator.
401 *
402 * Note: This method is based on String#split.
403 *
404 * @param string The string to split.
405 * @param separator The separator pattern to split by.
406 * @param limit The length to truncate results to.
407 * @return Returns the new array of string segments.
408 */
409 split(string: string | null | undefined, separator?: RegExp | string, limit?: number): string[];
410 /**
411 * @see _.split
412 */
413 split(string: string | null | undefined, index: string | number, guard: object): string[];
414 }
415 interface LoDashImplicitWrapper<TValue> {
416 /**
417 * @see _.split
418 */
419 split(separator?: RegExp | string, limit?: number): Collection<string>;
420 }
421 interface LoDashExplicitWrapper<TValue> {
422 /**
423 * @see _.split
424 */
425 split(separator?: RegExp | string, limit?: number): CollectionChain<string>;
426 }
427
428 interface LoDashStatic {
429 /**
430 * Converts string to start case.
431 *
432 * @param string The string to convert.
433 * @return Returns the start cased string.
434 */
435 startCase(string?: string): string;
436 }
437 interface LoDashImplicitWrapper<TValue> {
438 /**
439 * @see _.startCase
440 */
441 startCase(): string;
442 }
443 interface LoDashExplicitWrapper<TValue> {
444 /**
445 * @see _.startCase
446 */
447 startCase(): StringChain;
448 }
449
450 interface LoDashStatic {
451 /**
452 * Checks if string starts with the given target string.
453 *
454 * @param string The string to search.
455 * @param target The string to search for.
456 * @param position The position to search from.
457 * @return Returns true if string starts with target, else false.
458 */
459 startsWith(string?: string, target?: string, position?: number): boolean;
460 }
461 interface LoDashImplicitWrapper<TValue> {
462 /**
463 * @see _.startsWith
464 */
465 startsWith(target?: string, position?: number): boolean;
466 }
467 interface LoDashExplicitWrapper<TValue> {
468 /**
469 * @see _.startsWith
470 */
471 startsWith(target?: string, position?: number): PrimitiveChain<boolean>;
472 }
473
474 interface TemplateOptions extends TemplateSettings {
475 /**
476 * @see _.sourceURL
477 */
478 sourceURL?: string | undefined;
479 }
480 interface TemplateExecutor {
481 (data?: object): string;
482 /**
483 * @see _.source
484 */
485 source: string;
486 }
487 interface LoDashStatic {
488 /**
489 * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters,
490 * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate"
491 * delimiters. Data properties may be accessed as free variables in the template. If a setting object is
492 * provided it takes precedence over _.templateSettings values.
493 *
494 * Note: In the development build _.template utilizes
495 * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier
496 * debugging.
497 *
498 * For more information on precompiling templates see
499 * [lodash's custom builds documentation](https://lodash.com/custom-builds).
500 *
501 * For more information on Chrome extension sandboxes see
502 * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
503 *
504 * @param string The template string.
505 * @param options The options object.
506 * @param options.escape The HTML "escape" delimiter.
507 * @param options.evaluate The "evaluate" delimiter.
508 * @param options.imports An object to import into the template as free variables.
509 * @param options.interpolate The "interpolate" delimiter.
510 * @param options.sourceURL The sourceURL of the template's compiled source.
511 * @param options.variable The data object variable name.
512 * @return Returns the compiled template function.
513 */
514 template(string?: string, options?: TemplateOptions): TemplateExecutor;
515 }
516 interface LoDashImplicitWrapper<TValue> {
517 /**
518 * @see _.template
519 */
520 template(options?: TemplateOptions): TemplateExecutor;
521 }
522 interface LoDashExplicitWrapper<TValue> {
523 /**
524 * @see _.template
525 */
526 template(options?: TemplateOptions): FunctionChain<TemplateExecutor>;
527 }
528
529 interface LoDashStatic {
530 /**
531 * Converts `string`, as a whole, to lower case.
532 *
533 * @param string The string to convert.
534 * @return Returns the lower cased string.
535 */
536 toLower<T extends string = string>(string?: T): Lowercase<T>;
537 }
538 interface LoDashImplicitWrapper<TValue> {
539 /**
540 * @see _.toLower
541 */
542 toLower(): TValue extends string ? Lowercase<TValue> : string;
543 }
544 interface LoDashExplicitWrapper<TValue> {
545 /**
546 * @see _.toLower
547 */
548 toLower(): StringChain<TValue extends string ? Lowercase<TValue> : string>;
549 }
550
551 interface LoDashStatic {
552 /**
553 * Converts `string`, as a whole, to upper case.
554 *
555 * @param string The string to convert.
556 * @return Returns the upper cased string.
557 */
558 toUpper<T extends string = string>(string?: T): Uppercase<T>;
559 }
560 interface LoDashImplicitWrapper<TValue> {
561 /**
562 * @see _.toUpper
563 */
564 toUpper(): TValue extends string ? Uppercase<TValue> : string;
565 }
566 interface LoDashExplicitWrapper<TValue> {
567 /**
568 * @see _.toUpper
569 */
570 toUpper(): StringChain<TValue extends string ? Uppercase<TValue> : string>;
571 }
572
573 interface LoDashStatic {
574 /**
575 * Removes leading and trailing whitespace or specified characters from string.
576 *
577 * @param string The string to trim.
578 * @param chars The characters to trim.
579 * @return Returns the trimmed string.
580 */
581 trim(string?: string, chars?: string): string;
582 /**
583 * @see _.trim
584 */
585 trim(string: string, index: string | number, guard: object): string;
586 }
587 interface LoDashImplicitWrapper<TValue> {
588 /**
589 * @see _.trim
590 */
591 trim(chars?: string): string;
592 }
593 interface LoDashExplicitWrapper<TValue> {
594 /**
595 * @see _.trim
596 */
597 trim(chars?: string): StringChain;
598 }
599
600 interface LoDashStatic {
601 /**
602 * Removes trailing whitespace or specified characters from string.
603 *
604 * @param string The string to trim.
605 * @param chars The characters to trim.
606 * @return Returns the trimmed string.
607 */
608 trimEnd(string?: string, chars?: string): string;
609 /**
610 * @see _.trimEnd
611 */
612 trimEnd(string: string, index: string | number, guard: object): string;
613 }
614 interface LoDashImplicitWrapper<TValue> {
615 /**
616 * @see _.trimEnd
617 */
618 trimEnd(chars?: string): string;
619 }
620 interface LoDashExplicitWrapper<TValue> {
621 /**
622 * @see _.trimEnd
623 */
624 trimEnd(chars?: string): StringChain;
625 }
626
627 interface LoDashStatic {
628 /**
629 * Removes leading whitespace or specified characters from string.
630 *
631 * @param string The string to trim.
632 * @param chars The characters to trim.
633 * @return Returns the trimmed string.
634 */
635 trimStart(string?: string, chars?: string): string;
636 /**
637 * @see _.trimStart
638 */
639 trimStart(string: string, index: string | number, guard: object): string;
640 }
641 interface LoDashImplicitWrapper<TValue> {
642 /**
643 * @see _.trimStart
644 */
645 trimStart(chars?: string): string;
646 }
647 interface LoDashExplicitWrapper<TValue> {
648 /**
649 * @see _.trimStart
650 */
651 trimStart(chars?: string): StringChain;
652 }
653
654 interface TruncateOptions {
655 /**
656 * @see _.length
657 */
658 length?: number | undefined;
659 /**
660 * @see _.omission
661 */
662 omission?: string | undefined;
663 /**
664 * @see _.separator
665 */
666 separator?: string | RegExp | undefined;
667 }
668 interface LoDashStatic {
669 /**
670 * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated
671 * string are replaced with the omission string which defaults to "…".
672 *
673 * @param string The string to truncate.
674 * @param options The options object or maximum string length.
675 * @return Returns the truncated string.
676 */
677 truncate(string?: string, options?: TruncateOptions): string;
678 }
679 interface LoDashImplicitWrapper<TValue> {
680 /**
681 * @see _.truncate
682 */
683 truncate(options?: TruncateOptions): string;
684 }
685 interface LoDashExplicitWrapper<TValue> {
686 /**
687 * @see _.truncate
688 */
689 truncate(options?: TruncateOptions): StringChain;
690 }
691
692 interface LoDashStatic {
693 /**
694 * The inverse of _.escape; this method converts the HTML entities &amp;, &lt;, &gt;, &quot;, &#39;, and &#96;
695 * in string to their corresponding characters.
696 *
697 * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library
698 * like he.
699 *
700 * @param string The string to unescape.
701 * @return Returns the unescaped string.
702 */
703 unescape(string?: string): string;
704 }
705 interface LoDashImplicitWrapper<TValue> {
706 /**
707 * @see _.unescape
708 */
709 unescape(): string;
710 }
711 interface LoDashExplicitWrapper<TValue> {
712 /**
713 * @see _.unescape
714 */
715 unescape(): StringChain;
716 }
717
718 interface LoDashStatic {
719 /**
720 * Converts `string`, as space separated words, to upper case.
721 *
722 * @param string The string to convert.
723 * @return Returns the upper cased string.
724 */
725 upperCase(string?: string): string;
726 }
727 interface LoDashImplicitWrapper<TValue> {
728 /**
729 * @see _.upperCase
730 */
731 upperCase(): string;
732 }
733 interface LoDashExplicitWrapper<TValue> {
734 /**
735 * @see _.upperCase
736 */
737 upperCase(): StringChain;
738 }
739
740 interface LoDashStatic {
741 /**
742 * Converts the first character of `string` to upper case.
743 *
744 * @param string The string to convert.
745 * @return Returns the converted string.
746 */
747 upperFirst<T extends string = string>(string?: T): Capitalize<T>;
748 }
749 interface LoDashImplicitWrapper<TValue> {
750 /**
751 * @see _.upperFirst
752 */
753 upperFirst(): TValue extends string ? Capitalize<TValue> : string;
754 }
755 interface LoDashExplicitWrapper<TValue> {
756 /**
757 * @see _.upperFirst
758 */
759 upperFirst(): StringChain<TValue extends string ? Capitalize<TValue> : string>;
760 }
761
762 interface LoDashStatic {
763 /**
764 * Splits `string` into an array of its words.
765 *
766 * @param string The string to inspect.
767 * @param pattern The pattern to match words.
768 * @return Returns the words of `string`.
769 */
770 words(string?: string, pattern?: string | RegExp): string[];
771 /**
772 * @see _.words
773 */
774 words(string: string, index: string | number, guard: object): string[];
775 }
776 interface LoDashImplicitWrapper<TValue> {
777 /**
778 * @see _.words
779 */
780 words(pattern?: string | RegExp): Collection<string>;
781 }
782 interface LoDashExplicitWrapper<TValue> {
783 /**
784 * @see _.words
785 */
786 words(pattern?: string | RegExp): CollectionChain<string>;
787 }
788}