[][src]Struct swc_ecma_transforms::optimization::JsonParse

pub struct JsonParse {
    pub min_cost: usize,
}

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]

impl Fold<Expr> for JsonParse[src]

fn fold(&mut self, e: Expr) -> Expr[src]

Hnaldes parent expressions before child expressions.

impl Fold<TruePlusMinus> for JsonParse[src]

impl Fold<TsArrayType> for JsonParse[src]

impl Fold<TsCallSignatureDecl> for JsonParse[src]

impl Fold<TsConditionalType> for JsonParse[src]

impl Fold<TsConstructSignatureDecl> for JsonParse[src]

impl Fold<TsConstructorType> for JsonParse[src]

impl Fold<TsEntityName> for JsonParse[src]

impl Fold<TsEnumDecl> for JsonParse[src]

impl Fold<TsEnumMember> for JsonParse[src]

impl Fold<TsEnumMemberId> for JsonParse[src]

impl Fold<TsExternalModuleRef> for JsonParse[src]

impl Fold<TsFnOrConstructorType> for JsonParse[src]

impl Fold<TsFnParam> for JsonParse[src]

impl Fold<TsFnType> for JsonParse[src]

impl Fold<TsImportEqualsDecl> for JsonParse[src]

impl Fold<TsImportType> for JsonParse[src]

impl Fold<TsIndexSignature> for JsonParse[src]

impl Fold<TsIndexedAccessType> for JsonParse[src]

impl Fold<TsInferType> for JsonParse[src]

impl Fold<TsInterfaceBody> for JsonParse[src]

impl Fold<TsInterfaceDecl> for JsonParse[src]

impl Fold<TsIntersectionType> for JsonParse[src]

impl Fold<TsKeywordType> for JsonParse[src]

impl Fold<TsKeywordTypeKind> for JsonParse[src]

impl Fold<TsMappedType> for JsonParse[src]

impl Fold<TsMethodSignature> for JsonParse[src]

impl Fold<TsModuleBlock> for JsonParse[src]

impl Fold<TsModuleDecl> for JsonParse[src]

impl Fold<TsModuleName> for JsonParse[src]

impl Fold<TsModuleRef> for JsonParse[src]

impl Fold<TsNamespaceBody> for JsonParse[src]

impl Fold<TsNamespaceDecl> for JsonParse[src]

impl Fold<TsNamespaceExportDecl> for JsonParse[src]

impl Fold<TsOptionalType> for JsonParse[src]

impl Fold<TsParamProp> for JsonParse[src]

impl Fold<TsParamPropParam> for JsonParse[src]

impl Fold<TsParenthesizedType> for JsonParse[src]

impl Fold<TsPropertySignature> for JsonParse[src]

impl Fold<TsQualifiedName> for JsonParse[src]

impl Fold<TsRestType> for JsonParse[src]

impl Fold<TsSignatureDecl> for JsonParse[src]

impl Fold<TsThisType> for JsonParse[src]

impl Fold<TsThisTypeOrIdent> for JsonParse[src]

impl Fold<TsTupleType> for JsonParse[src]

impl Fold<TsType> for JsonParse[src]

impl Fold<TsTypeAliasDecl> for JsonParse[src]

impl Fold<TsTypeAnn> for JsonParse[src]

impl Fold<TsTypeAssertion> for JsonParse[src]

impl Fold<TsTypeCastExpr> for JsonParse[src]

impl Fold<TsTypeElement> for JsonParse[src]

impl Fold<TsTypeLit> for JsonParse[src]

impl Fold<TsTypeOperator> for JsonParse[src]

impl Fold<TsTypeOperatorOp> for JsonParse[src]

impl Fold<TsTypeParam> for JsonParse[src]

impl Fold<TsTypeParamDecl> for JsonParse[src]

impl Fold<TsTypeParamInstantiation> for JsonParse[src]

impl Fold<TsTypePredicate> for JsonParse[src]

impl Fold<TsTypeQuery> for JsonParse[src]

impl Fold<TsTypeQueryExpr> for JsonParse[src]

impl Fold<TsTypeRef> for JsonParse[src]

impl Fold<TsUnionOrIntersectionType> for JsonParse[src]

impl Fold<TsUnionType> for JsonParse[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Erased for T

impl<T, F> Fold<T> for F where
    T: FoldWith<F>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<P> Pass for P where
    P: Fold<Module> + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, F> Visit<T> for F where
    T: VisitWith<F> + ?Sized
[src]