@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
94 lines (92 loc) • 1.87 kB
JavaScript
import {
text
} from "./chunk-MCCIBDEH.mjs";
// src/types/Context.ts
var DotEnvContext = class {
domain = process.env.DOMAIN ?? "easy";
name = process.env.ENVIRONMENT_NAME ?? "";
host = process.env.HOST ?? "";
port = Number.parseInt(process.env.PORT ?? "8080");
app = process.env.APP ?? "";
get = (key, alt) => {
const k = text(key).map((k2) => k2.replace(/([a-z])([A-Z])/g, "$1 $2")).snake.toString();
return process.env[k] ?? alt;
};
};
var BaseRequestContext = class {
state = {};
get token() {
return this.get("token");
}
set token(token) {
this.set("token", token);
}
get identity() {
return this.token;
}
get jwt() {
return this.get("jwt");
}
set jwt(jwt) {
this.set("jwt", jwt);
}
get correlationId() {
return this.get("correlationId");
}
set correlationId(id) {
this.set("correlationId", id);
}
get lastError() {
return this.get("lastError");
}
set lastError(error) {
this.set("lastError", error);
}
get(key) {
return this.state[key];
}
set(key, value) {
return this.state[key] = value;
}
create = (f) => f();
wrap = (f) => f();
};
var BaseContext = class extends BaseRequestContext {
};
var Context = class {
constructor(state = {}) {
this.state = state;
this.state = {
...{
env: new DotEnvContext(),
request: new BaseRequestContext(),
other: {}
},
...this.state
};
}
get env() {
return this.state.env;
}
set env(env) {
this.state.env = env;
}
get request() {
return this.state.request;
}
set request(request) {
this.state.request = request;
}
get other() {
return this.state.other;
}
};
var ctx = new Context();
export {
DotEnvContext,
BaseRequestContext,
BaseContext,
Context,
ctx
};
//# sourceMappingURL=chunk-NDCIZJXB.mjs.map