* @param {Uint8Array} key * @return {TstNode | null}
(key)
| 1087 | * @return {TstNode | null} |
| 1088 | */ |
| 1089 | search(key) { |
| 1090 | const keylength = key.length; |
| 1091 | let index = 0; |
| 1092 | let node = this; |
| 1093 | while (node !== null && index < keylength) { |
| 1094 | let code = key[index]; |
| 1095 | if (code <= 90 && code >= 65) { |
| 1096 | code |= 32; |
| 1097 | } |
| 1098 | while (node !== null) { |
| 1099 | if (code === node.code) { |
| 1100 | if (keylength === ++index) { |
| 1101 | return node; |
| 1102 | } |
| 1103 | node = node.middle; |
| 1104 | break; |
| 1105 | } |
| 1106 | node = node.code < code ? node.left : node.right; |
| 1107 | } |
| 1108 | } |
| 1109 | return null; |
| 1110 | } |
| 1111 | }; |
| 1112 | var TernarySearchTree = class { |
| 1113 | constructor() { |