-
Notifications
You must be signed in to change notification settings - Fork 101
/
Copy pathTextOptions.swift
33 lines (28 loc) · 1.01 KB
/
TextOptions.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// TextOptions.swift
// react-native-image-marker
//
// Created by Jimmydaddy on 2023/6/24.
//
import Foundation
import UIKit
import React
class TextOptions: NSObject {
var X: String?
var Y: String?
var position: MarkerPositionEnum = .none
var text: String
var style: TextStyle?
init(dicOpts opts: [AnyHashable: Any]) throws {
guard let text = opts["text"] as? String else {
throw NSError(domain: ErrorDomainEnum.PARAMS_REQUIRED.rawValue, code: 0, userInfo: [NSLocalizedDescriptionKey: "text is required"])
}
if let positionOpts = opts["position"] as? [AnyHashable: Any] {
self.X = Utils.handleDynamicToString(v: positionOpts["X"])
self.Y = Utils.handleDynamicToString(v: positionOpts["Y"])
self.position = positionOpts["position"] != nil ? RCTConvert.MarkerPosition(positionOpts["position"]) : .none
}
self.text = text
self.style = try? TextStyle(dicOpts: (opts["style"] as? [AnyHashable: Any])!)
}
}