Skip to content

Commit

Permalink
Update description
Browse files Browse the repository at this point in the history
  • Loading branch information
surol committed Aug 29, 2023
1 parent 0b1a14b commit 5a5b884
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
31 changes: 27 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
# Charged URI and URI Charge
# ChURI

ChURI is a polyglot serializer, deserializer and validator supporting various data formats.

The data processing is based on data schemas. Schemas are written in TypeScript. ChURI compiles such schemas into
efficient code implementing serializers, deserializers, and validators for the data conforming to those schemas.

The main data format supported is URI Charge Notation, which is used to encode data included into URI. Such URI
is called Charged URI, or ChURI.

Other data formats supported out of the box:

- JSON
- `application/x-www-form-urlencoded` (URI query parameters)
- URL-encoded
- plain text

Some formats support _insets_ containing data in another formats. For example, the `application/x-www-form-urlencoded`
format allows query parameter values to be encoded as URL-encoded ones, as plain text, or as URI Charge. The choice
is made by data schema.

[![NPM][npm-image]][npm-url]
[![Build Status][build-status-img]][build-status-link]
Expand All @@ -7,6 +26,8 @@
[![GitHub Project][github-image]][github-url]
[![API Documentation][api-docs-image]][api documentation]

## Charged URI and URI Charge

Charged URI (ChURI) may include arbitrary structured data. The data is encoded with [URI Charge] Notation.

It is like JSON for GET requests, but may include even more:
Expand Down Expand Up @@ -40,9 +61,11 @@ This package provides:

- [ChURI] class, which is a read-only [URL class] that grants access to charges.
- URI [charging] utilities.
- URI Charge Notation support:
- [Schema]-based parser, serializer, and validator.
- Schema-less parser and serializer.
- [Schema]-based parser, serializer, and validator.
- URI Charge Notation support
- JSON support.
- `application/x-www-form-urlencoded` format support.
- Other formats support, such as plain text and URI-encoded values.

[ChURI]: https://github.com/UCNot/churi/blob/master/doc/churi.md
[charging]: https://github.com/UCNot/churi/blob/master/doc/churi.md#charging
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"name": "churi",
"version": "0.15.0-pre.0",
"description": "Charged URI syntax, URI Charge Notation, schema processor",
"description": "Multi-format schema-based serializer, deserializer and validator. Charged URI syntax. URI Charge Notation",
"keywords": [
"charged-uri",
"json-parser",
"json-serializer",
"matrix-uri",
"matrix-url",
"rfc3986",
"schema",
"uri",
Expand Down

0 comments on commit 5a5b884

Please sign in to comment.