@@ -1915,8 +1915,8 @@ _unless_ accompanied by a _field error_.
1915
1915
1916
1916
The Semantic -Non -Null type wraps an underlying type , and this type acts
1917
1917
identically to that wrapped type , with the exception that {null } will result in
1918
- a field error being raised . A leading exclamation mark is used to denote a
1919
- field that uses a Semantic -Non -Null type like this : `name : ! String `.
1918
+ a field error being raised . A trailing asterisk is used to denote a field that
1919
+ uses a Semantic -Non -Null type like this : `name : String * `.
1920
1920
1921
1921
Semantic -Non -Null types are only valid for use as an _output type_ ; they must
1922
1922
not be used as an _input type_ .
@@ -1955,7 +1955,7 @@ The List and Semantic-Non-Null wrapping types can compose, representing more
1955
1955
complex types. The rules for result coercion of Lists and Semantic-Non-Null
1956
1956
types apply in a recursive fashion.
1957
1957
1958
- For example if the inner item type of a List is Semantic-Non-Null (e.g. `[!T ]`),
1958
+ For example if the inner item type of a List is Semantic-Non-Null (e.g. `[T* ]`),
1959
1959
then that List may not contain any {null } items unless associated field errors
1960
1960
were raised . However if the inner type of a Semantic -Non -Null is a List (e.g.
1961
1961
`![T]`), then {null } is not accepted without an accompanying field error being
@@ -1965,26 +1965,26 @@ Following are examples of result coercion with various types and values:
1965
1965
1966
1966
| Expected Type | Internal Value | Coerced Result |
1967
1967
| ------------- | --------------- | ------------------------------------------- |
1968
- | `! [Int ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1969
- | `! [Int ]` | `null ` | `null ` (With logged coercion error) |
1970
- | `! [Int ]` | `[1, 2, null ]` | `[1, 2, null ]` |
1971
- | `! [Int ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1972
- | `! [Int !]` | `[1, 2, 3]` | `[1, 2, 3]` |
1973
- | `! [Int !]` | `null ` | `null ` (With logged coercion error) |
1974
- | `! [Int !]` | `[1, 2, null ]` | `null ` (With logged coercion error) |
1975
- | `! [Int !]` | `[1, 2, Error ]` | `null ` (With logged error) |
1976
- | `[! Int ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1977
- | `[! Int ]` | `null ` | `null ` |
1978
- | `[! Int ]` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1979
- | `[! Int ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1980
- | `[! Int ]!` | `[1, 2, 3]` | `[1, 2, 3]` |
1981
- | `[! Int ]!` | `null ` | Error : Value cannot be null |
1982
- | `[! Int ]!` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1983
- | `[! Int ]!` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1984
- | `![! Int ] ` | `[1, 2, 3]` | `[1, 2, 3]` |
1985
- | `![! Int ] ` | `null ` | `null ` (With logged coercion error) |
1986
- | `![! Int ] ` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1987
- | `![! Int ] ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1968
+ | `[Int ]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1969
+ | `[Int ]* ` | `null ` | `null ` (With logged coercion error) |
1970
+ | `[Int ]* ` | `[1, 2, null ]` | `[1, 2, null ]` |
1971
+ | `[Int ]* ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1972
+ | `[Int !]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1973
+ | `[Int !]* ` | `null ` | `null ` (With logged coercion error) |
1974
+ | `[Int !]* ` | `[1, 2, null ]` | `null ` (With logged coercion error) |
1975
+ | `[Int !]* ` | `[1, 2, Error ]` | `null ` (With logged error) |
1976
+ | `[Int * ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1977
+ | `[Int * ]` | `null ` | `null ` |
1978
+ | `[Int * ]` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1979
+ | `[Int * ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1980
+ | `[Int * ]!` | `[1, 2, 3]` | `[1, 2, 3]` |
1981
+ | `[Int * ]!` | `null ` | Error : Value cannot be null |
1982
+ | `[Int * ]!` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1983
+ | `[Int * ]!` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1984
+ | `[ Int *]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1985
+ | `[ Int *]* ` | `null ` | `null ` (With logged coercion error) |
1986
+ | `[ Int *]* ` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1987
+ | `[ Int *]* ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1988
1988
1989
1989
## Directives
1990
1990
0 commit comments