API Reference

generateSwiftClient

Generate a native Swift client from a ts-kizuna contract with URLSession and Codable.

Generate a native Swift client from a contract. The generated client uses URLSession and Codable, with no third-party Swift dependencies required.

pnpm add @ts-kizuna/swift
bun add @ts-kizuna/swift
npm install @ts-kizuna/swift
import { generateSwiftClient } from '@ts-kizuna/swift';

Parameters

generateSwiftClient(contract: Contract, config: SwiftConfig): string
ParameterTypeDescription
contractContractThe contract from k.contract
configSwiftConfigGeneration configuration

SwiftConfig

OptionTypeRequiredDescription
namespaceNamestringYesName for the generated Swift enum and client type (e.g. 'API')
camelCasePropertiesbooleanNoConvert wire field names to camelCase properties, mapped back via CodingKeys. Default false
unknownEnumCasebooleanNoEmit enums with an unknown(String) fallback so unrecognised wire values decode instead of throwing. Default false

Returns

A string containing the generated Swift source code.

Example

scripts/generate-swift-client.ts
import { writeFileSync } from 'node:fs';
import { generateSwiftClient } from '@ts-kizuna/swift';
import { contract } from '../src/contract';

const source = generateSwiftClient(contract, {
    namespaceName: 'API',
});

writeFileSync('generated/API.swift', source);

See the Swift client guide for CLI usage and integration patterns.

On this page