js_regex 3.11.1 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4152eef358fa4cdee93ac92b3a2b16590e49be305e81b53e88732ba11eade1f7
4
- data.tar.gz: 7e43bd8ec3ab16a2512769e49508e655f53960353646937b840777c71406af3f
3
+ metadata.gz: 9c6bfe5a3631b78df8e258b46c12f9c89eeabefa5ce0967760cd7cc9c152ca8e
4
+ data.tar.gz: d05300ee0f1496adbfa455533af89d8a42af7808af14fdb1f6c569bfcde5913f
5
5
  SHA512:
6
- metadata.gz: e98d601411d6afd3b2ae10df1b18389109a647d4c2ca5e548cb12831badf20ca31de72a20c4fdc93c971aebf3b694623a586e9d1bdc6741084d46bc05a492bfd
7
- data.tar.gz: fd337def96701bc627d09bceb921ba50f341ace408533128b8f8fe4a806d1757805ac2437bc864c3a6c82567190f88c760924a1f0f2df23863cbc15c781ca0e1
6
+ metadata.gz: e7ed1e47c10c775151a4ccfbae673c9d122354841a20b7d18aed2e545b81ce9c87584026b2d7433c83be42d30c5e1c9ca823f7f31186cea4278273d3698c2a12
7
+ data.tar.gz: 9d1e0e0f2ae0865e69262c8eefef4999cbcf877a270eb642ee7f115a3ff77c10c0ca8c6fdb60093fba5244e54bca0de58c1514ad28a1c6c21378e3c64d00b378
@@ -8,6 +8,8 @@ class JsRegex
8
8
  class TypeConverter < JsRegex::Converter::Base
9
9
  HEX_EXPANSION = '[0-9A-Fa-f]'
10
10
  NONHEX_EXPANSION = '[^0-9A-Fa-f]'
11
+ I_MODE_HEX_EXPANSION = '[0-9A-F]'
12
+ I_MODE_NONHEX_EXPANSION = '[^0-9A-F]'
11
13
  ES2018_HEX_EXPANSION = '\p{AHex}'
12
14
  ES2018_NONHEX_EXPANSION = '\P{AHex}'
13
15
  ES2018_XGRAPHEME_EXPANSION = '[\P{M}\P{Lm}](?:(?:[\u035C\u0361]\P{M}\p{M}*)|\u200d|\p{M}|\p{Lm}|\p{Emoji_Modifier})*'
@@ -44,6 +46,8 @@ class JsRegex
44
46
  def hex_expansion
45
47
  if context.es_2018_or_higher? && context.enable_u_option
46
48
  ES2018_HEX_EXPANSION
49
+ elsif context.case_insensitive_root
50
+ I_MODE_HEX_EXPANSION
47
51
  else
48
52
  HEX_EXPANSION
49
53
  end
@@ -52,6 +56,8 @@ class JsRegex
52
56
  def nonhex_expansion
53
57
  if context.es_2018_or_higher? && context.enable_u_option
54
58
  ES2018_NONHEX_EXPANSION
59
+ elsif context.case_insensitive_root
60
+ I_MODE_NONHEX_EXPANSION
55
61
  else
56
62
  NONHEX_EXPANSION
57
63
  end
@@ -1,3 +1,3 @@
1
1
  class JsRegex
2
- VERSION = '3.11.1'
2
+ VERSION = '3.12.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: js_regex
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.1
4
+ version: 3.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janosch Müller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-07 00:00:00.000000000 Z
11
+ date: 2024-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: character_set
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 3.5.0.dev
114
+ rubygems_version: 3.5.16
115
115
  signing_key:
116
116
  specification_version: 4
117
117
  summary: Converts Ruby regexes to JavaScript regexes.