npm package diff
Package: @forge/cache
Versions: 1.0.3-next.0-experimental-ab129b0-experimental-3bf9516 - 1.0.3-next.0-experimental-47556b0
File: package/out/kvs/entity-query.js
Index: package/out/kvs/entity-query.js
===================================================================
--- package/out/kvs/entity-query.js
+++ package/out/kvs/entity-query.js
@@ -1,102 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.FilterBuilder = exports.BaseFilter = exports.KvsIndexQueryBuilder = void 0;
-class KvsIndexQueryBuilder {
- entityName;
- storageApi;
- constructor(entityName, storageApi) {
- this.entityName = entityName;
- this.storageApi = storageApi;
- }
- index(name, indexOptions) {
- return new KvsEntityQueryBuilder(this.storageApi, {
- entityName: this.entityName,
- indexName: name,
- partition: indexOptions?.partition,
- filters: []
- });
- }
-}
-exports.KvsIndexQueryBuilder = KvsIndexQueryBuilder;
-class KvsEntityQueryBuilder {
- storageApi;
- queryOptions;
- constructor(storageApi, queryOptions) {
- this.storageApi = storageApi;
- this.queryOptions = queryOptions;
- }
- where(condition) {
- this.queryOptions.range = condition;
- return this;
- }
- filters(filter) {
- this.queryOptions.filters = filter.filters();
- this.queryOptions.filterOperator = filter.operator();
- return this;
- }
- sort(sort) {
- this.queryOptions.sort = sort;
- return this;
- }
- cursor(cursor) {
- this.queryOptions.cursor = cursor;
- return this;
- }
- limit(limit) {
- this.queryOptions.limit = limit;
- return this;
- }
- async getOne() {
- const { results } = await this.limit(1).getMany();
- if (results && results.length > 0) {
- return results[0];
- }
- return undefined;
- }
- async getMany() {
- const { filters, filterOperator, ...rest } = this.queryOptions;
- if (filters && filterOperator && filters.length > 0) {
- return this.storageApi.queryEntity({
- ...rest,
- filters: {
- [filterOperator]: filters
- }
- });
- }
- return this.storageApi.queryEntity(rest);
- }
-}
-class BaseFilter {
- items;
- constructor(items = []) {
- this.items = items;
- }
- filters() {
- return this.items;
- }
- operator() {
- return this instanceof AndFilterBuilder ? 'and' : 'or';
- }
-}
-exports.BaseFilter = BaseFilter;
-class FilterBuilder extends BaseFilter {
- and(field, condition) {
- return new AndFilterBuilder().and(field, condition);
- }
- or(field, condition) {
- return new OrFilterBuilder().or(field, condition);
- }
-}
-exports.FilterBuilder = FilterBuilder;
-class AndFilterBuilder extends BaseFilter {
- and(field, condition) {
- this.items.push({ property: field, ...condition });
- return this;
- }
-}
-class OrFilterBuilder extends BaseFilter {
- or(field, condition) {
- this.items.push({ property: field, ...condition });
- return this;
- }
-}