core-mb 1.0.1 → 1.0.3

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.
Files changed (70) hide show
  1. package/.github/workflows/node.js.yml +58 -0
  2. package/.nyc_output/0393f58b-d3a0-4d83-8010-334fc96e8c86.json +1 -0
  3. package/.nyc_output/0edf14d3-019a-4204-aae9-8d7d2491500b.json +1 -0
  4. package/.nyc_output/1db7cb73-4e51-46c0-96e8-3d1edd65f98c.json +1 -0
  5. package/.nyc_output/29ead10f-a723-4574-aeaf-5eff2ebcafac.json +1 -0
  6. package/.nyc_output/30473bab-10b9-4d55-8f30-42cbd631a50e.json +1 -0
  7. package/.nyc_output/4514ee29-1cb6-4243-abab-937ae44e87fe.json +1 -0
  8. package/.nyc_output/5268e9ea-7320-41e0-8dbf-37139a2b07e9.json +1 -0
  9. package/.nyc_output/581a75aa-21fc-470f-a998-ad9752b568ff.json +1 -0
  10. package/.nyc_output/6492905d-a035-44ac-b40d-84d04d64d3c2.json +1 -0
  11. package/.nyc_output/67ba5e3c-ca1d-4dbf-9155-6a154788cb55.json +1 -0
  12. package/.nyc_output/688e0703-cbfb-4f94-ac42-66472ac00a0c.json +1 -0
  13. package/.nyc_output/6c1e2427-a36b-407d-96d2-929a885e565d.json +1 -0
  14. package/.nyc_output/781a9e98-6dff-42dc-9bb2-126b65619cf3.json +1 -0
  15. package/.nyc_output/960ffee6-798c-4670-b1fa-39f6cebaa70b.json +1 -0
  16. package/.nyc_output/9661b441-490d-4793-881a-570493cf4d77.json +1 -0
  17. package/.nyc_output/9fe3622e-5b2a-42b2-a7ec-6f42c052afc9.json +1 -0
  18. package/.nyc_output/c37e92ff-6103-4b4b-be8e-2e23adc44ba1.json +1 -0
  19. package/.nyc_output/cfc973a7-b63b-4ed5-a568-019c4813486f.json +1 -0
  20. package/.nyc_output/d4490352-b4a2-45e0-beb3-a146203ce7a1.json +1 -0
  21. package/.nyc_output/da65eb21-2244-42c2-a24a-136a49caa10b.json +1 -0
  22. package/.nyc_output/e58bd293-d9b2-4a7a-bd45-b6f603743e81.json +1 -0
  23. package/.nyc_output/e5ef7a91-bcbd-46a0-848e-423e6aec9090.json +1 -0
  24. package/.nyc_output/f73cc576-f3eb-476a-bb88-9030aaaca351.json +1 -0
  25. package/.nyc_output/processinfo/0393f58b-d3a0-4d83-8010-334fc96e8c86.json +1 -0
  26. package/.nyc_output/processinfo/0edf14d3-019a-4204-aae9-8d7d2491500b.json +1 -0
  27. package/.nyc_output/processinfo/1db7cb73-4e51-46c0-96e8-3d1edd65f98c.json +1 -0
  28. package/.nyc_output/processinfo/29ead10f-a723-4574-aeaf-5eff2ebcafac.json +1 -0
  29. package/.nyc_output/processinfo/30473bab-10b9-4d55-8f30-42cbd631a50e.json +1 -0
  30. package/.nyc_output/processinfo/4514ee29-1cb6-4243-abab-937ae44e87fe.json +1 -0
  31. package/.nyc_output/processinfo/5268e9ea-7320-41e0-8dbf-37139a2b07e9.json +1 -0
  32. package/.nyc_output/processinfo/581a75aa-21fc-470f-a998-ad9752b568ff.json +1 -0
  33. package/.nyc_output/processinfo/6492905d-a035-44ac-b40d-84d04d64d3c2.json +1 -0
  34. package/.nyc_output/processinfo/67ba5e3c-ca1d-4dbf-9155-6a154788cb55.json +1 -0
  35. package/.nyc_output/processinfo/688e0703-cbfb-4f94-ac42-66472ac00a0c.json +1 -0
  36. package/.nyc_output/processinfo/6c1e2427-a36b-407d-96d2-929a885e565d.json +1 -0
  37. package/.nyc_output/processinfo/781a9e98-6dff-42dc-9bb2-126b65619cf3.json +1 -0
  38. package/.nyc_output/processinfo/960ffee6-798c-4670-b1fa-39f6cebaa70b.json +1 -0
  39. package/.nyc_output/processinfo/9661b441-490d-4793-881a-570493cf4d77.json +1 -0
  40. package/.nyc_output/processinfo/9fe3622e-5b2a-42b2-a7ec-6f42c052afc9.json +1 -0
  41. package/.nyc_output/processinfo/c37e92ff-6103-4b4b-be8e-2e23adc44ba1.json +1 -0
  42. package/.nyc_output/processinfo/cfc973a7-b63b-4ed5-a568-019c4813486f.json +1 -0
  43. package/.nyc_output/processinfo/d4490352-b4a2-45e0-beb3-a146203ce7a1.json +1 -0
  44. package/.nyc_output/processinfo/da65eb21-2244-42c2-a24a-136a49caa10b.json +1 -0
  45. package/.nyc_output/processinfo/e58bd293-d9b2-4a7a-bd45-b6f603743e81.json +1 -0
  46. package/.nyc_output/processinfo/e5ef7a91-bcbd-46a0-848e-423e6aec9090.json +1 -0
  47. package/.nyc_output/processinfo/f73cc576-f3eb-476a-bb88-9030aaaca351.json +1 -0
  48. package/.nyc_output/processinfo/index.json +1 -0
  49. package/README.md +12 -4
  50. package/coverage/config.ts.html +178 -0
  51. package/coverage/index.html +31 -16
  52. package/coverage/lcov-report/config.ts.html +178 -0
  53. package/coverage/lcov-report/index.html +31 -16
  54. package/coverage/lcov-report/phone.number.helper.ts.html +1 -1
  55. package/coverage/lcov-report/security.helper.ts.html +16 -43
  56. package/coverage/lcov.info +56 -35
  57. package/coverage/phone.number.helper.ts.html +1 -1
  58. package/coverage/security.helper.ts.html +16 -43
  59. package/dist/config.d.ts +12 -0
  60. package/dist/config.js +24 -0
  61. package/dist/index.d.ts +1 -0
  62. package/dist/index.js +1 -0
  63. package/dist/security.helper.js +5 -10
  64. package/jest.config.js +2 -1
  65. package/jest.setup.ts +8 -0
  66. package/package.json +3 -2
  67. package/src/config.ts +31 -0
  68. package/src/index.ts +1 -0
  69. package/src/security.helper.ts +6 -15
  70. package/test-report.html +1 -1
