# [JavaScript (Node.js)], 257 bytes

[JavaScript (Node.js)]: https://nodejs.org

<!-- language: lang-javascript -->

    f=n=>n?`012388887654`.replace(e=/\d/g,y=>`7654|0123
    `.replace(e,x=>"_ \\/.'|"[q=y/2&2|x>3,y&8?1:(k=8-~~'80764467'[j=~~('0x'+(1e6+'1023405671567899AB99A899CB99C')[y%4+~-(n/10**q%10)*4])]>>x%4&1?'0122233346545'[j]:2045>>j&1)^0xCC6600>>k*4+q&1]))+f(n/1e4|0):''

[Try it online!](https://tio.run/##VVDbaoNAFHzPV5SA7q5G3ZvrBXal9TPU1pCsoYloTEpREH/drn1qDwwDZw7DzLkev4/P0@Pz/uV1/VmvayM7qbqsxoSy2EwkQl77D31vjycNtQzKc3A5TFLVmzJvZ7s/@mGUav/xUpaBD@Z9McgpoDadR8UOkx1nJIU3GXvLAmIcCc5FBIqrXBYI8AhcSLRwAcGUcRyKiBjESfL6ZmA4N5wDVEwWdxcPdgHBjjNYBCOHV6hSarS4TTJgIlHKGOMmX2jsq5RiHip1tQl6x2OeC4GxUjeHu4NNKoTcZjPTpgxKAVhPfffsW@23/QU20PTjIUK7/9vk9y@MEoTWHw "JavaScript (Node.js) – Try It Online")

### Encoding

Each digit pattern is a 4x4 matrix consisting of 7 distinct characters. Each character is encoded as a single decimal digit from `0` to `6`:

    0: "_"
    1: " "
    2: "\"
    3: "/"
    4: "."
    5: "'"
    6: "|"

All matrices are built with 13 distinct rows, encoded as a single hexadecimal digit from `0` to `C`:

    0: 1111 for "    "
    1: 0001 for "___ "
    2: 2111 for "\   "
    3: 1211 for " \  "
    4: 1121 for "  \ "
    5: 1131 for "  / "
    6: 1311 for " /  "
    7: 3111 for "/   "
    8: 1114 for "   ."
    9: 1116 for "   |"
    A: 1115 for "   '"
    B: 0004 for "___."
    C: 0005 for "___'"

So, each matrix is fully described by a sequence of 4 hexadecimal digits. For instance, the matrix for `7` is encoded as `B99A`:

    B99A -> 0004 -> "___."
            1116    "   |"
            1116    "   |"
            1115    "   '"