dry-types-tuple 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7583440f28dfcf7be606ffade7d58fe0fac29e783c4b79eeb15467ff6b63c654
4
- data.tar.gz: 27da3385c06793c20d7ece1872d740ebc9cc431dc795c9a3141de4a5d64314ee
3
+ metadata.gz: 3ff4a6208f9f1d2b30e3956b6493cc13e20f095d86c5be454f201fbdea0316dc
4
+ data.tar.gz: d4ec021dc5a952a6d238af76a05df9d573643169d1ada1e6ad4823fb63cfcd0b
5
5
  SHA512:
6
- metadata.gz: 1886d2dabab95dc8d07ba7285991b73e70bd6083d81280c0e2ec6dd3238e20889d4a186edc012d8e381523906b6d730f2782e285112ce17385c0db33e5003594
7
- data.tar.gz: 4e6f489907102ca633736d9109725a96bcae2d677b25feca5daead2d3f69e32368410006325c3776c6e6196ea5dd0e9ff7b3126d5fd3776dc5f07e3d747a4051
6
+ metadata.gz: e50016534bb0db3324c8cdd2640a11595fb990c58b43228368e22dc87ca981557cc0c2d286c68aacbb73b2bc55e0869531e3ec88eab91551930c89aaf719cff4
7
+ data.tar.gz: 62c1d224167979f49826e960100699e944afecd0cc1a31479c0aef31f12efe9834e9bb8d6baaa0d6fde11745ed1b426743dc4442153439e883c816a7d80ca188
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "dry-types-tuple"
5
- spec.version = '0.1.0'
5
+ spec.version = '0.1.2'
6
6
  spec.authors = ["Anton"]
7
7
  spec.email = ["anton.estum@gmail.com"]
8
8
 
data/lib/dry/tuple.rb CHANGED
@@ -51,23 +51,23 @@ module Dry
51
51
 
52
52
  # @api private
53
53
  def call_safe(input, &block)
54
- if defined?(super)
55
- resolve_tuple_safe(input) { |output| super(output) }
56
- elsif input.is_a?(self)
54
+ if input.is_a?(self)
57
55
  input
58
- else
56
+ elsif input.is_a?(Array)
59
57
  resolve_tuple_safe(input, &block)
58
+ else
59
+ super
60
60
  end
61
61
  end
62
62
 
63
63
  # @api private
64
64
  def call_unsafe(input)
65
- if defined?(super)
66
- resolve_tuple_safe(input) { |output| super(output) }
67
- elsif input.is_a?(self)
65
+ if input.is_a?(self)
68
66
  input
69
- else
67
+ elsif input.is_a?(Array)
70
68
  resolve_tuple_unsafe(input)
69
+ else
70
+ super
71
71
  end
72
72
  end
73
73
 
@@ -138,8 +138,8 @@ module Dry
138
138
  #
139
139
  # @api public
140
140
  def to_ast(meta: true)
141
- structure = [*fixed_types.map { |type| type.to_ast(meta: true) }]
142
- structure << [rest_type.to_ast(meta: true)] unless rest_type.nil?
141
+ structure = [*fixed_types.map { |type| type.to_ast(meta: meta) }]
142
+ structure << [rest_type.to_ast(meta: meta)] unless rest_type.nil?
143
143
  structure << meta ? self.meta : EMPTY_HASH
144
144
  [:tuple, structure]
145
145
  end
@@ -169,8 +169,10 @@ module Dry
169
169
 
170
170
  if res_i.nil?
171
171
  failures << CoercionError.new("#{value.inspect} not fits to the fixed-size tuple")
172
+ break
172
173
  elsif res_i.failure?
173
174
  failures << res_i.error
175
+ break
174
176
  else
175
177
  output << res_i.input
176
178
  end
@@ -215,7 +217,7 @@ module Dry
215
217
  yield "#{header}>#{opts}"
216
218
  else
217
219
  yield header.dup << (types.map { |pos, pos_type|
218
- visit(pos_type) { |type| "0: #{type}" }
220
+ visit(pos_type) { |type| "#{pos}: #{type}" }
219
221
  } << rest).compact.join(", ") << ">#{opts}"
220
222
  end
221
223
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-types-tuple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-31 00:00:00.000000000 Z
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-types