1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.createRegularIndex = exports.createMulticharIndex = exports.emptyRegularIndex = exports.emptyMulticharIndex = void 0;
|
4 | exports.emptyMulticharIndex = {};
|
5 | exports.emptyRegularIndex = {};
|
6 | function extendIndex(item, index) {
|
7 | var currentIndex = index;
|
8 | for (var pos = 0; pos < item.length; pos++) {
|
9 | var isLast = pos === item.length - 1;
|
10 | var char = item.charAt(pos);
|
11 | var charIndex = currentIndex[char] || (currentIndex[char] = { chars: {} });
|
12 | if (isLast) {
|
13 | charIndex.self = item;
|
14 | }
|
15 | currentIndex = charIndex.chars;
|
16 | }
|
17 | }
|
18 | function createMulticharIndex(items) {
|
19 | if (items.length === 0) {
|
20 | return exports.emptyMulticharIndex;
|
21 | }
|
22 | var index = {};
|
23 | for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
24 | var item = items_1[_i];
|
25 | extendIndex(item, index);
|
26 | }
|
27 | return index;
|
28 | }
|
29 | exports.createMulticharIndex = createMulticharIndex;
|
30 | function createRegularIndex(items) {
|
31 | if (items.length === 0) {
|
32 | return exports.emptyRegularIndex;
|
33 | }
|
34 | var result = {};
|
35 | for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
|
36 | var item = items_2[_i];
|
37 | result[item] = true;
|
38 | }
|
39 | return result;
|
40 | }
|
41 | exports.createRegularIndex = createRegularIndex;
|