roast-ai 0.4.4 → 0.4.5
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 +4 -4
- data/.github/CODEOWNERS +2 -0
- data/.github/workflows/ci.yaml +1 -0
- data/.gitignore +0 -26
- data/.rubocop.yml +13 -0
- data/.rubocop_todo.yml +21 -0
- data/CHANGELOG.md +29 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +43 -1
- data/bin/rubocop +27 -0
- data/bin/spoom +27 -0
- data/bin/srb +27 -0
- data/bin/srb-rbi +27 -0
- data/bin/tapioca +27 -0
- data/docs/INSTRUMENTATION.md +3 -3
- data/dsl/simple.rb +10 -0
- data/lib/roast/dsl/executor.rb +26 -0
- data/lib/roast/dsl.rb +7 -0
- data/lib/roast/errors.rb +1 -0
- data/lib/roast/factories/api_provider_factory.rb +1 -0
- data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
- data/lib/roast/helpers/logger.rb +6 -9
- data/lib/roast/helpers/metadata_access.rb +1 -0
- data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
- data/lib/roast/helpers/path_resolver.rb +8 -18
- data/lib/roast/helpers/prompt_loader.rb +3 -2
- data/lib/roast/helpers/timeout_handler.rb +3 -5
- data/lib/roast/initializers.rb +1 -0
- data/lib/roast/resources/api_resource.rb +4 -3
- data/lib/roast/resources/base_resource.rb +1 -0
- data/lib/roast/resources/directory_resource.rb +1 -0
- data/lib/roast/resources/file_resource.rb +1 -0
- data/lib/roast/resources/none_resource.rb +1 -0
- data/lib/roast/resources/url_resource.rb +2 -1
- data/lib/roast/resources.rb +1 -2
- data/lib/roast/services/context_threshold_checker.rb +1 -0
- data/lib/roast/services/token_counting_service.rb +1 -0
- data/lib/roast/tools/apply_diff.rb +1 -0
- data/lib/roast/tools/ask_user.rb +1 -0
- data/lib/roast/tools/bash.rb +1 -0
- data/lib/roast/tools/cmd.rb +1 -0
- data/lib/roast/tools/coding_agent.rb +1 -0
- data/lib/roast/tools/context_summarizer.rb +1 -0
- data/lib/roast/tools/grep.rb +1 -0
- data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
- data/lib/roast/tools/read_file.rb +1 -0
- data/lib/roast/tools/search_file.rb +1 -0
- data/lib/roast/tools/swarm.rb +1 -0
- data/lib/roast/tools/update_files.rb +1 -0
- data/lib/roast/tools/write_file.rb +1 -0
- data/lib/roast/tools.rb +2 -0
- data/lib/roast/value_objects/api_token.rb +1 -0
- data/lib/roast/value_objects/step_name.rb +1 -0
- data/lib/roast/value_objects/uri_base.rb +1 -0
- data/lib/roast/value_objects/workflow_path.rb +1 -0
- data/lib/roast/value_objects.rb +1 -0
- data/lib/roast/version.rb +2 -1
- data/lib/roast/workflow/agent_step.rb +1 -0
- data/lib/roast/workflow/api_configuration.rb +1 -0
- data/lib/roast/workflow/base_iteration_step.rb +1 -0
- data/lib/roast/workflow/base_step.rb +1 -0
- data/lib/roast/workflow/base_workflow.rb +1 -0
- data/lib/roast/workflow/case_executor.rb +1 -0
- data/lib/roast/workflow/case_step.rb +1 -0
- data/lib/roast/workflow/command_executor.rb +1 -0
- data/lib/roast/workflow/conditional_executor.rb +1 -0
- data/lib/roast/workflow/conditional_step.rb +1 -0
- data/lib/roast/workflow/configuration.rb +9 -0
- data/lib/roast/workflow/configuration_loader.rb +4 -1
- data/lib/roast/workflow/context_manager.rb +1 -0
- data/lib/roast/workflow/context_path_resolver.rb +1 -0
- data/lib/roast/workflow/dot_access_hash.rb +1 -0
- data/lib/roast/workflow/each_step.rb +1 -0
- data/lib/roast/workflow/error_handler.rb +7 -1
- data/lib/roast/workflow/expression_evaluator.rb +1 -0
- data/lib/roast/workflow/expression_utils.rb +1 -0
- data/lib/roast/workflow/file_state_repository.rb +2 -1
- data/lib/roast/workflow/input_executor.rb +1 -0
- data/lib/roast/workflow/input_step.rb +1 -0
- data/lib/roast/workflow/interpolator.rb +2 -1
- data/lib/roast/workflow/iteration_executor.rb +1 -0
- data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
- data/lib/roast/workflow/metadata_manager.rb +1 -0
- data/lib/roast/workflow/output_handler.rb +1 -0
- data/lib/roast/workflow/output_manager.rb +1 -0
- data/lib/roast/workflow/parallel_executor.rb +1 -0
- data/lib/roast/workflow/prompt_step.rb +1 -0
- data/lib/roast/workflow/repeat_step.rb +1 -0
- data/lib/roast/workflow/replay_handler.rb +1 -0
- data/lib/roast/workflow/resource_resolver.rb +2 -6
- data/lib/roast/workflow/session_manager.rb +1 -0
- data/lib/roast/workflow/shell_script_step.rb +1 -0
- data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
- data/lib/roast/workflow/state_manager.rb +1 -0
- data/lib/roast/workflow/state_repository.rb +1 -0
- data/lib/roast/workflow/state_repository_factory.rb +4 -2
- data/lib/roast/workflow/step_completion_reporter.rb +1 -0
- data/lib/roast/workflow/step_executor_coordinator.rb +9 -5
- data/lib/roast/workflow/step_executor_factory.rb +1 -0
- data/lib/roast/workflow/step_executor_registry.rb +2 -3
- data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
- data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
- data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
- data/lib/roast/workflow/step_factory.rb +1 -0
- data/lib/roast/workflow/step_finder.rb +1 -0
- data/lib/roast/workflow/step_loader.rb +1 -0
- data/lib/roast/workflow/step_name_extractor.rb +1 -0
- data/lib/roast/workflow/step_runner.rb +1 -0
- data/lib/roast/workflow/step_type_resolver.rb +1 -0
- data/lib/roast/workflow/validation_command.rb +1 -0
- data/lib/roast/workflow/validator.rb +1 -0
- data/lib/roast/workflow/validators/base_validator.rb +1 -0
- data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
- data/lib/roast/workflow/validators/linting_validator.rb +1 -0
- data/lib/roast/workflow/validators/schema_validator.rb +1 -0
- data/lib/roast/workflow/validators/step_collector.rb +1 -0
- data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
- data/lib/roast/workflow/workflow_context.rb +1 -0
- data/lib/roast/workflow/workflow_execution_context.rb +1 -0
- data/lib/roast/workflow/workflow_executor.rb +2 -1
- data/lib/roast/workflow/workflow_initializer.rb +1 -0
- data/lib/roast/workflow/workflow_runner.rb +66 -55
- data/lib/roast/workflow.rb +1 -0
- data/lib/roast/workflow_diagram_generator.rb +3 -2
- data/lib/roast.rb +23 -8
- data/sorbet/config +8 -0
- data/sorbet/rbi/dsl/.gitattributes +1 -0
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
- data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
- data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
- data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
- data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
- data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
- data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
- data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
- data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
- data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
- data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
- data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
- data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
- data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
- data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
- data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
- data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
- data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
- data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
- data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
- data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
- data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
- data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
- data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
- data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
- data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
- data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
- data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
- data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
- data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
- data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
- data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
- data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
- data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
- data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
- data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
- data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
- data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
- data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
- data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
- data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
- data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
- data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
- data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
- data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
- data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
- data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
- data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
- data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
- data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
- data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
- data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
- data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
- data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
- data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
- data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
- data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
- data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
- data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
- data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
- data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
- data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
- data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
- data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
- data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
- data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
- data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
- data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
- data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
- data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
- data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
- data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
- data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
- data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
- data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
- data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +36 -0
- metadata +113 -2
- data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,3727 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `dry-schema` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem dry-schema`.
|
6
|
+
|
7
|
+
|
8
|
+
# source://dry-schema//lib/dry/schema.rb#10
|
9
|
+
module Dry
|
10
|
+
class << self
|
11
|
+
# source://dry-configurable/1.3.0/lib/dry/configurable.rb#11
|
12
|
+
def Configurable(**options); end
|
13
|
+
|
14
|
+
# source://dry-core/1.1.0/lib/dry/core.rb#52
|
15
|
+
def Equalizer(*keys, **options); end
|
16
|
+
|
17
|
+
# source://dry-types/1.8.3/lib/dry/types.rb#253
|
18
|
+
def Types(*namespaces, default: T.unsafe(nil), **aliases); end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# Main interface
|
23
|
+
#
|
24
|
+
# @api public
|
25
|
+
#
|
26
|
+
# source://dry-schema//lib/dry/schema.rb#14
|
27
|
+
module Dry::Schema
|
28
|
+
include ::Dry::Core::Constants
|
29
|
+
extend ::Dry::Core::Extensions
|
30
|
+
|
31
|
+
class << self
|
32
|
+
# source://dry-schema//lib/dry/schema.rb#86
|
33
|
+
def Form(**options, &_arg1); end
|
34
|
+
|
35
|
+
# Define a schema suitable for JSON data
|
36
|
+
#
|
37
|
+
# This schema type uses `Types::JSON` for coercion by default
|
38
|
+
#
|
39
|
+
# @api public
|
40
|
+
# @example
|
41
|
+
# Dry::Schema.JSON do
|
42
|
+
# required(:name).filled(:string)
|
43
|
+
# required(:age).value(:integer, gt?: 0)
|
44
|
+
# end
|
45
|
+
# @return [Params]
|
46
|
+
# @see Schema#define
|
47
|
+
#
|
48
|
+
# source://dry-schema//lib/dry/schema.rb#106
|
49
|
+
def JSON(**options, &_arg1); end
|
50
|
+
|
51
|
+
# Define a schema suitable for HTTP params
|
52
|
+
#
|
53
|
+
# This schema type uses `Types::Params` for coercion by default
|
54
|
+
#
|
55
|
+
# @api public
|
56
|
+
# @example
|
57
|
+
# Dry::Schema.Params do
|
58
|
+
# required(:name).filled(:string)
|
59
|
+
# required(:age).value(:integer, gt?: 0)
|
60
|
+
# end
|
61
|
+
# @return [Params]
|
62
|
+
# @see Schema#define
|
63
|
+
#
|
64
|
+
# source://dry-schema//lib/dry/schema.rb#86
|
65
|
+
def Params(**options, &_arg1); end
|
66
|
+
|
67
|
+
# Configuration
|
68
|
+
#
|
69
|
+
# @api public
|
70
|
+
# @example
|
71
|
+
# Dry::Schema.config.messages.backend = :i18n
|
72
|
+
# @return [Config]
|
73
|
+
#
|
74
|
+
# source://dry-schema//lib/dry/schema.rb#48
|
75
|
+
def config; end
|
76
|
+
|
77
|
+
# Define a schema
|
78
|
+
#
|
79
|
+
# @api public
|
80
|
+
# @example
|
81
|
+
# Dry::Schema.define do
|
82
|
+
# required(:name).filled(:string)
|
83
|
+
# required(:age).value(:integer, gt?: 0)
|
84
|
+
# end
|
85
|
+
# @param options [Hash]
|
86
|
+
# @return [Processor]
|
87
|
+
# @see DSL.new
|
88
|
+
#
|
89
|
+
# source://dry-schema//lib/dry/schema.rb#67
|
90
|
+
def define(*_arg0, **_arg1, &_arg2); end
|
91
|
+
|
92
|
+
# @api private
|
93
|
+
#
|
94
|
+
# source://dry-schema//lib/dry/schema.rb#18
|
95
|
+
def loader; end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# Extended rule compiler used internally by the DSL
|
100
|
+
#
|
101
|
+
# @api private
|
102
|
+
#
|
103
|
+
# source://dry-schema//lib/dry/schema/compiler.rb#8
|
104
|
+
class Dry::Schema::Compiler < ::Dry::Logic::RuleCompiler
|
105
|
+
# Return true if a given predicate is supported by this compiler
|
106
|
+
#
|
107
|
+
# @api private
|
108
|
+
# @param predicate [Symbol]
|
109
|
+
# @return [Boolean]
|
110
|
+
#
|
111
|
+
# source://dry-schema//lib/dry/schema/compiler.rb#46
|
112
|
+
def support?(predicate); end
|
113
|
+
|
114
|
+
# @api private
|
115
|
+
#
|
116
|
+
# source://dry-schema//lib/dry/schema/compiler.rb#19
|
117
|
+
def visit_and(node); end
|
118
|
+
|
119
|
+
# Build a special rule that will produce namespaced failures
|
120
|
+
#
|
121
|
+
# This is needed for schemas that are namespaced and they are
|
122
|
+
# used as nested schemas
|
123
|
+
#
|
124
|
+
# @api private
|
125
|
+
# @param node [Array]
|
126
|
+
# @param _opts [Hash] Unused
|
127
|
+
# @return [NamespacedRule]
|
128
|
+
#
|
129
|
+
# source://dry-schema//lib/dry/schema/compiler.rb#34
|
130
|
+
def visit_namespace(node, _opts = T.unsafe(nil)); end
|
131
|
+
|
132
|
+
class << self
|
133
|
+
# Builds a default compiler instance with custom predicate registry
|
134
|
+
#
|
135
|
+
# @api private
|
136
|
+
# @return [Compiler]
|
137
|
+
#
|
138
|
+
# source://dry-schema//lib/dry/schema/compiler.rb#14
|
139
|
+
def new(predicates = T.unsafe(nil)); end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
# Schema definition configuration class
|
144
|
+
#
|
145
|
+
# @api public
|
146
|
+
# @see DSL#configure
|
147
|
+
#
|
148
|
+
# source://dry-schema//lib/dry/schema/config.rb#14
|
149
|
+
class Dry::Schema::Config
|
150
|
+
include ::Dry::Configurable::Initializer
|
151
|
+
include ::Dry::Core::Constants
|
152
|
+
include ::Dry::Configurable
|
153
|
+
include ::Dry::Configurable::Methods
|
154
|
+
include ::Dry::Configurable::InstanceMethods
|
155
|
+
include ::Dry::Core::Equalizer::Methods
|
156
|
+
extend ::Dry::Configurable::Methods
|
157
|
+
extend ::Dry::Configurable::ClassMethods
|
158
|
+
|
159
|
+
# @api private
|
160
|
+
#
|
161
|
+
# source://dry-schema//lib/dry/schema/config.rb#68
|
162
|
+
def inspect; end
|
163
|
+
|
164
|
+
private
|
165
|
+
|
166
|
+
# Forward to the underlying config object
|
167
|
+
#
|
168
|
+
# @api private
|
169
|
+
#
|
170
|
+
# source://dry-schema//lib/dry/schema/config.rb#77
|
171
|
+
def method_missing(meth, *_arg1, **_arg2, &_arg3); end
|
172
|
+
|
173
|
+
# @api private
|
174
|
+
# @return [Boolean]
|
175
|
+
#
|
176
|
+
# source://dry-schema//lib/dry/schema/config.rb#63
|
177
|
+
def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
|
178
|
+
end
|
179
|
+
|
180
|
+
# Path to the default set of localized messages bundled within the gem
|
181
|
+
#
|
182
|
+
# @api public
|
183
|
+
#
|
184
|
+
# source://dry-schema//lib/dry/schema/constants.rb#27
|
185
|
+
Dry::Schema::DEFAULT_MESSAGES_PATH = T.let(T.unsafe(nil), Pathname)
|
186
|
+
|
187
|
+
# Default namespace used for localized messages in YAML files
|
188
|
+
#
|
189
|
+
# @api public
|
190
|
+
#
|
191
|
+
# source://dry-schema//lib/dry/schema/constants.rb#30
|
192
|
+
Dry::Schema::DEFAULT_MESSAGES_ROOT = T.let(T.unsafe(nil), String)
|
193
|
+
|
194
|
+
# @api public
|
195
|
+
#
|
196
|
+
# source://dry-schema//lib/dry/schema/constants.rb#15
|
197
|
+
Dry::Schema::DOT = T.let(T.unsafe(nil), String)
|
198
|
+
|
199
|
+
# The schema definition DSL class
|
200
|
+
#
|
201
|
+
# The DSL is exposed by:
|
202
|
+
# - `Schema.define`
|
203
|
+
# - `Schema.Params`
|
204
|
+
# - `Schema.JSON`
|
205
|
+
# - `Schema::Params.define` - use with sub-classes
|
206
|
+
# - `Schema::JSON.define` - use with sub-classes
|
207
|
+
#
|
208
|
+
# @api public
|
209
|
+
# @example class-based definition
|
210
|
+
# class UserSchema < Dry::Schema::Params
|
211
|
+
# define do
|
212
|
+
# required(:name).filled
|
213
|
+
# required(:age).filled(:integer, gt: 18)
|
214
|
+
# end
|
215
|
+
# end
|
216
|
+
#
|
217
|
+
# user_schema = UserSchema.new
|
218
|
+
# user_schema.(name: 'Jame', age: 21)
|
219
|
+
# @example instance-based definition shortcut
|
220
|
+
# UserSchema = Dry::Schema.Params do
|
221
|
+
# required(:name).filled
|
222
|
+
# required(:age).filled(:integer, gt: 18)
|
223
|
+
# end
|
224
|
+
#
|
225
|
+
# UserSchema.(name: 'Jame', age: 21)
|
226
|
+
#
|
227
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#37
|
228
|
+
class Dry::Schema::DSL
|
229
|
+
include ::Dry::Initializer::Mixin::Root
|
230
|
+
extend ::Dry::Initializer
|
231
|
+
|
232
|
+
# Return a macro with the provided name
|
233
|
+
#
|
234
|
+
# @api public
|
235
|
+
# @param name [Symbol]
|
236
|
+
# @return [Macros::Core]
|
237
|
+
#
|
238
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#124
|
239
|
+
def [](name); end
|
240
|
+
|
241
|
+
# Method allows steps injection to the processor
|
242
|
+
#
|
243
|
+
# @api public
|
244
|
+
# @example
|
245
|
+
# after(:rule_applier) do |input|
|
246
|
+
# input.compact
|
247
|
+
# end
|
248
|
+
# @return [DSL]
|
249
|
+
#
|
250
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#267
|
251
|
+
def after(key, &_arg1); end
|
252
|
+
|
253
|
+
# A shortcut for defining an array type with a member
|
254
|
+
#
|
255
|
+
# @api public
|
256
|
+
# @example
|
257
|
+
# required(:tags).filled(array[:string])
|
258
|
+
# @return [Dry::Types::Array::Member]
|
259
|
+
#
|
260
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#238
|
261
|
+
def array; end
|
262
|
+
|
263
|
+
# Method allows steps injection to the processor
|
264
|
+
#
|
265
|
+
# @api public
|
266
|
+
# @example
|
267
|
+
# before(:rule_applier) do |input|
|
268
|
+
# input.compact
|
269
|
+
# end
|
270
|
+
# @return [DSL]
|
271
|
+
#
|
272
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#252
|
273
|
+
def before(key, &_arg1); end
|
274
|
+
|
275
|
+
# Build a processor based on DSL's definitions
|
276
|
+
#
|
277
|
+
# @api private
|
278
|
+
# @return [Processor, Params, JSON]
|
279
|
+
#
|
280
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#195
|
281
|
+
def call; end
|
282
|
+
|
283
|
+
# @api private
|
284
|
+
#
|
285
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#108
|
286
|
+
def compiler; end
|
287
|
+
|
288
|
+
# Provide customized configuration for your schema
|
289
|
+
#
|
290
|
+
# @api public
|
291
|
+
# @example
|
292
|
+
# Dry::Schema.define do
|
293
|
+
# configure do |config|
|
294
|
+
# config.messages.backend = :i18n
|
295
|
+
# end
|
296
|
+
# end
|
297
|
+
# @return [DSL]
|
298
|
+
# @see Config
|
299
|
+
#
|
300
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#102
|
301
|
+
def configure(&_arg0); end
|
302
|
+
|
303
|
+
# Check if a custom type was set under provided key name
|
304
|
+
#
|
305
|
+
# @api private
|
306
|
+
# @return [Bool]
|
307
|
+
#
|
308
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#328
|
309
|
+
def custom_type?(name); end
|
310
|
+
|
311
|
+
# Check if any filter rules were defined
|
312
|
+
#
|
313
|
+
# @api private
|
314
|
+
# @return [Boolean]
|
315
|
+
#
|
316
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#365
|
317
|
+
def filter_rules?; end
|
318
|
+
|
319
|
+
# @api private
|
320
|
+
#
|
321
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#349
|
322
|
+
def filter_schema; end
|
323
|
+
|
324
|
+
# Build an input schema DSL used by `filter` API
|
325
|
+
#
|
326
|
+
# @api private
|
327
|
+
# @see Macros::Value#filter
|
328
|
+
#
|
329
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#358
|
330
|
+
def filter_schema_dsl; end
|
331
|
+
|
332
|
+
# A generic method for defining keys
|
333
|
+
#
|
334
|
+
# @api public
|
335
|
+
# @param name [Symbol] The key name
|
336
|
+
# @param macro [Class] The macro sub-class (ie `Macros::Required` or
|
337
|
+
# any other `Macros::Key` subclass)
|
338
|
+
# @raise [ArgumentError]
|
339
|
+
# @return [Macros::Key]
|
340
|
+
#
|
341
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#173
|
342
|
+
def key(name, macro:, &_arg2); end
|
343
|
+
|
344
|
+
# Merge with another dsl
|
345
|
+
#
|
346
|
+
# @api private
|
347
|
+
# @return [DSL]
|
348
|
+
#
|
349
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#214
|
350
|
+
def merge(other); end
|
351
|
+
|
352
|
+
# @api private
|
353
|
+
#
|
354
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#381
|
355
|
+
def merge_types(op_class, lhs, rhs); end
|
356
|
+
|
357
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#76
|
358
|
+
def meta(key_name, meta_key, value); end
|
359
|
+
|
360
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#82
|
361
|
+
def meta_data; end
|
362
|
+
|
363
|
+
# Return a new DSL instance using the same processor type
|
364
|
+
#
|
365
|
+
# @api private
|
366
|
+
# @return [Dry::Types::Safe]
|
367
|
+
#
|
368
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#304
|
369
|
+
def new(klass: T.unsafe(nil), **options, &_arg2); end
|
370
|
+
|
371
|
+
# Define an optional key
|
372
|
+
#
|
373
|
+
# This works exactly the same as `required` except that if a key is not present
|
374
|
+
# rules will not be applied
|
375
|
+
#
|
376
|
+
# @api public
|
377
|
+
# @param name [Symbol] The key name
|
378
|
+
# @return [Macros::Optional]
|
379
|
+
# @see DSL#required
|
380
|
+
#
|
381
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#160
|
382
|
+
def optional(name, &_arg1); end
|
383
|
+
|
384
|
+
# The parent (last from parents) which is used for copying non mergeable configuration
|
385
|
+
#
|
386
|
+
# @api public
|
387
|
+
# @return DSL
|
388
|
+
#
|
389
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#277
|
390
|
+
def parent; end
|
391
|
+
|
392
|
+
# @api private
|
393
|
+
#
|
394
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#113
|
395
|
+
def predicates; end
|
396
|
+
|
397
|
+
# Define a required key
|
398
|
+
#
|
399
|
+
# @api public
|
400
|
+
# @example
|
401
|
+
# required(:name).filled
|
402
|
+
#
|
403
|
+
# required(:age).value(:integer)
|
404
|
+
#
|
405
|
+
# required(:user_limit).value(:integer, gt?: 0)
|
406
|
+
#
|
407
|
+
# required(:tags).filled { array? | str? }
|
408
|
+
# @param name [Symbol] The key name
|
409
|
+
# @return [Macros::Required]
|
410
|
+
#
|
411
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#144
|
412
|
+
def required(name, &_arg1); end
|
413
|
+
|
414
|
+
# Resolve type object from the provided spec
|
415
|
+
#
|
416
|
+
# @api private
|
417
|
+
# @param spec [Symbol, Array<Symbol>, Dry::Types::Type]
|
418
|
+
# @return [Dry::Types::Type]
|
419
|
+
#
|
420
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#339
|
421
|
+
def resolve_type(spec); end
|
422
|
+
|
423
|
+
# Set a type for the given key name
|
424
|
+
#
|
425
|
+
# @api private
|
426
|
+
# @param name [Symbol] The key name
|
427
|
+
# @param spec [Symbol, Array<Symbol>, Dry::Types::Type] The type spec or a type object
|
428
|
+
# @return [Dry::Types::Safe]
|
429
|
+
#
|
430
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#316
|
431
|
+
def set_type(name, spec); end
|
432
|
+
|
433
|
+
# Return type schema used when composing subschemas
|
434
|
+
#
|
435
|
+
# @api private
|
436
|
+
# @return [Dry::Types::Schema]
|
437
|
+
#
|
438
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#295
|
439
|
+
def strict_type_schema; end
|
440
|
+
|
441
|
+
# Cast this DSL into a rule object
|
442
|
+
#
|
443
|
+
# @api public
|
444
|
+
# @return [RuleApplier]
|
445
|
+
#
|
446
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#226
|
447
|
+
def to_rule; end
|
448
|
+
|
449
|
+
# Return type schema used by the value coercer
|
450
|
+
#
|
451
|
+
# @api private
|
452
|
+
# @return [Dry::Types::Lax]
|
453
|
+
#
|
454
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#286
|
455
|
+
def type_schema; end
|
456
|
+
|
457
|
+
# This DSL's type map merged with any parent type maps
|
458
|
+
#
|
459
|
+
# @api private
|
460
|
+
#
|
461
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#376
|
462
|
+
def types; end
|
463
|
+
|
464
|
+
protected
|
465
|
+
|
466
|
+
# Build a key map from defined types
|
467
|
+
#
|
468
|
+
# @api protected
|
469
|
+
#
|
470
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#408
|
471
|
+
def key_map(types = T.unsafe(nil)); end
|
472
|
+
|
473
|
+
# Build a rule applier
|
474
|
+
#
|
475
|
+
# @api protected
|
476
|
+
# @return [RuleApplier]
|
477
|
+
#
|
478
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#392
|
479
|
+
def rule_applier; end
|
480
|
+
|
481
|
+
# Build rules from defined macros
|
482
|
+
#
|
483
|
+
# @api protected
|
484
|
+
# @see #rule_applier
|
485
|
+
#
|
486
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#401
|
487
|
+
def rules; end
|
488
|
+
|
489
|
+
private
|
490
|
+
|
491
|
+
# @api private
|
492
|
+
#
|
493
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#501
|
494
|
+
def default_config; end
|
495
|
+
|
496
|
+
# Build a key coercer
|
497
|
+
#
|
498
|
+
# @api private
|
499
|
+
# @return [KeyCoercer]
|
500
|
+
#
|
501
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#440
|
502
|
+
def key_coercer; end
|
503
|
+
|
504
|
+
# Return key map type configured by the processor type
|
505
|
+
#
|
506
|
+
# @api private
|
507
|
+
#
|
508
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#466
|
509
|
+
def key_map_type; end
|
510
|
+
|
511
|
+
# Build a key spec needed by the key map
|
512
|
+
#
|
513
|
+
# TODO: we need a key-map compiler using Types AST
|
514
|
+
#
|
515
|
+
# @api private
|
516
|
+
#
|
517
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#475
|
518
|
+
def key_spec(name, type); end
|
519
|
+
|
520
|
+
# Build a key validator
|
521
|
+
#
|
522
|
+
# @api private
|
523
|
+
# @return [KeyValidator]
|
524
|
+
#
|
525
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#431
|
526
|
+
def key_validator; end
|
527
|
+
|
528
|
+
# @api private
|
529
|
+
#
|
530
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#422
|
531
|
+
def parent_filter_schemas; end
|
532
|
+
|
533
|
+
# @api private
|
534
|
+
#
|
535
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#496
|
536
|
+
def parent_key_map; end
|
537
|
+
|
538
|
+
# @api private
|
539
|
+
#
|
540
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#491
|
541
|
+
def parent_rules; end
|
542
|
+
|
543
|
+
# Return type registry configured by the processor type
|
544
|
+
#
|
545
|
+
# @api private
|
546
|
+
#
|
547
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#456
|
548
|
+
def type_registry; end
|
549
|
+
|
550
|
+
# @api public
|
551
|
+
#
|
552
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#512
|
553
|
+
def types_merger; end
|
554
|
+
|
555
|
+
# Build a value coercer
|
556
|
+
#
|
557
|
+
# @api private
|
558
|
+
# @return [ValueCoercer]
|
559
|
+
#
|
560
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#449
|
561
|
+
def value_coercer; end
|
562
|
+
|
563
|
+
class << self
|
564
|
+
# Build a new DSL object and evaluate provided block
|
565
|
+
#
|
566
|
+
# @api public
|
567
|
+
# @option options
|
568
|
+
# @option options
|
569
|
+
# @option options
|
570
|
+
# @option options
|
571
|
+
# @param options [Hash]
|
572
|
+
# @return [DSL]
|
573
|
+
# @see Schema.define
|
574
|
+
# @see Schema.Params
|
575
|
+
# @see Schema.JSON
|
576
|
+
# @see Processor.define
|
577
|
+
#
|
578
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#81
|
579
|
+
def new(**options, &_arg1); end
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
# @api public
|
584
|
+
#
|
585
|
+
# source://dry-schema//lib/dry/schema/dsl.rb#38
|
586
|
+
Dry::Schema::DSL::Types = Dry::Schema::Types
|
587
|
+
|
588
|
+
# An error raised when DSL is used in an incorrect way
|
589
|
+
#
|
590
|
+
# @api public
|
591
|
+
#
|
592
|
+
# source://dry-schema//lib/dry/schema/constants.rb#33
|
593
|
+
class Dry::Schema::InvalidSchemaError < ::StandardError; end
|
594
|
+
|
595
|
+
# JSON schema type
|
596
|
+
#
|
597
|
+
# @api public
|
598
|
+
# @see Processor
|
599
|
+
# @see Schema#JSON
|
600
|
+
#
|
601
|
+
# source://dry-schema//lib/dry/schema/json.rb#11
|
602
|
+
class Dry::Schema::JSON < ::Dry::Schema::Processor; end
|
603
|
+
|
604
|
+
# Key objects used by key maps
|
605
|
+
#
|
606
|
+
# @api public
|
607
|
+
#
|
608
|
+
# source://dry-schema//lib/dry/schema/key.rb#8
|
609
|
+
class Dry::Schema::Key
|
610
|
+
include ::Dry::Core::Cache::Methods
|
611
|
+
include ::Dry::Core::Equalizer::Methods
|
612
|
+
extend ::Dry::Core::Cache
|
613
|
+
|
614
|
+
# @api private
|
615
|
+
# @return [Key] a new instance of Key
|
616
|
+
#
|
617
|
+
# source://dry-schema//lib/dry/schema/key.rb#35
|
618
|
+
def initialize(id, name: T.unsafe(nil), coercer: T.unsafe(nil)); end
|
619
|
+
|
620
|
+
# @api public
|
621
|
+
# @return [Proc, #call] A key name coercer function
|
622
|
+
#
|
623
|
+
# source://dry-schema//lib/dry/schema/key.rb#22
|
624
|
+
def coercer; end
|
625
|
+
|
626
|
+
# @api private
|
627
|
+
#
|
628
|
+
# source://dry-schema//lib/dry/schema/key.rb#58
|
629
|
+
def coercible(&coercer); end
|
630
|
+
|
631
|
+
# @api private
|
632
|
+
#
|
633
|
+
# source://dry-schema//lib/dry/schema/key.rb#78
|
634
|
+
def dump; end
|
635
|
+
|
636
|
+
# @api public
|
637
|
+
# @return [Symbol] The key identifier
|
638
|
+
#
|
639
|
+
# source://dry-schema//lib/dry/schema/key.rb#16
|
640
|
+
def id; end
|
641
|
+
|
642
|
+
# @api public
|
643
|
+
# @return [Symbol, String, Object] The actual key name expected in an input hash
|
644
|
+
#
|
645
|
+
# source://dry-schema//lib/dry/schema/key.rb#19
|
646
|
+
def name; end
|
647
|
+
|
648
|
+
# @api private
|
649
|
+
#
|
650
|
+
# source://dry-schema//lib/dry/schema/key.rb#73
|
651
|
+
def new(**new_opts); end
|
652
|
+
|
653
|
+
# @api private
|
654
|
+
#
|
655
|
+
# source://dry-schema//lib/dry/schema/key.rb#42
|
656
|
+
def read(source); end
|
657
|
+
|
658
|
+
# @api private
|
659
|
+
#
|
660
|
+
# source://dry-schema//lib/dry/schema/key.rb#63
|
661
|
+
def stringified; end
|
662
|
+
|
663
|
+
# @api private
|
664
|
+
#
|
665
|
+
# source://dry-schema//lib/dry/schema/key.rb#68
|
666
|
+
def to_dot_notation; end
|
667
|
+
|
668
|
+
# @api private
|
669
|
+
#
|
670
|
+
# source://dry-schema//lib/dry/schema/key.rb#53
|
671
|
+
def write(source, target); end
|
672
|
+
|
673
|
+
private
|
674
|
+
|
675
|
+
# @api private
|
676
|
+
#
|
677
|
+
# source://dry-schema//lib/dry/schema/key.rb#85
|
678
|
+
def coerced_name; end
|
679
|
+
|
680
|
+
class << self
|
681
|
+
# @api private
|
682
|
+
#
|
683
|
+
# source://dry-schema//lib/dry/schema/key.rb#25
|
684
|
+
def [](name, **opts); end
|
685
|
+
|
686
|
+
# @api private
|
687
|
+
#
|
688
|
+
# source://dry-schema//lib/dry/schema/key.rb#30
|
689
|
+
def new(*args, **kwargs); end
|
690
|
+
end
|
691
|
+
end
|
692
|
+
|
693
|
+
# A specialized key type which handles nested arrays
|
694
|
+
#
|
695
|
+
# @api private
|
696
|
+
#
|
697
|
+
# source://dry-schema//lib/dry/schema/key.rb#139
|
698
|
+
class Dry::Schema::Key::Array < ::Dry::Schema::Key
|
699
|
+
# @api private
|
700
|
+
# @return [Array] a new instance of Array
|
701
|
+
#
|
702
|
+
# source://dry-schema//lib/dry/schema/key.rb#145
|
703
|
+
def initialize(id, member:, **opts); end
|
704
|
+
|
705
|
+
# @api private
|
706
|
+
#
|
707
|
+
# source://dry-schema//lib/dry/schema/key.rb#163
|
708
|
+
def coercible(&coercer); end
|
709
|
+
|
710
|
+
# @api private
|
711
|
+
#
|
712
|
+
# source://dry-schema//lib/dry/schema/key.rb#178
|
713
|
+
def dump; end
|
714
|
+
|
715
|
+
# @api private
|
716
|
+
#
|
717
|
+
# source://dry-schema//lib/dry/schema/key.rb#142
|
718
|
+
def member; end
|
719
|
+
|
720
|
+
# @api private
|
721
|
+
#
|
722
|
+
# source://dry-schema//lib/dry/schema/key.rb#168
|
723
|
+
def stringified; end
|
724
|
+
|
725
|
+
# @api private
|
726
|
+
#
|
727
|
+
# source://dry-schema//lib/dry/schema/key.rb#173
|
728
|
+
def to_dot_notation; end
|
729
|
+
|
730
|
+
# @api private
|
731
|
+
#
|
732
|
+
# source://dry-schema//lib/dry/schema/key.rb#151
|
733
|
+
def write(source, target); end
|
734
|
+
end
|
735
|
+
|
736
|
+
# @api public
|
737
|
+
#
|
738
|
+
# source://dry-schema//lib/dry/schema/key.rb#11
|
739
|
+
Dry::Schema::Key::DEFAULT_COERCER = T.let(T.unsafe(nil), Proc)
|
740
|
+
|
741
|
+
# A specialized key type which handles nested hashes
|
742
|
+
#
|
743
|
+
# @api private
|
744
|
+
#
|
745
|
+
# source://dry-schema//lib/dry/schema/key.rb#92
|
746
|
+
class Dry::Schema::Key::Hash < ::Dry::Schema::Key
|
747
|
+
# @api private
|
748
|
+
# @return [Hash] a new instance of Hash
|
749
|
+
#
|
750
|
+
# source://dry-schema//lib/dry/schema/key.rb#99
|
751
|
+
def initialize(id, members:, **opts); end
|
752
|
+
|
753
|
+
# @api private
|
754
|
+
#
|
755
|
+
# source://dry-schema//lib/dry/schema/key.rb#116
|
756
|
+
def coercible(&coercer); end
|
757
|
+
|
758
|
+
# @api private
|
759
|
+
#
|
760
|
+
# source://dry-schema//lib/dry/schema/key.rb#131
|
761
|
+
def dump; end
|
762
|
+
|
763
|
+
# @api private
|
764
|
+
#
|
765
|
+
# source://dry-schema//lib/dry/schema/key.rb#96
|
766
|
+
def members; end
|
767
|
+
|
768
|
+
# @api private
|
769
|
+
#
|
770
|
+
# source://dry-schema//lib/dry/schema/key.rb#105
|
771
|
+
def read(source); end
|
772
|
+
|
773
|
+
# @api private
|
774
|
+
#
|
775
|
+
# source://dry-schema//lib/dry/schema/key.rb#121
|
776
|
+
def stringified; end
|
777
|
+
|
778
|
+
# @api private
|
779
|
+
#
|
780
|
+
# source://dry-schema//lib/dry/schema/key.rb#126
|
781
|
+
def to_dot_notation; end
|
782
|
+
|
783
|
+
# @api private
|
784
|
+
#
|
785
|
+
# source://dry-schema//lib/dry/schema/key.rb#109
|
786
|
+
def write(source, target); end
|
787
|
+
end
|
788
|
+
|
789
|
+
# Coerces keys in a hash using provided coercer function
|
790
|
+
#
|
791
|
+
# @api private
|
792
|
+
#
|
793
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#11
|
794
|
+
class Dry::Schema::KeyCoercer
|
795
|
+
include ::Dry::Core::Cache::Methods
|
796
|
+
include ::Dry::Core::Equalizer::Methods
|
797
|
+
extend ::Dry::Core::Cache
|
798
|
+
|
799
|
+
# @api private
|
800
|
+
# @return [KeyCoercer] a new instance of KeyCoercer
|
801
|
+
#
|
802
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#30
|
803
|
+
def initialize(key_map, &_arg1); end
|
804
|
+
|
805
|
+
# @api private
|
806
|
+
#
|
807
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#35
|
808
|
+
def [](result); end
|
809
|
+
|
810
|
+
# @api private
|
811
|
+
#
|
812
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#35
|
813
|
+
def call(result); end
|
814
|
+
|
815
|
+
# @api private
|
816
|
+
#
|
817
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#17
|
818
|
+
def coercer; end
|
819
|
+
|
820
|
+
# @api private
|
821
|
+
#
|
822
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#17
|
823
|
+
def key_map; end
|
824
|
+
|
825
|
+
class << self
|
826
|
+
# @api private
|
827
|
+
#
|
828
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#20
|
829
|
+
def new(*args); end
|
830
|
+
|
831
|
+
# @api private
|
832
|
+
#
|
833
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#25
|
834
|
+
def symbolized(*args); end
|
835
|
+
end
|
836
|
+
end
|
837
|
+
|
838
|
+
# @api private
|
839
|
+
#
|
840
|
+
# source://dry-schema//lib/dry/schema/key_coercer.rb#15
|
841
|
+
Dry::Schema::KeyCoercer::TO_SYM = T.let(T.unsafe(nil), Proc)
|
842
|
+
|
843
|
+
# Represents a list of keys defined by the DSL
|
844
|
+
#
|
845
|
+
# KeyMap objects expose an API for introspecting schema keys and the ability
|
846
|
+
# to rebuild an input hash using configured coercer function.
|
847
|
+
#
|
848
|
+
# Instances of this class are used as the very first step by the schema processors.
|
849
|
+
#
|
850
|
+
# @api public
|
851
|
+
#
|
852
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#15
|
853
|
+
class Dry::Schema::KeyMap
|
854
|
+
include ::Dry::Core::Cache::Methods
|
855
|
+
include ::Dry::Core::Equalizer::Methods
|
856
|
+
include ::Enumerable
|
857
|
+
extend ::Dry::Core::Cache
|
858
|
+
|
859
|
+
# Set key objects
|
860
|
+
#
|
861
|
+
# @api private
|
862
|
+
# @return [KeyMap] a new instance of KeyMap
|
863
|
+
#
|
864
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#50
|
865
|
+
def initialize(keys); end
|
866
|
+
|
867
|
+
# Return a new key map merged with the provided one
|
868
|
+
#
|
869
|
+
# @api public
|
870
|
+
# @param other [KeyMap, Array] Either a key map or an array with key specs
|
871
|
+
# @return [KeyMap]
|
872
|
+
#
|
873
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#117
|
874
|
+
def +(other); end
|
875
|
+
|
876
|
+
# Return a new key map that is configured to coerce keys using provided coercer function
|
877
|
+
#
|
878
|
+
# @api public
|
879
|
+
# @return [KeyMap]
|
880
|
+
#
|
881
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#85
|
882
|
+
def coercible(&coercer); end
|
883
|
+
|
884
|
+
# Dump keys to their spec format
|
885
|
+
#
|
886
|
+
# @api public
|
887
|
+
# @return [Array]
|
888
|
+
#
|
889
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#131
|
890
|
+
def dump; end
|
891
|
+
|
892
|
+
# Iterate over keys
|
893
|
+
#
|
894
|
+
# @api public
|
895
|
+
#
|
896
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#108
|
897
|
+
def each(&_arg0); end
|
898
|
+
|
899
|
+
# Return a string representation of a key map
|
900
|
+
#
|
901
|
+
# @api public
|
902
|
+
# @return [String]
|
903
|
+
#
|
904
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#124
|
905
|
+
def inspect; end
|
906
|
+
|
907
|
+
# @api public
|
908
|
+
# @return [Array<Key>] A list of defined key objects
|
909
|
+
#
|
910
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#22
|
911
|
+
def keys; end
|
912
|
+
|
913
|
+
# Return a new key map with stringified keys
|
914
|
+
#
|
915
|
+
# A stringified key map is suitable for reading hashes with string keys
|
916
|
+
#
|
917
|
+
# @api public
|
918
|
+
# @return [KeyMap]
|
919
|
+
#
|
920
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#96
|
921
|
+
def stringified; end
|
922
|
+
|
923
|
+
# @api private
|
924
|
+
#
|
925
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#101
|
926
|
+
def to_dot_notation; end
|
927
|
+
|
928
|
+
# Write a new hash based on the source hash
|
929
|
+
#
|
930
|
+
# @api public
|
931
|
+
# @param source [Hash] The source hash
|
932
|
+
# @param target [Hash] The target hash
|
933
|
+
# @return [Hash]
|
934
|
+
#
|
935
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#75
|
936
|
+
def write(source, target = T.unsafe(nil)); end
|
937
|
+
|
938
|
+
class << self
|
939
|
+
# Coerce a list of key specs into a key map
|
940
|
+
#
|
941
|
+
# @api public
|
942
|
+
# @example
|
943
|
+
# KeyMap[:id, :name]
|
944
|
+
# KeyMap[:title, :artist, tags: [:name]]
|
945
|
+
# KeyMap[:title, :artist, [:tags]]
|
946
|
+
# @return [KeyMap]
|
947
|
+
#
|
948
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#34
|
949
|
+
def [](*keys); end
|
950
|
+
|
951
|
+
# Build new, or returned a cached instance of a key map
|
952
|
+
#
|
953
|
+
# @api public
|
954
|
+
# @param args [Array<Symbol>, Array, Hash<Symbol=>Array>]
|
955
|
+
# @return [KeyMap]
|
956
|
+
#
|
957
|
+
# source://dry-schema//lib/dry/schema/key_map.rb#43
|
958
|
+
def new(*args); end
|
959
|
+
end
|
960
|
+
end
|
961
|
+
|
962
|
+
# @api private
|
963
|
+
#
|
964
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#9
|
965
|
+
class Dry::Schema::KeyValidator
|
966
|
+
include ::Dry::Initializer::Mixin::Root
|
967
|
+
extend ::Dry::Initializer
|
968
|
+
|
969
|
+
# @api private
|
970
|
+
#
|
971
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#20
|
972
|
+
def call(result); end
|
973
|
+
|
974
|
+
private
|
975
|
+
|
976
|
+
# @api private
|
977
|
+
# @return [Boolean]
|
978
|
+
#
|
979
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#58
|
980
|
+
def any_key_paths_match?(key_paths, path); end
|
981
|
+
|
982
|
+
# @api private
|
983
|
+
#
|
984
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#65
|
985
|
+
def find_path(key_paths, path, prefix_match); end
|
986
|
+
|
987
|
+
# @api private
|
988
|
+
#
|
989
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#97
|
990
|
+
def hashes_or_arrays(xs); end
|
991
|
+
|
992
|
+
# @api private
|
993
|
+
#
|
994
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#71
|
995
|
+
def key_paths(hash); end
|
996
|
+
|
997
|
+
# @api private
|
998
|
+
# @return [Boolean]
|
999
|
+
#
|
1000
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#53
|
1001
|
+
def none_key_paths_match?(key_paths, path); end
|
1002
|
+
|
1003
|
+
# @api private
|
1004
|
+
#
|
1005
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#40
|
1006
|
+
def validate_path(key_paths, path); end
|
1007
|
+
end
|
1008
|
+
|
1009
|
+
# @api private
|
1010
|
+
#
|
1011
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#14
|
1012
|
+
Dry::Schema::KeyValidator::BRACKETS = T.let(T.unsafe(nil), String)
|
1013
|
+
|
1014
|
+
# @api private
|
1015
|
+
#
|
1016
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#13
|
1017
|
+
Dry::Schema::KeyValidator::DIGIT_REGEX = T.let(T.unsafe(nil), Regexp)
|
1018
|
+
|
1019
|
+
# @api private
|
1020
|
+
#
|
1021
|
+
# source://dry-schema//lib/dry/schema/key_validator.rb#12
|
1022
|
+
Dry::Schema::KeyValidator::INDEX_REGEX = T.let(T.unsafe(nil), Regexp)
|
1023
|
+
|
1024
|
+
# @api public
|
1025
|
+
#
|
1026
|
+
# source://dry-schema//lib/dry/schema/constants.rb#13
|
1027
|
+
Dry::Schema::LIST_SEPARATOR = T.let(T.unsafe(nil), String)
|
1028
|
+
|
1029
|
+
# @api public
|
1030
|
+
#
|
1031
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#5
|
1032
|
+
module Dry::Schema::Macros; end
|
1033
|
+
|
1034
|
+
# Macro used to specify predicates for each element of an array
|
1035
|
+
#
|
1036
|
+
# @api private
|
1037
|
+
#
|
1038
|
+
# source://dry-schema//lib/dry/schema/macros/array.rb#9
|
1039
|
+
class Dry::Schema::Macros::Array < ::Dry::Schema::Macros::DSL
|
1040
|
+
# @api private
|
1041
|
+
#
|
1042
|
+
# source://dry-schema//lib/dry/schema/macros/array.rb#47
|
1043
|
+
def ast(*_arg0); end
|
1044
|
+
|
1045
|
+
# @api private
|
1046
|
+
#
|
1047
|
+
# source://dry-schema//lib/dry/schema/macros/array.rb#47
|
1048
|
+
def to_ast(*_arg0); end
|
1049
|
+
|
1050
|
+
# @api private
|
1051
|
+
#
|
1052
|
+
# source://dry-schema//lib/dry/schema/macros/array.rb#13
|
1053
|
+
def value(*args, **opts, &block); end
|
1054
|
+
end
|
1055
|
+
|
1056
|
+
# Abstract macro class
|
1057
|
+
#
|
1058
|
+
# @api private
|
1059
|
+
#
|
1060
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#12
|
1061
|
+
class Dry::Schema::Macros::Core
|
1062
|
+
include ::Dry::Initializer::Mixin::Root
|
1063
|
+
extend ::Dry::Initializer
|
1064
|
+
|
1065
|
+
# @api private
|
1066
|
+
#
|
1067
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#43
|
1068
|
+
def ast(*_arg0); end
|
1069
|
+
|
1070
|
+
# @api private
|
1071
|
+
#
|
1072
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#28
|
1073
|
+
def new(**options); end
|
1074
|
+
|
1075
|
+
# @api private
|
1076
|
+
# @raise [NotImplementedError]
|
1077
|
+
#
|
1078
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#49
|
1079
|
+
def operation; end
|
1080
|
+
|
1081
|
+
# @api private
|
1082
|
+
#
|
1083
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#33
|
1084
|
+
def path; end
|
1085
|
+
|
1086
|
+
# @api private
|
1087
|
+
#
|
1088
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#43
|
1089
|
+
def to_ast(*_arg0); end
|
1090
|
+
|
1091
|
+
# @api private
|
1092
|
+
#
|
1093
|
+
# source://dry-schema//lib/dry/schema/macros/core.rb#38
|
1094
|
+
def to_rule; end
|
1095
|
+
end
|
1096
|
+
|
1097
|
+
# Macro specialization used within the DSL
|
1098
|
+
#
|
1099
|
+
# @api public
|
1100
|
+
#
|
1101
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#9
|
1102
|
+
class Dry::Schema::Macros::DSL < ::Dry::Schema::Macros::Core
|
1103
|
+
include ::Dry::Logic::Operators
|
1104
|
+
|
1105
|
+
# Like `each` but sets `array?` type-check
|
1106
|
+
#
|
1107
|
+
# @api public
|
1108
|
+
# @example a list of strings
|
1109
|
+
# required(:tags).array(:str?)
|
1110
|
+
# @example a list of hashes
|
1111
|
+
# required(:tags).array(:hash) do
|
1112
|
+
# required(:name).filled(:string)
|
1113
|
+
# end
|
1114
|
+
# @return [Macros::Core]
|
1115
|
+
#
|
1116
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#176
|
1117
|
+
def array(*_arg0, **_arg1, &_arg2); end
|
1118
|
+
|
1119
|
+
# @api private
|
1120
|
+
# @return [Boolean]
|
1121
|
+
#
|
1122
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#198
|
1123
|
+
def custom_type?; end
|
1124
|
+
|
1125
|
+
# Specify predicates that should be applied to each element of an array
|
1126
|
+
#
|
1127
|
+
# This is a simpler building block than `array` macro, use it
|
1128
|
+
# when you want to provide `array?` type-check with other rules
|
1129
|
+
# manually.
|
1130
|
+
#
|
1131
|
+
# @api public
|
1132
|
+
# @example a list of strings
|
1133
|
+
# required(:tags).value(:array, min_size?: 2).each(:str?)
|
1134
|
+
# @example a list of hashes
|
1135
|
+
# required(:tags).value(:array, min_size?: 2).each(:hash) do
|
1136
|
+
# required(:name).filled(:string)
|
1137
|
+
# end
|
1138
|
+
# @return [Macros::Core]
|
1139
|
+
#
|
1140
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#157
|
1141
|
+
def each(*_arg0, **_arg1, &_arg2); end
|
1142
|
+
|
1143
|
+
# Prepends `:filled?` predicate
|
1144
|
+
#
|
1145
|
+
# @api public
|
1146
|
+
# @example with a type spec
|
1147
|
+
# required(:name).filled(:string)
|
1148
|
+
# @example with a type spec and a predicate
|
1149
|
+
# required(:name).filled(:string, format?: /\w+/)
|
1150
|
+
# @return [Macros::Core]
|
1151
|
+
#
|
1152
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#80
|
1153
|
+
def filled(*args, **opts, &block); end
|
1154
|
+
|
1155
|
+
# Specify a nested hash with enforced `hash?` type-check
|
1156
|
+
#
|
1157
|
+
# @api public
|
1158
|
+
# @example
|
1159
|
+
# required(:tags).hash do
|
1160
|
+
# required(:name).value(:string)
|
1161
|
+
# end
|
1162
|
+
#
|
1163
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#134
|
1164
|
+
def hash(*_arg0, **_arg1, &_arg2); end
|
1165
|
+
|
1166
|
+
# Set type specification and predicates for a maybe value
|
1167
|
+
#
|
1168
|
+
# @api public
|
1169
|
+
# @example
|
1170
|
+
# required(:name).maybe(:string)
|
1171
|
+
# @return [Macros::Key]
|
1172
|
+
# @see Macros::Key#value
|
1173
|
+
#
|
1174
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#98
|
1175
|
+
def maybe(*args, **opts, &block); end
|
1176
|
+
|
1177
|
+
# Specify a nested hash without enforced `hash?` type-check
|
1178
|
+
#
|
1179
|
+
# This is a simpler building block than `hash` macro, use it
|
1180
|
+
# when you want to provide `hash?` type-check with other rules
|
1181
|
+
# manually.
|
1182
|
+
#
|
1183
|
+
# @api public
|
1184
|
+
# @example
|
1185
|
+
# required(:tags).value(:hash, min_size?: 1).schema do
|
1186
|
+
# required(:name).value(:string)
|
1187
|
+
# end
|
1188
|
+
# @return [Macros::Core]
|
1189
|
+
#
|
1190
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#120
|
1191
|
+
def schema(*_arg0, **_arg1, &_arg2); end
|
1192
|
+
|
1193
|
+
# Set type spec
|
1194
|
+
#
|
1195
|
+
# @api public
|
1196
|
+
# @example
|
1197
|
+
# required(:name).type(:string).value(min_size?: 2)
|
1198
|
+
# @param spec [Symbol, Array, Dry::Types::Type]
|
1199
|
+
# @return [Macros::Key]
|
1200
|
+
#
|
1201
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#192
|
1202
|
+
def type(spec); end
|
1203
|
+
|
1204
|
+
# @api public
|
1205
|
+
# @overload value
|
1206
|
+
# @return [Macros::Core]
|
1207
|
+
#
|
1208
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#55
|
1209
|
+
def value(*args, **opts, &block); end
|
1210
|
+
|
1211
|
+
private
|
1212
|
+
|
1213
|
+
# @api private
|
1214
|
+
# @yield [macro]
|
1215
|
+
#
|
1216
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#205
|
1217
|
+
def append_macro(macro_type); end
|
1218
|
+
|
1219
|
+
# @api private
|
1220
|
+
#
|
1221
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#222
|
1222
|
+
def extract_type_spec(args, nullable: T.unsafe(nil), set_type: T.unsafe(nil)); end
|
1223
|
+
|
1224
|
+
# @api private
|
1225
|
+
#
|
1226
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#259
|
1227
|
+
def resolve_type(type_spec, nullable); end
|
1228
|
+
|
1229
|
+
# @api private
|
1230
|
+
# @return [Boolean]
|
1231
|
+
#
|
1232
|
+
# source://dry-schema//lib/dry/schema/macros/dsl.rb#270
|
1233
|
+
def schema_or_predicate?(arg); end
|
1234
|
+
end
|
1235
|
+
|
1236
|
+
# Macro used to specify predicates for each element of an array
|
1237
|
+
#
|
1238
|
+
# @api private
|
1239
|
+
#
|
1240
|
+
# source://dry-schema//lib/dry/schema/macros/each.rb#9
|
1241
|
+
class Dry::Schema::Macros::Each < ::Dry::Schema::Macros::DSL
|
1242
|
+
# @api private
|
1243
|
+
#
|
1244
|
+
# source://dry-schema//lib/dry/schema/macros/each.rb#24
|
1245
|
+
def ast(*_arg0); end
|
1246
|
+
|
1247
|
+
# @api private
|
1248
|
+
#
|
1249
|
+
# source://dry-schema//lib/dry/schema/macros/each.rb#24
|
1250
|
+
def to_ast(*_arg0); end
|
1251
|
+
|
1252
|
+
# @api private
|
1253
|
+
#
|
1254
|
+
# source://dry-schema//lib/dry/schema/macros/each.rb#11
|
1255
|
+
def value(*args, **opts, &block); end
|
1256
|
+
end
|
1257
|
+
|
1258
|
+
# Macro used to prepend `:filled?` predicate
|
1259
|
+
#
|
1260
|
+
# @api private
|
1261
|
+
#
|
1262
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#9
|
1263
|
+
class Dry::Schema::Macros::Filled < ::Dry::Schema::Macros::Value
|
1264
|
+
# @api private
|
1265
|
+
#
|
1266
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#11
|
1267
|
+
def call(*predicates, **opts, &block); end
|
1268
|
+
|
1269
|
+
# @api private
|
1270
|
+
#
|
1271
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#26
|
1272
|
+
def ensure_valid_predicates(predicates); end
|
1273
|
+
|
1274
|
+
# @api private
|
1275
|
+
#
|
1276
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#47
|
1277
|
+
def expected_primitives; end
|
1278
|
+
|
1279
|
+
# @api private
|
1280
|
+
# @return [Boolean]
|
1281
|
+
#
|
1282
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#37
|
1283
|
+
def filter_empty_string?; end
|
1284
|
+
|
1285
|
+
# @api private
|
1286
|
+
#
|
1287
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#42
|
1288
|
+
def processor_config; end
|
1289
|
+
|
1290
|
+
# @api private
|
1291
|
+
#
|
1292
|
+
# source://dry-schema//lib/dry/schema/macros/filled.rb#52
|
1293
|
+
def schema_type; end
|
1294
|
+
end
|
1295
|
+
|
1296
|
+
# Macro used to specify a nested schema
|
1297
|
+
#
|
1298
|
+
# @api private
|
1299
|
+
#
|
1300
|
+
# source://dry-schema//lib/dry/schema/macros/hash.rb#9
|
1301
|
+
class Dry::Schema::Macros::Hash < ::Dry::Schema::Macros::Schema
|
1302
|
+
# @api private
|
1303
|
+
#
|
1304
|
+
# source://dry-schema//lib/dry/schema/macros/hash.rb#11
|
1305
|
+
def call(*args, &block); end
|
1306
|
+
|
1307
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#62
|
1308
|
+
def description(text); end
|
1309
|
+
end
|
1310
|
+
|
1311
|
+
# Base macro for specifying rules applied to a value found under a key
|
1312
|
+
#
|
1313
|
+
# @api public
|
1314
|
+
#
|
1315
|
+
# source://dry-schema//lib/dry/schema/macros/key.rb#9
|
1316
|
+
class Dry::Schema::Macros::Key < ::Dry::Schema::Macros::DSL
|
1317
|
+
# Specify predicates that should be applied before coercion
|
1318
|
+
#
|
1319
|
+
# @api public
|
1320
|
+
# @example check format before coercing to a date
|
1321
|
+
# required(:publish_date).filter(format?: /\d{4}-\d{2}-\d{2}).value(:date)
|
1322
|
+
# @return [Macros::Key]
|
1323
|
+
# @see Macros::Key#value
|
1324
|
+
#
|
1325
|
+
# source://dry-schema//lib/dry/schema/macros/key.rb#25
|
1326
|
+
def filter(*_arg0, **_arg1, &_arg2); end
|
1327
|
+
|
1328
|
+
# @api private
|
1329
|
+
#
|
1330
|
+
# source://dry-schema//lib/dry/schema/macros/key.rb#44
|
1331
|
+
def to_ast; end
|
1332
|
+
|
1333
|
+
# Coerce macro to a rule
|
1334
|
+
#
|
1335
|
+
# @api private
|
1336
|
+
# @return [Dry::Logic::Rule]
|
1337
|
+
#
|
1338
|
+
# source://dry-schema//lib/dry/schema/macros/key.rb#35
|
1339
|
+
def to_rule; end
|
1340
|
+
end
|
1341
|
+
|
1342
|
+
# Macro used to specify predicates for a value that can be `nil`
|
1343
|
+
#
|
1344
|
+
# @api private
|
1345
|
+
#
|
1346
|
+
# source://dry-schema//lib/dry/schema/macros/maybe.rb#9
|
1347
|
+
class Dry::Schema::Macros::Maybe < ::Dry::Schema::Macros::DSL
|
1348
|
+
# @api private
|
1349
|
+
#
|
1350
|
+
# source://dry-schema//lib/dry/schema/macros/maybe.rb#11
|
1351
|
+
def call(*args, **opts, &block); end
|
1352
|
+
|
1353
|
+
# @api private
|
1354
|
+
#
|
1355
|
+
# source://dry-schema//lib/dry/schema/macros/maybe.rb#28
|
1356
|
+
def to_ast; end
|
1357
|
+
end
|
1358
|
+
|
1359
|
+
# A Key specialization used for keys that can be skipped
|
1360
|
+
#
|
1361
|
+
# @api private
|
1362
|
+
#
|
1363
|
+
# source://dry-schema//lib/dry/schema/macros/optional.rb#9
|
1364
|
+
class Dry::Schema::Macros::Optional < ::Dry::Schema::Macros::Key
|
1365
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#45
|
1366
|
+
def description(text); end
|
1367
|
+
|
1368
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#52
|
1369
|
+
def hidden(hidden = T.unsafe(nil)); end
|
1370
|
+
|
1371
|
+
# @api private
|
1372
|
+
#
|
1373
|
+
# source://dry-schema//lib/dry/schema/macros/optional.rb#11
|
1374
|
+
def operation; end
|
1375
|
+
|
1376
|
+
# @api private
|
1377
|
+
#
|
1378
|
+
# source://dry-schema//lib/dry/schema/macros/optional.rb#16
|
1379
|
+
def to_rule; end
|
1380
|
+
end
|
1381
|
+
|
1382
|
+
# A Key specialization used for keys that must be present
|
1383
|
+
#
|
1384
|
+
# @api private
|
1385
|
+
#
|
1386
|
+
# source://dry-schema//lib/dry/schema/macros/required.rb#9
|
1387
|
+
class Dry::Schema::Macros::Required < ::Dry::Schema::Macros::Key
|
1388
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#28
|
1389
|
+
def description(text); end
|
1390
|
+
|
1391
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#35
|
1392
|
+
def hidden(hidden = T.unsafe(nil)); end
|
1393
|
+
|
1394
|
+
# @api private
|
1395
|
+
#
|
1396
|
+
# source://dry-schema//lib/dry/schema/macros/required.rb#11
|
1397
|
+
def operation; end
|
1398
|
+
end
|
1399
|
+
|
1400
|
+
# Macro used to specify a nested schema
|
1401
|
+
#
|
1402
|
+
# @api private
|
1403
|
+
#
|
1404
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#9
|
1405
|
+
class Dry::Schema::Macros::Schema < ::Dry::Schema::Macros::Value
|
1406
|
+
# @api private
|
1407
|
+
#
|
1408
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#11
|
1409
|
+
def call(*args, &block); end
|
1410
|
+
|
1411
|
+
private
|
1412
|
+
|
1413
|
+
# @api private
|
1414
|
+
#
|
1415
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#58
|
1416
|
+
def define(*args, &_arg1); end
|
1417
|
+
|
1418
|
+
# @api private
|
1419
|
+
#
|
1420
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#35
|
1421
|
+
def hash_type; end
|
1422
|
+
|
1423
|
+
# @api private
|
1424
|
+
#
|
1425
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#40
|
1426
|
+
def merge_operation_types(op); end
|
1427
|
+
|
1428
|
+
# @api private
|
1429
|
+
# @return [Boolean]
|
1430
|
+
#
|
1431
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#87
|
1432
|
+
def optional?; end
|
1433
|
+
|
1434
|
+
# @api private
|
1435
|
+
#
|
1436
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#82
|
1437
|
+
def parent_type; end
|
1438
|
+
|
1439
|
+
# @api private
|
1440
|
+
#
|
1441
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#30
|
1442
|
+
def process_operation(op); end
|
1443
|
+
|
1444
|
+
# @api private
|
1445
|
+
# @return [Boolean]
|
1446
|
+
#
|
1447
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#97
|
1448
|
+
def redefined_schema?(args); end
|
1449
|
+
|
1450
|
+
# @api private
|
1451
|
+
# @return [Boolean]
|
1452
|
+
#
|
1453
|
+
# source://dry-schema//lib/dry/schema/macros/schema.rb#92
|
1454
|
+
def schema?; end
|
1455
|
+
end
|
1456
|
+
|
1457
|
+
# A macro used for specifying predicates to be applied to values from a hash
|
1458
|
+
#
|
1459
|
+
# @api private
|
1460
|
+
#
|
1461
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#9
|
1462
|
+
class Dry::Schema::Macros::Value < ::Dry::Schema::Macros::DSL
|
1463
|
+
# @api private
|
1464
|
+
# @return [Boolean]
|
1465
|
+
#
|
1466
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#74
|
1467
|
+
def array_type?(type); end
|
1468
|
+
|
1469
|
+
# @api private
|
1470
|
+
#
|
1471
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#89
|
1472
|
+
def build_array_type(array_type, member); end
|
1473
|
+
|
1474
|
+
# @api private
|
1475
|
+
#
|
1476
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#15
|
1477
|
+
def call(*args, **opts, &_arg2); end
|
1478
|
+
|
1479
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#11
|
1480
|
+
def description(text); end
|
1481
|
+
|
1482
|
+
# @api private
|
1483
|
+
# @return [Boolean]
|
1484
|
+
#
|
1485
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#79
|
1486
|
+
def hash_type?(type); end
|
1487
|
+
|
1488
|
+
# source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#18
|
1489
|
+
def hidden(hidden = T.unsafe(nil)); end
|
1490
|
+
|
1491
|
+
# @api private
|
1492
|
+
#
|
1493
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#103
|
1494
|
+
def import_steps(schema); end
|
1495
|
+
|
1496
|
+
# @api private
|
1497
|
+
# @return [Boolean]
|
1498
|
+
#
|
1499
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#84
|
1500
|
+
def maybe_type?(type); end
|
1501
|
+
|
1502
|
+
private
|
1503
|
+
|
1504
|
+
# @api private
|
1505
|
+
#
|
1506
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#115
|
1507
|
+
def method_missing(meth, *_arg1, **_arg2, &_arg3); end
|
1508
|
+
|
1509
|
+
# @api private
|
1510
|
+
# @return [Boolean]
|
1511
|
+
#
|
1512
|
+
# source://dry-schema//lib/dry/schema/macros/value.rb#108
|
1513
|
+
def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
|
1514
|
+
end
|
1515
|
+
|
1516
|
+
# Message objects used by message sets
|
1517
|
+
#
|
1518
|
+
# @api public
|
1519
|
+
#
|
1520
|
+
# source://dry-schema//lib/dry/schema/message.rb#10
|
1521
|
+
class Dry::Schema::Message
|
1522
|
+
include ::Dry::Core::Equalizer::Methods
|
1523
|
+
include ::Dry::Initializer::Mixin::Root
|
1524
|
+
extend ::Dry::Initializer
|
1525
|
+
|
1526
|
+
# See which message is higher in the hierarchy
|
1527
|
+
#
|
1528
|
+
# @api private
|
1529
|
+
#
|
1530
|
+
# source://dry-schema//lib/dry/schema/message.rb#92
|
1531
|
+
def <=>(other); end
|
1532
|
+
|
1533
|
+
# @api private
|
1534
|
+
#
|
1535
|
+
# source://dry-schema//lib/dry/schema/message.rb#104
|
1536
|
+
def _path; end
|
1537
|
+
|
1538
|
+
# Dump the message to a representation suitable for the message set hash
|
1539
|
+
#
|
1540
|
+
# @api public
|
1541
|
+
# @return [String, Hash]
|
1542
|
+
#
|
1543
|
+
# source://dry-schema//lib/dry/schema/message.rb#50
|
1544
|
+
def dump; end
|
1545
|
+
|
1546
|
+
# See if another message is the same
|
1547
|
+
#
|
1548
|
+
# If a string is passed, it will be compared with the text
|
1549
|
+
#
|
1550
|
+
# @api private
|
1551
|
+
# @param other [Message, String]
|
1552
|
+
# @return [Boolean]
|
1553
|
+
#
|
1554
|
+
# source://dry-schema//lib/dry/schema/message.rb#77
|
1555
|
+
def eql?(other); end
|
1556
|
+
|
1557
|
+
# Dump the message into a hash
|
1558
|
+
#
|
1559
|
+
# The hash will be deeply nested if the path's size is greater than 1
|
1560
|
+
#
|
1561
|
+
# @api public
|
1562
|
+
# @return [Hash]
|
1563
|
+
# @see Message#to_h
|
1564
|
+
#
|
1565
|
+
# source://dry-schema//lib/dry/schema/message.rb#64
|
1566
|
+
def to_h; end
|
1567
|
+
|
1568
|
+
# @api private
|
1569
|
+
#
|
1570
|
+
# source://dry-schema//lib/dry/schema/message.rb#82
|
1571
|
+
def to_or(root); end
|
1572
|
+
|
1573
|
+
# Dump the message to a representation suitable for the message set hash
|
1574
|
+
#
|
1575
|
+
# @api public
|
1576
|
+
# @return [String, Hash]
|
1577
|
+
#
|
1578
|
+
# source://dry-schema//lib/dry/schema/message.rb#50
|
1579
|
+
def to_s; end
|
1580
|
+
end
|
1581
|
+
|
1582
|
+
# Hints extension for Or messages
|
1583
|
+
#
|
1584
|
+
# @api public
|
1585
|
+
# @see Message::Or
|
1586
|
+
#
|
1587
|
+
# source://dry-schema//lib/dry/schema/message/or.rb#9
|
1588
|
+
module Dry::Schema::Message::Or
|
1589
|
+
class << self
|
1590
|
+
# @api private
|
1591
|
+
#
|
1592
|
+
# source://dry-schema//lib/dry/schema/message/or.rb#11
|
1593
|
+
def [](left, right, messages); end
|
1594
|
+
end
|
1595
|
+
end
|
1596
|
+
|
1597
|
+
# A message type used by OR operations
|
1598
|
+
#
|
1599
|
+
# @abstract
|
1600
|
+
# @api private
|
1601
|
+
#
|
1602
|
+
# source://dry-schema//lib/dry/schema/message/or/abstract.rb#12
|
1603
|
+
class Dry::Schema::Message::Or::Abstract
|
1604
|
+
# @api private
|
1605
|
+
# @return [Abstract] a new instance of Abstract
|
1606
|
+
#
|
1607
|
+
# source://dry-schema//lib/dry/schema/message/or/abstract.rb#20
|
1608
|
+
def initialize(left, right); end
|
1609
|
+
|
1610
|
+
# @api private
|
1611
|
+
#
|
1612
|
+
# source://dry-schema//lib/dry/schema/message/or/abstract.rb#14
|
1613
|
+
def left; end
|
1614
|
+
|
1615
|
+
# @api private
|
1616
|
+
#
|
1617
|
+
# source://dry-schema//lib/dry/schema/message/or/abstract.rb#17
|
1618
|
+
def right; end
|
1619
|
+
end
|
1620
|
+
|
1621
|
+
# A message type used by OR operations with different paths
|
1622
|
+
#
|
1623
|
+
# @api public
|
1624
|
+
#
|
1625
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#10
|
1626
|
+
class Dry::Schema::Message::Or::MultiPath < ::Dry::Schema::Message::Or::Abstract
|
1627
|
+
# @api private
|
1628
|
+
#
|
1629
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#67
|
1630
|
+
def _path; end
|
1631
|
+
|
1632
|
+
# @api private
|
1633
|
+
#
|
1634
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#72
|
1635
|
+
def _paths; end
|
1636
|
+
|
1637
|
+
# @api private
|
1638
|
+
#
|
1639
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#52
|
1640
|
+
def messages; end
|
1641
|
+
|
1642
|
+
# @api private
|
1643
|
+
#
|
1644
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#62
|
1645
|
+
def path; end
|
1646
|
+
|
1647
|
+
# @api private
|
1648
|
+
#
|
1649
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#57
|
1650
|
+
def root; end
|
1651
|
+
|
1652
|
+
# @api public
|
1653
|
+
#
|
1654
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#47
|
1655
|
+
def to_h; end
|
1656
|
+
|
1657
|
+
# @api private
|
1658
|
+
#
|
1659
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#77
|
1660
|
+
def to_or(root); end
|
1661
|
+
|
1662
|
+
private
|
1663
|
+
|
1664
|
+
# @api private
|
1665
|
+
#
|
1666
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#84
|
1667
|
+
def _messages; end
|
1668
|
+
|
1669
|
+
class << self
|
1670
|
+
# @api private
|
1671
|
+
#
|
1672
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#37
|
1673
|
+
def handler(message); end
|
1674
|
+
end
|
1675
|
+
end
|
1676
|
+
|
1677
|
+
# @api public
|
1678
|
+
#
|
1679
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#34
|
1680
|
+
Dry::Schema::Message::Or::MultiPath::MESSAGE_ARRAY_HANDLER = T.let(T.unsafe(nil), Proc)
|
1681
|
+
|
1682
|
+
# @api private
|
1683
|
+
#
|
1684
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#12
|
1685
|
+
class Dry::Schema::Message::Or::MultiPath::MessageArray
|
1686
|
+
# @api private
|
1687
|
+
# @return [MessageArray] a new instance of MessageArray
|
1688
|
+
#
|
1689
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#14
|
1690
|
+
def initialize(messages); end
|
1691
|
+
|
1692
|
+
# @api private
|
1693
|
+
#
|
1694
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#19
|
1695
|
+
def _paths; end
|
1696
|
+
|
1697
|
+
# @api private
|
1698
|
+
#
|
1699
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#29
|
1700
|
+
def to_h; end
|
1701
|
+
|
1702
|
+
# @api private
|
1703
|
+
#
|
1704
|
+
# source://dry-schema//lib/dry/schema/message/or/multi_path.rb#24
|
1705
|
+
def to_or(root); end
|
1706
|
+
end
|
1707
|
+
|
1708
|
+
# A message type used by OR operations with the same path
|
1709
|
+
#
|
1710
|
+
# @api public
|
1711
|
+
#
|
1712
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#10
|
1713
|
+
class Dry::Schema::Message::Or::SinglePath < ::Dry::Schema::Message::Or::Abstract
|
1714
|
+
# @api private
|
1715
|
+
# @return [SinglePath] a new instance of SinglePath
|
1716
|
+
#
|
1717
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#21
|
1718
|
+
def initialize(*args, messages); end
|
1719
|
+
|
1720
|
+
# @api private
|
1721
|
+
#
|
1722
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#15
|
1723
|
+
def _path; end
|
1724
|
+
|
1725
|
+
# Dump a message into a string
|
1726
|
+
#
|
1727
|
+
# Both sides of the message will be joined using translated
|
1728
|
+
# value under `dry_schema.or` message key
|
1729
|
+
#
|
1730
|
+
# @api public
|
1731
|
+
# @return [String]
|
1732
|
+
# @see Message#dump
|
1733
|
+
#
|
1734
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#39
|
1735
|
+
def dump; end
|
1736
|
+
|
1737
|
+
# @api private
|
1738
|
+
#
|
1739
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#18
|
1740
|
+
def messages; end
|
1741
|
+
|
1742
|
+
# @api private
|
1743
|
+
#
|
1744
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#12
|
1745
|
+
def path; end
|
1746
|
+
|
1747
|
+
# @api private
|
1748
|
+
#
|
1749
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#56
|
1750
|
+
def to_a; end
|
1751
|
+
|
1752
|
+
# Dump an `or` message into a hash
|
1753
|
+
#
|
1754
|
+
# @api public
|
1755
|
+
# @return [String]
|
1756
|
+
# @see Message#to_h
|
1757
|
+
#
|
1758
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#51
|
1759
|
+
def to_h; end
|
1760
|
+
|
1761
|
+
# @api private
|
1762
|
+
#
|
1763
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#61
|
1764
|
+
def to_or(root); end
|
1765
|
+
|
1766
|
+
# Dump a message into a string
|
1767
|
+
#
|
1768
|
+
# Both sides of the message will be joined using translated
|
1769
|
+
# value under `dry_schema.or` message key
|
1770
|
+
#
|
1771
|
+
# @api public
|
1772
|
+
# @return [String]
|
1773
|
+
# @see Message#dump
|
1774
|
+
#
|
1775
|
+
# source://dry-schema//lib/dry/schema/message/or/single_path.rb#39
|
1776
|
+
def to_s; end
|
1777
|
+
end
|
1778
|
+
|
1779
|
+
# Compiles rule results AST into human-readable format
|
1780
|
+
#
|
1781
|
+
# @api private
|
1782
|
+
#
|
1783
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#11
|
1784
|
+
class Dry::Schema::MessageCompiler
|
1785
|
+
include ::Dry::Initializer::Mixin::Root
|
1786
|
+
extend ::Dry::Initializer
|
1787
|
+
|
1788
|
+
# @api private
|
1789
|
+
# @return [MessageCompiler] a new instance of MessageCompiler
|
1790
|
+
#
|
1791
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#48
|
1792
|
+
def initialize(messages, **options); end
|
1793
|
+
|
1794
|
+
# @api private
|
1795
|
+
#
|
1796
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#225
|
1797
|
+
def append_mapped_size_tokens(tokens); end
|
1798
|
+
|
1799
|
+
# @api private
|
1800
|
+
#
|
1801
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#66
|
1802
|
+
def call(ast); end
|
1803
|
+
|
1804
|
+
# @api private
|
1805
|
+
#
|
1806
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#45
|
1807
|
+
def default_lookup_options; end
|
1808
|
+
|
1809
|
+
# @api private
|
1810
|
+
#
|
1811
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#190
|
1812
|
+
def lookup_options(arg_vals:, input:); end
|
1813
|
+
|
1814
|
+
# @api private
|
1815
|
+
#
|
1816
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#198
|
1817
|
+
def message_text(template, tokens, options); end
|
1818
|
+
|
1819
|
+
# @api private
|
1820
|
+
#
|
1821
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#209
|
1822
|
+
def message_tokens(args); end
|
1823
|
+
|
1824
|
+
# @api private
|
1825
|
+
#
|
1826
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#162
|
1827
|
+
def message_type(*_arg0); end
|
1828
|
+
|
1829
|
+
# @api private
|
1830
|
+
#
|
1831
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#43
|
1832
|
+
def options; end
|
1833
|
+
|
1834
|
+
# @api private
|
1835
|
+
#
|
1836
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#119
|
1837
|
+
def or_translator; end
|
1838
|
+
|
1839
|
+
# @api private
|
1840
|
+
#
|
1841
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#76
|
1842
|
+
def visit(node, opts = T.unsafe(nil)); end
|
1843
|
+
|
1844
|
+
# @api private
|
1845
|
+
#
|
1846
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#97
|
1847
|
+
def visit_and(node, opts); end
|
1848
|
+
|
1849
|
+
# @api private
|
1850
|
+
#
|
1851
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#81
|
1852
|
+
def visit_failure(node, opts); end
|
1853
|
+
|
1854
|
+
# @api private
|
1855
|
+
#
|
1856
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#87
|
1857
|
+
def visit_hint(*_arg0); end
|
1858
|
+
|
1859
|
+
# @api private
|
1860
|
+
#
|
1861
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#178
|
1862
|
+
def visit_implication(node, *args); end
|
1863
|
+
|
1864
|
+
# @api private
|
1865
|
+
#
|
1866
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#167
|
1867
|
+
def visit_key(node, opts); end
|
1868
|
+
|
1869
|
+
# @api private
|
1870
|
+
#
|
1871
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#127
|
1872
|
+
def visit_namespace(node, opts); end
|
1873
|
+
|
1874
|
+
# @api private
|
1875
|
+
#
|
1876
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#92
|
1877
|
+
def visit_not(node, opts); end
|
1878
|
+
|
1879
|
+
# @api private
|
1880
|
+
#
|
1881
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#113
|
1882
|
+
def visit_or(node, opts); end
|
1883
|
+
|
1884
|
+
# @api private
|
1885
|
+
#
|
1886
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#133
|
1887
|
+
def visit_predicate(node, opts); end
|
1888
|
+
|
1889
|
+
# @api private
|
1890
|
+
#
|
1891
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#173
|
1892
|
+
def visit_set(node, opts); end
|
1893
|
+
|
1894
|
+
# @api private
|
1895
|
+
#
|
1896
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#108
|
1897
|
+
def visit_unexpected_key(node, opts); end
|
1898
|
+
|
1899
|
+
# @api private
|
1900
|
+
#
|
1901
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#184
|
1902
|
+
def visit_xor(node, opts); end
|
1903
|
+
|
1904
|
+
# @api private
|
1905
|
+
#
|
1906
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#55
|
1907
|
+
def with(new_options); end
|
1908
|
+
end
|
1909
|
+
|
1910
|
+
# @api private
|
1911
|
+
#
|
1912
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#23
|
1913
|
+
Dry::Schema::MessageCompiler::DEFAULT_PREDICATE_RESOLVERS = T.let(T.unsafe(nil), Hash)
|
1914
|
+
|
1915
|
+
# @api private
|
1916
|
+
#
|
1917
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#27
|
1918
|
+
Dry::Schema::MessageCompiler::EMPTY_MESSAGE_SET = T.let(T.unsafe(nil), Dry::Schema::MessageSet)
|
1919
|
+
|
1920
|
+
# @api private
|
1921
|
+
#
|
1922
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#26
|
1923
|
+
Dry::Schema::MessageCompiler::EMPTY_OPTS = T.let(T.unsafe(nil), Dry::Schema::MessageCompiler::VisitorOpts)
|
1924
|
+
|
1925
|
+
# @api private
|
1926
|
+
#
|
1927
|
+
# source://dry-schema//lib/dry/schema/message_compiler.rb#28
|
1928
|
+
Dry::Schema::MessageCompiler::FULL_MESSAGE_WHITESPACE = T.let(T.unsafe(nil), Hash)
|
1929
|
+
|
1930
|
+
# Optimized option hash used by visitor methods in message compiler
|
1931
|
+
#
|
1932
|
+
# @api private
|
1933
|
+
#
|
1934
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#12
|
1935
|
+
class Dry::Schema::MessageCompiler::VisitorOpts < ::Hash
|
1936
|
+
# @api private
|
1937
|
+
#
|
1938
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#28
|
1939
|
+
def call(other); end
|
1940
|
+
|
1941
|
+
# @api private
|
1942
|
+
#
|
1943
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#50
|
1944
|
+
def current_messages; end
|
1945
|
+
|
1946
|
+
# @api private
|
1947
|
+
#
|
1948
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#32
|
1949
|
+
def dup(current_messages = T.unsafe(nil)); end
|
1950
|
+
|
1951
|
+
# @api private
|
1952
|
+
#
|
1953
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#42
|
1954
|
+
def failures; end
|
1955
|
+
|
1956
|
+
# @api private
|
1957
|
+
#
|
1958
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#46
|
1959
|
+
def hints; end
|
1960
|
+
|
1961
|
+
# @api private
|
1962
|
+
# @return [Boolean]
|
1963
|
+
#
|
1964
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#38
|
1965
|
+
def key_failure?(path); end
|
1966
|
+
|
1967
|
+
# @api private
|
1968
|
+
#
|
1969
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#23
|
1970
|
+
def path; end
|
1971
|
+
|
1972
|
+
class << self
|
1973
|
+
# @api private
|
1974
|
+
#
|
1975
|
+
# source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#14
|
1976
|
+
def new; end
|
1977
|
+
end
|
1978
|
+
end
|
1979
|
+
|
1980
|
+
# A set of messages used to generate errors
|
1981
|
+
#
|
1982
|
+
# @api public
|
1983
|
+
# @see Result#message_set
|
1984
|
+
#
|
1985
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#12
|
1986
|
+
class Dry::Schema::MessageSet
|
1987
|
+
include ::Enumerable
|
1988
|
+
include ::Dry::Core::Equalizer::Methods
|
1989
|
+
|
1990
|
+
# @api private
|
1991
|
+
# @return [MessageSet] a new instance of MessageSet
|
1992
|
+
#
|
1993
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#32
|
1994
|
+
def initialize(messages, options = T.unsafe(nil)); end
|
1995
|
+
|
1996
|
+
# Get a list of message texts for the given key
|
1997
|
+
#
|
1998
|
+
# @api public
|
1999
|
+
# @param key [Symbol]
|
2000
|
+
# @return [Array<String>]
|
2001
|
+
#
|
2002
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#71
|
2003
|
+
def [](key); end
|
2004
|
+
|
2005
|
+
# Iterate over messages
|
2006
|
+
#
|
2007
|
+
# @api public
|
2008
|
+
# @example
|
2009
|
+
# result.errors.each do |message|
|
2010
|
+
# puts message.text
|
2011
|
+
# end
|
2012
|
+
# @return [Array]
|
2013
|
+
#
|
2014
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#47
|
2015
|
+
def each(&_arg0); end
|
2016
|
+
|
2017
|
+
# Check if a message set is empty
|
2018
|
+
#
|
2019
|
+
# @api public
|
2020
|
+
# @return [Boolean]
|
2021
|
+
#
|
2022
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#93
|
2023
|
+
def empty?; end
|
2024
|
+
|
2025
|
+
# Get a list of message texts for the given key
|
2026
|
+
#
|
2027
|
+
# @api public
|
2028
|
+
# @param key [Symbol]
|
2029
|
+
# @raise KeyError
|
2030
|
+
# @return [Array<String>]
|
2031
|
+
#
|
2032
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#84
|
2033
|
+
def fetch(key); end
|
2034
|
+
|
2035
|
+
# @api private
|
2036
|
+
#
|
2037
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#98
|
2038
|
+
def freeze; end
|
2039
|
+
|
2040
|
+
# A list of compiled message objects
|
2041
|
+
#
|
2042
|
+
# @api public
|
2043
|
+
# @return [Array<Message>]
|
2044
|
+
#
|
2045
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#19
|
2046
|
+
def messages; end
|
2047
|
+
|
2048
|
+
# Options hash
|
2049
|
+
#
|
2050
|
+
# @api public
|
2051
|
+
# @return [Hash]
|
2052
|
+
#
|
2053
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#24
|
2054
|
+
def options; end
|
2055
|
+
|
2056
|
+
# Dump message set to a hash
|
2057
|
+
#
|
2058
|
+
# @api public
|
2059
|
+
# @return [Hash<Symbol=>Array<String>>]
|
2060
|
+
#
|
2061
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#59
|
2062
|
+
def to_h; end
|
2063
|
+
|
2064
|
+
# Dump message set to a hash
|
2065
|
+
#
|
2066
|
+
# @api public
|
2067
|
+
# @return [Hash<Symbol=>Array<String>>]
|
2068
|
+
#
|
2069
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#59
|
2070
|
+
def to_hash; end
|
2071
|
+
|
2072
|
+
private
|
2073
|
+
|
2074
|
+
# @api private
|
2075
|
+
#
|
2076
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#112
|
2077
|
+
def combine_message_hashes(hashes); end
|
2078
|
+
|
2079
|
+
# @api private
|
2080
|
+
#
|
2081
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#121
|
2082
|
+
def combine_message_values(values); end
|
2083
|
+
|
2084
|
+
# @api private
|
2085
|
+
#
|
2086
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#107
|
2087
|
+
def messages_map(messages = T.unsafe(nil)); end
|
2088
|
+
|
2089
|
+
# @api private
|
2090
|
+
#
|
2091
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#136
|
2092
|
+
def partition_message_values(values); end
|
2093
|
+
|
2094
|
+
class << self
|
2095
|
+
# @api private
|
2096
|
+
#
|
2097
|
+
# source://dry-schema//lib/dry/schema/message_set.rb#27
|
2098
|
+
def [](messages, options = T.unsafe(nil)); end
|
2099
|
+
end
|
2100
|
+
end
|
2101
|
+
|
2102
|
+
# An API for configuring message backends
|
2103
|
+
#
|
2104
|
+
# @api private
|
2105
|
+
#
|
2106
|
+
# source://dry-schema//lib/dry/schema/messages.rb#8
|
2107
|
+
module Dry::Schema::Messages
|
2108
|
+
# @api private
|
2109
|
+
#
|
2110
|
+
# source://dry-schema//lib/dry/schema/messages.rb#16
|
2111
|
+
def setup(config); end
|
2112
|
+
|
2113
|
+
class << self
|
2114
|
+
# source://dry-schema//lib/dry/schema/messages.rb#16
|
2115
|
+
def setup(config); end
|
2116
|
+
end
|
2117
|
+
end
|
2118
|
+
|
2119
|
+
# Abstract class for message backends
|
2120
|
+
#
|
2121
|
+
# @api public
|
2122
|
+
#
|
2123
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#14
|
2124
|
+
class Dry::Schema::Messages::Abstract
|
2125
|
+
include ::Dry::Configurable::Initializer
|
2126
|
+
include ::Dry::Core::Constants
|
2127
|
+
include ::Dry::Configurable
|
2128
|
+
include ::Dry::Configurable::Methods
|
2129
|
+
include ::Dry::Configurable::InstanceMethods
|
2130
|
+
include ::Dry::Core::Equalizer::Methods
|
2131
|
+
extend ::Dry::Configurable::Methods
|
2132
|
+
extend ::Dry::Configurable::ClassMethods
|
2133
|
+
|
2134
|
+
# Retrieve a message template
|
2135
|
+
#
|
2136
|
+
# @api public
|
2137
|
+
# @return [Template]
|
2138
|
+
#
|
2139
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#91
|
2140
|
+
def [](predicate, options); end
|
2141
|
+
|
2142
|
+
# Retrieve a message template
|
2143
|
+
#
|
2144
|
+
# @api public
|
2145
|
+
# @return [Template]
|
2146
|
+
#
|
2147
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#91
|
2148
|
+
def call(predicate, options); end
|
2149
|
+
|
2150
|
+
# @api private
|
2151
|
+
#
|
2152
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#169
|
2153
|
+
def default_locale; end
|
2154
|
+
|
2155
|
+
# @api private
|
2156
|
+
#
|
2157
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#141
|
2158
|
+
def filled_lookup_paths(tokens); end
|
2159
|
+
|
2160
|
+
# @api private
|
2161
|
+
# @raise [::NotImplementedError]
|
2162
|
+
#
|
2163
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#174
|
2164
|
+
def interpolatable_data(_key, _options, **_data); end
|
2165
|
+
|
2166
|
+
# @api private
|
2167
|
+
# @raise [::NotImplementedError]
|
2168
|
+
#
|
2169
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#179
|
2170
|
+
def interpolate(_key, _options, **_data); end
|
2171
|
+
|
2172
|
+
# Check if given key is defined
|
2173
|
+
#
|
2174
|
+
# @api public
|
2175
|
+
# @raise [::NotImplementedError]
|
2176
|
+
# @return [Boolean]
|
2177
|
+
#
|
2178
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#117
|
2179
|
+
def key?(_key, _options = T.unsafe(nil)); end
|
2180
|
+
|
2181
|
+
# Retrieve an array of looked up paths
|
2182
|
+
#
|
2183
|
+
# @api public
|
2184
|
+
# @param predicate [Symbol]
|
2185
|
+
# @param options [Hash]
|
2186
|
+
# @return [String]
|
2187
|
+
#
|
2188
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#129
|
2189
|
+
def looked_up_paths(predicate, options); end
|
2190
|
+
|
2191
|
+
# @api private
|
2192
|
+
#
|
2193
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#135
|
2194
|
+
def lookup_paths(predicate, options); end
|
2195
|
+
|
2196
|
+
# Return a new message backend that will look for messages under provided namespace
|
2197
|
+
#
|
2198
|
+
# @api public
|
2199
|
+
# @param namespace [Symbol, String]
|
2200
|
+
#
|
2201
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#155
|
2202
|
+
def namespaced(namespace); end
|
2203
|
+
|
2204
|
+
# Return root path to messages file
|
2205
|
+
#
|
2206
|
+
# @api public
|
2207
|
+
# @return [Pathname]
|
2208
|
+
#
|
2209
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#164
|
2210
|
+
def root; end
|
2211
|
+
|
2212
|
+
# @api private
|
2213
|
+
#
|
2214
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#78
|
2215
|
+
def rule(name, options = T.unsafe(nil)); end
|
2216
|
+
|
2217
|
+
# @api private
|
2218
|
+
#
|
2219
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#146
|
2220
|
+
def rule_lookup_paths(tokens); end
|
2221
|
+
|
2222
|
+
# @api private
|
2223
|
+
#
|
2224
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#73
|
2225
|
+
def translate(key, locale: T.unsafe(nil)); end
|
2226
|
+
|
2227
|
+
private
|
2228
|
+
|
2229
|
+
# @api private
|
2230
|
+
# @return [Boolean]
|
2231
|
+
#
|
2232
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#197
|
2233
|
+
def custom_top_namespace?(path); end
|
2234
|
+
|
2235
|
+
# @api private
|
2236
|
+
#
|
2237
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#186
|
2238
|
+
def lookup_tokens(predicate, options); end
|
2239
|
+
|
2240
|
+
class << self
|
2241
|
+
# @api private
|
2242
|
+
#
|
2243
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#52
|
2244
|
+
def build(options = T.unsafe(nil)); end
|
2245
|
+
|
2246
|
+
# @api private
|
2247
|
+
#
|
2248
|
+
# source://dry-schema//lib/dry/schema/messages/abstract.rb#47
|
2249
|
+
def setting_names; end
|
2250
|
+
end
|
2251
|
+
end
|
2252
|
+
|
2253
|
+
# @api private
|
2254
|
+
#
|
2255
|
+
# source://dry-schema//lib/dry/schema/messages.rb#9
|
2256
|
+
Dry::Schema::Messages::BACKENDS = T.let(T.unsafe(nil), Hash)
|
2257
|
+
|
2258
|
+
# I18n message backend
|
2259
|
+
#
|
2260
|
+
# @api public
|
2261
|
+
#
|
2262
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#12
|
2263
|
+
class Dry::Schema::Messages::I18n < ::Dry::Schema::Messages::Abstract
|
2264
|
+
# @api private
|
2265
|
+
# @return [I18n] a new instance of I18n
|
2266
|
+
#
|
2267
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#19
|
2268
|
+
def initialize; end
|
2269
|
+
|
2270
|
+
# @api private
|
2271
|
+
#
|
2272
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#73
|
2273
|
+
def default_locale; end
|
2274
|
+
|
2275
|
+
# Get a message for the given key and its options
|
2276
|
+
#
|
2277
|
+
# @api public
|
2278
|
+
# @param key [Symbol]
|
2279
|
+
# @param options [Hash]
|
2280
|
+
# @return [String]
|
2281
|
+
#
|
2282
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#32
|
2283
|
+
def get(key, options = T.unsafe(nil)); end
|
2284
|
+
|
2285
|
+
# @api private
|
2286
|
+
#
|
2287
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#99
|
2288
|
+
def interpolatable_data(_key, _options, **data); end
|
2289
|
+
|
2290
|
+
# @api private
|
2291
|
+
#
|
2292
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#104
|
2293
|
+
def interpolate(key, options, **data); end
|
2294
|
+
|
2295
|
+
# Check if given key is defined
|
2296
|
+
#
|
2297
|
+
# @api public
|
2298
|
+
# @return [Boolean]
|
2299
|
+
#
|
2300
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#56
|
2301
|
+
def key?(key, options); end
|
2302
|
+
|
2303
|
+
# Merge messages from an additional path
|
2304
|
+
#
|
2305
|
+
# @api public
|
2306
|
+
# @param paths [String, Array<String>]
|
2307
|
+
# @return [Messages::I18n]
|
2308
|
+
#
|
2309
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#68
|
2310
|
+
def merge(paths); end
|
2311
|
+
|
2312
|
+
# @api private
|
2313
|
+
#
|
2314
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#78
|
2315
|
+
def prepare(paths = T.unsafe(nil)); end
|
2316
|
+
|
2317
|
+
# Translation function
|
2318
|
+
#
|
2319
|
+
# @api public
|
2320
|
+
# @return [Method]
|
2321
|
+
#
|
2322
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#16
|
2323
|
+
def t; end
|
2324
|
+
|
2325
|
+
private
|
2326
|
+
|
2327
|
+
# @api private
|
2328
|
+
#
|
2329
|
+
# source://dry-schema//lib/dry/schema/messages/i18n.rb#121
|
2330
|
+
def store_translations(data); end
|
2331
|
+
end
|
2332
|
+
|
2333
|
+
# Namespaced messages backend
|
2334
|
+
#
|
2335
|
+
# @api public
|
2336
|
+
#
|
2337
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#9
|
2338
|
+
class Dry::Schema::Messages::Namespaced < ::Dry::Schema::Messages::Abstract
|
2339
|
+
# @api private
|
2340
|
+
# @return [Namespaced] a new instance of Namespaced
|
2341
|
+
#
|
2342
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#23
|
2343
|
+
def initialize(namespace, messages); end
|
2344
|
+
|
2345
|
+
# @api public
|
2346
|
+
#
|
2347
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#44
|
2348
|
+
def [](key, options = T.unsafe(nil)); end
|
2349
|
+
|
2350
|
+
# @api private
|
2351
|
+
#
|
2352
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#72
|
2353
|
+
def cache_key(predicate, options); end
|
2354
|
+
|
2355
|
+
# @api public
|
2356
|
+
#
|
2357
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#44
|
2358
|
+
def call(key, options = T.unsafe(nil)); end
|
2359
|
+
|
2360
|
+
# @api private
|
2361
|
+
#
|
2362
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#20
|
2363
|
+
def call_opts; end
|
2364
|
+
|
2365
|
+
# @api private
|
2366
|
+
#
|
2367
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#17
|
2368
|
+
def config; end
|
2369
|
+
|
2370
|
+
# @api private
|
2371
|
+
#
|
2372
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#59
|
2373
|
+
def filled_lookup_paths(tokens); end
|
2374
|
+
|
2375
|
+
# Get a message for the given key and its options
|
2376
|
+
#
|
2377
|
+
# @api public
|
2378
|
+
# @param key [Symbol]
|
2379
|
+
# @param options [Hash]
|
2380
|
+
# @return [String]
|
2381
|
+
#
|
2382
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#39
|
2383
|
+
def get(key, options = T.unsafe(nil)); end
|
2384
|
+
|
2385
|
+
# @api private
|
2386
|
+
#
|
2387
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#77
|
2388
|
+
def interpolatable_data(key, options, **data); end
|
2389
|
+
|
2390
|
+
# @api private
|
2391
|
+
#
|
2392
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#82
|
2393
|
+
def interpolate(key, options, **data); end
|
2394
|
+
|
2395
|
+
# Check if given key is defined
|
2396
|
+
#
|
2397
|
+
# @api public
|
2398
|
+
# @return [Boolean]
|
2399
|
+
#
|
2400
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#54
|
2401
|
+
def key?(key, *args); end
|
2402
|
+
|
2403
|
+
# @api private
|
2404
|
+
#
|
2405
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#14
|
2406
|
+
def messages; end
|
2407
|
+
|
2408
|
+
# @api private
|
2409
|
+
#
|
2410
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#11
|
2411
|
+
def namespace; end
|
2412
|
+
|
2413
|
+
# @api private
|
2414
|
+
#
|
2415
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#64
|
2416
|
+
def rule_lookup_paths(tokens); end
|
2417
|
+
|
2418
|
+
# @api private
|
2419
|
+
#
|
2420
|
+
# source://dry-schema//lib/dry/schema/messages/namespaced.rb#87
|
2421
|
+
def translate(key, **args); end
|
2422
|
+
end
|
2423
|
+
|
2424
|
+
# @api private
|
2425
|
+
#
|
2426
|
+
# source://dry-schema//lib/dry/schema/messages/template.rb#12
|
2427
|
+
class Dry::Schema::Messages::Template
|
2428
|
+
include ::Dry::Initializer::Mixin::Root
|
2429
|
+
include ::Dry::Core::Equalizer::Methods
|
2430
|
+
extend ::Dry::Initializer
|
2431
|
+
|
2432
|
+
# @api private
|
2433
|
+
#
|
2434
|
+
# source://dry-schema//lib/dry/schema/messages/template.rb#27
|
2435
|
+
def [](data = T.unsafe(nil)); end
|
2436
|
+
|
2437
|
+
# @api private
|
2438
|
+
#
|
2439
|
+
# source://dry-schema//lib/dry/schema/messages/template.rb#27
|
2440
|
+
def call(data = T.unsafe(nil)); end
|
2441
|
+
|
2442
|
+
# @api private
|
2443
|
+
#
|
2444
|
+
# source://dry-schema//lib/dry/schema/messages/template.rb#21
|
2445
|
+
def data(data = T.unsafe(nil)); end
|
2446
|
+
|
2447
|
+
private
|
2448
|
+
|
2449
|
+
# @api private
|
2450
|
+
# @raise [KeyError]
|
2451
|
+
#
|
2452
|
+
# source://dry-schema//lib/dry/schema/messages/template.rb#35
|
2453
|
+
def ensure_message!; end
|
2454
|
+
end
|
2455
|
+
|
2456
|
+
# Plain YAML message backend
|
2457
|
+
#
|
2458
|
+
# @api public
|
2459
|
+
#
|
2460
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#14
|
2461
|
+
class Dry::Schema::Messages::YAML < ::Dry::Schema::Messages::Abstract
|
2462
|
+
# @api private
|
2463
|
+
# @return [YAML] a new instance of YAML
|
2464
|
+
#
|
2465
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#84
|
2466
|
+
def initialize(data: T.unsafe(nil), config: T.unsafe(nil)); end
|
2467
|
+
|
2468
|
+
# Loaded localized message templates
|
2469
|
+
#
|
2470
|
+
# @api public
|
2471
|
+
# @return [Hash]
|
2472
|
+
#
|
2473
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#28
|
2474
|
+
def data; end
|
2475
|
+
|
2476
|
+
# Get a message for the given key and its options
|
2477
|
+
#
|
2478
|
+
# @api public
|
2479
|
+
# @param key [Symbol]
|
2480
|
+
# @param options [Hash]
|
2481
|
+
# @return [String]
|
2482
|
+
#
|
2483
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#111
|
2484
|
+
def get(key, options = T.unsafe(nil)); end
|
2485
|
+
|
2486
|
+
# @api private
|
2487
|
+
#
|
2488
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#152
|
2489
|
+
def interpolatable_data(key, options, **data); end
|
2490
|
+
|
2491
|
+
# @api private
|
2492
|
+
#
|
2493
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#158
|
2494
|
+
def interpolate(key, options, **data); end
|
2495
|
+
|
2496
|
+
# Check if given key is defined
|
2497
|
+
#
|
2498
|
+
# @api public
|
2499
|
+
# @return [Boolean]
|
2500
|
+
#
|
2501
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#120
|
2502
|
+
def key?(key, options = T.unsafe(nil)); end
|
2503
|
+
|
2504
|
+
# Get an array of looked up paths
|
2505
|
+
#
|
2506
|
+
# @api public
|
2507
|
+
# @param predicate [Symbol]
|
2508
|
+
# @param options [Hash]
|
2509
|
+
# @return [String]
|
2510
|
+
#
|
2511
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#99
|
2512
|
+
def looked_up_paths(predicate, options); end
|
2513
|
+
|
2514
|
+
# Merge messages from an additional path
|
2515
|
+
#
|
2516
|
+
# @api public
|
2517
|
+
# @param overrides [String]
|
2518
|
+
# @return [Messages::I18n]
|
2519
|
+
#
|
2520
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#131
|
2521
|
+
def merge(overrides); end
|
2522
|
+
|
2523
|
+
# @api private
|
2524
|
+
#
|
2525
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#146
|
2526
|
+
def prepare; end
|
2527
|
+
|
2528
|
+
# Translation function
|
2529
|
+
#
|
2530
|
+
# @api public
|
2531
|
+
# @return [Proc]
|
2532
|
+
#
|
2533
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#33
|
2534
|
+
def t; end
|
2535
|
+
|
2536
|
+
private
|
2537
|
+
|
2538
|
+
# @api private
|
2539
|
+
#
|
2540
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#185
|
2541
|
+
def cache; end
|
2542
|
+
|
2543
|
+
# @api private
|
2544
|
+
#
|
2545
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#201
|
2546
|
+
def evaluated_key(key, options); end
|
2547
|
+
|
2548
|
+
# @api private
|
2549
|
+
#
|
2550
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#166
|
2551
|
+
def evaluation_context(key, options); end
|
2552
|
+
|
2553
|
+
# @api private
|
2554
|
+
#
|
2555
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#190
|
2556
|
+
def load_translations(path); end
|
2557
|
+
|
2558
|
+
class << self
|
2559
|
+
# @api private
|
2560
|
+
#
|
2561
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#36
|
2562
|
+
def build(options = T.unsafe(nil)); end
|
2563
|
+
|
2564
|
+
# @api private
|
2565
|
+
#
|
2566
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#72
|
2567
|
+
def cache; end
|
2568
|
+
|
2569
|
+
# @api private
|
2570
|
+
#
|
2571
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#50
|
2572
|
+
def flat_hash(hash, path = T.unsafe(nil), keys = T.unsafe(nil)); end
|
2573
|
+
|
2574
|
+
# @api private
|
2575
|
+
#
|
2576
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#79
|
2577
|
+
def source_cache; end
|
2578
|
+
end
|
2579
|
+
end
|
2580
|
+
|
2581
|
+
# @api public
|
2582
|
+
#
|
2583
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#17
|
2584
|
+
Dry::Schema::Messages::YAML::EMPTY_CONTEXT = T.let(T.unsafe(nil), Binding)
|
2585
|
+
|
2586
|
+
# @api public
|
2587
|
+
#
|
2588
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#15
|
2589
|
+
Dry::Schema::Messages::YAML::LOCALE_TOKEN = T.let(T.unsafe(nil), String)
|
2590
|
+
|
2591
|
+
# @api public
|
2592
|
+
#
|
2593
|
+
# source://dry-schema//lib/dry/schema/messages/yaml.rb#16
|
2594
|
+
Dry::Schema::Messages::YAML::TOKEN_REGEXP = T.let(T.unsafe(nil), Regexp)
|
2595
|
+
|
2596
|
+
# An error raised when a localized message cannot be found
|
2597
|
+
#
|
2598
|
+
# @api public
|
2599
|
+
#
|
2600
|
+
# source://dry-schema//lib/dry/schema/constants.rb#36
|
2601
|
+
class Dry::Schema::MissingMessageError < ::StandardError
|
2602
|
+
# source://dry-schema//lib/dry/schema/constants.rb#38
|
2603
|
+
def initialize(path, paths = T.unsafe(nil)); end
|
2604
|
+
end
|
2605
|
+
|
2606
|
+
# A special rule type that is configured under a specified namespace
|
2607
|
+
#
|
2608
|
+
# This is used internally to create rules that can be properly handled
|
2609
|
+
# by the message compiler in situations where a schema reuses another schema
|
2610
|
+
# but it is configured to use a message namespace
|
2611
|
+
#
|
2612
|
+
# @api private
|
2613
|
+
#
|
2614
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#12
|
2615
|
+
class Dry::Schema::NamespacedRule
|
2616
|
+
# @api private
|
2617
|
+
# @return [NamespacedRule] a new instance of NamespacedRule
|
2618
|
+
#
|
2619
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#20
|
2620
|
+
def initialize(namespace, rule); end
|
2621
|
+
|
2622
|
+
# @api private
|
2623
|
+
#
|
2624
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#32
|
2625
|
+
def ast(input = T.unsafe(nil)); end
|
2626
|
+
|
2627
|
+
# @api private
|
2628
|
+
#
|
2629
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#26
|
2630
|
+
def call(input); end
|
2631
|
+
|
2632
|
+
# @api private
|
2633
|
+
#
|
2634
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#17
|
2635
|
+
def namespace; end
|
2636
|
+
|
2637
|
+
# @api private
|
2638
|
+
#
|
2639
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#14
|
2640
|
+
def rule; end
|
2641
|
+
|
2642
|
+
# @api private
|
2643
|
+
#
|
2644
|
+
# source://dry-schema//lib/dry/schema/namespaced_rule.rb#32
|
2645
|
+
def to_ast(input = T.unsafe(nil)); end
|
2646
|
+
end
|
2647
|
+
|
2648
|
+
# Params schema type
|
2649
|
+
#
|
2650
|
+
# @api public
|
2651
|
+
# @see Processor
|
2652
|
+
# @see Schema#Params
|
2653
|
+
#
|
2654
|
+
# source://dry-schema//lib/dry/schema/params.rb#11
|
2655
|
+
class Dry::Schema::Params < ::Dry::Schema::Processor; end
|
2656
|
+
|
2657
|
+
# Path represents a list of keys in a hash
|
2658
|
+
#
|
2659
|
+
# @api private
|
2660
|
+
#
|
2661
|
+
# source://dry-schema//lib/dry/schema/path.rb#10
|
2662
|
+
class Dry::Schema::Path
|
2663
|
+
include ::Dry::Core::Equalizer::Methods
|
2664
|
+
include ::Comparable
|
2665
|
+
include ::Enumerable
|
2666
|
+
|
2667
|
+
# @api private
|
2668
|
+
# @return [Path] a new instance of Path
|
2669
|
+
#
|
2670
|
+
# source://dry-schema//lib/dry/schema/path.rb#57
|
2671
|
+
def initialize(keys); end
|
2672
|
+
|
2673
|
+
# @api private
|
2674
|
+
#
|
2675
|
+
# source://dry-schema//lib/dry/schema/path.rb#88
|
2676
|
+
def &(other); end
|
2677
|
+
|
2678
|
+
# @api private
|
2679
|
+
#
|
2680
|
+
# source://dry-schema//lib/dry/schema/path.rb#79
|
2681
|
+
def <=>(other); end
|
2682
|
+
|
2683
|
+
# @api private
|
2684
|
+
#
|
2685
|
+
# source://dry-schema//lib/dry/schema/path.rb#69
|
2686
|
+
def each(&_arg0); end
|
2687
|
+
|
2688
|
+
# @api private
|
2689
|
+
# @return [Boolean]
|
2690
|
+
#
|
2691
|
+
# source://dry-schema//lib/dry/schema/path.rb#74
|
2692
|
+
def include?(other); end
|
2693
|
+
|
2694
|
+
# @api private
|
2695
|
+
# @return [Array<Symbol>]
|
2696
|
+
#
|
2697
|
+
# source://dry-schema//lib/dry/schema/path.rb#16
|
2698
|
+
def keys; end
|
2699
|
+
|
2700
|
+
# @api private
|
2701
|
+
#
|
2702
|
+
# source://dry-schema//lib/dry/schema/path.rb#95
|
2703
|
+
def last; end
|
2704
|
+
|
2705
|
+
# @api private
|
2706
|
+
def root(*_arg0); end
|
2707
|
+
|
2708
|
+
# @api private
|
2709
|
+
# @return [Boolean]
|
2710
|
+
#
|
2711
|
+
# source://dry-schema//lib/dry/schema/path.rb#100
|
2712
|
+
def same_root?(other); end
|
2713
|
+
|
2714
|
+
# @api private
|
2715
|
+
#
|
2716
|
+
# source://dry-schema//lib/dry/schema/path.rb#62
|
2717
|
+
def to_h(value = T.unsafe(nil)); end
|
2718
|
+
|
2719
|
+
class << self
|
2720
|
+
# @api private
|
2721
|
+
#
|
2722
|
+
# source://dry-schema//lib/dry/schema/path.rb#43
|
2723
|
+
def [](spec); end
|
2724
|
+
|
2725
|
+
# Coerce a spec into a path object
|
2726
|
+
#
|
2727
|
+
# @api private
|
2728
|
+
# @param spec [Path, Symbol, String, Hash, Array<Symbol>]
|
2729
|
+
# @return [Path]
|
2730
|
+
#
|
2731
|
+
# source://dry-schema//lib/dry/schema/path.rb#27
|
2732
|
+
def call(spec); end
|
2733
|
+
|
2734
|
+
# Extract a list of keys from a hash
|
2735
|
+
#
|
2736
|
+
# @api private
|
2737
|
+
#
|
2738
|
+
# source://dry-schema//lib/dry/schema/path.rb#50
|
2739
|
+
def keys_from_hash(hash); end
|
2740
|
+
end
|
2741
|
+
end
|
2742
|
+
|
2743
|
+
# @api private
|
2744
|
+
#
|
2745
|
+
# source://dry-schema//lib/dry/schema/path.rb#104
|
2746
|
+
Dry::Schema::Path::EMPTY = T.let(T.unsafe(nil), Dry::Schema::Path)
|
2747
|
+
|
2748
|
+
# Predicate objects used within the DSL
|
2749
|
+
#
|
2750
|
+
# @api public
|
2751
|
+
#
|
2752
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#11
|
2753
|
+
class Dry::Schema::Predicate
|
2754
|
+
include ::Dry::Logic::Operators
|
2755
|
+
include ::Dry::Core::Equalizer::Methods
|
2756
|
+
|
2757
|
+
# @api private
|
2758
|
+
# @return [Predicate] a new instance of Predicate
|
2759
|
+
#
|
2760
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#56
|
2761
|
+
def initialize(compiler, name, args, block); end
|
2762
|
+
|
2763
|
+
# Negate a predicate
|
2764
|
+
#
|
2765
|
+
# @api public
|
2766
|
+
# @example
|
2767
|
+
# required(:name).value(:string) { !empty? }
|
2768
|
+
# @return [Negation]
|
2769
|
+
#
|
2770
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#73
|
2771
|
+
def !; end
|
2772
|
+
|
2773
|
+
# @api private
|
2774
|
+
#
|
2775
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#47
|
2776
|
+
def args; end
|
2777
|
+
|
2778
|
+
# @api private
|
2779
|
+
#
|
2780
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#50
|
2781
|
+
def arity; end
|
2782
|
+
|
2783
|
+
# Dump predicate to an AST
|
2784
|
+
#
|
2785
|
+
# @api private
|
2786
|
+
# @return [Array]
|
2787
|
+
#
|
2788
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#96
|
2789
|
+
def ast(*_arg0); end
|
2790
|
+
|
2791
|
+
# @api private
|
2792
|
+
#
|
2793
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#53
|
2794
|
+
def block; end
|
2795
|
+
|
2796
|
+
# @api private
|
2797
|
+
#
|
2798
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#41
|
2799
|
+
def compiler; end
|
2800
|
+
|
2801
|
+
# @api private
|
2802
|
+
#
|
2803
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#78
|
2804
|
+
def ensure_valid; end
|
2805
|
+
|
2806
|
+
# @api private
|
2807
|
+
#
|
2808
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#44
|
2809
|
+
def name; end
|
2810
|
+
|
2811
|
+
# Dump predicate to an AST
|
2812
|
+
#
|
2813
|
+
# @api private
|
2814
|
+
# @return [Array]
|
2815
|
+
#
|
2816
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#96
|
2817
|
+
def to_ast(*_arg0); end
|
2818
|
+
|
2819
|
+
# Compile predicate to a rule object
|
2820
|
+
#
|
2821
|
+
# @api private
|
2822
|
+
#
|
2823
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#87
|
2824
|
+
def to_rule; end
|
2825
|
+
end
|
2826
|
+
|
2827
|
+
# A negated predicate
|
2828
|
+
#
|
2829
|
+
# @api private
|
2830
|
+
#
|
2831
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#15
|
2832
|
+
class Dry::Schema::Predicate::Negation
|
2833
|
+
include ::Dry::Logic::Operators
|
2834
|
+
|
2835
|
+
# @api private
|
2836
|
+
# @return [Negation] a new instance of Negation
|
2837
|
+
#
|
2838
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#22
|
2839
|
+
def initialize(predicate); end
|
2840
|
+
|
2841
|
+
# Dump negated predicate to an AST
|
2842
|
+
#
|
2843
|
+
# @api private
|
2844
|
+
# @return [Array]
|
2845
|
+
#
|
2846
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#31
|
2847
|
+
def ast(*_arg0, **_arg1, &_arg2); end
|
2848
|
+
|
2849
|
+
# @api private
|
2850
|
+
#
|
2851
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#19
|
2852
|
+
def predicate; end
|
2853
|
+
|
2854
|
+
# Dump negated predicate to an AST
|
2855
|
+
#
|
2856
|
+
# @api private
|
2857
|
+
# @return [Array]
|
2858
|
+
#
|
2859
|
+
# source://dry-schema//lib/dry/schema/predicate.rb#31
|
2860
|
+
def to_ast(*_arg0, **_arg1, &_arg2); end
|
2861
|
+
end
|
2862
|
+
|
2863
|
+
# @api private
|
2864
|
+
#
|
2865
|
+
# source://dry-schema//lib/dry/schema/predicate_inferrer.rb#6
|
2866
|
+
class Dry::Schema::PredicateInferrer < ::Dry::Types::PredicateInferrer
|
2867
|
+
# @api private
|
2868
|
+
# @return [PredicateInferrer] a new instance of PredicateInferrer
|
2869
|
+
#
|
2870
|
+
# source://dry-schema//lib/dry/schema/predicate_inferrer.rb#9
|
2871
|
+
def initialize(registry = T.unsafe(nil)); end
|
2872
|
+
end
|
2873
|
+
|
2874
|
+
# @api private
|
2875
|
+
#
|
2876
|
+
# source://dry-schema//lib/dry/schema/predicate_inferrer.rb#7
|
2877
|
+
class Dry::Schema::PredicateInferrer::Compiler < ::Dry::Types::PredicateInferrer::Compiler; end
|
2878
|
+
|
2879
|
+
# A registry with predicate objects from `Dry::Logic::Predicates`
|
2880
|
+
#
|
2881
|
+
# @api private
|
2882
|
+
#
|
2883
|
+
# source://dry-schema//lib/dry/schema/predicate_registry.rb#8
|
2884
|
+
class Dry::Schema::PredicateRegistry < ::Dry::Types::PredicateRegistry
|
2885
|
+
# @api private
|
2886
|
+
#
|
2887
|
+
# source://dry-schema//lib/dry/schema/predicate_registry.rb#10
|
2888
|
+
def arg_list(name, *values); end
|
2889
|
+
end
|
2890
|
+
|
2891
|
+
# @api private
|
2892
|
+
#
|
2893
|
+
# source://dry-schema//lib/dry/schema/primitive_inferrer.rb#6
|
2894
|
+
class Dry::Schema::PrimitiveInferrer < ::Dry::Types::PrimitiveInferrer
|
2895
|
+
# @api private
|
2896
|
+
# @return [PrimitiveInferrer] a new instance of PrimitiveInferrer
|
2897
|
+
#
|
2898
|
+
# source://dry-schema//lib/dry/schema/primitive_inferrer.rb#9
|
2899
|
+
def initialize; end
|
2900
|
+
end
|
2901
|
+
|
2902
|
+
# @api private
|
2903
|
+
#
|
2904
|
+
# source://dry-schema//lib/dry/schema/primitive_inferrer.rb#7
|
2905
|
+
class Dry::Schema::PrimitiveInferrer::Compiler < ::Dry::Types::PrimitiveInferrer::Compiler; end
|
2906
|
+
|
2907
|
+
# Processes input data using objects configured within the DSL
|
2908
|
+
# Processing is split into steps represented by `ProcessorSteps`.
|
2909
|
+
#
|
2910
|
+
# @api public
|
2911
|
+
# @see ProcessorSteps
|
2912
|
+
# @see Params
|
2913
|
+
# @see JSON
|
2914
|
+
#
|
2915
|
+
# source://dry-schema//lib/dry/schema/processor.rb#15
|
2916
|
+
class Dry::Schema::Processor
|
2917
|
+
include ::Dry::Initializer::Mixin::Root
|
2918
|
+
include ::Dry::Logic::Operators
|
2919
|
+
extend ::Dry::Initializer
|
2920
|
+
extend ::Dry::Core::Constants
|
2921
|
+
extend ::Dry::Configurable
|
2922
|
+
extend ::Dry::Configurable::Methods
|
2923
|
+
extend ::Dry::Configurable::ClassMethods
|
2924
|
+
|
2925
|
+
# Apply processing steps to the provided input
|
2926
|
+
#
|
2927
|
+
# @api public
|
2928
|
+
# @param input [Hash]
|
2929
|
+
# @return [Result]
|
2930
|
+
#
|
2931
|
+
# source://dry-schema//lib/dry/schema/processor.rb#77
|
2932
|
+
def [](input); end
|
2933
|
+
|
2934
|
+
# @api public
|
2935
|
+
# @raise [::NotImplementedError]
|
2936
|
+
#
|
2937
|
+
# source://dry-schema//lib/dry/schema/processor.rb#85
|
2938
|
+
def ^(_other); end
|
2939
|
+
|
2940
|
+
# Return AST representation of the rules
|
2941
|
+
#
|
2942
|
+
# @api private
|
2943
|
+
#
|
2944
|
+
# source://dry-schema//lib/dry/schema/processor.rb#168
|
2945
|
+
def ast(*_arg0); end
|
2946
|
+
|
2947
|
+
# Apply processing steps to the provided input
|
2948
|
+
#
|
2949
|
+
# @api public
|
2950
|
+
# @param input [Hash]
|
2951
|
+
# @return [Result]
|
2952
|
+
#
|
2953
|
+
# source://dry-schema//lib/dry/schema/processor.rb#77
|
2954
|
+
def call(input); end
|
2955
|
+
|
2956
|
+
# Return the rules config
|
2957
|
+
#
|
2958
|
+
# @api private
|
2959
|
+
# @return [Dry::Types::Config]
|
2960
|
+
#
|
2961
|
+
# source://dry-schema//lib/dry/schema/processor.rb#161
|
2962
|
+
def config; end
|
2963
|
+
|
2964
|
+
# Check if there are filter rules
|
2965
|
+
#
|
2966
|
+
# @api private
|
2967
|
+
# @return [Boolean]
|
2968
|
+
#
|
2969
|
+
# source://dry-schema//lib/dry/schema/processor.rb#201
|
2970
|
+
def filter_rules?; end
|
2971
|
+
|
2972
|
+
# Return filter schema
|
2973
|
+
#
|
2974
|
+
# @api private
|
2975
|
+
#
|
2976
|
+
# source://dry-schema//lib/dry/schema/processor.rb#208
|
2977
|
+
def filter_schema; end
|
2978
|
+
|
2979
|
+
# Return string representation
|
2980
|
+
#
|
2981
|
+
# @api public
|
2982
|
+
# @return [String]
|
2983
|
+
#
|
2984
|
+
# source://dry-schema//lib/dry/schema/processor.rb#115
|
2985
|
+
def inspect; end
|
2986
|
+
|
2987
|
+
# Return the key map
|
2988
|
+
#
|
2989
|
+
# @api public
|
2990
|
+
# @return [KeyMap]
|
2991
|
+
#
|
2992
|
+
# source://dry-schema//lib/dry/schema/processor.rb#126
|
2993
|
+
def key_map; end
|
2994
|
+
|
2995
|
+
# Merge with another schema
|
2996
|
+
#
|
2997
|
+
# @api public
|
2998
|
+
# @param other [Processor]
|
2999
|
+
# @return [Processor, Params, JSON]
|
3000
|
+
#
|
3001
|
+
# source://dry-schema//lib/dry/schema/processor.rb#97
|
3002
|
+
def merge(other); end
|
3003
|
+
|
3004
|
+
# Return the message compiler
|
3005
|
+
#
|
3006
|
+
# @api private
|
3007
|
+
# @return [MessageCompiler]
|
3008
|
+
#
|
3009
|
+
# source://dry-schema//lib/dry/schema/processor.rb#178
|
3010
|
+
def message_compiler; end
|
3011
|
+
|
3012
|
+
# Return the rule applier
|
3013
|
+
#
|
3014
|
+
# @api private
|
3015
|
+
#
|
3016
|
+
# source://dry-schema//lib/dry/schema/processor.rb#151
|
3017
|
+
def rule_applier; end
|
3018
|
+
|
3019
|
+
# Return the rules from rule applier
|
3020
|
+
#
|
3021
|
+
# @api private
|
3022
|
+
# @return [MessageCompiler]
|
3023
|
+
#
|
3024
|
+
# source://dry-schema//lib/dry/schema/processor.rb#187
|
3025
|
+
def rules; end
|
3026
|
+
|
3027
|
+
# Return type schema used when composing subschemas
|
3028
|
+
#
|
3029
|
+
# @api private
|
3030
|
+
# @return [Dry::Types::Schema]
|
3031
|
+
#
|
3032
|
+
# source://dry-schema//lib/dry/schema/processor.rb#144
|
3033
|
+
def strict_type_schema; end
|
3034
|
+
|
3035
|
+
# Return AST representation of the rules
|
3036
|
+
#
|
3037
|
+
# @api private
|
3038
|
+
#
|
3039
|
+
# source://dry-schema//lib/dry/schema/processor.rb#168
|
3040
|
+
def to_ast(*_arg0); end
|
3041
|
+
|
3042
|
+
# Return a proc that acts like a schema object
|
3043
|
+
#
|
3044
|
+
# @api public
|
3045
|
+
# @return [Proc]
|
3046
|
+
#
|
3047
|
+
# source://dry-schema//lib/dry/schema/processor.rb#106
|
3048
|
+
def to_proc; end
|
3049
|
+
|
3050
|
+
# Return the rule applier
|
3051
|
+
#
|
3052
|
+
# @api private
|
3053
|
+
#
|
3054
|
+
# source://dry-schema//lib/dry/schema/processor.rb#151
|
3055
|
+
def to_rule; end
|
3056
|
+
|
3057
|
+
# Return the type schema
|
3058
|
+
#
|
3059
|
+
# @api private
|
3060
|
+
# @return [Dry::Types::Lax]
|
3061
|
+
#
|
3062
|
+
# source://dry-schema//lib/dry/schema/processor.rb#135
|
3063
|
+
def type_schema; end
|
3064
|
+
|
3065
|
+
# Return the types from the schema DSL
|
3066
|
+
#
|
3067
|
+
# @api private
|
3068
|
+
#
|
3069
|
+
# source://dry-schema//lib/dry/schema/processor.rb#194
|
3070
|
+
def types; end
|
3071
|
+
|
3072
|
+
# @api public
|
3073
|
+
# @raise [::NotImplementedError]
|
3074
|
+
#
|
3075
|
+
# source://dry-schema//lib/dry/schema/processor.rb#85
|
3076
|
+
def xor(_other); end
|
3077
|
+
|
3078
|
+
class << self
|
3079
|
+
# Define a schema for your processor class
|
3080
|
+
#
|
3081
|
+
# @api public
|
3082
|
+
# @return [Class]
|
3083
|
+
# @see Schema#define
|
3084
|
+
# @see Schema#Params
|
3085
|
+
# @see Schema#JSON
|
3086
|
+
#
|
3087
|
+
# source://dry-schema//lib/dry/schema/processor.rb#45
|
3088
|
+
def define(&_arg0); end
|
3089
|
+
|
3090
|
+
# Return DSL configured via #define
|
3091
|
+
#
|
3092
|
+
# @api private
|
3093
|
+
# @return [DSL]
|
3094
|
+
#
|
3095
|
+
# source://dry-schema//lib/dry/schema/processor.rb#34
|
3096
|
+
def definition; end
|
3097
|
+
|
3098
|
+
# Build a new processor object
|
3099
|
+
#
|
3100
|
+
# @api public
|
3101
|
+
# @return [Processor]
|
3102
|
+
#
|
3103
|
+
# source://dry-schema//lib/dry/schema/processor.rb#57
|
3104
|
+
def new(options = T.unsafe(nil)); end
|
3105
|
+
end
|
3106
|
+
end
|
3107
|
+
|
3108
|
+
# Steps for the Dry::Schema::Processor
|
3109
|
+
#
|
3110
|
+
# There are 4 main steps:
|
3111
|
+
#
|
3112
|
+
# 1. `key_coercer` - Prepare input hash using a key map
|
3113
|
+
# 2. `filter_schema` - Apply pre-coercion filtering rules
|
3114
|
+
# (optional step, used only when `filter` was used)
|
3115
|
+
# 3. `value_coercer` - Apply value coercions based on type specifications
|
3116
|
+
# 4. `rule_applier` - Apply rules
|
3117
|
+
#
|
3118
|
+
# @api public
|
3119
|
+
# @see Processor
|
3120
|
+
#
|
3121
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#21
|
3122
|
+
class Dry::Schema::ProcessorSteps
|
3123
|
+
include ::Dry::Initializer::Mixin::Root
|
3124
|
+
extend ::Dry::Initializer
|
3125
|
+
|
3126
|
+
# Returns step by name
|
3127
|
+
#
|
3128
|
+
# @api public
|
3129
|
+
# @param name [Symbol] The step name
|
3130
|
+
#
|
3131
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#65
|
3132
|
+
def [](name); end
|
3133
|
+
|
3134
|
+
# Sets step by name
|
3135
|
+
#
|
3136
|
+
# @api public
|
3137
|
+
# @param name [Symbol] The step name
|
3138
|
+
#
|
3139
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#74
|
3140
|
+
def []=(name, value); end
|
3141
|
+
|
3142
|
+
# Add passed block before mentioned step
|
3143
|
+
#
|
3144
|
+
# @api public
|
3145
|
+
# @param name [Symbol] The step name
|
3146
|
+
# @return [ProcessorSteps]
|
3147
|
+
#
|
3148
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#85
|
3149
|
+
def after(name, &block); end
|
3150
|
+
|
3151
|
+
# Add passed block before mentioned step
|
3152
|
+
#
|
3153
|
+
# @api public
|
3154
|
+
# @param name [Symbol] The step name
|
3155
|
+
# @return [ProcessorSteps]
|
3156
|
+
#
|
3157
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#99
|
3158
|
+
def before(name, &block); end
|
3159
|
+
|
3160
|
+
# Executes steps and callbacks in order
|
3161
|
+
#
|
3162
|
+
# @api public
|
3163
|
+
# @param result [Result]
|
3164
|
+
# @return [Result]
|
3165
|
+
#
|
3166
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#35
|
3167
|
+
def call(result); end
|
3168
|
+
|
3169
|
+
# @api private
|
3170
|
+
#
|
3171
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#128
|
3172
|
+
def import_callbacks(path, other); end
|
3173
|
+
|
3174
|
+
# @api private
|
3175
|
+
#
|
3176
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#51
|
3177
|
+
def key_map; end
|
3178
|
+
|
3179
|
+
# Stacks callback steps and returns new ProcessorSteps instance
|
3180
|
+
#
|
3181
|
+
# @api public
|
3182
|
+
# @param other [ProcessorSteps]
|
3183
|
+
# @return [ProcessorSteps]
|
3184
|
+
#
|
3185
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#113
|
3186
|
+
def merge(other); end
|
3187
|
+
|
3188
|
+
# @api private
|
3189
|
+
#
|
3190
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#121
|
3191
|
+
def merge_callbacks(left, right); end
|
3192
|
+
|
3193
|
+
# @api private
|
3194
|
+
#
|
3195
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#46
|
3196
|
+
def rule_applier; end
|
3197
|
+
|
3198
|
+
# @api private
|
3199
|
+
#
|
3200
|
+
# source://dry-schema//lib/dry/schema/processor_steps.rb#56
|
3201
|
+
def type_schema; end
|
3202
|
+
end
|
3203
|
+
|
3204
|
+
# @api public
|
3205
|
+
#
|
3206
|
+
# source://dry-schema//lib/dry/schema/constants.rb#14
|
3207
|
+
Dry::Schema::QUESTION_MARK = T.let(T.unsafe(nil), String)
|
3208
|
+
|
3209
|
+
# Processing result
|
3210
|
+
#
|
3211
|
+
# @api public
|
3212
|
+
# @see Processor#call
|
3213
|
+
#
|
3214
|
+
# source://dry-schema//lib/dry/schema/result.rb#13
|
3215
|
+
class Dry::Schema::Result
|
3216
|
+
include ::Dry::Core::Equalizer::Methods
|
3217
|
+
include ::Dry::Initializer::Mixin::Root
|
3218
|
+
extend ::Dry::Initializer
|
3219
|
+
|
3220
|
+
# Read value from the output hash
|
3221
|
+
#
|
3222
|
+
# @api public
|
3223
|
+
# @param name [Symbol]
|
3224
|
+
# @return [Object]
|
3225
|
+
#
|
3226
|
+
# source://dry-schema//lib/dry/schema/result.rb#110
|
3227
|
+
def [](name); end
|
3228
|
+
|
3229
|
+
# Add a new error AST node
|
3230
|
+
#
|
3231
|
+
# @api private
|
3232
|
+
#
|
3233
|
+
# source://dry-schema//lib/dry/schema/result.rb#198
|
3234
|
+
def add_error(node); end
|
3235
|
+
|
3236
|
+
# Return a new result scoped to a specific path
|
3237
|
+
#
|
3238
|
+
# @api private
|
3239
|
+
# @param path [Symbol, Array, Path]
|
3240
|
+
# @return [Result]
|
3241
|
+
#
|
3242
|
+
# source://dry-schema//lib/dry/schema/result.rb#46
|
3243
|
+
def at(at_path, &_arg1); end
|
3244
|
+
|
3245
|
+
# @api private
|
3246
|
+
#
|
3247
|
+
# source://dry-schema//lib/dry/schema/result.rb#98
|
3248
|
+
def concat(other); end
|
3249
|
+
|
3250
|
+
# Pattern matching support
|
3251
|
+
#
|
3252
|
+
# @api private
|
3253
|
+
#
|
3254
|
+
# source://dry-schema//lib/dry/schema/result.rb#191
|
3255
|
+
def deconstruct_keys(_); end
|
3256
|
+
|
3257
|
+
# Check if there's an error for the provided spec
|
3258
|
+
#
|
3259
|
+
# @api public
|
3260
|
+
# @param spec [Symbol, Hash<Symbol=>Symbol>]
|
3261
|
+
# @return [Boolean]
|
3262
|
+
#
|
3263
|
+
# source://dry-schema//lib/dry/schema/result.rb#132
|
3264
|
+
def error?(spec); end
|
3265
|
+
|
3266
|
+
# Get human-readable error representation
|
3267
|
+
#
|
3268
|
+
# @api public
|
3269
|
+
# @return [MessageSet]
|
3270
|
+
# @see #message_set
|
3271
|
+
#
|
3272
|
+
# source://dry-schema//lib/dry/schema/result.rb#161
|
3273
|
+
def errors(options = T.unsafe(nil)); end
|
3274
|
+
|
3275
|
+
# Check if the result is not successful
|
3276
|
+
#
|
3277
|
+
# @api public
|
3278
|
+
# @return [Boolean]
|
3279
|
+
#
|
3280
|
+
# source://dry-schema//lib/dry/schema/result.rb#150
|
3281
|
+
def failure?; end
|
3282
|
+
|
3283
|
+
# Return a string representation of the result
|
3284
|
+
#
|
3285
|
+
# @api public
|
3286
|
+
# @return [String]
|
3287
|
+
#
|
3288
|
+
# source://dry-schema//lib/dry/schema/result.rb#184
|
3289
|
+
def inspect; end
|
3290
|
+
|
3291
|
+
# Check if a given key is present in the output
|
3292
|
+
#
|
3293
|
+
# @api public
|
3294
|
+
# @param name [Symbol]
|
3295
|
+
# @return [Boolean]
|
3296
|
+
#
|
3297
|
+
# source://dry-schema//lib/dry/schema/result.rb#121
|
3298
|
+
def key?(name); end
|
3299
|
+
|
3300
|
+
# Return the message set
|
3301
|
+
#
|
3302
|
+
# @api public
|
3303
|
+
# @option options
|
3304
|
+
# @option options
|
3305
|
+
# @option options
|
3306
|
+
# @param options [Hash]
|
3307
|
+
# @return [MessageSet]
|
3308
|
+
#
|
3309
|
+
# source://dry-schema//lib/dry/schema/result.rb#175
|
3310
|
+
def message_set(options = T.unsafe(nil)); end
|
3311
|
+
|
3312
|
+
# @api private
|
3313
|
+
#
|
3314
|
+
# source://dry-schema//lib/dry/schema/result.rb#51
|
3315
|
+
def new(output, **opts, &_arg2); end
|
3316
|
+
|
3317
|
+
# Dump result to a hash returning processed and validated data
|
3318
|
+
#
|
3319
|
+
# @api private
|
3320
|
+
# @return [Hash]
|
3321
|
+
#
|
3322
|
+
# source://dry-schema//lib/dry/schema/result.rb#77
|
3323
|
+
def output; end
|
3324
|
+
|
3325
|
+
# @api private
|
3326
|
+
#
|
3327
|
+
# source://dry-schema//lib/dry/schema/result.rb#68
|
3328
|
+
def path; end
|
3329
|
+
|
3330
|
+
# @api private
|
3331
|
+
#
|
3332
|
+
# source://dry-schema//lib/dry/schema/result.rb#83
|
3333
|
+
def replace(value); end
|
3334
|
+
|
3335
|
+
# Check if the result is successful
|
3336
|
+
#
|
3337
|
+
# @api public
|
3338
|
+
# @return [Boolean]
|
3339
|
+
#
|
3340
|
+
# source://dry-schema//lib/dry/schema/result.rb#141
|
3341
|
+
def success?; end
|
3342
|
+
|
3343
|
+
# Dump result to a hash returning processed and validated data
|
3344
|
+
#
|
3345
|
+
# @api private
|
3346
|
+
# @return [Hash]
|
3347
|
+
#
|
3348
|
+
# source://dry-schema//lib/dry/schema/result.rb#77
|
3349
|
+
def to_h; end
|
3350
|
+
|
3351
|
+
# @api private
|
3352
|
+
#
|
3353
|
+
# source://dry-schema//lib/dry/schema/result.rb#62
|
3354
|
+
def update(hash); end
|
3355
|
+
|
3356
|
+
class << self
|
3357
|
+
# @api private
|
3358
|
+
# @yield [result]
|
3359
|
+
#
|
3360
|
+
# source://dry-schema//lib/dry/schema/result.rb#33
|
3361
|
+
def new(*_arg0, **_arg1); end
|
3362
|
+
end
|
3363
|
+
end
|
3364
|
+
|
3365
|
+
# Applies rules defined within the DSL
|
3366
|
+
#
|
3367
|
+
# @api private
|
3368
|
+
#
|
3369
|
+
# source://dry-schema//lib/dry/schema/rule_applier.rb#11
|
3370
|
+
class Dry::Schema::RuleApplier
|
3371
|
+
include ::Dry::Initializer::Mixin::Root
|
3372
|
+
extend ::Dry::Initializer
|
3373
|
+
|
3374
|
+
# @api private
|
3375
|
+
#
|
3376
|
+
# source://dry-schema//lib/dry/schema/rule_applier.rb#24
|
3377
|
+
def call(input); end
|
3378
|
+
|
3379
|
+
# @api private
|
3380
|
+
#
|
3381
|
+
# source://dry-schema//lib/dry/schema/rule_applier.rb#38
|
3382
|
+
def to_ast; end
|
3383
|
+
end
|
3384
|
+
|
3385
|
+
# core processor steps in the default execution order
|
3386
|
+
#
|
3387
|
+
# @api public
|
3388
|
+
#
|
3389
|
+
# source://dry-schema//lib/dry/schema/constants.rb#18
|
3390
|
+
Dry::Schema::STEPS_IN_ORDER = T.let(T.unsafe(nil), Array)
|
3391
|
+
|
3392
|
+
# @api private
|
3393
|
+
#
|
3394
|
+
# source://dry-schema//lib/dry/schema/step.rb#8
|
3395
|
+
class Dry::Schema::Step
|
3396
|
+
# @api private
|
3397
|
+
# @return [Step] a new instance of Step
|
3398
|
+
#
|
3399
|
+
# source://dry-schema//lib/dry/schema/step.rb#22
|
3400
|
+
def initialize(type:, name:, executor:, path: T.unsafe(nil)); end
|
3401
|
+
|
3402
|
+
# @api private
|
3403
|
+
#
|
3404
|
+
# source://dry-schema//lib/dry/schema/step.rb#31
|
3405
|
+
def call(result); end
|
3406
|
+
|
3407
|
+
# @api private
|
3408
|
+
#
|
3409
|
+
# source://dry-schema//lib/dry/schema/step.rb#16
|
3410
|
+
def executor; end
|
3411
|
+
|
3412
|
+
# @api private
|
3413
|
+
#
|
3414
|
+
# source://dry-schema//lib/dry/schema/step.rb#10
|
3415
|
+
def name; end
|
3416
|
+
|
3417
|
+
# @api private
|
3418
|
+
#
|
3419
|
+
# source://dry-schema//lib/dry/schema/step.rb#19
|
3420
|
+
def path; end
|
3421
|
+
|
3422
|
+
# @api private
|
3423
|
+
#
|
3424
|
+
# source://dry-schema//lib/dry/schema/step.rb#40
|
3425
|
+
def scoped(parent_path); end
|
3426
|
+
|
3427
|
+
# @api private
|
3428
|
+
#
|
3429
|
+
# source://dry-schema//lib/dry/schema/step.rb#13
|
3430
|
+
def type; end
|
3431
|
+
|
3432
|
+
private
|
3433
|
+
|
3434
|
+
# @api private
|
3435
|
+
# @raise [ArgumentError]
|
3436
|
+
#
|
3437
|
+
# source://dry-schema//lib/dry/schema/step.rb#52
|
3438
|
+
def validate_name(name); end
|
3439
|
+
end
|
3440
|
+
|
3441
|
+
# Captures predicates defined within the DSL
|
3442
|
+
#
|
3443
|
+
# @api private
|
3444
|
+
#
|
3445
|
+
# source://dry-schema//lib/dry/schema/trace.rb#8
|
3446
|
+
class Dry::Schema::Trace < ::BasicObject
|
3447
|
+
include ::Dry::Core::Equalizer::Methods
|
3448
|
+
|
3449
|
+
# @api private
|
3450
|
+
# @return [Trace] a new instance of Trace
|
3451
|
+
#
|
3452
|
+
# source://dry-schema//lib/dry/schema/trace.rb#22
|
3453
|
+
def initialize(compiler = T.unsafe(nil)); end
|
3454
|
+
|
3455
|
+
# @api private
|
3456
|
+
#
|
3457
|
+
# source://dry-schema//lib/dry/schema/trace.rb#54
|
3458
|
+
def <<(op); end
|
3459
|
+
|
3460
|
+
# @api private
|
3461
|
+
#
|
3462
|
+
# source://dry-schema//lib/dry/schema/trace.rb#54
|
3463
|
+
def append(op); end
|
3464
|
+
|
3465
|
+
# @api private
|
3466
|
+
#
|
3467
|
+
# source://dry-schema//lib/dry/schema/trace.rb#19
|
3468
|
+
def captures; end
|
3469
|
+
|
3470
|
+
# @api private
|
3471
|
+
#
|
3472
|
+
# source://dry-schema//lib/dry/schema/trace.rb#77
|
3473
|
+
def class; end
|
3474
|
+
|
3475
|
+
# @api private
|
3476
|
+
#
|
3477
|
+
# source://dry-schema//lib/dry/schema/trace.rb#16
|
3478
|
+
def compiler; end
|
3479
|
+
|
3480
|
+
# @api private
|
3481
|
+
#
|
3482
|
+
# source://dry-schema//lib/dry/schema/trace.rb#28
|
3483
|
+
def evaluate(*args, **opts); end
|
3484
|
+
|
3485
|
+
# @api private
|
3486
|
+
#
|
3487
|
+
# source://dry-schema//lib/dry/schema/trace.rb#39
|
3488
|
+
def evaluate_predicates(predicates); end
|
3489
|
+
|
3490
|
+
# @api private
|
3491
|
+
#
|
3492
|
+
# source://dry-schema//lib/dry/schema/trace.rb#72
|
3493
|
+
def to_ast; end
|
3494
|
+
|
3495
|
+
# @api private
|
3496
|
+
#
|
3497
|
+
# source://dry-schema//lib/dry/schema/trace.rb#61
|
3498
|
+
def to_rule(name = T.unsafe(nil)); end
|
3499
|
+
|
3500
|
+
private
|
3501
|
+
|
3502
|
+
# @api private
|
3503
|
+
#
|
3504
|
+
# source://dry-schema//lib/dry/schema/trace.rb#93
|
3505
|
+
def method_missing(meth, *args, &block); end
|
3506
|
+
|
3507
|
+
# @api private
|
3508
|
+
#
|
3509
|
+
# source://dry-schema//lib/dry/schema/trace.rb#84
|
3510
|
+
def reduced_rule; end
|
3511
|
+
|
3512
|
+
# @api private
|
3513
|
+
# @return [Boolean]
|
3514
|
+
#
|
3515
|
+
# source://dry-schema//lib/dry/schema/trace.rb#88
|
3516
|
+
def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
|
3517
|
+
end
|
3518
|
+
|
3519
|
+
# @api private
|
3520
|
+
#
|
3521
|
+
# source://dry-schema//lib/dry/schema/trace.rb#9
|
3522
|
+
Dry::Schema::Trace::INVALID_PREDICATES = T.let(T.unsafe(nil), Array)
|
3523
|
+
|
3524
|
+
# A class to build containers for custom types, which can be used in schemas
|
3525
|
+
#
|
3526
|
+
# @api public
|
3527
|
+
# @example
|
3528
|
+
# MyTypeContainer = Dry::Schema::TypeContainer.new
|
3529
|
+
# MyTypeContainer.register('params.fancy_string', Types::FancyString)
|
3530
|
+
#
|
3531
|
+
# source://dry-schema//lib/dry/schema/type_container.rb#15
|
3532
|
+
class Dry::Schema::TypeContainer
|
3533
|
+
include ::Dry::Core::Container::Mixin::Initializer
|
3534
|
+
include ::Dry::Core::Container::Mixin
|
3535
|
+
extend ::Dry::Core::Container::Configuration
|
3536
|
+
extend ::Dry::Core::Constants
|
3537
|
+
extend ::Dry::Configurable
|
3538
|
+
extend ::Dry::Configurable::Methods
|
3539
|
+
extend ::Dry::Configurable::ClassMethods
|
3540
|
+
|
3541
|
+
# @api public
|
3542
|
+
# @return [TypeContainer] a new instance of TypeContainer
|
3543
|
+
#
|
3544
|
+
# source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#71
|
3545
|
+
def initialize(*_arg0, **_arg1, &_arg2); end
|
3546
|
+
|
3547
|
+
# source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#83
|
3548
|
+
def config; end
|
3549
|
+
|
3550
|
+
# @api public
|
3551
|
+
#
|
3552
|
+
# source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#181
|
3553
|
+
def registered?(key); end
|
3554
|
+
end
|
3555
|
+
|
3556
|
+
# A simple wrapper around Dry::Types registry
|
3557
|
+
#
|
3558
|
+
# This is used internally by specialized processor sub-classes
|
3559
|
+
#
|
3560
|
+
# @api private
|
3561
|
+
#
|
3562
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#13
|
3563
|
+
class Dry::Schema::TypeRegistry
|
3564
|
+
# @api private
|
3565
|
+
# @return [TypeRegistry] a new instance of TypeRegistry
|
3566
|
+
#
|
3567
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#26
|
3568
|
+
def initialize(types, namespace = T.unsafe(nil)); end
|
3569
|
+
|
3570
|
+
# @api private
|
3571
|
+
#
|
3572
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#37
|
3573
|
+
def [](name); end
|
3574
|
+
|
3575
|
+
# @api private
|
3576
|
+
#
|
3577
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#18
|
3578
|
+
def namespace; end
|
3579
|
+
|
3580
|
+
# @api private
|
3581
|
+
#
|
3582
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#32
|
3583
|
+
def namespaced(ns); end
|
3584
|
+
|
3585
|
+
# @api private
|
3586
|
+
#
|
3587
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#15
|
3588
|
+
def types; end
|
3589
|
+
|
3590
|
+
class << self
|
3591
|
+
# @api private
|
3592
|
+
#
|
3593
|
+
# source://dry-schema//lib/dry/schema/type_registry.rb#21
|
3594
|
+
def new(types = T.unsafe(nil), namespace = T.unsafe(nil)); end
|
3595
|
+
end
|
3596
|
+
end
|
3597
|
+
|
3598
|
+
# Schema's own type registry
|
3599
|
+
#
|
3600
|
+
# @api public
|
3601
|
+
#
|
3602
|
+
# source://dry-schema//lib/dry/schema/types.rb#10
|
3603
|
+
module Dry::Schema::Types
|
3604
|
+
extend ::Dry::Types::BuilderMethods
|
3605
|
+
extend ::Dry::Core::Deprecations::Interface
|
3606
|
+
|
3607
|
+
mixes_in_class_methods ::Dry::Types::BuilderMethods
|
3608
|
+
end
|
3609
|
+
|
3610
|
+
# Combines multiple logical operations into a single type, taking into
|
3611
|
+
# account the type of logical operation (or, and, implication) and the
|
3612
|
+
# underlying types (schemas, nominals, etc.)
|
3613
|
+
#
|
3614
|
+
# @api private
|
3615
|
+
#
|
3616
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#10
|
3617
|
+
class Dry::Schema::TypesMerger
|
3618
|
+
# @api private
|
3619
|
+
# @return [TypesMerger] a new instance of TypesMerger
|
3620
|
+
#
|
3621
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#127
|
3622
|
+
def initialize(type_registry = T.unsafe(nil)); end
|
3623
|
+
|
3624
|
+
# @api private
|
3625
|
+
#
|
3626
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#132
|
3627
|
+
def call(op_class, lhs, rhs); end
|
3628
|
+
|
3629
|
+
# @api private
|
3630
|
+
#
|
3631
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#11
|
3632
|
+
def type_registry; end
|
3633
|
+
end
|
3634
|
+
|
3635
|
+
# @api private
|
3636
|
+
#
|
3637
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#14
|
3638
|
+
class Dry::Schema::TypesMerger::ValueMerger
|
3639
|
+
# @api private
|
3640
|
+
# @return [ValueMerger] a new instance of ValueMerger
|
3641
|
+
#
|
3642
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#21
|
3643
|
+
def initialize(types_merger, op_class, old, new); end
|
3644
|
+
|
3645
|
+
# @api private
|
3646
|
+
#
|
3647
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#29
|
3648
|
+
def call; end
|
3649
|
+
|
3650
|
+
# @api private
|
3651
|
+
#
|
3652
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#18
|
3653
|
+
def new; end
|
3654
|
+
|
3655
|
+
# @api private
|
3656
|
+
#
|
3657
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#17
|
3658
|
+
def old; end
|
3659
|
+
|
3660
|
+
# @api private
|
3661
|
+
#
|
3662
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#16
|
3663
|
+
def op_class; end
|
3664
|
+
|
3665
|
+
# @api private
|
3666
|
+
#
|
3667
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#15
|
3668
|
+
def types_merger; end
|
3669
|
+
|
3670
|
+
private
|
3671
|
+
|
3672
|
+
# @api private
|
3673
|
+
#
|
3674
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#51
|
3675
|
+
def merge_and; end
|
3676
|
+
|
3677
|
+
# @api private
|
3678
|
+
#
|
3679
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#95
|
3680
|
+
def merge_equivalent_types(unwrapped_old, unwrapped_new); end
|
3681
|
+
|
3682
|
+
# @api private
|
3683
|
+
#
|
3684
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#51
|
3685
|
+
def merge_implication; end
|
3686
|
+
|
3687
|
+
# @api private
|
3688
|
+
#
|
3689
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#46
|
3690
|
+
def merge_or; end
|
3691
|
+
|
3692
|
+
# @api private
|
3693
|
+
#
|
3694
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#51
|
3695
|
+
def merge_ordered; end
|
3696
|
+
|
3697
|
+
# @api private
|
3698
|
+
#
|
3699
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#84
|
3700
|
+
def merge_schemas(unwrapped_old, unwrapped_new); end
|
3701
|
+
|
3702
|
+
# @api private
|
3703
|
+
#
|
3704
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#70
|
3705
|
+
def merge_unwrapped_types(unwrapped_old, unwrapped_new); end
|
3706
|
+
|
3707
|
+
# @api private
|
3708
|
+
#
|
3709
|
+
# source://dry-schema//lib/dry/schema/types_merger.rb#108
|
3710
|
+
def unwrap_type(type); end
|
3711
|
+
end
|
3712
|
+
|
3713
|
+
# Used by the processors to coerce values in the input hash
|
3714
|
+
#
|
3715
|
+
# @api private
|
3716
|
+
#
|
3717
|
+
# source://dry-schema//lib/dry/schema/value_coercer.rb#11
|
3718
|
+
class Dry::Schema::ValueCoercer
|
3719
|
+
include ::Dry::Initializer::Mixin::Root
|
3720
|
+
include ::Dry::Core::Equalizer::Methods
|
3721
|
+
extend ::Dry::Initializer
|
3722
|
+
|
3723
|
+
# @api private
|
3724
|
+
#
|
3725
|
+
# source://dry-schema//lib/dry/schema/value_coercer.rb#19
|
3726
|
+
def call(input); end
|
3727
|
+
end
|