js_regex 3.11.1 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.