Prettier v3.8.2
Playground link
--parser babel-ts
--object-wrap collapse
Input:
@Injectable()
export class OpinionsRepositoryService {
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
params: FindAllOpinionsParams,
groupByField: TGroupBy,
includeFields = ["_id"] as Fields,
) {
return this.opinionModel
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
{
$match: this.mongodbUtilities.clean(params),
},
{
$group: {
_id: `$${groupByField}`,
opinions: {
$push: includeFields.reduce(
(acc, field) => ({ ...acc, [field]: `$${field}` }),
{},
),
},
},
},
{ $set: { [groupByField]: "$_id" } },
{ $unset: "_id" },
])
.exec();
}
}
Output:
@Injectable()
export class OpinionsRepositoryService {
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
params: FindAllOpinionsParams,
groupByField: TGroupBy,
includeFields = ["_id"] as Fields,
) {
return this.opinionModel
.aggregate<
GroupedOpinions<Fields, TGroupBy>
>([{ $match: this.mongodbUtilities.clean(params) }, { $group: { _id: `$${groupByField}`, opinions: { $push: includeFields.reduce((acc, field) => ({ ...acc, [field]: `$${field}` }), {}) } } }, { $set: { [groupByField]: "$_id" } }, { $unset: "_id" }])
.exec();
}
}
Expected output:
@Injectable()
export class OpinionsRepositoryService {
groupBy<Fields extends OpinionField[], TGroupBy extends OpinionField>(
params: FindAllOpinionsParams,
groupByField: TGroupBy,
includeFields = ["_id"] as Fields,
) {
return this.opinionModel
.aggregate<GroupedOpinions<Fields, TGroupBy>>([
{
$match: this.mongodbUtilities.clean(params),
},
{
$group: {
_id: `$${groupByField}`,
opinions: {
$push: includeFields.reduce(
(acc, field) => ({ ...acc, [field]: `$${field}` }),
{},
),
},
},
},
{ $set: { [groupByField]: "$_id" } },
{ $unset: "_id" },
])
.exec();
}
}
Why?
There is a line longer than default print width of 80 so object should not be collapsed
Prettier v3.8.2
Playground link
Input:
Output:
Expected output:
Why?
There is a line longer than default print width of 80 so object should not be collapsed