Double quotes when using ULID
pravdomil opened this issue · 1 comments
pravdomil commented
Build Information
{
"identity" : "sqlite.swift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/stephencelis/SQLite.swift",
"state" : {
"revision" : "e78ae0220e17525a15ac68c697a155eb7a672a8e",
"version" : "0.15.0"
}
}
How to Reproduce
package.swift
// swift-tools-version: 5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "MyExecutable",
dependencies: [
.package(url: "https://github.com/stephencelis/SQLite.swift", .upToNextMajor(from: "0.15.0")),
.package(url: "https://github.com/yaslab/ULID.swift", .upToNextMinor(from: "1.2.0")),
], targets: [
.executableTarget(
name: "MyExecutable", dependencies: [
.product(name: "SQLite", package: "SQLite.swift"),
.product(name: "ULID", package: "ULID.swift"),
]
),
]
)
main.swift
import Foundation
import SQLite
import ULID
extension ULID: Value {
public static var declaredDatatype: String {
String.declaredDatatype
}
public static func fromDatatypeValue(_ stringValue: String) -> ULID {
ULID(ulidString: stringValue)!
}
public var datatypeValue: String {
ulidString
}
}
struct User: Codable {
let id: ULID
}
let users = Table("users")
let id = Expression<ULID>("id")
try print(users.insert(User(id: ULID())))
gives me
INSERT INTO "users" ("id") VALUES ('"01HTTP6QD08BP47AJBEEEWXVJ9"')
pravdomil commented
SQLite.swift/Sources/SQLite/Typed/Coding.swift
Lines 257 to 270 in e78ae02