# wueste

> A Serialization and Generator Framework

Latest version **1.3.8** (published 2024-06-27) · AFL-2.0 license · 0 weekly downloads

## Install

```sh
npm install wueste
pnpm add wueste
yarn add wueste
bun add wueste
```

Provides the commands `wueste-generator`, `wueste-generate-group-type`.

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.3.8 |
| Published | 2024-06-27 |
| First published | 2023-07-18 |
| Weekly downloads | 0 |
| License | AFL-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=16 |
| Dependencies | 5 |
| Unpacked size | 5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Meno Abels |
| Keywords | serialization, generator, typescript |

## Links

- npm: https://www.npmjs.com/package/wueste
- Repository: https://github.com/mabels/wueste
- Homepage: https://github.com/mabels/wueste#readme
- Issues: https://github.com/mabels/wueste/issues
- npm.io page: https://npm.io/package/wueste

## Dependencies (5)

- [base58-js](https://npm.io/package/base58-js.md) ^2.0.0
- [@cmdcode/buff](https://npm.io/package/@cmdcode/buff.md) ^2.2.5
- [@noble/hashes](https://npm.io/package/@noble/hashes.md) ^1.4.0
- [@adviser/cement](https://npm.io/package/@adviser/cement.md) ^0.1.8
- [ts-command-line-args](https://npm.io/package/ts-command-line-args.md) ^2.5.1

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.3.8 (latest) — 2024-06-27
- 1.3.7 — 2024-04-03
- 1.3.6 — 2024-03-06
- 1.3.5 — 2024-02-12
- 1.3.4 — 2024-02-08
- 1.3.3 — 2024-02-04
- 1.3.2 — 2024-02-01
- 1.3.1 — 2024-01-31
- 1.3.0 — 2024-01-29
- 1.2.4 — 2024-01-27
- 1.2.3 — 2024-01-26
- 1.2.2 — 2024-01-19
- 1.2.1 — 2024-01-12
- 1.2.0 — 2024-01-12
- 1.1.0 — 2024-01-05
- … 38 more at https://npm.io/package/wueste/versions

## README

# wueste

Wueste provides and a generator which can convert a json-schema to "typescript" with easy way to set attributes and get a Constrained Object back.

This is done with the Builder Pattern like:

```
interface Object {
    readonly Attr: string
    readonly OptionalAttr?: string
}



const obj = new ObjectBuilder().
                    Attr("value").
                    OptionalAttr("x").
                    Get()
```

this works nice on flat objects but not on nested objects.

```
interface NestedObject {
    readonly Nested: Object
}

const obj = new NestedObjectBuilder()
                    .Nested(new ObjectBuilder()
                            .Attr("value")
                            .Get()
                    ).Get()
```

or

```
const obj = new NestedObjectBuilder().
        Nested((nestedBuilder) => {
            nestedBuilder.Attr("value")
            nestedBuilder.OptionalAttr("x")
        }).Get()
```

or any better way to do this?

The generator enables the abiliy to get back every attribute in a defined order.
To provide a way create content-addressable with a hash function.

This is done with:

```
ObjectGetter(obj).Apply((path, value) => {
    console.log(path, value)
})
```

I will provide a way to set the attributes in the simlar way like the Getter works.

```
interface ObjectBuilder {
    Attr(value: string): ObjectBuilder
    OptionalAttr(value: string): ObjectBuilder
    Get(): Object
}

ObjectFactory.Builder().Setter((path, value) => {

}).Get()

ObjectSetter(builder).Apply((path, value) => {
    console.log(path, value)
    return WuestenRetVal(value)
})

/* object:NoName:
    const v0 = v
    builder.Test(fn(
      [
        ...base,
        helperTestSchema,
        (helperTestSchema as WuestenReflectionObject).properties![0],
      ]
    , builder.GetTest()))
*/
```

```




```

---
_Source: https://npm.io/package/wueste · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
