@wix/services-manager 0.2.0 → 0.2.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.
@@ -1,7 +1,7 @@
1
1
  import { ServiceBinding, ServiceDefinition, ServiceFactory, ServiceFactoryConfig, ServicesManager, ThreadMode } from './types.js';
2
2
  import { createSignalsRegistry, SignalsRegistry } from './core-services/signals/registry.js';
3
3
  export { createSignalsRegistry, SignalsRegistry };
4
- export declare function createServicesManager<M extends ThreadMode = ThreadMode.MAIN>(servicesBindings: ServicesRegistrar, { signalsRegistry, }?: {
4
+ export declare function createServicesManager<M extends ThreadMode = ThreadMode.MAIN>(servicesBindings?: ServicesRegistrar, { signalsRegistry, }?: {
5
5
  signalsRegistry?: SignalsRegistry;
6
6
  auth?: any;
7
7
  }): ServicesManager<M>;
@@ -1,13 +1,14 @@
1
1
  import { SignalsServiceDefinition } from './core-services/signals/definition.js';
2
2
  import { SignalsServiceFactory } from './core-services/signals/service.js';
3
3
  import { createSignalsRegistry, SignalsRegistry, } from './core-services/signals/registry.js';
4
+ import { wixContext } from '@wix/sdk-context';
4
5
  export { createSignalsRegistry, SignalsRegistry };
5
6
  export function createServicesManager(servicesBindings, {
6
7
  // in case we decide to keep multiple services manager in the same thread, we can use one signals registry for all of them
7
8
  signalsRegistry = createSignalsRegistry(), } = {}) {
8
9
  const coreRegisteredServices = createServicesMap().addService(SignalsServiceDefinition, SignalsServiceFactory, { signalsRegistry });
9
10
  const bindingsByDefinition = new Map([
10
- ...servicesBindings.registeredServices,
11
+ ...(servicesBindings ? servicesBindings.registeredServices : []),
11
12
  ...coreRegisteredServices.registeredServices,
12
13
  ].map((service) => [service.definition.toString(), service]));
13
14
  const initializedServices = new Map();
@@ -51,6 +52,22 @@ signalsRegistry = createSignalsRegistry(), } = {}) {
51
52
  throw new Error(`Service ${definition.toString()} is already provided`);
52
53
  }
53
54
  },
55
+ enableContext(context) {
56
+ if (context === 'global') {
57
+ if (globalThis.__wix_context__) {
58
+ globalThis.__wix_context__.getService = manager.getService;
59
+ }
60
+ else {
61
+ globalThis.__wix_context__ = {
62
+ getService: manager.getService,
63
+ };
64
+ }
65
+ }
66
+ else {
67
+ wixContext.getService = manager.getService;
68
+ }
69
+ return this;
70
+ },
54
71
  };
55
72
  bindingsByDefinition.forEach(({ definition, impl, config }) => {
56
73
  initializedServices.set(definition, impl({
package/build/types.d.ts CHANGED
@@ -8,4 +8,5 @@ export type ServicesManager<M extends ThreadMode = ThreadMode.MAIN> = {
8
8
  addService<T extends ServiceDefinition<any, any>, Impl extends ServiceFactory<T, any, ThreadMode.MAIN>>(definition: T, impl: Impl, config: ServiceFactoryConfig<Impl, ThreadMode.MAIN>): void;
9
9
  addService<T extends ServiceDefinition<any, any>, Impl extends ServiceFactory<T, any, ThreadMode.REMOTE>>(definition: T, impl: Impl): void;
10
10
  getSignalsRegistry(): SignalsRegistry;
11
+ enableContext(context: 'global' | 'module'): ServicesManager<M>;
11
12
  };
@@ -1,7 +1,7 @@
1
1
  import { ServiceBinding, ServiceDefinition, ServiceFactory, ServiceFactoryConfig, ServicesManager, ThreadMode } from './types.js';
2
2
  import { createSignalsRegistry, SignalsRegistry } from './core-services/signals/registry.js';
3
3
  export { createSignalsRegistry, SignalsRegistry };
4
- export declare function createServicesManager<M extends ThreadMode = ThreadMode.MAIN>(servicesBindings: ServicesRegistrar, { signalsRegistry, }?: {
4
+ export declare function createServicesManager<M extends ThreadMode = ThreadMode.MAIN>(servicesBindings?: ServicesRegistrar, { signalsRegistry, }?: {
5
5
  signalsRegistry?: SignalsRegistry;
6
6
  auth?: any;
7
7
  }): ServicesManager<M>;
@@ -8,12 +8,13 @@ const service_js_1 = require("./core-services/signals/service.js");
8
8
  const registry_js_1 = require("./core-services/signals/registry.js");
9
9
  Object.defineProperty(exports, "createSignalsRegistry", { enumerable: true, get: function () { return registry_js_1.createSignalsRegistry; } });
10
10
  Object.defineProperty(exports, "SignalsRegistry", { enumerable: true, get: function () { return registry_js_1.SignalsRegistry; } });
11
+ const sdk_context_1 = require("@wix/sdk-context");
11
12
  function createServicesManager(servicesBindings, {
12
13
  // in case we decide to keep multiple services manager in the same thread, we can use one signals registry for all of them
13
14
  signalsRegistry = (0, registry_js_1.createSignalsRegistry)(), } = {}) {
14
15
  const coreRegisteredServices = createServicesMap().addService(definition_js_1.SignalsServiceDefinition, service_js_1.SignalsServiceFactory, { signalsRegistry });
15
16
  const bindingsByDefinition = new Map([
16
- ...servicesBindings.registeredServices,
17
+ ...(servicesBindings ? servicesBindings.registeredServices : []),
17
18
  ...coreRegisteredServices.registeredServices,
18
19
  ].map((service) => [service.definition.toString(), service]));
19
20
  const initializedServices = new Map();
@@ -57,6 +58,22 @@ signalsRegistry = (0, registry_js_1.createSignalsRegistry)(), } = {}) {
57
58
  throw new Error(`Service ${definition.toString()} is already provided`);
58
59
  }
59
60
  },
61
+ enableContext(context) {
62
+ if (context === 'global') {
63
+ if (globalThis.__wix_context__) {
64
+ globalThis.__wix_context__.getService = manager.getService;
65
+ }
66
+ else {
67
+ globalThis.__wix_context__ = {
68
+ getService: manager.getService,
69
+ };
70
+ }
71
+ }
72
+ else {
73
+ sdk_context_1.wixContext.getService = manager.getService;
74
+ }
75
+ return this;
76
+ },
60
77
  };
61
78
  bindingsByDefinition.forEach(({ definition, impl, config }) => {
62
79
  initializedServices.set(definition, impl({
@@ -8,4 +8,5 @@ export type ServicesManager<M extends ThreadMode = ThreadMode.MAIN> = {
8
8
  addService<T extends ServiceDefinition<any, any>, Impl extends ServiceFactory<T, any, ThreadMode.MAIN>>(definition: T, impl: Impl, config: ServiceFactoryConfig<Impl, ThreadMode.MAIN>): void;
9
9
  addService<T extends ServiceDefinition<any, any>, Impl extends ServiceFactory<T, any, ThreadMode.REMOTE>>(definition: T, impl: Impl): void;
10
10
  getSignalsRegistry(): SignalsRegistry;
11
+ enableContext(context: 'global' | 'module'): ServicesManager<M>;
11
12
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/services-manager",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./cjs/build/services-manager.js",
6
6
  "exports": {
@@ -90,5 +90,5 @@
90
90
  ]
91
91
  }
92
92
  },
93
- "falconPackageHash": "e7021ce223e5746131e375005bff219f75349be729b08786f29ee1f2"
93
+ "falconPackageHash": "db299042061f1059d9b8c0e0c5fe7d87b50de29a2430a530afebd384"
94
94
  }