{"id":19197539,"url":"https://github.com/rikulo/el","last_synced_at":"2025-05-09T00:39:05.117Z","repository":{"id":4528020,"uuid":"5668128","full_name":"rikulo/el","owner":"rikulo","description":"Rikulo EL (Expression Language) is an implementation of the Unified Expression Language specification plus some enhancements for and in Dart.","archived":false,"fork":false,"pushed_at":"2014-02-19T05:46:53.000Z","size":623,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-09T00:38:57.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rikulo.org","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rikulo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-04T05:56:25.000Z","updated_at":"2023-11-27T21:50:01.000Z","dependencies_parsed_at":"2022-08-31T16:41:11.945Z","dependency_job_id":null,"html_url":"https://github.com/rikulo/el","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikulo%2Fel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rikulo","download_url":"https://codeload.github.com/rikulo/el/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253171210,"owners_count":21865280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T12:17:13.710Z","updated_at":"2025-05-09T00:39:05.093Z","avatar_url":"https://github.com/rikulo.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Rikulo EL\n\n[Rikulo EL](http://rikulo.org) is an implementation of the [Unified Expression\n Language](http://en.wikipedia.org/wiki/Unified_Expression_Language) \n specification plus enhancements for and in Dart. \n\n* [Home](http://rikulo.org)\n* [Tutorial](http://blog.rikulo.org/posts/2012/Sep/tutorial/rikulo-el-an-expression-language-for-and-in-dart/)\n* [API Reference](http://api.rikulo.org/el/latest/)\n* [Discussion](http://stackoverflow.com/questions/tagged/rikulo)\n* [Issues](https://github.com/rikulo/el/issues)\n\nRikulo EL is distributed under the Apache 2.0 License.\n\n[![Build Status](https://drone.io/github.com/rikulo/el/status.png)](https://drone.io/github.com/rikulo/el/latest)\n\n##Install from Dart Pub Repository\n\nAdd this to your `pubspec.yaml` (or create it):\n\n    dependencies:\n      rikulo_el:\n\nThen run the [Pub Package Manager](http://pub.dartlang.org/doc) (comes with the Dart SDK):\n\n    pub install\n\n##Install from Github for Bleeding Edge Stuff\n\nTo install stuff that is still in development, add this to your `pubspec.yam`:\n\n    dependencies:\n      rikulo_el:\n        git: git://github.com/rikulo/el.git\n\nFor more information, please refer to [Pub: Dependencies](http://pub.dartlang.org/doc/pubspec.html#dependencies).\n\n##Usage\n\nUsing Rikulo EL is straightforward.\n\n    import 'dart:mirrors' show reflect;\n    import 'package:rikulo_el/el.dart';\n    \n    class Person {\n      String name;\n      Person(this.name);\n    }\n\n    void main() {\n      //Prepare an expression factory.\n      ExpressionFactory ef = new ExpressionFactory();\n    \n      //Prepare the expression script\n      //expression inside #{...} is to be evaluated\n      String script = 'Hello, #{person.name}!'; \n    \n      //Prepare an expression context.\n      ELContext ctx = new ELContext();\n      ctx.variableMapper.setVariable('person',\n          ef.createVariable(new Person('Rikulo')));\n      \n      //Parse the script and create a value expression which expect a String type\n      ValueExpression ve = ef.createValueExpression(ctx, script, reflect('').type);\n      \n      //Evaluate the expression and return the evaluated result\n      print(ve.getValue(ctx)); //'Hello, Rikulo!'\n    }\n\nFor more examples, please refer to [here](https://github.com/rikulo/el/blob/master/test/ValueExpressionImpl_test.dart), [here](https://github.com/rikulo/el/blob/master/test/MethodExpressionImpl_test.dart) and [here](https://github.com/rikulo/el/blob/master/test/ELEval_test.dart).\n\n##Notes to Contributors\n\n###Test and Debug\n\nYou are welcome to submit [bugs and feature requests](https://github.com/rikulo/el/issues). Or even better if you can fix or implement them!\n\n###Create Addons\n\nRikulo is easy to extend. The simplest way to enhance Rikulo is to [create a new repository](https://help.github.com/articles/create-a-repo) and add your own great widgets and libraries to it.\n\n###Fork Rikulo\n\nIf you'd like to contribute back to the core, you can [fork this repository](https://help.github.com/articles/fork-a-repo) and send us a pull request, when it is ready.\n\nPlease be aware that one of Rikulo's design goals is to keep the sphere of API as neat and consistency as possible. Strong enhancement always demands greater consensus.\n\nIf you are new to Git or GitHub, please read [this guide](https://help.github.com/) first.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikulo%2Fel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frikulo%2Fel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikulo%2Fel/lists"}