From 2b514d048c55ce55c0fffeed48ec015989e0eb52 Mon Sep 17 00:00:00 2001 From: n0cte Date: Tue, 30 Aug 2022 17:01:52 +0300 Subject: [PATCH 1/4] add test cases for simple types --- .../cases/wrappers/wasm-go/bigint-type/go.mod | 7 +++ .../wasm-go/bigint-type/module/method.go | 20 +++++++ .../wasm-go/bigint-type/polywrap.build.yaml | 8 +++ .../wasm-go/bigint-type/polywrap.yaml | 9 ++++ .../wasm-go/bigint-type/schema.graphql | 12 +++++ .../cases/wrappers/wasm-go/bytes-type/go.mod | 7 +++ .../wasm-go/bytes-type/module/bytesMethod.go | 17 ++++++ .../wasm-go/bytes-type/polywrap.build.yaml | 8 +++ .../wrappers/wasm-go/bytes-type/polywrap.yaml | 9 ++++ .../wasm-go/bytes-type/schema.graphql | 9 ++++ .../cases/wrappers/wasm-go/enum-types/go.mod | 7 +++ .../wasm-go/enum-types/module/method1.go | 7 +++ .../wasm-go/enum-types/module/method2.go | 7 +++ .../wasm-go/enum-types/polywrap.build.yaml | 6 +++ .../wrappers/wasm-go/enum-types/polywrap.yaml | 9 ++++ .../wasm-go/enum-types/schema.graphql | 17 ++++++ .../cases/wrappers/wasm-go/json-type/go.mod | 5 ++ .../wasm-go/json-type/module/module.go | 31 +++++++++++ .../wasm-go/json-type/polywrap.build.yaml | 6 +++ .../wrappers/wasm-go/json-type/polywrap.yaml | 9 ++++ .../wrappers/wasm-go/json-type/schema.graphql | 24 +++++++++ .../cases/wrappers/wasm-go/map-type/go.mod | 7 +++ .../wasm-go/map-type/module/module.go | 15 ++++++ .../wasm-go/map-type/polywrap.build.yaml | 6 +++ .../wrappers/wasm-go/map-type/polywrap.yaml | 9 ++++ .../wrappers/wasm-go/map-type/schema.graphql | 18 +++++++ .../wrappers/wasm-go/number-types/go.mod | 7 +++ .../wasm-go/number-types/module/module.go | 27 ++++++++++ .../wasm-go/number-types/polywrap.build.yaml | 6 +++ .../wasm-go/number-types/polywrap.yaml | 9 ++++ .../wasm-go/number-types/schema.graphql | 32 +++++++++++ .../wrappers/wasm-go/object-types/go.mod | 7 +++ .../wasm-go/object-types/module/module.go | 53 +++++++++++++++++++ .../wasm-go/object-types/polywrap.build.yaml | 6 +++ .../wasm-go/object-types/polywrap.yaml | 9 ++++ .../wasm-go/object-types/schema.graphql | 45 ++++++++++++++++ 36 files changed, 490 insertions(+) create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/schema.graphql diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.mod b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go new file mode 100644 index 0000000000..5c3f02dbb7 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go @@ -0,0 +1,20 @@ +package module + +import ( + "github.com/consideritdone/polywrap-go/polywrap/msgpack/big" + "github.com/testorg/testrepo/wrap/types" +) + +func Method(args *types.ArgsMethod) *big.Int { + result := new(big.Int).Mul(args.Arg1, args.Obj.Prop1) + + if args.Arg2 != nil { + result = result.Mul(result, args.Arg2) + } + + if args.Obj.Prop2 != nil { + result = result.Mul(result, args.Obj.Prop2) + } + + return result +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml new file mode 100644 index 0000000000..730ea49d96 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml @@ -0,0 +1,8 @@ +format: 0.1.0 +docker: + name: bigint-type-wasm-go +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml new file mode 100644 index 0000000000..0501ae5d31 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: BigInt + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/schema.graphql new file mode 100644 index 0000000000..7696ac2202 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/schema.graphql @@ -0,0 +1,12 @@ +type Module { + method( + arg1: BigInt! + arg2: BigInt + obj: BigIntArg! + ): BigInt! +} + +type BigIntArg { + prop1: BigInt! + prop2: BigInt +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.mod b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go new file mode 100644 index 0000000000..e5f85a0c07 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go @@ -0,0 +1,17 @@ +package module + +import ( + "bytes" + + "github.com/testorg/testrepo/wrap/types" +) + +func BytesMethod(args *types.ArgsBytesMethod) []byte { + return bytes.Join( + [][]byte{ + args.Arg.Prop, + []byte("Sanity!"), + }, + []byte(" "), + ) +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml new file mode 100644 index 0000000000..614c831f1a --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml @@ -0,0 +1,8 @@ +format: 0.1.0 +docker: + name: bytes-type-wasm-go +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml new file mode 100644 index 0000000000..e3c7aa068d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: BytesType + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/schema.graphql new file mode 100644 index 0000000000..44dc183585 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/schema.graphql @@ -0,0 +1,9 @@ +type Module { + bytesMethod( + arg: Args! + ): Bytes! +} + +type Args { + prop: Bytes! +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.mod b/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go new file mode 100644 index 0000000000..8b5988623b --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go @@ -0,0 +1,7 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func Method1(args *types.ArgsMethod1) types.SanityEnum { + return args.En +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go new file mode 100644 index 0000000000..031bf03949 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go @@ -0,0 +1,7 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func Method2(args *types.ArgsMethod2) []types.SanityEnum { + return args.EnumArray +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml new file mode 100644 index 0000000000..3f7e884cf1 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml new file mode 100644 index 0000000000..0269d26331 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: EnumTypes + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/enum-types/schema.graphql new file mode 100644 index 0000000000..3bfbc465be --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/schema.graphql @@ -0,0 +1,17 @@ +type Module { + method1( + en: SanityEnum! + optEnum: SanityEnum + ): SanityEnum! + + method2( + enumArray: [SanityEnum!]! + optEnumArray: [SanityEnum] + ): [SanityEnum!]! +} + +enum SanityEnum { + OPTION1 + OPTION2 + OPTION3 +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod new file mode 100644 index 0000000000..2a7b3916f5 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod @@ -0,0 +1,5 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/valyala/fastjson v1.6.3 diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go new file mode 100644 index 0000000000..654ffb8979 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go @@ -0,0 +1,31 @@ +package module + +import ( + "github.com/testorg/testrepo/wrap/types" + "github.com/valyala/fastjson" +) + +func Parse(args *types.ArgsParse) *fastjson.Value { + return fastjson.MustParse(args.Value) +} + +func Stringify(args *types.ArgsStringify) string { + str := "" + for i := range args.Values { + str += args.Values[i].String() + } + return str +} + +func StringifyObject(args *types.ArgsStringifyObject) string { + str := "" + str += args.Object.JsonA.String() + str += args.Object.JsonB.String() + return str +} + +func MethodJSON(args *types.ArgsMethodJSON) *fastjson.Value { + result := new(fastjson.Arena).NewObject() + result.Set("valueB", fastjson.MustParse("\""+args.ValueB+"\"")) + return result +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml new file mode 100644 index 0000000000..9a29c7872c --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/as diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml new file mode 100644 index 0000000000..3603e20fab --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: JsonType + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/json-type/schema.graphql new file mode 100644 index 0000000000..cb60b87271 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/schema.graphql @@ -0,0 +1,24 @@ +type Module { + parse( + value: String! + ): JSON! + + stringify( + values: [JSON!]! + ): String! + + stringifyObject( + object: Object! + ): String! + + methodJSON( + valueA: Int! + valueB: String! + valueC: Boolean! + ): JSON! +} + +type Object { + jsonA: JSON! + jsonB: JSON! +} \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/go.mod b/packages/test-cases/cases/wrappers/wasm-go/map-type/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go new file mode 100644 index 0000000000..0aca306d2d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go @@ -0,0 +1,15 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func GetKey(args *types.ArgsGetKey) int32 { + return args.Foo.Map[args.Key] +} + +func ReturnMap(args *types.ArgsReturnMap) map[string]int32 { + return args.Map +} + +func ReturnCustomMap(args *types.ArgsReturnCustomMap) types.CustomMap { + return args.Foo +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml new file mode 100644 index 0000000000..3f7e884cf1 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml new file mode 100644 index 0000000000..e3c7aa068d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: BytesType + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/map-type/schema.graphql new file mode 100644 index 0000000000..b79ca553c5 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/schema.graphql @@ -0,0 +1,18 @@ +type Module { + getKey( + key: String! + foo: CustomMap! + ): Int! + + returnMap( + map: Map! @annotate(type: "Map!") + ): Map! @annotate(type: "Map!") + + returnCustomMap( + foo: CustomMap! + ): CustomMap! +} + +type CustomMap { + map: Map! @annotate(type: "Map!") +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/go.mod b/packages/test-cases/cases/wrappers/wasm-go/number-types/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go new file mode 100644 index 0000000000..005ccee898 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go @@ -0,0 +1,27 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func I8Method(args *types.ArgsI8Method) int8 { + return args.First + args.Second +} + +func U8Method(args *types.ArgsU8Method) uint8 { + return args.First + args.Second +} + +func I16Method(args *types.ArgsI16Method) int16 { + return args.First + args.Second +} + +func U16Method(args *types.ArgsU16Method) uint16 { + return args.First + args.Second +} + +func I32Method(args *types.ArgsI32Method) int32 { + return args.First + args.Second +} + +func U32Method(args *types.ArgsU32Method) uint32 { + return args.First + args.Second +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml new file mode 100644 index 0000000000..66be618ca5 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-as" + path: ../../../../../wasm/as diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml new file mode 100644 index 0000000000..fe2b5f5c61 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: NumberTypes + type: wasm/assemblyscript +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/number-types/schema.graphql new file mode 100644 index 0000000000..81d5005b5a --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/schema.graphql @@ -0,0 +1,32 @@ +type Module { + + i8Method( + first: Int8! + second: Int8! + ): Int8! + + u8Method( + first: UInt8! + second: UInt8! + ): UInt8! + + i16Method( + first: Int16! + second: Int16! + ): Int16! + + u16Method( + first: UInt16! + second: UInt16! + ): UInt16! + + i32Method( + first: Int! + second: Int! + ): Int! + + u32Method( + first: UInt32! + second: UInt32! + ): UInt32! +} \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/go.mod b/packages/test-cases/cases/wrappers/wasm-go/object-types/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go new file mode 100644 index 0000000000..08854cfa4c --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go @@ -0,0 +1,53 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func Method1(args *types.ArgsMethod1) []types.Output { + out1 := types.Output{ + Prop: args.Arg1.Prop, + Nested: types.Nested{ + Prop: args.Arg1.Nested.Prop, + }, + } + out2 := types.Output{} + if args.Arg2 != nil { + out2 = types.Output{ + Prop: args.Arg2.Prop, + Nested: Nested{ + Prop: args.Arg2.Circular.Prop, + }, + } + } + return []types.Output{out1, out2} +} + +func Method2(args *types.ArgsMethod2) *types.Output { + if args == nil { + return nil + } + return &types.Output{ + Prop: args.Arg.Prop, + Nested: types.Nested{ + Prop: args.Arg.Nested.Prop, + }, + } +} + +func Method3(args *types.ArgsMethod3) []*types.Output { + out2 := &types.Output{ + Prop: args.Arg.Prop, + Nested: types.Nested{ + Prop: args.Arg.Nested.Prop, + }, + } + return []*types.Output{nil, out2} +} + +func Method5(args *types.ArgsMethod5) types.Output { + return types.Output{ + Prop: string(args.Arg.Prop), + Nested: types.Nested{ + Prop: "nested prop", + }, + } +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml new file mode 100644 index 0000000000..3f7e884cf1 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml new file mode 100644 index 0000000000..a88ad8e383 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: ObjectTypes + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/object-types/schema.graphql new file mode 100644 index 0000000000..03f068148a --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/schema.graphql @@ -0,0 +1,45 @@ +type Module { + method1( + arg1: Arg1! + arg2: Arg2 + ): [Output!]! + + method2( + arg: Arg1! + ): Output + + method3( + arg: Arg1! + ): [Output]! + + method5( + arg: Arg3! + ): Output! +} + +type Arg1 { + prop: String! + nested: Nested! +} + +type Arg2 { + prop: String! + circular: Circular! +} + +type Arg3 { + prop: Bytes! +} + +type Output { + prop: String! + nested: Nested! +} + +type Nested { + prop: String! +} + +type Circular { + prop: String! +} From 157caf5b133374d402863dafd81eecf44381132c Mon Sep 17 00:00:00 2001 From: n0cte Date: Thu, 1 Sep 2022 21:35:30 +0300 Subject: [PATCH 2/4] add test wrappers for golang generator --- .../wasm-go/env-types/external/go.mod | 7 ++++++ .../env-types/external/module/module.go | 7 ++++++ .../env-types/external/polywrap.build.yaml | 8 ++++++ .../wasm-go/env-types/external/polywrap.yaml | 9 +++++++ .../wasm-go/env-types/external/schema.graphql | 8 ++++++ .../test-interface/polywrap.yaml | 6 +++++ .../test-interface/schema.graphql | 13 ++++++++++ .../implementations/test-use-getImpl/go.mod | 7 ++++++ .../test-use-getImpl/module/module.go | 18 +++++++++++++ .../test-use-getImpl/polywrap.build.yaml | 8 ++++++ .../test-use-getImpl/polywrap.yaml | 12 +++++++++ .../test-use-getImpl/schema.graphql | 13 ++++++++++ .../implementations/test-wrapper/go.mod | 7 ++++++ .../test-wrapper/module/module.go | 9 +++++++ .../test-wrapper/polywrap.build.yaml | 6 +++++ .../test-wrapper/polywrap.yaml | 12 +++++++++ .../test-wrapper/schema.graphql | 11 ++++++++ .../wrappers/wasm-go/invalid-types/go.mod | 7 ++++++ .../wasm-go/invalid-types/module/module.go | 25 +++++++++++++++++++ .../wasm-go/invalid-types/polywrap.build.yaml | 6 +++++ .../wasm-go/invalid-types/polywrap.yaml | 9 +++++++ .../wasm-go/invalid-types/schema.graphql | 21 ++++++++++++++++ .../cases/wrappers/wasm-go/json-type/go.mod | 5 +++- .../wasm-go/json-type/module/module.go | 11 ++++++-- .../wasm-go/object-types/module/module.go | 2 +- 25 files changed, 243 insertions(+), 4 deletions(-) create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/schema.graphql diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.mod b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go new file mode 100644 index 0000000000..8ca814f98e --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go @@ -0,0 +1,7 @@ +package module + +import "github.com/testorg/testrepo/wrap/types" + +func ExternalEnvMethod(args *types.ArgsExternalEnvMethod, env *types.Env) types.Env { + return *env +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml new file mode 100644 index 0000000000..33d3e92039 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml @@ -0,0 +1,8 @@ +format: 0.1.0 +config: + node_version: "16.13.0" + include: + - ./src +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml new file mode 100644 index 0000000000..59fa2eda2b --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: EnvTypeExternal + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/schema.graphql new file mode 100644 index 0000000000..d2325113e2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/schema.graphql @@ -0,0 +1,8 @@ +type Env { + externalArray: [UInt32!]! + externalString: String! +} + +type Module { + externalEnvMethod: Env! @env(required: true) +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/polywrap.yaml new file mode 100644 index 0000000000..b2e18e3c2f --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/polywrap.yaml @@ -0,0 +1,6 @@ +format: 0.2.0 +project: + name: TestInterface + type: interface +source: + schema: ./schema.graphql diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/schema.graphql new file mode 100644 index 0000000000..b80a6e620b --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-interface/schema.graphql @@ -0,0 +1,13 @@ +type Module { + abstractModuleMethod( + arg: Argument! + ): String! +} + +type Argument { + str: String! +} + +type InterfaceType { + uint8: UInt8! +} \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.mod b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go new file mode 100644 index 0000000000..af8def3a43 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go @@ -0,0 +1,18 @@ +package module + +import ( + "github.com/testorg/testrepo/wrap/interfaces" + "github.com/testorg/testrepo/wrap/types" +) + +func ModuleImplementations(*types.ArgsModuleImplementations) []string { + return interfaces.InterfaceImplementations() +} + +func ModuleMethod(args *types.ArgsModuleMethod) types.ImplementationType { + return args.Arg +} + +func AbstractModuleMethod(args *types.ImplementationType) string { + return args.Str +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml new file mode 100644 index 0000000000..b958c916b5 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml @@ -0,0 +1,8 @@ +format: 0.1.0 +docker: + name: test-use-get-impl-wasm-as +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml new file mode 100644 index 0000000000..2abb38d9ac --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml @@ -0,0 +1,12 @@ +format: 0.2.0 +project: + name: TestUseGetImpl + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts + import_abis: + - uri: wrap://ens/interface.eth + abi: ../test-interface/build/wrap.info +extensions: + build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/schema.graphql new file mode 100644 index 0000000000..bd51ae7828 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/schema.graphql @@ -0,0 +1,13 @@ +#import { Module, InterfaceType } into Interface from "wrap://ens/interface.eth" +#use { getImplementations } for Interface + +type Module implements Interface_Module { + moduleImplementations: [String!]! + moduleMethod( + arg: ImplementationType! + ): ImplementationType! +} + +type ImplementationType implements Interface_InterfaceType { + str: String! +} \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.mod b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go new file mode 100644 index 0000000000..d9cfb34006 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go @@ -0,0 +1,9 @@ +package module + +import ( + "github.com/testorg/testrepo/wrap/types" +) + +func ModuleMethod(args *types.ArgsModuleMethod) types.ImplementationType { + return args.Arg +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml new file mode 100644 index 0000000000..a6c039df85 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml new file mode 100644 index 0000000000..16b355ea5d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml @@ -0,0 +1,12 @@ +format: 0.2.0 +project: + name: TestWrapper + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts + import_abis: + - uri: wrap://ens/interface.eth + abi: ../test-interface/build/wrap.info +extensions: + build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/schema.graphql new file mode 100644 index 0000000000..0b28cfb495 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/schema.graphql @@ -0,0 +1,11 @@ +#import { Module, InterfaceType } into Interface from "wrap://ens/interface.eth" + +type Module implements Interface_Module { + moduleMethod( + arg: ImplementationType! + ): ImplementationType! +} + +type ImplementationType implements Interface_InterfaceType { + str: String! +} \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.mod b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go new file mode 100644 index 0000000000..700777a671 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go @@ -0,0 +1,25 @@ +package module + +import ( + "github.com/testorg/testrepo/wrap/types" +) + +func BoolMethod(args *types.ArgsBoolMethod) bool { + return args.Arg +} + +func IntMethod(args *types.ArgsIntMethod) int32 { + return args.Arg +} + +func UIntMethod(args *types.ArgsUIntMethod) uint32 { + return args.Arg +} + +func BytesMethod(args *types.ArgsBytesMethod) []byte { + return args.Arg +} + +func ArrayMethod(args *types.ArgsArrayMethod) []string { + return args.Arg +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml new file mode 100644 index 0000000000..3f7e884cf1 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml @@ -0,0 +1,6 @@ +format: 0.1.0 +config: + node_version: "14.16.0" +linked_packages: + - name: "@polywrap/wasm-go" + path: ../../../../../wasm/go diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml new file mode 100644 index 0000000000..849b45079d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml @@ -0,0 +1,9 @@ +format: 0.2.0 +project: + name: InvalidTypes + type: wasm/golang +source: + schema: ./schema.graphql + module: ./src/index.ts +extensions: + build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/schema.graphql new file mode 100644 index 0000000000..5df1ac9c73 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/schema.graphql @@ -0,0 +1,21 @@ +type Module { + boolMethod( + arg: Boolean! + ): Boolean! + + intMethod( + arg: Int32! + ): Int32! + + uIntMethod( + arg: UInt32! + ): UInt32! + + bytesMethod( + arg: Bytes! + ): Bytes! + + arrayMethod( + arg: [String!]! + ): [String!] +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod index 2a7b3916f5..6018d3c1c5 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.mod @@ -2,4 +2,7 @@ module github.com/testorg/testrepo go 1.17 -require github.com/valyala/fastjson v1.6.3 +require ( + github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + github.com/valyala/fastjson v1.6.3 +) diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go index 654ffb8979..301a88920b 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go @@ -25,7 +25,14 @@ func StringifyObject(args *types.ArgsStringifyObject) string { } func MethodJSON(args *types.ArgsMethodJSON) *fastjson.Value { - result := new(fastjson.Arena).NewObject() - result.Set("valueB", fastjson.MustParse("\""+args.ValueB+"\"")) + arena := new(fastjson.Arena) + result := arena.NewObject() + result.Set("valueA", arena.NewNumberInt(int(args.ValueA))) + result.Set("valueB", arena.NewString(args.ValueB)) + if args.ValueC { + result.Set("valueC", arena.NewTrue()) + } else { + result.Set("valueC", arena.NewFalse()) + } return result } diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go index 08854cfa4c..0010e944d5 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go @@ -13,7 +13,7 @@ func Method1(args *types.ArgsMethod1) []types.Output { if args.Arg2 != nil { out2 = types.Output{ Prop: args.Arg2.Prop, - Nested: Nested{ + Nested: types.Nested{ Prop: args.Arg2.Circular.Prop, }, } From d800a0a0886fb1a5d971be66bf9d3b9e47ce05f4 Mon Sep 17 00:00:00 2001 From: n0cte Date: Mon, 5 Sep 2022 16:42:53 +0300 Subject: [PATCH 3/4] add "asyncify"-wrapper and add tags "go:generate" --- .../asyncify/abis/memory-storage.graphql | 5 + .../cases/wrappers/wasm-go/asyncify/go.mod | 7 ++ .../cases/wrappers/wasm-go/asyncify/go.sum | 4 + .../wasm-go/asyncify/module/method.go | 107 ++++++++++++++++++ .../wasm-go/asyncify/polywrap.build.yaml | 5 + .../wrappers/wasm-go/asyncify/polywrap.yaml | 12 ++ .../wrappers/wasm-go/asyncify/schema.graphql | 62 ++++++++++ .../cases/wrappers/wasm-go/bigint-type/go.sum | 4 + .../wasm-go/bigint-type/module/method.go | 1 + .../wasm-go/bigint-type/polywrap.build.yaml | 5 +- .../wasm-go/bigint-type/polywrap.yaml | 2 +- .../cases/wrappers/wasm-go/bytes-type/go.sum | 4 + .../wasm-go/bytes-type/module/bytesMethod.go | 1 + .../wasm-go/bytes-type/polywrap.build.yaml | 6 +- .../wrappers/wasm-go/bytes-type/polywrap.yaml | 2 +- .../cases/wrappers/wasm-go/enum-types/go.sum | 4 + .../wasm-go/enum-types/module/method1.go | 7 -- .../module/{method2.go => module.go} | 6 + .../wasm-go/enum-types/polywrap.build.yaml | 6 +- .../wrappers/wasm-go/enum-types/polywrap.yaml | 2 +- .../wasm-go/env-types/external/go.sum | 4 + .../env-types/external/module/module.go | 1 + .../env-types/external/polywrap.build.yaml | 6 +- .../wasm-go/env-types/external/polywrap.yaml | 2 +- .../wrappers/wasm-go/invalid-types/go.sum | 4 + .../wasm-go/invalid-types/module/module.go | 1 + .../wasm-go/invalid-types/polywrap.build.yaml | 5 +- .../wasm-go/invalid-types/polywrap.yaml | 2 +- .../cases/wrappers/wasm-go/json-type/go.sum | 4 + .../wasm-go/json-type/module/module.go | 1 + .../wasm-go/json-type/polywrap.build.yaml | 5 +- .../wrappers/wasm-go/json-type/polywrap.yaml | 2 +- .../cases/wrappers/wasm-go/map-type/go.sum | 4 + .../wasm-go/map-type/module/module.go | 2 + .../wasm-go/map-type/polywrap.build.yaml | 5 +- .../wrappers/wasm-go/map-type/polywrap.yaml | 2 +- .../wrappers/wasm-go/number-types/go.sum | 4 + .../wasm-go/number-types/module/module.go | 2 + .../wasm-go/number-types/polywrap.build.yaml | 5 +- .../wasm-go/number-types/polywrap.yaml | 4 +- .../wrappers/wasm-go/object-types/go.sum | 4 + .../wasm-go/object-types/module/module.go | 2 + .../wasm-go/object-types/polywrap.build.yaml | 5 +- .../wasm-go/object-types/polywrap.yaml | 2 +- 44 files changed, 276 insertions(+), 54 deletions(-) create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/abis/memory-storage.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/go.mod create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.build.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.yaml create mode 100644 packages/test-cases/cases/wrappers/wasm-go/asyncify/schema.graphql create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/go.sum delete mode 100644 packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go rename packages/test-cases/cases/wrappers/wasm-go/enum-types/module/{method2.go => module.go} (51%) create mode 100644 packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/json-type/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/map-type/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/number-types/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/object-types/go.sum diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/abis/memory-storage.graphql b/packages/test-cases/cases/wrappers/wasm-go/asyncify/abis/memory-storage.graphql new file mode 100644 index 0000000000..c10ae67370 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/abis/memory-storage.graphql @@ -0,0 +1,5 @@ +type Module { + getData: Int32! + + setData(value: Int32!): Boolean! +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.mod b/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.mod new file mode 100644 index 0000000000..dbfd3f2ddf --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.mod @@ -0,0 +1,7 @@ +module github.com/testorg/testrepo + +go 1.17 + +require github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba + +require github.com/valyala/fastjson v1.6.3 // indirect diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.sum b/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go b/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go new file mode 100644 index 0000000000..c32e75ad2d --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go @@ -0,0 +1,107 @@ +package module + +import ( + "strconv" + + "github.com/testorg/testrepo/wrap/imported/storage" + "github.com/testorg/testrepo/wrap/types" +) + +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + +func GetData(args *storage.ArgsGetData) uint32 { + res, err := storage.MethodGetData(args) + if err != nil { + panic(err) + } + return uint32(res) +} + +func ReturnTrue() bool { + return true +} + +func SetDataWithLargeArgs(args *types.ArgsSetDataWithLargeArgs) string { + largeString := args.Value + num, err := strconv.ParseInt(largeString, 10, 32) + if err != nil { + panic(err) + } + _, err = storage.MethodSetData(&storage.ArgsSetData{Value: int32(num)}) + if err != nil { + panic(err) + } + return largeString +} + +func SetDataWithManyArgs(args *types.ArgsSetDataWithManyArgs) string { + argsA := args.ValueA + argsB := args.ValueB + argsC := args.ValueC + argsD := args.ValueD + argsE := args.ValueE + argsF := args.ValueF + argsG := args.ValueG + argsH := args.ValueH + argsI := args.ValueI + argsJ := args.ValueJ + argsK := args.ValueK + argsL := args.ValueL + + _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 55}) + if err != nil { + panic(err) + } + + return argsA + argsB + argsC + argsD + argsE + argsF + argsG + argsH + argsI + argsJ + argsK + argsL +} + +func SetDataWithManyStructuredArgs(args *types.ArgsSetDataWithManyStructuredArgs) bool { + _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 44}) + if err != nil { + panic(err) + } + return true +} + +func LocalVarMethod(args *types.ArgsLocalVarMethod) bool { + functionArg := false + functionArg = ReturnTrue() + + _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 88}) + if err != nil { + panic(err) + } + + return functionArg +} + +var globalValue bool = false + +func GlobalVarMethod(args *types.ArgsGlobalVarMethod) bool { + globalValue = true + + _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 77}) + if err != nil { + panic(err) + } + + return globalValue +} + +func SubsequentInvokes(args *types.ArgsSubsequentInvokes) []string { + result := make([]string, args.NumberOfTimes) + for i := int32(0); i < args.NumberOfTimes; i++ { + _, err := storage.MethodSetData(&storage.ArgsSetData{Value: i}) + if err != nil { + panic(err) + } + res, err := storage.MethodGetData(nil) + if err != nil { + panic(err) + } + result[i] = strconv.FormatInt(int64(res), 10) + } + + return result +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.build.yaml new file mode 100644 index 0000000000..e768939364 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.build.yaml @@ -0,0 +1,5 @@ +format: 0.1.0 +docker: + name: asyncify-wasm-go +config: + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.yaml new file mode 100644 index 0000000000..374d0c2aae --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/polywrap.yaml @@ -0,0 +1,12 @@ +format: 0.2.0 +project: + name: Asyncify + type: wasm/golang +source: + schema: ./schema.graphql + module: ./go.mod + import_abis: + - uri: "ens/memory-storage.polywrap.eth" + abi: ./abis/memory-storage.graphql +extensions: + build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/schema.graphql b/packages/test-cases/cases/wrappers/wasm-go/asyncify/schema.graphql new file mode 100644 index 0000000000..2660ba2f06 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/schema.graphql @@ -0,0 +1,62 @@ +#import { Module } into Storage from "wrap://ens/memory-storage.polywrap.eth" + +type Module { + getData: UInt32! + + setDataWithLargeArgs( + value: String! + ): String! + + setDataWithManyArgs( + valueA: String! + valueB: String! + valueC: String! + valueD: String! + valueE: String! + valueF: String! + valueG: String! + valueH: String! + valueI: String! + valueJ: String! + valueK: String! + valueL: String! + ): String! + + setDataWithManyStructuredArgs( + valueA: BigObj! + valueB: BigObj! + valueC: BigObj! + valueD: BigObj! + valueE: BigObj! + valueF: BigObj! + valueG: BigObj! + valueH: BigObj! + valueI: BigObj! + valueJ: BigObj! + valueK: BigObj! + valueL: BigObj! + ): Boolean! + + localVarMethod: Boolean! + + globalVarMethod: Boolean! + + subsequentInvokes( + numberOfTimes: Int! + ): [String!]! +} + +type BigObj { + propA: String! + propB: String! + propC: String! + propD: String! + propE: String! + propF: String! + propG: String! + propH: String! + propI: String! + propJ: String! + propK: String! + propL: String! +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.sum b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go index 5c3f02dbb7..1928e5f4c2 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go @@ -5,6 +5,7 @@ import ( "github.com/testorg/testrepo/wrap/types" ) +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build func Method(args *types.ArgsMethod) *big.Int { result := new(big.Int).Mul(args.Arg1, args.Obj.Prop1) diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml index 730ea49d96..46c036809b 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.build.yaml @@ -2,7 +2,4 @@ format: 0.1.0 docker: name: bigint-type-wasm-go config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml index 0501ae5d31..bea7b6b71b 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.sum b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go index e5f85a0c07..4dd812fe20 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go @@ -6,6 +6,7 @@ import ( "github.com/testorg/testrepo/wrap/types" ) +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build func BytesMethod(args *types.ArgsBytesMethod) []byte { return bytes.Join( [][]byte{ diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml index 614c831f1a..2657f101fd 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.build.yaml @@ -2,7 +2,5 @@ format: 0.1.0 docker: name: bytes-type-wasm-go config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" + diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml index e3c7aa068d..292392bba4 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.sum b/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go deleted file mode 100644 index 8b5988623b..0000000000 --- a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method1.go +++ /dev/null @@ -1,7 +0,0 @@ -package module - -import "github.com/testorg/testrepo/wrap/types" - -func Method1(args *types.ArgsMethod1) types.SanityEnum { - return args.En -} diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go similarity index 51% rename from packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go rename to packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go index 031bf03949..c06d086654 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/method2.go +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go @@ -2,6 +2,12 @@ package module import "github.com/testorg/testrepo/wrap/types" +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + +func Method1(args *types.ArgsMethod1) types.SanityEnum { + return args.En +} + func Method2(args *types.ArgsMethod2) []types.SanityEnum { return args.EnumArray } diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml index 3f7e884cf1..f41ac3765e 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.build.yaml @@ -1,6 +1,4 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" + diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml index 0269d26331..49939f942e 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.sum b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go index 8ca814f98e..82bfb320b7 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go @@ -2,6 +2,7 @@ package module import "github.com/testorg/testrepo/wrap/types" +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build func ExternalEnvMethod(args *types.ArgsExternalEnvMethod, env *types.Env) types.Env { return *env } diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml index 33d3e92039..f41ac3765e 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.build.yaml @@ -1,8 +1,4 @@ format: 0.1.0 config: node_version: "16.13.0" - include: - - ./src -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../../wasm/go + diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml index 59fa2eda2b..065819aec2 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.sum b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go index 700777a671..7bf2282ce6 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go @@ -4,6 +4,7 @@ import ( "github.com/testorg/testrepo/wrap/types" ) +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build func BoolMethod(args *types.ArgsBoolMethod) bool { return args.Arg } diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml index 3f7e884cf1..aa5f7201ed 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml index 849b45079d..5b2b05d01b 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/go.sum b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go index 301a88920b..8186526668 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go @@ -5,6 +5,7 @@ import ( "github.com/valyala/fastjson" ) +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build func Parse(args *types.ArgsParse) *fastjson.Value { return fastjson.MustParse(args.Value) } diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml index 9a29c7872c..aa5f7201ed 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/as + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml index 3603e20fab..91efb8d20a 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/go.sum b/packages/test-cases/cases/wrappers/wasm-go/map-type/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go index 0aca306d2d..e4f89d9de7 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go @@ -2,6 +2,8 @@ package module import "github.com/testorg/testrepo/wrap/types" +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + func GetKey(args *types.ArgsGetKey) int32 { return args.Foo.Map[args.Key] } diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml index 3f7e884cf1..aa5f7201ed 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml index e3c7aa068d..292392bba4 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/go.sum b/packages/test-cases/cases/wrappers/wasm-go/number-types/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go index 005ccee898..c286276bed 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go @@ -2,6 +2,8 @@ package module import "github.com/testorg/testrepo/wrap/types" +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + func I8Method(args *types.ArgsI8Method) int8 { return args.First + args.Second } diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml index 66be618ca5..d16e9c9f18 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-as" - path: ../../../../../wasm/as + node_version: "16.13.0" \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml index fe2b5f5c61..cbef1cd38d 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/polywrap.yaml @@ -1,9 +1,9 @@ format: 0.2.0 project: name: NumberTypes - type: wasm/assemblyscript + type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/go.sum b/packages/test-cases/cases/wrappers/wasm-go/object-types/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go index 0010e944d5..732e2d00e5 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go @@ -2,6 +2,8 @@ package module import "github.com/testorg/testrepo/wrap/types" +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + func Method1(args *types.ArgsMethod1) []types.Output { out1 := types.Output{ Prop: args.Arg1.Prop, diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml index 3f7e884cf1..d16e9c9f18 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../wasm/go + node_version: "16.13.0" \ No newline at end of file diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml index a88ad8e383..1bf4bdb549 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/polywrap.yaml @@ -4,6 +4,6 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod extensions: build: ./polywrap.build.yaml \ No newline at end of file From 78d991b4a2957787866321a045a4b8dfe2043396 Mon Sep 17 00:00:00 2001 From: n0cte Date: Tue, 6 Sep 2022 15:49:10 +0300 Subject: [PATCH 4/4] update wrapper's test cases --- .../wrappers/wasm-go/asyncify/module/method.go | 16 ++++++++-------- .../wasm-go/bigint-type/module/method.go | 2 +- .../wasm-go/bytes-type/module/bytesMethod.go | 2 +- .../wrappers/wasm-go/enum-types/module/module.go | 4 ++-- .../wasm-go/env-types/external/module/module.go | 2 +- .../implementations/test-use-getImpl/go.sum | 4 ++++ .../test-use-getImpl/module/module.go | 10 ++++++---- .../test-use-getImpl/polywrap.build.yaml | 5 +---- .../test-use-getImpl/polywrap.yaml | 2 +- .../wasm-go/implementations/test-wrapper/go.sum | 4 ++++ .../test-wrapper/module/module.go | 8 +++++++- .../test-wrapper/polywrap.build.yaml | 5 +---- .../implementations/test-wrapper/polywrap.yaml | 2 +- .../wasm-go/invalid-types/module/module.go | 10 +++++----- .../wrappers/wasm-go/json-type/module/module.go | 9 +++++---- .../wrappers/wasm-go/map-type/module/module.go | 10 +++++----- .../wasm-go/number-types/module/module.go | 12 ++++++------ .../wasm-go/object-types/module/module.go | 8 ++++---- 18 files changed, 63 insertions(+), 52 deletions(-) create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.sum create mode 100644 packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.sum diff --git a/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go b/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go index c32e75ad2d..636b37e9be 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go +++ b/packages/test-cases/cases/wrappers/wasm-go/asyncify/module/method.go @@ -9,8 +9,8 @@ import ( //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func GetData(args *storage.ArgsGetData) uint32 { - res, err := storage.MethodGetData(args) +func GetData() uint32 { + res, err := storage.MethodGetData(nil) if err != nil { panic(err) } @@ -21,7 +21,7 @@ func ReturnTrue() bool { return true } -func SetDataWithLargeArgs(args *types.ArgsSetDataWithLargeArgs) string { +func SetDataWithLargeArgs(args *types.MethodArgsSetDataWithLargeArgs) string { largeString := args.Value num, err := strconv.ParseInt(largeString, 10, 32) if err != nil { @@ -34,7 +34,7 @@ func SetDataWithLargeArgs(args *types.ArgsSetDataWithLargeArgs) string { return largeString } -func SetDataWithManyArgs(args *types.ArgsSetDataWithManyArgs) string { +func SetDataWithManyArgs(args *types.MethodArgsSetDataWithManyArgs) string { argsA := args.ValueA argsB := args.ValueB argsC := args.ValueC @@ -56,7 +56,7 @@ func SetDataWithManyArgs(args *types.ArgsSetDataWithManyArgs) string { return argsA + argsB + argsC + argsD + argsE + argsF + argsG + argsH + argsI + argsJ + argsK + argsL } -func SetDataWithManyStructuredArgs(args *types.ArgsSetDataWithManyStructuredArgs) bool { +func SetDataWithManyStructuredArgs(args *types.MethodArgsSetDataWithManyStructuredArgs) bool { _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 44}) if err != nil { panic(err) @@ -64,7 +64,7 @@ func SetDataWithManyStructuredArgs(args *types.ArgsSetDataWithManyStructuredArgs return true } -func LocalVarMethod(args *types.ArgsLocalVarMethod) bool { +func LocalVarMethod() bool { functionArg := false functionArg = ReturnTrue() @@ -78,7 +78,7 @@ func LocalVarMethod(args *types.ArgsLocalVarMethod) bool { var globalValue bool = false -func GlobalVarMethod(args *types.ArgsGlobalVarMethod) bool { +func GlobalVarMethod() bool { globalValue = true _, err := storage.MethodSetData(&storage.ArgsSetData{Value: 77}) @@ -89,7 +89,7 @@ func GlobalVarMethod(args *types.ArgsGlobalVarMethod) bool { return globalValue } -func SubsequentInvokes(args *types.ArgsSubsequentInvokes) []string { +func SubsequentInvokes(args *types.MethodArgsSubsequentInvokes) []string { result := make([]string, args.NumberOfTimes) for i := int32(0); i < args.NumberOfTimes; i++ { _, err := storage.MethodSetData(&storage.ArgsSetData{Value: i}) diff --git a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go index 1928e5f4c2..0b0b81b7d4 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go +++ b/packages/test-cases/cases/wrappers/wasm-go/bigint-type/module/method.go @@ -6,7 +6,7 @@ import ( ) //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func Method(args *types.ArgsMethod) *big.Int { +func Method(args *types.MethodArgsMethod) *big.Int { result := new(big.Int).Mul(args.Arg1, args.Obj.Prop1) if args.Arg2 != nil { diff --git a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go index 4dd812fe20..c57eba5f50 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go +++ b/packages/test-cases/cases/wrappers/wasm-go/bytes-type/module/bytesMethod.go @@ -7,7 +7,7 @@ import ( ) //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func BytesMethod(args *types.ArgsBytesMethod) []byte { +func BytesMethod(args *types.MethodArgsBytesMethod) []byte { return bytes.Join( [][]byte{ args.Arg.Prop, diff --git a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go index c06d086654..9e91033414 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/enum-types/module/module.go @@ -4,10 +4,10 @@ import "github.com/testorg/testrepo/wrap/types" //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func Method1(args *types.ArgsMethod1) types.SanityEnum { +func Method1(args *types.MethodArgsMethod1) types.SanityEnum { return args.En } -func Method2(args *types.ArgsMethod2) []types.SanityEnum { +func Method2(args *types.MethodArgsMethod2) []types.SanityEnum { return args.EnumArray } diff --git a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go index 82bfb320b7..63caecec92 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/env-types/external/module/module.go @@ -3,6 +3,6 @@ package module import "github.com/testorg/testrepo/wrap/types" //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func ExternalEnvMethod(args *types.ArgsExternalEnvMethod, env *types.Env) types.Env { +func ExternalEnvMethod(env *types.Env) types.Env { return *env } diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.sum b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go index af8def3a43..9e4d85a0b2 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/module/module.go @@ -5,14 +5,16 @@ import ( "github.com/testorg/testrepo/wrap/types" ) -func ModuleImplementations(*types.ArgsModuleImplementations) []string { +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + +func ModuleImplementations() []string { return interfaces.InterfaceImplementations() } -func ModuleMethod(args *types.ArgsModuleMethod) types.ImplementationType { +func ModuleMethod(args *types.MethodArgsModuleMethod) types.ImplementationType { return args.Arg } -func AbstractModuleMethod(args *types.ImplementationType) string { - return args.Str +func AbstractModuleMethod(args *types.MethodArgsAbstractModuleMethod) string { + return args.Arg.Str } diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml index b958c916b5..a7ca19eefa 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.build.yaml @@ -2,7 +2,4 @@ format: 0.1.0 docker: name: test-use-get-impl-wasm-as config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../../wasm/go + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml index 2abb38d9ac..7d275c3de4 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-use-getImpl/polywrap.yaml @@ -4,7 +4,7 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod import_abis: - uri: wrap://ens/interface.eth abi: ../test-interface/build/wrap.info diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.sum b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.sum new file mode 100644 index 0000000000..89ffed76d2 --- /dev/null +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/go.sum @@ -0,0 +1,4 @@ +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba h1:zalC+tj7u2wwOA53sJPvPwrIr6bgQF/5KiULuAi0tcE= +github.com/consideritdone/polywrap-go v0.0.0-20220828165033-42498c4ffdba/go.mod h1:IHk2chh2cl2rACqPLh5sE1LKTooxw19biP+zzYOiULg= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go index d9cfb34006..53dcaeb681 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/module/module.go @@ -4,6 +4,12 @@ import ( "github.com/testorg/testrepo/wrap/types" ) -func ModuleMethod(args *types.ArgsModuleMethod) types.ImplementationType { +//go:generate polywrap build -v -m ../polywrap.yaml -o ../build + +func ModuleMethod(args *types.MethodArgsModuleMethod) types.ImplementationType { return args.Arg } + +func AbstractModuleMethod(args *types.MethodArgsAbstractModuleMethod) string { + return args.Arg.Str +} diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml index a6c039df85..aa5f7201ed 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.build.yaml @@ -1,6 +1,3 @@ format: 0.1.0 config: - node_version: "14.16.0" -linked_packages: - - name: "@polywrap/wasm-go" - path: ../../../../../../wasm/go + node_version: "16.13.0" diff --git a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml index 16b355ea5d..c9fafb06d2 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml +++ b/packages/test-cases/cases/wrappers/wasm-go/implementations/test-wrapper/polywrap.yaml @@ -4,7 +4,7 @@ project: type: wasm/golang source: schema: ./schema.graphql - module: ./src/index.ts + module: ./go.mod import_abis: - uri: wrap://ens/interface.eth abi: ../test-interface/build/wrap.info diff --git a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go index 7bf2282ce6..5981ee38b3 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/invalid-types/module/module.go @@ -5,22 +5,22 @@ import ( ) //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func BoolMethod(args *types.ArgsBoolMethod) bool { +func BoolMethod(args *types.MethodArgsBoolMethod) bool { return args.Arg } -func IntMethod(args *types.ArgsIntMethod) int32 { +func IntMethod(args *types.MethodArgsIntMethod) int32 { return args.Arg } -func UIntMethod(args *types.ArgsUIntMethod) uint32 { +func UIntMethod(args *types.MethodArgsUIntMethod) uint32 { return args.Arg } -func BytesMethod(args *types.ArgsBytesMethod) []byte { +func BytesMethod(args *types.MethodArgsBytesMethod) []byte { return args.Arg } -func ArrayMethod(args *types.ArgsArrayMethod) []string { +func ArrayMethod(args *types.MethodArgsArrayMethod) []string { return args.Arg } diff --git a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go index 8186526668..62ab2b2d04 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/json-type/module/module.go @@ -6,11 +6,12 @@ import ( ) //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func Parse(args *types.ArgsParse) *fastjson.Value { + +func Parse(args *types.MethodArgsParse) *fastjson.Value { return fastjson.MustParse(args.Value) } -func Stringify(args *types.ArgsStringify) string { +func Stringify(args *types.MethodArgsStringify) string { str := "" for i := range args.Values { str += args.Values[i].String() @@ -18,14 +19,14 @@ func Stringify(args *types.ArgsStringify) string { return str } -func StringifyObject(args *types.ArgsStringifyObject) string { +func StringifyObject(args *types.MethodArgsStringifyObject) string { str := "" str += args.Object.JsonA.String() str += args.Object.JsonB.String() return str } -func MethodJSON(args *types.ArgsMethodJSON) *fastjson.Value { +func MethodJSON(args *types.MethodArgsMethodJSON) *fastjson.Value { arena := new(fastjson.Arena) result := arena.NewObject() result.Set("valueA", arena.NewNumberInt(int(args.ValueA))) diff --git a/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go index e4f89d9de7..511395f40e 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/map-type/module/module.go @@ -4,14 +4,14 @@ import "github.com/testorg/testrepo/wrap/types" //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func GetKey(args *types.ArgsGetKey) int32 { - return args.Foo.Map[args.Key] +func GetKey(args *types.MethodArgsGetKey) int32 { + return args.Foo.M_map[args.Key] } -func ReturnMap(args *types.ArgsReturnMap) map[string]int32 { - return args.Map +func ReturnMap(args *types.MethodArgsReturnMap) map[string]int32 { + return args.M_map } -func ReturnCustomMap(args *types.ArgsReturnCustomMap) types.CustomMap { +func ReturnCustomMap(args *types.MethodArgsReturnCustomMap) types.CustomMap { return args.Foo } diff --git a/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go index c286276bed..35be7fc298 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/number-types/module/module.go @@ -4,26 +4,26 @@ import "github.com/testorg/testrepo/wrap/types" //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func I8Method(args *types.ArgsI8Method) int8 { +func I8Method(args *types.MethodArgsI8Method) int8 { return args.First + args.Second } -func U8Method(args *types.ArgsU8Method) uint8 { +func U8Method(args *types.MethodArgsU8Method) uint8 { return args.First + args.Second } -func I16Method(args *types.ArgsI16Method) int16 { +func I16Method(args *types.MethodArgsI16Method) int16 { return args.First + args.Second } -func U16Method(args *types.ArgsU16Method) uint16 { +func U16Method(args *types.MethodArgsU16Method) uint16 { return args.First + args.Second } -func I32Method(args *types.ArgsI32Method) int32 { +func I32Method(args *types.MethodArgsI32Method) int32 { return args.First + args.Second } -func U32Method(args *types.ArgsU32Method) uint32 { +func U32Method(args *types.MethodArgsU32Method) uint32 { return args.First + args.Second } diff --git a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go index 732e2d00e5..9ecf0355cc 100644 --- a/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go +++ b/packages/test-cases/cases/wrappers/wasm-go/object-types/module/module.go @@ -4,7 +4,7 @@ import "github.com/testorg/testrepo/wrap/types" //go:generate polywrap build -v -m ../polywrap.yaml -o ../build -func Method1(args *types.ArgsMethod1) []types.Output { +func Method1(args *types.MethodArgsMethod1) []types.Output { out1 := types.Output{ Prop: args.Arg1.Prop, Nested: types.Nested{ @@ -23,7 +23,7 @@ func Method1(args *types.ArgsMethod1) []types.Output { return []types.Output{out1, out2} } -func Method2(args *types.ArgsMethod2) *types.Output { +func Method2(args *types.MethodArgsMethod2) *types.Output { if args == nil { return nil } @@ -35,7 +35,7 @@ func Method2(args *types.ArgsMethod2) *types.Output { } } -func Method3(args *types.ArgsMethod3) []*types.Output { +func Method3(args *types.MethodArgsMethod3) []*types.Output { out2 := &types.Output{ Prop: args.Arg.Prop, Nested: types.Nested{ @@ -45,7 +45,7 @@ func Method3(args *types.ArgsMethod3) []*types.Output { return []*types.Output{nil, out2} } -func Method5(args *types.ArgsMethod5) types.Output { +func Method5(args *types.MethodArgsMethod5) types.Output { return types.Output{ Prop: string(args.Arg.Prop), Nested: types.Nested{