Сравнить функцию индекса с функцией JavaScript? - PullRequest
0 голосов
/ 10 января 2019

Можно ли сравнить функцию существующего индекса с обычной встроенной функцией в JavaScript?

Например, я мог бы создать индекс со следующим кодом:

r.table('Table').indexCreate('index', document => document.hasFields('field'));

Позже я мог бы захотеть определить, выполняет ли индекс ту же функцию:

document => document.hasFields('field')

Используя indexStatus(), два свойства могут помочь с этим.

Во-первых, function - это Buffer, представляющий функцию, и его можно сравнить с Buffer s, полученными из других indexStatus() объектов. Однако не ясно, как это можно сравнить с нативной функцией JavaScript. Можно создать новый индекс, а затем Buffer по сравнению с Buffer существующего индекса, но это будет грязный и влияющий на производительность обходной путь.

Во-вторых, query - это string, содержащий функцию, напоминающую ту, которая была предоставлена ​​indexCreate(). Однако это свойство кажется недокументированным, и значение не всегда точно совпадает с функцией, предоставленной для indexCreate(), с изменениями имен переменных и преобразованием функций стрелок в выражения функций. Я написал грубый код, который пытается работать с этим подходом, хотя он несовершенен, учитывая непрозрачную природу правил, по которой значение query генерируется RethinkDB.

...