[−][src]Struct swc_ecma_transforms::optimization::JsonParse
Trnasform to optimize performance of literals.
This transform converts pure object literals like
{a: 1, b: 2}
to
JSON.parse('{"a":1, "b"}')
COnditions
If any of the conditions below is matched, pure object literal is converter
to JSON.parse
- Object literal is deeply nested (threshold: )
See https://github.com/swc-project/swc/issues/409
Fields
min_cost: usize
Trait Implementations
impl Debug for JsonParse
[src]
impl Default for JsonParse
[src]
impl Fold<Accessibility> for JsonParse
[src]
fn fold(&mut self, node: Accessibility) -> Accessibility
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<Expr> for JsonParse
[src]
fn fold(&mut self, e: Expr) -> Expr
[src]
Hnaldes parent expressions before child expressions.
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TruePlusMinus> for JsonParse
[src]
fn fold(&mut self, node: TruePlusMinus) -> TruePlusMinus
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsArrayType> for JsonParse
[src]
fn fold(&mut self, node: TsArrayType) -> TsArrayType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsCallSignatureDecl> for JsonParse
[src]
fn fold(&mut self, node: TsCallSignatureDecl) -> TsCallSignatureDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsConditionalType> for JsonParse
[src]
fn fold(&mut self, node: TsConditionalType) -> TsConditionalType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsConstructSignatureDecl> for JsonParse
[src]
fn fold(&mut self, node: TsConstructSignatureDecl) -> TsConstructSignatureDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsConstructorType> for JsonParse
[src]
fn fold(&mut self, node: TsConstructorType) -> TsConstructorType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsEntityName> for JsonParse
[src]
fn fold(&mut self, node: TsEntityName) -> TsEntityName
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsEnumDecl> for JsonParse
[src]
fn fold(&mut self, node: TsEnumDecl) -> TsEnumDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsEnumMember> for JsonParse
[src]
fn fold(&mut self, node: TsEnumMember) -> TsEnumMember
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsEnumMemberId> for JsonParse
[src]
fn fold(&mut self, node: TsEnumMemberId) -> TsEnumMemberId
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsExternalModuleRef> for JsonParse
[src]
fn fold(&mut self, node: TsExternalModuleRef) -> TsExternalModuleRef
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsFnOrConstructorType> for JsonParse
[src]
fn fold(&mut self, node: TsFnOrConstructorType) -> TsFnOrConstructorType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsFnParam> for JsonParse
[src]
fn fold(&mut self, node: TsFnParam) -> TsFnParam
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsFnType> for JsonParse
[src]
fn fold(&mut self, node: TsFnType) -> TsFnType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsImportEqualsDecl> for JsonParse
[src]
fn fold(&mut self, node: TsImportEqualsDecl) -> TsImportEqualsDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsImportType> for JsonParse
[src]
fn fold(&mut self, node: TsImportType) -> TsImportType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsIndexSignature> for JsonParse
[src]
fn fold(&mut self, node: TsIndexSignature) -> TsIndexSignature
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsIndexedAccessType> for JsonParse
[src]
fn fold(&mut self, node: TsIndexedAccessType) -> TsIndexedAccessType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsInferType> for JsonParse
[src]
fn fold(&mut self, node: TsInferType) -> TsInferType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsInterfaceBody> for JsonParse
[src]
fn fold(&mut self, node: TsInterfaceBody) -> TsInterfaceBody
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsInterfaceDecl> for JsonParse
[src]
fn fold(&mut self, node: TsInterfaceDecl) -> TsInterfaceDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsIntersectionType> for JsonParse
[src]
fn fold(&mut self, node: TsIntersectionType) -> TsIntersectionType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsKeywordType> for JsonParse
[src]
fn fold(&mut self, node: TsKeywordType) -> TsKeywordType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsKeywordTypeKind> for JsonParse
[src]
fn fold(&mut self, node: TsKeywordTypeKind) -> TsKeywordTypeKind
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsMappedType> for JsonParse
[src]
fn fold(&mut self, node: TsMappedType) -> TsMappedType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsMethodSignature> for JsonParse
[src]
fn fold(&mut self, node: TsMethodSignature) -> TsMethodSignature
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsModuleBlock> for JsonParse
[src]
fn fold(&mut self, node: TsModuleBlock) -> TsModuleBlock
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsModuleDecl> for JsonParse
[src]
fn fold(&mut self, node: TsModuleDecl) -> TsModuleDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsModuleName> for JsonParse
[src]
fn fold(&mut self, node: TsModuleName) -> TsModuleName
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsModuleRef> for JsonParse
[src]
fn fold(&mut self, node: TsModuleRef) -> TsModuleRef
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsNamespaceBody> for JsonParse
[src]
fn fold(&mut self, node: TsNamespaceBody) -> TsNamespaceBody
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsNamespaceDecl> for JsonParse
[src]
fn fold(&mut self, node: TsNamespaceDecl) -> TsNamespaceDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsNamespaceExportDecl> for JsonParse
[src]
fn fold(&mut self, node: TsNamespaceExportDecl) -> TsNamespaceExportDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsOptionalType> for JsonParse
[src]
fn fold(&mut self, node: TsOptionalType) -> TsOptionalType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsParamProp> for JsonParse
[src]
fn fold(&mut self, node: TsParamProp) -> TsParamProp
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsParamPropParam> for JsonParse
[src]
fn fold(&mut self, node: TsParamPropParam) -> TsParamPropParam
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsParenthesizedType> for JsonParse
[src]
fn fold(&mut self, node: TsParenthesizedType) -> TsParenthesizedType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsPropertySignature> for JsonParse
[src]
fn fold(&mut self, node: TsPropertySignature) -> TsPropertySignature
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsQualifiedName> for JsonParse
[src]
fn fold(&mut self, node: TsQualifiedName) -> TsQualifiedName
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsRestType> for JsonParse
[src]
fn fold(&mut self, node: TsRestType) -> TsRestType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsSignatureDecl> for JsonParse
[src]
fn fold(&mut self, node: TsSignatureDecl) -> TsSignatureDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsThisType> for JsonParse
[src]
fn fold(&mut self, node: TsThisType) -> TsThisType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsThisTypeOrIdent> for JsonParse
[src]
fn fold(&mut self, node: TsThisTypeOrIdent) -> TsThisTypeOrIdent
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTupleType> for JsonParse
[src]
fn fold(&mut self, node: TsTupleType) -> TsTupleType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsType> for JsonParse
[src]
fn fold(&mut self, node: TsType) -> TsType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeAliasDecl> for JsonParse
[src]
fn fold(&mut self, node: TsTypeAliasDecl) -> TsTypeAliasDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeAnn> for JsonParse
[src]
fn fold(&mut self, node: TsTypeAnn) -> TsTypeAnn
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeAssertion> for JsonParse
[src]
fn fold(&mut self, node: TsTypeAssertion) -> TsTypeAssertion
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeCastExpr> for JsonParse
[src]
fn fold(&mut self, node: TsTypeCastExpr) -> TsTypeCastExpr
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeElement> for JsonParse
[src]
fn fold(&mut self, node: TsTypeElement) -> TsTypeElement
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeLit> for JsonParse
[src]
fn fold(&mut self, node: TsTypeLit) -> TsTypeLit
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeOperator> for JsonParse
[src]
fn fold(&mut self, node: TsTypeOperator) -> TsTypeOperator
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeOperatorOp> for JsonParse
[src]
fn fold(&mut self, node: TsTypeOperatorOp) -> TsTypeOperatorOp
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeParam> for JsonParse
[src]
fn fold(&mut self, node: TsTypeParam) -> TsTypeParam
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeParamDecl> for JsonParse
[src]
fn fold(&mut self, node: TsTypeParamDecl) -> TsTypeParamDecl
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeParamInstantiation> for JsonParse
[src]
fn fold(&mut self, node: TsTypeParamInstantiation) -> TsTypeParamInstantiation
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypePredicate> for JsonParse
[src]
fn fold(&mut self, node: TsTypePredicate) -> TsTypePredicate
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeQuery> for JsonParse
[src]
fn fold(&mut self, node: TsTypeQuery) -> TsTypeQuery
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeQueryExpr> for JsonParse
[src]
fn fold(&mut self, node: TsTypeQueryExpr) -> TsTypeQueryExpr
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsTypeRef> for JsonParse
[src]
fn fold(&mut self, node: TsTypeRef) -> TsTypeRef
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsUnionOrIntersectionType> for JsonParse
[src]
fn fold(&mut self, node: TsUnionOrIntersectionType) -> TsUnionOrIntersectionType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl Fold<TsUnionType> for JsonParse
[src]
fn fold(&mut self, node: TsUnionType) -> TsUnionType
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
Auto Trait Implementations
impl RefUnwindSafe for JsonParse
impl Send for JsonParse
impl Sync for JsonParse
impl Unpin for JsonParse
impl UnwindSafe for JsonParse
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Erased for T
impl<T, F> Fold<T> for F where
T: FoldWith<F>,
[src]
T: FoldWith<F>,
default fn fold(&mut self, t: T) -> T
[src]
fn then<F>(self, folder: F) -> AndThen<Self, F> where
F: Fold<T>,
[src]
F: Fold<T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<P> Pass for P where
P: Fold<Module> + ?Sized,
[src]
P: Fold<Module> + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, F> Visit<T> for F where
T: VisitWith<F> + ?Sized,
[src]
T: VisitWith<F> + ?Sized,
default fn visit(&mut self, t: &T)
[src]
fn then<F>(self, visitor: F) -> AndThen<Self, F> where
F: Visit<T>,
[src]
F: Visit<T>,
impl<T, F> VisitMut<T> for F where
T: VisitMutWith<F> + ?Sized,
[src]
T: VisitMutWith<F> + ?Sized,