forked from SwiftGen/SwiftGen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
defaults.swift
455 lines (364 loc) · 16.2 KB
/
defaults.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
// swiftlint:disable all
// Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen
// swiftlint:disable superfluous_disable_command implicit_return
// swiftlint:disable sorted_imports
import CoreData
import Foundation
// swiftlint:disable attributes file_length vertical_whitespace_closing_braces
// swiftlint:disable identifier_name line_length type_body_length
// MARK: - AbstractEntity
internal class AbstractEntity: NSManagedObject {
internal class var entityName: String {
return "AbstractEntity"
}
internal class func entity(in managedObjectContext: NSManagedObjectContext) -> NSEntityDescription? {
return NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
}
@available(*, deprecated, renamed: "makeFetchRequest", message: "To avoid collisions with the less concrete method in `NSManagedObject`, please use `makeFetchRequest()` instead.")
@nonobjc internal class func fetchRequest() -> NSFetchRequest<AbstractEntity> {
return NSFetchRequest<AbstractEntity>(entityName: entityName)
}
@nonobjc internal class func makeFetchRequest() -> NSFetchRequest<AbstractEntity> {
return NSFetchRequest<AbstractEntity>(entityName: entityName)
}
// swiftlint:disable discouraged_optional_boolean discouraged_optional_collection implicit_getter
// swiftlint:enable discouraged_optional_boolean discouraged_optional_collection implicit_getter
}
// MARK: - AutoClassGen
// Note: 'AutoClassGen' has codegen enabled for Xcode, skipping code generation.
// MARK: - AutoExtensionGen
// Note: 'AutoExtensionGen' has codegen enabled for Xcode, skipping code generation.
// MARK: - ChildEntity
internal final class ChildEntity: CustomMainEntity {
override internal class var entityName: String {
return "ChildEntity"
}
override internal class func entity(in managedObjectContext: NSManagedObjectContext) -> NSEntityDescription? {
return NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
}
@available(*, deprecated, renamed: "makeFetchRequest", message: "To avoid collisions with the less concrete method in `NSManagedObject`, please use `makeFetchRequest()` instead.")
@nonobjc internal class func fetchRequest() -> NSFetchRequest<ChildEntity> {
return NSFetchRequest<ChildEntity>(entityName: entityName)
}
@nonobjc internal class func makeFetchRequest() -> NSFetchRequest<ChildEntity> {
return NSFetchRequest<ChildEntity>(entityName: entityName)
}
// swiftlint:disable discouraged_optional_boolean discouraged_optional_collection implicit_getter
internal var canonicalOptionalString: String? {
let key = "canonicalOptionalString"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? String
}
internal var derivedCount: Int64? {
get {
let key = "derivedCount"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? Int64
}
}
internal var now: Double {
let key = "now"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
guard let value = primitiveValue(forKey: key) as? Double else {
fatalError("Could not convert value for key '\(key)' to type 'Double'")
}
return value
}
// swiftlint:enable discouraged_optional_boolean discouraged_optional_collection implicit_getter
}
// MARK: - ImpossibleType
// Warning: 'We.Cannot.Handle.ImpossibleType' cannot be a valid type name, skipping code generation.
// MARK: - MainEntity
internal class CustomMainEntity: NSManagedObject {
internal class var entityName: String {
return "MainEntity"
}
internal class func entity(in managedObjectContext: NSManagedObjectContext) -> NSEntityDescription? {
return NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
}
@available(*, deprecated, renamed: "makeFetchRequest", message: "To avoid collisions with the less concrete method in `NSManagedObject`, please use `makeFetchRequest()` instead.")
@nonobjc internal class func fetchRequest() -> NSFetchRequest<CustomMainEntity> {
return NSFetchRequest<CustomMainEntity>(entityName: entityName)
}
@nonobjc internal class func makeFetchRequest() -> NSFetchRequest<CustomMainEntity> {
return NSFetchRequest<CustomMainEntity>(entityName: entityName)
}
// swiftlint:disable discouraged_optional_boolean discouraged_optional_collection implicit_getter
@NSManaged internal var attributedString: NSAttributedString?
@NSManaged internal var binaryData: Data?
@NSManaged internal var boolean: Bool
@NSManaged internal var date: Date?
@NSManaged internal var decimal: NSDecimalNumber?
@NSManaged internal var double: Double
@NSManaged internal var float: Float
@NSManaged internal var int16: Int16
@NSManaged internal var int32: Int32
@NSManaged internal var int64: Int64
internal var integerEnum: IntegerEnum {
get {
let key = "integerEnum"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
guard let value = primitiveValue(forKey: key) as? IntegerEnum.RawValue else {
fatalError("Could not convert value for key '\(key)' to type 'IntegerEnum.RawValue'")
}
guard let result = IntegerEnum(rawValue: value) else {
fatalError("Could not convert value for key '\(key)' to type 'IntegerEnum'")
}
return result
}
set {
let key = "integerEnum"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue.rawValue, forKey: key)
}
}
internal var integerOptionSet: IntegerOptionSet {
get {
let key = "integerOptionSet"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
guard let value = primitiveValue(forKey: key) as? IntegerOptionSet.RawValue else {
fatalError("Could not convert value for key '\(key)' to type 'IntegerOptionSet.RawValue'")
}
return IntegerOptionSet(rawValue: value)
}
set {
let key = "integerOptionSet"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue.rawValue, forKey: key)
}
}
internal var optionalBoolean: Bool? {
get {
let key = "optionalBoolean"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? Bool
}
set {
let key = "optionalBoolean"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue, forKey: key)
}
}
internal var optionalDouble: Double? {
get {
let key = "optionalDouble"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? Double
}
set {
let key = "optionalDouble"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue, forKey: key)
}
}
@NSManaged internal var optionalFloat: Float
internal var optionalInt16: Int16? {
get {
let key = "optionalInt16"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? Int16
}
set {
let key = "optionalInt16"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue, forKey: key)
}
}
@NSManaged internal var optionalInt32: Int32
internal var optionalInt64: Int64? {
get {
let key = "optionalInt64"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
return primitiveValue(forKey: key) as? Int64
}
set {
let key = "optionalInt64"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue, forKey: key)
}
}
@NSManaged internal var optionalString: String?
@NSManaged internal var string: String
internal var stringEnum: StringEnum? {
get {
let key = "stringEnum"
willAccessValue(forKey: key)
defer { didAccessValue(forKey: key) }
guard let value = primitiveValue(forKey: key) as? StringEnum.RawValue else {
return nil
}
return StringEnum(rawValue: value)
}
set {
let key = "stringEnum"
willChangeValue(forKey: key)
defer { didChangeValue(forKey: key) }
setPrimitiveValue(newValue?.rawValue, forKey: key)
}
}
@NSManaged internal var transformable: AnyObject?
@NSManaged internal var transformableCustomArray: CustomArray?
@NSManaged internal var transformableCustomPolyline: CustomPolyline?
@NSManaged internal var transient: String?
@NSManaged internal var uri: URL?
@NSManaged internal var uuid: UUID?
@NSManaged internal var manyToMany: Set<SecondaryEntity>?
@NSManaged internal var oneToMany: NSOrderedSet?
@NSManaged internal var oneToOne: SecondaryEntity?
@NSManaged internal var fetchedProperty: [CheckedNewEntity]
// swiftlint:enable discouraged_optional_boolean discouraged_optional_collection implicit_getter
}
// MARK: Relationship ManyToMany
extension CustomMainEntity {
@objc(addManyToManyObject:)
@NSManaged public func addToManyToMany(_ value: SecondaryEntity)
@objc(removeManyToManyObject:)
@NSManaged public func removeFromManyToMany(_ value: SecondaryEntity)
@objc(addManyToMany:)
@NSManaged public func addToManyToMany(_ values: Set<SecondaryEntity>)
@objc(removeManyToMany:)
@NSManaged public func removeFromManyToMany(_ values: Set<SecondaryEntity>)
}
// MARK: Relationship OneToMany
extension CustomMainEntity {
@objc(insertObject:inOneToManyAtIndex:)
@NSManaged public func insertIntoOneToMany(_ value: SecondaryEntity, at idx: Int)
@objc(removeObjectFromOneToManyAtIndex:)
@NSManaged public func removeFromOneToMany(at idx: Int)
@objc(insertOneToMany:atIndexes:)
@NSManaged public func insertIntoOneToMany(_ values: [SecondaryEntity], at indexes: NSIndexSet)
@objc(removeOneToManyAtIndexes:)
@NSManaged public func removeFromOneToMany(at indexes: NSIndexSet)
@objc(replaceObjectInOneToManyAtIndex:withObject:)
@NSManaged public func replaceOneToMany(at idx: Int, with value: SecondaryEntity)
@objc(replaceOneToManyAtIndexes:withOneToMany:)
@NSManaged public func replaceOneToMany(at indexes: NSIndexSet, with values: [SecondaryEntity])
@objc(addOneToManyObject:)
@NSManaged public func addToOneToMany(_ value: SecondaryEntity)
@objc(removeOneToManyObject:)
@NSManaged public func removeFromOneToMany(_ value: SecondaryEntity)
@objc(addOneToMany:)
@NSManaged public func addToOneToMany(_ values: NSOrderedSet)
@objc(removeOneToMany:)
@NSManaged public func removeFromOneToMany(_ values: NSOrderedSet)
}
// MARK: Fetch Requests
extension CustomMainEntity {
class func fetchDictionaryFetchRequest(managedObjectContext: NSManagedObjectContext) throws -> [[String: Any]] {
guard let persistentStoreCoordinator = managedObjectContext.persistentStoreCoordinator else {
fatalError("Managed object context has no persistent store coordinator for getting fetch request templates")
}
let model = persistentStoreCoordinator.managedObjectModel
let substitutionVariables: [String: Any] = [
:
]
guard let fetchRequest = model.fetchRequestFromTemplate(withName: "DictionaryFetchRequest", substitutionVariables: substitutionVariables) else {
fatalError("No fetch request template named 'DictionaryFetchRequest' found.")
}
guard let result = try managedObjectContext.fetch(fetchRequest) as? [[String: Any]] else {
fatalError("Unable to cast fetch result to correct result type.")
}
return result
}
class func fetchObjectFetchRequest(managedObjectContext: NSManagedObjectContext, uuid: UUID) throws -> [CustomMainEntity] {
guard let persistentStoreCoordinator = managedObjectContext.persistentStoreCoordinator else {
fatalError("Managed object context has no persistent store coordinator for getting fetch request templates")
}
let model = persistentStoreCoordinator.managedObjectModel
let substitutionVariables: [String: Any] = [
"UUID": uuid
]
guard let fetchRequest = model.fetchRequestFromTemplate(withName: "ObjectFetchRequest", substitutionVariables: substitutionVariables) else {
fatalError("No fetch request template named 'ObjectFetchRequest' found.")
}
guard let result = try managedObjectContext.fetch(fetchRequest) as? [CustomMainEntity] else {
fatalError("Unable to cast fetch result to correct result type.")
}
return result
}
class func fetchObjectIDFetchRequest(managedObjectContext: NSManagedObjectContext, name: String, needle: String) throws -> [NSManagedObjectID] {
guard let persistentStoreCoordinator = managedObjectContext.persistentStoreCoordinator else {
fatalError("Managed object context has no persistent store coordinator for getting fetch request templates")
}
let model = persistentStoreCoordinator.managedObjectModel
let substitutionVariables: [String: Any] = [
"NAME": name,
"NEEDLE": needle
]
guard let fetchRequest = model.fetchRequestFromTemplate(withName: "ObjectIDFetchRequest", substitutionVariables: substitutionVariables) else {
fatalError("No fetch request template named 'ObjectIDFetchRequest' found.")
}
guard let result = try managedObjectContext.fetch(fetchRequest) as? [NSManagedObjectID] else {
fatalError("Unable to cast fetch result to correct result type.")
}
return result
}
}
// MARK: - NewEntity
internal final class CheckedNewEntity: AbstractEntity {
override internal class var entityName: String {
return "NewEntity"
}
override internal class func entity(in managedObjectContext: NSManagedObjectContext) -> NSEntityDescription? {
return NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
}
@available(*, deprecated, renamed: "makeFetchRequest", message: "To avoid collisions with the less concrete method in `NSManagedObject`, please use `makeFetchRequest()` instead.")
@nonobjc internal class func fetchRequest() -> NSFetchRequest<CheckedNewEntity> {
return NSFetchRequest<CheckedNewEntity>(entityName: entityName)
}
@nonobjc internal class func makeFetchRequest() -> NSFetchRequest<CheckedNewEntity> {
return NSFetchRequest<CheckedNewEntity>(entityName: entityName)
}
// swiftlint:disable discouraged_optional_boolean discouraged_optional_collection implicit_getter
@NSManaged internal var identifier: UUID?
// swiftlint:enable discouraged_optional_boolean discouraged_optional_collection implicit_getter
}
// MARK: - SecondaryEntity
internal final class SecondaryEntity: NSManagedObject {
internal class var entityName: String {
return "SecondaryEntity"
}
internal class func entity(in managedObjectContext: NSManagedObjectContext) -> NSEntityDescription? {
return NSEntityDescription.entity(forEntityName: entityName, in: managedObjectContext)
}
@available(*, deprecated, renamed: "makeFetchRequest", message: "To avoid collisions with the less concrete method in `NSManagedObject`, please use `makeFetchRequest()` instead.")
@nonobjc internal class func fetchRequest() -> NSFetchRequest<SecondaryEntity> {
return NSFetchRequest<SecondaryEntity>(entityName: entityName)
}
@nonobjc internal class func makeFetchRequest() -> NSFetchRequest<SecondaryEntity> {
return NSFetchRequest<SecondaryEntity>(entityName: entityName)
}
// swiftlint:disable discouraged_optional_boolean discouraged_optional_collection implicit_getter
@NSManaged internal var name: String
@NSManaged internal var manyToMany: Set<CustomMainEntity>?
@NSManaged internal var oneToMany: CustomMainEntity?
@NSManaged internal var oneToOne: CustomMainEntity?
// swiftlint:enable discouraged_optional_boolean discouraged_optional_collection implicit_getter
}
// MARK: Relationship ManyToMany
extension SecondaryEntity {
@objc(addManyToManyObject:)
@NSManaged public func addToManyToMany(_ value: CustomMainEntity)
@objc(removeManyToManyObject:)
@NSManaged public func removeFromManyToMany(_ value: CustomMainEntity)
@objc(addManyToMany:)
@NSManaged public func addToManyToMany(_ values: Set<CustomMainEntity>)
@objc(removeManyToMany:)
@NSManaged public func removeFromManyToMany(_ values: Set<CustomMainEntity>)
}
// swiftlint:enable identifier_name line_length type_body_length