All Projects → rupurt → juice

rupurt / juice

Licence: MIT license
Reduce in memory data structures using a lightweight query language

Programming Languages

elixir
2628 projects

Labels

Projects that are alternatives of or similar to juice

Laravel Api Handler
Package providing helper functions for a Laravel REST-API
Stars: ✭ 150 (+525%)
Mutual labels:  query
Search widget
Flutter package: Search Widget for selecting an option from a data list.
Stars: ✭ 188 (+683.33%)
Mutual labels:  query
Aresdb
A GPU-powered real-time analytics storage and query engine.
Stars: ✭ 2,814 (+11625%)
Mutual labels:  query
Fselect
Find files with SQL-like queries
Stars: ✭ 3,103 (+12829.17%)
Mutual labels:  query
Minestat
📈 A Minecraft server status checker
Stars: ✭ 168 (+600%)
Mutual labels:  query
Octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Stars: ✭ 2,579 (+10645.83%)
Mutual labels:  query
Laravel Db Profiler
Database Profiler for Laravel Web and Console Applications.
Stars: ✭ 141 (+487.5%)
Mutual labels:  query
kubectl-sql
kubectl-sql is a kubectl plugin that use SQL like language to query the Kubernetes cluster manager
Stars: ✭ 50 (+108.33%)
Mutual labels:  query
Rrda
REST API allowing to perform DNS queries over HTTP
Stars: ✭ 176 (+633.33%)
Mutual labels:  query
Sqliterally
Lightweight SQL query builder
Stars: ✭ 231 (+862.5%)
Mutual labels:  query
Sqldb Logger
A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.
Stars: ✭ 160 (+566.67%)
Mutual labels:  query
Query Exporter
Export Prometheus metrics from SQL queries
Stars: ✭ 166 (+591.67%)
Mutual labels:  query
Bigbash
A converter that generates a bash one-liner from an SQL Select query (no DB necessary)
Stars: ✭ 230 (+858.33%)
Mutual labels:  query
Whois
Go(Golang) module for domain and ip whois information query.
Stars: ✭ 153 (+537.5%)
Mutual labels:  query
wikit
Wikit - A universal lookup tool
Stars: ✭ 149 (+520.83%)
Mutual labels:  query
Use Http
🐶 React hook for making isomorphic http requests
Stars: ✭ 2,066 (+8508.33%)
Mutual labels:  query
Awesome Prometheus Alerts
🚨 Collection of Prometheus alerting rules
Stars: ✭ 3,323 (+13745.83%)
Mutual labels:  query
fetchye
✨ If you know how to use Fetch, you know how to use Fetchye [fetch-yae]. Simple React Hooks, Centralized Cache, Infinitely Extensible.
Stars: ✭ 36 (+50%)
Mutual labels:  query
strapi-graphql-documentation
Collections of queries and mutations that hopefully help you in a Strapi project powered by GraphQL API 🚀
Stars: ✭ 45 (+87.5%)
Mutual labels:  query
Termsql
Convert text from a file or from stdin into SQL table and query it instantly. Uses sqlite as backend. The idea is to make SQL into a tool on the command line or in scripts.
Stars: ✭ 230 (+858.33%)
Mutual labels:  query

Juice

Build Status hex.pm version

Reduce in memory data structures using a lightweight query language

Installation

Add juice to your list of dependencies in mix.exs

def deps do
  [{:juice, "~> 0.0.3"}]
end

Usage

Juice can collect and reject string or atom keys from an Elixir Map or List.

Given the map

iex> fruit_basket = %{
	apples: {
		granny_smith: 10,
		golden_delicious: 3
	},
	"oranges" => 5,
	plums: 6,
	"mangos" => 2,
	recipients: [:steph, "michael", :lebron, "charles"]
}

Return everything with a wildcard *

iex> Juice.squeeze(fruit_basket, "*") == %{
	apples: {
		granny_smith: 10,
		golden_delicious: 3
	},
	"oranges" => 5,
	plums: 6,
	"mangos" => 2,
	recipients: [:steph, "michael", :lebron, "charles"]
}

Remove plums and mangos

iex> Juice.squeeze(fruit_basket, "* -plums -mangos") == %{
	apples: {
		granny_smith: 10,
		golden_delicious: 3
	},
	"oranges" => 5,
	recipients: [:steph, "michael", :lebron, "charles"]
}

Only collect granny_smith apples and oranges with nested . notation

iex> Juice.squeeze(fruit_basket, "apples.granny_smith oranges") == %{
	apples: {
		granny_smith: 10,
	},
	"oranges" => 5
}

Collect plums and mangos for charles

iex> Juice.squeeze(fruit_basket, "plums mangos recipients.charles") == %{
	plums: 6,
	"mangos" => 2,
	recipients: ["charles"]
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].