Comments (2)
- A model can have no special fields, but have a polymorphic model point to it.
- A model can be polymorphic and contain a discriminator and another model's keys.
- A polymorphic model is typically tightly related to it's parent, so when it's parent is removed it should be removed by default.
from rekord.
Discriminated relationships will work by injecting discriminator functions into a relation - this will avoid this logic everywhere:
if ( this.discriminated ) {
// do something
} else {
// do somethine else
}
The following functions need to be created in NeuroRelation to make this possible:
-
parseModel(input, remoteData)
-
createCollection()
-
listenToModelAdded(callback)
-
grabModel(initial, callback, remoteData)
-
grabModels(initials, callback, remoteData)
The existing functions need to be modified for discriminated:
-
isRelatedFactory(model)
A few more things:
- Move
hasFields
out of NeuroDatabase
from rekord.
Related Issues (20)
- Add Rekord.unload
- Traits should merge objects with the original objects instead of just methods
- Add hasTrait to ModelClass, & model instances
- Add index information to Collection add & remove
- Add staticMethods option HOT 1
- Expose All Classes
- Failed Parent Save, Dependent Save Try Again Infinite Loop
- Search Cancelled, Still Got Results
- When data is refreshed, the decoded values are marked as "Changes".
- Allow user to specify custom "has changed" logic for a property
- Add plugin for searching only once and returning collection.
- Polymorphic HasMany should look at related model for discriminator.
- Allow relationships to refer to models that have not yet been defined.
- When database loading happens AFTER models are instantiated from relationships, those existing models should be updated instead of overwritten. HOT 1
- Add decoding/encoding registries & parsers.
- Relationship loaded from remote data, but calls checkSave on hasMany HOT 2
- Polymorphic field parsing order should not matter
- Polymorphic hasRelation/hasRelations
- How to get in touch regarding a security concern HOT 1
- is Rekord available for server-side nodejs?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rekord.