A library of constants and functions that should work in any
The intention is that the library should not depend upon any node-module that doesn't work in at least these environments:
It should work in at least these frameworks:
forceArray() which has several known issues!noNilsArray() which is an improved typesafe alternative to forceArray.filterNils() which is used by noNilsArray to remove nil values from an array.isNotNil() typeguard.pt-BR.| Path | Description |
|---|---|
| array/filterNils | Removes null and undefined values from an array. |
| array/noNilsArray | Turns any value into an array of non-nullish items. |
| storage/querying/fulltext | Search for words in a field. |
| storage/querying/ngram | Search for words that begin with letters in a field. |
| storage/querying/stemmed | Search for stemmed words in a field. |
| value/isNotNil | Check if a value is not null or undefined. |
import { and } from '@enonic/js-utils/storage/query/dsl/and';
import { bool } from '@enonic/js-utils/storage/query/dsl/bool';
import { fulltext } from '@enonic/js-utils/storage/querying/fulltext';
import { ngram } from '@enonic/js-utils/storage/querying/ngram';
import { stemmed } from '@enonic/js-utils/storage/querying/stemmed';
const fields = 'url^1.2,title^1.1,text';
const searchString = 'fun video';
const operator = 'OR';
const query = bool(and(
fulltext(fields, searchString, operator),
stemmed(fields, searchString, operator, 'no', 0.9),
stemmed(fields, searchString, operator, 'en', 0.8),
ngram(fields, searchString, operator, 0.7)
));
console.debug(JSON.stringify(query, null, 4));
/*
{
"boolean": {
"must": [
// fulltext
// stemmed_no
// stemmed_en
// ngram
]
}
};
*/
import { addQueryFilter } from '@enonic/js-utils/storage/query/addQueryFilter';
const filters = addQueryFilter({
filter: {
exists: {
field: 'required'
}
}
});
/*{
boolean: {
must: {
exists: {
field: 'required'
}
}
}
}*/
git tag vX.Y.Z
git push origin vX.Y.Z
This will trigger release & publish on NPM.