Socket
Socket
Sign inDemoInstall

regexp.prototype.flags

Package Overview
Dependencies
14
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.3.2 to 1.4.0

7

CHANGELOG.md

@@ -8,2 +8,9 @@ # Changelog

## [v1.4.0](https://github.com/es-shims/RegExp.prototype.flags/compare/v1.3.2...v1.4.0) - 2022-01-13
### Commits
- [Tests] use `available-regexp-flags` [`95af246`](https://github.com/es-shims/RegExp.prototype.flags/commit/95af2463f1373282087528f8566e20ffae26c3db)
- [New] add `hasIndices`/`d` flag [`89959ca`](https://github.com/es-shims/RegExp.prototype.flags/commit/89959ca1128ea48dcd0ec1416355264425fa3bc5)
## [v1.3.2](https://github.com/es-shims/RegExp.prototype.flags/compare/v1.3.1...v1.3.2) - 2022-01-13

@@ -10,0 +17,0 @@

3

implementation.js

@@ -11,2 +11,5 @@ 'use strict';

var result = '';
if (this.hasIndices) {
result += 'd';
}
if (this.global) {

@@ -13,0 +16,0 @@ result += 'g';

4

package.json
{
"name": "regexp.prototype.flags",
"version": "1.3.2",
"version": "1.4.0",
"author": "Jordan Harband <ljharb@gmail.com>",

@@ -50,5 +50,7 @@ "funding": {

"auto-changelog": "^2.3.0",
"available-regexp-flags": "^1.0.0",
"covert": "^1.1.1",
"eclint": "^2.8.1",
"eslint": "^8.6.0",
"foreach": "^2.0.5",
"functions-have-names": "^1.2.2",

@@ -55,0 +57,0 @@ "has": "^1.0.3",

@@ -6,9 +6,12 @@ 'use strict';

var forEach = require('foreach');
var availableFlags = require('available-regexp-flags');
var regexProperties = require('available-regexp-flags/properties');
var sortedFlags = availableFlags.slice().sort(function (a, b) { return a.localeCompare(b); }).join('');
var getRegexLiteral = function (stringRegex) {
try {
/* jshint evil: true */
/* eslint-disable no-new-func */
// eslint-disable-next-line no-new-func
return Function('return ' + stringRegex + ';')();
/* eslint-enable no-new-func */
/* jshint evil: false */
} catch (e) { /**/ }

@@ -25,20 +28,11 @@ return null;

t.test('sticky flag', { skip: !has(RegExp.prototype, 'sticky') }, function (st) {
st.equal(flags(getRegexLiteral('/a/y')), 'y', 'flags(/a/y) !== "y"');
st.equal(flags(new RegExp('a', 'y')), 'y', 'flags(new RegExp("a", "y")) !== "y"');
st.end();
forEach(availableFlags, function (flag) {
var property = regexProperties[flag];
t.test(property + ' flag', function (st) {
st.equal(flags(getRegexLiteral('/a/' + flag)), flag, 'flags(/a/' + flag + ') !== ' + inspect(flag));
st.equal(flags(new RegExp('a', flag)), flag, 'flags(new RegExp("a", ' + inspect(flag) + ')) !== ' + inspect(flag));
st.end();
});
});
t.test('unicode flag', { skip: !has(RegExp.prototype, 'unicode') }, function (st) {
st.equal(flags(getRegexLiteral('/a/u')), 'u', 'flags(/a/u) !== "u"');
st.equal(flags(new RegExp('a', 'u')), 'u', 'flags(new RegExp("a", "u")) !== "u"');
st.end();
});
t.test('dotAll flag', { skip: !has(RegExp.prototype, 'dotAll') }, function (st) {
st.equal(flags(getRegexLiteral('/a/s')), 's', 'flags(/a/s) !== "s"');
st.equal(flags(new RegExp('a', 's')), 's', 'flags(new RegExp("a", "s")) !== "s"');
st.end();
});
t.test('sorting', function (st) {

@@ -57,2 +51,10 @@ st.equal(flags(/a/gim), 'gim', 'flags(/a/gim) !== "gim"');

}
var randomFlags = availableFlags.slice().sort(function () { return Math.random() > 0.5 ? 1 : -1; }).join('');
st.equal(
flags(getRegexLiteral('/a/' + randomFlags)),
sortedFlags,
'random: flags(/a/' + randomFlags + ') === ' + inspect(sortedFlags)
);
st.end();

@@ -77,2 +79,8 @@ });

var obj = {};
forEach(availableFlags, function (flag) {
obj[regexProperties[flag]] = true;
});
st.equal(flags(obj), sortedFlags, 'an object with every available flag: ' + sortedFlags);
st.end();

@@ -79,0 +87,0 @@ });

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc