estools / escodegen

ECMAScript code generator
BSD 2-Clause "Simplified" License
2.64k stars 334 forks source link

Cannot assign null values #428

Open michaelbukachi opened 3 years ago

michaelbukachi commented 3 years ago

Whenever I try to assign null values to expressions the following error is throw:

TypeError: Cannot read property 'toString' of undefined
    at generateRegExp (/Projects/Web/escodegen/node_modules/escodegen/escodegen.js:333:22)
    at generateExpression (/Projects/Web/escodegen/node_modules/escodegen/escodegen.js:1417:22)
    at generateStatement (/Projects/Web/escodegen/node_modules/escodegen/escodegen.js:1675:21)
    at Object.generate (/Projects/Web/escodegen/node_modules/escodegen/escodegen.js:2108:22)
    at Object.<anonymous> (/Projects/Web/escodegen/sample.js:2:26)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

Here's the sample code I'm using:

escodegen = require('escodegen')
const result = escodegen.generate({
    'type': 'VariableDeclarator',
    'id': {'type': 'Identifier', 'name': 'foo'},
    'init': {'type': 'Literal', 'raw': 'null'}});
console.log(result)

which is supposed to output:

const foo = null;

It seems a PR was opened in 2018 but was never merged (#380) I'm going to open a new one based of the latest commit.