parsanol 1.3.122-arm-linux → 1.3.123-arm-linux

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: e6d37024ae75900c7fe4fd31f8c92119dd42ccb7af254240155b264be432c1fe
4
- data.tar.gz: f78c1fa51c5ed6a72de5cbdd4e6124173f122d32a730b47b77d30ca5c385d6d6
3
+ metadata.gz: e32e4fecae3acbe19a74e7b29c42f9ff6e6917d9ccd1dbe100e6fe8dcf8b5bf9
4
+ data.tar.gz: d366ad5af256a89ae25959ba6370fec56d90ee5453b0f91312d12ae4b9c9de99
5
5
  SHA512:
6
- metadata.gz: b5d12a29c0ef17c9f3895d814192b33b74fe3366262d988af73fdf1e5d1603f17cff7925ac77f45cde7f21799f97f832604c4bddffaca686b3a72fb1eb70a2f4
7
- data.tar.gz: 8b1c7627fd9b3c946ce9a76b7445dfe6c1ebbb0ceb3fff7b061cf6a781e3d2ed498c1e205d321038a2195d7ebc050ffdd632e2ef8b71501de76a2b344016cb87
6
+ metadata.gz: 0d2939b29f2864f8fc3b395a7e80a42838c2ed967eb0c51dc73d87045a139dbbecda13782e5778ceb771bc09637f3cf710f8397fc3022b18328ed92e1837ff63
7
+ data.tar.gz: 8fdb4b3dedf048847d181f50244f6f69c13b73ef2c2c26ce7c519c1839c7ca66c49c69924cd40c4c8215891e9fa8ecd2856ff5a59253727994a07d8d714000da
@@ -15,8 +15,14 @@ module Parsanol
15
15
  captures = collect_captures(shape)
16
16
  # Snapshot before the assignment pass: reading a missing key off
17
17
  # `captures` inserts it (default-proc hash), which would make the
18
- # #413 lost-check below see phantom presence.
19
- present = captures.keys
18
+ # #413 lost-check below see phantom presence. Presence means a
19
+ # NON-NIL value somewhere in the tree: a fired-but-empty optional
20
+ # capture binds null in the parslet shape, and binding nothing for
21
+ # null is legitimate optionality, not loss (parsanol-ruby#418 —
22
+ # CIE trailing_lang, JIS reaffirmed).
23
+ present = captures.keys.select do |key|
24
+ captures[key].any? { |value| !value.nil? }
25
+ end
20
26
  out = {}
21
27
  scalar, arrays = bindings.partition { |binding| !binding["path"].to_s.include?("[]") }
22
28
  scalar.each do |binding|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parsanol
4
- VERSION = "1.3.122"
4
+ VERSION = "1.3.123"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parsanol
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.122
4
+ version: 1.3.123
5
5
  platform: arm-linux
6
6
  authors:
7
7
  - Ribose Inc.