@pegasimed.com/shared-tools 1.0.84 → 1.0.86

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.
@@ -0,0 +1 @@
1
+ export declare const applyStringMask: (mask: string, valueToChange?: string) => string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyStringMask = void 0;
4
+ const applyStringMask = (mask, valueToChange = '') => {
5
+ const value = valueToChange
6
+ ? valueToChange
7
+ .replace(/[^A-Z0-9]/gi, '')
8
+ .split('')
9
+ .reverse()
10
+ : [];
11
+ if (mask) {
12
+ const newMask = mask.split('').reverse();
13
+ for (let index = 0; index < value.length; index++) {
14
+ const chartCodeMask = newMask[index].codePointAt(0);
15
+ if (chartCodeMask === 48) {
16
+ continue;
17
+ }
18
+ value.splice(index, 0, newMask[index]);
19
+ index = index + 2;
20
+ if (index >= newMask.length - 1) {
21
+ break;
22
+ }
23
+ }
24
+ }
25
+ return value.reverse().join('');
26
+ };
27
+ exports.applyStringMask = applyStringMask;
28
+ //# sourceMappingURL=applyStringMask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyStringMask.js","sourceRoot":"","sources":["../../src/utils/applyStringMask.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,gBAAwB,EAAE,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,aAAa;QACzB,CAAC,CAAC,aAAa;aACV,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,KAAK,CAAC,EAAE,CAAC;aACT,OAAO,EAAE;QACd,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAElB,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAzBW,QAAA,eAAe,mBAyB1B"}
@@ -0,0 +1 @@
1
+ export declare const executeBasicFunctionString: (value: any, funcString: string, arg: string) => any;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeBasicFunctionString = void 0;
4
+ const executeBasicFunctionString = (value, funcString, arg) => {
5
+ if (typeof funcString !== 'string') {
6
+ throw new Error('the funcString must be a string');
7
+ }
8
+ if (typeof arg !== 'string') {
9
+ throw new Error('the arg must be a string');
10
+ }
11
+ try {
12
+ const validationFunction = new Function(...[arg, funcString]);
13
+ return validationFunction(value);
14
+ }
15
+ catch (error) {
16
+ throw error;
17
+ }
18
+ };
19
+ exports.executeBasicFunctionString = executeBasicFunctionString;
20
+ //# sourceMappingURL=executeFunctionString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeFunctionString.js","sourceRoot":"","sources":["../../src/utils/executeFunctionString.ts"],"names":[],"mappings":";;;AAAO,MAAM,0BAA0B,GAAG,CAAC,KAAU,EAAE,UAAkB,EAAE,GAAW,EAAE,EAAE;IACxF,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QAE9D,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,0BAA0B,8BAerC"}
@@ -1,7 +1,9 @@
1
1
  export * from './documents';
2
2
  export * from './request';
3
+ export * from './applyStringMask';
3
4
  export * from './createExamOrderNumber';
4
5
  export * from './date';
6
+ export * from './executeFunctionString';
5
7
  export * from './functionOperations';
6
8
  export * from './getAllJsonKeyAndValues';
7
9
  export * from './IntegrationLog';
@@ -10,4 +12,6 @@ export * from './newValueInstance';
10
12
  export * from './removeNullAndUndefinedValues';
11
13
  export * from './sendSlackMessage';
12
14
  export * from './validateArrayValues';
15
+ export * from './validateIdentifierInput';
13
16
  export * from './validateObjectValues';
17
+ export * from './validateStringChartAccepted';
@@ -16,8 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./documents"), exports);
18
18
  __exportStar(require("./request"), exports);
19
+ __exportStar(require("./applyStringMask"), exports);
19
20
  __exportStar(require("./createExamOrderNumber"), exports);
20
21
  __exportStar(require("./date"), exports);
22
+ __exportStar(require("./executeFunctionString"), exports);
21
23
  __exportStar(require("./functionOperations"), exports);
22
24
  __exportStar(require("./getAllJsonKeyAndValues"), exports);
23
25
  __exportStar(require("./IntegrationLog"), exports);
@@ -26,5 +28,7 @@ __exportStar(require("./newValueInstance"), exports);
26
28
  __exportStar(require("./removeNullAndUndefinedValues"), exports);
27
29
  __exportStar(require("./sendSlackMessage"), exports);
28
30
  __exportStar(require("./validateArrayValues"), exports);
31
+ __exportStar(require("./validateIdentifierInput"), exports);
29
32
  __exportStar(require("./validateObjectValues"), exports);
