MCPcopy Index your code
hub / github.com/Effect-TS/effect / createShip

Function createShip

packages/cli/examples/naval-fate/store.ts:49–60  ·  view source on GitHub ↗
(name)

Source from the content-addressed store, hash-verified

47 const setMines = (mines: ReadonlyArray<Mine>) => minesStore.set("mines", mines).pipe(Effect.orDie)
48
49 const createShip: NavalFateStore["createShip"] = (name) =>
50 Effect.gen(function*() {
51 const oldShips = yield* getShips
52 const foundShip = Option.fromNullable(oldShips.get(name))
53 if (Option.isSome(foundShip)) {
54 return yield* Effect.fail(new ShipExistsError({ name }))
55 }
56 const ship = Ship.create(name)
57 const newShips = new Map(oldShips).set(name, ship)
58 yield* setShips(newShips)
59 return ship
60 })
61
62 const moveShip: NavalFateStore["moveShip"] = (name, x, y) =>
63 Effect.gen(function*() {

Callers 1

naval-fate.tsFile · 0.85

Calls 5

setShipsFunction · 0.85
createMethod · 0.80
getMethod · 0.65
failMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected