@webpieces/http-client-browser 0.4.865 → 0.4.867
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.
- package/package.json +3 -3
- package/src/BrowserProviders.d.ts +29 -0
- package/src/BrowserProviders.js +47 -0
- package/src/BrowserProviders.js.map +1 -0
- package/src/RpcClientProvider.d.ts +4 -4
- package/src/RpcClientProvider.js +6 -6
- package/src/RpcClientProvider.js.map +1 -1
- package/src/RpcClientProviderCompileAssertions.d.ts +4 -0
- package/src/RpcClientProviderCompileAssertions.js +22 -0
- package/src/RpcClientProviderCompileAssertions.js.map +1 -0
- package/src/Wiring.d.ts +22 -0
- package/src/Wiring.js +26 -0
- package/src/Wiring.js.map +1 -0
- package/src/index.d.ts +5 -3
- package/src/index.js +11 -4
- package/src/index.js.map +1 -1
- package/src/BrowserWiring.d.ts +0 -6
- package/src/BrowserWiring.js +0 -15
- package/src/BrowserWiring.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webpieces/http-client-browser",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.867",
|
|
4
4
|
"description": "Browser HTTP client for webpieces: DI-free (React or Angular), app-managed context store, no AsyncLocalStorage",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@webpieces/core-util": "0.4.
|
|
26
|
-
"@webpieces/http-client-core": "0.4.
|
|
25
|
+
"@webpieces/core-util": "0.4.867",
|
|
26
|
+
"@webpieces/http-client-core": "0.4.867"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type BrowserToken = object | symbol | string;
|
|
2
|
+
export type BrowserType = new (...args: never[]) => object;
|
|
3
|
+
/** Concrete structural provider types keep the browser package independent of Angular. */
|
|
4
|
+
export declare class BrowserValueProvider {
|
|
5
|
+
readonly provide: BrowserToken;
|
|
6
|
+
readonly useValue: object | string | number | boolean | null;
|
|
7
|
+
constructor(provide: BrowserToken, useValue: object | string | number | boolean | null);
|
|
8
|
+
}
|
|
9
|
+
export declare class BrowserClassProvider {
|
|
10
|
+
readonly provide: BrowserToken;
|
|
11
|
+
readonly useClass: BrowserType;
|
|
12
|
+
constructor(provide: BrowserToken, useClass: BrowserType);
|
|
13
|
+
}
|
|
14
|
+
export declare class BrowserExistingProvider {
|
|
15
|
+
readonly provide: BrowserToken;
|
|
16
|
+
readonly useExisting: BrowserToken;
|
|
17
|
+
constructor(provide: BrowserToken, useExisting: BrowserToken);
|
|
18
|
+
}
|
|
19
|
+
export declare class BrowserFactoryProvider {
|
|
20
|
+
readonly provide: BrowserToken;
|
|
21
|
+
readonly useFactory: (...args: never[]) => object;
|
|
22
|
+
readonly deps: BrowserToken[];
|
|
23
|
+
constructor(provide: BrowserToken, useFactory: (...args: never[]) => object, deps: BrowserToken[]);
|
|
24
|
+
}
|
|
25
|
+
/** Structural identity of Angular's opaque initializer/provider bundle; no runtime dependency. */
|
|
26
|
+
export declare class BrowserEnvironmentProviders {
|
|
27
|
+
readonly ɵbrand: 'EnvironmentProviders';
|
|
28
|
+
}
|
|
29
|
+
export type BrowserProvider = BrowserType | BrowserValueProvider | BrowserClassProvider | BrowserExistingProvider | BrowserFactoryProvider | BrowserEnvironmentProviders;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrowserEnvironmentProviders = exports.BrowserFactoryProvider = exports.BrowserExistingProvider = exports.BrowserClassProvider = exports.BrowserValueProvider = void 0;
|
|
4
|
+
/** Concrete structural provider types keep the browser package independent of Angular. */
|
|
5
|
+
class BrowserValueProvider {
|
|
6
|
+
provide;
|
|
7
|
+
useValue;
|
|
8
|
+
constructor(provide, useValue) {
|
|
9
|
+
this.provide = provide;
|
|
10
|
+
this.useValue = useValue;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.BrowserValueProvider = BrowserValueProvider;
|
|
14
|
+
class BrowserClassProvider {
|
|
15
|
+
provide;
|
|
16
|
+
useClass;
|
|
17
|
+
constructor(provide, useClass) {
|
|
18
|
+
this.provide = provide;
|
|
19
|
+
this.useClass = useClass;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.BrowserClassProvider = BrowserClassProvider;
|
|
23
|
+
class BrowserExistingProvider {
|
|
24
|
+
provide;
|
|
25
|
+
useExisting;
|
|
26
|
+
constructor(provide, useExisting) {
|
|
27
|
+
this.provide = provide;
|
|
28
|
+
this.useExisting = useExisting;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.BrowserExistingProvider = BrowserExistingProvider;
|
|
32
|
+
class BrowserFactoryProvider {
|
|
33
|
+
provide;
|
|
34
|
+
useFactory;
|
|
35
|
+
deps;
|
|
36
|
+
constructor(provide, useFactory, deps) {
|
|
37
|
+
this.provide = provide;
|
|
38
|
+
this.useFactory = useFactory;
|
|
39
|
+
this.deps = deps;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.BrowserFactoryProvider = BrowserFactoryProvider;
|
|
43
|
+
/** Structural identity of Angular's opaque initializer/provider bundle; no runtime dependency. */
|
|
44
|
+
class BrowserEnvironmentProviders {
|
|
45
|
+
}
|
|
46
|
+
exports.BrowserEnvironmentProviders = BrowserEnvironmentProviders;
|
|
47
|
+
//# sourceMappingURL=BrowserProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserProviders.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/BrowserProviders.ts"],"names":[],"mappings":";;;AAGA,0FAA0F;AAC1F,MAAa,oBAAoB;IACD;IAAuC;IAAnE,YAA4B,OAAqB,EAAkB,QAAmD;QAA1F,YAAO,GAAP,OAAO,CAAc;QAAkB,aAAQ,GAAR,QAAQ,CAA2C;IAAG,CAAC;CAC7H;AAFD,oDAEC;AAED,MAAa,oBAAoB;IACD;IAAuC;IAAnE,YAA4B,OAAqB,EAAkB,QAAqB;QAA5D,YAAO,GAAP,OAAO,CAAc;QAAkB,aAAQ,GAAR,QAAQ,CAAa;IAAG,CAAC;CAC/F;AAFD,oDAEC;AAED,MAAa,uBAAuB;IACJ;IAAuC;IAAnE,YAA4B,OAAqB,EAAkB,WAAyB;QAAhE,YAAO,GAAP,OAAO,CAAc;QAAkB,gBAAW,GAAX,WAAW,CAAc;IAAG,CAAC;CACnG;AAFD,0DAEC;AAED,MAAa,sBAAsB;IAEX;IACA;IACA;IAHpB,YACoB,OAAqB,EACrB,UAAwC,EACxC,IAAoB;QAFpB,YAAO,GAAP,OAAO,CAAc;QACrB,eAAU,GAAV,UAAU,CAA8B;QACxC,SAAI,GAAJ,IAAI,CAAgB;IACrC,CAAC;CACP;AAND,wDAMC;AAED,kGAAkG;AAClG,MAAa,2BAA2B;CAEvC;AAFD,kEAEC","sourcesContent":["export type BrowserToken = object | symbol | string;\nexport type BrowserType = new (...args: never[]) => object;\n\n/** Concrete structural provider types keep the browser package independent of Angular. */\nexport class BrowserValueProvider {\n constructor(public readonly provide: BrowserToken, public readonly useValue: object | string | number | boolean | null) {}\n}\n\nexport class BrowserClassProvider {\n constructor(public readonly provide: BrowserToken, public readonly useClass: BrowserType) {}\n}\n\nexport class BrowserExistingProvider {\n constructor(public readonly provide: BrowserToken, public readonly useExisting: BrowserToken) {}\n}\n\nexport class BrowserFactoryProvider {\n constructor(\n public readonly provide: BrowserToken,\n public readonly useFactory: (...args: never[]) => object,\n public readonly deps: BrowserToken[],\n ) {}\n}\n\n/** Structural identity of Angular's opaque initializer/provider bundle; no runtime dependency. */\nexport class BrowserEnvironmentProviders {\n declare readonly ɵbrand: 'EnvironmentProviders';\n}\n\nexport type BrowserProvider = BrowserType | BrowserValueProvider | BrowserClassProvider | BrowserExistingProvider | BrowserFactoryProvider | BrowserEnvironmentProviders;\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { ApiPrototype
|
|
1
|
+
import type { ApiPrototype } from '@webpieces/http-client-core';
|
|
2
2
|
import { ClientHttpBrowserFactory } from './ClientHttpBrowserFactory';
|
|
3
3
|
import { ClientConfig } from './ClientConfig';
|
|
4
4
|
/** Structurally compatible Angular factory provider. The original token remains overrideable. */
|
|
5
5
|
export declare class RpcClientProvider<T extends object> {
|
|
6
6
|
readonly provide: ApiPrototype<T> | symbol;
|
|
7
7
|
private readonly api;
|
|
8
|
-
private readonly
|
|
8
|
+
private readonly destination;
|
|
9
9
|
readonly deps: (typeof ClientConfig | typeof ClientHttpBrowserFactory)[];
|
|
10
|
-
constructor(provide: ApiPrototype<T> | symbol, api: ApiPrototype<T>,
|
|
10
|
+
constructor(provide: ApiPrototype<T> | symbol, api: ApiPrototype<T>, destination: string);
|
|
11
11
|
readonly useFactory: (factory: ClientHttpBrowserFactory, _config: ClientConfig) => T;
|
|
12
12
|
}
|
|
13
|
-
export declare function provideRpcClient<T extends object>(token: ApiPrototype<NoInfer<T>> | symbol, api: ApiPrototype<T>,
|
|
13
|
+
export declare function provideRpcClient<T extends object>(token: ApiPrototype<NoInfer<T>> | symbol, api: ApiPrototype<T>, destination: string): RpcClientProvider<T>;
|
package/src/RpcClientProvider.js
CHANGED
|
@@ -8,18 +8,18 @@ const ClientConfig_1 = require("./ClientConfig");
|
|
|
8
8
|
class RpcClientProvider {
|
|
9
9
|
provide;
|
|
10
10
|
api;
|
|
11
|
-
|
|
11
|
+
destination;
|
|
12
12
|
deps = [ClientHttpBrowserFactory_1.ClientHttpBrowserFactory, ClientConfig_1.ClientConfig];
|
|
13
|
-
constructor(provide, api,
|
|
13
|
+
constructor(provide, api, destination) {
|
|
14
14
|
this.provide = provide;
|
|
15
15
|
this.api = api;
|
|
16
|
-
this.
|
|
16
|
+
this.destination = destination;
|
|
17
17
|
}
|
|
18
|
-
useFactory = (factory, _config) => factory.createRpcClient(this.api, new ClientConfig_1.ClientConfig(this.
|
|
18
|
+
useFactory = (factory, _config) => factory.createRpcClient(this.api, new ClientConfig_1.ClientConfig(this.destination));
|
|
19
19
|
}
|
|
20
20
|
exports.RpcClientProvider = RpcClientProvider;
|
|
21
21
|
// webpieces-disable no-function-outside-class -- declarative framework integration seam
|
|
22
|
-
function provideRpcClient(token, api,
|
|
23
|
-
return new RpcClientProvider(token, api,
|
|
22
|
+
function provideRpcClient(token, api, destination) {
|
|
23
|
+
return new RpcClientProvider(token, api, destination);
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=RpcClientProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcClientProvider.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/RpcClientProvider.ts"],"names":[],"mappings":";;;AAmBA,4CAMC;AAxBD,yEAAsE;AACtE,iDAA8C;AAE9C,iGAAiG;AACjG,MAAa,iBAAiB;IAIN;IACC;IACA;IALZ,IAAI,GAAG,CAAC,mDAAwB,EAAE,2BAAY,CAAC,CAAC;IAEzD,YACoB,OAAiC,EAChC,GAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"RpcClientProvider.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/RpcClientProvider.ts"],"names":[],"mappings":";;;AAmBA,4CAMC;AAxBD,yEAAsE;AACtE,iDAA8C;AAE9C,iGAAiG;AACjG,MAAa,iBAAiB;IAIN;IACC;IACA;IALZ,IAAI,GAAG,CAAC,mDAAwB,EAAE,2BAAY,CAAC,CAAC;IAEzD,YACoB,OAAiC,EAChC,GAAoB,EACpB,WAAmB;QAFpB,YAAO,GAAP,OAAO,CAA0B;QAChC,QAAG,GAAH,GAAG,CAAiB;QACpB,gBAAW,GAAX,WAAW,CAAQ;IACrC,CAAC;IAEK,UAAU,GAAG,CAAC,OAAiC,EAAE,OAAqB,EAAK,EAAE,CAClF,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,2BAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;CAC7E;AAXD,8CAWC;AAED,wFAAwF;AACxF,SAAgB,gBAAgB,CAC5B,KAAwC,EACxC,GAAoB,EACpB,WAAmB;IAEnB,OAAO,IAAI,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["import type { ApiPrototype } from '@webpieces/http-client-core';\nimport { ClientHttpBrowserFactory } from './ClientHttpBrowserFactory';\nimport { ClientConfig } from './ClientConfig';\n\n/** Structurally compatible Angular factory provider. The original token remains overrideable. */\nexport class RpcClientProvider<T extends object> {\n readonly deps = [ClientHttpBrowserFactory, ClientConfig];\n\n constructor(\n public readonly provide: ApiPrototype<T> | symbol,\n private readonly api: ApiPrototype<T>,\n private readonly destination: string,\n ) {}\n\n readonly useFactory = (factory: ClientHttpBrowserFactory, _config: ClientConfig): T =>\n factory.createRpcClient(this.api, new ClientConfig(this.destination));\n}\n\n// webpieces-disable no-function-outside-class -- declarative framework integration seam\nexport function provideRpcClient<T extends object>(\n token: ApiPrototype<NoInfer<T>> | symbol,\n api: ApiPrototype<T>,\n destination: string,\n): RpcClientProvider<T> {\n return new RpcClientProvider(token, api, destination);\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RpcClientProviderCompileAssertions = void 0;
|
|
4
|
+
const RpcClientProvider_1 = require("./RpcClientProvider");
|
|
5
|
+
class TextApi {
|
|
6
|
+
}
|
|
7
|
+
class CountApi {
|
|
8
|
+
}
|
|
9
|
+
/** Compiled fixtures protect token/API inference after removing destination wrappers. */
|
|
10
|
+
class RpcClientProviderCompileAssertions {
|
|
11
|
+
check() {
|
|
12
|
+
(0, RpcClientProvider_1.provideRpcClient)(TextApi, TextApi, 'text-service');
|
|
13
|
+
// @ts-expect-error Class tokens must match the API contract.
|
|
14
|
+
(0, RpcClientProvider_1.provideRpcClient)(CountApi, TextApi, 'text-service');
|
|
15
|
+
// @ts-expect-error A service destination is required.
|
|
16
|
+
(0, RpcClientProvider_1.provideRpcClient)(TextApi, TextApi);
|
|
17
|
+
// @ts-expect-error Wrapper destinations were removed; use a service string.
|
|
18
|
+
(0, RpcClientProvider_1.provideRpcClient)(TextApi, TextApi, { serviceName: 'text-service' });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.RpcClientProviderCompileAssertions = RpcClientProviderCompileAssertions;
|
|
22
|
+
//# sourceMappingURL=RpcClientProviderCompileAssertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcClientProviderCompileAssertions.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/RpcClientProviderCompileAssertions.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD,MAAe,OAAO;CAA6B;AACnD,MAAe,QAAQ;CAA6B;AAEpD,yFAAyF;AACzF,MAAa,kCAAkC;IAC3C,KAAK;QACD,IAAA,oCAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACnD,6DAA6D;QAC7D,IAAA,oCAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACpD,sDAAsD;QACtD,IAAA,oCAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnC,4EAA4E;QAC5E,IAAA,oCAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ;AAVD,gFAUC","sourcesContent":["import { provideRpcClient } from './RpcClientProvider';\n\nabstract class TextApi { abstract read(): string; }\nabstract class CountApi { abstract read(): number; }\n\n/** Compiled fixtures protect token/API inference after removing destination wrappers. */\nexport class RpcClientProviderCompileAssertions {\n check(): void {\n provideRpcClient(TextApi, TextApi, 'text-service');\n // @ts-expect-error Class tokens must match the API contract.\n provideRpcClient(CountApi, TextApi, 'text-service');\n // @ts-expect-error A service destination is required.\n provideRpcClient(TextApi, TextApi);\n // @ts-expect-error Wrapper destinations were removed; use a service string.\n provideRpcClient(TextApi, TextApi, { serviceName: 'text-service' });\n }\n}\n"]}
|
package/src/Wiring.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BrowserProvider } from './BrowserProviders';
|
|
2
|
+
import type { Wiring as Topology, AppWiring as AppTopology } from '@webpieces/http-client-core';
|
|
3
|
+
/** The browser adapter imports neither Angular nor Node runtime or types. */
|
|
4
|
+
export declare class BrowserBindings {
|
|
5
|
+
readonly providers: BrowserProvider[];
|
|
6
|
+
add(provider: BrowserProvider): void;
|
|
7
|
+
}
|
|
8
|
+
export interface BindingModule {
|
|
9
|
+
configure(bindings: BrowserBindings): void;
|
|
10
|
+
}
|
|
11
|
+
/** Lazy route providers remain separate from domain bindings. */
|
|
12
|
+
export interface RouteModule {
|
|
13
|
+
configure(bindings: BrowserBindings): void;
|
|
14
|
+
}
|
|
15
|
+
export interface Wiring extends Topology<BindingModule, RouteModule> {
|
|
16
|
+
}
|
|
17
|
+
export interface AppWiring extends AppTopology<BindingModule, RouteModule> {
|
|
18
|
+
}
|
|
19
|
+
/** Configure the selected domain and route modules once, in topology order. */
|
|
20
|
+
export declare class BrowserWiringProviders {
|
|
21
|
+
toProviders(app: AppWiring): BrowserProvider[];
|
|
22
|
+
}
|
package/src/Wiring.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrowserWiringProviders = exports.BrowserBindings = void 0;
|
|
4
|
+
const http_client_core_1 = require("@webpieces/http-client-core");
|
|
5
|
+
/** The browser adapter imports neither Angular nor Node runtime or types. */
|
|
6
|
+
class BrowserBindings {
|
|
7
|
+
providers = [];
|
|
8
|
+
add(provider) {
|
|
9
|
+
this.providers.push(provider);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.BrowserBindings = BrowserBindings;
|
|
13
|
+
/** Configure the selected domain and route modules once, in topology order. */
|
|
14
|
+
class BrowserWiringProviders {
|
|
15
|
+
toProviders(app) {
|
|
16
|
+
const modules = new http_client_core_1.WiringModules(app);
|
|
17
|
+
const bindings = new BrowserBindings();
|
|
18
|
+
for (const module of modules.bindingModules)
|
|
19
|
+
module.configure(bindings);
|
|
20
|
+
for (const module of modules.routingModules)
|
|
21
|
+
module.configure(bindings);
|
|
22
|
+
return bindings.providers;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.BrowserWiringProviders = BrowserWiringProviders;
|
|
26
|
+
//# sourceMappingURL=Wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wiring.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/Wiring.ts"],"names":[],"mappings":";;;AAEA,kEAA4D;AAE5D,6EAA6E;AAC7E,MAAa,eAAe;IACf,SAAS,GAAsB,EAAE,CAAC;IAE3C,GAAG,CAAC,QAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;CACJ;AAND,0CAMC;AAcD,+EAA+E;AAC/E,MAAa,sBAAsB;IAC/B,WAAW,CAAC,GAAc;QACtB,MAAM,OAAO,GAAG,IAAI,gCAAa,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC9B,CAAC;CACJ;AARD,wDAQC","sourcesContent":["import type { BrowserProvider } from './BrowserProviders';\nimport type { Wiring as Topology, AppWiring as AppTopology } from '@webpieces/http-client-core';\nimport { WiringModules } from '@webpieces/http-client-core';\n\n/** The browser adapter imports neither Angular nor Node runtime or types. */\nexport class BrowserBindings {\n readonly providers: BrowserProvider[] = [];\n\n add(provider: BrowserProvider): void {\n this.providers.push(provider);\n }\n}\n\nexport interface BindingModule {\n configure(bindings: BrowserBindings): void;\n}\n\n/** Lazy route providers remain separate from domain bindings. */\nexport interface RouteModule {\n configure(bindings: BrowserBindings): void;\n}\n\nexport interface Wiring extends Topology<BindingModule, RouteModule> {}\nexport interface AppWiring extends AppTopology<BindingModule, RouteModule> {}\n\n/** Configure the selected domain and route modules once, in topology order. */\nexport class BrowserWiringProviders {\n toProviders(app: AppWiring): BrowserProvider[] {\n const modules = new WiringModules(app);\n const bindings = new BrowserBindings();\n for (const module of modules.bindingModules) module.configure(bindings);\n for (const module of modules.routingModules) module.configure(bindings);\n return bindings.providers;\n }\n}\n"]}
|
package/src/index.d.ts
CHANGED
|
@@ -36,7 +36,9 @@ export { ContextMgr } from '@webpieces/core-util';
|
|
|
36
36
|
export { ContextReader, ContextWriter, ContextStore, ContextKey, HeaderRegistry, ClientRegistry, templateDeriver, WebpiecesCoreHeaders, } from '@webpieces/core-util';
|
|
37
37
|
export type { ServiceUrlDeriver } from '@webpieces/core-util';
|
|
38
38
|
export { ApiPath, Endpoint, PathParam, QueryParam, WpAuthPublic, WpAuth, WpAuthorization, AuthorizationType, WpLocalOnly, jwt, oidc, sharedSecret, webhook, apiKey, Rpc, PubSub, Queue, ValidateImplementation, } from '@webpieces/core-util';
|
|
39
|
-
export {
|
|
39
|
+
export type { Wiring, AppWiring, BindingModule, RouteModule } from './Wiring';
|
|
40
|
+
export { BrowserBindings, BrowserWiringProviders } from './Wiring';
|
|
41
|
+
export { BrowserValueProvider, BrowserClassProvider, BrowserExistingProvider, BrowserFactoryProvider } from './BrowserProviders';
|
|
42
|
+
export type { BrowserProvider, BrowserToken, BrowserType } from './BrowserProviders';
|
|
40
43
|
export { RpcClientProvider, provideRpcClient } from './RpcClientProvider';
|
|
41
|
-
export {
|
|
42
|
-
export type { RpcTarget } from '@webpieces/http-client-core';
|
|
44
|
+
export { WiringPolicy, ExternalContractUse } from '@webpieces/http-client-core';
|
package/src/index.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* The server twin is @webpieces/http-client-node.
|
|
26
26
|
*/
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.
|
|
28
|
+
exports.ExternalContractUse = exports.WiringPolicy = exports.provideRpcClient = exports.RpcClientProvider = exports.BrowserFactoryProvider = exports.BrowserExistingProvider = exports.BrowserClassProvider = exports.BrowserValueProvider = exports.BrowserWiringProviders = exports.BrowserBindings = exports.Queue = exports.PubSub = exports.Rpc = exports.apiKey = exports.webhook = exports.sharedSecret = exports.oidc = exports.jwt = exports.WpLocalOnly = exports.AuthorizationType = exports.WpAuthorization = exports.WpAuth = exports.WpAuthPublic = exports.QueryParam = exports.PathParam = exports.Endpoint = exports.ApiPath = exports.WebpiecesCoreHeaders = exports.templateDeriver = exports.ClientRegistry = exports.HeaderRegistry = exports.ContextKey = exports.ContextMgr = exports.StreamingCapabilityError = exports.RequestOutcome = exports.ClientErrorTranslator = exports.ProxyClient = exports.MutableContextStore = exports.ClientConfig = exports.BrowserApiCallContext = exports.BrowserProxyClient = exports.ClientHttpBrowserFactory = void 0;
|
|
29
29
|
var ClientHttpBrowserFactory_1 = require("./ClientHttpBrowserFactory");
|
|
30
30
|
Object.defineProperty(exports, "ClientHttpBrowserFactory", { enumerable: true, get: function () { return ClientHttpBrowserFactory_1.ClientHttpBrowserFactory; } });
|
|
31
31
|
var BrowserProxyClient_1 = require("./BrowserProxyClient");
|
|
@@ -76,11 +76,18 @@ Object.defineProperty(exports, "apiKey", { enumerable: true, get: function () {
|
|
|
76
76
|
Object.defineProperty(exports, "Rpc", { enumerable: true, get: function () { return core_util_3.Rpc; } });
|
|
77
77
|
Object.defineProperty(exports, "PubSub", { enumerable: true, get: function () { return core_util_3.PubSub; } });
|
|
78
78
|
Object.defineProperty(exports, "Queue", { enumerable: true, get: function () { return core_util_3.Queue; } });
|
|
79
|
-
var
|
|
80
|
-
Object.defineProperty(exports, "
|
|
79
|
+
var Wiring_1 = require("./Wiring");
|
|
80
|
+
Object.defineProperty(exports, "BrowserBindings", { enumerable: true, get: function () { return Wiring_1.BrowserBindings; } });
|
|
81
|
+
Object.defineProperty(exports, "BrowserWiringProviders", { enumerable: true, get: function () { return Wiring_1.BrowserWiringProviders; } });
|
|
82
|
+
var BrowserProviders_1 = require("./BrowserProviders");
|
|
83
|
+
Object.defineProperty(exports, "BrowserValueProvider", { enumerable: true, get: function () { return BrowserProviders_1.BrowserValueProvider; } });
|
|
84
|
+
Object.defineProperty(exports, "BrowserClassProvider", { enumerable: true, get: function () { return BrowserProviders_1.BrowserClassProvider; } });
|
|
85
|
+
Object.defineProperty(exports, "BrowserExistingProvider", { enumerable: true, get: function () { return BrowserProviders_1.BrowserExistingProvider; } });
|
|
86
|
+
Object.defineProperty(exports, "BrowserFactoryProvider", { enumerable: true, get: function () { return BrowserProviders_1.BrowserFactoryProvider; } });
|
|
81
87
|
var RpcClientProvider_1 = require("./RpcClientProvider");
|
|
82
88
|
Object.defineProperty(exports, "RpcClientProvider", { enumerable: true, get: function () { return RpcClientProvider_1.RpcClientProvider; } });
|
|
83
89
|
Object.defineProperty(exports, "provideRpcClient", { enumerable: true, get: function () { return RpcClientProvider_1.provideRpcClient; } });
|
|
84
90
|
var http_client_core_3 = require("@webpieces/http-client-core");
|
|
85
|
-
Object.defineProperty(exports, "
|
|
91
|
+
Object.defineProperty(exports, "WiringPolicy", { enumerable: true, get: function () { return http_client_core_3.WiringPolicy; } });
|
|
92
|
+
Object.defineProperty(exports, "ExternalContractUse", { enumerable: true, get: function () { return http_client_core_3.ExternalContractUse; } });
|
|
86
93
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,4FAA4F;AAC5F,kGAAkG;AAClG,8BAA8B;AAC9B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,wEAAwE;AACxE,gEAAiG;AAAxF,+GAAA,WAAW,OAAA;AAAE,yHAAA,qBAAqB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAE3D,gEAAuE;AAA9D,4HAAA,wBAAwB,OAAA;AAEjC,iGAAiG;AACjG,mGAAmG;AACnG,kDAAkD;AAAzC,uGAAA,UAAU,OAAA;AAEnB,yFAAyF;AACzF,kDAS8B;AAL1B,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,iHAAA,oBAAoB,OAAA;AAIxB,uEAAuE;AACvE,kDAmB8B;AAlB1B,oGAAA,OAAO,OAAA;AACP,qGAAA,QAAQ,OAAA;AACR,sGAAA,SAAS,OAAA;AACT,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AACZ,mGAAA,MAAM,OAAA;AACN,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,gGAAA,GAAG,OAAA;AACH,iGAAA,IAAI,OAAA;AACJ,yGAAA,YAAY,OAAA;AACZ,oGAAA,OAAO,OAAA;AACP,mGAAA,MAAM,OAAA;AACN,gGAAA,GAAG,OAAA;AACH,mGAAA,MAAM,OAAA;AACN,kGAAA,KAAK,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,4FAA4F;AAC5F,kGAAkG;AAClG,8BAA8B;AAC9B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,wEAAwE;AACxE,gEAAiG;AAAxF,+GAAA,WAAW,OAAA;AAAE,yHAAA,qBAAqB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAE3D,gEAAuE;AAA9D,4HAAA,wBAAwB,OAAA;AAEjC,iGAAiG;AACjG,mGAAmG;AACnG,kDAAkD;AAAzC,uGAAA,UAAU,OAAA;AAEnB,yFAAyF;AACzF,kDAS8B;AAL1B,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,iHAAA,oBAAoB,OAAA;AAIxB,uEAAuE;AACvE,kDAmB8B;AAlB1B,oGAAA,OAAO,OAAA;AACP,qGAAA,QAAQ,OAAA;AACR,sGAAA,SAAS,OAAA;AACT,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AACZ,mGAAA,MAAM,OAAA;AACN,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,gGAAA,GAAG,OAAA;AACH,iGAAA,IAAI,OAAA;AACJ,yGAAA,YAAY,OAAA;AACZ,oGAAA,OAAO,OAAA;AACP,mGAAA,MAAM,OAAA;AACN,gGAAA,GAAG,OAAA;AACH,mGAAA,MAAM,OAAA;AACN,kGAAA,KAAK,OAAA;AAKT,mCAAmE;AAA1D,yGAAA,eAAe,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAChD,uDAAiI;AAAxH,wHAAA,oBAAoB,OAAA;AAAE,wHAAA,oBAAoB,OAAA;AAAE,2HAAA,uBAAuB,OAAA;AAAE,0HAAA,sBAAsB,OAAA;AAEpG,yDAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAE5C,gEAAgF;AAAvE,gHAAA,YAAY,OAAA;AAAE,uHAAA,mBAAmB,OAAA","sourcesContent":["/**\n * @webpieces/http-client-browser\n *\n * The BROWSER HTTP client. Reads an API contract's decorators and generates type-safe HTTP\n * clients from it — the same contract the server implements.\n *\n * DI-free on purpose: this may be bundled by React or Angular, so it ships no inversify and no\n * @webpieces/core-context (which is AsyncLocalStorage-backed and Node-only). Browsers have no\n * ambient request scope, so the app holds a {@link MutableContextStore} and sets context values\n * as they become known; every outbound call then transfers them as headers.\n *\n * Usage:\n * ```typescript\n * import { ClientHttpBrowserFactory, ClientConfig, MutableContextStore } from '@webpieces/http-client-browser';\n *\n * HeaderRegistry.configure(CompanyHeaders.ALL_HEADERS, true);\n * const store = new MutableContextStore();\n * const factory = new ClientHttpBrowserFactory(store);\n *\n * const client = factory.createRpcClient(SaveApi, new ClientConfig('save-svc'));\n * const response = await client.save({ query: 'test' });\n * ```\n *\n * The server twin is @webpieces/http-client-node.\n */\n\nexport { ClientHttpBrowserFactory } from './ClientHttpBrowserFactory';\nexport { BrowserProxyClient } from './BrowserProxyClient';\n// Browser impl of the ApiCallContext seam, constructed by BrowserProxyClient. Exported so a\n// browser/Angular logger can read the current tag via the STATIC BrowserApiCallContext.snapshot()\n// and fold it into log lines.\nexport { BrowserApiCallContext } from './BrowserApiCallContext';\nexport { ClientConfig } from './ClientConfig';\nexport { MutableContextStore } from './MutableContextStore';\nexport type { RequestLifecycleListener } from './RequestLifecycleListener';\n\n// The isomorphic engine, re-exported so a browser app needs one import.\nexport { ProxyClient, ClientErrorTranslator, RequestOutcome } from '@webpieces/http-client-core';\nexport type { ApiPrototype } from '@webpieces/http-client-core';\nexport { StreamingCapabilityError } from '@webpieces/http-client-core';\n\n// ContextMgr is the BROWSER's outbound-header propagation. This is the only package that may use\n// it; the server reads RequestContext directly (RequestContextHeaders in @webpieces/core-context).\nexport { ContextMgr } from '@webpieces/core-util';\n\n// Re-export the context-key contract from core-util for convenience (browser one-import)\nexport {\n ContextReader,\n ContextWriter,\n ContextStore,\n ContextKey,\n HeaderRegistry,\n ClientRegistry,\n templateDeriver,\n WebpiecesCoreHeaders,\n} from '@webpieces/core-util';\nexport type { ServiceUrlDeriver } from '@webpieces/core-util';\n\n// Re-export API decorators for convenience (same as http-routing does)\nexport {\n ApiPath,\n Endpoint,\n PathParam,\n QueryParam,\n WpAuthPublic,\n WpAuth,\n WpAuthorization,\n AuthorizationType,\n WpLocalOnly,\n jwt,\n oidc,\n sharedSecret,\n webhook,\n apiKey,\n Rpc,\n PubSub,\n Queue,\n ValidateImplementation,\n} from '@webpieces/core-util';\n\nexport type { Wiring, AppWiring, BindingModule, RouteModule } from './Wiring';\nexport { BrowserBindings, BrowserWiringProviders } from './Wiring';\nexport { BrowserValueProvider, BrowserClassProvider, BrowserExistingProvider, BrowserFactoryProvider } from './BrowserProviders';\nexport type { BrowserProvider, BrowserToken, BrowserType } from './BrowserProviders';\nexport { RpcClientProvider, provideRpcClient } from './RpcClientProvider';\n\nexport { WiringPolicy, ExternalContractUse } from '@webpieces/http-client-core';\n"]}
|
package/src/BrowserWiring.d.ts
DELETED
package/src/BrowserWiring.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BrowserWiring = void 0;
|
|
4
|
-
/** A framework-owned provider list; no Angular or Node runtime is imported here. */
|
|
5
|
-
class BrowserWiring {
|
|
6
|
-
providers;
|
|
7
|
-
constructor(providers) {
|
|
8
|
-
this.providers = providers;
|
|
9
|
-
}
|
|
10
|
-
toProviders() {
|
|
11
|
-
return [...this.providers];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.BrowserWiring = BrowserWiring;
|
|
15
|
-
//# sourceMappingURL=BrowserWiring.js.map
|
package/src/BrowserWiring.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWiring.js","sourceRoot":"","sources":["../../../../../packages/http/http-client-browser/src/BrowserWiring.ts"],"names":[],"mappings":";;;AAAA,oFAAoF;AACpF,MAAa,aAAa;IACO;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,WAAW;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;CACJ;AAND,sCAMC","sourcesContent":["/** A framework-owned provider list; no Angular or Node runtime is imported here. */\nexport class BrowserWiring<P> {\n constructor(private readonly providers: readonly P[]) {}\n\n toProviders(): P[] {\n return [...this.providers];\n }\n}\n"]}
|