camunda-bpmn-js 0.13.1 → 0.15.0

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 (60) hide show
  1. package/CHANGELOG.md +276 -243
  2. package/LICENSE +20 -20
  3. package/README.md +84 -84
  4. package/dist/assets/base-modeler.css +4 -4
  5. package/dist/assets/base-navigated-viewer.css +1 -1
  6. package/dist/assets/base-viewer.css +1 -1
  7. package/dist/assets/bpmn-js.css +33 -4
  8. package/dist/assets/camunda-cloud-modeler.css +1 -1
  9. package/dist/assets/camunda-platform-modeler.css +1 -1
  10. package/dist/assets/diagram-js.css +55 -51
  11. package/dist/assets/element-templates.css +4 -0
  12. package/dist/assets/properties-panel.css +929 -900
  13. package/dist/base-modeler.development.js +6965 -6128
  14. package/dist/base-modeler.production.min.js +4 -4
  15. package/dist/base-navigated-viewer.development.js +21592 -21216
  16. package/dist/base-navigated-viewer.production.min.js +3 -2
  17. package/dist/base-viewer.development.js +20793 -20417
  18. package/dist/base-viewer.production.min.js +3 -2
  19. package/dist/camunda-cloud-modeler.development.js +9564 -8668
  20. package/dist/camunda-cloud-modeler.production.min.js +4 -4
  21. package/dist/camunda-cloud-navigated-viewer.development.js +689 -368
  22. package/dist/camunda-cloud-navigated-viewer.production.min.js +2 -2
  23. package/dist/camunda-cloud-viewer.development.js +688 -367
  24. package/dist/camunda-cloud-viewer.production.min.js +2 -2
  25. package/dist/camunda-platform-modeler.development.js +7141 -6455
  26. package/dist/camunda-platform-modeler.production.min.js +4 -4
  27. package/dist/camunda-platform-navigated-viewer.development.js +667 -261
  28. package/dist/camunda-platform-navigated-viewer.production.min.js +2 -2
  29. package/dist/camunda-platform-viewer.development.js +666 -260
  30. package/dist/camunda-platform-viewer.production.min.js +2 -2
  31. package/lib/base/Modeler.js +46 -46
  32. package/lib/base/NavigatedViewer.js +2 -2
  33. package/lib/base/Viewer.js +2 -2
  34. package/lib/camunda-cloud/Modeler.js +68 -68
  35. package/lib/camunda-cloud/NavigatedViewer.js +34 -34
  36. package/lib/camunda-cloud/Viewer.js +34 -34
  37. package/lib/camunda-cloud/features/context-pad/ContextPadOptions.js +15 -15
  38. package/lib/camunda-cloud/features/context-pad/index.js +6 -6
  39. package/lib/camunda-cloud/features/drilldown/index.js +3 -3
  40. package/lib/camunda-cloud/features/palette/PaletteOptions.js +14 -14
  41. package/lib/camunda-cloud/features/palette/PaletteProvider.js +31 -31
  42. package/lib/camunda-cloud/features/palette/index.js +6 -6
  43. package/lib/camunda-cloud/features/popup-menu/ReplaceMenuProvider.js +71 -71
  44. package/lib/camunda-cloud/features/popup-menu/ReplaceOptions.js +46 -46
  45. package/lib/camunda-cloud/features/popup-menu/index.js +6 -6
  46. package/lib/camunda-cloud/features/rules/BpmnRules.js +137 -137
  47. package/lib/camunda-cloud/features/rules/index.js +5 -5
  48. package/lib/camunda-cloud/util/commonModules.js +13 -13
  49. package/lib/camunda-platform/Modeler.js +46 -46
  50. package/lib/camunda-platform/NavigatedViewer.js +25 -25
  51. package/lib/camunda-platform/Viewer.js +24 -24
  52. package/lib/camunda-platform/util/commonModules.js +6 -6
  53. package/lib/util/ExtensionElementsUtil.js +59 -59
  54. package/package.json +110 -103
  55. package/styles/base-modeler.css +4 -4
  56. package/styles/base-navigated-viewer.css +1 -1
  57. package/styles/base-viewer.css +1 -1
  58. package/styles/camunda-cloud-modeler.css +1 -1
  59. package/styles/camunda-platform-modeler.css +1 -1
  60. package/util/index.js +39 -39
