topkat-utils 1.2.46 → 1.2.48
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.
- package/CHANGELOG.md +3 -0
- package/dist/src/mongo-utils.d.ts +1 -1
- package/dist/src/mongo-utils.js +4 -5
- package/dist/src/mongo-utils.js.map +1 -1
- package/dist/src/validation-utils.d.ts +1 -0
- package/dist/src/validation-utils.js +3 -3
- package/dist/src/validation-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/mongo-utils.ts +7 -8
- package/src/validation-utils.ts +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @return undefined if cannot find _id */
|
|
2
|
-
export declare function getId(obj
|
|
2
|
+
export declare function getId(obj: any): string | undefined;
|
|
3
3
|
/** Merge filter with correct handling of OR and AND
|
|
4
4
|
* @param {Object} filterA
|
|
5
5
|
* @param {Object} filterB
|
package/dist/src/mongo-utils.js
CHANGED
|
@@ -4,16 +4,15 @@ exports.mongoPush = exports.mongoFilterMerger = exports.getId = void 0;
|
|
|
4
4
|
//----------------------------------------
|
|
5
5
|
// MONGO UTILS
|
|
6
6
|
//----------------------------------------
|
|
7
|
-
const validation_utils_1 = require("./validation-utils");
|
|
8
7
|
const isset_1 = require("./isset");
|
|
9
8
|
/** @return undefined if cannot find _id */
|
|
10
|
-
function getId(obj
|
|
9
|
+
function getId(obj) {
|
|
11
10
|
if (!obj)
|
|
12
11
|
return; // null case
|
|
13
|
-
if (obj._id)
|
|
12
|
+
else if (typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj._id))
|
|
14
13
|
return obj._id.toString();
|
|
15
|
-
else if (
|
|
16
|
-
return obj
|
|
14
|
+
else if (typeof obj === 'string')
|
|
15
|
+
return obj;
|
|
17
16
|
else
|
|
18
17
|
return;
|
|
19
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-utils.js","sourceRoot":"","sources":["../../src/mongo-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"mongo-utils.js","sourceRoot":"","sources":["../../src/mongo-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,mCAA+B;AAE/B,2CAA2C;AAC3C,SAAgB,KAAK,CAAC,GAAQ;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAM,CAAC,YAAY;SACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,KAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;SAClE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;;QACvC,OAAM;AACf,CAAC;AALD,sBAKC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK;IACvE,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,OAAO,CAAC,IAAI,CAAA;KACtB;IACD,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1C,IAAI,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAA;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC7D,OAAO,OAAO,CAAC,GAAG,CAAA;KACrB;IACD,IAAI,eAAe,EAAE;QACjB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,OAAO,CAAA;KACjB;;QAAM,uCAAY,OAAO,GAAK,OAAO,EAAE;AAC5C,CAAC;AAdD,8CAcC;AAED,SAAgB,SAAS,CAAC,KAAa,EAAE,KAAU,EAAE,MAA4B;IAC7E,IAAI,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;IAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;AAC/B,CAAC;AAHD,8BAGC"}
|
|
@@ -46,7 +46,7 @@ exports.isValid = isValid;
|
|
|
46
46
|
function isType(value, type) { return isValid({ name: 'Is type check', value, type, emptyAllowed: true }); }
|
|
47
47
|
exports.isType = isType;
|
|
48
48
|
function validatorReturnErrArray(...paramsToValidate) {
|
|
49
|
-
|
|
49
|
+
const paramsFormatted = [];
|
|
50
50
|
// support for multiple names with multiple values for one rule. Eg: {name: [{startDate:'20180101'}, {endDate:'20180101'}], type: 'dateInt8'}
|
|
51
51
|
paramsToValidate.forEach(param => {
|
|
52
52
|
if (typeof param !== 'object' || Array.isArray(param))
|
|
@@ -64,7 +64,7 @@ function validatorReturnErrArray(...paramsToValidate) {
|
|
|
64
64
|
let optional = paramObj.optional || false;
|
|
65
65
|
const emptyAllowed = optional || paramObj.emptyAllowed || false;
|
|
66
66
|
if (paramObj.isset === false)
|
|
67
|
-
paramObj.mustNotBeSet = true; // ALIAS
|
|
67
|
+
paramObj.mustNotBeSet = true; // ALIAS
|
|
68
68
|
const errMess = (msg, extraInfos = {}, errCode = 422) => [msg, Object.assign({ code: errCode, origin: 'Generic validator', varName: name, gotValue: (0, isset_1.isset)(value) && (0, isset_1.isset)(value.data) && (0, isset_1.isset)(value.data.data) ? Object.assign(Object.assign({}, value), { data: 'Buffer' }) : value }, extraInfos)];
|
|
69
69
|
// accept syntax { 'myVar.var2': myVar.var2, ... }
|
|
70
70
|
if (typeof name !== 'undefined' && !hasValue) {
|
|
@@ -127,7 +127,7 @@ function validatorReturnErrArray(...paramsToValidate) {
|
|
|
127
127
|
if (!allTypes.includes(type))
|
|
128
128
|
throw new error_utils_1.DescriptiveError('typeDoNotExist', { code: 500, type });
|
|
129
129
|
const basicTypeCheck = {
|
|
130
|
-
objectId: val =>
|
|
130
|
+
objectId: val => typeof val === 'string',
|
|
131
131
|
dateInt6: val => (0, date_utils_1.isDateIntOrStringValid)(parseInt(val + '01'), true, 8),
|
|
132
132
|
dateInt: val => (0, date_utils_1.isDateIntOrStringValid)(val, true, 8),
|
|
133
133
|
dateInt8: val => (0, date_utils_1.isDateIntOrStringValid)(val, true, 8),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../src/validation-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,mBAAmB;AACnB,0CAA0C;AAC1C,mCAA+B;AAC/B,6CAAgG;AAChG,+CAAuC;AACvC,qCAAmC;AACnC,yCAAoC;AACpC,+CAAgD;AAChD,qFAA8E;AAI9E,SAAgB,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,CAAA,CAAC,CAAC;AAAxG,0BAAwG;AAExG,SAAgB,eAAe,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;AAAjG,0CAAiG;AAEjG,SAAgB,YAAY,CAAC,QAAQ,IAAI,OAAO,QAAQ,YAAY,IAAI,CAAA,CAAC,CAAC;AAA1E,oCAA0E;AAE1E,+BAA+B;AAC/B,SAAgB,4BAA4B,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;AAAzG,oEAAyG;AAEzG,4DAA4D;AAC5D,SAAgB,iBAAiB,CAAC,GAAG;IACjC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,8BAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;AAC/F,CAAC;AAFD,8CAEC;
|
|
1
|
+
{"version":3,"file":"validation-utils.js","sourceRoot":"","sources":["../../src/validation-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/mongo-utils.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
//----------------------------------------
|
|
2
2
|
// MONGO UTILS
|
|
3
3
|
//----------------------------------------
|
|
4
|
-
import {
|
|
5
|
-
import { isset } from "./isset"
|
|
4
|
+
import { isset } from './isset'
|
|
6
5
|
|
|
7
6
|
/** @return undefined if cannot find _id */
|
|
8
|
-
export function getId(obj: any
|
|
7
|
+
export function getId(obj: any): string | undefined {
|
|
9
8
|
if (!obj) return // null case
|
|
10
|
-
if (obj
|
|
11
|
-
else if (
|
|
9
|
+
else if (typeof obj === 'object' && obj?._id) return obj._id.toString()
|
|
10
|
+
else if (typeof obj === 'string') return obj
|
|
12
11
|
else return
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
/** Merge filter with correct handling of OR and AND
|
|
16
|
-
* @param {Object} filterA
|
|
17
|
-
* @param {Object} filterB
|
|
14
|
+
/** Merge filter with correct handling of OR and AND
|
|
15
|
+
* @param {Object} filterA
|
|
16
|
+
* @param {Object} filterB
|
|
18
17
|
* @param {Boolean} assignToFilterA defualt false: if true, it will modify filterA, else it will return merged filters as a new object
|
|
19
18
|
*/
|
|
20
19
|
export function mongoFilterMerger(filterA, filterB, assignToFilterA = false) {
|
package/src/validation-utils.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
//----------------------------------------
|
|
2
2
|
// VALIDATION UTILS
|
|
3
3
|
//----------------------------------------
|
|
4
|
-
import { isset } from
|
|
5
|
-
import { isDateIsoOrObjectValid, isDateIntOrStringValid, isTimeStringValid } from
|
|
6
|
-
import { asArray } from
|
|
7
|
-
import { configFn } from
|
|
8
|
-
import { isEmpty } from
|
|
9
|
-
import { DescriptiveError } from
|
|
10
|
-
import { removeCircularJSONstringify } from
|
|
4
|
+
import { isset } from './isset'
|
|
5
|
+
import { isDateIsoOrObjectValid, isDateIntOrStringValid, isTimeStringValid } from './date-utils'
|
|
6
|
+
import { asArray } from './array-utils'
|
|
7
|
+
import { configFn } from './config'
|
|
8
|
+
import { isEmpty } from './is-empty'
|
|
9
|
+
import { DescriptiveError } from './error-utils'
|
|
10
|
+
import { removeCircularJSONstringify } from './remove-circular-json-stringify'
|
|
11
11
|
|
|
12
12
|
export type BaseTypes = 'objectId' | 'dateInt6' | 'dateInt' | 'dateInt8' | 'dateInt12' | 'time' | 'humanReadableTimestamp' | 'date' | 'dateObject' | 'array' | 'object' | 'buffer' | 'string' | 'function' | 'boolean' | 'number' | 'bigint' | 'year' | 'email' | 'any'
|
|
13
13
|
|
|
@@ -86,6 +86,7 @@ export type ValidatorObject = {
|
|
|
86
86
|
isset?: boolean
|
|
87
87
|
optional?: boolean
|
|
88
88
|
isArray?: boolean
|
|
89
|
+
includes?: any
|
|
89
90
|
[k: string]: any
|
|
90
91
|
}
|
|
91
92
|
export function validator(...paramsToValidate: ValidatorObject[]) {
|
|
@@ -108,7 +109,7 @@ export function isValid(...paramsToValidate: ValidatorObject[]) {
|
|
|
108
109
|
export function isType(value, type: BaseTypes) { return isValid({ name: 'Is type check', value, type, emptyAllowed: true }) }
|
|
109
110
|
|
|
110
111
|
export function validatorReturnErrArray(...paramsToValidate: ValidatorObject[]): [string?, object?] {
|
|
111
|
-
|
|
112
|
+
const paramsFormatted: ValidatorObject[] = []
|
|
112
113
|
|
|
113
114
|
// support for multiple names with multiple values for one rule. Eg: {name: [{startDate:'20180101'}, {endDate:'20180101'}], type: 'dateInt8'}
|
|
114
115
|
paramsToValidate.forEach(param => {
|
|
@@ -127,7 +128,7 @@ export function validatorReturnErrArray(...paramsToValidate: ValidatorObject[]):
|
|
|
127
128
|
let value = paramObj.value
|
|
128
129
|
let optional = paramObj.optional || false
|
|
129
130
|
const emptyAllowed = optional || paramObj.emptyAllowed || false
|
|
130
|
-
if (paramObj.isset === false) paramObj.mustNotBeSet = true // ALIAS
|
|
131
|
+
if (paramObj.isset === false) paramObj.mustNotBeSet = true // ALIAS
|
|
131
132
|
const errMess = (msg, extraInfos = {}, errCode = 422): [string, object] => [msg, { code: errCode, origin: 'Generic validator', varName: name, gotValue: isset(value) && isset(value.data) && isset(value.data.data) ? { ...value, data: 'Buffer' } : value, ...extraInfos }]
|
|
132
133
|
|
|
133
134
|
// accept syntax { 'myVar.var2': myVar.var2, ... }
|
|
@@ -187,7 +188,7 @@ export function validatorReturnErrArray(...paramsToValidate: ValidatorObject[]):
|
|
|
187
188
|
if (!allTypes.includes(type)) throw new DescriptiveError('typeDoNotExist', { code: 500, type })
|
|
188
189
|
|
|
189
190
|
const basicTypeCheck = {
|
|
190
|
-
objectId: val =>
|
|
191
|
+
objectId: val => typeof val === 'string', // match any string because objectIds can be any strings (like 'taptow' for example)
|
|
191
192
|
dateInt6: val => isDateIntOrStringValid(parseInt(val + '01'), true, 8),
|
|
192
193
|
dateInt: val => isDateIntOrStringValid(val, true, 8),
|
|
193
194
|
dateInt8: val => isDateIntOrStringValid(val, true, 8),
|