1 | import Symbol from './_Symbol.js';
|
2 | import arrayMap from './_arrayMap.js';
|
3 | import isArray from './isArray.js';
|
4 | import isSymbol from './isSymbol.js';
|
5 |
|
6 |
|
7 | var INFINITY = 1 / 0;
|
8 |
|
9 |
|
10 | var symbolProto = Symbol ? Symbol.prototype : undefined,
|
11 | symbolToString = symbolProto ? symbolProto.toString : undefined;
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | function baseToString(value) {
|
22 |
|
23 | if (typeof value == 'string') {
|
24 | return value;
|
25 | }
|
26 | if (isArray(value)) {
|
27 |
|
28 | return arrayMap(value, baseToString) + '';
|
29 | }
|
30 | if (isSymbol(value)) {
|
31 | return symbolToString ? symbolToString.call(value) : '';
|
32 | }
|
33 | var result = (value + '');
|
34 | return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
35 | }
|
36 |
|
37 | export default baseToString;
|