Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

inks

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

inks

Interpolate values from a shared context into a string template.

  • 2.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
439
decreased by-35.54%
Maintainers
1
Weekly downloads
 
Created
Source

inks

Interpolate values from a shared context into a string template (or another object).

Substitutes sections of a string marked with `` by evaluating contents. As a convenience, the values can be referenced from a context object.

Used by seneca-msg-test to support back references to earlier test results.

npm version Build Coverage Status DeepScan grade Maintainability Dependency Status

Quick Example

const Inks = require('inks')

var out = Inks('`foo:bar`', {foo:{bar:'zed'}}) 
// out === 'zed'

out = Inks({deep:'`foo:bar`'}, {foo:{bar:'zed'}}) 
// out === {deep:'zed'}

out = Inks({deep:'`$.foo`'}, {foo:{bar:'zed'}}) 
// out === {deep:{bar:'zed'}}

Another example, where $ references the context object.

const context = { red: { foo: 1, bar: 'zed'}, green: { fizz: { buzz: 'FRED' }} }
const template = 'Lorem `red:foo` ipsum `$.red.foo + $.red.bar.length` dolor `green:fizz.buzz` sit \\` amet.'

const result = Inks(template, context)

// prints:
// Lorem 1 ipsum 4 dolor FRED sit ` amet.

Notes

  • Value reference syntax: key:dot-path.
  • General form: <js-expression> where $ === context.
  • Single values are not converted to a string and retain their type: red:foo -> 1 not '1'.
  • Anything that is not a number or string is converted to a string (if embedded) using JSON.stringify.
  • Escape backticks by prefixing with a backslash:
'a\\`b' -> 'a`b'

Questions?

@rjrodger

License

Copyright (c) 2018-2020, Richard Rodger and other contributors. Licensed under MIT.

Keywords

FAQs

Package last updated on 18 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc