Tool to read/write Gherkin feature files and work with Gherking AST
The parse
function can be used to parse feature file content to AST.
function parse(content: string, uri: string): Promise<Document>
In TypeScript:
import {parse, Document} from "gherkin-io";
import {TagFormat} from "gherkin-ast";
const document: Document = await parse(
"Feature: Test\n...",
"./features/test.feature",
{tagFormat: TagFormat.FUNCTIONAL} // default
);
In JavaScript:
const {parse} = require("gherkin-io");
const {TagFormat} = require("gherkin-ast");
const document = await read(
"Feature: Test\n...",
"./features/test.feature",
{tagFormat: TagFormat.FUNCTIONAL} // default
);
The read
function can be used to parse feature file(s) to AST.
function read(pattern: string): Promise<Document[]>
In TypeScript:
import {read, Document} from "gherkin-io";
import {TagFormat} from "gherkin-ast";
const documents: Document[] = await read(
"./features/*.feature",
{tagFormat: TagFormat.FUNCTIONAL} // default
);
In JavaScript:
const {read} = require("gherkin-io");
const {TagFormat} = require("gherkin-ast");
const documents = await read(
"./features/*.feature",
{tagFormat: TagFormat.FUNCTIONAL} // default
);
The write
function can be used to write an AST to a feature file.
function write(filePath: string, document: Document, options?: FormatterOptions): Promise<void>
In TypeScript:
import {Document, write, FormatterOptions} from "gherkin-io";
const document: Document = new Document(/*...*/);
const options: FormatterOptions = {/*...*/};
await write("./test.feature", document, options);
In JavaScript:
const {write, Document} = require("gherkin-io");
const document = new Document(/*...*/);
const options = {/*...*/};
await write("./test.feature", document, options);
FormatterOptions
is re-exported from gherkin-formatter.
For detailed documentation see the TypeDocs documentation.