33
+ __exportStar(require("./validateStringChartAccepted"), exports);
30
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,0DAAwC;AACxC,yCAAuB;AACvB,uDAAqC;AACrC,2DAAyC;AACzC,mDAAiC;AACjC,wDAAsC;AACtC,qDAAmC;AACnC,iEAA+C;AAC/C,qDAAmC;AACnC,wDAAsC;AACtC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,oDAAkC;AAClC,0DAAwC;AACxC,yCAAuB;AACvB,0DAAwC;AACxC,uDAAqC;AACrC,2DAAyC;AACzC,mDAAiC;AACjC,wDAAsC;AACtC,qDAAmC;AACnC,iEAA+C;AAC/C,qDAAmC;AACnC,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC;AACvC,gEAA8C"}
@@ -0,0 +1,33 @@
1
+ interface IDisplay {
2
+ _id?: string;
3
+ language?: string;
4
+ abbrevation?: string;
5
+ value?: string;
6
+ }
7
+ export interface IIdentifierType {
8
+ _id?: string;
9
+ condig?: {
10
+ system?: string;
11
+ version?: string;
12
+ code?: string;
13
+ }[];
14
+ displays?: IDisplay[];
15
+ acceptedCharacters?: string;
16
+ format?: string;
17
+ createdAt?: string;
18
+ updatedAt?: string;
19
+ validations?: {
20
+ _id?: string;
21
+ values?: string[];
22
+ properties?: string[];
23
+ _function?: string;
24
+ errors?: {
25
+ displays?: IDisplay[];
26
+ text?: string;
27
+ }[];
28
+ }[];
29
+ msgSuccess?: IDisplay[];
30
+ msgInvalid?: IDisplay[];
31
+ }
32
+ export declare const validateIdentifierInput: (identifier: string, identifierType: IIdentifierType, lang?: string) => string | null;
33
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateIdentifierInput = void 0;
4
+ const executeFunctionString_1 = require("./executeFunctionString");
5
+ const validateIdentifierInput = (identifier, identifierType, lang) => {
6
+ var _a;
7
+ let valid = null;
8
+ const defaultError = 'The identifier is not valid';
9
+ const language = lang ? lang : 'en';
10
+ const validations = identifierType.validations ? identifierType.validations : [];
11
+ try {
12
+ for (const validation of validations) {
13
+ const errors = validation.errors;
14
+ const _function = validation._function || '';
15
+ const properties = validation.properties || [];
16
+ const result = (0, executeFunctionString_1.executeBasicFunctionString)(identifier, _function, properties[0]);
17
+ if (typeof result === 'string') {
18
+ const errorFound = errors === null || errors === void 0 ? void 0 : errors.find((item) => (item === null || item === void 0 ? void 0 : item.text) === result);
19
+ if (errorFound) {
20
+ const errorTradunction = (_a = errorFound === null || errorFound === void 0 ? void 0 : errorFound.displays) === null || _a === void 0 ? void 0 : _a.find((value) => (value === null || value === void 0 ? void 0 : value.language) === language);
21
+ valid = (errorTradunction === null || errorTradunction === void 0 ? void 0 : errorTradunction.value) ? errorTradunction.value : defaultError;
22
+ }
23
+ else {
24
+ valid = defaultError;
25
+ }
26
+ break;
27
+ }
28
+ if (!result) {
29
+ valid = defaultError;
30
+ }
31
+ }
32
+ // eslint-disable-next-line no-unused-vars
33
+ }
34
+ catch (error) {
35
+ valid = null;
36
+ }
37
+ return valid;
38
+ };
39
+ exports.validateIdentifierInput = validateIdentifierInput;
40
+ //# sourceMappingURL=validateIdentifierInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateIdentifierInput.js","sourceRoot":"","sources":["../../src/utils/validateIdentifierInput.ts"],"names":[],"mappings":";;;AAAA,mEAAqE;AAmC9D,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,cAA+B,EAAE,IAAa,EAAE,EAAE;;IAC5G,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,YAAY,GAAG,6BAA6B,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,IAAI,CAAC;QACH,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;YAE/C,MAAM,MAAM,GAAG,IAAA,kDAA0B,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,MAAM,CAAC,CAAC;gBAEjE,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,gBAAgB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,QAAQ,CAAC,CAAC;oBAE7F,KAAK,GAAG,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,YAAY,CAAC;gBACvB,CAAC;gBAED,MAAM;YACR,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,GAAG,YAAY,CAAC;YACvB,CAAC;QACH,CAAC;QACD,0CAA0C;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAnCW,QAAA,uBAAuB,2BAmClC"}
@@ -0,0 +1 @@
1
+ export declare const validateStringChartAccepted: (value: string, acceptedCharacters: string) => boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateStringChartAccepted = void 0;
4
+ const validateStringChartAccepted = (value, acceptedCharacters) => {
5
+ if (typeof value !== 'string') {
6
+ throw new Error('the value must be a string');
7
+ }
8
+ if (typeof acceptedCharacters !== 'string') {
9
+ throw new Error('the acceptedCharacters must be a string');
10
+ }
11
+ const valueToTest = value.split('');
12
+ for (const chart of valueToTest) {
13
+ if (!acceptedCharacters.includes(chart)) {
14
+ return false;
15
+ }
16
+ }
17
+ return true;
18
+ };
19
+ exports.validateStringChartAccepted = validateStringChartAccepted;
20
+ //# sourceMappingURL=validateStringChartAccepted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateStringChartAccepted.js","sourceRoot":"","sources":["../../src/utils/validateStringChartAccepted.ts"],"names":[],"mappings":";;;AAAO,MAAM,2BAA2B,GAAG,CAAC,KAAa,EAAE,kBAA0B,EAAE,EAAE;IACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,2BAA2B,+BAkBtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pegasimed.com/shared-tools",
3
- "version": "1.0.84",
3
+ "version": "1.0.86",
4
4
  "description": "Pegasi shared tools",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "precommit": "lint-staged",
20
20
  "version": "npm run format && git add -A src",
21
21
  "postversion": "git push && git push --tags",
22
- "test": "nyc --reporter=text mocha --file './tests/setup.ts' 'tests/**/*.spec.ts'",
22
+ "test": "nyc --reporter=text mocha --file ./tests/setup.ts tests/**/*.spec.ts",
23
23
  "test:basic": "ts-node ./tests/basic.ts"
24
24
  },
25
25
  "repository": {