@jsreport/jsreport-core 3.0.0 → 3.1.2-test.1

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 (80) hide show
  1. package/LICENSE +166 -166
  2. package/README.md +298 -284
  3. package/index.js +29 -27
  4. package/lib/main/blobStorage/blobStorage.js +52 -47
  5. package/lib/main/blobStorage/inMemoryProvider.js +27 -27
  6. package/lib/main/blobStorage/mainActions.js +24 -24
  7. package/lib/main/createDefaultLoggerFormat.js +17 -17
  8. package/lib/main/defaults.js +14 -14
  9. package/lib/main/extensions/discover.js +20 -20
  10. package/lib/main/extensions/extensionsManager.js +264 -265
  11. package/lib/main/extensions/fileUtils.js +56 -55
  12. package/lib/main/extensions/findVersion.js +49 -53
  13. package/lib/main/extensions/locationCache.js +103 -97
  14. package/lib/main/extensions/sorter.js +10 -10
  15. package/lib/main/extensions/validateMinimalVersion.js +50 -50
  16. package/lib/main/folders/cascadeFolderRemove.js +25 -25
  17. package/lib/main/folders/getEntitiesInFolder.js +53 -53
  18. package/lib/main/folders/index.js +42 -42
  19. package/lib/main/folders/moveBetweenFolders.js +354 -354
  20. package/lib/main/folders/validateDuplicatedName.js +107 -107
  21. package/lib/main/folders/validateReservedName.js +53 -53
  22. package/lib/main/logger.js +244 -244
  23. package/lib/main/migration/resourcesToAssets.js +230 -210
  24. package/lib/main/migration/xlsxTemplatesToAssets.js +128 -118
  25. package/lib/main/monitoring.js +91 -91
  26. package/lib/main/optionsLoad.js +237 -237
  27. package/lib/main/optionsSchema.js +237 -237
  28. package/lib/main/profiler.js +2 -1
  29. package/lib/main/reporter.js +575 -578
  30. package/lib/main/schemaValidator.js +252 -252
  31. package/lib/main/settings.js +154 -154
  32. package/lib/main/store/checkDuplicatedId.js +27 -27
  33. package/lib/main/store/collection.js +329 -329
  34. package/lib/main/store/documentStore.js +469 -469
  35. package/lib/main/store/mainActions.js +28 -28
  36. package/lib/main/store/memoryStoreProvider.js +99 -99
  37. package/lib/main/store/queue.js +48 -48
  38. package/lib/main/store/referenceUtils.js +251 -251
  39. package/lib/main/store/setupValidateId.js +43 -43
  40. package/lib/main/store/setupValidateShortid.js +71 -71
  41. package/lib/main/store/transaction.js +69 -69
  42. package/lib/main/store/typeUtils.js +180 -180
  43. package/lib/main/templates.js +34 -34
  44. package/lib/main/validateEntityName.js +62 -62
  45. package/lib/shared/createError.js +36 -36
  46. package/lib/shared/encryption.js +114 -114
  47. package/lib/shared/folders/index.js +11 -11
  48. package/lib/shared/folders/normalizeEntityPath.js +15 -15
  49. package/lib/shared/folders/resolveEntityFromPath.js +88 -88
  50. package/lib/shared/folders/resolveEntityPath.js +46 -46
  51. package/lib/shared/folders/resolveFolderFromPath.js +38 -38
  52. package/lib/shared/generateRequestId.js +4 -4
  53. package/lib/shared/listenerCollection.js +169 -0
  54. package/lib/shared/normalizeMetaFromLogs.js +30 -30
  55. package/lib/shared/reporter.js +128 -123
  56. package/lib/shared/request.js +64 -64
  57. package/lib/shared/tempFilesHandler.js +81 -81
  58. package/lib/shared/templates.js +82 -82
  59. package/lib/static/helpers.js +33 -33
  60. package/lib/worker/blobStorage.js +34 -34
  61. package/lib/worker/defaultProxyExtend.js +46 -46
  62. package/lib/worker/documentStore.js +49 -49
  63. package/lib/worker/extensionsManager.js +17 -17
  64. package/lib/worker/logger.js +48 -48
  65. package/lib/worker/render/diff.js +138 -138
  66. package/lib/worker/render/executeEngine.js +227 -190
  67. package/lib/worker/render/htmlRecipe.js +10 -10
  68. package/lib/worker/render/moduleHelper.js +45 -43
  69. package/lib/worker/render/noneEngine.js +12 -12
  70. package/lib/worker/render/profiler.js +158 -158
  71. package/lib/worker/render/render.js +213 -209
  72. package/lib/worker/render/resolveReferences.js +60 -60
  73. package/lib/worker/reporter.js +192 -187
  74. package/lib/worker/sandbox/runInSandbox.js +13 -4
  75. package/lib/worker/sandbox/safeSandbox.js +828 -822
  76. package/lib/worker/templates.js +78 -78
  77. package/lib/worker/workerHandler.js +54 -54
  78. package/package.json +92 -92
  79. package/test/blobStorage/common.js +21 -21
  80. package/test/store/common.js +1449 -1449
