Skip to content

Commit

Permalink
style: use optional chaining to simplify code (#7920)
Browse files Browse the repository at this point in the history
  • Loading branch information
domoritz committed Jan 17, 2022
1 parent 517cef0 commit 75745a1
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/axis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ export type ConditionalAxisProperty<V extends Value | number[], ES extends ExprR
export function isConditionalAxisValue<V extends Value | number[], ES extends ExprRef | SignalRef>(
v: any
): v is ConditionalAxisProperty<V, ES> {
return v && v['condition'];
return v?.condition;
}

export type ConditionalAxisNumber<ES extends ExprRef | SignalRef = ExprRef | SignalRef> = ConditionalAxisProperty<
Expand Down
8 changes: 4 additions & 4 deletions src/channeldef.ts
Original file line number Diff line number Diff line change
Expand Up @@ -660,21 +660,21 @@ export function isConditionalDef<CD extends ChannelDef<any> | GuideEncodingCondi
export function hasConditionalFieldDef<F extends Field>(
channelDef: Partial<ChannelDef<F>>
): channelDef is {condition: Conditional<TypedFieldDef<F>>} {
const condition = channelDef && channelDef['condition'];
const condition = channelDef?.['condition'];
return !!condition && !isArray(condition) && isFieldDef(condition);
}

export function hasConditionalFieldOrDatumDef<F extends Field>(
channelDef: ChannelDef<F>
): channelDef is {condition: Conditional<TypedFieldDef<F>>} {
const condition = channelDef && channelDef['condition'];
const condition = channelDef?.['condition'];
return !!condition && !isArray(condition) && isFieldOrDatumDef(condition);
}

export function hasConditionalValueDef<F extends Field>(
channelDef: ChannelDef<F>
): channelDef is ValueDef<any> & {condition: Conditional<ValueDef<any>> | Conditional<ValueDef<any>>[]} {
const condition = channelDef && channelDef['condition'];
const condition = channelDef?.['condition'];
return !!condition && (isArray(condition) || isValueDef(condition));
}

Expand All @@ -686,7 +686,7 @@ export function isFieldDef<F extends Field>(
}

export function channelDefType<F extends Field>(channelDef: ChannelDef<F>): Type | undefined {
return channelDef && channelDef['type'];
return channelDef?.['type'];
}

export function isDatumDef<F extends Field>(
Expand Down
2 changes: 1 addition & 1 deletion src/expr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export interface ExprRef {
}

export function isExprRef(o: any): o is ExprRef {
return o && !!o['expr'];
return !!o?.expr;
}

export function replaceExprRef<T extends Dict<any>>(index: T) {
Expand Down
14 changes: 7 additions & 7 deletions src/predicate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export interface FieldEqualPredicate extends FieldPredicateBase {
}

export function isFieldEqualPredicate(predicate: any): predicate is FieldEqualPredicate {
return predicate && !!predicate.field && predicate.equal !== undefined;
return !!predicate?.field && predicate.equal !== undefined;
}

export interface FieldLTPredicate extends FieldPredicateBase {
Expand All @@ -84,7 +84,7 @@ export interface FieldLTPredicate extends FieldPredicateBase {
}

export function isFieldLTPredicate(predicate: any): predicate is FieldLTPredicate {
return predicate && !!predicate.field && predicate.lt !== undefined;
return !!predicate?.field && predicate.lt !== undefined;
}

export interface FieldLTEPredicate extends FieldPredicateBase {
Expand All @@ -95,7 +95,7 @@ export interface FieldLTEPredicate extends FieldPredicateBase {
}

export function isFieldLTEPredicate(predicate: any): predicate is FieldLTEPredicate {
return predicate && !!predicate.field && predicate.lte !== undefined;
return !!predicate?.field && predicate.lte !== undefined;
}

export interface FieldGTPredicate extends FieldPredicateBase {
Expand All @@ -106,7 +106,7 @@ export interface FieldGTPredicate extends FieldPredicateBase {
}

export function isFieldGTPredicate(predicate: any): predicate is FieldGTPredicate {
return predicate && !!predicate.field && predicate.gt !== undefined;
return !!predicate?.field && predicate.gt !== undefined;
}

export interface FieldGTEPredicate extends FieldPredicateBase {
Expand All @@ -117,7 +117,7 @@ export interface FieldGTEPredicate extends FieldPredicateBase {
}

export function isFieldGTEPredicate(predicate: any): predicate is FieldGTEPredicate {
return predicate && !!predicate.field && predicate.gte !== undefined;
return !!predicate?.field && predicate.gte !== undefined;
}

export interface FieldRangePredicate extends FieldPredicateBase {
Expand Down Expand Up @@ -158,12 +158,12 @@ export interface FieldValidPredicate extends FieldPredicateBase {

export function isFieldOneOfPredicate(predicate: any): predicate is FieldOneOfPredicate {
return (
predicate && !!predicate.field && (isArray(predicate.oneOf) || isArray(predicate.in)) // backward compatibility
!!predicate?.field && (isArray(predicate.oneOf) || isArray(predicate.in)) // backward compatibility
);
}

export function isFieldValidPredicate(predicate: any): predicate is FieldValidPredicate {
return predicate && !!predicate.field && predicate.valid !== undefined;
return !!predicate?.field && predicate.valid !== undefined;
}

export function isFieldPredicate(
Expand Down
2 changes: 1 addition & 1 deletion src/scale.ts
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ export interface DomainUnionWith {
}

export function isDomainUnionWith(domain: Domain): domain is DomainUnionWith {
return domain && domain['unionWith'];
return domain?.['unionWith'];
}

export interface FieldRange {
Expand Down
4 changes: 2 additions & 2 deletions src/selection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -321,13 +321,13 @@ export const defaultConfig: SelectionConfig = {
};

export function isLegendBinding(bind: any): bind is LegendBinding {
return !!bind && (bind === 'legend' || !!bind.legend);
return bind === 'legend' || !!bind?.legend;
}

export function isLegendStreamBinding(bind: any): bind is LegendStreamBinding {
return isLegendBinding(bind) && isObject(bind);
}

export function isSelectionParameter(param: any): param is SelectionParameter {
return !!param['select'];
return !!param?.['select'];
}
6 changes: 3 additions & 3 deletions src/sort.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,13 +109,13 @@ export type AllSortString = SortOrder | SortByChannel | SortByChannelDesc;
export type Sort<F> = SortArray | AllSortString | EncodingSortField<F> | SortByEncoding | null;

export function isSortByEncoding<F>(sort: Sort<F>): sort is SortByEncoding {
return !!sort && !!sort['encoding'];
return !!sort?.['encoding'];
}

export function isSortField<F>(sort: Sort<F>): sort is EncodingSortField<F> {
return !!sort && (sort['op'] === 'count' || !!sort['field']);
return sort && (sort['op'] === 'count' || !!sort['field']);
}

export function isSortArray<F>(sort: Sort<F>): sort is SortArray {
return !!sort && isArray(sort);
return sort && isArray(sort);
}
2 changes: 1 addition & 1 deletion src/vega.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ export type VgScaleDataRefWithSort = ScaleDataRef & {
};

export function isSignalRef(o: any): o is SignalRef {
return o && !!o['signal'];
return !!o?.signal;
}

// TODO: add type of value (Make it VgValueRef<V extends ValueOrGradient> {value?:V ...})
Expand Down

0 comments on commit 75745a1

Please sign in to comment.