@@ -0,0 +1,58 @@
1
+ name: Node.js CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [18.x, 20.x, 22.x]
16
+
17
+ steps:
18
+ # Checkout code
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v4
21
+
22
+ # Setup Node.js
23
+ - name: Setup Node.js ${{ matrix.node-version }}
24
+ uses: actions/setup-node@v4
25
+ with:
26
+ node-version: ${{ matrix.node-version }}
27
+ cache: 'npm'
28
+
29
+ # Install dependencies
30
+ - name: Install dependencies
31
+ run: npm ci
32
+
33
+ # Build the project
34
+ - name: Build
35
+ run: npm run build --if-present
36
+
37
+ # Run tests
38
+ - name: Run tests
39
+ run: npm test
40
+
41
+ # Run coverage
42
+ - name: Generate coverage
43
+ run: npm run coverage
44
+
45
+ # Upload test results
46
+ - name: Upload test results
47
+ uses: actions/upload-artifact@v4
48
+ with:
49
+ name: test-results-${{ matrix.node-version }}-${{ github.run_id }}
50
+ path: |
51
+ coverage/lcov-report
52
+ coverage/clover.xml
53
+ test-report.html
54
+
55
+
56
+ # Optionally: print coverage summary in logs
57
+ - name: Print coverage summary
58
+ run: npx nyc report --reporter=text-summary
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99962,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646115,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/0393f58b-d3a0-4d83-8010-334fc96e8c86.json","externalId":"","uuid":"0393f58b-d3a0-4d83-8010-334fc96e8c86","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99835,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644946,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/0edf14d3-019a-4204-aae9-8d7d2491500b.json","externalId":"","uuid":"0edf14d3-019a-4204-aae9-8d7d2491500b","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99965,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646118,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/1db7cb73-4e51-46c0-96e8-3d1edd65f98c.json","externalId":"","uuid":"1db7cb73-4e51-46c0-96e8-3d1edd65f98c","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99842,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644924,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/29ead10f-a723-4574-aeaf-5eff2ebcafac.json","externalId":"","uuid":"29ead10f-a723-4574-aeaf-5eff2ebcafac","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99839,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644946,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/30473bab-10b9-4d55-8f30-42cbd631a50e.json","externalId":"","uuid":"30473bab-10b9-4d55-8f30-42cbd631a50e","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":99790,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/.bin/jest"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934643039,"ppid":99787,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/4514ee29-1cb6-4243-abab-937ae44e87fe.json","externalId":"","uuid":"4514ee29-1cb6-4243-abab-937ae44e87fe","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99840,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644932,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/5268e9ea-7320-41e0-8dbf-37139a2b07e9.json","externalId":"","uuid":"5268e9ea-7320-41e0-8dbf-37139a2b07e9","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99957,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646115,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/581a75aa-21fc-470f-a998-ad9752b568ff.json","externalId":"","uuid":"581a75aa-21fc-470f-a998-ad9752b568ff","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99834,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644931,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/6492905d-a035-44ac-b40d-84d04d64d3c2.json","externalId":"","uuid":"6492905d-a035-44ac-b40d-84d04d64d3c2","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99958,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646097,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/67ba5e3c-ca1d-4dbf-9155-6a154788cb55.json","externalId":"","uuid":"67ba5e3c-ca1d-4dbf-9155-6a154788cb55","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99959,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646115,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/688e0703-cbfb-4f94-ac42-66472ac00a0c.json","externalId":"","uuid":"688e0703-cbfb-4f94-ac42-66472ac00a0c","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99956,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646106,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/6c1e2427-a36b-407d-96d2-929a885e565d.json","externalId":"","uuid":"6c1e2427-a36b-407d-96d2-929a885e565d","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99838,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644819,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/781a9e98-6dff-42dc-9bb2-126b65619cf3.json","externalId":"","uuid":"781a9e98-6dff-42dc-9bb2-126b65619cf3","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99841,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644944,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/960ffee6-798c-4670-b1fa-39f6cebaa70b.json","externalId":"","uuid":"960ffee6-798c-4670-b1fa-39f6cebaa70b","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99963,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646058,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/9661b441-490d-4793-881a-570493cf4d77.json","externalId":"","uuid":"9661b441-490d-4793-881a-570493cf4d77","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99961,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646121,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/9fe3622e-5b2a-42b2-a7ec-6f42c052afc9.json","externalId":"","uuid":"9fe3622e-5b2a-42b2-a7ec-6f42c052afc9","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99836,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644931,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/c37e92ff-6103-4b4b-be8e-2e23adc44ba1.json","externalId":"","uuid":"c37e92ff-6103-4b4b-be8e-2e23adc44ba1","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99833,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644938,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/cfc973a7-b63b-4ed5-a568-019c4813486f.json","externalId":"","uuid":"cfc973a7-b63b-4ed5-a568-019c4813486f","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99960,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646103,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/d4490352-b4a2-45e0-beb3-a146203ce7a1.json","externalId":"","uuid":"d4490352-b4a2-45e0-beb3-a146203ce7a1","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99843,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644949,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/da65eb21-2244-42c2-a24a-136a49caa10b.json","externalId":"","uuid":"da65eb21-2244-42c2-a24a-136a49caa10b","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99964,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646083,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/e58bd293-d9b2-4a7a-bd45-b6f603743e81.json","externalId":"","uuid":"e58bd293-d9b2-4a7a-bd45-b6f603743e81","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99837,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934644945,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/e5ef7a91-bcbd-46a0-848e-423e6aec9090.json","externalId":"","uuid":"e5ef7a91-bcbd-46a0-848e-423e6aec9090","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","pid":99966,"argv":["/Users/phanna/.nvm/versions/node/v20.5.0/bin/node","/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/node_modules/jest-worker/build/processChild.js"],"execArgv":[],"cwd":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb","time":1755934646083,"ppid":99790,"coverageFilename":"/Volumes/Projects/RND/microservices/vieltalk-chat/core-mb/.nyc_output/f73cc576-f3eb-476a-bb88-9030aaaca351.json","externalId":"","uuid":"f73cc576-f3eb-476a-bb88-9030aaaca351","files":[]}
@@ -0,0 +1 @@
1
+ {"processes":{"0393f58b-d3a0-4d83-8010-334fc96e8c86":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"0edf14d3-019a-4204-aae9-8d7d2491500b":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"1db7cb73-4e51-46c0-96e8-3d1edd65f98c":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"29ead10f-a723-4574-aeaf-5eff2ebcafac":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"30473bab-10b9-4d55-8f30-42cbd631a50e":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"4514ee29-1cb6-4243-abab-937ae44e87fe":{"parent":null,"children":["0393f58b-d3a0-4d83-8010-334fc96e8c86","0edf14d3-019a-4204-aae9-8d7d2491500b","1db7cb73-4e51-46c0-96e8-3d1edd65f98c","29ead10f-a723-4574-aeaf-5eff2ebcafac","30473bab-10b9-4d55-8f30-42cbd631a50e","5268e9ea-7320-41e0-8dbf-37139a2b07e9","581a75aa-21fc-470f-a998-ad9752b568ff","6492905d-a035-44ac-b40d-84d04d64d3c2","67ba5e3c-ca1d-4dbf-9155-6a154788cb55","688e0703-cbfb-4f94-ac42-66472ac00a0c","6c1e2427-a36b-407d-96d2-929a885e565d","781a9e98-6dff-42dc-9bb2-126b65619cf3","960ffee6-798c-4670-b1fa-39f6cebaa70b","9661b441-490d-4793-881a-570493cf4d77","9fe3622e-5b2a-42b2-a7ec-6f42c052afc9","c37e92ff-6103-4b4b-be8e-2e23adc44ba1","cfc973a7-b63b-4ed5-a568-019c4813486f","d4490352-b4a2-45e0-beb3-a146203ce7a1","da65eb21-2244-42c2-a24a-136a49caa10b","e58bd293-d9b2-4a7a-bd45-b6f603743e81","e5ef7a91-bcbd-46a0-848e-423e6aec9090","f73cc576-f3eb-476a-bb88-9030aaaca351"]},"5268e9ea-7320-41e0-8dbf-37139a2b07e9":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"581a75aa-21fc-470f-a998-ad9752b568ff":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"6492905d-a035-44ac-b40d-84d04d64d3c2":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"67ba5e3c-ca1d-4dbf-9155-6a154788cb55":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"688e0703-cbfb-4f94-ac42-66472ac00a0c":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"6c1e2427-a36b-407d-96d2-929a885e565d":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"781a9e98-6dff-42dc-9bb2-126b65619cf3":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"960ffee6-798c-4670-b1fa-39f6cebaa70b":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"9661b441-490d-4793-881a-570493cf4d77":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"9fe3622e-5b2a-42b2-a7ec-6f42c052afc9":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"c37e92ff-6103-4b4b-be8e-2e23adc44ba1":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"cfc973a7-b63b-4ed5-a568-019c4813486f":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"d4490352-b4a2-45e0-beb3-a146203ce7a1":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"da65eb21-2244-42c2-a24a-136a49caa10b":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"e58bd293-d9b2-4a7a-bd45-b6f603743e81":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"e5ef7a91-bcbd-46a0-848e-423e6aec9090":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]},"f73cc576-f3eb-476a-bb88-9030aaaca351":{"parent":"4514ee29-1cb6-4243-abab-937ae44e87fe","children":[]}},"files":{},"externalIds":{}}
package/README.md CHANGED
@@ -1,9 +1,17 @@
1
- # aes-gcm-encryptor
1
+ # core-mb
2
2
 
