@common-stack/client-core 0.3.1-alpha.0 → 0.4.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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import 'jest';
@@ -0,0 +1 @@
1
+ import 'jest';
@@ -0,0 +1,13 @@
1
+ import { AbstractFeature } from '../connector';
2
+ export declare class TestFeature extends AbstractFeature {
3
+ getConfiguredMenus: () => {};
4
+ getDataRoot: () => {};
5
+ getConfiguredRoutes: () => {};
6
+ getMenus: () => {};
7
+ getRoutes: () => {};
8
+ getWrappedRoot: () => {};
9
+ navItems: () => {};
10
+ navItemRight: () => {};
11
+ navItemsRight: () => {};
12
+ registerLanguages: () => {};
13
+ }
@@ -1,5 +1,5 @@
1
1
  import { IFeature, IModuleShape, IClientStateConfig, IClientState } from '../interfaces';
2
- import { IdGetterObj } from '@apollo/client';
2
+ import { IdGetterObj } from '@apollo/client/core';
3
3
  import { ErrorLink } from '@apollo/client/link/error';
4
4
  import { ReducersMapObject } from 'redux';
5
5
  import { interfaces } from 'inversify';
@@ -0,0 +1,232 @@
1
+ import*as React from'react';import {merge,without,union,map,castArray}from'lodash';import {Container}from'inversify';const combine = (features, extractor) => without(union(...map(features, res => castArray(extractor(res)))), undefined);
2
+ const featureCatalog = {};
3
+ class AbstractFeature {
4
+ /**
5
+ * Constructs Client feature module representation, that folds all the feature modules
6
+ * into a single module represented by this instance.
7
+ * @param feature
8
+ * @param features
9
+ */
10
+ constructor(feature,
11
+ // tslint:disable:trailing-comma
12
+ ...features) {
13
+ // Connectivity
14
+ this.link = combine(arguments, (arg) => arg.link);
15
+ this.errorLink = combine(arguments, (arg) => arg.errorLink);
16
+ this.createFetch = combine(arguments, (arg) => arg.createFetch)
17
+ .slice(-1)
18
+ .pop();
19
+ this.connectionParam = combine(arguments, (arg) => arg.connectionParam);
20
+ // State management
21
+ this.reducer = combine(arguments, (arg) => arg.reducer);
22
+ // Client side schema for apollo-link-state
23
+ this.clientStateParams = combine(arguments, (arg) => arg.clientStateParams);
24
+ // Envalid config
25
+ this.envalidConfig = combine(arguments, (arg) => arg.envalidConfig);
26
+ // Epic actions
27
+ this.epic = combine(arguments, (arg) => arg.epic);
28
+ this.sidebarSegments = combine(arguments, (arg) => arg.sidebarSegments);
29
+ this.leftMainPanelItems = combine(arguments, (arg) => arg.leftMainPanelItems);
30
+ this.middleMainPanelItems = combine(arguments, (arg) => arg.middleMainPanelItems);
31
+ this.middleMainPanelItemsProps = combine(arguments, (arg) => arg.middleMainPanelItemsProps);
32
+ this.leftFooterItems = combine(arguments, (arg) => arg.leftFooterItems);
33
+ this.rightFooterItems = combine(arguments, (arg) => arg.rightFooterItems);
34
+ this.middleLowerPanelItems = combine(arguments, (arg) => arg.middleLowerPanelItems);
35
+ this.dataIdFromObject = combine(arguments, (arg) => arg.dataIdFromObject);
36
+ this.navItem = combine(arguments, (arg) => arg.navItem);
37
+ this.navItemRight = combine(arguments, (arg) => arg.navItemRight);
38
+ // UI provider-components
39
+ this.rootComponentFactory = combine(arguments, (arg) => arg.rootComponentFactory);
40
+ this.dataRootComponent = combine(arguments, (arg) => arg.dataRootComponent);
41
+ // UI provider-components
42
+ this.languagesFuncs = combine(arguments, (arg) => arg.languagesFuncs);
43
+ // container
44
+ this.createContainerFunc = combine(arguments, arg => arg.createContainerFunc);
45
+ // services
46
+ this.createServiceFunc = combine(arguments, arg => arg.createServiceFunc);
47
+ // TODO: Use React Helmet for those. Low level DOM manipulation
48
+ this.stylesInsert = combine(arguments, (arg) => arg.stylesInsert);
49
+ this.scriptsInsert = combine(arguments, (arg) => arg.scriptsInsert);
50
+ this.reduxPersistTransforms = combine(arguments, (arg) => arg.reduxPersistTransforms);
51
+ // Shared modules data
52
+ this.data = combine([{}].concat(Array.from(arguments)), arg => arg.data)
53
+ .reduce((acc, el) => [Object.assign(Object.assign({}, acc[0]), el)], [{}]);
54
+ }
55
+ get envalidConfigs() {
56
+ return this.envalidConfig.reduce((prev, config) => {
57
+ for (let key in config) {
58
+ if (prev[key]) {
59
+ if (prev[key].required) {
60
+ config[key].required = prev[key].required;
61
+ }
62
+ if (prev[key].devRequired) {
63
+ config[key].devRequired = prev[key].devRequired;
64
+ }
65
+ }
66
+ return Object.assign(Object.assign({}, prev), config);
67
+ }
68
+ }, {});
69
+ }
70
+ get container() {
71
+ if (!this._container) {
72
+ this._container = new Container();
73
+ }
74
+ return this._container;
75
+ }
76
+ get epics() {
77
+ return this.epic;
78
+ }
79
+ getRouter(withRoot, rootComponent) {
80
+ return this.routerFactory(this.getRoutes());
81
+ }
82
+ get reducers() {
83
+ return merge({}, ...(this.reducer || []));
84
+ }
85
+ createContainers(options) {
86
+ // only create once
87
+ if (this.isContainerLoaded) {
88
+ return this.container;
89
+ }
90
+ this.createContainerFunc.map(createModule => {
91
+ this.container.load(createModule(options));
92
+ });
93
+ this.isContainerLoaded = true;
94
+ return this.container;
95
+ }
96
+ createService(options, updateOptions) {
97
+ // only create once
98
+ if (this.services) {
99
+ return this.services;
100
+ }
101
+ try {
102
+ if (!this.isContainerLoaded) {
103
+ this.createContainers(options);
104
+ }
105
+ this.services = merge({}, ...this.createServiceFunc.map(serviceFunc => serviceFunc(this.container)));
106
+ return this.services;
107
+ }
108
+ catch (err) {
109
+ throw err;
110
+ }
111
+ }
112
+ getStateParams(args = {}) {
113
+ const cn = this.container;
114
+ return this.clientStateParams.reduce(function (acc, curr) {
115
+ const defs = curr.typeDefs ? Array.isArray(curr.typeDefs) ? curr.typeDefs : [curr.typeDefs] : [];
116
+ const preLinksAccumulator = acc.preLinks || [];
117
+ const attemptFuncAccumulator = acc.retryLinkAttemptFuncs || [];
118
+ const connectionParamsFuncAccumulator = acc.connectionParams || [];
119
+ const callbackBackFuncAccumulator = acc.connectionCallbackFuncs || [];
120
+ const attemptDefaults = acc.defaults || [];
121
+ const schema = defs.map(typeDef => {
122
+ if (typeof typeDef === 'string') {
123
+ return typeDef;
124
+ }
125
+ console.warn(`Not supported AST format `, typeDef);
126
+ })
127
+ .map(str => str.trim())
128
+ .join('\n');
129
+ const typeDefs = acc.typeDefs ? acc.typeDefs.concat('\n', schema) : schema;
130
+ const defaults = curr.defaults ? attemptDefaults.concat(curr.defaults) : attemptDefaults;
131
+ const resolvers = merge(acc.resolvers, consoldidatedResolvers(curr.resolvers, args.resolverContex));
132
+ const possibleTypes = merge(acc.possibleTypes, curr.possibleTypes);
133
+ const typePolicies = merge(acc.typePolicies, curr.typePolicies);
134
+ const retryLinkAttemptFuncs = curr.retryLinkAttemptFuncs ? attemptFuncAccumulator.concat(curr.retryLinkAttemptFuncs || []) : attemptFuncAccumulator;
135
+ const preLinks = preLinksAccumulator.concat((curr.preLinkFuncs || []).map(linkF => linkF(cn)) || []);
136
+ const connectionParams = curr.connectionParam ? connectionParamsFuncAccumulator.concat(consoldidatedConnection(curr.connectionParam, cn)) : connectionParamsFuncAccumulator;
137
+ const connectionCallbackFuncs = curr.connectionCallbackFunc ? callbackBackFuncAccumulator.concat(curr.connectionCallbackFunc(cn) || []) : callbackBackFuncAccumulator;
138
+ return {
139
+ defaults,
140
+ resolvers,
141
+ typeDefs,
142
+ possibleTypes,
143
+ retryLinkAttemptFuncs,
144
+ preLinks,
145
+ typePolicies,
146
+ connectionParams,
147
+ connectionCallbackFuncs
148
+ };
149
+ }, {});
150
+ }
151
+ get connectionParams() {
152
+ return this.connectionParam;
153
+ }
154
+ get stylesInserts() {
155
+ return this.stylesInsert;
156
+ }
157
+ get scriptsInserts() {
158
+ return this.scriptsInsert;
159
+ }
160
+ get leftMainPanel() {
161
+ return merge({}, ...(this.leftMainPanelItems || []));
162
+ }
163
+ get middleMainPanel() {
164
+ const panelObj = merge({}, ...(this.middleMainPanelItems || []));
165
+ const withProps = {};
166
+ Object.keys(panelObj).forEach(key => {
167
+ const props = this.middleMainPanelItemsProps.filter(el => !!el[key]);
168
+ let mergedProps = [];
169
+ props.forEach(el => {
170
+ const insideEl = el[key];
171
+ Object.keys(insideEl).forEach(item => {
172
+ if (mergedProps[item]) {
173
+ mergedProps[item] = [...mergedProps[item], ...insideEl[item]];
174
+ }
175
+ else {
176
+ mergedProps = Object.assign(Object.assign({}, mergedProps), { [item]: insideEl[item] });
177
+ }
178
+ });
179
+ });
180
+ return withProps[key] = React.cloneElement(panelObj[key], mergedProps);
181
+ });
182
+ return withProps;
183
+ }
184
+ get leftFooter() {
185
+ return this.leftFooterItems;
186
+ }
187
+ get rightFooter() {
188
+ return this.rightFooterItems;
189
+ }
190
+ get middleLowerPanel() {
191
+ return merge({}, ...(this.middleLowerPanelItems || []));
192
+ }
193
+ get reduxPersistStateTransformers() {
194
+ return this.reduxPersistTransforms;
195
+ }
196
+ getDataIdFromObject(result) {
197
+ const dataIdFromObject = merge({}, ...this.dataIdFromObject);
198
+ if (dataIdFromObject[result.__typename]) {
199
+ return dataIdFromObject[result.__typename](result);
200
+ }
201
+ return result.id || result._id;
202
+ }
203
+ }
204
+ function consoldidatedResolvers(resolvers, context) {
205
+ let finalResolvers;
206
+ if (Array.isArray(resolvers)) {
207
+ const resolverObject = resolvers.map(resolver => {
208
+ return typeof resolver === 'function'
209
+ ? resolver(context)
210
+ : resolver;
211
+ });
212
+ finalResolvers = merge({}, ...resolverObject);
213
+ }
214
+ else {
215
+ finalResolvers = typeof resolvers === 'function'
216
+ ? resolvers(context)
217
+ : resolvers;
218
+ }
219
+ return finalResolvers;
220
+ }
221
+ async function consoldidatedConnection(connectionParams, context) {
222
+ let finalConnectionParams;
223
+ if (Array.isArray(connectionParams)) {
224
+ throw new Error('Array is not supported for ConnectionParams');
225
+ }
226
+ else {
227
+ finalConnectionParams = typeof connectionParams === 'function'
228
+ ? await connectionParams(context)
229
+ : connectionParams;
230
+ }
231
+ return finalConnectionParams;
232
+ }export{AbstractFeature,featureCatalog};//# sourceMappingURL=abstract-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-connector.js","sources":["../../src/connector/abstract-connector.ts"],"sourcesContent":[null],"names":[],"mappings":"qHAQA,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAChH,MAAM,cAAc,GAAG,GAAG;MAGX,eAAe,CAAA;AAsCjC;;;;;AAKG;AACH,IAAA,WAAA,CACI,OAAsB;;AAEtB,IAAA,GAAG,QAAwB,EAAA;;AAG3B,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;AAE1E,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,WAAW,CAAC;aACxE,KAAK,CAAC,CAAC,CAAC,CAAC;AACT,aAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC;;AAGtF,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;;AAEtE,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,iBAAiB,CAAC,CAAC;;AAG1F,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;;AAGlF,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAGhE,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC;AAEtF,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC1G,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAGxF,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC;;AAGhF,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,iBAAiB,CAAC,CAAC;;AAG1F,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC;;AAGpF,QAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;;AAG9E,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;;AAG1E,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,aAAa,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAiB,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;;QAIpG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC;aACnE,MAAM,CACH,CAAC,GAAG,EAAE,EAAE,KAAK,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CAAC,CAAC,CAAC,GAAK,EAAE,CAAA,CAAG,EACnC,CAAC,EAAE,CAAC,CACP,CAAC;KACT;AACD,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,KAAI;AAC9C,YAAA,KAAK,IAAI,GAAG,IAAI,MAAM,EAAC;AACnB,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;AACX,oBAAA,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;AACnB,wBAAA,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC7C,qBAAA;AACD,oBAAA,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;AACtB,wBAAA,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AACnD,qBAAA;AACJ,iBAAA;gBACD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAK,EAAA,MAAM,CAAC,CAAA;AAC/B,aAAA;SACJ,EAAE,EAAE,CAAC,CAAA;KAET;AAED,IAAA,IAAY,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,EAAE,CAAC;AACrC,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;IAEM,SAAS,CAAC,QAAkB,EAAE,aAAmB,EAAA;QACpD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KAC/C;AAQD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;KAC7C;AAEM,IAAA,gBAAgB,CAAC,OAAO,EAAA;;QAE3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,OAAO,IAAI,CAAC,SAAS,CAAC;AACzB,SAAA;AACD,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,IAAG;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAEM,aAAa,CAAC,OAAO,EAAE,aAAa,EAAA;;QAEvC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,IAAI,CAAC,QAAQ,CAAC;AACxB,SAAA;QACD,IAAI;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACzB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClC,aAAA;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrG,OAAO,IAAI,CAAC,QAAQ,CAAC;AACxB,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;AACV,YAAA,MAAM,GAAG,CAAC;AACb,SAAA;KACJ;IAEM,cAAc,CAAC,OAAiC,EAAE,EAAA;AACrD,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAe,UAAU,GAAG,EAAE,IAAwB,EAAA;AACtF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACjG,YAAA,MAAM,mBAAmB,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC/C,YAAA,MAAM,sBAAsB,GAAG,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC;AAC/D,YAAA,MAAM,+BAA+B,GAAG,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AACnE,YAAA,MAAM,2BAA2B,GAAG,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;AACtE,YAAA,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAG;AAC9B,gBAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC7B,oBAAA,OAAO,OAAO,CAAC;AAClB,iBAAA;AACD,gBAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;AACvD,aAAC,CAAC;iBACG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;YAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;AACzF,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAc,CAAC;AACjH,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AACnE,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,GAAG,sBAAsB,CAAC;AACpJ,YAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrG,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,+BAA+B,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,GAAG,+BAA+B,CAAC;YAC5K,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,GAAG,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,2BAA2B,CAAC;YACtK,OAAO;gBACH,QAAQ;gBACR,SAAS;gBACT,QAAQ;gBACR,aAAa;gBACb,qBAAqB;gBACrB,QAAQ;gBACR,YAAY;gBACZ,gBAAgB;gBAChB,uBAAuB;aAC1B,CAAC;SACL,EAAE,EAAkB,CAAC,CAAC;KAC1B;AAGD,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;KACxD;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,EAAS,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAChC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,YAAA,KAAK,CAAC,OAAO,CAAC,EAAE,IAAG;AACf,gBAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AACjC,oBAAA,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AACnB,wBAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,qBAAA;AAAM,yBAAA;AACH,wBAAA,WAAW,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CAAE,EAAA,EAAA,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAA,CAAE,CAAC;AAC5D,qBAAA;AACL,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CACtC,QAAQ,CAAC,GAAG,CAAC,EACb,WAAW,CACd,CAAC;AACN,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,SAAS,CAAC;KACpB;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;AAED,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;KAC3D;AAED,IAAA,IAAI,6BAA6B,GAAA;QAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAA;KACrC;AAEM,IAAA,mBAAmB,CAAC,MAA6E,EAAA;QACpG,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7D,QAAA,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACrC,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,EAAE,IAAK,MAAc,CAAC,GAAG,CAAC;KAC3C;AAOJ,CAAA;AAED,SAAS,sBAAsB,CAAC,SAAuB,EAAE,OAAO,EAAA;AAC5D,IAAA,IAAI,cAAc,CAAC;AACnB,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC1B,MAAM,cAAc,GAAI,SAAwB,CAAC,GAAG,CAAC,QAAQ,IAAG;YAC5D,OAAO,OAAO,QAAQ,KAAK,UAAU;AACjC,kBAAE,QAAQ,CAAC,OAAO,CAAC;kBACjB,QAAQ,CAAC;AACnB,SAAC,CAAC,CAAC;QACH,cAAc,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC;AACjD,KAAA;AAAM,SAAA;AACH,QAAA,cAAc,GAAG,OAAO,SAAS,KAAK,UAAU;AAC5C,cAAE,SAAS,CAAC,OAAO,CAAC;cAClB,SAAS,CAAC;AACnB,KAAA;AAED,IAAA,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,eAAe,uBAAuB,CAAC,gBAA2C,EAAE,OAAO,EAAA;AACvF,IAAA,IAAI,qBAAqB,CAAC;AAC1B,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACjC,QAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;AACjE,KAAA;AAAM,SAAA;AACH,QAAA,qBAAqB,GAAG,OAAO,gBAAgB,KAAK,UAAU;AAC1D,cAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC;cAC/B,gBAAgB,CAAC;AAC1B,KAAA;AAED,IAAA,OAAO,qBAAqB,CAAC;AACjC"}
@@ -0,0 +1 @@
1
+ export{ClientTypes,ElectronTypes}from'@common-stack/core';const REDUX_PERSIST_KEY = 'root';export{REDUX_PERSIST_KEY};//# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../src/constants/constants.ts"],"sourcesContent":[null],"names":[],"mappings":"0DAOO,MAAM,iBAAiB,GAAG"}
@@ -1,4 +1,4 @@
1
- import { ApolloClient } from '@apollo/client';
1
+ import { ApolloClient } from '@apollo/client/core';
2
2
  import { interfaces } from 'inversify';
