1.0.2 • Published 5 years ago

@b08/parsed-types-operations v1.0.2

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
5 years ago

@b08/parsed-types-operations, seeded from @b08/library-seed, library type: feature

A set of functions to be used with type-parser result

exported types

Returns type ids of all types exported from file

getRelativePath

Input paramets are - current folder and TypeId to import Returns a path to use in import statement

importId and importIds

Input parameters - type to import from, and type(s) to import Returns an import model to use with imports-generator

importType and importTypeDefinition

Same as previous, these functions extract needed ids from type and type definitions and create all needed import models

isMonotype

Returns true if type definition is for a mono type, like "string" or "User" and false for complex types like generics or arrays

isImportableMonotype

Returns true for type definitions having a monotype with importable type.

resolvePath

This function is not actually for using with type-parser result, but with external paths. It resolves the path against cwd and replaces left slashes with right ones.

resolveType

Returns a type with resolved "folder" field.

classes, functions and interfaces

Memoized functions that receive an array of parsed models and a predicate and return a list of classes, function and interfaces respectively. Do not use in-place lambda here, use lambdas or functions that are constant in context. Example:

function isGoodClass(cls: ClassModel) { return !!cls.id.folder.match(/myFolder/); }

function myGoodClasses(parsed: ParsedModel[]): ClassModel[] {
  return classes(parsed, isGoodClass);
}

getClassById, getInterfaceById and getFunctionById

As the names imply, these functions return corresponding type by its id from array of parsed files.

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago