0.0.37 • Published 4 years ago

@atlantis-lab/actl-generator v0.0.37

Weekly downloads
70
License
MIT
Repository
github
Last release
4 years ago

Generator

install

yarn add @atlantis-lab/actl-generator

Usage

Basic

import { Generator, GeneratorOptionsBuilder } from '@atlantis-lab/actl-generator'

interface User {
  readonly firstName: string
  readonly lastName: string
}

const userResolver = async (): Promise<User> => ({ firstName: 'Mark', lastName: 'Shuttleworth' })

const options = new GeneratorOptionsBuilder<User>()
  .pick('firstName')
  .pick('lastName')
  .setDefaultResolver(userResolver)
  .getOptions()

const generator = new Generator<User>(options)

generator.generate().then(console.log) // { firstName: 'Mark', lastName: 'Shuttleworth' }

Compose

import { Generator, GeneratorOptionsBuilder } from '@atlantis-lab/actl-generator'

interface User {
  readonly firstName: string
  readonly lastName: string
}

const userResolver = async (): Promise<User> => ({ firstName: 'Mark', lastName: 'Shuttleworth' })
const bestUserResolver = async (): Promise<User> => ({ firstName: 'Linus', lastName: 'Torvalds' })
const bestOfTheBestLastNameResolver = () => 'Genius'

const options = new GeneratorOptionsBuilder<User>()
  .pick('firstName')
  .pick('lastName')
  .setDefaultResolver(userResolver)
  .setHandler('firstName', bestUserResolver)
  .setHandler('lastName', bestUserResolver)
  .setHandler('lastName', bestOfTheBestLastNameResolver)
  .getOptions()

const generator = new Generator<User>(options)

generator.generate().then(console.log) // { firstName: 'Linus', lastName: 'Genius' }
0.0.37

4 years ago

0.0.36

4 years ago

0.0.34

4 years ago

0.0.35

4 years ago

0.0.33

4 years ago

0.0.32

4 years ago

0.0.30

4 years ago

0.0.31

4 years ago

0.0.29

4 years ago

0.0.28

4 years ago

0.0.24

4 years ago

0.0.25

4 years ago

0.0.26

4 years ago

0.0.27

4 years ago

0.0.20

4 years ago

0.0.21

4 years ago

0.0.22

4 years ago

0.0.23

4 years ago

0.0.18

4 years ago

0.0.19

4 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

0.0.0

5 years ago