FunctionCallable

@dynamicCallable
public struct FunctionCallable : Sendable

Estrutura que habilita o seguinte açúcar sintático para funções do usuário:

guard case let .int32(sum) = try await user.functions.sum([1, 2, 3, 4, 5]) else {
   return
}

O nome do membro dinâmico (sum no exemplo acima) é fornecido por @dynamicMemberLookup que está diretamente associado ao nome da função.

  • A implementação de @dynamicCallable que permite o retorno chamável do Future<AnyBSON, Error> .

    let cancellable = user.functions.sum(1, 2, 3, 4, 5)
       .sink(receiveCompletion: { result in
    }, receiveValue: { value in
       // Returned value from function
    })
    

    Declaração

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public func dynamicallyCall(withArguments args: [AnyBSON]) -> Future<AnyBSON, Error>
  • A implementação do @ dynamicMemberLookup que permite o retorno de async await chamada.

    guard case let .int32(sum) = try await user.functions.sum(1, 2, 3, 4, 5) else {
       return
    }
    

    Declaração

    Swift

    public func dynamicallyCall(withArguments args: [AnyBSON]) async throws -> AnyBSON