lite-validation 0.0.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.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +94 -0
  3. data/Gemfile +18 -0
  4. data/README.md +770 -0
  5. data/bench/calibrational.rb +89 -0
  6. data/bench/comparative.rb +197 -0
  7. data/bench/functional.rb +107 -0
  8. data/bench/profile.rb +45 -0
  9. data/lib/lite/validation/adapters/interfaces/dry.rb +29 -0
  10. data/lib/lite/validation/error.rb +9 -0
  11. data/lib/lite/validation/result/abstract/disputable.rb +17 -0
  12. data/lib/lite/validation/result/abstract/failure.rb +19 -0
  13. data/lib/lite/validation/result/abstract/refutable.rb +21 -0
  14. data/lib/lite/validation/result/abstract/success.rb +25 -0
  15. data/lib/lite/validation/result/abstract.rb +16 -0
  16. data/lib/lite/validation/structured_error/record.rb +36 -0
  17. data/lib/lite/validation/structured_error.rb +23 -0
  18. data/lib/lite/validation/validator/adapters/errors/default.rb +24 -0
  19. data/lib/lite/validation/validator/adapters/interfaces/default.rb +32 -0
  20. data/lib/lite/validation/validator/adapters/interfaces/dry.rb +17 -0
  21. data/lib/lite/validation/validator/adapters/predicates/dry/adapter.rb +50 -0
  22. data/lib/lite/validation/validator/adapters/predicates/dry/builder.rb +46 -0
  23. data/lib/lite/validation/validator/adapters/predicates/dry/engine.rb +32 -0
  24. data/lib/lite/validation/validator/adapters/predicates/dry.rb +3 -0
  25. data/lib/lite/validation/validator/coordinator/builder.rb +92 -0
  26. data/lib/lite/validation/validator/coordinator/default.rb +32 -0
  27. data/lib/lite/validation/validator/coordinator/errors/builder.rb +56 -0
  28. data/lib/lite/validation/validator/coordinator/errors/dry.rb +29 -0
  29. data/lib/lite/validation/validator/coordinator/errors/flat.rb +46 -0
  30. data/lib/lite/validation/validator/coordinator/errors/hierarchical.rb +29 -0
  31. data/lib/lite/validation/validator/coordinator/instance.rb +30 -0
  32. data/lib/lite/validation/validator/coordinator.rb +12 -0
  33. data/lib/lite/validation/validator/helpers/path.rb +49 -0
  34. data/lib/lite/validation/validator/node/abstract/branch.rb +21 -0
  35. data/lib/lite/validation/validator/node/abstract/instance.rb +43 -0
  36. data/lib/lite/validation/validator/node/abstract/leaf.rb +35 -0
  37. data/lib/lite/validation/validator/node/abstract.rb +25 -0
  38. data/lib/lite/validation/validator/node/child.rb +44 -0
  39. data/lib/lite/validation/validator/node/implementation/apply_ruling.rb +44 -0
  40. data/lib/lite/validation/validator/node/implementation/dig.rb +38 -0
  41. data/lib/lite/validation/validator/node/implementation/helpers/call_foreign.rb +31 -0
  42. data/lib/lite/validation/validator/node/implementation/helpers/with_result.rb +23 -0
  43. data/lib/lite/validation/validator/node/implementation/helpers/yield_strategy.rb +83 -0
  44. data/lib/lite/validation/validator/node/implementation/helpers/yield_validator.rb +49 -0
  45. data/lib/lite/validation/validator/node/implementation/identity.rb +90 -0
  46. data/lib/lite/validation/validator/node/implementation/iteration/iterator.rb +102 -0
  47. data/lib/lite/validation/validator/node/implementation/iteration.rb +46 -0
  48. data/lib/lite/validation/validator/node/implementation/navigation.rb +43 -0
  49. data/lib/lite/validation/validator/node/implementation/predication.rb +61 -0
  50. data/lib/lite/validation/validator/node/implementation/scoping/evaluator.rb +43 -0
  51. data/lib/lite/validation/validator/node/implementation/scoping.rb +43 -0
  52. data/lib/lite/validation/validator/node/implementation/validation.rb +64 -0
  53. data/lib/lite/validation/validator/node/implementation/wrap.rb +26 -0
  54. data/lib/lite/validation/validator/node/root.rb +60 -0
  55. data/lib/lite/validation/validator/node/suspended.rb +33 -0
  56. data/lib/lite/validation/validator/node.rb +12 -0
  57. data/lib/lite/validation/validator/option/none.rb +43 -0
  58. data/lib/lite/validation/validator/option/some/abstract.rb +29 -0
  59. data/lib/lite/validation/validator/option/some/complex/registry/abstract.rb +67 -0
  60. data/lib/lite/validation/validator/option/some/complex/registry/node.rb +47 -0
  61. data/lib/lite/validation/validator/option/some/complex/registry/root.rb +31 -0
  62. data/lib/lite/validation/validator/option/some/complex/registry.rb +32 -0
  63. data/lib/lite/validation/validator/option/some/complex/wrappers/abstract/iterable.rb +31 -0
  64. data/lib/lite/validation/validator/option/some/complex/wrappers/abstract/non_iterable.rb +27 -0
  65. data/lib/lite/validation/validator/option/some/complex/wrappers/abstract.rb +35 -0
  66. data/lib/lite/validation/validator/option/some/complex/wrappers/array.rb +41 -0
  67. data/lib/lite/validation/validator/option/some/complex/wrappers/hash.rb +40 -0
  68. data/lib/lite/validation/validator/option/some/complex/wrappers/object.rb +34 -0
  69. data/lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb +47 -0
  70. data/lib/lite/validation/validator/option/some/complex/wrappers.rb +5 -0
  71. data/lib/lite/validation/validator/option/some/complex.rb +24 -0
  72. data/lib/lite/validation/validator/option/some/dig.rb +34 -0
  73. data/lib/lite/validation/validator/option/some/simple.rb +23 -0
  74. data/lib/lite/validation/validator/option/some/singular.rb +29 -0
  75. data/lib/lite/validation/validator/option/some.rb +20 -0
  76. data/lib/lite/validation/validator/option.rb +20 -0
  77. data/lib/lite/validation/validator/predicate/abstract/variants.rb +23 -0
  78. data/lib/lite/validation/validator/predicate/foreign/adapter/input/single.rb +21 -0
  79. data/lib/lite/validation/validator/predicate/foreign/adapter/input/tuple.rb +21 -0
  80. data/lib/lite/validation/validator/predicate/foreign/adapter/input.rb +28 -0
  81. data/lib/lite/validation/validator/predicate/foreign/adapter/ruling/instance.rb +37 -0
  82. data/lib/lite/validation/validator/predicate/foreign/adapter/ruling.rb +26 -0
  83. data/lib/lite/validation/validator/predicate/foreign/engine.rb +27 -0
  84. data/lib/lite/validation/validator/predicate/foreign/variant.rb +33 -0
  85. data/lib/lite/validation/validator/predicate/foreign/variants.rb +46 -0
  86. data/lib/lite/validation/validator/predicate/native/builder.rb +72 -0
  87. data/lib/lite/validation/validator/predicate/native/definite.rb +19 -0
  88. data/lib/lite/validation/validator/predicate/native/instance.rb +41 -0
  89. data/lib/lite/validation/validator/predicate/native/optional.rb +34 -0
  90. data/lib/lite/validation/validator/predicate/registry.rb +47 -0
  91. data/lib/lite/validation/validator/predicate.rb +17 -0
  92. data/lib/lite/validation/validator/result/abstract/failure.rb +21 -0
  93. data/lib/lite/validation/validator/result/abstract/instance.rb +18 -0
  94. data/lib/lite/validation/validator/result/abstract/success.rb +17 -0
  95. data/lib/lite/validation/validator/result/abstract.rb +29 -0
  96. data/lib/lite/validation/validator/result/committed.rb +75 -0
  97. data/lib/lite/validation/validator/result/disputable/hash.rb +17 -0
  98. data/lib/lite/validation/validator/result/disputable/instance.rb +43 -0
  99. data/lib/lite/validation/validator/result/disputable/iterable/array.rb +23 -0
  100. data/lib/lite/validation/validator/result/disputable/iterable.rb +17 -0
  101. data/lib/lite/validation/validator/result/disputable/navigable.rb +35 -0
  102. data/lib/lite/validation/validator/result/disputable.rb +14 -0
  103. data/lib/lite/validation/validator/result/disputed/abstract/hash.rb +32 -0
  104. data/lib/lite/validation/validator/result/disputed/abstract/instance.rb +26 -0
  105. data/lib/lite/validation/validator/result/disputed/iterable/array.rb +42 -0
  106. data/lib/lite/validation/validator/result/disputed/iterable/hash.rb +38 -0
  107. data/lib/lite/validation/validator/result/disputed/iterable.rb +20 -0
  108. data/lib/lite/validation/validator/result/disputed/navigable.rb +59 -0
  109. data/lib/lite/validation/validator/result/disputed.rb +17 -0
  110. data/lib/lite/validation/validator/result/refuted.rb +78 -0
  111. data/lib/lite/validation/validator/result/valid/abstract/collect.rb +42 -0
  112. data/lib/lite/validation/validator/result/valid/abstract/commit.rb +25 -0
  113. data/lib/lite/validation/validator/result/valid/abstract/instance.rb +23 -0
  114. data/lib/lite/validation/validator/result/valid/iterable/array/abstract.rb +24 -0
  115. data/lib/lite/validation/validator/result/valid/iterable/array/tuples.rb +64 -0
  116. data/lib/lite/validation/validator/result/valid/iterable/array/values.rb +42 -0
  117. data/lib/lite/validation/validator/result/valid/iterable/hash.rb +46 -0
  118. data/lib/lite/validation/validator/result/valid/iterable.rb +33 -0
  119. data/lib/lite/validation/validator/result/valid/navigable.rb +68 -0
  120. data/lib/lite/validation/validator/result/valid.rb +21 -0
  121. data/lib/lite/validation/validator/result.rb +15 -0
  122. data/lib/lite/validation/validator/ruling/abstract/invalid.rb +59 -0
  123. data/lib/lite/validation/validator/ruling/abstract/valid.rb +23 -0
  124. data/lib/lite/validation/validator/ruling/abstract.rb +12 -0
  125. data/lib/lite/validation/validator/ruling/commit.rb +17 -0
  126. data/lib/lite/validation/validator/ruling/dispute.rb +21 -0
  127. data/lib/lite/validation/validator/ruling/invalidate.rb +32 -0
  128. data/lib/lite/validation/validator/ruling/pass.rb +19 -0
  129. data/lib/lite/validation/validator/ruling/refute.rb +21 -0
  130. data/lib/lite/validation/validator/ruling.rb +53 -0
  131. data/lib/lite/validation/validator/state/instance.rb +46 -0
  132. data/lib/lite/validation/validator/state/merge_strategy.rb +50 -0
  133. data/lib/lite/validation/validator/state/unwrap_strategy.rb +31 -0
  134. data/lib/lite/validation/validator/state.rb +21 -0
  135. data/lib/lite/validation/validator.rb +15 -0
  136. data/lib/lite/validation/version.rb +9 -0
  137. data/lib/lite/validation.rb +8 -0
  138. metadata +196 -0
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'abstract/invalid'
4
+
5
+ module Lite
6
+ module Validation
7
+ module Validator
8
+ module Ruling
9
+ class Refute < Ruling::Abstract::Invalid
10
+ module Abstract; end
11
+
12
+ class Raw < Ruling::Abstract::Invalid::Raw
13
+ include Abstract
14
+ end
15
+
16
+ include Abstract
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'ruling/pass'
4
+ require_relative 'ruling/commit'
5
+ require_relative 'ruling/invalidate'
6
+ require_relative 'ruling/dispute'
7
+ require_relative 'ruling/refute'
8
+
9
+ require_relative '../error'
10
+
11
+ module Lite
12
+ module Validation
13
+ module Validator
14
+ module Ruling
15
+ def self.apply(ruling, result, coordinator)
16
+ case ruling
17
+ when Commit then result.commit(ruling.value)
18
+ when Dispute::Abstract then result.dispute(ruling.structured_error(coordinator))
19
+ when Refute::Abstract then result.refute(ruling.structured_error(coordinator))
20
+ when Pass then result
21
+ else raise Error::Fatal, "Ruling expected, got: #{ruling.inspect}"
22
+ end
23
+ end
24
+
25
+ module Constructors
26
+ # rubocop:disable Naming/MethodName
27
+ def Pass
28
+ Pass
29
+ end
30
+
31
+ def Commit(value)
32
+ Ruling::Commit.new(value)
33
+ end
34
+
35
+ def Invalidate(error, **opts)
36
+ Ruling::Invalidate.instance(error, **opts)
37
+ end
38
+
39
+ def Dispute(error, **opts)
40
+ Ruling::Dispute.instance(error, **opts)
41
+ end
42
+
43
+ def Refute(error, **opts)
44
+ Ruling::Refute.instance(error, **opts)
45
+ end
46
+ # rubocop:enable Naming/MethodName
47
+ end
48
+
49
+ extend Constructors
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'lite/data'
4
+
5
+ require_relative 'unwrap_strategy'
6
+ require_relative 'merge_strategy'
7
+
8
+ module Lite
9
+ module Validation
10
+ module Validator
11
+ module State
12
+ class Instance
13
+ Lite::Data.define(self, args: [:coordinator], kwargs: %i[context merge_strategy unwrap_strategy])
14
+
15
+ def value_definite
16
+ return self if unwrap_strategy == UnwrapStrategy::Value
17
+
18
+ with(unwrap_strategy: UnwrapStrategy::Value)
19
+ end
20
+
21
+ def value_optional
22
+ return self if unwrap_strategy == UnwrapStrategy::Option
23
+
24
+ with(unwrap_strategy: UnwrapStrategy::Option)
25
+ end
26
+
27
+ def critical(section_start, error_generator)
28
+ merge_strategy = MergeStrategy::Critical.new(section_start, error_generator)
29
+
30
+ with(merge_strategy: merge_strategy)
31
+ end
32
+
33
+ def non_critical
34
+ return self if merge_strategy == MergeStrategy::Standard
35
+
36
+ with(merge_strategy: MergeStrategy::Standard)
37
+ end
38
+
39
+ def inspect
40
+ "#<State context=#{context.inspect} merge=#{merge_strategy.inspect} unwrap=#{unwrap_strategy.inspect}"
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lite
4
+ module Validation
5
+ module Validator
6
+ module State
7
+ module MergeStrategy
8
+ module Standard
9
+ def self.transform_result(result, _origin, _partial_path)
10
+ result
11
+ end
12
+
13
+ def self.inspect
14
+ '#<MergeStrategy::Standard>'
15
+ end
16
+ end
17
+
18
+ class Critical
19
+ def initialize(section_start, error_generator)
20
+ @section_start = section_start
21
+ @error_generator = error_generator
22
+ freeze
23
+ end
24
+
25
+ def transform_result(result, origin, partial_path)
26
+ return result unless result.refuted?
27
+ return result if partial_path.nil? || partial_path.empty?
28
+
29
+ error = result.fall_through ? result.error : transform_error(result.error, origin, partial_path)
30
+ origin.result.refute(error, fall_through: true)
31
+ end
32
+
33
+ def transform_error(error, origin, partial_path)
34
+ trace = origin.path_to(section_start)
35
+ error_generator.call(error, trace + partial_path)
36
+ end
37
+
38
+ def inspect
39
+ '#<MergeStrategy::Critical>'
40
+ end
41
+
42
+ private
43
+
44
+ attr_reader :section_start, :error_generator
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lite
4
+ module Validation
5
+ module Validator
6
+ module State
7
+ module UnwrapStrategy
8
+ module Value
9
+ def self.unwrap(option, _coordinator)
10
+ option.unwrap
11
+ end
12
+
13
+ def self.inspect
14
+ '#<UnwrapStrategy::Value>'
15
+ end
16
+ end
17
+
18
+ module Option
19
+ def self.unwrap(option, coordinator)
20
+ option.to_option(coordinator)
21
+ end
22
+
23
+ def self.inspect
24
+ '#<UnwrapStrategy::Option>'
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'state/merge_strategy'
4
+ require_relative 'state/instance'
5
+
6
+ module Lite
7
+ module Validation
8
+ module Validator
9
+ module State
10
+ def self.initial(coordinator, context: nil)
11
+ Instance.new(
12
+ coordinator,
13
+ context: context,
14
+ merge_strategy: MergeStrategy::Standard,
15
+ unwrap_strategy: UnwrapStrategy::Value
16
+ )
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'validator/node'
4
+ require_relative 'validator/coordinator'
5
+ require_relative 'validator/predicate'
6
+
7
+ module Lite
8
+ module Validation
9
+ module Validator
10
+ def self.instance(*args, **opts)
11
+ Node::Root.initial(*args, **opts)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lite
4
+ module Validation
5
+ module Version
6
+ VERSION = '0.0.1'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'validation/validator'
4
+
5
+ module Lite
6
+ module Validation
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,196 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lite-validation
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Tomas Milsimer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-09-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: lite-data
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: 'Validation of complex structures
28
+
29
+ '
30
+ email:
31
+ - tomas.milsimer@protonmail.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - ".rubocop.yml"
37
+ - Gemfile
38
+ - README.md
39
+ - bench/calibrational.rb
40
+ - bench/comparative.rb
41
+ - bench/functional.rb
42
+ - bench/profile.rb
43
+ - lib/lite/validation.rb
44
+ - lib/lite/validation/adapters/interfaces/dry.rb
45
+ - lib/lite/validation/error.rb
46
+ - lib/lite/validation/result/abstract.rb
47
+ - lib/lite/validation/result/abstract/disputable.rb
48
+ - lib/lite/validation/result/abstract/failure.rb
49
+ - lib/lite/validation/result/abstract/refutable.rb
50
+ - lib/lite/validation/result/abstract/success.rb
51
+ - lib/lite/validation/structured_error.rb
52
+ - lib/lite/validation/structured_error/record.rb
53
+ - lib/lite/validation/validator.rb
54
+ - lib/lite/validation/validator/adapters/errors/default.rb
55
+ - lib/lite/validation/validator/adapters/interfaces/default.rb
56
+ - lib/lite/validation/validator/adapters/interfaces/dry.rb
57
+ - lib/lite/validation/validator/adapters/predicates/dry.rb
58
+ - lib/lite/validation/validator/adapters/predicates/dry/adapter.rb
59
+ - lib/lite/validation/validator/adapters/predicates/dry/builder.rb
60
+ - lib/lite/validation/validator/adapters/predicates/dry/engine.rb
61
+ - lib/lite/validation/validator/coordinator.rb
62
+ - lib/lite/validation/validator/coordinator/builder.rb
63
+ - lib/lite/validation/validator/coordinator/default.rb
64
+ - lib/lite/validation/validator/coordinator/errors/builder.rb
65
+ - lib/lite/validation/validator/coordinator/errors/dry.rb
66
+ - lib/lite/validation/validator/coordinator/errors/flat.rb
67
+ - lib/lite/validation/validator/coordinator/errors/hierarchical.rb
68
+ - lib/lite/validation/validator/coordinator/instance.rb
69
+ - lib/lite/validation/validator/helpers/path.rb
70
+ - lib/lite/validation/validator/node.rb
71
+ - lib/lite/validation/validator/node/abstract.rb
72
+ - lib/lite/validation/validator/node/abstract/branch.rb
73
+ - lib/lite/validation/validator/node/abstract/instance.rb
74
+ - lib/lite/validation/validator/node/abstract/leaf.rb
75
+ - lib/lite/validation/validator/node/child.rb
76
+ - lib/lite/validation/validator/node/implementation/apply_ruling.rb
77
+ - lib/lite/validation/validator/node/implementation/dig.rb
78
+ - lib/lite/validation/validator/node/implementation/helpers/call_foreign.rb
79
+ - lib/lite/validation/validator/node/implementation/helpers/with_result.rb
80
+ - lib/lite/validation/validator/node/implementation/helpers/yield_strategy.rb
81
+ - lib/lite/validation/validator/node/implementation/helpers/yield_validator.rb
82
+ - lib/lite/validation/validator/node/implementation/identity.rb
83
+ - lib/lite/validation/validator/node/implementation/iteration.rb
84
+ - lib/lite/validation/validator/node/implementation/iteration/iterator.rb
85
+ - lib/lite/validation/validator/node/implementation/navigation.rb
86
+ - lib/lite/validation/validator/node/implementation/predication.rb
87
+ - lib/lite/validation/validator/node/implementation/scoping.rb
88
+ - lib/lite/validation/validator/node/implementation/scoping/evaluator.rb
89
+ - lib/lite/validation/validator/node/implementation/validation.rb
90
+ - lib/lite/validation/validator/node/implementation/wrap.rb
91
+ - lib/lite/validation/validator/node/root.rb
92
+ - lib/lite/validation/validator/node/suspended.rb
93
+ - lib/lite/validation/validator/option.rb
94
+ - lib/lite/validation/validator/option/none.rb
95
+ - lib/lite/validation/validator/option/some.rb
96
+ - lib/lite/validation/validator/option/some/abstract.rb
97
+ - lib/lite/validation/validator/option/some/complex.rb
98
+ - lib/lite/validation/validator/option/some/complex/registry.rb
99
+ - lib/lite/validation/validator/option/some/complex/registry/abstract.rb
100
+ - lib/lite/validation/validator/option/some/complex/registry/node.rb
101
+ - lib/lite/validation/validator/option/some/complex/registry/root.rb
102
+ - lib/lite/validation/validator/option/some/complex/wrappers.rb
103
+ - lib/lite/validation/validator/option/some/complex/wrappers/abstract.rb
104
+ - lib/lite/validation/validator/option/some/complex/wrappers/abstract/iterable.rb
105
+ - lib/lite/validation/validator/option/some/complex/wrappers/abstract/non_iterable.rb
106
+ - lib/lite/validation/validator/option/some/complex/wrappers/array.rb
107
+ - lib/lite/validation/validator/option/some/complex/wrappers/hash.rb
108
+ - lib/lite/validation/validator/option/some/complex/wrappers/object.rb
109
+ - lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb
110
+ - lib/lite/validation/validator/option/some/dig.rb
111
+ - lib/lite/validation/validator/option/some/simple.rb
112
+ - lib/lite/validation/validator/option/some/singular.rb
113
+ - lib/lite/validation/validator/predicate.rb
114
+ - lib/lite/validation/validator/predicate/abstract/variants.rb
115
+ - lib/lite/validation/validator/predicate/foreign/adapter/input.rb
116
+ - lib/lite/validation/validator/predicate/foreign/adapter/input/single.rb
117
+ - lib/lite/validation/validator/predicate/foreign/adapter/input/tuple.rb
118
+ - lib/lite/validation/validator/predicate/foreign/adapter/ruling.rb
119
+ - lib/lite/validation/validator/predicate/foreign/adapter/ruling/instance.rb
120
+ - lib/lite/validation/validator/predicate/foreign/engine.rb
121
+ - lib/lite/validation/validator/predicate/foreign/variant.rb
122
+ - lib/lite/validation/validator/predicate/foreign/variants.rb
123
+ - lib/lite/validation/validator/predicate/native/builder.rb
124
+ - lib/lite/validation/validator/predicate/native/definite.rb
125
+ - lib/lite/validation/validator/predicate/native/instance.rb
126
+ - lib/lite/validation/validator/predicate/native/optional.rb
127
+ - lib/lite/validation/validator/predicate/registry.rb
128
+ - lib/lite/validation/validator/result.rb
129
+ - lib/lite/validation/validator/result/abstract.rb
130
+ - lib/lite/validation/validator/result/abstract/failure.rb
131
+ - lib/lite/validation/validator/result/abstract/instance.rb
132
+ - lib/lite/validation/validator/result/abstract/success.rb
133
+ - lib/lite/validation/validator/result/committed.rb
134
+ - lib/lite/validation/validator/result/disputable.rb
135
+ - lib/lite/validation/validator/result/disputable/hash.rb
136
+ - lib/lite/validation/validator/result/disputable/instance.rb
137
+ - lib/lite/validation/validator/result/disputable/iterable.rb
138
+ - lib/lite/validation/validator/result/disputable/iterable/array.rb
139
+ - lib/lite/validation/validator/result/disputable/navigable.rb
140
+ - lib/lite/validation/validator/result/disputed.rb
141
+ - lib/lite/validation/validator/result/disputed/abstract/hash.rb
142
+ - lib/lite/validation/validator/result/disputed/abstract/instance.rb
143
+ - lib/lite/validation/validator/result/disputed/iterable.rb
144
+ - lib/lite/validation/validator/result/disputed/iterable/array.rb
145
+ - lib/lite/validation/validator/result/disputed/iterable/hash.rb
146
+ - lib/lite/validation/validator/result/disputed/navigable.rb
147
+ - lib/lite/validation/validator/result/refuted.rb
148
+ - lib/lite/validation/validator/result/valid.rb
149
+ - lib/lite/validation/validator/result/valid/abstract/collect.rb
150
+ - lib/lite/validation/validator/result/valid/abstract/commit.rb
151
+ - lib/lite/validation/validator/result/valid/abstract/instance.rb
152
+ - lib/lite/validation/validator/result/valid/iterable.rb
153
+ - lib/lite/validation/validator/result/valid/iterable/array/abstract.rb
154
+ - lib/lite/validation/validator/result/valid/iterable/array/tuples.rb
155
+ - lib/lite/validation/validator/result/valid/iterable/array/values.rb
156
+ - lib/lite/validation/validator/result/valid/iterable/hash.rb
157
+ - lib/lite/validation/validator/result/valid/navigable.rb
158
+ - lib/lite/validation/validator/ruling.rb
159
+ - lib/lite/validation/validator/ruling/abstract.rb
160
+ - lib/lite/validation/validator/ruling/abstract/invalid.rb
161
+ - lib/lite/validation/validator/ruling/abstract/valid.rb
162
+ - lib/lite/validation/validator/ruling/commit.rb
163
+ - lib/lite/validation/validator/ruling/dispute.rb
164
+ - lib/lite/validation/validator/ruling/invalidate.rb
165
+ - lib/lite/validation/validator/ruling/pass.rb
166
+ - lib/lite/validation/validator/ruling/refute.rb
167
+ - lib/lite/validation/validator/state.rb
168
+ - lib/lite/validation/validator/state/instance.rb
169
+ - lib/lite/validation/validator/state/merge_strategy.rb
170
+ - lib/lite/validation/validator/state/unwrap_strategy.rb
171
+ - lib/lite/validation/version.rb
172
+ homepage: https://github.com/lame-impala/lite-validation
173
+ licenses:
174
+ - MIT
175
+ metadata:
176
+ rubygems_mfa_required: 'true'
177
+ post_install_message:
178
+ rdoc_options: []
179
+ require_paths:
180
+ - lib
181
+ required_ruby_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: 3.2.0
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ requirements: []
192
+ rubygems_version: 3.5.22
193
+ signing_key:
194
+ specification_version: 4
195
+ summary: Validation of complex structures
196
+ test_files: []