@sharpps/core
v2.0.1
Published
```typescript // Typescript / ESM import * as sharpps from '@sharpps/core'; ```
Readme
@sharpps/core
Usage
📌 Import as Module
// Typescript / ESM
import * as sharpps from '@sharpps/core';Dependency Injection
import { IServiceConfigurator } from '@sharpps/core/dist/dependecyInjection';
import { registerDbContext } from '@sharpps/core/dist/data';
import { ConfigureOptions } from '@sharpps/core/dist/options';
import { LoggerOption } from '@sharpps/core/dist/logging';
import pretty from 'pino-pretty';
export const di:IServiceConfigurator = {
configure(services, configuration) {
//use services.register with token here
const level:string = configuration.APP_LOGGING_LEVEL ?? "debug";
services.register(ConfigureOptions<LoggerOption>, {
useValue: new ConfigureOptions<LoggerOption>({}
, LoggerOption
,x => {
x.level = level;
x.target = pretty({
colorize: true,
});
})
});
const c:Options = {
dialect:'mysql',
database: 'appdatabase',
host:'localhost',
username: 'root',
password: 'Password'
};
registerDbContext(DatabaseContext, services, c);
}
}Service Provider
import { IServiceScope, ServiceScopeFactory } from "@sharpps/core/dist/dependencyInjection";
const scopeFactory = scope.getProvider().getService(ServiceScopeFactory);
const s = scopeFactory.createScope();
const p = s.getProvider();Pipeline
import { PipelineFactory, PipelineArgs } from '@sharpps/core/dist/pipeline';
const pipeline = p.getService(PipelineFactory).create<PipelineArgs, string>();
await pipeline.run({
serviceProvider : p,
loggerName: "app",
customData: {}
}, "initialize");HttpClient
import { HttpFactory } from '@sharpps/core/dist/http';
const factory = serviceProvider.getService(HttpFactory);
const httpClient = factory.createHttpClient("default");
httpClient({ url : "https://httpbin.org/get", method: "GET" })
.then(x => console.log(x))
.catch(x => console.error(x));Notification
import { HttpFactory } from '@sharpps/core/dist/http';
const payload = createNotification("output", { validated : 1 }, ["error"]);Logger
import { LoggerFactory } from '@sharpps/core/dist/logging';
const logFactory = p.getService(LoggerFactory);
const logger = logFactory.createLogger("app");
logger.info({obj : 1}, "Message with object", { p : 1});