wip
This commit is contained in:
1
packages/demo-infrastructure/index.ts
Normal file
1
packages/demo-infrastructure/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './media/DemoImageServiceAdapter';
|
||||
@@ -0,0 +1,31 @@
|
||||
import type { ImageServicePort } from '@gridpilot/media';
|
||||
|
||||
export class DemoImageServiceAdapter implements ImageServicePort {
|
||||
getDriverAvatar(driverId: string): string {
|
||||
const seed = stableHash(driverId);
|
||||
return `https://picsum.photos/seed/driver-${seed}/128/128`;
|
||||
}
|
||||
|
||||
getTeamLogo(teamId: string): string {
|
||||
const seed = stableHash(teamId);
|
||||
return `https://picsum.photos/seed/team-${seed}/256/256`;
|
||||
}
|
||||
|
||||
getLeagueCover(leagueId: string): string {
|
||||
const seed = stableHash(leagueId);
|
||||
return `https://picsum.photos/seed/league-cover-${seed}/1200/280?blur=2`;
|
||||
}
|
||||
|
||||
getLeagueLogo(leagueId: string): string {
|
||||
const seed = stableHash(leagueId);
|
||||
return `https://picsum.photos/seed/league-logo-${seed}/160/160`;
|
||||
}
|
||||
}
|
||||
|
||||
function stableHash(value: string): number {
|
||||
let hash = 0;
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
hash = (hash * 31 + value.charCodeAt(i)) | 0;
|
||||
}
|
||||
return Math.abs(hash);
|
||||
}
|
||||
15
packages/demo-infrastructure/package.json
Normal file
15
packages/demo-infrastructure/package.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@gridpilot/demo-infrastructure",
|
||||
"version": "0.1.0",
|
||||
"type": "module",
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts",
|
||||
"dependencies": {
|
||||
"@gridpilot/media": "file:../media",
|
||||
"@faker-js/faker": "^9.0.0"
|
||||
},
|
||||
"exports": {
|
||||
".": "./index.ts",
|
||||
"./media/*": "./media/*"
|
||||
}
|
||||
}
|
||||
13
packages/demo-infrastructure/tsconfig.json
Normal file
13
packages/demo-infrastructure/tsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "../..",
|
||||
"outDir": "dist",
|
||||
"declaration": true,
|
||||
"declarationMap": false
|
||||
},
|
||||
"include": [
|
||||
"../../packages/demo-infrastructure/**/*.ts",
|
||||
"../../packages/media/**/*.ts"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user