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

@rimiti/stimmy

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rimiti/stimmy - npm Package Compare versions

Comparing version 1.3.0 to 1.4.0

37

dist/index.js

@@ -7,18 +7,29 @@ 'use strict';

exports.default = (value, items) => {
if (typeof value === 'string' && items instanceof Array) {
// $FlowFixMe: Flow doesn't understand computed values
return value.replace(/({\d})/g, i => items[i.replace(/{/, '').replace(/}/, '')]);
} else if (typeof value === 'string' && items instanceof Object) {
return value.replace(/({([^}]+)})/g, i => {
const key = i.replace(/{/, '').replace(/}/, '');
exports.default = function (start = '{', end = '}') {
// remove RegExp specials
const theStart = start.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
const theEnd = end.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
const arrayReg = new RegExp(`(${theStart}(.+?)${theEnd})`, 'g');
const objectReg = new RegExp(`(${theStart}([^}]+)${theEnd})`, 'g');
const startReg = new RegExp(`${theStart}`, 'g');
const endReg = new RegExp(`${theEnd}`, 'g');
return (value, items) => {
if (typeof value === 'string' && items instanceof Array) {
// $FlowFixMe: Flow doesn't understand computed values
if (!items[key]) return i;
return items[key];
});
}
return value;
return value.replace(arrayReg, i => items[i.replace(startReg, '').replace(endReg, '')]);
} else if (typeof value === 'string' && items instanceof Object) {
return value.replace(objectReg, i => {
const key = i.replace(startReg, '').replace(endReg, '');
// $FlowFixMe: Flow doesn't understand computed values
if (!items[key]) return i;
return items[key];
});
}
return value;
};
};
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJ2YWx1ZSIsIml0ZW1zIiwiQXJyYXkiLCJyZXBsYWNlIiwiaSIsIk9iamVjdCIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2tCQUNlLENBQUNBLEtBQUQsRUFBZ0JDLEtBQWhCLEtBQXlEO0FBQ3RFLE1BQUksT0FBT0QsS0FBUCxLQUFpQixRQUFqQixJQUE2QkMsaUJBQWlCQyxLQUFsRCxFQUF5RDtBQUN2RDtBQUNBLFdBQU9GLE1BQU1HLE9BQU4sQ0FBYyxTQUFkLEVBQTBCQyxDQUFELElBQU9ILE1BQU1HLEVBQUVELE9BQUYsQ0FBVSxHQUFWLEVBQWUsRUFBZixFQUFtQkEsT0FBbkIsQ0FBMkIsR0FBM0IsRUFBZ0MsRUFBaEMsQ0FBTixDQUFoQyxDQUFQO0FBQ0QsR0FIRCxNQUdPLElBQUksT0FBT0gsS0FBUCxLQUFpQixRQUFqQixJQUE2QkMsaUJBQWlCSSxNQUFsRCxFQUEwRDtBQUMvRCxXQUFPTCxNQUFNRyxPQUFOLENBQWMsY0FBZCxFQUErQkMsQ0FBRCxJQUFPO0FBQzFDLFlBQU1FLE1BQU1GLEVBQUVELE9BQUYsQ0FBVSxHQUFWLEVBQWUsRUFBZixFQUFtQkEsT0FBbkIsQ0FBMkIsR0FBM0IsRUFBZ0MsRUFBaEMsQ0FBWjtBQUNBO0FBQ0EsVUFBSSxDQUFDRixNQUFNSyxHQUFOLENBQUwsRUFBaUIsT0FBT0YsQ0FBUDtBQUNqQixhQUFPSCxNQUFNSyxHQUFOLENBQVA7QUFDRCxLQUxNLENBQVA7QUFNRDtBQUNELFNBQU9OLEtBQVA7QUFDRCxDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmV4cG9ydCBkZWZhdWx0ICh2YWx1ZTogc3RyaW5nLCBpdGVtczogQXJyYXk8bWl4ZWQ+IHwgT2JqZWN0KTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgaXRlbXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIC8vICRGbG93Rml4TWU6IEZsb3cgZG9lc24ndCB1bmRlcnN0YW5kIGNvbXB1dGVkIHZhbHVlc1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8oe1xcZH0pL2csIChpKSA9PiBpdGVtc1tpLnJlcGxhY2UoL3svLCAnJykucmVwbGFjZSgvfS8sICcnKV0pO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgaXRlbXMgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvKHsoW159XSspfSkvZywgKGkpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IGkucmVwbGFjZSgvey8sICcnKS5yZXBsYWNlKC99LywgJycpO1xuICAgICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IHVuZGVyc3RhbmQgY29tcHV0ZWQgdmFsdWVzXG4gICAgICBpZiAoIWl0ZW1zW2tleV0pIHJldHVybiBpO1xuICAgICAgcmV0dXJuIGl0ZW1zW2tleV07XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJzdGFydCIsImVuZCIsInRoZVN0YXJ0IiwicmVwbGFjZSIsInRoZUVuZCIsImFycmF5UmVnIiwiUmVnRXhwIiwib2JqZWN0UmVnIiwic3RhcnRSZWciLCJlbmRSZWciLCJ2YWx1ZSIsIml0ZW1zIiwiQXJyYXkiLCJpIiwiT2JqZWN0Iiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7a0JBQ2UsVUFBVUEsUUFBZ0IsR0FBMUIsRUFBK0JDLE1BQWMsR0FBN0MsRUFBNEQ7QUFDekU7QUFDQSxRQUFNQyxXQUFXRixNQUFNRyxPQUFOLENBQWMsMEJBQWQsRUFBMEMsTUFBMUMsQ0FBakI7QUFDQSxRQUFNQyxTQUFTSCxJQUFJRSxPQUFKLENBQVksMEJBQVosRUFBd0MsTUFBeEMsQ0FBZjs7QUFFQSxRQUFNRSxXQUFXLElBQUlDLE1BQUosQ0FBWSxJQUFHSixRQUFTLFFBQU9FLE1BQU8sR0FBdEMsRUFBMEMsR0FBMUMsQ0FBakI7QUFDQSxRQUFNRyxZQUFZLElBQUlELE1BQUosQ0FBWSxJQUFHSixRQUFTLFVBQVNFLE1BQU8sR0FBeEMsRUFBNEMsR0FBNUMsQ0FBbEI7QUFDQSxRQUFNSSxXQUFXLElBQUlGLE1BQUosQ0FBWSxHQUFFSixRQUFTLEVBQXZCLEVBQTBCLEdBQTFCLENBQWpCO0FBQ0EsUUFBTU8sU0FBUyxJQUFJSCxNQUFKLENBQVksR0FBRUYsTUFBTyxFQUFyQixFQUF3QixHQUF4QixDQUFmOztBQUVBLFNBQU8sQ0FBQ00sS0FBRCxFQUFnQkMsS0FBaEIsS0FBeUQ7QUFDOUQsUUFBSSxPQUFPRCxLQUFQLEtBQWlCLFFBQWpCLElBQTZCQyxpQkFBaUJDLEtBQWxELEVBQXlEO0FBQ3ZEO0FBQ0EsYUFBT0YsTUFBTVAsT0FBTixDQUFjRSxRQUFkLEVBQXlCUSxDQUFELElBQU9GLE1BQU1FLEVBQUVWLE9BQUYsQ0FBVUssUUFBVixFQUFvQixFQUFwQixFQUF3QkwsT0FBeEIsQ0FBZ0NNLE1BQWhDLEVBQXdDLEVBQXhDLENBQU4sQ0FBL0IsQ0FBUDtBQUNELEtBSEQsTUFHTyxJQUFJLE9BQU9DLEtBQVAsS0FBaUIsUUFBakIsSUFBNkJDLGlCQUFpQkcsTUFBbEQsRUFBMEQ7QUFDL0QsYUFBT0osTUFBTVAsT0FBTixDQUFjSSxTQUFkLEVBQTBCTSxDQUFELElBQU87QUFDckMsY0FBTUUsTUFBTUYsRUFBRVYsT0FBRixDQUFVSyxRQUFWLEVBQW9CLEVBQXBCLEVBQXdCTCxPQUF4QixDQUFnQ00sTUFBaEMsRUFBd0MsRUFBeEMsQ0FBWjtBQUNBO0FBQ0EsWUFBSSxDQUFDRSxNQUFNSSxHQUFOLENBQUwsRUFBaUIsT0FBT0YsQ0FBUDtBQUNqQixlQUFPRixNQUFNSSxHQUFOLENBQVA7QUFDRCxPQUxNLENBQVA7QUFNRDtBQUNELFdBQU9MLEtBQVA7QUFDRCxHQWJEO0FBY0QsQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoc3RhcnQ6IHN0cmluZyA9ICd7JywgZW5kOiBzdHJpbmcgPSAnfScpOiBGdW5jdGlvbiB7XG4gIC8vIHJlbW92ZSBSZWdFeHAgc3BlY2lhbHNcbiAgY29uc3QgdGhlU3RhcnQgPSBzdGFydC5yZXBsYWNlKC9bLVtcXF17fSgpKis/LixcXFxcXiR8I1xcc10vZywgJ1xcXFwkJicpO1xuICBjb25zdCB0aGVFbmQgPSBlbmQucmVwbGFjZSgvWy1bXFxde30oKSorPy4sXFxcXF4kfCNcXHNdL2csICdcXFxcJCYnKTtcblxuICBjb25zdCBhcnJheVJlZyA9IG5ldyBSZWdFeHAoYCgke3RoZVN0YXJ0fSguKz8pJHt0aGVFbmR9KWAsICdnJyk7XG4gIGNvbnN0IG9iamVjdFJlZyA9IG5ldyBSZWdFeHAoYCgke3RoZVN0YXJ0fShbXn1dKykke3RoZUVuZH0pYCwgJ2cnKTtcbiAgY29uc3Qgc3RhcnRSZWcgPSBuZXcgUmVnRXhwKGAke3RoZVN0YXJ0fWAsICdnJyk7XG4gIGNvbnN0IGVuZFJlZyA9IG5ldyBSZWdFeHAoYCR7dGhlRW5kfWAsICdnJyk7XG5cbiAgcmV0dXJuICh2YWx1ZTogc3RyaW5nLCBpdGVtczogQXJyYXk8bWl4ZWQ+IHwgT2JqZWN0KTogc3RyaW5nID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBpdGVtcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgdW5kZXJzdGFuZCBjb21wdXRlZCB2YWx1ZXNcbiAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKGFycmF5UmVnLCAoaSkgPT4gaXRlbXNbaS5yZXBsYWNlKHN0YXJ0UmVnLCAnJykucmVwbGFjZShlbmRSZWcsICcnKV0pO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBpdGVtcyBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2Uob2JqZWN0UmVnLCAoaSkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBpLnJlcGxhY2Uoc3RhcnRSZWcsICcnKS5yZXBsYWNlKGVuZFJlZywgJycpO1xuICAgICAgICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgdW5kZXJzdGFuZCBjb21wdXRlZCB2YWx1ZXNcbiAgICAgICAgaWYgKCFpdGVtc1trZXldKSByZXR1cm4gaTtcbiAgICAgICAgcmV0dXJuIGl0ZW1zW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xufVxuXG4iXX0=
{
"name": "@rimiti/stimmy",
"version": "1.3.0",
"version": "1.4.0",
"description": "Replace your string variables by your values easily.",

@@ -58,3 +58,3 @@ "license": "MIT",

"eslint-plugin-import": "~2.9.0",
"flow-bin": "~0.67.1",
"flow-bin": "~0.69.0",
"jest": "^22.4.2"

@@ -61,0 +61,0 @@ },

