Skip to content

Commit 244fba5

Browse files
2 parents 15e3590 + c4b2afd commit 244fba5

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

README.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ This open source library provides an IndexedDb wrapper for C# and Blazor WebAsse
55
**Nuget Package Link**: https://www.nuget.org/packages/Magic.IndexedDb
66

77
## Future Planned Features
8+
9+
#### TO DO:
10+
- [ ] C#/Blazor side controlled database migrations.
11+
- [ ] Deferred execution of table joins. I want c# join abilities to properly join tables together. This will likely be an emulated strategy in C# due to IndexDB being a non relational database without true capabilities to achieve this.
812
- [ ] Reset Primary Key starting Id
913
- [ ] Compound Key Indexing
14+
- [ ] `Select(x => x.Name)` based query statements. Utilizing Cursors to emulate effecient LINQ based Select statements to grab only desired columns.
15+
16+
#### Completed:
1017
- [X] Allow Any and/or All Linq statements inside the WHERE query
1118
- [X] Handling of Nested OR conditions in where query
1219
- [X] API like response protocal from JS. This will allow better debugging and make it easier to expand the code. I left the original weak reference system build by nwestfall, but I will be removing that code for a system I believe is easier to tame and more appropriate for the project goals.
13-
- [ ] Superior & easy version handling and table altering. Current form handles changes easily but it'd take some work to do serious data migrations. I want data migrations to be built in c#, translated to clients, and automatically handled with extreme ease. I have some really interesting protocals I've brainstormed and would like to experiment with.
14-
- [ ] Deferred execution of table joins. I want c# join abilities to properly join tables together.
15-
- [X] **Completely custom serializer implmented. This isn't just system reflections, this is as fast as you get.** ~~Superior reflections. The current version of reflections is fine, but I've not spent much time optimizing. I need to convert more into hash sets, dictionaries, and more. This wrapper is meant to be a very expandable version that will engulf indexedDb with a great deal of capabilities. Fine tuning and perfecting the protocal I'm working on will allow some very cool features in the future.~~
20+
- [X] **Completely custom serializer implmented. This isn't just system reflections, this is as fast as you get.**
1621
- [X] **Long Term** - NET 8 provides AOT features that I think could be extremely abusive in a good way for this project. I believe with future NET 8 possibilites and AOT, I can move IndexedDB into being a multi thread monster and various other performance improvements. Obviously I'd make this optional. But I believe there's some very interesting possibilities I'd like to experiment with in the future.
1722

1823
## Table of Contents
@@ -133,9 +138,10 @@ This documentation explains the various query capabilities available in the `Whe
133138
| `OrderByDescending(Expression<Func<T, object>> predicate)` | Orders the query result by the specified predicate in descending order. |
134139
| `Count()` | Get the number of items in the collection. |
135140
| `ToListAsync()` | Executes the MagicQuery and returns the results as `List<T>`. |
141+
| `AsAsyncEnumerable()` | Executes the `MagicQuery` and returns results as `IAsyncEnumerable<T>`. |
136142
| `{NOT YET SUPPORTED} AsEnumerable()` | (**FUTURE FEATURE**) Executes the MagicQuery and returns the results as `IEnumerable<T>`. |
137143
| `{NOT YET SUPPORTED} ToList()` | (**FUTURE FEATURE**) Executes the MagicQuery and returns the results as `List<T>`. |
138-
| `AsEnumerableAsync()` | Executes the MagicQuery and returns the results as `IEnumerable<T>`. |
144+
139145

140146

141147
These MagicQuery methods allow you to build complex queries similar to standard LINQ in C#. Remember to call the `ToListAsync` or the `AsEnumerableAsync` method at the end of your MagicQuery to execute the query and retrieve the full results.

0 commit comments

Comments
 (0)