├── _includes ├── examples │ └── placeholder.isl ├── callout.html ├── footer.html ├── header.html ├── note.html ├── head.html ├── grammar-element.md ├── example.md └── grammar-2-0.txt ├── assets ├── favicon.ico ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── wasm_ion_schema_bg.wasm ├── wasm_ion_schema_bg.wasm.d.ts ├── main.scss ├── wasm_ion_schema.d.ts ├── ion-schema-widget.js └── wasm_ion_schema.js ├── NOTICE ├── .gitmodules ├── .gitignore ├── .github └── PULL_REQUEST_TEMPLATE.md ├── _sass ├── ionstyle.scss ├── _github-highlight.scss ├── _layout.scss ├── _callout.scss └── _base.scss ├── _data └── navigation.yml ├── CODE_OF_CONDUCT.md ├── news.md ├── _posts ├── 2018-10-29-ion-schema-spec-released.md ├── 2022-08-25-rfc-ion-schema-2_0-approved.md ├── 2022-05-28-ion-schema-rust-0_3_0-released.md ├── 2022-07-14-ion-schema-rust-0_4_0-released.md ├── 2021-11-29-ion-schema-kotlin-1_2_1-released.md ├── 2022-07-01-ion-schema-kotlin-1_3_0-released.md ├── 2018-11-05-ion-schema-kotlin-alpha-released.md ├── 2019-07-15-ion-schema-kotlin-1_0_0-released.md ├── 2022-09-12-web-schema-sandbox.md ├── 2020-07-14-ion-schema-kotlin-1_1-released.md ├── 2022-07-26-rfc-ion-schema-2_0-public-comment.md ├── 2022-09-13-ion-schema-rust-0_5_0-released.md ├── 2021-12-17-ion-schema-rust-0_1_0-released.md └── 2023-06-07-launch-invalid-transitive-import-tool.md ├── _layouts ├── default.html └── news_item.html ├── _config.yml ├── Gemfile ├── libs.md ├── docs ├── isl-2-0 │ └── bnf-grammar.md ├── index.md ├── cookbook │ ├── ion-schema-schemas.md │ ├── ignore-occurs-requirements.md │ ├── logical-relationships.md │ ├── sql-decimals.md │ └── ion-schema-rust-getting-started.md ├── isl-versioning.md ├── implementing.md └── process-for-changing-ion-schema.md ├── README.md ├── sandbox.md ├── index.md ├── CONTRIBUTING.md ├── Gemfile.lock ├── LICENSE └── rfcs └── ion_schema_2_0 ├── ion_schema_2_0.md └── language_versions.md /_includes/examples/placeholder.isl: -------------------------------------------------------------------------------- 1 | $ion_schema_2_0 2 | type::{ 3 | name: placeholder 4 | } -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/favicon.ico -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Amazon Ion Schema 2 | Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | -------------------------------------------------------------------------------- /assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/wasm_ion_schema_bg.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/wasm_ion_schema_bg.wasm -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "assets/ace-builds"] 2 | path = assets/ace-builds 3 | url = https://github.com/ajaxorg/ace-builds.git 4 | -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amazon-ion/ion-schema/HEAD/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### Jekyll 2 | _site/ 3 | .sass-cache/ 4 | .jekyll-cache/ 5 | .jekyll-metadata 6 | ### Intellij 7 | **/.idea/ 8 | ### MacOS 9 | **/.DS_Store 10 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | *Issue #, if available:* 2 | 3 | *Description of changes:* 4 | 5 | 6 | By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. 7 | -------------------------------------------------------------------------------- /_sass/ionstyle.scss: -------------------------------------------------------------------------------- 1 | // Import partials. 2 | // Based off of 'whiteglass' theme, but modified substantially. 3 | // https://github.com/yous/whiteglass/ 4 | @import 5 | "base", 6 | "layout", 7 | "github-highlight", 8 | "callout" 9 | ; 10 | -------------------------------------------------------------------------------- /_data/navigation.yml: -------------------------------------------------------------------------------- 1 | main: 2 | - title: "Home" 3 | url: / 4 | - title: "Sandbox" 5 | url: /sandbox 6 | - title: "News" 7 | url: /news 8 | - title: "Docs" 9 | url: /docs 10 | - title: "Libs" 11 | url: /libs 12 | -------------------------------------------------------------------------------- /_includes/callout.html: -------------------------------------------------------------------------------- 1 | 5 |
6 | 7 | {{include.content}} 8 | 9 |
-------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /news.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: News 3 | --- 4 | 5 | # {{ page.title }} 6 | 7 | {% for post in site.posts %} 8 |
9 | **{{ post.title }}**
10 | _{{post.date | date_to_long_string}}_
11 | {{post.excerpt}} 12 | Read more 13 | {% endfor %} 14 |
15 | -------------------------------------------------------------------------------- /_posts/2018-10-29-ion-schema-spec-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Specification 1.0 Released" 4 | date: 2018-10-29 5 | categories: news 6 | --- 7 | This new specification describes a language and set of constraints used to declaratively constrain Ion values. 8 | 9 | | [Ion Schema Specification]({{"/docs/spec.html" | relative_url}}) | 10 | 11 | -------------------------------------------------------------------------------- /_posts/2022-08-25-rfc-ion-schema-2_0-approved.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "RFC: Ion Schema 2.0 - Approved" 4 | date: 2022-08-25 5 | categories: news ion-schema 6 | --- 7 | 8 | [RFC: Ion Schema 2.0](../rfcs/ion_schema_2_0/ion_schema_2_0.md) as been approved. 9 | A new version of the Ion Schema Specification that incorporates these changes will be published in the coming weeks. 10 | -------------------------------------------------------------------------------- /_posts/2022-05-28-ion-schema-rust-0_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.3.0 Released" 4 | date: 2022-05-28 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.3.0 is now available. 9 | 10 | | [Release Notes v0.3.0](https://github.com/amzn/ion-schema-rust/releases/tag/v0.3.0) | [Ion Schema Rust](https://github.com/amzn/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-07-14-ion-schema-rust-0_4_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.4.0 Released" 4 | date: 2022-07-14 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.4.0 is now available. 9 | 10 | | [Release Notes v0.4.0](https://github.com/amzn/ion-schema-rust/releases/tag/v0.4.0) | [Ion Schema Rust](https://github.com/amzn/ion-schema-rust) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2021-11-29-ion-schema-kotlin-1_2_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.2.1 Released" 4 | date: 2021-11-29 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.2.1 is now available. 9 | 10 | | [Release Notes v1.2.1](https://github.com/amzn/ion-schema-kotlin/releases/tag/v1.2.1) | [Ion Schema Kotlin](https://github.com/amzn/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_posts/2022-07-01-ion-schema-kotlin-1_3_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.3.0 Released" 4 | date: 2022-07-01 5 | categories: news ion-schema-kotlin 6 | --- 7 | 8 | Ion Schema Kotlin 1.3.0 is now available. 9 | 10 | | [Release Notes v1.3.0](https://github.com/amzn/ion-schema-kotlin/releases/tag/v1.3.0) | [Ion Schema Kotlin](https://github.com/amzn/ion-schema-kotlin) | 11 | 12 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% include header.html %} 9 | 10 |
11 |
12 | {{ content }} 13 |
14 |
15 | 16 | {% include footer.html %} 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /_posts/2018-11-05-ion-schema-kotlin-alpha-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin (alpha) Open Sourced" 4 | date: 2018-11-05 5 | categories: news 6 | --- 7 | A reference implementation of Ion Schema is now available as open source software. It is written in Kotlin, and should be considered alpha software. 8 | 9 | | [Ion Schema Kotlin](https://github.com/amzn/ion-schema-kotlin) | 10 | 11 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | name: Ion Schema 2 | title: Amazon Ion Schema 3 | description: Amazon Ion Schema defines a grammar and constraints for narrowing the universe of Ion values. 4 | lang: en 5 | baseurl: /ion-schema 6 | markdown: kramdown 7 | kramdown: 8 | input: GFM 9 | toc_levels: "1,2" 10 | highlighter: rouge 11 | defaults: 12 | - 13 | scope: 14 | path: "" 15 | values: 16 | layout: default 17 | plugins: 18 | - jekyll-redirect-from 19 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /_posts/2019-07-15-ion-schema-kotlin-1_0_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.0 Released" 4 | date: 2019-07-15 5 | categories: news 6 | --- 7 | This release is a complete implementation of the [Ion Schema Specification](https://amzn.github.io/ion-schema/docs/spec.html). 8 | 9 | | [Release Notes](https://github.com/amzn/ion-schema-kotlin/releases/tag/v1.0.0) | [Ion Schema Kotlin](https://github.com/amzn/ion-schema-kotlin) | 10 | 11 | -------------------------------------------------------------------------------- /_posts/2022-09-12-web-schema-sandbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "New tool: Ion Schema Sandbox" 4 | date: 2022-09-12 5 | categories: news ion-schema 6 | --- 7 | 8 | A browser-based sandbox environment for Ion Schema has been added to the Ion Schema website. 9 | 10 | This sandbox can be used to validate Ion values for a particular type defined in Ion Schema. 11 | The sandbox is created using `ion-schema-rust` latest pre-release version. 12 | 13 | | [Ion Schema Sandbox]({{site.baseurl}}/sandbox) | 14 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | ruby RUBY_VERSION 5 | 6 | git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } 7 | 8 | # Hello! This is where you manage which Jekyll version is used to run. 9 | # When you want to use a different version, change it below, save the 10 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 11 | # 12 | # bundle exec jekyll serve 13 | gem "github-pages", group: :jekyll_plugins 14 | gem "webrick", "~> 1.8" 15 | -------------------------------------------------------------------------------- /_posts/2020-07-14-ion-schema-kotlin-1_1-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Kotlin 1.1 Released" 4 | date: 2020-07-14 5 | categories: news schema ion-schema-kotlin 6 | --- 7 | This release provides access to the ISL underlying Schema and Type objects, enables custom schema caching logic, provides graceful handling of redundant imports, and more. 8 | 9 | | [Release Notes](https://github.com/amzn/ion-schema-kotlin/releases/tag/v1.1.0) | [Ion Schema Kotlin](https://github.com/amzn/ion-schema-kotlin) | 10 | 11 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_posts/2022-07-26-rfc-ion-schema-2_0-public-comment.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "RFC: Ion Schema 2.0 - Open for Comment" 4 | date: 2022-07-26 5 | categories: news ion-schema 6 | --- 7 | 8 | An RFC was published to the [Ion Schema](https://github.com/amzn/ion-schema) GitHub repository proposing a new major version of Ion Schema. Questions, comments, and suggestions are welcome and can be added to the ‘Conversation’ tab of the pull request or linked issues. 9 | 10 | The public comment period for this RFC is open until 21 August 2022. 11 | 12 | | [Ion Schema 2.0 RFC](https://github.com/amzn/ion-schema/pull/69) | 13 | -------------------------------------------------------------------------------- /_posts/2022-09-13-ion-schema-rust-0_5_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.5.0 Released" 4 | date: 2022-09-13 5 | categories: news ion-schema-rust 6 | --- 7 | 8 | Ion Schema Rust 0.5.0 is now available. 9 | This beta release includes all the functionalities of Ion Schema as per the [Ion Schema 1.0 specification]({{site.baseurl}}/docs/isl-1-0/spec). 10 | 11 | | [Release Notes v0.5.0](https://github.com/amzn/ion-schema-rust/releases/tag/v0.5.0) | [Ion Schema Rust](https://github.com/amzn/ion-schema-rust) | [Getting started cookbook]({{site.baseurl}}/docs/cookbook/ion-schema-rust-getting-started) 12 | 13 | -------------------------------------------------------------------------------- /libs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Libraries 3 | --- 4 | 5 | # {{ page.title }} 6 | 7 | | Name | Latest Version | Repository | Documentation | 8 | |------|----------------|------------|---------------| 9 | | ion-schema-kotlin | [1.8.0](https://github.com/amzn/ion-schema-kotlin/releases/latest) (Dec 15, 2023) | [Link](https://github.com/amzn/ion-schema-kotlin) | [Link](https://www.javadoc.io/doc/com.amazon.ion/ion-schema-kotlin/latest/index.html) | 10 | | ion-schema-rust | [0.15.0](https://github.com/amzn/ion-schema-rust/releases/latest) (Dec 13, 2024) | [Link](https://github.com/amzn/ion-schema-rust) | [Link](https://docs.rs/ion-schema/latest/ion_schema/) 11 | -------------------------------------------------------------------------------- /docs/isl-2-0/bnf-grammar.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Ion Schema 2.0 BNF-Style Grammar 3 | --- 4 | # {{page.title}} 5 | 6 | This grammar is intended as a learning aid and is _not_ authoritative. 7 | 8 | Some limitations of this grammar are that it cannot accurately represent open content, that it excludes equivalent encodings of an Ion value (e.g. the symbol `year` could also be `'year'`), that it does not describe a valid ISL regex string, and that it does not describe reserved words that cannot be used as a type name. 9 | 10 | {% capture grammar %}{% include grammar-2-0.txt %}{% endcapture %} 11 |
12 | {{ grammar | escape_once }}
13 | 
-------------------------------------------------------------------------------- /_layouts/news_item.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% include head.html %} 5 | 6 | 7 | 8 | {% include header.html %} 9 | 10 |
11 |
12 |

News

13 |
14 | {{page.title}}
15 | {{page.date | date_to_long_string}} 16 |

17 | {{ content }} 18 |
19 |
20 |
21 | 22 | {% include footer.html %} 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /_posts/2021-12-17-ion-schema-rust-0_1_0-released.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: news_item 3 | title: "Ion Schema Rust 0.1 Released" 4 | date: 2021-12-17 5 | categories: news 6 | --- 7 | This release is a partial implementation of the [Ion Schema Specification](https://amzn.github.io/ion-schema/docs/spec 8 | .html) which has the [logic constraints](https://amzn.github.io/ion-schema/docs/spec.html#logic-constraints) and 9 | [type constraint](https://amzn.github.io/ion-schema/docs/spec.html#type) implemented. 10 | 11 | | [Release Notes](https://github.com/amzn/ion-schema-rust/releases/tag/v0.1.0) | [Ion Schema Rust](https://github.com/amzn/ion-schema-rust) | 12 | 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ion-schema 2 | Ion Schema specification and docs 3 | 4 | ## Development 5 | 6 | To test locally, you must have [Ruby](https://www.ruby-lang.org/en/documentation/installation/) and [Bundler](https://bundler.io/) installed. 7 | 8 | In the project root directory, run: 9 | ```shell 10 | bundle exec jekyll serve 11 | ``` 12 | 13 | You can now view the GitHub pages site in your favorite browser, served from your computer. 14 | 15 | For full information about testing GitHub pages sites locally, see the [official documentation](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll) on GitHub. 16 | -------------------------------------------------------------------------------- /_includes/note.html: -------------------------------------------------------------------------------- 1 | 4 | {% if include.type=="note" %} 5 | 6 | {% elsif include.type=="tip" %} 7 | 8 | {% elsif include.type=="important" %} 9 | 10 | {% elsif include.type=="warning" %} 11 | 12 | {% endif %} -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Docs 3 | permalink: /docs/ 4 | redirect_from: 5 | - /docs/spec 6 | - /docs/cookbook 7 | --- 8 | 9 | # {{ page.title }} 10 | 11 | ### Specifications 12 | 13 | * [Ion Schema Language Versioning](isl-versioning) 14 | * [Ion Schema 1.0 Specification](isl-1-0/spec) 15 | * [Ion Schema 2.0 Specification](isl-2-0/spec) 16 | * [Process for Changing Ion Schema](process-for-changing-ion-schema.md) 17 | 18 | ### Cookbooks 19 | 20 | * [Modeling Logical Relationships](cookbook/logical-relationships) 21 | * [Modeling SQL Decimals](cookbook/sql-decimals) 22 | * [Optionally ignoring the occurs requirement for fields](cookbook/ignore-occurs-requirements) 23 | * [Using Ion Schema Schemas](cookbook/ion-schema-schemas) 24 | * [Getting started with `ion-schema-rust`](cookbook/ion-schema-rust-getting-started) 25 | 26 | ### Other Information 27 | 28 | * [Considerations for Implementing Ion Schema](implementing) 29 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% assign title = page.title | default: site.title | escape %} 6 | {% assign canonical = page.url | replace:'index.html','' | absolute_url %} 7 | {% assign description = page.description | default: page.excerpt | default: site.description | strip_html | normalize_whitespace | escape %} 8 | 9 | {{ page.title }} 10 | 11 | {% if page.keywords %} 12 | {% if page.keywords.first %} 13 | {% assign keywords = page.keywords | join: ',' %} 14 | {% else %} 15 | {% assign keywords = page.keywords %} 16 | {% endif %} 17 | 18 | {% endif %} 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /_includes/grammar-element.md: -------------------------------------------------------------------------------- 1 | 7 | {% assign productions = include.productions | upcase | split: "," %} 8 | {% capture grammar %} 9 | {% include grammar-2-0.txt %} 10 | {% endcapture %} 11 | {% assign grammar_lines = grammar | escape_once | newline_to_br | split: '
' %} 12 | 13 |
14 |
15 | {%- for production in productions -%}
16 |   {%- assign is_in_production = false -%}
17 |   {%- assign production_start = "<PRODUCTION> ::=" | escape_once | replace: "PRODUCTION", production -%}
18 |   {%- for grammar_line in grammar_lines -%}
19 |     {%- assign grammar_line_stripped = grammar_line | strip -%}
20 |     {%- if grammar_line contains production_start -%}{%- assign is_in_production = true -%}{%- endif -%}
21 |     {%- if is_in_production -%}{{- grammar_line | escape_once -}}{%- endif -%}
22 |     {%- if is_in_production and grammar_line_stripped == "" -%}{%- break -%}{%- endif -%}    
23 |   {%- endfor -%}
24 | {%- endfor -%}
25 | 
26 |
27 | -------------------------------------------------------------------------------- /_includes/example.md: -------------------------------------------------------------------------------- 1 | 13 | {% capture content %} 14 | {%- if include.markdown -%}{{include.markdown}} 15 | {% elsif include.code_file %} 16 | ```{{ include.lang | default: "" }} 17 | {% include {{ include.code_file }} %} 18 | ``` 19 | {% else %} 20 | ```{{ include.lang | default: "" }} 21 | {{ include.code | strip }} 22 | ``` 23 | {% endif %} 24 | {%- endcapture -%} 25 | {::options parse_block_html="true" /} 26 |
27 |
28 | 29 | **Example: {{ include.title }}** 30 | 31 | {{ content }} 32 | 33 |
34 |
35 | {::options parse_block_html="false" /} -------------------------------------------------------------------------------- /assets/wasm_ion_schema_bg.wasm.d.ts: -------------------------------------------------------------------------------- 1 | /* tslint:disable */ 2 | /* eslint-disable */ 3 | export const memory: WebAssembly.Memory; 4 | export function __wbg_schemavalidationresult_free(a: number): void; 5 | export function schemavalidationresult_new(a: number, b: number, c: number, d: number, e: number, f: number, g: number): number; 6 | export function schemavalidationresult_result(a: number): number; 7 | export function schemavalidationresult_set_result(a: number, b: number): void; 8 | export function schemavalidationresult_value(a: number, b: number): void; 9 | export function schemavalidationresult_set_value(a: number, b: number, c: number): void; 10 | export function schemavalidationresult_error(a: number, b: number): void; 11 | export function schemavalidationresult_set_error(a: number, b: number, c: number): void; 12 | export function schemavalidationresult_has_error(a: number): number; 13 | export function schemavalidationresult_set_has_error(a: number, b: number): void; 14 | export function schemavalidationresult_violations(a: number): number; 15 | export function validate(a: number, b: number, c: number, d: number, e: number, f: number, g: number): number; 16 | export function __wbindgen_malloc(a: number): number; 17 | export function __wbindgen_realloc(a: number, b: number, c: number): number; 18 | export function __wbindgen_add_to_stack_pointer(a: number): number; 19 | export function __wbindgen_free(a: number, b: number): void; 20 | -------------------------------------------------------------------------------- /sandbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Give Ion Schema a Try! 3 | --- 4 | 5 | # {{ page.title }} 6 | 7 | 8 | 9 | {% include note.html type="note" content="This sandbox uses `ion-schema-rust` (pre-release version) to validate Ion value using given schema" %} 10 | 11 | 12 | 13 | Predefined examples: 14 |