Socket
Socket
Sign inDemoInstall

@agape/alchemy

Package Overview
Dependencies
6
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @agape/alchemy

Transmute data models


Version published
Weekly downloads
1
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Alchemy

Serialization and deserialization of data models

Synopsis

import { Model, Field } from '@agape/model'
import alchemy from '@agape/alchemy'

@Model class Foo {
    @Field foo: string;
    @Field bar: Date;
}

const foo = new Foo()
foo.foo = 'baz'
foo.bar = new Date('2023-05-22T10:00:00Z')

const dto = alchemy.deflate(foo)

const restored = alchemy.inflate(dto)

Description

Create data transfer objects from agape model instance and inflate DTOs back to model instances.

Class

Alchemy

Build menus using the item(...) method

Properties

serializers

Map of serializers that have been registered with the alchemy instance

Methods

register( class, serializer )

Register a serializer for transmuting an object

inflate( model, flattened )

Create a model instance from a data transfer object

deflate( model, instance )

Create a data transfer object from a model instance

Interfaces

Serializer

Methods

inflate( value )

Restore an object from it's serialized state

deflate( object )

Serialize an object

Types

Transmuted<T>

Generic type representing the serialized version of T

Included Serializers

DateSerializer

Serializer for inflating and deflating Date objects

Author

Maverik Minett maverik.minett@gmail.com

© 2023 Maverik Minett

License

MIT

Keywords

FAQs

Last updated on 23 May 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc