Skip to content

Commit

Permalink
feat(json-api-nestjs-sdk,nestjs-json-rpc-sdk): Change export
Browse files Browse the repository at this point in the history
Rename module for Angular
Add additional exports
  • Loading branch information
klerick committed Dec 5, 2024
1 parent 28d3efc commit 7953371
Show file tree
Hide file tree
Showing 13 changed files with 115 additions and 57 deletions.
3 changes: 1 addition & 2 deletions libs/json-api/json-api-nestjs-sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,7 @@ const [addressPost, managerPost, rolesPost, userPost] = await jsonSdk
```
or you can use Angular module:
```typescript
import { JsonApiAngular, AtomicFactory } from 'json-api-nestjs-sdk/json-api-nestjs-sdk.module';
import { JsonApiSdkService } from 'json-api-nestjs-sdk';
import { JsonApiAngular, AtomicFactory, JsonApiSdkService } from 'json-api-nestjs-sdk/ngModule';

@Component({
standalone: true,
Expand Down
2 changes: 1 addition & 1 deletion libs/json-api/json-api-nestjs-sdk/ng-package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../../tmp/angular-lib/json-api-nestjs-sdk",
"dest": "../../../tmp/angular-lib/ngModule",
"lib": {
"entryFile": "../../index.ts"
}
Expand Down
4 changes: 2 additions & 2 deletions libs/json-api/json-api-nestjs-sdk/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"updateBuildableProjectDepsInPackageJson": true,
"buildableProjectDepsInPackageJsonType": "peerDependencies",
"additionalEntryPoints": [
"libs/json-api/json-api-nestjs-sdk/src/json-api-nestjs-sdk.module.ts"
"libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"
],
"generateExportsField": true
}
Expand All @@ -68,7 +68,7 @@
"updateBuildableProjectDepsInPackageJson": true,
"buildableProjectDepsInPackageJsonType": "peerDependencies",
"additionalEntryPoints": [
"libs/json-api/json-api-nestjs-sdk/src/json-api-nestjs-sdk.module.ts"
"libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"
],
"generateExportsField": true
}
Expand Down
9 changes: 8 additions & 1 deletion libs/json-api/json-api-nestjs-sdk/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service';
export * from './lib/json-api-js';
export { adapterForAxios } from './lib/utils';
export { FilterOperand } from './lib/types';
export {
FilterOperand,
ResourceObject,
AtomicOperations,
Operands,
QueryField,
QueryParams,
} from './lib/types';

This file was deleted.

94 changes: 54 additions & 40 deletions libs/json-api/json-api-nestjs-sdk/src/lib/json-api-angular.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
import { NgModule, ModuleWithProviders, inject } from '@angular/core';
import { HttpClient, HttpClientModule } from '@angular/common/http';
import {
NgModule,
ModuleWithProviders,
inject,
makeEnvironmentProviders,
} from '@angular/core';
import {
HttpClient,
provideHttpClient,
withInterceptorsFromDi,
} from '@angular/common/http';
import { HttpInnerClient, JsonSdkConfig } from './types';
import { AtomicFactory, JSON_API_SDK_CONFIG } from './token';
import { resultConfig } from './utils';
Expand All @@ -9,51 +18,56 @@ import {
AtomicOperationsService,
} from './service';

export const getProviders = (config: JsonSdkConfig) => [
{
provide: JSON_API_SDK_CONFIG,
useValue: resultConfig(config),
},
{
provide: JsonApiUtilsService,
useFactory: () => new JsonApiUtilsService(inject(JSON_API_SDK_CONFIG)),
},
{
provide: JsonApiSdkService,
useFactory: () =>
new JsonApiSdkService(
inject<HttpInnerClient>(HttpClient as any),
inject(JsonApiUtilsService),
inject(JSON_API_SDK_CONFIG)
),
},
{
provide: AtomicFactory,
useFactory: () => {
const jsonApiUtilsService = inject(JsonApiUtilsService);
const config = inject(JSON_API_SDK_CONFIG);
const httpClient = inject<HttpInnerClient>(HttpClient as any);

return () => {
return new AtomicOperationsService(
jsonApiUtilsService,
config,
httpClient
);
};
},
},
];

export const provideJsonApi = (config: JsonSdkConfig) =>
makeEnvironmentProviders(getProviders(config));

@NgModule({
imports: [HttpClientModule],
imports: [],
providers: [provideHttpClient(withInterceptorsFromDi())],
})
export class JsonApiAngular {
static forRoot(config: JsonSdkConfig): ModuleWithProviders<JsonApiAngular> {
return {
ngModule: JsonApiAngular,
providers: [
{
provide: JSON_API_SDK_CONFIG,
useValue: resultConfig(config),
},
{
provide: JsonApiUtilsService,
useFactory: () =>
new JsonApiUtilsService(inject(JSON_API_SDK_CONFIG)),
},
{
provide: JsonApiSdkService,
useFactory: () =>
new JsonApiSdkService(
inject<HttpInnerClient>(HttpClient as any),
inject(JsonApiUtilsService),
inject(JSON_API_SDK_CONFIG)
),
},
{
provide: AtomicFactory,
useFactory: () => {
const jsonApiUtilsService = inject(JsonApiUtilsService);
const config = inject(JSON_API_SDK_CONFIG);
const httpClient = inject<HttpInnerClient>(HttpClient as any);

return () => {
return new AtomicOperationsService(
jsonApiUtilsService,
config,
httpClient
);
};
},
},
],
providers: getProviders(config),
};
}
}

