Initial commit

This commit is contained in:
Markus Thielker 2025-07-24 15:08:39 +02:00
commit d9cff2e70c
72 changed files with 2878 additions and 0 deletions

34
packages/shared/.gitignore vendored Normal file
View file

@ -0,0 +1,34 @@
# dependencies (bun install)
node_modules
# output
out
dist
*.tgz
# code coverage
coverage
*.lcov
# logs
logs
_.log
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# caches
.eslintcache
.cache
*.tsbuildinfo
# IntelliJ based IDEs
.idea
# Finder (MacOS) folder config
.DS_Store

View file

@ -0,0 +1,16 @@
{
"name": "@hnu.de/hl7v2-shared",
"version": "1.0.0",
"main": "./dist/types.js",
"types": "./dist/types.d.ts",
"type": "module",
"scripts": {
"build": "tsc"
},
"devDependencies": {
"@types/bun": "latest",
"@types/node": "^24.1.0",
"typescript": "^5.8.3"
},
"private": true
}

View file

@ -0,0 +1,19 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"declaration": true,
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true
},
"include": [
"*.ts"
],
"exclude": [
"node_modules",
"dist"
]
}

20
packages/shared/types.ts Normal file
View file

@ -0,0 +1,20 @@
export enum ConnectionState {
connecting = 'connecting',
connected = 'connected',
disconnected = 'disconnected',
}
export enum MessageType {
assign_id = 'assign_id',
send_hl7v2 = 'send_hl7v2',
receive_hl7v2 = 'receive_hl7v2',
delivery_error = 'delivery_error',
}
export type Message =
| { type: MessageType.assign_id, payload: { userId: string }}
| { type: MessageType.send_hl7v2, payload: { message: string }}
| { type: MessageType.receive_hl7v2, payload: { message: string, timestamp: string }}
| { type: MessageType.delivery_error, payload: { error: string }}
export type ReceiveHl7v2Message = Extract<Message, { type: MessageType.receive_hl7v2 }>;