homura-runtime 0.3.27 → 0.3.29

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: 8668dcae5fa94a983e370b955deb9edd0097dbb7e45a5e26bc99b341932c0bfa
4
- data.tar.gz: 917dc45767af13bae754edd069a31aef660a0a046b058e2fcda432cbdf0a0dec
3
+ metadata.gz: 523d660c486440b910fded423765e28c7a00d0196ff30f08f41c81b76eb897bd
4
+ data.tar.gz: 4e4adc4159f071b90329058c1f0a7638a2a6c52d29d4b344ff7c3d03633adc5d
5
5
  SHA512:
6
- metadata.gz: 89471504331d0df3f6f4d5a460ce395e4521f7650144adae338f9b2d80c633747c3a2fe62470259e1cecee08e826e32818d56b22e7414b7320b4fd781f5e2674
7
- data.tar.gz: 55be72d59bd35cbb959df41f91e4e56705d5e959c04a157166ac0a1e5c8693bfa1fab810c3d7223cdfb1271ab662b56f2349bccc9c7071e11c502a5de228951c
6
+ metadata.gz: 37a0e501e9ef564074cc70a0b0284b6ed0046c482343353038148d8daabd1300f9a044c62e12a4451bf65caf4f8d9d8933b0f987c32a20bedf62886d5a423940
7
+ data.tar.gz: 47b3d1af25629338706e4ca0481cc0dc98992eae4a96bb981fac036bfce569332c6c283d9e31c35ce97bb45d48c712a7c9640b66cdfdd49eefe56ac9b7466d03
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.29 (2026-06-25)
4
+
5
+ - Provide an Opal-safe `Literal::Types::JSONDataType` shim instead of loading
6
+ the upstream frozen singleton implementation, avoiding Opal constant-cache
7
+ writes against frozen objects during Worker boot.
8
+
9
+ ## 0.3.28 (2026-06-25)
10
+
11
+ - Bootstrap the `Literal::Types` namespace, load Literal's type classes, then
12
+ load `literal/types`, matching Opal's eager module execution model.
13
+
3
14
  ## 0.3.27 (2026-06-25)
4
15
 
5
16
  - Load `literal/types` before individual Literal type classes in the Opal
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HomuraRuntime
4
- VERSION = "0.3.27"
4
+ VERSION = "0.3.29"
5
5
  end
@@ -3,15 +3,61 @@
3
3
  require "zeitwerk/opal_compat"
4
4
  require "literal" unless defined?(Literal)
5
5
  require "literal/type"
6
- require "literal/types"
6
+
7
+ module Literal::Types
8
+ end
9
+
7
10
  require "literal/types/any_type"
8
11
  require "literal/types/array_type"
9
12
  require "literal/types/boolean_type"
13
+ require "literal/types/class_type"
10
14
  require "literal/types/constraint_type"
15
+ require "literal/types/deferred_type"
16
+ require "literal/types/descendant_type"
17
+ require "literal/types/enumerable_type"
18
+ require "literal/types/falsy_type"
19
+ require "literal/types/frozen_type"
20
+ require "literal/types/hash_type"
21
+ require "literal/types/interface_type"
22
+ require "literal/types/intersection_type"
23
+ require "literal/types/kind_type"
24
+ require "literal/types/map_type"
25
+ require "literal/types/never_type"
11
26
  require "literal/types/nilable_type"
27
+ require "literal/types/not_type"
28
+ require "literal/types/predicate_type"
29
+ require "literal/types/range_type"
30
+ require "literal/types/same_object_type"
31
+ require "literal/types/set_type"
32
+ require "literal/types/tagged_union_type"
33
+ require "literal/types/truthy_type"
34
+ require "literal/types/tuple_type"
12
35
  require "literal/types/union_type"
13
36
  require "literal/types/void_type"
14
37
 
38
+ class Literal::Types::JSONDataType
39
+ Instance = new
40
+
41
+ include Literal::Type
42
+
43
+ def inspect = "_JSONData"
44
+
45
+ def ===(value)
46
+ case value
47
+ when String, Integer, Float, true, false, nil
48
+ true
49
+ when Hash
50
+ value.all? { |key, item| String === key && self === item }
51
+ when Array
52
+ value.all?(self)
53
+ else
54
+ false
55
+ end
56
+ end
57
+ end
58
+
59
+ require "literal/types"
60
+
15
61
  module Literal
16
62
  class OpalBuffer
17
63
  def initialize(value = "")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: homura-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.27
4
+ version: 0.3.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuhiro Homma