gwtools 0.0.18 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/gwtools/generate/swift.rb +24 -28
- data/lib/gwtools/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 997fe8dfcd44d2f5e5d482cf11f4d7cb5f7b511ee35ef2396a201d3e58ba028b
|
4
|
+
data.tar.gz: abf89e7685eb973506e64db6953b6b33949e8370bdd50a98c0f4665394a9a036
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a9b6ab6b5cec1bd342f20fdff887debc3815ea8e71836b83d0c5bcea717adc9e6b8c502b181b9d945f847a608d0d84525e8829d3e5c812ed03c25a52dc472cf
|
7
|
+
data.tar.gz: e1a71c329b49ddb179aa400efe9511b02edab29913ddfcb69a47cc680a5277e5c6b9ef6ea72418a2f83be3190ec944fb67f09c12fb2cc723da767b15d2fb1bbf
|
@@ -16,7 +16,7 @@ module Gwtools
|
|
16
16
|
def config_file
|
17
17
|
# ERB.new(File.read('restful_url.swift.erb'), nil, '>').result(binding)
|
18
18
|
template = <<-ERB
|
19
|
-
///
|
19
|
+
/// 此文件由代码生成,不要修改任何内容
|
20
20
|
|
21
21
|
import RxSwift
|
22
22
|
import GWNetWork
|
@@ -33,7 +33,9 @@ public extension <%="#{@api_name}"%> {
|
|
33
33
|
}
|
34
34
|
|
35
35
|
public extension <%="#{@api_name}"%> {
|
36
|
-
static func <%="#{@httpmethod}"%>(
|
36
|
+
static func <%="#{@httpmethod}"%>(
|
37
|
+
headerParms: [String: String] = [:],
|
38
|
+
parms: [String: Any] = [:],
|
37
39
|
isCache: Bool = false,
|
38
40
|
isLoading: Bool = false,
|
39
41
|
module: String? = nil,
|
@@ -42,11 +44,6 @@ public extension <%="#{@api_name}"%> {
|
|
42
44
|
<% else %>
|
43
45
|
des: String? = nil) -> Observable<Self.<%="#{@model_name}"%>> {
|
44
46
|
<% end %>
|
45
|
-
// ================= 逻辑处理 =================
|
46
|
-
let headerParms: [String : String] = [:]
|
47
|
-
let parms: [String : Any] = [:]
|
48
|
-
// ================= 逻辑处理 =================
|
49
|
-
|
50
47
|
return GWNetworkManager.request(requestType: .<%="#{@httpmethod}"%>,
|
51
48
|
prefixPath: "<%="#{@prefixPath}"%>",
|
52
49
|
modulePath: "<%="#{@modulePath}"%>",
|
@@ -174,8 +171,9 @@ public extension <%="#{@api_name}"%> {
|
|
174
171
|
|
175
172
|
modulePath = getModulePath(path, prefixPath)
|
176
173
|
detailPath = getDetailPath(path, prefixPath, modulePath)
|
177
|
-
|
174
|
+
json_data_is_arr = responseJson[root_path].is_a?(Array)
|
178
175
|
readme = """
|
176
|
+
|
179
177
|
请求参数
|
180
178
|
URL = #{path.chomp}
|
181
179
|
HTTPMETHOD = #{httpMethod.chomp}
|
@@ -189,12 +187,12 @@ class <##SomeViewModel##> {
|
|
189
187
|
}
|
190
188
|
|
191
189
|
public struct Output {
|
192
|
-
let data: BehaviorRelay<#{
|
190
|
+
let data: BehaviorRelay<#{json_data_is_arr ? "[" : ""}#{app_name}.#{httpMethod.capitalize.chomp}Model#{json_data_is_arr ? "]" : ""}>
|
193
191
|
}
|
194
192
|
|
195
193
|
public func transform(input: Input) -> Output {
|
196
|
-
let outDatas = BehaviorRelay<#{
|
197
|
-
input.<##AnyObservable##>.flatMapLatest({ [weak self] () -> Observable<#{
|
194
|
+
let outDatas = BehaviorRelay<#{json_data_is_arr ? "[" : ""}#{app_name}.#{httpMethod.capitalize.chomp}Model#{json_data_is_arr ? "]" : ""}>(value: [])
|
195
|
+
input.<##AnyObservable##>.flatMapLatest({ [weak self] () -> Observable<#{json_data_is_arr ? "[" : ""}#{app_name}.#{httpMethod.capitalize.chomp}Model#{json_data_is_arr ? "]" : ""}> in
|
198
196
|
guard let self = self else { return Observable.just([]) }
|
199
197
|
return self.reqData()
|
200
198
|
}).subscribe(onNext: { (items) in
|
@@ -208,15 +206,13 @@ class <##SomeViewModel##> {
|
|
208
206
|
}
|
209
207
|
|
210
208
|
extension <##SomeViewModel##> {
|
211
|
-
func reqData() -> Observable<#{
|
209
|
+
func reqData() -> Observable<#{json_data_is_arr ? "[" : ""}#{app_name}.#{httpMethod.capitalize.chomp}Model#{json_data_is_arr ? "]" : ""}> {
|
212
210
|
#{app_name}.#{httpMethod.capitalize.chomp}()
|
213
211
|
.compactMap { $0 } // 解析出需要的类型
|
214
212
|
.observeOn(MainScheduler.instance)
|
215
213
|
.catchErrorJustReturn([])
|
216
214
|
}
|
217
215
|
}
|
218
|
-
|
219
|
-
public extension app_api.api.v1_0.complaintsComments.protocol.getProtocols {}
|
220
216
|
"""
|
221
217
|
|
222
218
|
ModelReqGenerateConfig.new(
|
@@ -249,47 +245,47 @@ public extension app_api.api.v1_0.complaintsComments.protocol.getProtocols {}
|
|
249
245
|
swift_model = ''
|
250
246
|
case json_data
|
251
247
|
when String
|
252
|
-
return "var #{name}: [String] = []\n"
|
248
|
+
return "public var #{name}: [String] = []\n"
|
253
249
|
when Float
|
254
|
-
return "var #{name}: [Float] = []\n"
|
250
|
+
return "public var #{name}: [Float] = []\n"
|
255
251
|
when Integer
|
256
|
-
return "var #{name}: [Int] = []\n"
|
252
|
+
return "public var #{name}: [Int] = []\n"
|
257
253
|
when Array
|
258
254
|
return ''
|
259
255
|
when Hash
|
260
|
-
swift_model += "struct #{name}: HandyJSON {\n"
|
256
|
+
swift_model += "public struct #{name}: HandyJSON {\n"
|
261
257
|
# generate_model(name, json_data)
|
262
258
|
json_data.each do |key, value|
|
263
259
|
case value
|
264
260
|
when NilClass # nil 对象默认给个Stirng?类型
|
265
|
-
swift_model += " var #{key}: String?\n"
|
261
|
+
swift_model += " public var #{key}: String?\n"
|
266
262
|
when FalseClass
|
267
|
-
swift_model += " var #{key}: Bool = false\n"
|
263
|
+
swift_model += " public var #{key}: Bool = false\n"
|
268
264
|
when TrueClass
|
269
|
-
swift_model += " var #{key}: Bool = false\n"
|
265
|
+
swift_model += " public var #{key}: Bool = false\n"
|
270
266
|
when Float
|
271
|
-
swift_model += " var #{key}: Float = 0.0\n"
|
267
|
+
swift_model += " public var #{key}: Float = 0.0\n"
|
272
268
|
when Integer
|
273
|
-
swift_model += " var #{key}: Int = 0\n"
|
269
|
+
swift_model += " public var #{key}: Int = 0\n"
|
274
270
|
when String
|
275
|
-
swift_model += " var #{key}: String?\n"
|
271
|
+
swift_model += " public var #{key}: String?\n"
|
276
272
|
when Array
|
277
273
|
if value.count > 0
|
278
274
|
if value.all? { |element| element.is_a?(Hash) }
|
279
275
|
merged_hash = value.inject(:merge)
|
280
|
-
swift_model += "var #{key}: [#{capitalize_first_letter(key)}Model]?\n"
|
276
|
+
swift_model += "public var #{key}: [#{capitalize_first_letter(key)}Model]?\n"
|
281
277
|
swift_model += generate_model("#{capitalize_first_letter(key)}Model", merged_hash)
|
282
278
|
else
|
283
279
|
swift_model += generate_model(key, value[0])
|
284
280
|
end
|
285
281
|
else
|
286
|
-
swift_model += "var #{key}: [Any]?\n"
|
282
|
+
swift_model += "public var #{key}: [Any]?\n"
|
287
283
|
end
|
288
284
|
when Hash
|
289
|
-
swift_model += "var #{key}: #{capitalize_first_letter(key)}Model?\n"
|
285
|
+
swift_model += "public var #{key}: #{capitalize_first_letter(key)}Model?\n"
|
290
286
|
swift_model += generate_model("#{capitalize_first_letter(key)}Model", value)
|
291
287
|
else
|
292
|
-
swift_model += "var #{key}: #{value.class}?\n"
|
288
|
+
swift_model += "public var #{key}: #{value.class}?\n"
|
293
289
|
end
|
294
290
|
end
|
295
291
|
swift_model + "public init() {}\n}\n"
|
data/lib/gwtools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gwtools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chenglq
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Write a longer description or delete this line.
|
14
14
|
email:
|