Missing over-the-wire attribute names
I understand that attribute names are case insensitive, but with other LDAP systems you can put in mixed case and get out mixed case. With ldapjs, the attribute name is converted to lower case and the original is lost. For example, in a modify request: modify_request.js#L65. The resulting Change object won't have the (potentially) mixed case attribute name.
I'm working on an ldapjs backend and want to store the attribute names in my database in mixed case (e.g. objectClass not objectclass). This will allow me to return more readable results for ldap searches without needing any sort of map from the lower case version of the attribute names to the mixed case version.
Would you accept a patch to add an originalType property to objects that force the type property to be lower case? If so, I can work on such a patch.
I'm not wild about adding a member variable to the interface. Let me think about how this could be solved without being too heavy-handed.
👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.