Files
golifehk/datasources/cjlookup/query.go

50 lines
777 B
Go

package cjlookup
import (
"strings"
"github.com/tgckpg/golifehk/query"
)
func Query(q query.QueryMessage) query.IQueryResult {
lang := q.Lang
message := q.Text
var qResults *query.QueryObject
var err error
var searchables *[]query.ISearchable
qr := QueryResult{Lang: lang}
messageU := strings.ToUpper(message)
// Only look up jyut ping
if !strings.HasPrefix(messageU, "JP ") {
qr.ResultType = "IGNORE"
goto qrReturn
}
qr.isConsumed = true
if err != nil {
qr.Error = err
goto qrReturn
}
messageU = messageU[3:]
searchables, err = getSearchables()
qResults, err = query.MatchKeys(messageU, searchables)
qr.Query = qResults
if err != nil {
qr.Error = err
goto qrReturn
}
qrReturn:
var iqr query.IQueryResult
iqr = &qr
return iqr
}