@common-stack/client-react 3.0.2-alpha.2 → 3.0.2-alpha.5

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 (146) hide show
  1. package/lib/connector/base-connector.js +3 -10
  2. package/lib/connector/base-connector.js.map +1 -1
  3. package/lib/connector/connector.d.ts +0 -1
  4. package/lib/connector/connector.js +3 -8
  5. package/lib/connector/connector.js.map +1 -1
  6. package/lib/connector/connector.native.d.ts +0 -1
  7. package/lib/connector/connector.native.js +3 -9
  8. package/lib/connector/connector.native.js.map +1 -1
  9. package/lib/index.js +1 -11
  10. package/lib/index.js.map +1 -1
  11. package/lib/index.native.js +1 -11
  12. package/lib/index.native.js.map +1 -1
  13. package/lib/interfaces/menu.js +2 -3
  14. package/lib/interfaces/menu.js.map +1 -1
  15. package/lib/inversify/InversifyContext.js +4 -6
  16. package/lib/inversify/InversifyContext.js.map +1 -1
  17. package/lib/plugin-area/base-plugin-area.js +4 -10
  18. package/lib/plugin-area/base-plugin-area.js.map +1 -1
  19. package/lib/plugin-area/index.js +2 -6
  20. package/lib/plugin-area/index.js.map +1 -1
  21. package/lib/plugin-area/index.native.js +2 -7
  22. package/lib/plugin-area/index.native.js.map +1 -1
  23. package/lib/plugin-area/plugin-api.js +6 -9
  24. package/lib/plugin-area/plugin-api.js.map +1 -1
  25. package/lib/plugin-area/plugin-context.js +2 -18
  26. package/lib/plugin-area/plugin-context.js.map +1 -1
  27. package/lib/route/get-routes.js +3 -6
  28. package/lib/route/get-routes.js.map +1 -1
  29. package/lib/route/old/get-menus.js +2 -4
  30. package/lib/route/old/get-menus.js.map +1 -1
  31. package/lib/route/old/render.js +2 -5
  32. package/lib/route/old/render.js.map +1 -1
  33. package/lib/route/react-navigation/get-navigation-utils.js +3 -7
  34. package/lib/route/react-navigation/get-navigation-utils.js.map +1 -1
  35. package/lib/route/react-navigation/react-navigation-render.js +6 -10
  36. package/lib/route/react-navigation/react-navigation-render.js.map +1 -1
  37. package/lib/route/react-navigation/root-navigation.js +3 -5
  38. package/lib/route/react-navigation/root-navigation.js.map +1 -1
  39. package/lib/route/react-navigation/types.js +1 -2
  40. package/lib/route/react-navigation/types.js.map +1 -1
  41. package/lib/route/render-routes-native.js +4 -62
  42. package/lib/route/render-routes-native.js.map +1 -1
  43. package/lib/route/render-routes.js +2 -132
  44. package/lib/route/render-routes.js.map +1 -1
  45. package/lib/route/root-navigation.js +3 -5
  46. package/lib/route/root-navigation.js.map +1 -1
  47. package/lib/route-based-plugin-area/plugin-api.js +6 -9
  48. package/lib/route-based-plugin-area/plugin-api.js.map +1 -1
  49. package/lib/route-based-plugin-area/plugin-context.js +2 -18
  50. package/lib/route-based-plugin-area/plugin-context.js.map +1 -1
  51. package/lib/route-based-plugin-area/route-based-plugin-area.js +4 -10
  52. package/lib/route-based-plugin-area/route-based-plugin-area.js.map +1 -1
  53. package/lib/router-factory/index.js +3 -7
  54. package/lib/router-factory/index.js.map +1 -1
  55. package/lib/router-factory/index.native.js +3 -7
  56. package/lib/router-factory/index.native.js.map +1 -1
  57. package/lib/utils/before-ssr.js +2 -4
  58. package/lib/utils/before-ssr.js.map +1 -1
  59. package/lib/utils/combine.js +1 -3
  60. package/lib/utils/combine.js.map +1 -1
  61. package/lib/utils/hydrate.js +2 -4
  62. package/lib/utils/hydrate.js.map +1 -1
  63. package/lib/utils/sort-keys.js +3 -5
  64. package/lib/utils/sort-keys.js.map +1 -1
  65. package/lib/utils/utils.js +2 -3
  66. package/lib/utils/utils.js.map +1 -1
  67. package/package.json +7 -6
  68. package/lib/__tests__/fill-register-test.js +0 -45
  69. package/lib/__tests__/fill-register-test.js.map +0 -1
  70. package/lib/__tests__/helpers/sample-menu.js +0 -75
  71. package/lib/__tests__/helpers/sample-menu.js.map +0 -1
  72. package/lib/__tests__/integrated-routes.test.js +0 -59
  73. package/lib/__tests__/integrated-routes.test.js.map +0 -1
  74. package/lib/__tests__/router-render.test.js +0 -49
  75. package/lib/__tests__/router-render.test.js.map +0 -1
  76. package/lib/connector/connector.test.js +0 -11
  77. package/lib/connector/connector.test.js.map +0 -1
  78. package/lib/connector/index.js +0 -2
  79. package/lib/connector/index.js.map +0 -1
  80. package/lib/interfaces/extended-feature.js +0 -2
  81. package/lib/interfaces/extended-feature.js.map +0 -1
  82. package/lib/interfaces/feature.js +0 -2
  83. package/lib/interfaces/feature.js.map +0 -1
  84. package/lib/interfaces/index.js +0 -6
  85. package/lib/interfaces/index.js.map +0 -1
  86. package/lib/interfaces/new-router.js +0 -2
  87. package/lib/interfaces/new-router.js.map +0 -1
  88. package/lib/interfaces/router.js +0 -2
  89. package/lib/interfaces/router.js.map +0 -1
  90. package/lib/inversify/index.js +0 -2
  91. package/lib/inversify/index.js.map +0 -1
  92. package/lib/plugin-area/__tests__/higher-order-component-util.test.js +0 -39
  93. package/lib/plugin-area/__tests__/higher-order-component-util.test.js.map +0 -1
  94. package/lib/plugin-area/__tests__/plugin-api.test.js +0 -52
  95. package/lib/plugin-area/__tests__/plugin-api.test.js.map +0 -1
  96. package/lib/plugin-area/higher-order-component-util.js +0 -19
  97. package/lib/plugin-area/higher-order-component-util.js.map +0 -1
  98. package/lib/route/__tests__/admin-new-routes.test.js +0 -145
  99. package/lib/route/__tests__/admin-new-routes.test.js.map +0 -1
  100. package/lib/route/__tests__/config-routes.test.d.ts +0 -0
  101. package/lib/route/__tests__/config-routes.test.js +0 -326
  102. package/lib/route/__tests__/config-routes.test.js.map +0 -1
  103. package/lib/route/__tests__/getFlatMenus.test.js +0 -94
  104. package/lib/route/__tests__/getFlatMenus.test.js.map +0 -1
  105. package/lib/route/__tests__/render-routes-config.test.js +0 -57
  106. package/lib/route/__tests__/render-routes-config.test.js.map +0 -1
  107. package/lib/route/__tests__/route-type.test.js +0 -8
  108. package/lib/route/__tests__/route-type.test.js.map +0 -1
  109. package/lib/route/get-routes.test.js +0 -184
  110. package/lib/route/get-routes.test.js.map +0 -1
  111. package/lib/route/index.js +0 -3
  112. package/lib/route/index.js.map +0 -1
  113. package/lib/route/index.native.js +0 -2
  114. package/lib/route/index.native.js.map +0 -1
  115. package/lib/route/old/__tests__/config-sidebar-menu.test.js +0 -200
  116. package/lib/route/old/__tests__/config-sidebar-menu.test.js.map +0 -1
  117. package/lib/route/old/get-routes-notused.js +0 -63
  118. package/lib/route/old/get-routes-notused.js.map +0 -1
  119. package/lib/route/react-navigation/get-navigation-utils.test.js +0 -180
  120. package/lib/route/react-navigation/get-navigation-utils.test.js.map +0 -1
  121. package/lib/route/react-navigation/index.js +0 -3
  122. package/lib/route/react-navigation/index.js.map +0 -1
  123. package/lib/route/react-navigation/react-native.sample.test.js +0 -13
  124. package/lib/route/react-navigation/react-native.sample.test.js.map +0 -1
  125. package/lib/route/react-navigation/react-native.sample1.test.js +0 -30
  126. package/lib/route/react-navigation/react-native.sample1.test.js.map +0 -1
  127. package/lib/route/react-navigation/react-navigation-render.test.js +0 -139
  128. package/lib/route/react-navigation/react-navigation-render.test.js.map +0 -1
  129. package/lib/route/react-navigation/routes.js +0 -2
  130. package/lib/route/react-navigation/routes.js.map +0 -1
  131. package/lib/route/render-routes.test.js +0 -452
  132. package/lib/route/render-routes.test.js.map +0 -1
  133. package/lib/route/test-routes.js +0 -578
  134. package/lib/route/test-routes.js.map +0 -1
  135. package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js +0 -39
  136. package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js.map +0 -1
  137. package/lib/route-based-plugin-area/__tests__/plugin-api.test.js +0 -52
  138. package/lib/route-based-plugin-area/__tests__/plugin-api.test.js.map +0 -1
  139. package/lib/route-based-plugin-area/higher-order-component-util.js +0 -19
  140. package/lib/route-based-plugin-area/higher-order-component-util.js.map +0 -1
  141. package/lib/route-based-plugin-area/index.js +0 -3
  142. package/lib/route-based-plugin-area/index.js.map +0 -1
  143. package/lib/utils/index.js +0 -6
  144. package/lib/utils/index.js.map +0 -1
  145. package/lib/utils/sort-keys.test.js +0 -59
  146. package/lib/utils/sort-keys.test.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { registerRouteBasePlugin, unregisterRouteBasePlugin, getRouteBasePlugin, getRouteBasePlugins } from '../plugin-api';
