Caches JavaScript strings that are used frequently as property keys or error codes. Persistent references to strings require Node-API version 10.
| 1 | // Caches JavaScript strings that are used frequently as property keys or |
| 2 | // error codes. Persistent references to strings require Node-API version 10. |
| 3 | class CS { |
| 4 | public: |
| 5 | |
| 6 | Napi::String Code(Napi::Env env, int code) { |
| 7 | auto element = codes.find(code); |
| 8 | if (element != codes.end()) return element->second.Value(); |
| 9 | return StringFromUtf8(env, (std::string("UNKNOWN_SQLITE_ERROR_") + std::to_string(code)).c_str(), -1); |
| 10 | } |
| 11 | |
| 12 | explicit CS(Napi::Env env) { |
| 13 | SetString(env, database, "database"); |
| 14 | SetString(env, reader, "reader"); |
| 15 | SetString(env, source, "source"); |
| 16 | SetString(env, memory, "memory"); |
| 17 | SetString(env, readonly, "readonly"); |
| 18 | SetString(env, name, "name"); |
| 19 | SetString(env, next, "next"); |
| 20 | SetString(env, length, "length"); |
| 21 | SetString(env, done, "done"); |
| 22 | SetString(env, value, "value"); |
| 23 | SetString(env, changes, "changes"); |
| 24 | SetString(env, lastInsertRowid, "lastInsertRowid"); |
| 25 | SetString(env, statement, "statement"); |
| 26 | SetString(env, column, "column"); |
| 27 | SetString(env, table, "table"); |
| 28 | SetString(env, type, "type"); |
| 29 | SetString(env, totalPages, "totalPages"); |
| 30 | SetString(env, remainingPages, "remainingPages"); |
| 31 | |
| 32 | SetCode(env, SQLITE_OK, "SQLITE_OK"); |
| 33 | SetCode(env, SQLITE_ERROR, "SQLITE_ERROR"); |
| 34 | SetCode(env, SQLITE_INTERNAL, "SQLITE_INTERNAL"); |
| 35 | SetCode(env, SQLITE_PERM, "SQLITE_PERM"); |
| 36 | SetCode(env, SQLITE_ABORT, "SQLITE_ABORT"); |
| 37 | SetCode(env, SQLITE_BUSY, "SQLITE_BUSY"); |
| 38 | SetCode(env, SQLITE_LOCKED, "SQLITE_LOCKED"); |
| 39 | SetCode(env, SQLITE_NOMEM, "SQLITE_NOMEM"); |
| 40 | SetCode(env, SQLITE_READONLY, "SQLITE_READONLY"); |
| 41 | SetCode(env, SQLITE_INTERRUPT, "SQLITE_INTERRUPT"); |
| 42 | SetCode(env, SQLITE_IOERR, "SQLITE_IOERR"); |
| 43 | SetCode(env, SQLITE_CORRUPT, "SQLITE_CORRUPT"); |
| 44 | SetCode(env, SQLITE_NOTFOUND, "SQLITE_NOTFOUND"); |
| 45 | SetCode(env, SQLITE_FULL, "SQLITE_FULL"); |
| 46 | SetCode(env, SQLITE_CANTOPEN, "SQLITE_CANTOPEN"); |
| 47 | SetCode(env, SQLITE_PROTOCOL, "SQLITE_PROTOCOL"); |
| 48 | SetCode(env, SQLITE_EMPTY, "SQLITE_EMPTY"); |
| 49 | SetCode(env, SQLITE_SCHEMA, "SQLITE_SCHEMA"); |
| 50 | SetCode(env, SQLITE_TOOBIG, "SQLITE_TOOBIG"); |
| 51 | SetCode(env, SQLITE_CONSTRAINT, "SQLITE_CONSTRAINT"); |
| 52 | SetCode(env, SQLITE_MISMATCH, "SQLITE_MISMATCH"); |
| 53 | SetCode(env, SQLITE_MISUSE, "SQLITE_MISUSE"); |
| 54 | SetCode(env, SQLITE_NOLFS, "SQLITE_NOLFS"); |
| 55 | SetCode(env, SQLITE_AUTH, "SQLITE_AUTH"); |
| 56 | SetCode(env, SQLITE_FORMAT, "SQLITE_FORMAT"); |
| 57 | SetCode(env, SQLITE_RANGE, "SQLITE_RANGE"); |
| 58 | SetCode(env, SQLITE_NOTADB, "SQLITE_NOTADB"); |
| 59 | SetCode(env, SQLITE_NOTICE, "SQLITE_NOTICE"); |
| 60 | SetCode(env, SQLITE_WARNING, "SQLITE_WARNING"); |
nothing calls this directly
no outgoing calls
no test coverage detected