@common-stack/client-core
Advanced tools
Comparing version
@@ -48,3 +48,3 @@ import { IdGetterObj, Resolvers } from '@apollo/client/core'; | ||
getApolloResolvers(resolverContex: any): Resolvers; | ||
private get container(); | ||
private getContainer; | ||
get epics(): any; | ||
@@ -56,7 +56,7 @@ getRouter(withRoot?: boolean, rootComponent?: any): any; | ||
get reducers(): any; | ||
createContainers(options: any): interfaces.Container; | ||
createService(options: any, updateOptions: any, overrideContainer: any): any; | ||
createContainers(options: any, scopeId?: string): interfaces.Container; | ||
createService(options: any, scopeId?: string): any; | ||
getStateParams(args?: { | ||
resolverContex?: any; | ||
container?: interfaces.Container; | ||
scopeId?: string; | ||
requestResponsePair?: { | ||
@@ -63,0 +63,0 @@ req: Record<string, any>; |
@@ -1,2 +0,2 @@ | ||
import*as React from'react';import {merge,without,union,castArray}from'lodash-es';import {Container}from'inversify';import {consolidatedResolvers}from'../utils/resolversUtils.js';/* eslint-disable no-underscore-dangle */ | ||
import*as React from'react';import {merge,without,union,castArray}from'lodash-es';import {consolidatedResolvers}from'../utils/resolversUtils.js';import {ScopedContainer}from'./ScopedContainer.js';/* eslint-disable no-underscore-dangle */ | ||
/* eslint-disable @typescript-eslint/no-explicit-any */ | ||
@@ -48,6 +48,4 @@ /* eslint-disable no-nested-ternary */ | ||
} | ||
get container() { | ||
if (!this._container) { | ||
this._container = new Container(); | ||
} | ||
getContainer(scopeId) { | ||
this._container = ScopedContainer.for(scopeId); | ||
return this._container; | ||
@@ -64,13 +62,12 @@ } | ||
} | ||
createContainers(options) { | ||
if (this.isContainerLoaded) { | ||
return this.container; | ||
} | ||
createContainers(options, scopeId) { | ||
this.createContainerFunc.forEach((createModule) => { | ||
this.container.load(createModule(options)); | ||
this.getContainer(scopeId).load(createModule(options)); | ||
}); | ||
this.isContainerLoaded = true; | ||
return this.container; | ||
return this.getContainer(scopeId); | ||
} | ||
createService(options, updateOptions, overrideContainer) { | ||
createService(options, scopeId) { | ||
if (typeof window === undefined) { | ||
throw new Error('Services not for node'); | ||
} | ||
if (this.services) { | ||
@@ -81,5 +78,5 @@ return this.services; | ||
if (!this.isContainerLoaded) { | ||
this.createContainers(options); | ||
this.createContainers(options, scopeId); | ||
} | ||
this.services = merge({}, ...this.createServiceFunc.map((serviceFunc) => serviceFunc(overrideContainer || this.container))); | ||
this.services = merge({}, ...this.createServiceFunc.map((serviceFunc) => serviceFunc(this.getContainer(scopeId)))); | ||
return this.services; | ||
@@ -93,3 +90,3 @@ } | ||
getStateParams(args = {}) { | ||
const cn = args.container || this.container; | ||
const cn = this.getContainer(args.scopeId); | ||
const { requestResponsePair } = args; | ||
@@ -96,0 +93,0 @@ const result = this.clientStateParams.reduce((acc, curr) => { |
export * from './abstract-connector'; | ||
export * from './ScopedContainer'; |
@@ -14,7 +14,7 @@ import {ApolloClient}from'@apollo/client/core/index.js';import {InMemoryCache}from'@apollo/client/cache/index.js';import {logger}from'@cdm-logger/client';import {ClientTypes}from'@common-stack/core';class UtilityClass { | ||
const apolloClientHelper = (modules) => { | ||
const clientState = modules.getStateParams({ resolverContex: () => modules.createService({}, {}) }); | ||
const clientState = modules.getStateParams({ resolverContex: () => modules.createService({}) }); | ||
const dataIdFromObject = (result) => modules.getDataIdFromObject(result); | ||
const cache = new InMemoryCache({ | ||
dataIdFromObject, | ||
possibleTypes: clientState.possibleTypes | ||
possibleTypes: clientState.possibleTypes, | ||
}); | ||
@@ -29,3 +29,3 @@ const schema = ``; | ||
const client = new ApolloClient(params); | ||
clientState.defaults.map(x => { | ||
clientState.defaults.map((x) => { | ||
if (x.type === 'query') { | ||
@@ -45,3 +45,3 @@ cache.writeQuery(x); | ||
container.bind(ClientTypes.InMemoryCache).toConstantValue(cache); | ||
const services = modules.createService({}, {}); | ||
const services = modules.createService({}); | ||
client.container = services; | ||
@@ -48,0 +48,0 @@ return { |
@@ -1,1 +0,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 | ||
export{logger}from'./logger/logger.js';export{AbstractFeature,featureCatalog}from'./connector/abstract-connector.js';export{ScopedContainer}from'./connector/ScopedContainer.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 |
@@ -231,4 +231,4 @@ import { ApolloLink, IdGetterObj, Operation, PossibleTypesMap, Resolvers, TypePolicies } from '@apollo/client/core/index.js'; | ||
*/ | ||
createContainers(args: any): any; | ||
createService(options: any, updateOptions?: any, overrideContainer?: Container): any; | ||
createContainers(args: any, scopeId?: string): any; | ||
createService(options: any, scopeId?: string): any; | ||
/** | ||
@@ -240,2 +240,3 @@ * @param args Provide resolverContext which can be passed to all resolver functions. | ||
resolverContex?: any; | ||
container?: Container; | ||
}): IClientState; | ||
@@ -242,0 +243,0 @@ getDataIdFromObject(result: { |
{ | ||
"name": "@common-stack/client-core", | ||
"version": "4.0.1-alpha.5", | ||
"version": "4.0.1-alpha.6", | ||
"description": "common core for higher packages to depend on", | ||
@@ -36,3 +36,3 @@ "license": "ISC", | ||
}, | ||
"gitHead": "b4bebb1d5bef6c408d374da18dac75bc440fd340" | ||
"gitHead": "90624ca5bdda49d2caf49316ec34529d3789e382" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
50538
17.5%35
9.38%810
21.08%