Sha256: 246c23a235d25b9641e2e980c27115d48ff680a6ad29b9d9226c3ef0a2d76fd3

Contents?: true

Size: 763 Bytes

Versions: 43

Compression:

Stored size: 763 Bytes

Contents

/**
 * @fileoverview Interpolate keys from an object into a string with {{ }} markers.
 * @author Jed Fox
 */

"use strict";

//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------

module.exports = (text, data) => {
    if (!data) {
        return text;
    }

    // Substitution content for any {{ }} markers.
    return text.replace(/\{\{([^{}]+?)\}\}/g, (fullMatch, termWithWhitespace) => {
        const term = termWithWhitespace.trim();

        if (term in data) {
            return data[term];
        }

        // Preserve old behavior: If parameter name not provided, don't replace it.
        return fullMatch;
    });
};

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
govuk_publishing_components-16.19.0 node_modules/standard/node_modules/eslint/lib/util/interpolate.js
govuk_publishing_components-16.18.0 node_modules/standard/node_modules/eslint/lib/util/interpolate.js
govuk_publishing_components-16.17.0 node_modules/standard/node_modules/eslint/lib/util/interpolate.js