mayak 0.0.12 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mayak/function.rb +14 -0
- data/lib/mayak.rb +2 -0
- data/mayak.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 221a2d0600601424c1b7f01078c26369743c85a240df39ac5a8b28dd68b6618e
|
4
|
+
data.tar.gz: 3b1abd6a9ecb58ea5ea251c1e93ca1ae53186c3902bcd9ba94f24f997d46b531
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bdce4716909e84e70db5aec924f2c80fd86e82cfbd7502382e9ac3d6e48dbbae55d3d5afe449037f23865ec4a81bc3042369cecf5815ab1527ffc8a2dc348c5
|
7
|
+
data.tar.gz: 52008707af1699cf0cd7c35acf3feca9f3593577a7ad8a76e239e36310ae4f9e316a9b87f6bc9d0d7cd8b00a0324c26bd5344e4f3c54dded86af14e93bad2821
|
data/lib/mayak/function.rb
CHANGED
@@ -18,6 +18,20 @@ module Mayak
|
|
18
18
|
@blk = T.let(blk, T.proc.params(input: Input).returns(Output))
|
19
19
|
end
|
20
20
|
|
21
|
+
sig {
|
22
|
+
type_parameters(
|
23
|
+
:Input,
|
24
|
+
:Output
|
25
|
+
).params(
|
26
|
+
proc: T.proc.params(arg0: T.type_parameter(:Input)).returns(T.type_parameter(:Output))
|
27
|
+
).returns(
|
28
|
+
::Mayak::Function[T.type_parameter(:Input), T.type_parameter(:Output)]
|
29
|
+
)
|
30
|
+
}
|
31
|
+
def self.from_proc(proc)
|
32
|
+
::Mayak::Function[T.type_parameter(:Input), T.type_parameter(:Output)].new { |input| proc.call(input) }
|
33
|
+
end
|
34
|
+
|
21
35
|
sig { params(input: Input).returns(Output) }
|
22
36
|
def call(input)
|
23
37
|
blk.call(input)
|
data/lib/mayak.rb
CHANGED
@@ -6,6 +6,8 @@ require 'sorbet-runtime'
|
|
6
6
|
require_relative 'mayak/cache'
|
7
7
|
require_relative 'mayak/function'
|
8
8
|
require_relative 'mayak/failable_function'
|
9
|
+
require_relative 'mayak/optional_function'
|
10
|
+
require_relative 'mayak/validation_result'
|
9
11
|
require_relative 'mayak/json'
|
10
12
|
require_relative 'mayak/numeric'
|
11
13
|
require_relative 'mayak/random'
|
data/mayak.gemspec
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "mayak"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.14"
|
8
8
|
spec.summary = "Set of fully typed utility classes and interfaces integrated with Sorbet."
|
9
9
|
spec.description = spec.summary
|
10
10
|
spec.authors = ["Daniil Bober"]
|