Merge branch 'release'
This commit is contained in:
commit
28ec0fff14
16
es/store.js
16
es/store.js
|
|
@ -1460,7 +1460,7 @@ export default class TreeStore extends CascadeStore {
|
|||
else {
|
||||
assert([0, 1].includes(rel));
|
||||
result2[k] = row2[k];
|
||||
assert(['string', 'number', 'boolean'].includes(typeof row2[k]));
|
||||
assert(['string', 'number', 'boolean'].includes(typeof row2[k]) || row2[k] === null);
|
||||
key += `${row2[k]}`;
|
||||
values.push(row2[k]);
|
||||
}
|
||||
|
|
@ -1558,8 +1558,9 @@ export default class TreeStore extends CascadeStore {
|
|||
result[op] = 0;
|
||||
const data = distinct ? uniq(results[op]) : results[op];
|
||||
data.forEach((ele) => {
|
||||
assert(typeof ele === 'number', '只有number类型的属性才可以计算sum');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (op.startsWith('#count')) {
|
||||
|
|
@ -1574,11 +1575,14 @@ export default class TreeStore extends CascadeStore {
|
|||
else if (op.startsWith('#avg')) {
|
||||
result[op] = 0;
|
||||
const data = (distinct ? uniq(results[op]) : results[op]).filter(ele => ![undefined, null].includes(ele));
|
||||
let count = 0;
|
||||
data.forEach((ele) => {
|
||||
assert(typeof ele === 'number', '只有number类型的属性才可以计算avg');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
count += 1;
|
||||
}
|
||||
});
|
||||
result[op] = result[op] / data.length;
|
||||
result[op] = result[op] / count;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
16
lib/store.js
16
lib/store.js
|
|
@ -1462,7 +1462,7 @@ class TreeStore extends CascadeStore_1.CascadeStore {
|
|||
else {
|
||||
(0, assert_1.assert)([0, 1].includes(rel));
|
||||
result2[k] = row2[k];
|
||||
(0, assert_1.assert)(['string', 'number', 'boolean'].includes(typeof row2[k]));
|
||||
(0, assert_1.assert)(['string', 'number', 'boolean'].includes(typeof row2[k]) || row2[k] === null);
|
||||
key += `${row2[k]}`;
|
||||
values.push(row2[k]);
|
||||
}
|
||||
|
|
@ -1560,8 +1560,9 @@ class TreeStore extends CascadeStore_1.CascadeStore {
|
|||
result[op] = 0;
|
||||
const data = distinct ? (0, lodash_1.uniq)(results[op]) : results[op];
|
||||
data.forEach((ele) => {
|
||||
(0, assert_1.assert)(typeof ele === 'number', '只有number类型的属性才可以计算sum');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (op.startsWith('#count')) {
|
||||
|
|
@ -1576,11 +1577,14 @@ class TreeStore extends CascadeStore_1.CascadeStore {
|
|||
else if (op.startsWith('#avg')) {
|
||||
result[op] = 0;
|
||||
const data = (distinct ? (0, lodash_1.uniq)(results[op]) : results[op]).filter(ele => ![undefined, null].includes(ele));
|
||||
let count = 0;
|
||||
data.forEach((ele) => {
|
||||
(0, assert_1.assert)(typeof ele === 'number', '只有number类型的属性才可以计算avg');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
count += 1;
|
||||
}
|
||||
});
|
||||
result[op] = result[op] / data.length;
|
||||
result[op] = result[op] / count;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "oak-memory-tree-store",
|
||||
"version": "3.3.10",
|
||||
"version": "3.3.11",
|
||||
"description": "oak框架中内存级store的实现",
|
||||
"author": {
|
||||
"name": "XuChang"
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
"es/**/*"
|
||||
],
|
||||
"dependencies": {
|
||||
"oak-domain": "^5.1.20",
|
||||
"oak-domain": "^5.1.21",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
|
|
|||
16
src/store.ts
16
src/store.ts
|
|
@ -1749,7 +1749,7 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
|
|||
else {
|
||||
assert([0, 1].includes(rel as number));
|
||||
(result2 as any)[k] = row2[k];
|
||||
assert(['string', 'number', 'boolean'].includes(typeof row2[k]));
|
||||
assert(['string', 'number', 'boolean'].includes(typeof row2[k]) || row2[k] === null);
|
||||
key += `${row2[k]}`;
|
||||
values.push(row2[k]);
|
||||
}
|
||||
|
|
@ -1860,8 +1860,9 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
|
|||
const data = distinct ? uniq(results[op]) : results[op];
|
||||
data.forEach(
|
||||
(ele) => {
|
||||
assert(typeof ele === 'number', '只有number类型的属性才可以计算sum');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -1881,13 +1882,16 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
|
|||
const data = (distinct ? uniq(results[op]) : results[op]).filter(
|
||||
ele => ![undefined, null].includes(ele)
|
||||
);
|
||||
let count = 0;
|
||||
data.forEach(
|
||||
(ele) => {
|
||||
assert(typeof ele === 'number', '只有number类型的属性才可以计算avg');
|
||||
result[op] += ele;
|
||||
if (typeof ele === 'number') {
|
||||
result[op] += ele;
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
);
|
||||
result[op] = result[op]/data.length;
|
||||
result[op] = result[op]/count;
|
||||
}
|
||||
}
|
||||
return result as AggregationResult<ED[T]['Schema']>[number];
|
||||
|
|
|
|||
Loading…
Reference in New Issue