momentum-constructor-common
momentum-constructor-common is a tool to offer common modules for momentum-constructor-packages.
Install
npm i momentum-constructor-common
Usage
You can go to ./test to check the detail usage.
mfs
mfs is a file system mode in momentum-constructor-common.
import { mfs } from 'momentum-constructor-common';
or
const { mfs } = require('momentum-constructor-common');
path
Get the full path of where you installed momentum-abstract.
arguments
| name | type | description |
|---|
| momentumType | MomentumAbstractType | The data type |
return
| type | description |
|---|
| string | the folder path |
usage
- read momentum-abstract/color path
const pathString = mfs.path(MomentumAbstractType.color);
- read momentum-abstract/icon path
const pathString = mfs.path(MomentumAbstractType.icon);
list
Get a file name list from momentum-abstract.
arguments
| name | type | description |
|---|
| momentumType | MomentumAbstractType | The data type |
| filter | IFileFilter | blacklist and whitelist |
return
| type | description |
|---|
| string[] | file name list |
usage
- read momentum-abstract/color list
const files = mfs.list(MomentumAbstractType.color);
- read momentum-abstract/color list with filter
let files = mfs.list(MomentumAbstractType.color, {
whitelist: [/.json$/i]
});
read
Get a list of files from momentum-abstract.
arguments
| name | type | description |
|---|
| momentumType | MomentumAbstractType | The data type |
| filter | IFileFilter | blacklist and whitelist |
return
| type | description |
|---|
| Record<string, IFile> | Hash Object for files |
usage
- read momentum-abstract/color json files
let files = mfs.read(MomentumAbstractType.color);
mcommon
mcommon is a common mode in momentum-constructor-common.
import { mcommon } from 'momentum-constructor-common';
or
const { mcommon } = require('momentum-constructor-common');
getRegFromNames
Create a regular expression using an array of filenames.
arguments
| name | type | description |
|---|
| fileNameList | string[] | The list of file name |
return
| type | description |
|---|
| RegExp | RegExp for filter |
getRegFromNamesSafe
getRegFromNamesSafe has the same arguments and return with getRegFromNames. RegExp has a max-length limitation, we do some check in this function.
mconvert
mconvert offers the feature to convert momentum files'name and content.
import { mconvert } from 'momentum-constructor-common';
or
const { mconvert } = require('momentum-constructor-common');
renameFile
rename all the files
arguments
| name | type | description |
|---|
| mometnumFiles | Record<string, IFile> | the file from mfs.read |
| replacement | IReplacementItem | replacement |
return
| type | description |
|---|
| Record<string, IFile> | RegExp for filter |
renameToken
rename the token in the content
arguments
| name | type | description |
|---|
| mometnumFiles | Record<string, IFile> | the file from mfs.read |
| replacement | IReplacementItem | replacement |
| momentumType | MomentumAbstractType | The data type |
return
| type | description |
|---|
| Record<string, IFile> | RegExp for filter |
flat
flat the content
arguments
| name | type | description |
|---|
| mometnumFiles | Record<string, IFile> | the file from mfs.read |
| momentumType | MomentumAbstractType | The data type |
return
| type | description |
|---|
| Record<string, IFile> | RegExp for filter |
Types
import { MomentumAbstractType } from 'momentum-constructor-common';
or
const { MomentumAbstractType } = require('momentum-constructor-common');
Enum
MomentumAbstractType ( * for reserved name, not use)
| name | description |
|---|
| color | color tokens |
| font | font tokens |
| illustration | illustration icons |
| icon | normal icons |
| icon-colored | colored icons |
| icon-brand | brand icons |
| sonic | sound effect |
Interface & Type
IFile
| prop | type | description |
|---|
| path | string | the full file path |
| content | any | file content |
| contentCode | ?string | code type |
| name | string | file name without extension |
| fullName | string | file name with extension |
| extensionName | string | extension such as '.svg' |
| file type | content type |
|---|
| .svg | string |
| .json | json ojbect |
| default | buffer[] |
IFileFilter
| prop | type | description |
|---|
| whitelist | RegExp[] | only return files whose filename matches the condition |
| blacklist | RegExp[] | only return files whose filename does not match the condition |
IReplacementItem
| prop | type | description |
|---|
| pattern | string | RegExp | which part you want to replace |
| words | string | any | the new wording |