This commit is contained in:
fisker Cheung authored and GitHub committed 2026-05-27 00:36:27 +08:00
1 parent c74ee98369
commit b83cb29216
2 files changed
+161

No files matched your search

@@ -46,3 +46,136 @@ model = types
================================================================================
`;
exports[`issue-19052.ts - {"objectWrap":"collapse"} format 1`] = `
====================================options=====================================
objectWrap: "collapse"
parsers: ["typescript", "flow"]
printWidth: 80 (default) |
=====================================input======================================
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=====================================
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();
}
}
================================================================================
`;
exports[`issue-19052.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow"]
printWidth: 80 (default) |
=====================================input======================================
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=====================================
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();
}
}
================================================================================
`;
@@ -0,0 +1,28 @@
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();
}
}