Downloads Version@npm Version@git CI Docs
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.