lutaml-model 0.8.81 → 0.8.82

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: 75aa028ab12c011d2d3c90b27d176d7096bcb7f0b09dbb521adf01d79dba8df1
4
- data.tar.gz: 523a5d23381afdfb840d7256855ea6e51ca04377dee765d5d215764bd4967af0
3
+ metadata.gz: 9d3a688d65eecf6a2bedf13179644a42cbe3897a966976d82412b55c59bae51f
4
+ data.tar.gz: cefb330f731f866c5c571abd8859316e65c8539485729bc569634e0d4fdd0d2f
5
5
  SHA512:
6
- metadata.gz: 7a2723bfe0a8f6ef1049b5b5d3c5e987832f0397a12fc5f96b57bf0b74b0c2aeb5b9797d89591665fb2dd96f05724a4dcb764437ff332efc3ce2f4c484f79360
7
- data.tar.gz: a3812ee1c47c9633617dc07e8cfc2ed8cd102279039c4f76389d1dc490f1eaad07f3351bba192daefbf37d7f2132b72f84a036d70890c7e6a4d87fb65591a322
6
+ metadata.gz: 5a2d748a2bb6510884418473ca075860dc8207a9e966413856bf3c8f5c047409368559786bc7afdfc634d885d95022f142892f769ed58f49b4733c84d3360df1
7
+ data.tar.gz: 5e048ffbbe1a336acc02e577d555c7677ca13eb6bbb0c7401b99b069e8f30add953620ba802d4c1a13e92c820e67b8b570033ff6aaa32aaeed522990788d263b
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lutaml
4
4
  module Model
5
- VERSION = "0.8.81"
5
+ VERSION = "0.8.82"
6
6
  end
7
7
  end
@@ -399,19 +399,19 @@ module Lutaml
399
399
  end
400
400
 
401
401
  def group_children(value, row_tags = nil)
402
+ # One crossing per subtree: names/tags/children come back in
403
+ # parallel arrays from leptris_plan_value_children_snapshot.
404
+ names, tags, children = value.children_snapshot
402
405
  grouped = {}
403
406
  want_tags = !row_tags.nil?
404
407
  tagged = want_tags ? {} : nil
405
- value.count.times do |i|
406
- child = value.at(i)
407
- # One FFI crossing per child: the name was read twice here
408
- # (nil check + bucket key), doubling the hottest accessor.
409
- name = child.name
408
+ names.each_with_index do |name, i|
410
409
  next if name.nil? # content runs, read separately
411
410
 
411
+ child = children[i]
412
412
  (grouped[name] ||= []) << child
413
- if want_tags && child.type_tag != 0
414
- (tagged[child.type_tag] ||= []) << child
413
+ if want_tags && tags[i] != 0
414
+ (tagged[tags[i]] ||= []) << child
415
415
  end
416
416
  end
417
417
  [grouped, tagged]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lutaml-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.81
4
+ version: 0.8.82
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-29 00:00:00.000000000 Z
11
+ date: 2026-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64