Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ let package = Package(
name: "Functions",
dependencies: [
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
.product(name: "HTTPTypes", package: "swift-http-types"),
"Helpers",
"HTTPRuntime",
]
),
.testTarget(
Expand Down
67 changes: 67 additions & 0 deletions Sources/Functions/Deprecated.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
//
// Deprecated.swift
// Functions
//
// Created by Guilherme Souza on 13/07/26.
//
public import Foundation
public import Helpers

extension FunctionsClient {

/// Creates a new Functions client.
/// - Parameters:
/// - url: The base URL of the Functions endpoint.
/// - headers: Additional headers to include in every request.
/// - region: The region string to invoke functions in.
/// - logger: A logger for request and response diagnostics.
/// - fetch: A custom fetch handler. Defaults to `URLSession.shared`.
/// - decoder: The JSON decoder used to decode response bodies.
@_disfavoredOverload
@available(
*, deprecated, message: "Use init(url:options:) with a FunctionsClientOptions instead."
)
public convenience init(
url: URL,
headers: [String: String] = [:],
region: String? = nil,
logger: (any SupabaseLogger)? = nil,
fetch: @escaping FetchHandler = { try await URLSession.shared.data(for: $0) },
decoder: JSONDecoder = JSONDecoder()
) {
self.init(
url: url,
options: FunctionsClientOptions(
headers: headers, region: region, logger: logger, decoder: decoder, session: .shared),
transport: FetchHandlerTransport(fetch: fetch)
)
}

/// Creates a new Functions client.
/// - Parameters:
/// - url: The base URL of the Functions endpoint.
/// - headers: Additional headers to include in every request.
/// - region: The region to invoke functions in.
/// - logger: A logger for request and response diagnostics.
/// - fetch: A custom fetch handler. Defaults to `URLSession.shared`.
/// - decoder: The JSON decoder used to decode response bodies.
@available(
*, deprecated, message: "Use init(url:options:) with a FunctionsClientOptions instead."
)
public convenience init(
url: URL,
headers: [String: String] = [:],
region: FunctionRegion? = nil,
logger: (any SupabaseLogger)? = nil,
fetch: @escaping FetchHandler = { try await URLSession.shared.data(for: $0) },
decoder: JSONDecoder = JSONDecoder()
) {
self.init(
url: url,
options: FunctionsClientOptions(
headers: headers, region: region?.rawValue, logger: logger, decoder: decoder,
session: .shared),
transport: FetchHandlerTransport(fetch: fetch)
)
}
}
Loading
Loading