Skip to main content

A tool that looks to convert structs to class entities in swift

Project description

Creache

A poorly named tool

Purpose

The goal of this tool is to convert Swift struct types into class types that can be used with Realm Swift.

Convert files formatted like this:

struct User {
    var name: String!
    var age: Int
    var isHappy: Bool

    enum CodingKeys: String, CodingKey {
        case name, age
        case isHappy = "is_happy"
    }

    init(from decoder: Decoder) throws {
        let container = try container.decode(keyedBy: CodingKeys.self)

        name = try container.decode(String.self, forKey: .name)
        age = try container.decode(Int.self, forKey: .age)
        isHappy = try container.decode(Bool.self, forKey: .isHappy)
    }
}

to this

class User_Entity {
    @dynamic var name: String! = ''
    @dynamic var age: Int! = 0
    @dynamic var isHappy: Bool! = false
}

Features

  • Automatically rename struct to class and append `Entity to the new type
  • Automatically generate a new entity file in the directy in which this script is called
  • Automatically strip everything away thaat isn't a variable declaration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

creache-1.2000000000000002.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file creache-1.2000000000000002.tar.gz.

File metadata

  • Download URL: creache-1.2000000000000002.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for creache-1.2000000000000002.tar.gz
Algorithm Hash digest
SHA256 87b6413ccebb094491616eeb80391fefde3671613ba11188ad33fc91687ab456
MD5 ea42994264c0ad963bc7d5bb8ec7c1e2
BLAKE2b-256 b6061b34c67ac96a17a636e832405c029087ba51b5a07675a8eec1f726ea16ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page