// // ChartsDataManager.swift // GraphTest // // Created by Andrei Salavei on 3/11/19. // Copyright © 2019 Andrei Salavei. All rights reserved. // import Foundation #if os(macOS) import Cocoa #else import UIKit #endif public class ChartsDataManager { public static func readChart(item: [String: Any], extraCopiesCount: Int = 0, sync: Bool, success: @escaping (ChartsCollection) -> Void, failure: @escaping (Error) -> Void) { let workItem: (() -> Void) = { do { var collection = try ChartsCollection(from: item) for _ in 0.. Void, failure: @escaping (Error) -> Void) { let workItem: (() -> Void) = { do { let decoded = try JSONSerialization.jsonObject(with: data, options: []) guard let item = decoded as? [String: Any] else { throw ChartsError.invalidJson } var collection = try ChartsCollection(from: item) for _ in 0.. Void, failure: @escaping (Error) -> Void) { let workItem: (() -> Void) = { do { let data = try Data(contentsOf: file) let decoded = try JSONSerialization.jsonObject(with: data, options: []) guard let item = decoded as? [String: Any] else { throw ChartsError.invalidJson } var collection = try ChartsCollection(from: item) for _ in 0.. Void, failure: @escaping (Error) -> Void) { let workItem: (() -> Void) = { do { let data = try Data(contentsOf: file) let decoded = try JSONSerialization.jsonObject(with: data, options: []) guard let items = decoded as? [[String: Any]] else { throw ChartsError.invalidJson } var collections = try items.map { try ChartsCollection(from: $0) } for _ in 0..