@@ -22,3 +22,3 @@ # stimmy

```
```bash
$ npm install stimmy --save

@@ -50,3 +50,11 @@ ```

```
**init pattern**
```javascript
// As default, use the {myVariable} pattern
const replacer = stimmy();
// If you want to customized default pattern (ex: {{myVariable}}
const replacer = stimmy('{{', '}}')
```
<a name="fromArray"/>

@@ -57,9 +65,9 @@

```javascript
const str = stimmy('This {0} is {1}!', ['module', 'awesome']);
// This module is awesome!
const str = replacer('This {0} is {1}!', ['module', 'awesome']);
// This module is awesome!
```
```javascript
const str = stimmy('{0}% of code coverage, it\'s {1}...', [100, 'so amazing']);
// 100% of code coverage, it's so amazing...
const str = replacer('{0}% of code coverage, it\'s {1}...', [100, 'so amazing']);
// 100% of code coverage, it's so amazing...
```

@@ -72,12 +80,11 @@

```javascript
const str = stimmy('{timmy} My hobby is {hobby}...', {timmy: 'Timmmmmmmyy !!', hobby: 'running'});
// Timmmmmmmyy !! My hobby is running...
const str = replacer('{timmy} My hobby is {hobby}...', {timmy: 'Timmmmmmmyy !!', hobby: 'running'});
// Timmmmmmmyy !! My hobby is running...
```
```javascript
const str = stimmy('My name is {name}, I\'m {age}.', {name: 'stimmy', age: 25});
// My name is stimmy, I'm 25.
const str = replacer('My name is {name}, I\'m {age}.', {name: 'stimmy', age: 25});
// My name is stimmy, I'm 25.
```
## Scripts

@@ -84,0 +91,0 @@

Sorry, the diff of this file is not supported yet

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