Skip to content

Commit 7c64f28

Browse files
committed
Update ruby tucana to 0.0.67 and switch to function definitions
1 parent 2fd3fb0 commit 7c64f28

7 files changed

Lines changed: 26 additions & 25 deletions

File tree

entrypoint/mapper.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ import {
33
DataType,
44
Flow,
55
FunctionDefinition,
6-
LiteralValue,
76
NodeFunction,
87
NodeParameter,
9-
NodeParameterValue, ParameterDefinition,
8+
NodeParameterValue,
9+
ParameterDefinition,
1010
} from "@code0-tech/sagittarius-graphql-types";
1111
import {
1212
DefinitionDataType,
1313
NodeFunction as TucanaNodeFunction,
14-
NodeParameter as TucanaNodeParameter, RuntimeFunctionDefinition, RuntimeParameterDefinition,
14+
NodeParameter as TucanaNodeParameter,
15+
FunctionDefinition as TucanaFunctionDefinition,
16+
ParameterDefinition as TucanaParameterDefinition,
1517
ValidationFlow,
1618
} from "@code0-tech/tucana/shared";
1719
import {toAllowedValue} from "@code0-tech/tucana/helpers";
@@ -38,8 +40,7 @@ function mapFlow(flow: ValidationFlow): Flow {
3840
return {
3941
__typename: "Flow",
4042
id: gid('Flow', flow.flowId) as Flow['id'],
41-
inputType: flow.inputType,
42-
returnType: flow.returnType,
43+
signature: flow.signature,
4344
startingNodeId: gid('NodeFunction', flow.startingNodeId) as NodeFunction['id'],
4445
nodes: {
4546
nodes: flow.nodeFunctions.map(mapNodeFunction)
@@ -101,17 +102,17 @@ function mapNodeParameter(nodeParameter: TucanaNodeParameter): NodeParameter {
101102
}
102103
}
103104

104-
function mapFunctionDefinition(functionDefinition: RuntimeFunctionDefinition): FunctionDefinition {
105+
function mapFunctionDefinition(functionDefinition: TucanaFunctionDefinition): FunctionDefinition {
105106
return {
106107
identifier: functionDefinition.runtimeName,
107108
signature: functionDefinition.signature,
108109
parameterDefinitions: {
109-
nodes: functionDefinition.runtimeParameterDefinitions.map(mapParameterDefinition)
110+
nodes: functionDefinition.parameterDefinitions.map(mapParameterDefinition)
110111
}
111112
}
112113
}
113114

114-
function mapParameterDefinition(parameterDefinition: RuntimeParameterDefinition): ParameterDefinition {
115+
function mapParameterDefinition(parameterDefinition: TucanaParameterDefinition): ParameterDefinition {
115116
return {
116117
identifier: parameterDefinition.runtimeName,
117118
}

entrypoint/readSingle.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import {
22
DefinitionDataType,
3-
RuntimeFunctionDefinition,
3+
FunctionDefinition,
44
ValidationFlow
55
} from "@code0-tech/tucana/shared";
66

77
export type SingleValidationInputData = {
88
flow?: ValidationFlow,
9-
functions: RuntimeFunctionDefinition[],
9+
functions: FunctionDefinition[],
1010
dataTypes: DefinitionDataType[]
1111
};
1212

@@ -28,7 +28,7 @@ export async function readSingleValidation(input: AsyncIterable<string>) {
2828
if(parsingState === 0) {
2929
data.flow = ValidationFlow.fromBinary(message);
3030
} else if(parsingState === 1) {
31-
data.functions.push(RuntimeFunctionDefinition.fromBinary(message));
31+
data.functions.push(FunctionDefinition.fromBinary(message));
3232
} else if(parsingState === 2) {
3333
data.dataTypes.push(DefinitionDataType.fromBinary(message));
3434
}

gem/Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ PATH
55
base64 (~> 0.3)
66
json (~> 2.19)
77
open3 (~> 0.2)
8-
tucana (~> 0.0, >= 0.0.62)
8+
tucana (~> 0.0, >= 0.0.67)
99

1010
GEM
1111
remote: https://rubygems.org/
@@ -101,7 +101,7 @@ GEM
101101
rubyzip (2.4.1)
102102
stringio (3.2.0)
103103
tsort (0.2.0)
104-
tucana (0.0.62)
104+
tucana (0.0.67)
105105
grpc (~> 1.64)
106106
unicode-display_width (3.2.0)
107107
unicode-emoji (~> 4.1)

gem/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ bundle lock --add-platform x86_64-linux-gnu
2828
## Usage
2929

3030
```ruby
31-
result = Triangulum::Validation.new(flow, runtime_function_definitions, data_types).validate
31+
result = Triangulum::Validation.new(flow, function_definitions, data_types).validate
3232

33-
result.valid? # => true / false
34-
result.return_type # => "void"
35-
result.diagnostics # => [Triangulum::Validation::Diagnostic, ...]
33+
result.valid? # => true / false
34+
result.return_type # => "void"
35+
result.diagnostics # => [Triangulum::Validation::Diagnostic, ...]
3636
```
3737

3838
The arguments are [Tucana](https://github.com/code0-tech/tucana) protobuf objects:

gem/lib/triangulum/validation.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ class BunNotFound < Triangulum::Error
2121

2222
IS_RUBY_PLATFORM_GEM = Dir.glob(File.expand_path('../../exe/*/bun', __dir__)).empty?
2323

24-
attr_reader :flow, :runtime_function_definitions, :data_types
24+
attr_reader :flow, :function_definitions, :data_types
2525

2626
def initialize(flow, runtime_function_definitions, data_types)
2727
@flow = flow
28-
@runtime_function_definitions = runtime_function_definitions
28+
@function_definitions = runtime_function_definitions
2929
@data_types = data_types
3030
end
3131

@@ -56,7 +56,7 @@ def serialize_input
5656
input << Base64.strict_encode64(flow.to_proto)
5757
input << ''
5858

59-
runtime_function_definitions.each do |rfd|
59+
function_definitions.each do |rfd|
6060
input << Base64.strict_encode64(rfd.to_proto)
6161
end
6262

gem/spec/support/protobuf_factories.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,19 @@ def default_data_types
6161

6262
def default_functions
6363
[
64-
Tucana::Shared::RuntimeFunctionDefinition.new(
64+
Tucana::Shared::FunctionDefinition.new(
6565
runtime_name: 'std::math::add',
6666
signature: '(a: NUMBER, b: NUMBER): NUMBER'
6767
),
68-
Tucana::Shared::RuntimeFunctionDefinition.new(
68+
Tucana::Shared::FunctionDefinition.new(
6969
runtime_name: 'std::list::at',
7070
signature: '<R>(list: LIST<R>, index: NUMBER): R'
7171
),
72-
Tucana::Shared::RuntimeFunctionDefinition.new(
72+
Tucana::Shared::FunctionDefinition.new(
7373
runtime_name: 'std::control::for_each',
7474
signature: '<R>(list: LIST<R>, consumer: CONSUMER<R>): void'
7575
),
76-
Tucana::Shared::RuntimeFunctionDefinition.new(
76+
Tucana::Shared::FunctionDefinition.new(
7777
runtime_name: 'std::control::return',
7878
signature: '<R>(value: R): R'
7979
)

gem/triangulum.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
2424
spec.add_dependency 'base64', '~> 0.3'
2525
spec.add_dependency 'json', '~> 2.19'
2626
spec.add_dependency 'open3', '~> 0.2'
27-
spec.add_dependency 'tucana', '~> 0.0', '>= 0.0.62'
27+
spec.add_dependency 'tucana', '~> 0.0', '>= 0.0.67'
2828

2929
spec.add_development_dependency 'irb', '~> 1.17'
3030
spec.add_development_dependency 'rake', '~> 13.0'

0 commit comments

Comments
 (0)