jade-lang 0.11.0 → 0.11.1

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: b73668e7e5ab3a62df195d2f978ffcba2ef69e3a2e578eb084ab56dccfe0770f
4
- data.tar.gz: 6d7420d31cf750127e51ad9191ac068231e92b041779ef4927d0e6feea26fd2f
3
+ metadata.gz: c07abf955aeeae107bd0cbb0f2f9ba95aab3c9240946e96d69521c2ae406f56b
4
+ data.tar.gz: a6750f4f9734070babfde95fa657a37cec27acc43c705742b63b58691f4c225a
5
5
  SHA512:
6
- metadata.gz: 0036c6f868f892ff83938bfbf5eda69531d4a4fa11aa1abd27978efafddc936bb64320acd6a181caa0b2f55cccb70957c9ba80aad833584857a4b51dc1083ed1
7
- data.tar.gz: 95940e59148590400e15d252ed8bbb4a7a6b67cd3febbc481a8b176fbb373afd2e20069e3a91541af52aafbf510baa6d1c9fb3f5cd2277b76adaff07015a75e8
6
+ metadata.gz: c485c3028caa4b4ad1da0abd708c9c6c1b935ed26a242f19efbc5440f3e9a46e6236cf9e93912e870c941ba64096ae488499ce351c0dfd04a75084a6e8b9f6c1
7
+ data.tar.gz: 2176bf5dc17eacdbbc902a3243e8676c2232350846a45913181489ee74ea6ff9f576d9278b0f5bfaffb1d235c7d8337ce6ebd0d03ff141e23d3bc74b95f2f8dd
data/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to this project are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.11.1] - 2026-09-15
8
+
9
+ ### Added
10
+
11
+ - **A `:call` check sees what the call returns.** `Extensions::CallContext`
12
+ carried the argument types and not the result, so a check on a function
13
+ whose interesting type is the shape the caller asked for had nothing to
14
+ read. jade-sql needs it to compare a read's result against the table's
15
+ columns, the way it already compares a write's.
16
+
7
17
  ## [0.11.0] - 2026-09-15
8
18
 
9
19
  ### Added
@@ -45,13 +45,18 @@ module Jade
45
45
 
46
46
  # The node travels with the types because a literal's value — a SQL string,
47
47
  # a constant predicate — is not in them.
48
- CallContext = Data.define(:name, :arg_types, :node, :registry, :entry_name, :span)
48
+ # `return_type` is what the call produces, which a check needs when the
49
+ # thing being checked is the shape the caller asked for rather than
50
+ # something it passed in. Still a variable when nothing has pinned it.
51
+ CallContext = Data.define(
52
+ :name, :arg_types, :return_type, :node, :registry, :entry_name, :span
53
+ )
49
54
 
50
- def check_call(name, arg_types, node, registry, entry_name, span)
55
+ def check_call(name, arg_types, return_type, node, registry, entry_name, span)
51
56
  call_checks[name].then do |watching|
52
57
  next [] if watching.nil?
53
58
 
54
- CallContext[name, arg_types, node, registry, entry_name, span]
59
+ CallContext[name, arg_types, return_type, node, registry, entry_name, span]
55
60
  .then { |ctx| watching.flat_map { it.check(ctx) } }
56
61
  end
57
62
  end
@@ -107,6 +107,7 @@ module Jade
107
107
  column_errors = Extensions.check_call(
108
108
  callee_name(callee),
109
109
  args_acc.types.map { st.env.substitution.apply(it) },
110
+ st.env.substitution.apply(result_type),
110
111
  node,
111
112
  registry,
112
113
  st.env.entry_name,
data/lib/jade/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jade
2
- VERSION = '0.11.0'
2
+ VERSION = '0.11.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jade-lang
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Cornu