Expected Behavior / Situation
In postcss-values-parser v2, String(node) returns the string value of any Node. In postcss-values-parser v3, one must now use the nodeToString function to retrieve the string value. Worse yet, when a node is accidentally toString’d, an error is thrown!
I would prefers things work the same as they did in v2, as well as how they still do in PostCSS.
const ast = parse('#000 url(path/to/image.jpg)');
console.log(String(ast)); // "#000 url(path/to/image.jpg)"
console.log(String(ast.nodes[0])); // "#000"
And here is an example of the stringified behavior currently in PostCSS:
import postcss from 'postcss';
const ast = postcss.parse('selector { property-name: property-value; }');
console.log(String(ast.nodes[0].nodes[0])); // "property-name: property-value"
Actual Behavior / Situation
TypeError: this[node.type] is not a function
Modification Proposal
Remove the TypeError: this[node.type] is not a function error and default toString to work like nodeToString.
Expected Behavior / Situation
In postcss-values-parser v2,
String(node)returns the string value of anyNode. In postcss-values-parser v3, one must now use thenodeToStringfunction to retrieve the string value. Worse yet, when a node is accidentallytoString’d, an error is thrown!I would prefers things work the same as they did in v2, as well as how they still do in PostCSS.
And here is an example of the stringified behavior currently in PostCSS:
Actual Behavior / Situation
Modification Proposal
Remove the
TypeError: this[node.type] is not a functionerror and defaulttoStringto work likenodeToString.