@common-stack/store-mongo 6.0.6-alpha.91 → 6.0.8-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
this.service = service;
|
|
9
9
|
}
|
|
10
10
|
withOptions = new DataLoader(async (options) => {
|
|
11
|
-
const [{ searchKey, ...rest }] = options;
|
|
11
|
+
const [{ searchKey, comparator, ...rest }] = options;
|
|
12
12
|
const ids = options.map((option) => option.id);
|
|
13
13
|
const results = await this.service.getAll({
|
|
14
14
|
...rest,
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
[searchKey]: { $in: ids },
|
|
18
18
|
},
|
|
19
19
|
});
|
|
20
|
-
return ids.map((modelId) => results.filter((item) =>
|
|
20
|
+
return ids.map((modelId) => results.filter((item) => {
|
|
21
|
+
if (typeof comparator === 'function')
|
|
22
|
+
return comparator(modelId, item);
|
|
23
|
+
return item[searchKey].toString() === modelId.toString();
|
|
24
|
+
}));
|
|
21
25
|
});
|
|
22
26
|
};
|
|
23
27
|
exports.BulkDataLoader = tslib.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-dataloader.cjs","sources":["../../src/dataloaders/bulk-dataloader.ts"],"sourcesContent":[null],"names":["BulkDataLoader","__decorate","injectable","__param","unmanaged"],"mappings":"wGAKaA,sBAAc,GAApB,MAAM,cAAyC,SAAQ,UAA4B,CAAA;AAC5C,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAwB,EAAA;AAC9D,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;KAKjE;IAED,WAAW,GAAG,IAAI,UAAU,CAA4B,OAAO,OAAO,KAAI;
|
|
1
|
+
{"version":3,"file":"bulk-dataloader.cjs","sources":["../../src/dataloaders/bulk-dataloader.ts"],"sourcesContent":[null],"names":["BulkDataLoader","__decorate","injectable","__param","unmanaged"],"mappings":"wGAKaA,sBAAc,GAApB,MAAM,cAAyC,SAAQ,UAA4B,CAAA;AAC5C,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAwB,EAAA;AAC9D,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;KAKjE;IAED,WAAW,GAAG,IAAI,UAAU,CAA4B,OAAO,OAAO,KAAI;AACtE,QAAA,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtC,YAAA,GAAG,IAAI;AACP,YAAA,QAAQ,EAAE;gBACN,GAAG,IAAI,CAAC,QAAQ;AAChB,gBAAA,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5B,aAAA;AACJ,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;YACpB,IAAI,OAAO,UAAU,KAAK,UAAU;AAAE,gBAAA,OAAO,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC5D,CAAC,CACL,CAAC;AACN,KAAC,CAAC,CAAC;EACN;AAzBYA,sBAAc,GAAAC,gBAAA,CAAA;AAD1B,IAAAC,oBAAU,EAAE;IAEIC,aAAA,CAAA,CAAA,EAAAC,mBAAS,EAAE,CAAA;;AADf,CAAA,EAAAJ,sBAAc,CAyB1B"}
|
|
@@ -8,7 +8,7 @@ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloa
|
|
|
8
8
|
this.service = service;
|
|
9
9
|
}
|
|
10
10
|
withOptions = new DataLoader(async (options) => {
|
|
11
|
-
const [{ searchKey, ...rest }] = options;
|
|
11
|
+
const [{ searchKey, comparator, ...rest }] = options;
|
|
12
12
|
const ids = options.map((option) => option.id);
|
|
13
13
|
const results = await this.service.getAll({
|
|
14
14
|
...rest,
|
|
@@ -17,7 +17,11 @@ import {__decorate,__param,__metadata}from'tslib';import DataLoader from'dataloa
|
|
|
17
17
|
[searchKey]: { $in: ids },
|
|
18
18
|
},
|
|
19
19
|
});
|
|
20
|
-
return ids.map((modelId) => results.filter((item) =>
|
|
20
|
+
return ids.map((modelId) => results.filter((item) => {
|
|
21
|
+
if (typeof comparator === 'function')
|
|
22
|
+
return comparator(modelId, item);
|
|
23
|
+
return item[searchKey].toString() === modelId.toString();
|
|
24
|
+
}));
|
|
21
25
|
});
|
|
22
26
|
};
|
|
23
27
|
BulkDataLoader = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-dataloader.mjs","sources":["../../src/dataloaders/bulk-dataloader.ts"],"sourcesContent":[null],"names":[],"mappings":"kIAKO,IAAM,cAAc,GAApB,MAAM,cAAyC,SAAQ,UAA4B,CAAA;AAC5C,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAwB,EAAA;AAC9D,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;KAKjE;IAED,WAAW,GAAG,IAAI,UAAU,CAA4B,OAAO,OAAO,KAAI;
|
|
1
|
+
{"version":3,"file":"bulk-dataloader.mjs","sources":["../../src/dataloaders/bulk-dataloader.ts"],"sourcesContent":[null],"names":[],"mappings":"kIAKO,IAAM,cAAc,GAApB,MAAM,cAAyC,SAAQ,UAA4B,CAAA;AAC5C,IAAA,OAAA,CAAA;AAA1C,IAAA,WAAA,CAA0C,OAAwB,EAAA;AAC9D,QAAA,KAAK,CAAC,OAAO,GAAa,KAAI;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;QAJmC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;KAKjE;IAED,WAAW,GAAG,IAAI,UAAU,CAA4B,OAAO,OAAO,KAAI;AACtE,QAAA,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;AACrD,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtC,YAAA,GAAG,IAAI;AACP,YAAA,QAAQ,EAAE;gBACN,GAAG,IAAI,CAAC,QAAQ;AAChB,gBAAA,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5B,aAAA;AACJ,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;YACpB,IAAI,OAAO,UAAU,KAAK,UAAU;AAAE,gBAAA,OAAO,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC5D,CAAC,CACL,CAAC;AACN,KAAC,CAAC,CAAC;EACN;AAzBY,cAAc,GAAA,UAAA,CAAA;AAD1B,IAAA,UAAU,EAAE;IAEI,OAAA,CAAA,CAAA,EAAA,SAAS,EAAE,CAAA;;AADf,CAAA,EAAA,cAAc,CAyB1B"}
|
|
@@ -3,6 +3,7 @@ import { IBaseService } from './base-service';
|
|
|
3
3
|
export type DataLoaderOptions<T> = Parameters<IBaseService<T>['getAll']>[0] & {
|
|
4
4
|
id: string;
|
|
5
5
|
searchKey: keyof T;
|
|
6
|
+
comparator?: (source: unknown, target: T) => boolean;
|
|
6
7
|
};
|
|
7
8
|
export type IDataLoader<T> = DataLoader<string, T> & {
|
|
8
9
|
withOptions: DataLoader<DataLoaderOptions<T>, T[]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/store-mongo",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.8-alpha.0",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"watch": "npm run build:lib:watch"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@common-stack/core": "6.0.
|
|
26
|
+
"@common-stack/core": "6.0.8-alpha.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"moleculer": "^0.14.33",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"typescript": {
|
|
41
41
|
"definition": "lib/index.d.ts"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "c2cf7919f46791e092714b9db5e4d01280929437"
|
|
44
44
|
}
|