Generates Swift type definitions for the specified schema and writes them to the specified file. Typesync first “flattens” your schema, creating new aliases for inline types defined within. It then generates the primary and auxiliary structs, enums, aliases, encoders, and decoders. For document models, generated Swift structs include anDocumentation Index
Fetch the complete documentation index at: https://docs.typesync.org/llms.txt
Use this file to discover all available pages before exploring further.
@DocumentID var id: String? property by default. The Firebase Apple SDK fills this value from the document path when decoding and excludes it from the encoded document body when writing.
Usage
Options
The exact path or a Glob pattern to the definition file or files. Each definition file must be a YAML or JSON file containing model definitions.
- Example single file path:
definition/models.json - Example Glob pattern:
'definition/**/*.yml'
The target environment for which the types are generated. This option specifies the target SDK and version, ensuring
that the output is compatible with the chosen environment. See the list of available targets here.
The path to the output file.
Indentation or tab width for the generated code.
Whether to enable debug logs.
Targets
firebase@10: For Swift projects that rely on the Firebase Apple SDK (v10).
Document IDs
Document model structs importFirebaseFirestore and include an @DocumentID
property:
id, rename the generated
document ID property on that document model:
@DocumentID var documentId: String? while keeping the body field
named id.
Swift field names
Useswift.name on a field when the generated Swift property name should differ
from the Firestore field name. Typesync keeps encoding and decoding aligned with
the original Firestore key through CodingKeys.
@DocumentID property. Rename
one of the properties with swift.name or swift.documentIdProperty.name.
