Function呼び出し可能

@dynamicCallable
public struct FunctionCallable : Sendable

ユーザー関数に対して次の構文保存を可能にする構造。

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

動的ノード名(上記の例ではsum )は、関数名に直接関連付けられた@dynamicMemberLookupによって提供されます。

  • Future<AnyBSON, Error>の呼び出し可能な戻りを可能にする @dysyncConnectable の実装。

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

    宣言

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public func dynamicallyCall(withArguments args: [AnyBSON]) -> Future<AnyBSON, Error>
  • async awaitの呼び出し可能な戻りを可能にする @dysyncMeberLookup の実装。

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

    宣言

    Swift

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