Linql is a next generation graph api library. It's primary goal is to provide language-native graph api integration to achieve consistency and scale across the web.
Linql is currently in alpha. Support for C# and Typescript may be production ready and significantly improve your web development experience.
If Linql resonates with you, please consider supporting the project, as the entire stack is maintained by a single developer
.
0x50373B51Cb601827CcC1Dc5472251031d2fdBF89
You can also sponsor me on my profile or by using the sponsorship button in this repo if you wish to receive individualized support
, prioritize features
, or advertise your support for Linql
.
Because Linql is language-native, it is small, light-weight, and robust.
Using Linql allows you to interact with your api with compile-time safety and full typeahead support, significantly reducing developer time in comparison to other systems.
List<string> codesICareAbout = new List<string>() { "al", "ma" };
List<State> statesICareAbout = await states
.Where(r => codesICareAbout.Select(t => t.ToUpper()).Contains(r.State_Code))
.ToListAsync();
this.CodesICareAbout = ["al", "ma"];
...
const statesICareAbout: Array<State> = search
.Where(r => this.CodesICareAbout.Select(t => t.ToUpper()).Contains(r.State_Code!))
.ToListAsync();
statesICareAbout = ["al", "ma"]
search.Where(lambda r: any(lambda x: r.State_Code in x, map(lambda t: t.upper(), statesICareAbout))).ToListAsync()
List<String> codesICareAbout = Arrays.asList("al", "ma");
List<State> statesICareAbout = states
.stream()
.filter(r => codesICareAbout.stream().map(t => t.toUpperCase()).collect(Collectors.toList()).contains(r))
.collect(Collectors.toList());
Language | Environment | Client | Server | Notes |
---|---|---|---|---|
C# | Full Alpha | Full Alpha | ||
Javascript | Uses Linq emulator | |||
- | Node | Full Beta | Not Started | linql.client-fetch also available for native fetch support |
- | Angular | Full Beta | n/a | Has native framework wrapper |
- | React | Full Beta | n/a | Needs native framework wr apper |
- | Vanilla | Full Beta | n/a | |
Python | Partial Alpha | In Progress | ||
Java | Not Started | Not Started |
Linql is very powerful if there is automatic model generation for your consumers to use. This can be accomplished with the Linql.ModelGenerator.
Big thanks to:
- Jeff Bender for his unwavering support and mentorship
- Manjot Chahal for scoping out acorn
- Sushmita Chaudhari for scoping out System.Text.Json in it's prerelease