| 382 | * @since 4.0.0 |
| 383 | */ |
| 384 | export const fromRecord = (migrations: Record<string, Effect.Effect<void, unknown, Client.SqlClient>>): Loader => |
| 385 | pipe( |
| 386 | Object.keys(migrations), |
| 387 | Arr.flatMapNullishOr((_) => _.match(/^(\d+)_(.+)$/)), |
| 388 | Arr.map( |
| 389 | ([key, id, name]): ResolvedMigration => [ |
| 390 | Number(id), |
| 391 | name, |
| 392 | Effect.succeed(migrations[key]) |
| 393 | ] |
| 394 | ), |
| 395 | Arr.sort(migrationOrder), |
| 396 | Effect.succeed |
| 397 | ) |
| 398 | |
| 399 | /** |
| 400 | * Creates a migration loader that reads a directory with `FileSystem`, imports |