micromark-util-events-to-acorn
micromark utility to try and parse events with acorn.
Contents
Install
This package is ESM only.
In Node.js (version 16+), install with npm:
npm install micromark-util-events-to-acorn
In Deno with esm.sh
:
import {eventsToAcorn} from 'https://esm.sh/micromark-util-events-to-acorn@2'
In browsers with esm.sh
:
<script type="module">
import {eventsToAcorn} from 'https://esm.sh/micromark-util-events-to-acorn@2?bundle'
</script>
Use
import {eventsToAcorn} from 'micromark-util-events-to-acorn'
function factoryMdxExpression(effects, ok, nok) {
return start
const result = eventsToAcorn(this.events.slice(eventStart), {
acorn,
acornOptions,
start: pointStart,
expression: true,
allowEmpty,
prefix: spread ? '({' : '',
suffix: spread ? '})' : ''
})
}
API
This module exports the identifier eventsToAcorn
.
There is no default export.
The export map supports the 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
(Options
)
— configuration (required)
Returns
Result (Result
).
Options
Configuration (TypeScript type).
Fields
acorn
(Acorn
, required)
— typically acorn
, object with parse
and parseExpressionAt
fieldstokenTypes
(Array<TokenType>
], required)
— names of (void) tokens to consider as data; 'lineEnding'
is always
includedacornOptions
(AcornOptions
, optional)
— configuration for acorn
start
(Point
, optional, required if allowEmpty
)
— place where events startprefix
(string
, default: ''
)
— text to place before eventssuffix
(string
, default: ''
)
— text to place after eventsexpression
(boolean
, default: false
)
— whether this is a program or expressionallowEmpty
(boolean
, default: false
)
— whether an empty expression is allowed (programs are always allowed to be
empty)
Result
Result (TypeScript type).
Fields
estree
(Program
or undefined
)
— Programerror
(Error
or undefined
)
— error if unparseableswallow
(boolean
)
— whether the error, if there is one, can be swallowed and more JavaScript
could be valid
Types
This package is fully typed with TypeScript.
It exports the additional types Acorn
,
AcornOptions
, Options
, and
Result
.
Compatibility
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
micromark-util-events-to-acorn@^2
, compatible with Node.js 16.
This package works with micromark
version 3
and later.
Security
This package is safe.
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.
License
MIT © Titus Wormer