caster

casting macro for procedure parameters

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.0.2
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:26

Authors

  • hamidb80

Installation

nimble install caster
choosenim install caster
git clone https://github.com/hamidb80/caster/

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
caster - - - - - - -

Dependencies

Package Version Optional
nim >= 1.6.14 No
macroplus >= 0.2.5 No

Source

Repository https://github.com/hamidb80/caster/
Homepage https://github.com/hamidb80/caster/
Registry Source nimble_official

README

Caster

casting sugar for procedure parameters.

Example

It is specially useful in event handling scenarios:

type
  Event = ref object of RootObj
  MouseEvent = ref object of Event
    mousex, mousey: int

elem.addEventListener proc(me: MouseEvent) = discard # error: Expected `Event` but got `MouseEvent`
elem.addEventListener proc(me: Event as MouseEvent) {.caster.} = # works!
  echo me.mousex
  # ...

More

see docs or ./tests/test.nim.