1.0.21 • Published 2 years ago
nv-cli-esdef v1.0.21
nv-cli-esdef
- nv-cli-esdef
- cli tool, quickly search estree definition
install
- npm install nv-cli-esdef -g
usage
bytype
npm install nv-cli-esdef -g
# nv_esdef_bytype -h
Usage: nv_esdef_bytype [options]
Options:
-n, --name estree Node type name
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
nv-cli-esdef#
brief
BENCH# nv_esdef_bytype -n Identifier
[
{
Identifier: {
builder: [Array],
visitor: [Array],
aliases: [Array],
fields: [Object],
validate: [Object]
}
},
{
'<possible>': [
'JSXIdentifier',
'QualifiedTypeIdentifier',
'V8IntrinsicIdentifier'
]
}
]
detail
# nv_esdef_bytype -n TSArrayType -d
[
{
"aliases": [
"TSType"
],
"visitor": [
"elementType"
],
"fields": {
"elementType": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"TSType"
]
},
"default": null
}
},
"builder": [
"elementType"
]
}
]
list
# nv_esdef_bytype -n TSA ImportDe
[
{
"<possible>": [
"TSAnyKeyword",
"TSArrayType",
"TSAsExpression",
"ImportDeclaration",
"ImportDefaultSpecifier"
]
}
]
byvisit
BENCH# nv_esdef_byvisit -h
Usage: nv_esdef_byvisit [options]
Options:
-l, --list list all visitors of esnode
-v, --visitors visitor names, @and means must includes, @or means or,default @or
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
-d, --detail show full info
BENCH#
brief
// and
nv-cli-esdef#nv_esdef_byvisit -v arg@and type@and -c
[
{
_type: 'CallExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
},
{
_type: 'NewExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
},
{ _type: 'RestElement', visitor: [ 'argument', 'typeAnnotation' ] },
{
_type: 'OptionalCallExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
}
]
nv-cli-esdef#
nv-cli-esdef# nv_esdef_byvisit -n TSA ImportDe -v arg left -c
[
{ _type: 'AssignmentExpression', visitor: [ 'left', 'right' ] },
{ _type: 'BinaryExpression', visitor: [ 'left', 'right' ] },
{
_type: 'CallExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
},
{ _type: 'ForInStatement', visitor: [ 'left', 'right', 'body' ] },
{ _type: 'LogicalExpression', visitor: [ 'left', 'right' ] },
{
_type: 'NewExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
},
{ _type: 'RestElement', visitor: [ 'argument', 'typeAnnotation' ] },
{ _type: 'ReturnStatement', visitor: [ 'argument' ] },
{ _type: 'ThrowStatement', visitor: [ 'argument' ] },
{ _type: 'UnaryExpression', visitor: [ 'argument' ] },
{ _type: 'UpdateExpression', visitor: [ 'argument' ] },
{
_type: 'AssignmentPattern',
visitor: [ 'left', 'right', 'decorators' ]
},
{ _type: 'ForOfStatement', visitor: [ 'left', 'right', 'body' ] },
{ _type: 'SpreadElement', visitor: [ 'argument' ] },
{ _type: 'YieldExpression', visitor: [ 'argument' ] },
{ _type: 'AwaitExpression', visitor: [ 'argument' ] },
{
_type: 'OptionalCallExpression',
visitor: [ 'callee', 'arguments', 'typeParameters', 'typeArguments' ]
}
]
nv-cli-esdef#
detail
BENCH# nv_esdef_byvisit -v arg -t -d
[
{
"aliases": [
"TSType"
],
"visitor": [
"argument",
"qualifier",
"typeParameters"
],
"fields": {
"argument": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"StringLiteral"
]
},
"default": null
},
"qualifier": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"TSEntityName"
]
},
"optional": true,
"default": null
},
"typeParameters": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"TSTypeParameterInstantiation"
]
},
"optional": true,
"default": null
}
},
"builder": [
"argument",
"qualifier",
"typeParameters"
],
"_cate": "ts",
"_type": "TSImportType",
"validate": {},
"inherits": "",
"deprecatedAlias": "",
"attribs": []
}
]
list
BENCH# nv_esdef_byvisit -l
[
'alternate', 'argument', 'arguments',
'attributes', 'block', 'body',
'bound', 'callProperties', 'callee',
'cases', 'checkType', 'children',
'closingElement', 'closingFragment', 'consequent',
'constraint', 'declaration', 'declarations',
'decorators', 'default', 'directives',
'discriminant', 'elementType', 'elementTypes',
'elements', 'exported', 'exprName',
'expression', 'expressions', 'extends',
'extendsType', 'falseType', 'finalizer',
'handler', 'id', 'implements',
'impltype', 'imported', 'indexType',
'indexers', 'init', 'initializer',
'internalSlots', 'key', 'label',
'left', 'literal', 'local',
'members', 'meta', 'method',
'mixins', 'moduleReference', 'name',
'nameType', 'namespace', 'object',
'objectType', 'openingElement', 'openingFragment',
'optional', 'param', 'parameter',
'parameterName', 'parameters', 'params',
'program', 'properties', 'property',
'qualification', 'qualifier', 'quasi',
'quasis', 'rest', 'returnType',
'right', 'source', 'specifiers',
'static', 'superClass', 'superTypeParameters',
'supertype', 'tag', 'test',
'trueType', 'typeAnnotation', 'typeArguments',
'typeName', 'typeParameter', 'typeParameters',
'types', 'update', 'value',
'variance'
]
BENCH#
byfield
list
# nv_esdef_byfield -l
[
"abstract",
"access",
"accessibility",
"alternate",
"argument",
"arguments",
"assertions",
"asserts",
"async",
"attributes",
"await",
"block",
"body",
"bound",
"callProperties",
"callee",
"cases",
"checkType",
"children",
"closingElement",
"closingFragment",
"comments",
"computed",
"consequent",
"const",
"constraint",
"declaration",
"declarations",
"declare",
"decorators",
"default",
"definite",
"delegate",
"directives",
"discriminant",
"elementType",
"elementTypes",
"elements",
"exact",
"expectedNode",
"explicitType",
"exportKind",
"exported",
"exprName",
"expression",
"expressions",
"extends",
"extendsType",
"falseType",
"finalizer",
"flags",
"generator",
"global",
"handler",
"hasUnknownMembers",
"id",
"implements",
"impltype",
"importKind",
"imported",
"indexType",
"indexers",
"inexact",
"init",
"initializer",
"internalSlots",
"interpreter",
"isExport",
"key",
"kind",
"label",
"left",
"literal",
"local",
"members",
"meta",
"method",
"mixins",
"moduleReference",
"name",
"nameType",
"namespace",
"object",
"objectType",
"openingElement",
"openingFragment",
"operator",
"optional",
"override",
"param",
"parameter",
"parameterName",
"parameters",
"params",
"pattern",
"predicate",
"prefix",
"program",
"properties",
"property",
"proto",
"qualification",
"qualifier",
"quasi",
"quasis",
"readonly",
"rest",
"returnType",
"right",
"selfClosing",
"shorthand",
"source",
"sourceFile",
"sourceType",
"specifiers",
"static",
"superClass",
"superTypeParameters",
"supertype",
"tag",
"tail",
"test",
"this",
"tokens",
"trueType",
"typeAnnotation",
"typeArguments",
"typeName",
"typeParameter",
"typeParameters",
"types",
"update",
"value",
"variance"
]
nv-cli-esdef# nv_esdef_byfield -F quali
[
{
_type: 'TSImportType',
fields: {
argument: [Object],
qualifier: [Object],
typeParameters: [Object]
}
},
{
_type: 'QualifiedTypeIdentifier',
fields: { id: [Object], qualification: [Object] }
}
]
nv-cli-esdef# nv_esdef_byfield -F quali -d
[
{
"aliases": [
"TSType"
],
"visitor": [
"argument",
"qualifier",
"typeParameters"
],
"fields": {
"argument": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"StringLiteral"
]
},
"default": null
},
"qualifier": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"TSEntityName"
]
},
"optional": true,
"default": null
},
"typeParameters": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"TSTypeParameterInstantiation"
]
},
"optional": true,
"default": null
}
},
"builder": [
"argument",
"qualifier",
"typeParameters"
],
"_cate": "ts",
"_type": "TSImportType",
"validate": {},
"inherits": "",
"deprecatedAlias": "",
"attribs": []
},
{
"visitor": [
"id",
"qualification"
],
"aliases": [
"Flow"
],
"fields": {
"id": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"Identifier"
]
},
"default": null
},
"qualification": {
"validate": {
"code": "function validate(node, key, val) {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }",
"oneOfNodeTypes": [
"Identifier",
"QualifiedTypeIdentifier"
]
},
"default": null
}
},
"builder": [
"id",
"qualification"
],
"_cate": "flow",
"_type": "QualifiedTypeIdentifier",
"validate": {},
"inherits": "",
"deprecatedAlias": "",
"attribs": []
}
]
nv-cli-esdef#
byalias
list
nv-cli-esdef# nv_esdef_byalias -h
Usage: nv_esdef_byalias [options]
Options:
-l, --list list all aliases of esnode
-A, --aliases alias names, @and means must includes, @or means or,default @or
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
-d, --detail show full info
nv-cli-esdef#
nv-cli-esdef# nv_esdef_byalias -l
[
'Binary', 'Block', 'BlockParent',
'Class', 'CompletionStatement', 'Conditional',
'Declaration', 'EnumBody', 'EnumMember',
'ExportDeclaration', 'Expression', 'ExpressionWrapper',
'Flow', 'FlowBaseAnnotation', 'FlowDeclaration',
'FlowPredicate', 'FlowType', 'For',
'ForXStatement', 'Function', 'FunctionParent',
'Immutable', 'JSX', 'LVal',
'Literal', 'Loop', 'Method',
'ModuleDeclaration', 'ModuleSpecifier', 'ObjectMember',
'Pattern', 'PatternLike', 'Private',
'Property', 'Pureish', 'Scopable',
'Statement', 'TSBaseType', 'TSEntityName',
'TSType', 'TSTypeElement', 'Terminatorless',
'UnaryLike', 'UserWhitespacable', 'While'
]
nv-cli-esdef# nv_esdef_byalias -A Whi
[
{
_type: 'DoWhileStatement',
aliases: [ 'Statement', 'BlockParent', 'Loop', 'While', 'Scopable' ]
},
{
_type: 'ObjectMethod',
aliases: [
'UserWhitespacable',
'Function',
'Scopable',
'BlockParent',
'FunctionParent',
'Method',
'ObjectMember'
]
},
{
_type: 'ObjectProperty',
aliases: [ 'UserWhitespacable', 'Property', 'ObjectMember' ]
},
{
_type: 'WhileStatement',
aliases: [ 'Statement', 'BlockParent', 'Loop', 'While', 'Scopable' ]
},
{
_type: 'ObjectTypeInternalSlot',
aliases: [ 'Flow', 'UserWhitespacable' ]
},
{
_type: 'ObjectTypeCallProperty',
aliases: [ 'Flow', 'UserWhitespacable' ]
},
{
_type: 'ObjectTypeIndexer',
aliases: [ 'Flow', 'UserWhitespacable' ]
},
{
_type: 'ObjectTypeProperty',
aliases: [ 'Flow', 'UserWhitespacable' ]
},
{
_type: 'ObjectTypeSpreadProperty',
aliases: [ 'Flow', 'UserWhitespacable' ]
}
]
nv-cli-esdef#
bybuild
usage
nv-cli-esdef# nv_esdef_bybuild -h
Usage: nv_esdef_bybuild [options]
Options:
-l, --list list all builders of esnode
-B, --builders builder names, @and means must includes, @or means or,default @or
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
-d, --detail show full info
list
nv-cli-esdef# nv_esdef_bybuild -l
[
"alternate",
"argument",
"arguments",
"asserts",
"async",
"attributes",
"await",
"block",
"body",
"bound",
"callProperties",
"callee",
"cases",
"checkType",
"children",
"closingElement",
"closingFragment",
"comments",
"computed",
"consequent",
"constraint",
"declaration",
"declarations",
"decorators",
"default",
"delegate",
"directives",
"discriminant",
"elementType",
"elementTypes",
"elements",
"exact",
"expectedNode",
"exported",
"exprName",
"expression",
"expressions",
"extends",
"extendsType",
"falseType",
"finalizer",
"flags",
"generator",
"handler",
"id",
"impltype",
"imported",
"indexType",
"indexers",
"init",
"initializer",
"internalSlots",
"interpreter",
"key",
"kind",
"label",
"left",
"literal",
"local",
"members",
"meta",
"method",
"moduleReference",
"name",
"nameType",
"namespace",
"object",
"objectType",
"openingElement",
"openingFragment",
"operator",
"optional",
"param",
"parameter",
"parameterName",
"parameters",
"params",
"pattern",
"prefix",
"program",
"properties",
"property",
"qualification",
"qualifier",
"quasi",
"quasis",
"rest",
"returnType",
"right",
"selfClosing",
"shorthand",
"source",
"sourceType",
"specifiers",
"static",
"superClass",
"supertype",
"tag",
"tail",
"test",
"tokens",
"trueType",
"typeAnnotation",
"typeName",
"typeParameter",
"typeParameters",
"types",
"update",
"value",
"variance"
]
nv-cli-esdef# nv_esdef_bybuild -B tokens
[ { _type: 'File', builder: [ 'program', 'comments', 'tokens' ] } ]
nv-cli-esdef#
nv-cli-esdef# nv_esdef_bybuild -B operator
[
{
_type: 'AssignmentExpression',
builder: [ 'operator', 'left', 'right' ]
},
{
_type: 'BinaryExpression',
builder: [ 'operator', 'left', 'right' ]
},
{
_type: 'LogicalExpression',
builder: [ 'operator', 'left', 'right' ]
},
{
_type: 'UnaryExpression',
builder: [ 'operator', 'argument', 'prefix' ]
},
{
_type: 'UpdateExpression',
builder: [ 'operator', 'argument', 'prefix' ]
}
]
nv-cli-esdef#
byattr
- which belongs to fields but NOT in visitors
nv-cli-esdef# nv_esdef_byttr -h
Usage: nv_esdef_byattr [options]
Options:
-l, --list list all attribs of esnode
-A, --attribs attrib names(which belongs to field-keys, but not of attribs), @and means must includes, @or means or,default @or
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
-d, --detail show full info
nv-cli-esdef#
nv-cli-esdef#
nv-cli-esdef# nv_esdef_byttr -l
[
'abstract', 'access', 'accessibility',
'assertions', 'asserts', 'async',
'await', 'comments', 'computed',
'const', 'declare', 'decorators',
'default', 'definite', 'delegate',
'exact', 'expectedNode', 'explicitType',
'exportKind', 'expression', 'flags',
'generator', 'global', 'hasUnknownMembers',
'importKind', 'inexact', 'init',
'initializer', 'interpreter', 'isExport',
'kind', 'method', 'name',
'operator', 'optional', 'override',
'pattern', 'predicate', 'prefix',
'proto', 'readonly', 'selfClosing',
'shorthand', 'sourceFile', 'sourceType',
'static', 'tail', 'this',
'tokens', 'typeAnnotation', 'typeParameters',
'value'
]
nv-cli-esdef# nv_esdef_byttr -A readonly
[
{
_type: 'TSParameterProperty',
attribs: [ 'accessibility', 'readonly' ]
},
{
_type: 'TSPropertySignature',
attribs: [ 'computed', 'optional', 'readonly' ]
},
{ _type: 'TSIndexSignature', attribs: [ 'readonly', 'static' ] },
{ _type: 'TSMappedType', attribs: [ 'readonly', 'optional' ] },
{
_type: 'ClassProperty',
attribs: [ 'definite', 'readonly', 'declare', 'computed', 'static' ]
}
]
byinherit
- normally useless
nv-cli-esdef# nv_esdef_byinherit -h
Usage: nv_esdef_byinherit [options]
Options:
-l, --list list all inherits of esnode
-I, --inherits inherit names, @and means must includes, @or means or,default @or
-c, --core search in core category
-t, --ts search in typescript category
-j, --jsx search in JSX category
-f, --flow search in FLOW category
-m, --misc search in misc category
-e, --experimental search in experimental category
-a, --all search in all categories
-o, --output output js file,default stdout
-h, --help usage
-d, --detail show full info
nv-cli-esdef# nv_esdef_byinherit -l
[ '', 'CallExpression', 'ClassExpression', 'FunctionDeclaration' ]
nv-cli-esdef# nv_esdef_byinherit -I ll
[ { _type: 'NewExpression', inherits: 'CallExpression' } ]
nv-cli-esdef#
bydecrep
- useless
nv-cli-esdef# nv_esdef_bydecrep -D eral
[
{ _type: 'NumericLiteral', deprecatedAlias: 'NumberLiteral' },
{ _type: 'RegExpLiteral', deprecatedAlias: 'RegexLiteral' }
]
nv-cli-esdef# nv_esdef_bydecrep -D perty
[
{ _type: 'RestElement', deprecatedAlias: 'RestProperty' },
{ _type: 'SpreadElement', deprecatedAlias: 'SpreadProperty' }
]
nv-cli-esdef#
LICENSE
- ISC
EACCES
npm install nv-cli-esdef -g --unsafe-perm=true --allow-root
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.16
3 years ago
1.0.15
3 years ago
1.0.11
3 years ago
1.0.10
3 years ago
1.0.14
3 years ago
1.0.13
3 years ago
1.0.12
3 years ago
1.0.9
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.0.5
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago