@common-stack/client-core
Advanced tools
Comparing version 4.0.1-alpha.5 to 4.0.1-alpha.6
@@ -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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
50538
35
810