3
3
  import { IFeature } from '../interfaces';
4
4
  /**
@@ -0,0 +1,51 @@
1
+ import {ApolloClient}from'@apollo/client/core';import {InMemoryCache}from'@apollo/client/cache';import {logger}from'@cdm-logger/client';import {ClientTypes}from'@common-stack/core';class UtilityClass {
2
+ constructor(modules) {
3
+ this.modules = modules;
4
+ }
5
+ getCacheKey(storeObj) {
6
+ return this.modules.getDataIdFromObject(storeObj);
7
+ }
8
+ }
9
+ /**
10
+ * Helper method to produce ApolloClient and Services from the feeded Feature Module.
11
+ * @param modules
12
+ */
13
+ const apolloClientHelper = (modules) => {
14
+ const clientState = modules.getStateParams({ resolverContex: () => modules.createService({}, {}) });
15
+ const dataIdFromObject = (result) => modules.getDataIdFromObject(result);
16
+ const cache = new InMemoryCache({
17
+ dataIdFromObject,
18
+ possibleTypes: clientState.possibleTypes
19
+ });
20
+ const schema = ``;
21
+ const params = {
22
+ cache,
23
+ queryDeduplication: true,
24
+ typeDefs: schema.concat(clientState.typeDefs),
25
+ resolvers: clientState.resolvers,
26
+ };
27
+ const client = new ApolloClient(params);
28
+ clientState.defaults.map(x => {
29
+ if (x.type === 'query') {
30
+ cache.writeQuery(x);
31
+ }
32
+ else if (x.type === 'fragment') {
33
+ cache.writeFragment(x);
34
+ }
35
+ });
36
+ const utility = new UtilityClass(modules);
37
+ // additional bindings to container
38
+ const container = modules.createContainers({});
39
+ container.bind(ClientTypes.Logger).toConstantValue(logger);
40
+ container.bind(ClientTypes.UtilityClass).toConstantValue(utility);
41
+ container.bind(ClientTypes.ApolloClient).toConstantValue(client);
42
+ container.bind(ClientTypes.InMemoryCache).toConstantValue(cache);
43
+ const services = modules.createService({}, {});
44
+ client.container = services;
45
+ return {
46
+ client,
47
+ dataIdFromObject,
48
+ services,
49
+ container,
50
+ };
51
+ };export{apolloClientHelper};//# sourceMappingURL=apollo-client-test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apollo-client-test-helper.js","sources":["../../src/helpers/apollo-client-test-helper.ts"],"sourcesContent":[null],"names":[],"mappings":"qLAOA,MAAM,YAAY,CAAA;AACd,IAAA,WAAA,CAAoB,OAAO,EAAA;QAAP,IAAO,CAAA,OAAA,GAAP,OAAO,CAAA;KAC1B;AACM,IAAA,WAAW,CAAC,QAAQ,EAAA;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACrD;AACJ,CAAA;AAGD;;;AAGG;AACU,MAAA,kBAAkB,GAAG,CAAC,OAAiB,KAAI;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAEpG,IAAA,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACzE,IAAA,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;QAC5B,gBAAgB;QAChB,aAAa,EAAE,WAAW,CAAC,aAAa;AAC3C,KAAA,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAA,CAAE,CAAC;AAElB,IAAA,MAAM,MAAM,GAA6B;QACrC,KAAK;AACL,QAAA,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAS,WAAW,CAAC,QAAQ,CAAC;QACrD,SAAS,EAAE,WAAW,CAAC,SAAgB;KAC1C,CAAC;AACF,IAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AACxC,IAAA,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAG;AACzB,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;AACpB,YAAA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,SAAA;AAAM,aAAA,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;AAC9B,YAAA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;;IAG1C,MAAM,SAAS,GAAyB,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACrE,IAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC3D,IAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAClE,IAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACjE,IAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9C,IAAA,MAAc,CAAC,SAAS,GAAG,QAAQ,CAAC;IAGrC,OAAO;QACH,MAAM;QACN,gBAAgB;QAChB,QAAQ;QACR,SAAS;KACZ,CAAA;AACL"}
package/lib/index.js CHANGED
@@ -1,632 +1 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ var __webpack_modules__ = ({
4
-
5
- /***/ "./src/connector/abstract-connector.ts":
6
- /*!*********************************************!*\
7
- !*** ./src/connector/abstract-connector.ts ***!
8
- \*********************************************/
9
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10
-
11
-
12
- Object.defineProperty(exports, "__esModule", ({ value: true }));
13
- exports.AbstractFeature = exports.featureCatalog = void 0;
14
- const React = __webpack_require__(/*! react */ "react");
15
- const lodash_1 = __webpack_require__(/*! lodash */ "lodash");
16
- const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
17
- const combine = (features, extractor) => (0, lodash_1.without)((0, lodash_1.union)(...(0, lodash_1.map)(features, res => (0, lodash_1.castArray)(extractor(res)))), undefined);
18
- exports.featureCatalog = {};
19
- class AbstractFeature {
20
- /**
21
- * Constructs Client feature module representation, that folds all the feature modules
22
- * into a single module represented by this instance.
23
- * @param feature
24
- * @param features
25
- */
26
- constructor(feature,
27
- // tslint:disable:trailing-comma
28
- ...features) {
29
- // Connectivity
30
- this.link = combine(arguments, (arg) => arg.link);
31
- this.errorLink = combine(arguments, (arg) => arg.errorLink);
32
- this.createFetch = combine(arguments, (arg) => arg.createFetch)
33
- .slice(-1)
34
- .pop();
35
- this.connectionParam = combine(arguments, (arg) => arg.connectionParam);
36
- // State management
37
- this.reducer = combine(arguments, (arg) => arg.reducer);
38
- // Client side schema for apollo-link-state
39
- this.clientStateParams = combine(arguments, (arg) => arg.clientStateParams);
40
- // Envalid config
41
- this.envalidConfig = combine(arguments, (arg) => arg.envalidConfig);
42
- // Epic actions
43
- this.epic = combine(arguments, (arg) => arg.epic);
44
- this.sidebarSegments = combine(arguments, (arg) => arg.sidebarSegments);
45
- this.leftMainPanelItems = combine(arguments, (arg) => arg.leftMainPanelItems);
46
- this.middleMainPanelItems = combine(arguments, (arg) => arg.middleMainPanelItems);
47
- this.middleMainPanelItemsProps = combine(arguments, (arg) => arg.middleMainPanelItemsProps);
48
- this.leftFooterItems = combine(arguments, (arg) => arg.leftFooterItems);
49
- this.rightFooterItems = combine(arguments, (arg) => arg.rightFooterItems);
50
- this.middleLowerPanelItems = combine(arguments, (arg) => arg.middleLowerPanelItems);
51
- this.dataIdFromObject = combine(arguments, (arg) => arg.dataIdFromObject);
52
- this.navItem = combine(arguments, (arg) => arg.navItem);
53
- this.navItemRight = combine(arguments, (arg) => arg.navItemRight);
54
- // UI provider-components
55
- this.rootComponentFactory = combine(arguments, (arg) => arg.rootComponentFactory);
56
- this.dataRootComponent = combine(arguments, (arg) => arg.dataRootComponent);
57
- // UI provider-components
58
- this.languagesFuncs = combine(arguments, (arg) => arg.languagesFuncs);
59
- // container
60
- this.createContainerFunc = combine(arguments, arg => arg.createContainerFunc);
61
- // services
62
- this.createServiceFunc = combine(arguments, arg => arg.createServiceFunc);
63
- // TODO: Use React Helmet for those. Low level DOM manipulation
64
- this.stylesInsert = combine(arguments, (arg) => arg.stylesInsert);
65
- this.scriptsInsert = combine(arguments, (arg) => arg.scriptsInsert);
66
- this.reduxPersistTransforms = combine(arguments, (arg) => arg.reduxPersistTransforms);
67
- // Shared modules data
68
- this.data = combine([{}].concat(Array.from(arguments)), arg => arg.data)
69
- .reduce((acc, el) => [Object.assign(Object.assign({}, acc[0]), el)], [{}]);
70
- }
71
- get envalidConfigs() {
72
- return this.envalidConfig.reduce((prev, config) => {
73
- for (let key in config) {
74
- if (prev[key]) {
75
- if (prev[key].required) {
76
- config[key].required = prev[key].required;
77
- }
78
- if (prev[key].devRequired) {
79
- config[key].devRequired = prev[key].devRequired;
80
- }
81
- }
82
- return Object.assign(Object.assign({}, prev), config);
83
- }
84
- }, {});
85
- }
86
- get container() {
87
- if (!this._container) {
88
- this._container = new inversify_1.Container();
89
- }
90
- return this._container;
91
- }
92
- get epics() {
93
- return this.epic;
94
- }
95
- getRouter(withRoot, rootComponent) {
96
- return this.routerFactory(this.getRoutes());
97
- }
98
- get reducers() {
99
- return (0, lodash_1.merge)({}, ...(this.reducer || []));
100
- }
101
- createContainers(options) {
102
- // only create once
103
- if (this.isContainerLoaded) {
104
- return this.container;
105
- }
106
- this.createContainerFunc.map(createModule => {
107
- this.container.load(createModule(options));
108
- });
109
- this.isContainerLoaded = true;
110
- return this.container;
111
- }
112
- createService(options, updateOptions) {
113
- // only create once
114
- if (this.services) {
115
- return this.services;
116
- }
117
- try {
118
- if (!this.isContainerLoaded) {
119
- this.createContainers(options);
120
- }
121
- this.services = (0, lodash_1.merge)({}, ...this.createServiceFunc.map(serviceFunc => serviceFunc(this.container)));
122
- return this.services;
123
- }
124
- catch (err) {
125
- throw err;
126
- }
127
- }
128
- getStateParams(args = {}) {
129
- const cn = this.container;
130
- return this.clientStateParams.reduce(function (acc, curr) {
131
- const defs = curr.typeDefs ? Array.isArray(curr.typeDefs) ? curr.typeDefs : [curr.typeDefs] : [];
132
- const preLinksAccumulator = acc.preLinks || [];
133
- const attemptFuncAccumulator = acc.retryLinkAttemptFuncs || [];
134
- const connectionParamsFuncAccumulator = acc.connectionParams || [];
135
- const callbackBackFuncAccumulator = acc.connectionCallbackFuncs || [];
136
- const attemptDefaults = acc.defaults || [];
137
- const schema = defs.map(typeDef => {
138
- if (typeof typeDef === 'string') {
139
- return typeDef;
140
- }
141
- console.warn(`Not supported AST format `, typeDef);
142
- })
143
- .map(str => str.trim())
144
- .join('\n');
145
- const typeDefs = acc.typeDefs ? acc.typeDefs.concat('\n', schema) : schema;
146
- const defaults = curr.defaults ? attemptDefaults.concat(curr.defaults) : attemptDefaults;
147
- const resolvers = (0, lodash_1.merge)(acc.resolvers, consoldidatedResolvers(curr.resolvers, args.resolverContex));
148
- const possibleTypes = (0, lodash_1.merge)(acc.possibleTypes, curr.possibleTypes);
149
- const typePolicies = (0, lodash_1.merge)(acc.typePolicies, curr.typePolicies);
150
- const retryLinkAttemptFuncs = curr.retryLinkAttemptFuncs ? attemptFuncAccumulator.concat(curr.retryLinkAttemptFuncs || []) : attemptFuncAccumulator;
151
- const preLinks = preLinksAccumulator.concat((curr.preLinkFuncs || []).map(linkF => linkF(cn)) || []);
152
- const connectionParams = curr.connectionParam ? connectionParamsFuncAccumulator.concat(consoldidatedConnection(curr.connectionParam, cn)) : connectionParamsFuncAccumulator;
153
- const connectionCallbackFuncs = curr.connectionCallbackFunc ? callbackBackFuncAccumulator.concat(curr.connectionCallbackFunc(cn) || []) : callbackBackFuncAccumulator;
154
- return {
155
- defaults,
156
- resolvers,
157
- typeDefs,
158
- possibleTypes,
159
- retryLinkAttemptFuncs,
160
- preLinks,
161
- typePolicies,
162
- connectionParams,
163
- connectionCallbackFuncs
164
- };
165
- }, {});
166
- }
167
- get connectionParams() {
168
- return this.connectionParam;
169
- }
170
- get stylesInserts() {
171
- return this.stylesInsert;
172
- }
173
- get scriptsInserts() {
174
- return this.scriptsInsert;
175
- }
176
- get leftMainPanel() {
177
- return (0, lodash_1.merge)({}, ...(this.leftMainPanelItems || []));
178
- }
179
- get middleMainPanel() {
180
- const panelObj = (0, lodash_1.merge)({}, ...(this.middleMainPanelItems || []));
181
- const withProps = {};
182
- Object.keys(panelObj).forEach(key => {
183
- const props = this.middleMainPanelItemsProps.filter(el => !!el[key]);
184
- let mergedProps = [];
185
- props.forEach(el => {
186
- const insideEl = el[key];
187
- Object.keys(insideEl).forEach(item => {
188
- if (mergedProps[item]) {
189
- mergedProps[item] = [...mergedProps[item], ...insideEl[item]];
190
- }
191
- else {
192
- mergedProps = Object.assign(Object.assign({}, mergedProps), { [item]: insideEl[item] });
193
- }
194
- });
195
- });
196
- return withProps[key] = React.cloneElement(panelObj[key], mergedProps);
197
- });
198
- return withProps;
199
- }
200
- get leftFooter() {
201
- return this.leftFooterItems;
202
- }
203
- get rightFooter() {
204
- return this.rightFooterItems;
205
- }
206
- get middleLowerPanel() {
207
- return (0, lodash_1.merge)({}, ...(this.middleLowerPanelItems || []));
208
- }
209
- get reduxPersistStateTransformers() {
210
- return this.reduxPersistTransforms;
211
- }
212
- getDataIdFromObject(result) {
213
- const dataIdFromObject = (0, lodash_1.merge)({}, ...this.dataIdFromObject);
214
- if (dataIdFromObject[result.__typename]) {
215
- return dataIdFromObject[result.__typename](result);
216
- }
217
- return result.id || result._id;
218
- }
219
- }
220
- exports.AbstractFeature = AbstractFeature;
221
- function consoldidatedResolvers(resolvers, context) {
222
- let finalResolvers;
223
- if (Array.isArray(resolvers)) {
224
- const resolverObject = resolvers.map(resolver => {
225
- return typeof resolver === 'function'
226
- ? resolver(context)
227
- : resolver;
228
- });
229
- finalResolvers = (0, lodash_1.merge)({}, ...resolverObject);
230
- }
231
- else {
232
- finalResolvers = typeof resolvers === 'function'
233
- ? resolvers(context)
234
- : resolvers;
235
- }
236
- return finalResolvers;
237
- }
238
- async function consoldidatedConnection(connectionParams, context) {
239
- let finalConnectionParams;
240
- if (Array.isArray(connectionParams)) {
241
- throw new Error('Array is not supported for ConnectionParams');
242
- }
243
- else {
244
- finalConnectionParams = typeof connectionParams === 'function'
245
- ? await connectionParams(context)
246
- : connectionParams;
247
- }
248
- return finalConnectionParams;
249
- }
250
-
251
-
252
- /***/ }),
253
-
254
- /***/ "./src/connector/index.ts":
255
- /*!********************************!*\
256
- !*** ./src/connector/index.ts ***!
257
- \********************************/
258
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
259
-
260
-
261
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
262
- if (k2 === undefined) k2 = k;
263
- var desc = Object.getOwnPropertyDescriptor(m, k);
264
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
265
- desc = { enumerable: true, get: function() { return m[k]; } };
266
- }
267
- Object.defineProperty(o, k2, desc);
268
- }) : (function(o, m, k, k2) {
269
- if (k2 === undefined) k2 = k;
270
- o[k2] = m[k];
271
- }));
272
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
273
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
274
- };
275
- Object.defineProperty(exports, "__esModule", ({ value: true }));
276
- __exportStar(__webpack_require__(/*! ./abstract-connector */ "./src/connector/abstract-connector.ts"), exports);
277
-
278
-
279
- /***/ }),
280
-
281
- /***/ "./src/constants/constants.ts":
282
- /*!************************************!*\
283
- !*** ./src/constants/constants.ts ***!
284
- \************************************/
285
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
286
-
287
-
288
- Object.defineProperty(exports, "__esModule", ({ value: true }));
289
- exports.REDUX_PERSIST_KEY = exports.ClientTypes = exports.ElectronTypes = void 0;
290
- const core_1 = __webpack_require__(/*! @common-stack/core */ "@common-stack/core");
291
- Object.defineProperty(exports, "ClientTypes", ({ enumerable: true, get: function () { return core_1.ClientTypes; } }));
292
- Object.defineProperty(exports, "ElectronTypes", ({ enumerable: true, get: function () { return core_1.ElectronTypes; } }));
293
- exports.REDUX_PERSIST_KEY = 'root';
294
-
295
-
296
- /***/ }),
297
-
298
- /***/ "./src/constants/index.ts":
299
- /*!********************************!*\
300
- !*** ./src/constants/index.ts ***!
301
- \********************************/
302
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
303
-
304
-
305
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
306
- if (k2 === undefined) k2 = k;
307
- var desc = Object.getOwnPropertyDescriptor(m, k);
308
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
309
- desc = { enumerable: true, get: function() { return m[k]; } };
310
- }
311
- Object.defineProperty(o, k2, desc);
312
- }) : (function(o, m, k, k2) {
313
- if (k2 === undefined) k2 = k;
314
- o[k2] = m[k];
315
- }));
316
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
317
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
318
- };
319
- Object.defineProperty(exports, "__esModule", ({ value: true }));
320
- __exportStar(__webpack_require__(/*! ./constants */ "./src/constants/constants.ts"), exports);
321
-
322
-
323
- /***/ }),
324
-
325
- /***/ "./src/helpers/apollo-client-test-helper.ts":
326
- /*!**************************************************!*\
327
- !*** ./src/helpers/apollo-client-test-helper.ts ***!
328
- \**************************************************/
329
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
330
-
331
-
332
- Object.defineProperty(exports, "__esModule", ({ value: true }));
333
- exports.apolloClientHelper = void 0;
334
- const client_1 = __webpack_require__(/*! @apollo/client */ "@apollo/client");
335
- const client_2 = __webpack_require__(/*! @cdm-logger/client */ "@cdm-logger/client");
336
- const constants_1 = __webpack_require__(/*! ../constants */ "./src/constants/index.ts");
337
- class UtilityClass {
338
- constructor(modules) {
339
- this.modules = modules;
340
- }
341
- getCacheKey(storeObj) {
342
- return this.modules.getDataIdFromObject(storeObj);
343
- }
344
- }
345
- /**
346
- * Helper method to produce ApolloClient and Services from the feeded Feature Module.
347
- * @param modules
348
- */
349
- const apolloClientHelper = (modules) => {
350
- const clientState = modules.getStateParams({ resolverContex: () => modules.createService({}, {}) });
351
- const dataIdFromObject = (result) => modules.getDataIdFromObject(result);
352
- const cache = new client_1.InMemoryCache({
353
- dataIdFromObject,
354
- possibleTypes: clientState.possibleTypes
355
- });
356
- const schema = ``;
357
- const params = {
358
- cache,
359
- queryDeduplication: true,
360
- typeDefs: schema.concat(clientState.typeDefs),
361
- resolvers: clientState.resolvers,
362
- };
363
- const client = new client_1.ApolloClient(params);
364
- clientState.defaults.map(x => {
365
- if (x.type === 'query') {
366
- cache.writeQuery(x);
367
- }
368
- else if (x.type === 'fragment') {
369
- cache.writeFragment(x);
370
- }
371
- });
372
- const utility = new UtilityClass(modules);
373
- // additional bindings to container
374
- const container = modules.createContainers({});
375
- container.bind(constants_1.ClientTypes.Logger).toConstantValue(client_2.logger);
376
- container.bind(constants_1.ClientTypes.UtilityClass).toConstantValue(utility);
377
- container.bind(constants_1.ClientTypes.ApolloClient).toConstantValue(client);
378
- container.bind(constants_1.ClientTypes.InMemoryCache).toConstantValue(cache);
379
- const services = modules.createService({}, {});
380
- client.container = services;
381
- return {
382
- client,
383
- dataIdFromObject,
384
- services,
385
- container,
386
- };
387
- };
388
- exports.apolloClientHelper = apolloClientHelper;
389
-
390
-
391
- /***/ }),
392
-
393
- /***/ "./src/helpers/index.ts":
394
- /*!******************************!*\
395
- !*** ./src/helpers/index.ts ***!
396
- \******************************/
397
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
398
-
399
-
400
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
401
- if (k2 === undefined) k2 = k;
402
- var desc = Object.getOwnPropertyDescriptor(m, k);
403
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
404
- desc = { enumerable: true, get: function() { return m[k]; } };
405
- }
406
- Object.defineProperty(o, k2, desc);
407
- }) : (function(o, m, k, k2) {
408
- if (k2 === undefined) k2 = k;
409
- o[k2] = m[k];
410
- }));
411
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
412
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
413
- };
414
- Object.defineProperty(exports, "__esModule", ({ value: true }));
415
- __exportStar(__webpack_require__(/*! ./apollo-client-test-helper */ "./src/helpers/apollo-client-test-helper.ts"), exports);
416
-
417
-
418
- /***/ }),
419
-
420
- /***/ "./src/index.ts":
421
- /*!**********************!*\
422
- !*** ./src/index.ts ***!
423
- \**********************/
424
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
425
-
426
-
427
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
428
- if (k2 === undefined) k2 = k;
429
- var desc = Object.getOwnPropertyDescriptor(m, k);
430
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
431
- desc = { enumerable: true, get: function() { return m[k]; } };
432
- }
433
- Object.defineProperty(o, k2, desc);
434
- }) : (function(o, m, k, k2) {
435
- if (k2 === undefined) k2 = k;
436
- o[k2] = m[k];
437
- }));
438
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
439
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
440
- };
441
- Object.defineProperty(exports, "__esModule", ({ value: true }));
442
- __exportStar(__webpack_require__(/*! ./logger */ "./src/logger/index.ts"), exports);
443
- __exportStar(__webpack_require__(/*! ./connector */ "./src/connector/index.ts"), exports);
444
- __exportStar(__webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts"), exports);
445
- __exportStar(__webpack_require__(/*! ./constants */ "./src/constants/index.ts"), exports);
446
- __exportStar(__webpack_require__(/*! ./helpers */ "./src/helpers/index.ts"), exports);
447
-
448
-
449
- /***/ }),
450
-
451
- /***/ "./src/interfaces/connector.ts":
452
- /*!*************************************!*\
453
- !*** ./src/interfaces/connector.ts ***!
454
- \*************************************/
455
- /***/ ((__unused_webpack_module, exports) => {
456
-
457
-
458
- // tslint:disable:max-line-length
459
- Object.defineProperty(exports, "__esModule", ({ value: true }));
460
-
461
-
462
- /***/ }),
463
-
464
- /***/ "./src/interfaces/index.ts":
465
- /*!*********************************!*\
466
- !*** ./src/interfaces/index.ts ***!
467
- \*********************************/
468
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
469
-
470
-
471
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
472
- if (k2 === undefined) k2 = k;
473
- var desc = Object.getOwnPropertyDescriptor(m, k);
474
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
475
- desc = { enumerable: true, get: function() { return m[k]; } };
476
- }
477
- Object.defineProperty(o, k2, desc);
478
- }) : (function(o, m, k, k2) {
479
- if (k2 === undefined) k2 = k;
480
- o[k2] = m[k];
481
- }));
482
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
483
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
484
- };
485
- Object.defineProperty(exports, "__esModule", ({ value: true }));
486
- __exportStar(__webpack_require__(/*! ./connector */ "./src/interfaces/connector.ts"), exports);
487
-
488
-
489
- /***/ }),
490
-
491
- /***/ "./src/logger/index.ts":
492
- /*!*****************************!*\
493
- !*** ./src/logger/index.ts ***!
494
- \*****************************/
495
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
496
-
497
-
498
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
499
- if (k2 === undefined) k2 = k;
500
- var desc = Object.getOwnPropertyDescriptor(m, k);
501
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
502
- desc = { enumerable: true, get: function() { return m[k]; } };
503
- }
504
- Object.defineProperty(o, k2, desc);
505
- }) : (function(o, m, k, k2) {
506
- if (k2 === undefined) k2 = k;
507
- o[k2] = m[k];
508
- }));
509
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
510
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
511
- };
512
- Object.defineProperty(exports, "__esModule", ({ value: true }));
513
- __exportStar(__webpack_require__(/*! ./logger */ "./src/logger/logger.ts"), exports);
514
-
515
-
516
- /***/ }),
517
-
518
- /***/ "./src/logger/logger.ts":
519
- /*!******************************!*\
520
- !*** ./src/logger/logger.ts ***!
521
- \******************************/
522
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
523
-
524
-
525
- Object.defineProperty(exports, "__esModule", ({ value: true }));
526
- exports.logger = void 0;
527
- const client_1 = __webpack_require__(/*! @cdm-logger/client */ "@cdm-logger/client");
528
- const appName = (process.env && process.env.APP_NAME) || 'FullStack';
529
- const logLevel = (process.env && process.env.LOG_LEVEL) || 'info';
530
- const logger = client_1.ClientLogger.create(appName, { level: logLevel });
531
- exports.logger = logger;
532
-
533
-
534
- /***/ }),
535
-
536
- /***/ "@apollo/client":
537
- /*!*********************************!*\
538
- !*** external "@apollo/client" ***!
539
- \*********************************/
540
- /***/ ((module) => {
541
-
542
- module.exports = require("@apollo/client");
543
-
544
- /***/ }),
545
-
546
- /***/ "@cdm-logger/client":
547
- /*!*************************************!*\
548
- !*** external "@cdm-logger/client" ***!
549
- \*************************************/
550
- /***/ ((module) => {
551
-
552
- module.exports = require("@cdm-logger/client");
553
-
554
- /***/ }),
555
-
556
- /***/ "@common-stack/core":
557
- /*!*************************************!*\
558
- !*** external "@common-stack/core" ***!
559
- \*************************************/
560
- /***/ ((module) => {
561
-
562
- module.exports = require("@common-stack/core");
563
-
564
- /***/ }),
565
-
566
- /***/ "inversify":
567
- /*!****************************!*\
568
- !*** external "inversify" ***!
569
- \****************************/
570
- /***/ ((module) => {
571
-
572
- module.exports = require("inversify");
573
-
574
- /***/ }),
575
-
576
- /***/ "lodash":
577
- /*!*************************!*\
578
- !*** external "lodash" ***!
579
- \*************************/
580
- /***/ ((module) => {
581
-
582
- module.exports = require("lodash");
583
-
584
- /***/ }),
585
-
586
- /***/ "react":
587
- /*!************************!*\
588
- !*** external "react" ***!
589
- \************************/
590
- /***/ ((module) => {
591
-
592
- module.exports = require("react");
593
-
594
- /***/ })
595
-
596
- /******/ });
597
- /************************************************************************/
598
- /******/ // The module cache
599
- /******/ var __webpack_module_cache__ = {};
600
- /******/
601
- /******/ // The require function
602
- /******/ function __webpack_require__(moduleId) {
603
- /******/ // Check if module is in cache
604
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
605
- /******/ if (cachedModule !== undefined) {
606
- /******/ return cachedModule.exports;
607
- /******/ }
608
- /******/ // Create a new module (and put it into the cache)
609
- /******/ var module = __webpack_module_cache__[moduleId] = {
610
- /******/ // no module.id needed
611
- /******/ // no module.loaded needed
612
- /******/ exports: {}
613
- /******/ };
614
- /******/
615
- /******/ // Execute the module function
616
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
617
- /******/
618
- /******/ // Return the exports of the module
619
- /******/ return module.exports;
620
- /******/ }
621
- /******/
622
- /************************************************************************/
623
- /******/
624
- /******/ // startup
625
- /******/ // Load entry module and return exports
626
- /******/ // This entry module is referenced by other modules so it can't be inlined
627
- /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
628
- /******/ module.exports = __webpack_exports__;
629
- /******/
630
- /******/ })()
631
- ;
632
- //# sourceMappingURL=index.js.map
1
+ export{logger}from'./logger/logger.js';export{AbstractFeature,featureCatalog}from'./connector/abstract-connector.js';export{REDUX_PERSIST_KEY}from'./constants/constants.js';export{apolloClientHelper}from'./helpers/apollo-client-test-helper.js';export{ClientTypes,ElectronTypes}from'@common-stack/core';//# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@common-stack/client-core/./src/connector/abstract-connector.ts","webpack://@common-stack/client-core/./src/connector/index.ts","webpack://@common-stack/client-core/./src/constants/constants.ts","webpack://@common-stack/client-core/./src/constants/index.ts","webpack://@common-stack/client-core/./src/helpers/apollo-client-test-helper.ts","webpack://@common-stack/client-core/./src/helpers/index.ts","webpack://@common-stack/client-core/./src/index.ts","webpack://@common-stack/client-core/./src/interfaces/connector.ts","webpack://@common-stack/client-core/./src/interfaces/index.ts","webpack://@common-stack/client-core/./src/logger/index.ts","webpack://@common-stack/client-core/./src/logger/logger.ts","webpack://@common-stack/client-core/external commonjs \"@apollo/client\"","webpack://@common-stack/client-core/external commonjs \"@cdm-logger/client\"","webpack://@common-stack/client-core/external commonjs \"@common-stack/core\"","webpack://@common-stack/client-core/external commonjs \"inversify\"","webpack://@common-stack/client-core/external commonjs \"lodash\"","webpack://@common-stack/client-core/external commonjs \"react\"","webpack://@common-stack/client-core/webpack/bootstrap","webpack://@common-stack/client-core/webpack/before-startup","webpack://@common-stack/client-core/webpack/startup","webpack://@common-stack/client-core/webpack/after-startup"],"sourcesContent":["import * as React from 'react';\nimport { IFeature, IModuleShape, IClientStateConfig, IClientState, ResolverType, ApolloConnectionParamFunc } from '../interfaces';\nimport { IdGetterObj, Resolvers } from '@apollo/client';\nimport { ErrorLink } from '@apollo/client/link/error'\nimport { merge, map, union, without, castArray } from 'lodash';\nimport { ReducersMapObject } from 'redux';\nimport { interfaces, Container } from 'inversify';\n\nconst combine = (features, extractor) => without(union(...map(features, res => castArray(extractor(res)))), undefined);\nexport const featureCatalog = {};\n\n\nexport abstract class AbstractFeature implements IFeature {\n public link: any;\n public envalidConfig: any[];\n public errorLink: ErrorLink[];\n public createFetch: any;\n public connectionParam: any;\n public epic: any;\n public reducer: ReducersMapObject[];\n public reduxContext: any;\n public clientStateParams?: IClientStateConfig[];\n public sidebarSegments: any[];\n public routerFactory: any;\n public route: any;\n public navItem: any;\n public navItemRight: any;\n public rootComponentFactory: any[];\n public dataRootComponent: any[];\n public createFetchOptions: any[];\n public stylesInsert: any[];\n public scriptsInsert: any[];\n public catalogInfo: any[];\n public languagesFuncs: any[];\n public data: any[];\n public dataIdFromObject: { [key: string]: (value: any) => string }[];\n public createContainerFunc: Function[];\n public createServiceFunc: Function[];\n public leftMainPanelItems: any;\n public middleMainPanelItems: any;\n public middleMainPanelItemsProps: any;\n public leftFooterItems: any;\n public rightFooterItems: any;\n public middleLowerPanelItems: any;\n public reduxPersistTransforms: any[];\n\n private isContainerLoaded: boolean;\n private services;\n private _container: interfaces.Container;\n\n /**\n * Constructs Client feature module representation, that folds all the feature modules\n * into a single module represented by this instance.\n * @param feature\n * @param features\n */\n constructor(\n feature?: IModuleShape,\n // tslint:disable:trailing-comma\n ...features: IModuleShape[]\n ) {\n // Connectivity\n this.link = combine(arguments, (arg: IModuleShape) => arg.link);\n this.errorLink = combine(arguments, (arg: IModuleShape) => arg.errorLink);\n\n this.createFetch = combine(arguments, (arg: IModuleShape) => arg.createFetch)\n .slice(-1)\n .pop();\n this.connectionParam = combine(arguments, (arg: IModuleShape) => arg.connectionParam);\n\n // State management\n this.reducer = combine(arguments, (arg: IModuleShape) => arg.reducer);\n // Client side schema for apollo-link-state\n this.clientStateParams = combine(arguments, (arg: IModuleShape) => arg.clientStateParams);\n\n // Envalid config\n this.envalidConfig = combine(arguments, (arg: IModuleShape) => arg.envalidConfig);\n \n // Epic actions\n this.epic = combine(arguments, (arg: IModuleShape) => arg.epic);\n\n\n this.sidebarSegments = combine(arguments, (arg: IModuleShape) => arg.sidebarSegments);\n\n this.leftMainPanelItems = combine(arguments, (arg: IModuleShape) => arg.leftMainPanelItems);\n this.middleMainPanelItems = combine(arguments, (arg: IModuleShape) => arg.middleMainPanelItems);\n this.middleMainPanelItemsProps = combine(arguments, (arg: IModuleShape) => arg.middleMainPanelItemsProps);\n this.leftFooterItems = combine(arguments, (arg: IModuleShape) => arg.leftFooterItems);\n this.rightFooterItems = combine(arguments, (arg: IModuleShape) => arg.rightFooterItems);\n this.middleLowerPanelItems = combine(arguments, (arg: IModuleShape) => arg.middleLowerPanelItems);\n this.dataIdFromObject = combine(arguments, (arg: IModuleShape) => arg.dataIdFromObject);\n\n\n this.navItem = combine(arguments, (arg: IModuleShape) => arg.navItem);\n this.navItemRight = combine(arguments, (arg: IModuleShape) => arg.navItemRight);\n\n // UI provider-components\n this.rootComponentFactory = combine(arguments, (arg: IModuleShape) => arg.rootComponentFactory);\n this.dataRootComponent = combine(arguments, (arg: IModuleShape) => arg.dataRootComponent);\n\n // UI provider-components\n this.languagesFuncs = combine(arguments, (arg: IModuleShape) => arg.languagesFuncs);\n\n // container\n this.createContainerFunc = combine(arguments, arg => arg.createContainerFunc);\n\n // services\n this.createServiceFunc = combine(arguments, arg => arg.createServiceFunc);\n\n // TODO: Use React Helmet for those. Low level DOM manipulation\n this.stylesInsert = combine(arguments, (arg: IModuleShape) => arg.stylesInsert);\n this.scriptsInsert = combine(arguments, (arg: IModuleShape) => arg.scriptsInsert);\n this.reduxPersistTransforms = combine(arguments, (arg: IModuleShape) => arg.reduxPersistTransforms);\n\n\n // Shared modules data\n this.data = combine([{}].concat(Array.from(arguments)), arg => arg.data)\n .reduce(\n (acc, el) => [{ ...acc[0], ...el }],\n [{}],\n );\n }\n public get envalidConfigs() {\n return this.envalidConfig.reduce((prev, config) => {\n for( let key in config){\n if (prev[key]) {\n if(prev[key].required) {\n config[key].required = prev[key].required;\n }\n if(prev[key].devRequired) {\n config[key].devRequired = prev[key].devRequired;\n }\n }\n return { ...prev, ...config}\n }\n }, {})\n \n }\n\n private get container(): interfaces.Container {\n if (!this._container) {\n this._container = new Container();\n }\n return this._container;\n }\n\n public get epics() {\n return this.epic;\n }\n\n public getRouter(withRoot?: boolean, rootComponent?: any) {\n return this.routerFactory(this.getRoutes());\n }\n\n public abstract getRoutes(searchPath?: RegExp);\n\n public abstract get navItems();\n\n public abstract get navItemsRight();\n\n get reducers() {\n return merge({}, ...(this.reducer || []));\n }\n\n public createContainers(options): interfaces.Container {\n // only create once\n if (this.isContainerLoaded) {\n return this.container;\n }\n this.createContainerFunc.map(createModule => {\n this.container.load(createModule(options));\n });\n this.isContainerLoaded = true;\n return this.container;\n }\n\n public createService(options, updateOptions) {\n // only create once\n if (this.services) {\n return this.services;\n }\n try {\n if (!this.isContainerLoaded) {\n this.createContainers(options);\n }\n this.services = merge({}, ...this.createServiceFunc.map(serviceFunc => serviceFunc(this.container)));\n return this.services;\n } catch (err) {\n throw err;\n }\n }\n\n public getStateParams(args: { resolverContex?: any } = {}) {\n const cn = this.container;\n return this.clientStateParams.reduce<IClientState>(function (acc, curr: IClientStateConfig) {\n const defs = curr.typeDefs ? Array.isArray(curr.typeDefs) ? curr.typeDefs : [curr.typeDefs] : [];\n const preLinksAccumulator = acc.preLinks || [];\n const attemptFuncAccumulator = acc.retryLinkAttemptFuncs || [];\n const connectionParamsFuncAccumulator = acc.connectionParams || [];\n const callbackBackFuncAccumulator = acc.connectionCallbackFuncs || [];\n const attemptDefaults = acc.defaults || [];\n const schema = defs.map(typeDef => {\n if (typeof typeDef === 'string') {\n return typeDef;\n }\n console.warn(`Not supported AST format `, typeDef);\n })\n .map(str => str.trim())\n .join('\\n');\n const typeDefs = acc.typeDefs ? acc.typeDefs.concat('\\n', schema) : schema;\n const defaults = curr.defaults ? attemptDefaults.concat(curr.defaults) : attemptDefaults;\n const resolvers = merge(acc.resolvers, consoldidatedResolvers(curr.resolvers, args.resolverContex)) as Resolvers;\n const possibleTypes = merge(acc.possibleTypes, curr.possibleTypes);\n const typePolicies = merge(acc.typePolicies, curr.typePolicies);\n const retryLinkAttemptFuncs = curr.retryLinkAttemptFuncs ? attemptFuncAccumulator.concat(curr.retryLinkAttemptFuncs || []) : attemptFuncAccumulator;\n const preLinks = preLinksAccumulator.concat((curr.preLinkFuncs || []).map(linkF => linkF(cn)) || []);\n const connectionParams = curr.connectionParam ? connectionParamsFuncAccumulator.concat(consoldidatedConnection(curr.connectionParam, cn)) : connectionParamsFuncAccumulator;\n const connectionCallbackFuncs = curr.connectionCallbackFunc ? callbackBackFuncAccumulator.concat(curr.connectionCallbackFunc(cn) || []) : callbackBackFuncAccumulator;\n return {\n defaults,\n resolvers,\n typeDefs,\n possibleTypes,\n retryLinkAttemptFuncs,\n preLinks,\n typePolicies,\n connectionParams,\n connectionCallbackFuncs\n };\n }, {} as IClientState);\n }\n\n\n get connectionParams() {\n return this.connectionParam;\n }\n\n get stylesInserts() {\n return this.stylesInsert;\n }\n\n get scriptsInserts() {\n return this.scriptsInsert;\n }\n\n get leftMainPanel() {\n return merge({}, ...(this.leftMainPanelItems || []));\n }\n\n get middleMainPanel() {\n const panelObj = merge({}, ...(this.middleMainPanelItems || []));\n const withProps = {} as any;\n Object.keys(panelObj).forEach(key => {\n const props = this.middleMainPanelItemsProps.filter(el => !!el[key]);\n let mergedProps = [];\n props.forEach(el => {\n const insideEl = el[key];\n Object.keys(insideEl).forEach(item => {\n if (mergedProps[item]) {\n mergedProps[item] = [...mergedProps[item], ...insideEl[item]];\n } else {\n mergedProps = { ...mergedProps, [item]: insideEl[item] };\n }\n });\n });\n return withProps[key] = React.cloneElement(\n panelObj[key],\n mergedProps,\n );\n });\n return withProps;\n }\n\n get leftFooter() {\n return this.leftFooterItems;\n }\n\n get rightFooter() {\n return this.rightFooterItems;\n }\n\n get middleLowerPanel() {\n return merge({}, ...(this.middleLowerPanelItems || []));\n }\n\n get reduxPersistStateTransformers() {\n return this.reduxPersistTransforms\n }\n\n public getDataIdFromObject(result: { [key: string]: string | number, __typename?: string } | IdGetterObj) {\n const dataIdFromObject = merge({}, ...this.dataIdFromObject);\n if (dataIdFromObject[result.__typename]) {\n return dataIdFromObject[result.__typename](result);\n }\n return result.id || (result as any)._id;\n }\n\n public abstract getWrappedRoot(root, req);\n\n public abstract getDataRoot(root);\n\n public abstract registerLanguages(monaco);\n}\n\nfunction consoldidatedResolvers(resolvers: ResolverType, context): Resolvers {\n let finalResolvers;\n if (Array.isArray(resolvers)) {\n const resolverObject = (resolvers as (object[])).map(resolver => {\n return typeof resolver === 'function'\n ? resolver(context)\n : resolver;\n });\n finalResolvers = merge({}, ...resolverObject);\n } else {\n finalResolvers = typeof resolvers === 'function'\n ? resolvers(context)\n : resolvers;\n }\n\n return finalResolvers;\n}\n\nasync function consoldidatedConnection(connectionParams: ApolloConnectionParamFunc, context): Promise<any> {\n let finalConnectionParams;\n if (Array.isArray(connectionParams)) {\n throw new Error('Array is not supported for ConnectionParams')\n } else {\n finalConnectionParams = typeof connectionParams === 'function'\n ? await connectionParams(context)\n : connectionParams;\n }\n\n return finalConnectionParams;\n}\n\n","export * from './abstract-connector';\n","import { ClientTypes, ElectronTypes } from '@common-stack/core';\n\nexport {\n ElectronTypes,\n ClientTypes,\n}\n\nexport const REDUX_PERSIST_KEY = 'root'; \n","export * from './constants';\n","import { ApolloClient, ApolloClientOptions, InMemoryCache } from '@apollo/client';\nimport { interfaces } from 'inversify';\nimport { logger } from '@cdm-logger/client';\nimport { IFeature } from '../interfaces';\nimport { ClientTypes } from '../constants';\n\nclass UtilityClass {\n constructor(private modules) {\n }\n public getCacheKey(storeObj) {\n return this.modules.getDataIdFromObject(storeObj);\n }\n}\n\n\n/**\n * Helper method to produce ApolloClient and Services from the feeded Feature Module.\n * @param modules \n */\nexport const apolloClientHelper = (modules: IFeature) => {\n const clientState = modules.getStateParams({ resolverContex: () => modules.createService({}, {}) });\n\n const dataIdFromObject = (result) => modules.getDataIdFromObject(result);\n const cache = new InMemoryCache({\n dataIdFromObject,\n possibleTypes: clientState.possibleTypes\n });\n\n const schema = ``;\n\n const params: ApolloClientOptions<any> = {\n cache,\n queryDeduplication: true,\n typeDefs: schema.concat(<string>clientState.typeDefs),\n resolvers: clientState.resolvers as any,\n };\n const client = new ApolloClient(params);\n clientState.defaults.map(x => {\n if (x.type === 'query') {\n cache.writeQuery(x);\n } else if (x.type === 'fragment') {\n cache.writeFragment(x);\n }\n });\n\n const utility = new UtilityClass(modules);\n\n // additional bindings to container\n const container: interfaces.Container = modules.createContainers({});\n container.bind(ClientTypes.Logger).toConstantValue(logger);\n container.bind(ClientTypes.UtilityClass).toConstantValue(utility);\n container.bind(ClientTypes.ApolloClient).toConstantValue(client);\n container.bind(ClientTypes.InMemoryCache).toConstantValue(cache);\n const services = modules.createService({}, {});\n (client as any).container = services;\n\n\n return {\n client,\n dataIdFromObject,\n services,\n container,\n }\n}\n\n\n\n","export * from './apollo-client-test-helper';\n","export * from './logger';\nexport * from './connector';\nexport * from './interfaces';\nexport * from './constants';\nexport * from './helpers';","// tslint:disable:max-line-length\n\nimport { Resolvers, IdGetterObj, PossibleTypesMap, TypePolicies, Operation, ApolloLink, ApolloClientOptions } from '@apollo/client';\nimport { interfaces } from 'inversify';\nimport { Cache } from '@apollo/client/cache';\nimport { ReducersMapObject } from 'redux';\nimport { ErrorLink } from '@apollo/client/link/error';\nimport { ConnectionParams } from 'subscriptions-transport-ws';\n\nexport type ResolverType = Resolvers | Resolvers[] | ((service: any) => Resolvers) | ((service: any) => Resolvers)[] | ((service: any) => any) | ((service: any) => any)[];\nexport type ApolloLinkFunc = (container: interfaces.Container) => ApolloLink;\nexport type ApolloConnectionParamFunc = ((container: interfaces.Container) => ConnectionParams) | ConnectionParams ;\nexport type IWSConnectionCallbackFunc = (webSocket: any, error: Error[], result?: any) => void | Promise<void>;\nexport type ApolloWSConnectionCallbackFunc = (container: interfaces.Container) => IWSConnectionCallbackFunc;\n\ntype IRetryLinkAttemptFuncs = (count: number, operation: Operation, error: any) => boolean | Promise<boolean>;\ntype IClientStateQueryDefault<T, V> = {\n type: 'query',\n} & Cache.WriteQueryOptions<T, V>;\n\ntype IClientStateFragmentDefault<T, V> = {\n type: 'fragment',\n} & Cache.WriteFragmentOptions<T, V>;\n\nexport type IClientStateDefault<T = unknown, V = unknown> = IClientStateFragmentDefault<T,V> | IClientStateQueryDefault<T,V>;\nexport interface IClientStateConfig {\n resolvers?: ResolverType; // don't need `Resolvers` type as it may conflict with the usage\n defaults?: IClientStateDefault[];\n typeDefs?: string | string[];\n possibleTypes?: PossibleTypesMap;\n typePolicies?: TypePolicies;\n // retries the request if function returns true\n retryLinkAttemptFuncs?: IRetryLinkAttemptFuncs;\n /**\n * @param preLinkFuncs all `apollo-link` that need to be composed before the network link. Should be a function.\n * @inheritdoc https://www.apollographql.com/docs/react/api/link/introduction/\n */\n preLinkFuncs?: ApolloLinkFunc[];\n /**\n * @param connectionParam To provide connectionParam to `WebSocketLink`. It takes a single `Object` or a `Function`.\n * @inheritdoc https://www.apollographql.com/docs/react/api/link/apollo-link-ws/\n */\n connectionParam?: ApolloConnectionParamFunc;\n /**\n * @param connectionCallback Accept only one function for all modules.\n * @inheritdoc\n */\n connectionCallbackFunc?: ApolloWSConnectionCallbackFunc;\n \n}\n\nexport interface IClientState {\n resolvers?: Resolvers; // don't need `Resolvers` type as it may conflict with the usage\n defaults: IClientStateDefault[];\n typeDefs?: string | string[];\n possibleTypes?: PossibleTypesMap;\n retryLinkAttemptFuncs?: IRetryLinkAttemptFuncs[];\n typePolicies?: TypePolicies,\n preLinks: ApolloLink[];\n connectionParams: ConnectionParams[];\n connectionCallbackFuncs?: IWSConnectionCallbackFunc[];\n}\n\n/**\n * ModuleShape have optional configuration to be implemented by all the feature modules\n * in the application.\n */\nexport interface IModuleShape {\n /**\n * @param envalidConfig envalid validators\n */\n readonly envalidConfig?: any;\n /**\n * @param link all `apollo-link` that need to be composed.\n * @inheritdoc https://github.com/apollographql/apollo-link\n * @deprecated use ClientStateParms.preLinkFuncs\n */\n readonly link?: any;\n /**\n * @param errorLink compose all errorLink\n * @inheritdoc https://github.com/apollographql/apollo-link/tree/master/packages/apollo-link-error\n */\n readonly errorLink?: ErrorLink | ErrorLink[];\n readonly createFetch?: any;\n /**\n * @param connectionParam method that called when a client connects to the socket.\n * @inheritdoc https://github.com/apollographql/subscriptions-transport-ws#constructorurl-options-connectioncallback\n * @deprecated use clientStateParams\n */\n readonly connectionParam?: any;\n /**\n * @param epic all `epics` that need to be composed.\n * @inheritdoc https://redux-observable.js.org/docs/basics/Epics.html\n */\n readonly epic?: any;\n /**\n * @param reducer Redux reducers list\n */\n readonly reducer?: ReducersMapObject | ReducersMapObject[];\n /**\n * @param clientStateParams Client side configuration of `apollo-client`\n * @inheritdoc https://github.com/apollographql/apollo-client/tree/2d65da133c156f6d808e64aee7e7fd5f7cc71d7f\n */\n readonly clientStateParams?: IClientStateConfig | IClientStateConfig[];\n /**\n * @param dataIdFromObject A function that returns an object identifier given an particular result\n * object.\n * @inheritdoc https://github.com/apollographql/apollo-client/tree/ed66999bac40226abfeada8d6c83b454636bb4b0/packages/apollo-cache-inmemory#configuration\n */\n readonly dataIdFromObject?: { [key: string]: (value: any) => string } | { [key: string]: (value: any) => string }[] | IdGetterObj;\n /**\n * @param createContainerFunc Synchronous Container Modules of inversify.\n * @inheritdoc https://github.com/inversify/InversifyJS/blob/master/wiki/container_modules.md\n */\n readonly createContainerFunc?: Function | Function[];\n /**\n * @param createServiceFunc Services\n */\n readonly createServiceFunc?: Function | Function[];\n readonly sidebarSegments?: any;\n readonly routerFactory?: any;\n /**\n * @param route Route list\n */\n readonly route?: any;\n /**\n * @param navItem Top left navigation links\n */\n readonly navItem?: any;\n /**\n * @param navItemRightTop right navigation links\n */\n readonly navItemRight?: any;\n /**\n * @param rootComponentFactory Root component factory list\n */\n readonly rootComponentFactory?: any;\n /**\n * @param dataRootComponent Data root React elements list (data root elements wraps data fetching react subtree root)\n */\n readonly dataRootComponent?: any;\n readonly createFetchOptions?: any;\n /**\n * @param stylesInsert URL list to 3rd party css scripts\n */\n readonly stylesInsert?: any;\n /**\n * @param scriptsInsert URL list to 3rd party js scripts\n */\n readonly scriptsInsert?: any;\n /**\n * @deprecated\n */\n readonly catalogInfo?: any;\n /**\n * @deprecated\n */\n readonly languagesFuncs?: any;\n /**\n * @param leftMainPanelItems Components that will be placed left panel.\n */\n readonly leftMainPanelItems?: any;\n /**\n * @param middleMainPanelItems Components that will be placed middle center panel\n */\n readonly middleMainPanelItems?: any;\n /**\n * @param middleMainPanelItemsProps Props of the component that will be placed middle center panel\n */\n readonly middleMainPanelItemsProps?: any;\n /**\n * @param leftFooterItems Components that will be placed left footer panel\n */\n readonly leftFooterItems?: any;\n /**\n * @param rightFooterItems Components that will be placed right footer panel\n */\n readonly rightFooterItems?: any;\n /**\n * @param middleLowerPanelItems Components that will be placed below middle panel\n */\n readonly middleLowerPanelItems?: any;\n\n readonly reduxPersistTransforms?: any[];\n\n}\n\n\n/**\n * Feature module methods\n */\nexport interface IFeature extends IModuleShape {\n // Public variables\n readonly data: any[];\n\n /**\n * @returns envalidConfig of all features\n */\n readonly envalidConfigs: any[];\n\n /**\n * @returns Redux-Observable Epics\n */\n readonly epics;\n\n readonly getRouter;\n /**\n * @returns client-side React route components list\n */\n readonly getRoutes;\n\n /**\n * @returns client-side top left navbar link component list\n */\n readonly navItems;\n /**\n * @returns client-side top right navbar link component list\n */\n readonly navItemsRight;\n /**\n * @returns Redux reducers\n */\n readonly reducers;\n\n readonly connectionParams;\n\n /**\n * @returns URL list to 3rd party css styles\n */\n readonly stylesInserts;\n /**\n * @returns URL list to 3rd party js styles\n */\n readonly scriptsInserts;\n\n readonly leftMainPanel;\n readonly middleMainPanel;\n readonly leftFooter;\n readonly rightFooter;\n readonly middleLowerPanel;\n readonly dataIdFromObject;\n\n /**\n * @param args Options to pass to each Container Module\n * @returns Created container and binds all the container modules\n */\n createContainers(args);\n\n\n createService(options, updateOptions);\n /**\n * @param args Provide resolverContext which can be passed to all resolver functions.\n * @returns IClientState\n */\n getStateParams(args?: { resolverContex?: any }): IClientState;\n\n getDataIdFromObject(result: {\n [key: string]: string | number;\n __typename?: string;\n } | IdGetterObj): any;\n /**\n * @arguments root React tree root component\n * @arguments req Http Request\n * @returns React tree root component wrapped up by root components exposed by this module\n */\n getWrappedRoot(root: any, req?: any): any;\n /**\n * @param root React tree data root component (first React root components which is used for fetching data)\n *\n * @returns React tree data root component wrapped up by data root components exposed by this module\n */\n getDataRoot(root: any): any;\n registerLanguages(monaco): void;\n}\n","export * from './connector';\n","export * from './logger';\n","import { ClientLogger } from '@cdm-logger/client';\n\nconst appName = (process.env && process.env.APP_NAME) || 'FullStack';\nconst logLevel = (process.env && process.env.LOG_LEVEL) || 'info';\nconst logger = ClientLogger.create(appName, { level: logLevel as any });\n\nexport { logger };\n","module.exports = require(\"@apollo/client\");","module.exports = require(\"@cdm-logger/client\");","module.exports = require(\"@common-stack/core\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,9 +1,11 @@
1
- import { Resolvers, IdGetterObj, PossibleTypesMap, TypePolicies, Operation, ApolloLink } from '@apollo/client';
1
+ import { Resolvers, IdGetterObj, PossibleTypesMap, TypePolicies, Operation, ApolloLink } from '@apollo/client/core';
2
2
  import { interfaces } from 'inversify';