3
- AES-256-GCM encryption and decryption module in TypeScript.
3
+ Core utility functions for the **MB ecosystem** and **ERP system**.
4
+
5
+ Provides reusable helper functions, encryption utilities, and other shared modules for MB services and applications.
6
+
7
+ ## Features
8
+
9
+ - Phone number normalization
10
+ - AES-256-GCM encryption/decryption helpers
11
+ - HMAC generation for secure indexing
12
+ - Other core utilities for ERP and MB ecosystem
4
13
 
5
14
  ## Installation
6
15
 
7
16
  ```bash
8
- npm install aes-gcm-encryptor
9
- node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
17
+ npm install core-mb
@@ -0,0 +1,178 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for config.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> config.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">80% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>8/10</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/4</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>3/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">80% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>8/10</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-yes">2x</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-yes">2x</span>
109
+ <span class="cline-any cline-yes">2x</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-yes">2x</span>
114
+ <span class="cline-any cline-no">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-yes">2x</span>
117
+ <span class="cline-any cline-yes">2x</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-no">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-yes">1x</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export interface ConfigProperties {
129
+ aesKey: string;
130
+ hmacKey: string;
131
+ }
132
+ &nbsp;
133
+ export class CoreMBConfig {
134
+ private static instance: CoreMBConfig;
135
+ public readonly aesKey: Buffer;
136
+ public readonly hmacKey: Buffer;
137
+ &nbsp;
138
+ private constructor(props: ConfigProperties) {
139
+ this.aesKey = Buffer.from(props.aesKey, "base64");
140
+ this.hmacKey = Buffer.from(props.hmacKey, "base64");
141
+ }
142
+ &nbsp;
143
+ public static initialize(props: ConfigProperties): CoreMBConfig {
144
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (CoreMBConfig.instance) {
145
+ <span class="cstat-no" title="statement not covered" > throw new Error("CoreMBConfig has already been initialized");</span>
146
+ }
147
+ CoreMBConfig.instance = new CoreMBConfig(props);
148
+ return CoreMBConfig.instance;
149
+ }
150
+ &nbsp;
151
+ // Access the singleton instance
152
+ public static getInstance(): CoreMBConfig {
153
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!CoreMBConfig.instance) {
154
+ <span class="cstat-no" title="statement not covered" > throw new Error("CoreMBConfig has not been initialized yet");</span>
155
+ }
156
+ return CoreMBConfig.instance;
157
+ }
158
+ }
159
+ &nbsp;</pre></td></tr></table></pre>
160
+
161
+ <div class='push'></div><!-- for sticky footer -->
162
+ </div><!-- /wrapper -->
163
+ <div class='footer quiet pad2 space-top1 center small'>
164
+ Code coverage generated by
165
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
+ at 2025-08-23T08:06:17.198Z
167
+ </div>
168
+ <script src="prettify.js"></script>
169
+ <script>
170
+ window.onload = function () {
171
+ prettyPrint();
172
+ };
173
+ </script>
174
+ <script src="sorter.js"></script>
175
+ <script src="block-navigation.js"></script>
176
+ </body>
177
+ </html>
178
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.14% </span>
26
+ <span class="strong">95.12% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>34/35</span>
28
+ <span class='fraction'>39/41</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">87.5% </span>
33
+ <span class="strong">75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/8</span>
35
+ <span class='fraction'>6/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.05% </span>
47
+ <span class="strong">95% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>33/34</span>
49
+ <span class='fraction'>38/40</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,6 +79,21 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
+ <td class="file high" data-value="config.ts"><a href="config.ts.html">config.ts</a></td>
83
+ <td data-value="80" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
85
+ </td>
86
+ <td data-value="80" class="pct high">80%</td>
87
+ <td data-value="10" class="abs high">8/10</td>
88
+ <td data-value="50" class="pct medium">50%</td>
89
+ <td data-value="4" class="abs medium">2/4</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="3" class="abs high">3/3</td>
92
+ <td data-value="80" class="pct high">80%</td>
93
+ <td data-value="10" class="abs high">8/10</td>
94
+ </tr>
95
+
96
+ <tr>
82
97
  <td class="file high" data-value="phone.number.helper.ts"><a href="phone.number.helper.ts.html">phone.number.helper.ts</a></td>
83
98
  <td data-value="100" class="pic high">
84
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
@@ -95,17 +110,17 @@
95
110
 
96
111
  <tr>
97
112
  <td class="file high" data-value="security.helper.ts"><a href="security.helper.ts.html">security.helper.ts</a></td>
98
- <td data-value="96.42" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
113
+ <td data-value="100" class="pic high">
114
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
115
  </td>
101
- <td data-value="96.42" class="pct high">96.42%</td>
102
- <td data-value="28" class="abs high">27/28</td>
103
- <td data-value="75" class="pct medium">75%</td>
104
- <td data-value="4" class="abs medium">3/4</td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="24" class="abs high">24/24</td>
118
+ <td data-value="100" class="pct high">100%</td>
119
+ <td data-value="0" class="abs high">0/0</td>
105
120
  <td data-value="100" class="pct high">100%</td>
106
121
  <td data-value="3" class="abs high">3/3</td>
107
- <td data-value="96.42" class="pct high">96.42%</td>
108
- <td data-value="28" class="abs high">27/28</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="24" class="abs high">24/24</td>
109
124
  </tr>
110
125
 
111
126
  </tbody>
@@ -116,7 +131,7 @@
116
131
  <div class='footer quiet pad2 space-top1 center small'>
117
132
  Code coverage generated by
118
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-08-23T06:47:14.841Z
134
+ at 2025-08-23T08:06:17.198Z
120
135
  </div>
121
136
  <script src="prettify.js"></script>
122
137
  <script>