Giter Club home page Giter Club logo

barrel's People

Contributors

albinekcom avatar tarunon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

barrel's Issues

groupBy closures are not works

These methods are not works
Aggregate::groupBy(keyPath: (T) -> U) -> Group
Group::groupBy(keyPath: (T) -> U) -> Group

Separate repositories.

I'll make organization of Barrel (or rename?).
And separate CoreData and Realm support library.

Swift 3.1 support

Cannot use this workaround no longer.
Needs to update every types.

protocol A { associatedtype B }
class C: A { typealias B = C }
extension A where Self: C { typealias B = Self }

Attributes cannot evaluate super class property

For example, a Person class has property name, age.
And a Staff class extends Person, and use Staff type in attribute.
e.g.)

context.fetch(Staff).filter{ $0.age > 20 }.execute()

This code crash in execute() state, caused filter() parameter.

Unsupported evaluation many relationships in closure.

Think the Person model.

class Person: NSManagedObject {
    @NSManaged var name: String
    @NSManaged var age: NSNumber
    @NSManaged var parent: Person
    @NSManaged var children: Set<Person>
}

In this case, you can evaluate value in closure type name, age, or parent.
If you evaluate children value in closure, unfortunately, Barrel will be crashed.
This issues caused PropertyAttributeCoder protocol supported only String type.

Attributes cannot evaluate optional property

e.g.)

class Note: NSManagedObject {
    @NSManaged public var title: String
    @NSManaged public var created: NSDate
    @NSManaged public var content: String?
}

In this case, Barrel crash when evaluate content in closure.

context.fetch(Note).filter{ $0.content == nil }.execute()

Because created is Optional property.
Type of created be hound Optional, And in Expression.init or SortDescriptor.init argument type is also Optional...
It is necessary to unwrap Optional in Expression.init() and SortDescriptor.init().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.