3
3
  import { Cache } from '@apollo/client/cache';
4
4
  import { ReducersMapObject } from 'redux';
5
5
  import { ErrorLink } from '@apollo/client/link/error';
6
- import { ConnectionParams } from 'subscriptions-transport-ws';
6
+ declare type ConnectionParams = {
7
+ [paramName: string]: any;
8
+ };
7
9
  export declare type ResolverType = Resolvers | Resolvers[] | ((service: any) => Resolvers) | ((service: any) => Resolvers)[] | ((service: any) => any) | ((service: any) => any)[];
8
10
  export declare type ApolloLinkFunc = (container: interfaces.Container) => ApolloLink;
9
11
  export declare type ApolloConnectionParamFunc = ((container: interfaces.Container) => ConnectionParams) | ConnectionParams;
@@ -0,0 +1,3 @@
1
+ import {ClientLogger}from'@cdm-logger/client';const appName = (process.env && process.env.APP_NAME) || 'FullStack';
2
+ const logLevel = (process.env && process.env.LOG_LEVEL) || 'info';
3
+ const logger = ClientLogger.create(appName, { level: logLevel });export{logger};//# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sources":["../../src/logger/logger.ts"],"sourcesContent":[null],"names":[],"mappings":"8CAEA,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;AACrE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;AAClE,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAe,EAAE"}
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
1
  {
2
- "name": "@common-stack/client-core",
3
- "version": "0.3.1-alpha.0",
4
- "description": "common core for higher packages to depend on",
5
- "license": "ISC",
6
- "author": "CDMBase LLC",
7
- "main": "lib/index.js",
8
- "typings": "lib/index.d.ts",
9
- "scripts": {
10
- "build": "yarn build:clean && yarn build:lib",
11
- "build:clean": "rimraf lib",
12
- "build:lib": "webpack",
13
- "build:lib:watch": "yarn build:lib -- --watch",
14
- "jest": "./node_modules/.bin/jest",
15
- "prepublish": "yarn build",
16
- "test": "jest",
17
- "test:debug": "npm test -- --runInBand",
18
- "test:watch": "npm test -- --watch",
19
- "watch": "yarn build:lib:watch"
20
- },
21
- "jest": {
22
- "moduleFileExtensions": [
23
- "ts",
24
- "tsx",
25
- "js",
26
- "json"
27
- ],
28
- "modulePaths": [
29
- "node_modules"
30
- ],
31
- "roots": [
32
- "src"
33
- ],
34
- "testEnvironment": "node",
35
- "testRegex": "/__tests__/.*test*\\.(ts|tsx|js)$",
36
- "transform": {
37
- "\\.(ts|tsx)$": "<rootDir>/../../node_modules/ts-jest/preprocessor.js"
38
- }
39
- },
40
- "dependencies": {
41
- "@common-stack/core": "0.3.1-alpha.0"
42
- },
43
- "publishConfig": {
44
- "access": "public"
45
- },
46
- "peerDependencies": {
47
- "@apollo/client": ">=3.0.0",
48
- "redux": ">=4.0.1"
49
- },
50
- "typescript": {
51
- "definition": "lib/index.d.ts"
52
- },
53
- "gitHead": "38b12e16509f5521de83592aa4901d5b02394980"
2
+ "name": "@common-stack/client-core",
3
+ "version": "0.4.1",
4
+ "description": "common core for higher packages to depend on",
5
+ "license": "ISC",
6
+ "author": "CDMBase LLC",
7
+ "main": "lib/index.js",
8
+ "typings": "lib/index.d.ts",
9
+ "scripts": {
10
+ "build": "yarn build:clean && yarn build:lib",
11
+ "build:clean": "rimraf lib",
12
+ "build:lib": "rollup -c rollup.config.mjs",
13
+ "build:lib:watch": "yarn build:lib -- --watch",
14
+ "jest": "./node_modules/.bin/jest",
15
+ "prepublish": "yarn build",
16
+ "test": "jest",
17
+ "test:debug": "npm test -- --runInBand",
18
+ "test:watch": "npm test -- --watch",
19
+ "watch": "yarn build:lib:watch"
20
+ },
21
+ "jest": {
22
+ "moduleFileExtensions": [
23
+ "ts",
24
+ "tsx",
25
+ "js",
26
+ "json"
27
+ ],
28
+ "modulePaths": [
29
+ "node_modules"
30
+ ],
31
+ "roots": [
32
+ "src"
33
+ ],
34
+ "testEnvironment": "node",
35
+ "testRegex": "/__tests__/.*test*\\.(ts|tsx|js)$",
36
+ "transform": {
37
+ "\\.(ts|tsx)$": "<rootDir>/../../node_modules/ts-jest/preprocessor.js"
38
+ }
39
+ },
40
+ "dependencies": {
41
+ "@common-stack/core": "0.4.1"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "peerDependencies": {
47
+ "@apollo/client": ">=3.0.0",
48
+ "redux": ">=4.0.1"
49
+ },
50
+ "typescript": {
51
+ "definition": "lib/index.d.ts"
52
+ },
53
+ "gitHead": "1a36a13aa4bb8151460b3b1c636e7cd29852be5d"
54
54
  }