Skip to content

Instantly share code, notes, and snippets.

View FlavienBusseuil's full-sized avatar

Flavien Busseuil FlavienBusseuil

View GitHub Profile
@FlavienBusseuil
FlavienBusseuil / filter-conditional-object-initialization-spread.js
Last active January 2, 2020 20:44
Inline Conditional Object Initialization with Spread Operator
const filters = {
filter1,
filter2,
...(condition && { filter3 }),
filter4,
};
db.collection.find(filters);
@FlavienBusseuil
FlavienBusseuil / filter-conditional-object-initialization.js
Last active August 16, 2019 18:52
Inline Conditional Object Initialization with Filter
const filters = Object.assign(
...[
{ filter1 },
{ filter2 },
condition && { filter3 },
{ filter4 },
].filter(Boolean),
);
db.collection.find(filters);
@FlavienBusseuil
FlavienBusseuil / pipeline-inline-conditionnal-initialization.js
Last active August 16, 2019 17:48
Inline Conditional Initialization with F# Pipeline Operator
const filters = { filter1, filter2 }
|> f => condition ? { ...f, filter3 } : f
|> f => { ...f, filter4 };
db.collection.find(filters);
@FlavienBusseuil
FlavienBusseuil / conditional-object-initialization.js
Last active August 16, 2019 17:20
Conditional Object Initialization
const filters = {
filter1: value1,
filter2: value2,
};
if (condition) {
filters["filter3"] = value3;
}
filters["filter4"] = value4;
@FlavienBusseuil
FlavienBusseuil / es6-inline-conditional-object-initialization.js
Last active August 16, 2019 18:23
ES6 Inline Conditional Object Initialization
const filters = {
filter1,
filter2,
...(condition ? { filter3 } : {}),
filter4,
};
db.collection.find(filters);
@FlavienBusseuil
FlavienBusseuil / conditional-array-initialization.js
Last active August 5, 2019 20:24
Conditional Array Initialization
/* Start initializing aggregation stages based on condition */
const aggregationStages = [
stage1,
stage2,
];
if (condition) {
aggregationStages.push(stage3);
}
@FlavienBusseuil
FlavienBusseuil / inline-conditional-array-initialization.js
Last active August 5, 2019 20:25
Inline Conditional Array Initialization
const aggregationStages = [
stage1,
stage2,
condition && stage3
stage4,
].filter(Boolean);
db.collection.aggregate(aggregationStages);