@@ -1,42 +1,42 @@
1
- const validateReservedName = require('./validateReservedName')
2
- const cascadeFolderRemove = require('./cascadeFolderRemove')
3
- const validateDuplicatedName = require('./validateDuplicatedName')
4
- const getEntitiesInFolder = require('./getEntitiesInFolder')
5
- const moveBetweenFolders = require('./moveBetweenFolders')
6
-
7
- module.exports = (reporter) => {
8
- reporter.documentStore.registerEntityType('FolderType', {
9
- name: { type: 'Edm.String' }
10
- })
11
-
12
- reporter.documentStore.registerEntitySet('folders', {
13
- entityType: 'jsreport.FolderType',
14
- splitIntoDirectories: true
15
- })
16
-
17
- reporter.documentStore.registerComplexType('FolderRefType', {
18
- shortid: { type: 'Edm.String', referenceTo: 'folders' }
19
- })
20
-
21
- // before document store initialization, extend all entity types with folder information
22
- reporter.documentStore.on('before-init', (documentStore) => {
23
- Object.entries(documentStore.model.entitySets).forEach(([k, entitySet]) => {
24
- const entityTypeName = entitySet.entityType.replace(documentStore.model.namespace + '.', '')
25
-
26
- documentStore.model.entityTypes[entityTypeName].folder = {
27
- type: 'jsreport.FolderRefType',
28
- // folder reference can be null when entity is at the root level
29
- schema: { type: 'null' }
30
- }
31
- })
32
- })
33
-
34
- reporter.documentStore.internalAfterInitListeners.add('core-validate-reserved-name', () => validateReservedName(reporter))
35
- reporter.documentStore.internalAfterInitListeners.add('core-cascade-remove', () => cascadeFolderRemove(reporter))
36
- reporter.documentStore.internalAfterInitListeners.add('core-validate-duplicated-name', () => validateDuplicatedName(reporter))
37
-
38
- return {
39
- move: moveBetweenFolders(reporter),
40
- getEntitiesInFolder: getEntitiesInFolder(reporter)
41
- }
42
- }
1
+ const validateReservedName = require('./validateReservedName')
2
+ const cascadeFolderRemove = require('./cascadeFolderRemove')
3
+ const validateDuplicatedName = require('./validateDuplicatedName')
4
+ const getEntitiesInFolder = require('./getEntitiesInFolder')
5
+ const moveBetweenFolders = require('./moveBetweenFolders')
6
+
7
+ module.exports = (reporter) => {
8
+ reporter.documentStore.registerEntityType('FolderType', {
9
+ name: { type: 'Edm.String' }
10
+ })
11
+
12
+ reporter.documentStore.registerEntitySet('folders', {
13
+ entityType: 'jsreport.FolderType',
14
+ splitIntoDirectories: true
15
+ })
16
+
17
+ reporter.documentStore.registerComplexType('FolderRefType', {
18
+ shortid: { type: 'Edm.String', referenceTo: 'folders' }
19
+ })
20
+
21
+ // before document store initialization, extend all entity types with folder information
22
+ reporter.documentStore.on('before-init', (documentStore) => {
23
+ Object.entries(documentStore.model.entitySets).forEach(([k, entitySet]) => {
24
+ const entityTypeName = entitySet.entityType.replace(documentStore.model.namespace + '.', '')
25
+
26
+ documentStore.model.entityTypes[entityTypeName].folder = {
27
+ type: 'jsreport.FolderRefType',
28
+ // folder reference can be null when entity is at the root level
29
+ schema: { type: 'null' }
30
+ }
31
+ })
32
+ })
33
+
34
+ reporter.documentStore.internalAfterInitListeners.add('core-validate-reserved-name', () => validateReservedName(reporter))
35
+ reporter.documentStore.internalAfterInitListeners.add('core-cascade-remove', () => cascadeFolderRemove(reporter))
36
+ reporter.documentStore.internalAfterInitListeners.add('core-validate-duplicated-name', () => validateDuplicatedName(reporter))
37
+
38
+ return {
39
+ move: moveBetweenFolders(reporter),
40
+ getEntitiesInFolder: getEntitiesInFolder(reporter)
41
+ }
42
+ }