@ln-maf/core

3.0.0-beta.0 • Public • Published

MAF Core

This contains several helper methods that can be used by other packages.

npm package GitHub Actions Dependencies

performJSONObjectTransform - performs a transform on {jsonObject}

When a MAF method receives a json object from a file or some other area, the performJSONObjectTransform converts it appropriately. An example call with the MAFWhen command would be:

MAFWhen("run json path {string} on {jsonObject}", function (jPath, jsonObject) {
  var jp = require('jsonpath')
  var obj = performJSONObjectTransform.call(this, jsonObject)
  return jp.query(obj, jPath)
})

MAFWhen

Creates a Cucumber When, but the return value is stored in the lastRun value which can be accessed with the keyword it. Please see above for an example.

MAFSave

Saves an object to maf to be used by the json transform.

  MAFSave.call(this, "response", res.response)

readFile

Reads the file using the directory setup within maf or no directory if not set up. Uses this.results.directory

applyJSONToString - #deprecated

Converts a string to apply the fillTemplate

Fill template

Fills the template literals similar to how js would handle them. Allows use of template literal in a string. There are a couple of key differences with how they are processed by fillTemplate.

Usage

var {fillTemplate}=require('@ln-maf/core')
fillTemplate("Hello ${name}", { name: "World" })

For example:

fillTemplate("Hello ${name}", { name: "World" })

Would return:

Hello world

Additionally supports the method applyTemplateToJSON This iterates through the entire json object applying filter to each of them.

For Example:

var jsonObj={ hello: "${name}" }
applyTemplateToJSON(jsonObj, { name: "World" })

Would apply:

{
  "hello" : "World"
}

to the jsonObj.

Differences

All "${JS_COMMAND_HERE}" are replaced with ${JSON.stringify(command)}. This automatically escapes some characters to prevent invalid json within json files.

Package Sidebar

Install

npm i @ln-maf/core

Weekly Downloads

1,290

Version

3.0.0-beta.0

License

Apache-2.0

Unpacked Size

3.06 MB

Total Files

50

Last publish

Collaborators

  • martdo02
  • ejezisek