2018-09-05 06:44:16 +09:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"github.com/go-fed/activity/tools/exp"
|
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
x := &exp.FunctionalPropertyGenerator{
|
|
|
|
exp.PropertyGenerator{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "testFunctional",
|
|
|
|
CamelName: "TestFunctional",
|
|
|
|
},
|
|
|
|
Kinds: []exp.Kind{
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "iri",
|
|
|
|
CamelName: "IRI",
|
|
|
|
},
|
|
|
|
ConcreteKind: "*url.URL",
|
|
|
|
Nilable: true,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeIRI",
|
|
|
|
DeserializeFnName: "DeserializeIRI",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessIRI",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
y := &exp.FunctionalPropertyGenerator{
|
|
|
|
exp.PropertyGenerator{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "testFunctionalNonnil",
|
|
|
|
CamelName: "TestFunctionalNonil",
|
|
|
|
},
|
|
|
|
Kinds: []exp.Kind{
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "number",
|
|
|
|
CamelName: "Number",
|
|
|
|
},
|
|
|
|
ConcreteKind: "int",
|
|
|
|
Nilable: false,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeNumber",
|
|
|
|
DeserializeFnName: "DeserializeNumber",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessNumber",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
z := &exp.FunctionalPropertyGenerator{
|
|
|
|
exp.PropertyGenerator{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "testFunctionalMultiType",
|
|
|
|
CamelName: "TestFunctionalMultiType",
|
|
|
|
},
|
|
|
|
Kinds: []exp.Kind{
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "iri",
|
|
|
|
CamelName: "IRI",
|
|
|
|
},
|
|
|
|
ConcreteKind: "*url.URL",
|
|
|
|
Nilable: true,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeIRI",
|
|
|
|
DeserializeFnName: "DeserializeIRI",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessIRI",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "number",
|
|
|
|
CamelName: "Number",
|
|
|
|
},
|
|
|
|
ConcreteKind: "int",
|
|
|
|
Nilable: false,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeNumber",
|
|
|
|
DeserializeFnName: "DeserializeNumber",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessNumber",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
zz := &exp.NonFunctionalPropertyGenerator{
|
|
|
|
exp.PropertyGenerator{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "testNonFunctionalMultiType",
|
|
|
|
CamelName: "TestNonFunctionalMultiType",
|
|
|
|
},
|
|
|
|
Kinds: []exp.Kind{
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "iri",
|
|
|
|
CamelName: "IRI",
|
|
|
|
},
|
|
|
|
ConcreteKind: "*url.URL",
|
|
|
|
Nilable: true,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeIRI",
|
|
|
|
DeserializeFnName: "DeserializeIRI",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessIRI",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
{
|
|
|
|
Name: exp.Identifier{
|
|
|
|
LowerName: "number",
|
|
|
|
CamelName: "Number",
|
|
|
|
},
|
|
|
|
ConcreteKind: "int",
|
|
|
|
Nilable: false,
|
|
|
|
HasNaturalLanguageMap: false,
|
2018-09-13 05:45:59 +09:00
|
|
|
SerializeFnName: "SerializeNumber",
|
|
|
|
DeserializeFnName: "DeserializeNumber",
|
2018-09-26 06:21:07 +09:00
|
|
|
LessFnName: "LessNumber",
|
2018-09-05 06:44:16 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
2018-10-09 05:19:10 +09:00
|
|
|
fmt.Printf("%#v\n\n", x.Definition().Definition())
|
|
|
|
fmt.Printf("%#v\n\n", y.Definition().Definition())
|
|
|
|
fmt.Printf("%#v\n\n", z.Definition().Definition())
|
|
|
|
s, t := zz.Definitions()
|
|
|
|
fmt.Printf("%#v\n\n%#v", s.Definition(), t.Definition())
|
2018-09-05 06:44:16 +09:00
|
|
|
}
|