@@ -1,25 +1,25 @@
1
- import inherits from 'inherits';
2
-
3
- import BaseViewer from '../base/NavigatedViewer';
4
-
5
- import { commonModdleExtensions } from './util/commonModules';
6
-
7
-
8
- /**
9
- *
10
- * @param {Object} options
11
- */
12
- export default function NavigatedViewer(options = {}) {
13
-
14
- options = {
15
- ...options,
16
- moddleExtensions: {
17
- ...commonModdleExtensions,
18
- ...options.moddleExtensions
19
- }
20
- };
21
-
22
- BaseViewer.call(this, options);
23
- }
24
-
25
- inherits(NavigatedViewer, BaseViewer);
1
+ import inherits from 'inherits';
2
+
3
+ import BaseViewer from '../base/NavigatedViewer';
4
+
5
+ import { commonModdleExtensions } from './util/commonModules';
6
+
7
+
8
+ /**
9
+ *
10
+ * @param {Object} options
11
+ */
12
+ export default function NavigatedViewer(options = {}) {
13
+
14
+ options = {
15
+ ...options,
16
+ moddleExtensions: {
17
+ ...commonModdleExtensions,
18
+ ...options.moddleExtensions
19
+ }
20
+ };
21
+
22
+ BaseViewer.call(this, options);
23
+ }
24
+
25
+ inherits(NavigatedViewer, BaseViewer);
@@ -1,24 +1,24 @@
1
- import inherits from 'inherits';
2
-
3
- import BaseViewer from '../base/Viewer';
4
-
5
- import { commonModdleExtensions } from './util/commonModules';
6
-
7
- /**
8
- *
9
- * @param {Object} options
10
- */
11
- export default function Viewer(options = {}) {
12
-
13
- options = {
14
- ...options,
15
- moddleExtensions: {
16
- ...commonModdleExtensions,
17
- ...options.moddleExtensions
18
- }
19
- };
20
-
21
- BaseViewer.call(this, options);
22
- }
23
-
24
- inherits(Viewer, BaseViewer);
1
+ import inherits from 'inherits';
2
+
3
+ import BaseViewer from '../base/Viewer';
4
+
5
+ import { commonModdleExtensions } from './util/commonModules';
6
+
7
+ /**
8
+ *
9
+ * @param {Object} options
10
+ */
11
+ export default function Viewer(options = {}) {
12
+
13
+ options = {
14
+ ...options,
15
+ moddleExtensions: {
16
+ ...commonModdleExtensions,
17
+ ...options.moddleExtensions
18
+ }
19
+ };
20
+
21
+ BaseViewer.call(this, options);
22
+ }
23
+
24
+ inherits(Viewer, BaseViewer);
@@ -1,7 +1,7 @@
1
- import camundaModdle from 'camunda-bpmn-moddle/resources/camunda.json';
2
-
3
- export const commonModules = [];
4
-
5
- export const commonModdleExtensions = {
6
- camunda: camundaModdle
1
+ import camundaModdle from 'camunda-bpmn-moddle/resources/camunda.json';
2
+
3
+ export const commonModules = [];
4
+
5
+ export const commonModdleExtensions = {
6
+ camunda: camundaModdle
7
7
  };
@@ -1,59 +1,59 @@
1
- import {
2
- getBusinessObject,
3
- is
4
- } from 'bpmn-js/lib/util/ModelUtil';
5
-
6
- import { isArray } from 'min-dash';
7
-
8
- /**
9
- * Get extension elements of business object. Optionally filter by type.
10
- *
11
- * @param {djs.model.Base|ModdleElement} element
12
- * @param {String} [type=undefined]
13
- * @returns {Array<ModdleElement>}
14
- */
15
- export function getExtensionElementsList(element, type = undefined) {
16
- const businessObject = getBusinessObject(element),
17
- extensionElements = businessObject.get('extensionElements');
18
-
19
- if (!extensionElements) {
20
- return [];
21
- }
22
-
23
- const values = extensionElements.get('values');
24
-
25
- if (!values || !values.length) {
26
- return [];
27
- }
28
-
29
- if (type) {
30
- return values.filter(value => is(value, type));
31
- }
32
-
33
- return values;
34
- }
35
-
36
- /**
37
- * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
38
- *
39
- * @param {ModdleElement} element
40
- * @param {ModdleElement} businessObject
41
- * @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
42
- * @param {CommandStack} commandStack
43
- */
44
- export function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {
45
- if (!isArray(extensionElementsToRemove)) {
46
- extensionElementsToRemove = [ extensionElementsToRemove ];
47
- }
48
-
49
- const extensionElements = businessObject.get('extensionElements'),
50
- values = extensionElements.get('values').filter(value => !extensionElementsToRemove.includes(value));
51
-
52
- commandStack.execute('element.updateModdleProperties', {
53
- element,
54
- moddleElement: extensionElements,
55
- properties: {
56
- values
57
- }
58
- });
59
- }
1
+ import {
2
+ getBusinessObject,
3
+ is
4
+ } from 'bpmn-js/lib/util/ModelUtil';
5
+
6
+ import { isArray } from 'min-dash';
7
+
8
+ /**
9
+ * Get extension elements of business object. Optionally filter by type.
10
+ *
11
+ * @param {djs.model.Base|ModdleElement} element
12
+ * @param {String} [type=undefined]
13
+ * @returns {Array<ModdleElement>}
14
+ */
15
+ export function getExtensionElementsList(element, type = undefined) {
16
+ const businessObject = getBusinessObject(element),
17
+ extensionElements = businessObject.get('extensionElements');
18
+
19
+ if (!extensionElements) {
20
+ return [];
21
+ }
22
+
23
+ const values = extensionElements.get('values');
24
+
25
+ if (!values || !values.length) {
26
+ return [];
27
+ }
28
+
29
+ if (type) {
30
+ return values.filter(value => is(value, type));
31
+ }
32
+
33
+ return values;
34
+ }
35
+
36
+ /**
37
+ * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
38
+ *
39
+ * @param {ModdleElement} element
40
+ * @param {ModdleElement} businessObject
41
+ * @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
42
+ * @param {CommandStack} commandStack
43
+ */
44
+ export function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {
45
+ if (!isArray(extensionElementsToRemove)) {
46
+ extensionElementsToRemove = [ extensionElementsToRemove ];
47
+ }
48
+
49
+ const extensionElements = businessObject.get('extensionElements'),
50
+ values = extensionElements.get('values').filter(value => !extensionElementsToRemove.includes(value));
51
+
52
+ commandStack.execute('element.updateModdleProperties', {
53
+ element,
54
+ moddleElement: extensionElements,
55
+ properties: {
56
+ values
57
+ }
58
+ });
59
+ }
package/package.json CHANGED
@@ -1,103 +1,110 @@
1
- {
2
- "name": "camunda-bpmn-js",
3
- "version": "0.13.1",
4
- "description": "Embeddable Camunda modeling distributions based on bpmn-js",
5
- "main": "lib/index.js",
6
- "scripts": {
7
- "all": "run-s clean lint test distro test:distro",
8
- "lint": "eslint .",
9
- "dev": "npm test -- --auto-watch --no-single-run",
10
- "test": "karma start karma.config.js",
11
- "clean": "del-cli dist",
12
- "distro": "rollup -c",
13
- "test:distro": "node tasks/test-distro.js",
14
- "start:base": "cross-env SINGLE_START=base-modeler npm run dev",
15
- "start:platform": "cross-env SINGLE_START=camunda-platform-modeler npm run dev",
16
- "start:cloud": "cross-env SINGLE_START=camunda-cloud-modeler npm run dev",
17
- "start:platform-viewer": "cross-env SINGLE_START=camunda-platform-viewer npm run dev",
18
- "start:cloud-viewer": "cross-env SINGLE_START=camunda-cloud-viewer npm run dev",
19
- "start:platform-navigated-viewer": "cross-env SINGLE_START=camunda-platform-navigated-viewer npm run dev",
20
- "start:cloud-navigated-viewer": "cross-env SINGLE_START=camunda-cloud-navigated-viewer npm run dev",
21
- "prepublishOnly": "run-s test:distro",
22
- "prepare": "run-s clean distro"
23
- },
24
- "repository": {
25
- "type": "git",
26
- "url": "https://github.com/camunda/camunda-bpmn-js"
27
- },
28
- "keywords": [
29
- "bpmn",
30
- "bpmn20",
31
- "camunda",
32
- "zeebe",
33
- "modeling",
34
- "bpmn-js"
35
- ],
36
- "author": {
37
- "name": "Niklas Kiefer",
38
- "url": "https://github.com/pinussilvestrus"
39
- },
40
- "contributors": [
41
- {
42
- "name": "bpmn.io contributors",
43
- "url": "https://github.com/bpmn-io"
44
- }
45
- ],
46
- "license": "MIT",
47
- "dependencies": {
48
- "@bpmn-io/align-to-origin": "^0.7.0",
49
- "@bpmn-io/element-templates-icons-renderer": "^0.1.2",
50
- "bpmn-js": "^9.0.3",
51
- "bpmn-js-disable-collapsed-subprocess": "^0.1.4",
52
- "bpmn-js-executable-fix": "^0.1.3",
53
- "camunda-bpmn-js-behaviors": "^0.1.0",
54
- "camunda-bpmn-moddle": "^6.1.2",
55
- "diagram-js": "^8.2.1",
56
- "diagram-js-minimap": "^2.1.0",
57
- "diagram-js-origin": "^1.3.2",
58
- "inherits": "^2.0.4",
59
- "min-dash": "^3.8.1",
60
- "zeebe-bpmn-moddle": "^0.12.1"
61
- },
62
- "devDependencies": {
63
- "@bpmn-io/properties-panel": "^0.13.1",
64
- "@rollup/plugin-commonjs": "^17.1.0",
65
- "@rollup/plugin-json": "^4.1.0",
66
- "@rollup/plugin-node-resolve": "^11.1.1",
67
- "bpmn-js-properties-panel": "^1.1.0",
68
- "chai": "^4.2.0",
69
- "cross-env": "^7.0.3",
70
- "del-cli": "^4.0.1",
71
- "eslint": "^7.32.0",
72
- "eslint-plugin-bpmn-io": "^0.13.0",
73
- "execa": "^5.0.0",
74
- "istanbul-instrumenter-loader": "^3.0.1",
75
- "karma": "^6.3.16",
76
- "karma-chai": "^0.1.0",
77
- "karma-chrome-launcher": "^3.1.0",
78
- "karma-coverage": "^2.0.3",
79
- "karma-debug-launcher": "0.0.4",
80
- "karma-env-preprocessor": "^0.1.1",
81
- "karma-firefox-launcher": "^2.1.0",
82
- "karma-mocha": "^2.0.1",
83
- "karma-safari-launcher": "^1.0.0",
84
- "karma-sinon-chai": "^2.0.2",
85
- "karma-webpack": "^5.0.0",
86
- "min-dom": "^3.1.3",
87
- "mocha": "^9.2.0",
88
- "mocha-test-container-support": "^0.2.0",
89
- "npm-run-all": "^4.1.5",
90
- "puppeteer": "^8.0.0",
91
- "raw-loader": "^4.0.2",
92
- "rollup": "^2.38.4",
93
- "rollup-plugin-copy": "^3.3.0",
94
- "rollup-plugin-terser": "^7.0.2",
95
- "sinon": "^9.2.4",
96
- "sinon-chai": "^3.5.0",
97
- "webpack": "^5.20.1"
98
- },
99
- "peerDependencies": {
100
- "@bpmn-io/properties-panel": "0.13.x",
101
- "bpmn-js-properties-panel": "1.x"
102
- }
103
- }
1
+ {
2
+ "name": "camunda-bpmn-js",
3
+ "version": "0.15.0",
4
+ "description": "Embeddable Camunda modeling distributions based on bpmn-js",
5
+ "main": "lib/index.js",
6
+ "scripts": {
7
+ "all": "run-s clean lint test distro test:distro",
8
+ "lint": "eslint .",
9
+ "dev": "npm test -- --auto-watch --no-single-run",
10
+ "test": "karma start karma.config.js",
11
+ "clean": "del-cli dist",
12
+ "distro": "rollup -c",
13
+ "test:distro": "node tasks/test-distro.js",
14
+ "start:base": "cross-env SINGLE_START=base-modeler npm run dev",
15
+ "start:platform": "cross-env SINGLE_START=camunda-platform-modeler npm run dev",
16
+ "start:cloud": "cross-env SINGLE_START=camunda-cloud-modeler npm run dev",
17
+ "start:platform-viewer": "cross-env SINGLE_START=camunda-platform-viewer npm run dev",
18
+ "start:cloud-viewer": "cross-env SINGLE_START=camunda-cloud-viewer npm run dev",
19
+ "start:platform-navigated-viewer": "cross-env SINGLE_START=camunda-platform-navigated-viewer npm run dev",
20
+ "start:cloud-navigated-viewer": "cross-env SINGLE_START=camunda-cloud-navigated-viewer npm run dev",
21
+ "prepublishOnly": "run-s test:distro",
22
+ "prepare": "run-s clean distro"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/camunda/camunda-bpmn-js"
27
+ },
28
+ "keywords": [
29
+ "bpmn",
30
+ "bpmn20",
31
+ "camunda",
32
+ "zeebe",
33
+ "modeling",
34
+ "bpmn-js"
35
+ ],
36
+ "author": {
37
+ "name": "Niklas Kiefer",
38
+ "url": "https://github.com/pinussilvestrus"
39
+ },
40
+ "contributors": [
41
+ {
42
+ "name": "bpmn.io contributors",
43
+ "url": "https://github.com/bpmn-io"
44
+ }
45
+ ],
46
+ "license": "MIT",
47
+ "dependencies": {
48
+ "@bpmn-io/align-to-origin": "^0.7.0",
49
+ "@bpmn-io/element-templates-icons-renderer": "^0.2.0",
50
+ "bpmn-js": "^9.3.0",
51
+ "bpmn-js-disable-collapsed-subprocess": "^0.1.4",
52
+ "bpmn-js-executable-fix": "^0.1.3",
53
+ "camunda-bpmn-js-behaviors": "^0.1.0",
54
+ "camunda-bpmn-moddle": "^6.1.2",
55
+ "diagram-js": "^8.7.0",
56
+ "diagram-js-minimap": "^2.1.0",
57
+ "diagram-js-origin": "^1.3.2",
58
+ "inherits": "^2.0.4",
59
+ "min-dash": "^3.8.1",
60
+ "zeebe-bpmn-moddle": "^0.12.1"
61
+ },
62
+ "devDependencies": {
63
+ "@bpmn-io/element-template-chooser": "0.0.5",
64
+ "@bpmn-io/properties-panel": "^0.15.0",
65
+ "@rollup/plugin-commonjs": "^17.1.0",
66
+ "@rollup/plugin-json": "^4.1.0",
67
+ "@rollup/plugin-node-resolve": "^11.1.1",
68
+ "bpmn-js-properties-panel": "^1.2.0",
69
+ "chai": "^4.2.0",
70
+ "cross-env": "^7.0.3",
71
+ "del-cli": "^4.0.1",
72
+ "eslint": "^7.32.0",
73
+ "eslint-plugin-bpmn-io": "^0.13.0",
74
+ "execa": "^5.0.0",
75
+ "istanbul-instrumenter-loader": "^3.0.1",
76
+ "karma": "^6.3.16",
77
+ "karma-chai": "^0.1.0",
78
+ "karma-chrome-launcher": "^3.1.0",
79
+ "karma-coverage": "^2.0.3",
80
+ "karma-debug-launcher": "0.0.4",
81
+ "karma-env-preprocessor": "^0.1.1",
82
+ "karma-firefox-launcher": "^2.1.0",
83
+ "karma-mocha": "^2.0.1",
84
+ "karma-safari-launcher": "^1.0.0",
85
+ "karma-sinon-chai": "^2.0.2",
86
+ "karma-webpack": "^5.0.0",
87
+ "min-dom": "^3.2.1",
88
+ "mocha": "^9.2.0",
89
+ "mocha-test-container-support": "^0.2.0",
90
+ "npm-run-all": "^4.1.5",
91
+ "puppeteer": "^8.0.0",
92
+ "raw-loader": "^4.0.2",
93
+ "rollup": "^2.38.4",
94
+ "rollup-plugin-copy": "^3.3.0",
95
+ "rollup-plugin-terser": "^7.0.2",
96
+ "sinon": "^9.2.4",
97
+ "sinon-chai": "^3.5.0",
98
+ "webpack": "^5.20.1"
99
+ },
100
+ "peerDependencies": {
101
+ "@bpmn-io/properties-panel": "0.13.x",
102
+ "bpmn-js-properties-panel": "1.x"
103
+ },
104
+ "files": [
105
+ "dist",
106
+ "lib",
107
+ "styles",
108
+ "util"
109
+ ]
110
+ }
@@ -1,5 +1,5 @@
1
- @import './diagram-js.css';
2
- @import './bpmn-js.css';
3
- @import './bpmn-font/css/bpmn-embedded.css';
4
- @import './diagram-js-minimap.css';
1
+ @import './diagram-js.css';
2
+ @import './bpmn-js.css';
3
+ @import './bpmn-font/css/bpmn-embedded.css';
4
+ @import './diagram-js-minimap.css';
5
5
  @import './properties-panel.css';
@@ -1,2 +1,2 @@
1
- @import './diagram-js.css';
1
+ @import './diagram-js.css';
2
2
  @import './bpmn-js.css';
@@ -1,2 +1,2 @@
1
- @import './diagram-js.css';
1
+ @import './diagram-js.css';
2
2
  @import './bpmn-js.css';
@@ -1,2 +1,2 @@
1
- @import './base-modeler.css';
1
+ @import './base-modeler.css';
2
2
  @import './element-templates.css';
@@ -1,2 +1,2 @@
1
- @import './base-modeler.css';
1
+ @import './base-modeler.css';
2
2
  @import './element-templates.css';
package/util/index.js CHANGED
@@ -1,39 +1,39 @@
1
- /**
2
- * Generates all possible combinations of the items in the given arrays.
3
- *
4
- * @param {...Array} - arrays with options to combine
5
- * @returns {Array<Array>} array with all posible combinations of items
6
- */
7
- function getAllCombinations() {
8
- const [ first, ...rest ] = arguments;
9
-
10
- if (!first) {
11
- return;
12
- }
13
-
14
- const combinations = getAllCombinations(...rest);
15
-
16
- return first.reduce((acc, cur) => {
17
-
18
- const newCombination = combinations ? combinations.map(combination => [ cur, ...combination ]) : [ [ cur ] ];
19
-
20
- return acc.concat(
21
- newCombination
22
- );
23
- }, []);
24
- }
25
-
26
- function capitalize(string) {
27
- return string.charAt(0).toUpperCase() + string.slice(1);
28
- }
29
-
30
- function toKebabCase(string) {
31
- return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
32
- }
33
-
34
-
35
- module.exports = {
36
- getAllCombinations,
37
- capitalize,
38
- toKebabCase
39
- };
1
+ /**
2
+ * Generates all possible combinations of the items in the given arrays.
3
+ *
4
+ * @param {...Array} - arrays with options to combine
5
+ * @returns {Array<Array>} array with all posible combinations of items
6
+ */
7
+ function getAllCombinations() {
8
+ const [ first, ...rest ] = arguments;
9
+
10
+ if (!first) {
11
+ return;
12
+ }
13
+
14
+ const combinations = getAllCombinations(...rest);
15
+
16
+ return first.reduce((acc, cur) => {
17
+
18
+ const newCombination = combinations ? combinations.map(combination => [ cur, ...combination ]) : [ [ cur ] ];
19
+
20
+ return acc.concat(
21
+ newCombination
22
+ );
23
+ }, []);
24
+ }
25
+
26
+ function capitalize(string) {
27
+ return string.charAt(0).toUpperCase() + string.slice(1);
28
+ }
29
+
30
+ function toKebabCase(string) {
31
+ return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
32
+ }
33
+
34
+
35
+ module.exports = {
36
+ getAllCombinations,
37
+ capitalize,
38
+ toKebabCase
39
+ };