Skip to content

Commit

Permalink
Add temp Stellar XDR package locally
Browse files Browse the repository at this point in the history
  • Loading branch information
quietbits committed Apr 19, 2024
1 parent eaeb6ac commit 77b6ce6
Show file tree
Hide file tree
Showing 9 changed files with 598 additions and 3 deletions.
5 changes: 3 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
"next/core-web-vitals",
"prettier"
],
"rules":{
"rules": {
// @TODO: ideally, these should be removed
"@typescript-eslint/no-explicit-any": "off",
"import/named": "off"
}
},
"ignorePatterns": ["./temp/*"]
}
6 changes: 5 additions & 1 deletion .lintstagedrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ const buildEslintCommand = (filenames) =>
.map((f) => path.relative(process.cwd(), f))
.join(" --file ")}`;

const ignoredFiles = ["temp/**/*"];

const eslintPattern = `!(${ignoredFiles.join(",")})*.{js,ts,jsx,tsx}`;

module.exports = {
"*.{js,jsx,ts,tsx}": [buildEslintCommand],
[eslintPattern]: [buildEslintCommand],
};
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
public/
.gitignore
.husky/
temp/
84 changes: 84 additions & 0 deletions temp/stellar-xdr-web/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<div align="center">

<h1><code>wasm-pack-template</code></h1>

<strong>A template for kick starting a Rust and WebAssembly project using <a href="https://github.com/rustwasm/wasm-pack">wasm-pack</a>.</strong>

<p>
<a href="https://travis-ci.org/rustwasm/wasm-pack-template"><img src="https://img.shields.io/travis/rustwasm/wasm-pack-template.svg?style=flat-square" alt="Build Status" /></a>
</p>

<h3>
<a href="https://rustwasm.github.io/docs/wasm-pack/tutorials/npm-browser-packages/index.html">Tutorial</a>
<span> | </span>
<a href="https://discordapp.com/channels/442252698964721669/443151097398296587">Chat</a>
</h3>

<sub>Built with 🦀🕸 by <a href="https://rustwasm.github.io/">The Rust and WebAssembly Working Group</a></sub>
</div>

## About

[**📚 Read this template tutorial! 📚**][template-docs]

This template is designed for compiling Rust libraries into WebAssembly and
publishing the resulting package to NPM.

Be sure to check out [other `wasm-pack` tutorials online][tutorials] for other
templates and usages of `wasm-pack`.

[tutorials]: https://rustwasm.github.io/docs/wasm-pack/tutorials/index.html
[template-docs]: https://rustwasm.github.io/docs/wasm-pack/tutorials/npm-browser-packages/index.html

## 🚴 Usage

### 🐑 Use `cargo generate` to Clone this Template

[Learn more about `cargo generate` here.](https://github.com/ashleygwilliams/cargo-generate)

```
cargo generate --git https://github.com/rustwasm/wasm-pack-template.git --name my-project
cd my-project
```

### 🛠️ Build with `wasm-pack build`

```
wasm-pack build
```

### 🔬 Test in Headless Browsers with `wasm-pack test`

```
wasm-pack test --headless --firefox
```

### 🎁 Publish to NPM with `wasm-pack publish`

```
wasm-pack publish
```

## 🔋 Batteries Included

* [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) for communicating
between WebAssembly and JavaScript.
* [`console_error_panic_hook`](https://github.com/rustwasm/console_error_panic_hook)
for logging panic messages to the developer console.
* `LICENSE-APACHE` and `LICENSE-MIT`: most Rust projects are licensed this way, so these are included for you

## License

Licensed under either of

* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.
14 changes: 14 additions & 0 deletions temp/stellar-xdr-web/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "bindings-js",
"version": "0.0.0",
"files": [
"stellar-xdr_bg.wasm",
"stellar-xdr.js",
"stellar-xdr.d.ts"
],
"module": "stellar-xdr.js",
"types": "stellar-xdr.d.ts",
"sideEffects": [
"./snippets/*"
]
}
87 changes: 87 additions & 0 deletions temp/stellar-xdr-web/stellar-xdr.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/* tslint:disable */
/* eslint-disable */
/**
* Returns a list of XDR types.
* @returns {(string)[]}
*/
export function types(): (string)[];
/**
* Returns the JSON Schema for an XDR type.
*
* JSON Schema version Draft 7 is returned.
* @param {string} type_variant
* @returns {string}
*/
export function schema(type_variant: string): string;
/**
* Identifies which XDR types the given XDR can decode to completely.
*
* Supports single XDR values only, not arrays, streams, or framed streams.
* @param {string} xdr_base64
* @returns {(string)[]}
*/
export function guess(xdr_base64: string): (string)[];
/**
* Decodes the XDR into JSON.
*
* Accepts a XDR base64 string.
*
* Returns a JSON string.
*
* Unstable: The API of this function is unstable and will likely be changed to
* return a JsValue instead of a JSON string.
* @param {string} type_variant
* @param {string} xdr_base64
* @returns {string}
*/
export function decode(type_variant: string, xdr_base64: string): string;
/**
* Encodes to XDR from JSON.
*
* Accepts a JSON string.
*
* Returns an XDR base64 string.
*
* Unstable: The API of this function is unstable and will likely be changed to
* accept a JsValue instead of a JSON string.
* @param {string} type_variant
* @param {string} json
* @returns {string}
*/
export function encode(type_variant: string, json: string): string;

export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;

export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly types: (a: number) => void;
readonly schema: (a: number, b: number, c: number) => void;
readonly guess: (a: number, b: number, c: number) => void;
readonly decode: (a: number, b: number, c: number, d: number, e: number) => void;
readonly encode: (a: number, b: number, c: number, d: number, e: number) => void;
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
readonly __wbindgen_export_0: (a: number, b: number, c: number) => void;
readonly __wbindgen_export_1: (a: number, b: number) => number;
readonly __wbindgen_export_2: (a: number, b: number, c: number, d: number) => number;
}

export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {SyncInitInput} module
*
* @returns {InitOutput}
*/
export function initSync(module: SyncInitInput): InitOutput;

/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {InitInput | Promise<InitInput>} module_or_path
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;
Loading

0 comments on commit 77b6ce6

Please sign in to comment.