0.0.1-beta.1 • Published 2 years ago

@harrytwright/ast-types-wrapper v0.0.1-beta.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Types-Wrapper

This is a simple wrapper for ast-types

TODO

For a 0.0.1 release

  • utils
    • literals
    • identifier
  • variable
    • constant
    • scoped
    • variables
    • chaining
    • destructuring (For all)
      • object
      • array
    • Custom common variables
      • require
        • generic
        • node requirements
  • object
    • creation
    • getting
    • constructor
    • prototyping
    • inheritance ?? w/out require of utils.inherit
  • function
    • class methods
    • functions
    • blocks
    • common functions
      • node

API

Variables

constants

Create a constant

Please note that the value passed will be turned into a literal if it is not an ExpressionKind

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {constant, declarator} = require('@harrytwright/ast-types-wrapper/variable')

let object = constant('idx', 5) // const idx = 5;
object = constant('key', identifier('value')) // const key = value;
object = constant.chainable(
  declarator('key', 5),
  declarator('hello', 'world')
) // const key = 5, hello = 'world';

// Also constant contains a special method
const {property} = require('@harrytwright/ast-types-wrapper/object')
object = constant.destructuring('key', property.shorthand('name'), property.spread('...rest'))

variable

Create a variable

Please note that the value passed will be turned into a literal if it is not an ExpressionKind

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {variable, declarator} = require('@harrytwright/ast-types-wrapper/variable')

let object = variable('idx', 5) // var idx = 5;
object = variable('key', identifier('value')) // var key = value;
object = variable.chainable(
  declarator('key', 5),
  declarator('hello', 'world')
) // var key = 5, hello = 'world';

scoped

Create a scoped variable let

Please note that the value passed will be turned into a literal if it is not an ExpressionKind

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {scoped, declarator} = require('@harrytwright/ast-types-wrapper/variable')

let object = scoped('idx', 5) // let idx = 5;
object = scoped('key', identifier('value')) // let var = value;
object = scoped.chainable(
  declarator('key', 5),
  declarator('hello', 'world')
) // let key = 5, hello = 'world';

declarator

This is the wrapper for b.variableDeclarator

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {declarator} = require('@harrytwright/ast-types-wrapper/variable')

let object = declarator('idx', 5) // idx = 5
object = declarator('key', identifier('value')) // var = value

Object

object

These are functions to help create objects

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {object, property} = require('@harrytwright/ast-types-wrapper/object')

// Pass a standard object and it will be converted with key->identifier, value->literal|Node
let obj = object({
  key: 'value'
}) // { key: 'value' } 

// Or if you want more customisation
obj = object.withProperties(
  property.spread('spread'),
  property('key', 'value')
) // { spread..., key: 'value' } 

pattern

These are functions to help create an object pattern for a vanilla JS object

These are used internally by const when destructuring an object

const {identifier} = require('@harrytwright/ast-types-wrapper/utils')
const {pattern, property} = require('@harrytwright/ast-types-wrapper/object')

// Pass a standard object and it will be converted with key->identifier, value->literal|Node
let obj = pattern({
  key: 'value'
}) // { key: 'value' } 

// Or if you want more customisation
obj = pattern.withProperties(
  property.spread('spread'),
  property('key', 'value')
) // { spread..., key: 'value' } 
0.0.1-beta.3

2 years ago

0.0.1-beta.2

2 years ago

0.0.1-beta.1

3 years ago