README
micromark-util-events-to-acorn
micromark utility to try and parse events w/ acorn.
Contents
Install
npm:
npm install micromark-util-events-to-acorn
Use
import {eventsToAcorn} from 'micromark-util-events-to-acorn'
// A factory that uses the utility:
/** @type {Tokenizer} */
function factoryMdxExpression(effects, ok, nok) {
return start
// …
/** @type {State} */
atClosingBrace(code) {
// …
// Gnostic mode: parse w/ acorn.
const result = eventsToAcorn(
self.events.slice(eventStart),
acorn,
acornOptions,
{
start: startPosition,
expression: true,
allowEmpty,
prefix: spread ? '({' : '',
suffix: spread ? '})' : ''
}
)
// …
}
// …
}
API
This module exports the following identifiers: eventsToAcorn
.
There is no default export.
The export map supports the endorsed
development
condition.
Run node --conditions development module.js
to get instrumented dev code.
Without this condition, production code is loaded.
eventsToAcorn(events, options)
Parameters
events
(Array.<Event>
) — Eventsoptions.acorn
(Acorn
, required) — Object withacorn.parse
andacorn.parseExpressionAt
options.acornOptions
(AcornOptions
) — Configuration for acornoptions.start
(Point
, optional) — Place where events startoptions.prefix
(string
, default:''
) — Text to place before eventsoptions.suffix
(string
, default:''
) — Text to place after eventsoptions.expression
(boolean
, default:false
) — Whether this is a program or expressionoptions.allowEmpty
(boolean
, default:false
) — Whether an empty expression is allowed (programs are always allowed to be empty).
Returns
estree
(Program?
) — Estree nodeerror
(Error?
) — Error if unparseableswallow
(boolean
) — Whether the error, if there is one, can be swallowed and more JavaScript could be valid.
Security
See security.md
in micromark/.github
for how to
submit a security report.
Contribute
See contributing.md
in micromark/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.