export { AtomicFactory } from './token';
export { AtomicFactory, JSON_API_SDK_CONFIG } from './token';
14 changes: 14 additions & 0 deletions libs/json-api/json-api-nestjs-sdk/src/ngModule.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export {
JsonApiAngular,
AtomicFactory,
provideJsonApi,
JSON_API_SDK_CONFIG,
getProviders,
} from './lib/json-api-angular';
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service';
export {
FilterOperand,
ResourceObject,
AtomicOperations,
JsonSdkConfig,
} from './lib/types';
2 changes: 1 addition & 1 deletion libs/json-rpc/nestjs-json-rpc-sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ import {
JsonRpcAngular,
JsonRpcAngularConfig,
TransportType,
} from '@klerick/nestjs-json-rpc-sdk/json-rpc-sdk.module'
} from '@klerick/nestjs-json-rpc-sdk/ngModule'
import { Subject } from 'rxjs';
import { io } from 'socket.io-client';
import {
Expand Down
2 changes: 1 addition & 1 deletion libs/json-rpc/nestjs-json-rpc-sdk/ng-package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../../tmp/angular-lib/nestjs-json-rpc-sdk",
"lib": {
"entryFile": "./src/json-rpc-sdk.module.ts"
"entryFile": "./src/ngModule.ts"
}
}
14 changes: 10 additions & 4 deletions libs/json-rpc/nestjs-json-rpc-sdk/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@
"commands": [
"node tools/scripts/preparation-hybrid-npm-package.mjs nestjs-json-rpc-sdk",
"node tools/scripts/preparation-npm-package.mjs nestjs-json-rpc-sdk",
"nx run nestjs-json-rpc-sdk:compile-for-angular",
"cp tmp/angular-lib/nestjs-json-rpc-sdk/esm2022/lib/angular/json-rpc-angular.module.mjs dist/libs/json-rpc/nestjs-json-rpc-sdk/mjs/src/lib/angular/json-rpc-angular.module.js"
{
"command": "nx run nestjs-json-rpc-sdk:compile-for-angular",
"forwardAllArgs": false
},
{
"command": "cp tmp/angular-lib/nestjs-json-rpc-sdk/esm2022/lib/angular/json-rpc-angular.module.mjs dist/libs/json-rpc/nestjs-json-rpc-sdk/mjs/src/lib/angular/json-rpc-angular.module.js",
"forwardAllArgs": false
}
],
"cwd": "./",
"parallel": false
Expand All @@ -52,7 +58,7 @@
"updateBuildableProjectDepsInPackageJson": true,
"buildableProjectDepsInPackageJsonType": "peerDependencies",
"additionalEntryPoints": [
"libs/json-rpc/nestjs-json-rpc-sdk/src/json-rpc-sdk.module.ts"
"libs/json-rpc/nestjs-json-rpc-sdk/src/ngModule.ts"
],
"generateExportsField": true
}
Expand All @@ -69,7 +75,7 @@
"updateBuildableProjectDepsInPackageJson": true,
"buildableProjectDepsInPackageJsonType": "peerDependencies",
"additionalEntryPoints": [
"libs/json-rpc/nestjs-json-rpc-sdk/src/json-rpc-sdk.module.ts"
"libs/json-rpc/nestjs-json-rpc-sdk/src/ngModule.ts"
],
"generateExportsField": true
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
import { ModuleWithProviders, NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import {
makeEnvironmentProviders,
ModuleWithProviders,
NgModule,
} from '@angular/core';
import {
provideHttpClient,
withInterceptorsFromDi,
} from '@angular/common/http';

import { JSON_RPC_SDK_CONFIG } from './tokens';
import { JsonRpcAngularConfig } from '../types';

export const provideJsonRpc = (config: JsonRpcAngularConfig) =>
makeEnvironmentProviders([
{
useValue: config,
provide: JSON_RPC_SDK_CONFIG,
},
]);

@NgModule({
imports: [HttpClientModule],
imports: [],
providers: [provideHttpClient(withInterceptorsFromDi())],
})
export class JsonRpcAngular {
static forRoot(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
export { JsonRpcAngular } from './angular/json-rpc-angular.module';
export {
JsonRpcAngular,
provideJsonRpc,
} from './angular/json-rpc-angular.module';
export { JsonRpcAngularConfig, TransportType, Rpc } from './types';
export { JSON_RPC, RPC_BATCH } from './angular/tokens';

0 comments on commit 7953371

Please sign in to comment.