From 6660400e580b6cda8c2e78dc2798bedb6f264586 Mon Sep 17 00:00:00 2001 From: Paulo Faria Date: Tue, 5 Jul 2016 15:36:10 -0300 Subject: [PATCH] add StructuredDataFallibleRepresentable (#48) * update to snapshot 06-20 * add StructuredDataFallibleRepresentable --- Sources/StructuredData.swift | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sources/StructuredData.swift b/Sources/StructuredData.swift index 6677361..1420591 100644 --- a/Sources/StructuredData.swift +++ b/Sources/StructuredData.swift @@ -2,10 +2,20 @@ public protocol StructuredDataInitializable { init(structuredData: StructuredData) throws } -public protocol StructuredDataRepresentable { +public protocol StructuredDataRepresentable: StructuredDataFallibleRepresentable { var structuredData: StructuredData { get } } +public protocol StructuredDataFallibleRepresentable { + func asStructuredData() throws -> StructuredData +} + +extension StructuredDataRepresentable { + public func asStructuredData() throws -> StructuredData { + return structuredData + } +} + public protocol StructuredDataConvertible: StructuredDataInitializable, StructuredDataRepresentable {} public enum StructuredData {