Files

48 lines
1.9 KiB
Swift
Raw Permalink Normal View History

//
// Relationship+Literal.swift
// JSONAPITesting
//
// Created by Mathew Polzin on 11/27/18.
//
import JSONAPI
2018-12-08 01:17:47 -08:00
extension ToOneRelationship: ExpressibleByNilLiteral where Identifiable.Identifier: ExpressibleByNilLiteral, MetaType == NoMetadata, LinksType == NoLinks {
2019-11-05 22:37:48 -08:00
public init(nilLiteral: ()) {
2019-11-05 22:37:48 -08:00
self.init(id: Identifiable.Identifier(nilLiteral: ()))
}
}
2018-12-08 01:17:47 -08:00
extension ToOneRelationship: ExpressibleByUnicodeScalarLiteral where Identifiable.Identifier: ExpressibleByUnicodeScalarLiteral, MetaType == NoMetadata, LinksType == NoLinks {
2019-11-05 22:37:48 -08:00
public typealias UnicodeScalarLiteralType = Identifiable.Identifier.UnicodeScalarLiteralType
2019-11-05 22:37:48 -08:00
public init(unicodeScalarLiteral value: UnicodeScalarLiteralType) {
self.init(id: Identifiable.Identifier(unicodeScalarLiteral: value))
}
}
2018-12-08 01:17:47 -08:00
extension ToOneRelationship: ExpressibleByExtendedGraphemeClusterLiteral where Identifiable.Identifier: ExpressibleByExtendedGraphemeClusterLiteral, MetaType == NoMetadata, LinksType == NoLinks {
2019-11-05 22:37:48 -08:00
public typealias ExtendedGraphemeClusterLiteralType = Identifiable.Identifier.ExtendedGraphemeClusterLiteralType
2019-11-05 22:37:48 -08:00
public init(extendedGraphemeClusterLiteral value: ExtendedGraphemeClusterLiteralType) {
self.init(id: Identifiable.Identifier(extendedGraphemeClusterLiteral: value))
}
}
2018-12-08 01:17:47 -08:00
extension ToOneRelationship: ExpressibleByStringLiteral where Identifiable.Identifier: ExpressibleByStringLiteral, MetaType == NoMetadata, LinksType == NoLinks {
2019-11-05 22:37:48 -08:00
public typealias StringLiteralType = Identifiable.Identifier.StringLiteralType
2019-11-05 22:37:48 -08:00
public init(stringLiteral value: StringLiteralType) {
self.init(id: Identifiable.Identifier(stringLiteral: value))
}
}
extension ToManyRelationship: ExpressibleByArrayLiteral where MetaType == NoMetadata, LinksType == NoLinks {
2019-11-05 22:37:48 -08:00
public typealias ArrayLiteralElement = Relatable.Identifier
2019-11-05 22:37:48 -08:00
public init(arrayLiteral elements: ArrayLiteralElement...) {
self.init(ids: elements)
}
}