1 | ;
|
2 |
|
3 | var deepMap = require('./../utils/collection/deepMap');
|
4 | var number = require('../utils/number');
|
5 |
|
6 | function factory(type, config, load, typed) {
|
7 | /**
|
8 | * Create a string or convert any object into a string.
|
9 | * Elements of Arrays and Matrices are processed element wise.
|
10 | *
|
11 | * Syntax:
|
12 | *
|
13 | * math.string(value)
|
14 | *
|
15 | * Examples:
|
16 | *
|
17 | * math.string(4.2) // returns string '4.2'
|
18 | * math.string(math.complex(3, 2) // returns string '3 + 2i'
|
19 | *
|
20 | * const u = math.unit(5, 'km')
|
21 | * math.string(u.to('m')) // returns string '5000 m'
|
22 | *
|
23 | * math.string([true, false]) // returns ['true', 'false']
|
24 | *
|
25 | * See also:
|
26 | *
|
27 | * bignumber, boolean, complex, index, matrix, number, unit
|
28 | *
|
29 | * @param {* | Array | Matrix | null} [value] A value to convert to a string
|
30 | * @return {string | Array | Matrix} The created string
|
31 | */
|
32 | var string = typed('string', {
|
33 | '': function _() {
|
34 | return '';
|
35 | },
|
36 |
|
37 | 'number': number.format,
|
38 |
|
39 | 'null': function _null(x) {
|
40 | return 'null';
|
41 | },
|
42 |
|
43 | 'boolean': function boolean(x) {
|
44 | return x + '';
|
45 | },
|
46 |
|
47 | 'string': function string(x) {
|
48 | return x;
|
49 | },
|
50 |
|
51 | 'Array | Matrix': function ArrayMatrix(x) {
|
52 | return deepMap(x, string);
|
53 | },
|
54 |
|
55 | 'any': function any(x) {
|
56 | return String(x);
|
57 | }
|
58 | });
|
59 |
|
60 | string.toTex = {
|
61 | 0: '\\mathtt{""}',
|
62 | 1: '\\mathrm{string}\\left(${args[0]}\\right)'
|
63 | };
|
64 |
|
65 | return string;
|
66 | }
|
67 |
|
68 | exports.name = 'string';
|
69 | exports.factory = factory; |
\ | No newline at end of file |