Skip to content

Commit

Permalink
fix: Fix encode wrap types (#303)
Browse files Browse the repository at this point in the history
* fix_encode_wrap_types

* update-bins with local protoc.

* Skip the dump-response.

* Latest codegen output.

Co-authored-by: Viorel Craescu <viorel@craescu.com>
  • Loading branch information
stephenh and vcraescu committed May 23, 2021
1 parent 6eb8176 commit 533c0e0
Show file tree
Hide file tree
Showing 24 changed files with 2,288 additions and 1,077 deletions.
Binary file modified integration/avoid-import-conflicts-types-only/simple.bin
Binary file not shown.
Binary file modified integration/avoid-import-conflicts-types-only/simple2.bin
Binary file not shown.
15 changes: 12 additions & 3 deletions integration/codegen.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/env bash
shopt -s globstar

# Runs the local code generator for the .bin test files (as created/kept
# up-to-date by ./update-bins.sh). Good for local iteration of WIP changes.
Expand All @@ -21,14 +20,24 @@ dir=${1:-*}

N=6

for file in ${dir}/**/*.bin; do
dir=.
if [ -n "${1}" ]; then
dir=$1
fi

list=$(find "$dir" -name "*.bin" -type f | grep -v dump-response.bin)

for file in $list; do
echo "${file}"
# Strip the longest suffix starting at the 1st slash
dir="${file%%/*}"
dir="${file##./}"
dir="${dir%%/*}"
params=""

if [ -f "${dir}/parameters.txt" ]; then
params=$(cat "${dir}/parameters.txt")
fi

((i=i%N)); ((i++==0)) && wait
../node_modules/.bin/ts-node ./codegen.ts "${dir}" "${file}" "${params}" &
done
Expand Down
Binary file added integration/grpc-js/google/protobuf/wrappers.bin
Binary file not shown.
118 changes: 118 additions & 0 deletions integration/grpc-js/google/protobuf/wrappers.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// Wrappers for primitive (non-message) types. These types are useful
// for embedding primitives in the `google.protobuf.Any` type and for places
// where we need to distinguish between the absence of a primitive
// typed field and its default value.

syntax = "proto3";

package google.protobuf;

option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option cc_enable_arenas = true;
option go_package = "github.com/golang/protobuf/ptypes/wrappers";
option java_package = "com.google.protobuf";
option java_outer_classname = "WrappersProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";

// Wrapper message for `double`.
//
// The JSON representation for `DoubleValue` is JSON number.
message DoubleValue {
// The double value.
double value = 1;
}

// Wrapper message for `float`.
//
// The JSON representation for `FloatValue` is JSON number.
message FloatValue {
// The float value.
float value = 1;
}

// Wrapper message for `int64`.
//
// The JSON representation for `Int64Value` is JSON string.
message Int64Value {
// The int64 value.
int64 value = 1;
}

// Wrapper message for `uint64`.
//
// The JSON representation for `UInt64Value` is JSON string.
message UInt64Value {
// The uint64 value.
uint64 value = 1;
}

// Wrapper message for `int32`.
//
// The JSON representation for `Int32Value` is JSON number.
message Int32Value {
// The int32 value.
int32 value = 1;
}

// Wrapper message for `uint32`.
//
// The JSON representation for `UInt32Value` is JSON number.
message UInt32Value {
// The uint32 value.
uint32 value = 1;
}

// Wrapper message for `bool`.
//
// The JSON representation for `BoolValue` is JSON `true` and `false`.
message BoolValue {
// The bool value.
bool value = 1;
}

// Wrapper message for `string`.
//
// The JSON representation for `StringValue` is JSON string.
message StringValue {
// The string value.
string value = 1;
}

// Wrapper message for `bytes`.
//
// The JSON representation for `BytesValue` is JSON string.
message BytesValue {
// The bytes value.
bytes value = 1;
}
Loading

0 comments on commit 533c0e0

Please sign in to comment.