2
- describe('registerPlugin', () => {
3
- afterEach(() => {
4
- getRouteBasePlugins().forEach((plugin) => {
5
- unregisterRouteBasePlugin(plugin.name);
6
- });
7
- });
8
- it('successfully registers a plugin', () => {
9
- const name = 'plugin';
10
- const icon = 'smiley';
11
- const Component = () => 'plugin content';
12
- registerRouteBasePlugin(name, {
13
- render: Component,
14
- icon,
15
- });
16
- expect(getRouteBasePlugin(name)).toEqual({
17
- name,
18
- render: Component,
19
- icon,
20
- });
21
- });
22
- it('fails to register a plugin without a settings object', () => {
23
- registerRouteBasePlugin();
24
- expect(console).toThrowError('No settings object provided!');
25
- });
26
- it('fails to register a plugin with special character in the name', () => {
27
- registerRouteBasePlugin('plugin/with/special/characters', {
28
- render: () => { },
29
- });
30
- expect(console).toThrowError('Plugin names must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-plugin".');
31
- });
32
- it('fails to register a plugin with a non-string name', () => {
33
- registerRouteBasePlugin({}, {
34
- render: () => { },
35
- });
36
- expect(console).toThrowError('Plugin names must be strings.');
37
- });
38
- it('fails to register a plugin without a render function', () => {
39
- registerRouteBasePlugin('another-plugin', {});
40
- expect(console).toThrowError('The "render" property must be specified and must be a valid function.');
41
- });
42
- it('fails to register a plugin that was already been registered', () => {
43
- registerRouteBasePlugin('plugin', {
44
- render: () => 'plugin content',
45
- });
46
- registerRouteBasePlugin('plugin', {
47
- render: () => 'plugin content',
48
- });
49
- expect(console).toThrowError('Plugin "plugin" is already registered.');
50
- });
51
- });
52
- //# sourceMappingURL=plugin-api.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-api.test.js","sourceRoot":"","sources":["../../../src/route-based-plugin-area/__tests__/plugin-api.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG3H,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,SAAS,CAAC,GAAG,EAAE;QACX,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC;QAEzC,uBAAuB,CAAC,IAAI,EAAE;YAC1B,MAAM,EAAE,SAAS;YACjB,IAAI;SACP,CAAC,CAAC;QAEH,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACrC,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,IAAI;SACP,CAAC,CAAA;IACN,CAAC,CAAC,CAAC;IAEN,EAAE,CAAE,sDAAsD,EAAE,GAAG,EAAE;QAC1D,uBAAwB,EAAE,CAAC;QACjC,MAAM,CAAE,OAAO,CAAE,CAAC,YAAY,CAAE,8BAA8B,CAAE,CAAC;IAClE,CAAC,CAAE,CAAC;IAEJ,EAAE,CAAE,+DAA+D,EAAE,GAAG,EAAE;QACzE,uBAAuB,CAAE,gCAAgC,EAAE;YAC1D,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SAChB,CAAE,CAAC;QACJ,MAAM,CAAE,OAAO,CAAE,CAAC,YAAY,CAC7B,4HAA4H,CAC5H,CAAC;IACH,CAAC,CAAE,CAAC;IAEJ,EAAE,CAAE,mDAAmD,EAAE,GAAG,EAAE;QAC7D,uBAAuB,CACtB,EAAE,EACF;YACC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SAChB,CACD,CAAC;QACF,MAAM,CAAE,OAAO,CAAE,CAAC,YAAY,CAAE,+BAA+B,CAAE,CAAC;IACnE,CAAC,CAAE,CAAC;IAEJ,EAAE,CAAE,sDAAsD,EAAE,GAAG,EAAE;QAChE,uBAAuB,CAAE,gBAAgB,EAAE,EAAE,CAAE,CAAC;QAChD,MAAM,CAAE,OAAO,CAAE,CAAC,YAAY,CAC7B,uEAAuE,CACvE,CAAC;IACH,CAAC,CAAE,CAAC;IAEJ,EAAE,CAAE,6DAA6D,EAAE,GAAG,EAAE;QACvE,uBAAuB,CAAE,QAAQ,EAAE;YAClC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB;SAC9B,CAAE,CAAC;QACJ,uBAAuB,CAAE,QAAQ,EAAE;YAClC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB;SAC9B,CAAE,CAAC;QACJ,MAAM,CAAE,OAAO,CAAE,CAAC,YAAY,CAC7B,wCAAwC,CACxC,CAAC;IACH,CAAC,CAAE,CAAC;AACL,CAAC,CAAC,CAAA"}
@@ -1,19 +0,0 @@
1
- import { camelCase, upperFirst } from 'lodash';
2
- /**
3
- * Given a function mapping a component to an enhanced component and modifier
4
- * name, returns the enhanced component augmented with a generated displayName.
5
- *
6
- * @param mapComponentToEnhancedComponent Function mapping component to enhanced component.
7
- * @param modifierName Seed name from which to generated display name.
8
- *
9
- * @return Component class with generated display name assigned.
10
- */
11
- export function createHigherOrderComponent(mapComponentToEnhancedComponent, modifierName) {
12
- return (OriginalComponent) => {
13
- const EnhancedComponent = mapComponentToEnhancedComponent(OriginalComponent);
14
- const { displayName = OriginalComponent.name || 'Component', } = OriginalComponent;
15
- EnhancedComponent.displayName = `${upperFirst(camelCase(modifierName))}(${displayName})`;
16
- return EnhancedComponent;
17
- };
18
- }
19
- //# sourceMappingURL=higher-order-component-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"higher-order-component-util.js","sourceRoot":"","sources":["../../src/route-based-plugin-area/higher-order-component-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACtC,+BAA+B,EAC/B,YAAY;IAEZ,OAAO,CAAE,iBAAiB,EAAG,EAAE;QAC3B,MAAM,iBAAiB,GAAG,+BAA+B,CACrD,iBAAiB,CACpB,CAAC;QACF,MAAM,EACF,WAAW,GAAG,iBAAiB,CAAC,IAAI,IAAI,WAAW,GACtD,GAAG,iBAAiB,CAAC;QACtB,iBAAiB,CAAC,WAAW,GAAG,GAAI,UAAU,CAC1C,SAAS,CAAC,YAAY,CAAC,CAC1B,IAAI,WAAW,GAAG,CAAC;QAEpB,OAAO,iBAAiB,CAAC;IAC7B,CAAC,CAAA;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './route-based-plugin-area';
2
- export * from './plugin-api';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/route-based-plugin-area/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './sort-keys';
2
- export * from './utils';
3
- export * from './combine';
4
- export * from './hydrate';
5
- export * from './before-ssr';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -1,59 +0,0 @@
1
- import { sortKeys, sortByPaths } from './sort-keys';
2
- function MyComponent(props) {
3
- return {};
4
- }
5
- describe('utility with basic routes', () => {
6
- const routerConfig = {
7
- ["//menu"]: { exact: true, component: MyComponent },
8
- ["/login"]: { exact: true, component: MyComponent },
9
- ["/callback"]: { exact: true, component: MyComponent },
10
- ["/:orgName/usermenu/logout"]: { exact: true, component: MyComponent },
11
- ["/"]: { exact: false, component: MyComponent },
12
- ["/:orgName/usermenu/profile"]: { exact: true, component: MyComponent },
13
- ["/authenticate-popup"]: { exact: true, component: MyComponent },
14
- ["/reset-password"]: { exact: true, component: MyComponent },
15
- ["/:orgName/usermenu/account/"]: { exact: false, component: MyComponent },
16
- ["/o/orgname2"]: { exact: false, component: MyComponent },
17
- ["/o/profile"]: { exact: true, component: MyComponent },
18
- ["/o/profile/upload-photo"]: { exact: true, component: MyComponent },
19
- ["/o/:orgName/account/line/"]: { exact: false, component: MyComponent },
20
- ["/o/:orgName/account/line2/"]: { exact: false, component: MyComponent },
21
- ["/o/orgname"]: { exact: false, component: MyComponent },
22
- };
23
- const routerConfig64 = [
24
- { path: '//menu', component: MyComponent },
25
- { path: '/login', component: MyComponent },
26
- { path: '/:orgName/usermenu/logout', component: MyComponent },
27
- { path: '/callback', component: MyComponent },
28
- { path: "/", component: MyComponent },
29
- { path: "/:orgName/usermenu/profile", component: MyComponent },
30
- { path: "/authenticate-popup", component: MyComponent },
31
- { path: "/reset-password", component: MyComponent },
32
- { path: "/:orgName/usermenu/account/", component: MyComponent },
33
- { path: "/o/orgname2", component: MyComponent },
34
- { path: "/o/profile", component: MyComponent },
35
- { path: "/o/profile/upload-photo", component: MyComponent },
36
- { path: "/o/:orgName/account/line/", component: MyComponent },
37
- { path: "/o/:orgName/account/line2/", component: MyComponent },
38
- { path: "/o/orgname", component: MyComponent },
39
- ];
40
- let sortedRoutes = {};
41
- let keys = [];
42
- beforeAll(() => {
43
- sortedRoutes = sortKeys(routerConfig);
44
- keys = Object.keys(sortedRoutes);
45
- });
46
- it('sort will have `root` at the top', () => {
47
- expect(keys[0]).toEqual('/');
48
- expect(keys[0]).toMatchSnapshot();
49
- expect(sortedRoutes).toMatchSnapshot();
50
- });
51
- it('sort will be same as sortByPaths for react-router 6.4', () => {
52
- const sortedRoutes2 = sortByPaths(routerConfig64);
53
- const paths = sortedRoutes2.map(route => route.path);
54
- expect(keys.length).toEqual(paths.length);
55
- expect(keys[0]).toEqual(paths[0]);
56
- expect(keys[keys.length - 1]).toEqual(paths[keys.length - 1]);
57
- });
58
- });
59
- //# sourceMappingURL=sort-keys.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-keys.test.js","sourceRoot":"","sources":["../../src/utils/sort-keys.test.ts"],"names":[],"mappings":"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"}