public internal_getKeysFromItem()

in src/InMemoryProvider.ts [473:492]


  public internal_getKeysFromItem(item: ItemType) {
    let keys: string[] | undefined;
    if (this._indexSchema && this._indexSchema!!!.fullText) {
      keys = map(
        getFullTextIndexWordsForItem(<string>this._keyPath, item),
        (val) => serializeKeyToString(val, <string>this._keyPath)
      );
    } else if (this._indexSchema && this._indexSchema!!!.multiEntry) {
      // Have to extract the multiple entries into this alternate table...
      const valsRaw = getValueForSingleKeypath(item, <string>this._keyPath);
      if (valsRaw) {
        keys = map(arrayify(valsRaw), (val) =>
          serializeKeyToString(val, <string>this._keyPath)
        );
      }
    } else {
      keys = [getSerializedKeyForKeypath(item, this._keyPath)!!!];
    }
    return keys;
  }