create-effect-app
https://effect.website/docs/getting-started/create-effect-app/
https://github.com/Effect-TS/examples
Layer (Effect)使ってる
@effect/vitestも入っている
code:元のディレクトリ構成
src
├── Accounts
│ ├── AccountsRepo.ts
│ ├── Api.ts
│ ├── Http.ts
│ ├── Policy.ts
│ └── UsersRepo.ts
├── Accounts.ts
├── Api.ts
├── client.ts
├── Domain
│ ├── AccessToken.ts
│ ├── Account.ts
│ ├── Email.ts
│ ├── Group.ts
│ ├── Person.ts
│ ├── Policy.ts
│ └── User.ts
├── Groups
│ ├── Api.ts
│ ├── Http.ts
│ ├── Policy.ts
│ └── Repo.ts
├── Groups.ts
├── Http.ts
├── lib
│ └── Layer.ts
├── main.ts
├── migrations
│ ├── '00001_create users.ts'
│ ├── '00002_create groups.ts'
│ └── 00003_create_people.ts
├── People
│ ├── Api.ts
│ ├── Http.ts
│ ├── Policy.ts
│ └── Repo.ts
├── People.ts
├── Sql.ts
├── Tracing.ts
└── Uuid.ts
読む過程で、PBFに変換しながら読むかmrsekut.icon
todos
TODO: の疑問の消化
先にeffect/platformなどを理解したほうが良いかも
せめてcreate effect appに出てくるやつだけでも
@effect/experimental
@effect/opentelemetry
@effect/platform
@effect/platform-node
@effect/sql
@effect/sql-sqlite-node
Api.tsが全体的にかなり意味がわからない
routingをしてるというのは普通にわかるが、
tsの何の機能を使っていて、
effect内のどういう立ち位置のものを定義しているのか
もしかしたら@effect/platform特有の話かもしれない
というのがさっぱりわからない
classが使われうるのが何なのかを把握しておきたい
Effect.Serviceをextendsしてるやつ
Model.Classをextendsしてるやる