Browse Source

Implementation.

Adapted from https://gist.github.com/0i0/1519811.
Herbert Vojčík 7 years ago
parent
commit
97d1c530be
2 changed files with 39 additions and 0 deletions
  1. 25 0
      lib/node.js
  2. 14 0
      src/node.js

+ 25 - 0
lib/node.js

@@ -0,0 +1,25 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+    value: true
+});
+
+exports.default = function (str) {
+    return function () {
+        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+            args[_key] = arguments[_key];
+        }
+
+        return str.replace(/\{\{|\}\}|\{(\d+)\}/g, function (curlyBrack, index) {
+            switch (curlyBrack) {
+                case "{{":
+                    return "{";
+                case "}}":
+                    return "}";
+                default:
+                    var val = args[index];
+                    return val == null ? "" : val;
+            }
+        });
+    };
+};

+ 14 - 0
src/node.js

@@ -0,0 +1,14 @@
+'use strict';
+
+export default str => (...args) =>
+    str.replace(/\{\{|\}\}|\{(\d+)\}/g, (curlyBrack, index) => {
+        switch (curlyBrack) {
+            case "{{":
+                return "{";
+            case "}}":
+                return "}";
+            default:
+                const val = args[index];
+                return val == null ? "" : val;
+        }
+    });