// // test.swift // KissMeConsole // // Created by ened-book-m1 on 2023/05/16. // import Foundation import KissMe func test_array_to_csv() { } func test_login_get_volume_ranking() async { let isMock = false let credential: Credential do { /// isMock 이 true 이면, mock-server.json 에서 로딩하여 생성 /// isMock 이 false 이면, real-server.json 에서 로딩하여 생성 /// server.json 의 구조 /// { /// "isMock": true, /// "accountNo": "12345678-90" /// "appKey": "xxxxxxxx", /// "appSecret": "yyyyyyyyyyyyyyyyyy" /// } /// credential = try KissCredential(isMock: isMock) } catch { print("\(error)") return } let account = KissAccount(credential: credential) do { if try await account.login() { let option = RankingOption(divisionClass: .equity, belongClass: .averageVolume) let result = try await account.getVolumeRanking(option: option) print("\(result)") } } catch { print("\(error)") return } } func test_json_result() { let str = "{\"rt_cd\":\"1\",\"msg_cd\":\"EGW00205\",\"msg1\":\"credentials_type이 유효하지 않습니다.(Bearer)\"}" do { let decoder = JSONDecoder() decoder.keyDecodingStrategy = .useDefaultKeys let data = Data(str.utf8) let result = try decoder.decode(VolumeRankResult.self, from: data) print("\(result)") } catch { print("\(error)") } } func test_xml_result() { /* let str = "
00NORMAL SERVICE.
이스트아시아홀딩스인베스트먼트리미티드900110삼천당제약000250중앙에너비스000440신라섬유001000안국약품001540무림에스피001810이화공영001840피에스텍002230삼일기업공사002290한일사료0058601011637
" let data = Data(str.utf8) class ResultHelper: NSObject, XMLParserDelegate { struct Result: Codable { } var result: Result? func parserDidStartDocument(_ parser: XMLParser) { } func parserDidEndDocument(_ parser: XMLParser) { } } do { let helper = ResultHelper() let parser = XMLParser(data: data) parser.shouldProcessNamespaces = true parser.delegate = helper if parser.parse() { print(helper.result) } } */ }