SAService Architect Back to designer
SAService ArchitectDocumentation
Type system Built-in scalar and runtime types

Built-in scalar and runtime types

`DataType` values that require no `keyType` or `valueType`: numeric, character, boolean, string and framework runtime contracts.

When to use

Define this contract before assigning it to stream valueType or keyType.

Behavior

  • int and uint use the target language native integer representation.
  • int8, int16, int32, int64 and uint8, uint16, uint32, uint64 make width and signedness explicit.
  • byte, char and unicode char represent byte-oriented, character and Unicode code-point values according to the target backend.
  • boolean represents a true/false value.
  • string and unicode string represent text contracts; the backend maps them to its native string representation.
  • float and double represent single- and double-precision floating-point values.
  • any is an intentionally untyped or dynamically represented payload.
  • error is the framework error contract used in error streams and generated error paths.
  • useAlias creates a project-named type over a built-in contract; that alias may become public only when useAlias is enabled.

Definition properties

Identity and representation

PropertyTypeDescription
namestring

Canonical named type referenced by streams and other types.

Required
typeint | uint | byte | char | boolean | unicode char | string | unicode string | float | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | any | error | array | map | struct | custom

DataType kind that controls generated representation, composition and serde behavior.

RequiredAllowed: int, uint, byte, char, boolean, unicode char, string, unicode string, float, double, int8, int16, int32, int64, uint8, uint16, uint32, uint64, any, error, array, map, struct, custom
definitionFormatNative | Protobuf | FlatBuffers | CapNProto | OpenAPI

Serialization or external definition format.

Allowed: Native, Protobuf, FlatBuffers, CapNProto, OpenAPI
descriptiontext

Generated type documentation.

Composition properties

Nested type references

PropertyTypeDescription
keyTypeType

Map key type.

map only
valueTypeType

Array item or map value type.

array or map

Code generation properties

Sharing and target-language behavior

PropertyTypeDescription
transferByValueboolean

Uses value rather than pointer/reference signatures.

Default: false
useAliasboolean

Generates a named alias for a built-in scalar or runtime contract.

Default: false
publicTypeboolean

When true, the type is generated in the selected user-defined Module and can be shared across services.

moduleModule

Name of a Module from the project-level modules collection. With publicType = true, this Module owns the generated type; its modulePath and repository layout determine the physical module directory and import identity.

publicType = true
packagestring

Optional target-language package alias/compatibility metadata. Leave it empty unless external tooling explicitly consumes it. The current generator derives imports and physical placement from the resolved type path and from publicType + module; this field is not interpreted as a path such as folder/sub-folder.

Default: empty
typeDefinitionLang*code

Inline target-language definition.

custom type

Configuration example

name: Built-in scalar and runtimeType
type: primitive