@wix/wix-data-items-common 1.0.212 → 1.0.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/WixDataFilter.js.map +1 -1
- package/dist/cjs/api/stages/FilterStage.js.map +1 -1
- package/dist/cjs/api/stages/GroupStage.js.map +1 -1
- package/dist/cjs/api/stages/stages.js.map +1 -1
- package/dist/esm/api/stages/GroupStage.js.map +1 -1
- package/dist/types/api/WixDataFilter.d.ts +1 -1
- package/dist/types/api/stages/FilterStage.d.ts +1 -1
- package/dist/types/api/stages/GroupStage.d.ts +17 -0
- package/dist/types/api/stages/GroupStage.d.ts.map +1 -1
- package/dist/types/api/stages/stages.d.ts +84 -0
- package/dist/types/api/stages/stages.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/api/WixDataFilter.ts"],"sourcesContent":["/**\n * @builder\n */\nexport interface WixDataFilter {\n /**\n * Refines a filter to match items whose specified field value equals the specified value.\n *\n * The `eq()` method refines this filter to only\n * match items where the value of the specified field equals the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * Matching strings with `eq()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If `field` points to a collection field of type array, `eq()` includes the item as long as at least one array element matches the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to compare with.\n * @requiredField value\n * @returns Refined filter.\n */\n eq(field: string, value: any): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value does not equal the specified value.\n *\n * The `ne()` method refines this filter to only\n * match items where the value of the specified field does not equal the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type is considered not equal to the same number stored as a Number type.\n *\n * Matching strings with `ne()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of `field` is an array, `ne()` includes items\n * in which none of the elements of the array match the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ne(field: string, value: any): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is greater than or equal to the specified\n * value.\n *\n * The `ge()` method refines this filter to only\n * match items where the value of the specified field is greater than or\n * equal to the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"abc\"` is greater than or equal to `\"ABC\"` (because of the greater than),\n * but `\"ABC\"` is not greater than or equal to `\"abc\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ge(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is greater than the specified value.\n *\n * The `gt()` method refines this filter to only match\n * items where the value of the specified field is greater than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"text\"` is greater than `\"Text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n gt(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is less than or equal to the specified\n * value.\n *\n * The `le()` method refines this filter to only match\n * items where the value of the specified field is less than or equal to the\n * specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"ABC\"` is less than or equal to `\"abc\"` (because of the less than),\n * but `\"abc\"` is not less than or equal to `\"ABC\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n le(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is less than the specified value.\n *\n * The `lt()` method refines this filter to only match\n * items where the value of the specified field is less than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"Text\"` is less than `\"text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n lt(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field has any value.\n *\n * The `isNotEmpty()` method refines this filter to only match items where the\n * value of the specified field is not `null` or `undefined`.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns Refined filter.\n */\n isNotEmpty(field: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field does not exist or does not have any value.\n *\n * The `isEmpty()` method refines this filter to only match items where the\n * value of the specified field is `null` or `undefined` or the field does\n * not exist.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns An object representing the refined filter.\n */\n isEmpty(field: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value starts with a specified string.\n *\n * The `startsWith()` method refines this filter to\n * only match items where the value of the specified field starts with the\n * defined `string`. Matching with `startsWith()` is not case sensitive, so `\"TEXT\"` starts\n * with `\"tex\"`.\n *\n * You can only use `startsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `startsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the `value` parameter.\n * @requiredField field\n * @param value - Value to look for at the beginning of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n startsWith(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value ends with a specified string.\n *\n * The `endsWith()` method refines this filter to only\n * match items where the value of the specified field ends with the specified\n * `string`. Matching with `endsWith()` is not case sensitive, so `\"TEXT\"` ends\n * with `\"ext\"`.\n *\n * You can only use `endsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `endsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the string.\n * @requiredField field\n * @param value - Value to look for at the end of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n endsWith(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value contains the specified value.\n *\n * The `contains()` method refines the filter to only match items for which the value of the specified field contains the specified value. `contains()` is not case-sensitive, so the value `sunday` is considered to contain the value `Sun`.\n *\n * You can use `contains()` with a field whose type is a string or a reference. However, for fields whose type is reference, `contains()` matches by the ID of the referenced item as a string. Instead, use the [`eq()`](https://dev.wix.com/docs/sdk/backend-modules/data/wix-data-items-sdk-1-0-0/wix-data-filter/eq) method.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the provided value.\n * @requiredField field\n * @param value - Value to locate in the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n contains(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value equals any of the specified `values`\n * parameters.\n *\n * The `hasSome()` method refines this filter to\n * only match items where the value of the specified field equals any of\n * the specified values.\n *\n * Matching strings with `hasSome()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasSome()` will match\n * if any of the elements of that array match any of the specified values.\n *\n * If the specified field contains multiple references, pass item IDs in the\n * `value` field. In such a case, `hasSome()` will match if any of the\n * multiple references match any of the specified ID values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasSome(field: string, ...values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Overload for `hasSome()`\n * @public\n * @documentationMaturity preview\n */\n hasSome(field: string, values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field values equals all of the specified `value`\n * parameters.\n *\n * The `hasAll()` method refines this filter to\n * only match items where the value of the specified field equals all of\n * the specified values.\n *\n * Matching strings with `hasAll()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasAll()` will match\n * if there is a match in the elements of that array for all of the specified\n * values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `values`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasAll(field: string, ...values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Overload for `hasAll()`\n * @public\n * @documentationMaturity preview\n */\n hasAll(field: string, values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Adds an `or` condition to the filter.\n *\n * The `or()` method adds an inclusive `or` condition to this filter. A filter\n * with an `or` returns all the items that match the filter as defined up to\n * the `or` method, the items that match the filter passed to the `or`\n * method, and the items that match both.\n *\n * The `or()` method is designed to work with 2 or more queries or filters.\n * If you use it on its own, it will return all the items in a collection.\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as an `or` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n or(filter: WixDataFilter): WixDataFilter\n\n /**\n * Adds an `and` condition to the filter.\n *\n * A filter with an `and` condition returns all items that meet the conditions defined on both sides of the condition.\n *\n * Use the `and()` method when performing compound queries. For example, the final filter in this set of\n * queries returns results where status is either pending or rejected **and** age is either less than 25 or greater\n * than 65.\n *\n * ```js\n * let statusFilter = items.filter()\n * .eq(\"status\", \"pending\")\n * .or(items.filter().eq(\"status\", \"rejected\"));\n *\n * let ageFilter = items.filter()\n * .lt(\"age\", 25)\n * .or(items.filter().gt(\"age\", 65));\n *\n * let statusAndAgeFilter = statusFilter.and(ageFilter);\n * ```\n *\n * > **Notes**:\n * > - The `and()` method is designed to work with 2 or more queries or filters. If used with a single query or filter, it returns all items in a collection.\n * > - When chaining multiple `WixDataFilter` methods to a filter, an `and` condition is implied. In such cases, you do not need to call the `and()` method explicitly. For example, this filter returns results where an item `status` is `active` and `age` is greater than 25:\n *\n * ```js\n * items.filter().eq(\"status\", \"active\").gt(\"age\", 25);\n * ```\n *\n * @public\n * @documentationMaturity preview\n * @param filter - `WixDataFilter` used with an `and` condition.\n * @requiredField filter\n * @returns The compound filter.\n */\n and(filter: WixDataFilter): WixDataFilter\n\n /**\n * Adds a `not` condition to the filter.\n *\n * The `not()` method adds a `not` condition to this filter. A filter with a `not`\n * returns all the items that match the filter as defined up to the `not`\n * method, but don't match the filter passed to the `not` method.\n *\n * If the filter only contains a `not()` method, it returns all the items\n * that don't match the filter defined by the `not` method.\n *\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as a `not` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n not(filter: WixDataFilter): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is within the defined range.\n *\n * The `between()` method refines this filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only matches values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).\n *\n * The following types can be compared:\n * - Number: Compared numerically.\n * - Date: Compared as JavaScript Date objects.\n * - String: Compared lexicographically:\n * - `\"A\"` and `\"M\"` are considered between `\"A\"` and `\"Z\"`, but `\"a\"`, `\"m\"`, `\"z\"` and `\"Z\"` are not.\n * - `\"A\"`, `\"M\"`, `\"Z\"`, and `\"a\"` are considered between `\"A\"` and `\"z\"`, but `\"z\"` is not.\n *\n * > **Note**: Items that do not have a value for the specified field are considered as the lowest comparable value and are ranked last.\n *\n * @public\n * @documentationMaturity preview\n * @param field - Field to compare with `rangeStart` and `rangeEnd`.\n * @requiredField field\n * @param rangeStart - Starting value of the range to match.\n * @requiredField rangeStart\n * @param rangeEnd - Ending value of the range to match.\n * @requiredField rangeEnd\n * @returns Refined filter.\n */\n between(\n field: string,\n rangeStart: string | number | Date,\n rangeEnd: string | number | Date\n ): WixDataFilter\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/api/WixDataFilter.ts"],"sourcesContent":["/**\n * @builder\n */\nexport interface WixDataFilter {\n /**\n * Refines a filter to match items whose specified field value equals the specified value.\n *\n * The `eq()` method refines this filter to only\n * match items where the value of the specified field equals the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * Matching strings with `eq()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If `field` points to a collection field of type array, `eq()` includes the item as long as at least one array element matches the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to compare with.\n * @requiredField value\n * @returns Refined filter.\n */\n eq(field: string, value: any): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value does not equal the specified value.\n *\n * The `ne()` method refines this filter to only\n * match items where the value of the specified field does not equal the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type is considered not equal to the same number stored as a Number type.\n *\n * Matching strings with `ne()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of `field` is an array, `ne()` includes items\n * in which none of the elements of the array match the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ne(field: string, value: any): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is greater than or equal to the specified\n * value.\n *\n * The `ge()` method refines this filter to only\n * match items where the value of the specified field is greater than or\n * equal to the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"abc\"` is greater than or equal to `\"ABC\"` (because of the greater than),\n * but `\"ABC\"` is not greater than or equal to `\"abc\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ge(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is greater than the specified value.\n *\n * The `gt()` method refines this filter to only match\n * items where the value of the specified field is greater than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"text\"` is greater than `\"Text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n gt(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is less than or equal to the specified\n * value.\n *\n * The `le()` method refines this filter to only match\n * items where the value of the specified field is less than or equal to the\n * specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"ABC\"` is less than or equal to `\"abc\"` (because of the less than),\n * but `\"abc\"` is not less than or equal to `\"ABC\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n le(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is less than the specified value.\n *\n * The `lt()` method refines this filter to only match\n * items where the value of the specified field is less than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"Text\"` is less than `\"text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n lt(field: string, value: string | number | Date): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field has any value.\n *\n * The `isNotEmpty()` method refines this filter to only match items where the\n * value of the specified field is not `null` or `undefined`.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns Refined filter.\n */\n isNotEmpty(field: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field does not exist or does not have any value.\n *\n * The `isEmpty()` method refines this filter to only match items where the\n * value of the specified field is `null` or `undefined` or the field does\n * not exist.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns An object representing the refined filter.\n */\n isEmpty(field: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value starts with a specified string.\n *\n * The `startsWith()` method refines this filter to\n * only match items where the value of the specified field starts with the\n * defined `string`. Matching with `startsWith()` is not case sensitive, so `\"TEXT\"` starts\n * with `\"tex\"`.\n *\n * You can only use `startsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `startsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the `value` parameter.\n * @requiredField field\n * @param value - Value to look for at the beginning of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n startsWith(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value ends with a specified string.\n *\n * The `endsWith()` method refines this filter to only\n * match items where the value of the specified field ends with the specified\n * `string`. Matching with `endsWith()` is not case sensitive, so `\"TEXT\"` ends\n * with `\"ext\"`.\n *\n * You can only use `endsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `endsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the string.\n * @requiredField field\n * @param value - Value to look for at the end of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n endsWith(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value contains the specified value.\n *\n * The `contains()` method refines the filter to only match items for which the value of the specified field contains the specified value. `contains()` is not case-sensitive, so the value `sunday` is considered to contain the value `Sun`.\n *\n * You can use `contains()` with a field whose type is a string or a reference. However, for fields whose type is reference, `contains()` matches by the ID of the referenced item as a string. Instead, use the [`eq()`](https://dev.wix.com/docs/sdk/backend-modules/data/wix-data-items-sdk-1-0-0/wix-data-filter/eq) method.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the provided value.\n * @requiredField field\n * @param value - Value to locate in the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n contains(field: string, value: string): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value equals any of the specified `values`\n * parameters.\n *\n * The `hasSome()` method refines this filter to\n * only match items where the value of the specified field equals any of\n * the specified values.\n *\n * Matching strings with `hasSome()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasSome()` will match\n * if any of the elements of that array match any of the specified values.\n *\n * If the specified field contains multiple references, pass item IDs in the\n * `value` field. In such a case, `hasSome()` will match if any of the\n * multiple references match any of the specified ID values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasSome(field: string, ...values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Overload for `hasSome()`\n * @public\n * @documentationMaturity preview\n */\n hasSome(field: string, values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field values equals all of the specified `value`\n * parameters.\n *\n * The `hasAll()` method refines this filter to\n * only match items where the value of the specified field equals all of\n * the specified values.\n *\n * Matching strings with `hasAll()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasAll()` will match\n * if there is a match in the elements of that array for all of the specified\n * values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `values`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasAll(field: string, ...values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Overload for `hasAll()`\n * @public\n * @documentationMaturity preview\n */\n hasAll(field: string, values: string[] | number[] | Date[]): WixDataFilter\n\n /**\n * Adds an `or` condition to the filter.\n *\n * The `or()` method adds an inclusive `or` condition to this filter. A filter\n * with an `or` returns all the items that match the filter as defined up to\n * the `or` method, the items that match the filter passed to the `or`\n * method, and the items that match both.\n *\n * The `or()` method is designed to work with 2 or more queries or filters.\n * If you use it on its own, it will return all the items in a collection.\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as an `or` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n or(filter: WixDataFilter): WixDataFilter\n\n /**\n * Adds an `and` condition to the filter.\n *\n * A filter with an `and` condition returns all items that meet the conditions defined on both sides of the condition.\n *\n * Use the `and()` method when performing compound queries. For example, the final filter in this set of\n * queries returns results where status is either pending or rejected **and** age is either less than 25 or greater\n * than 65.\n *\n * ```js\n * let statusFilter = items.filter()\n * .eq(\"status\", \"pending\")\n * .or(items.filter().eq(\"status\", \"rejected\"));\n *\n * let ageFilter = items.filter()\n * .lt(\"age\", 25)\n * .or(items.filter().gt(\"age\", 65));\n *\n * let statusAndAgeFilter = statusFilter.and(ageFilter);\n * ```\n *\n * > **Notes**:\n * > - The `and()` method is designed to work with 2 or more queries or filters. If used with a single query or filter, it returns all items in a collection.\n * > - When chaining multiple `WixDataFilter` methods to a filter, an `and` condition is implied. In such cases, you do not need to call the `and()` method explicitly. For example, this filter returns results where an item `status` is `active` and `age` is greater than 25:\n *\n * ```js\n * items.filter().eq(\"status\", \"active\").gt(\"age\", 25);\n * ```\n *\n * @public\n * @documentationMaturity preview\n * @param filter - `WixDataFilter` used with an `and` condition.\n * @requiredField filter\n * @returns The compound filter.\n */\n and(filter: WixDataFilter): WixDataFilter\n\n /**\n * Adds a `not` condition to the filter.\n *\n * The `not()` method adds a `not` condition to this filter. A filter with a `not`\n * returns all the items that match the filter as defined up to the `not`\n * method, but don't match the filter passed to the `not` method.\n *\n * If the filter only contains a `not()` method, it returns all the items\n * that don't match the filter defined by the `not` method.\n *\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as a `not` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n not(filter: WixDataFilter): WixDataFilter\n\n /**\n * Refines a filter to match items whose specified field value is within the defined range.\n *\n * The `between()` method refines this filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only compares values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).\n *\n * The following types can be compared:\n * - Number: Compared numerically.\n * - Date: Compared as JavaScript Date objects.\n * - String: Compared lexicographically:\n * - `\"A\"` and `\"M\"` are considered between `\"A\"` and `\"Z\"`, but `\"a\"`, `\"m\"`, `\"z\"` and `\"Z\"` are not.\n * - `\"A\"`, `\"M\"`, `\"Z\"`, and `\"a\"` are considered between `\"A\"` and `\"z\"`, but `\"z\"` is not.\n *\n * > **Note**: Items that do not have a value for the specified field are considered as the lowest comparable value and are ranked last.\n *\n * @public\n * @documentationMaturity preview\n * @param field - Field to compare with `rangeStart` and `rangeEnd`.\n * @requiredField field\n * @param rangeStart - Starting value of the range to match.\n * @requiredField rangeStart\n * @param rangeEnd - Ending value of the range to match.\n * @requiredField rangeEnd\n * @returns Refined filter.\n */\n between(\n field: string,\n rangeStart: string | number | Date,\n rangeEnd: string | number | Date\n ): WixDataFilter\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_QueryBase","require","FilterStageImpl","QueryBase","constructor","origin","collectionName","filterBuilder","copy","params","invalidArguments","build","filter","exports"],"sources":["../../../../src/api/stages/FilterStage.ts"],"sourcesContent":["import { QueryBase } from '../QueryBase'\nimport { PlatformizedFilterBuilder, WithFilter } from '../../filter'\nimport * as apiTypes from '../../types/data-item-types'\nimport { PipelineStage } from './stages'\n\ntype Comparable = string | number | Date\n\n/**\n * @builder\n * Filter stage for aggregate pipeline operations. This interface provides filtering capabilities\n * specifically designed for use within aggregate pipelines, typically used with `stages.filter()`\n * in pipeline arrays to refine data based on specified conditions.\n */\nexport interface FilterStage extends PipelineStage, WithFilter<FilterStage> {\n /**\n * @internal\n */\n readonly filterTree: Record<string, any>\n\n /**\n * @internal\n */\n readonly invalidArguments: string[]\n\n /**\n * Filters pipeline data to match items whose specified field value equals the specified value.\n *\n * The `eq()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field equals the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * Matching strings with `eq()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If `field` points to a collection field of type array, `eq()` includes the item as long as at least one array element matches the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to compare with.\n * @requiredField value\n * @returns Refined filter.\n */\n eq(field: string, value: any): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value does not equal the specified value.\n *\n * The `ne()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field does not equal the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type is considered not equal to the same number stored as a Number type.\n *\n * Matching strings with `ne()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of `field` is an array, `ne()` includes items\n * in which none of the elements of the array match the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ne(field: string, value: any): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is greater than or equal to the specified\n * value.\n *\n * The `ge()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field is greater than or\n * equal to the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"abc\"` is greater than or equal to `\"ABC\"` (because of the greater than),\n * but `\"ABC\"` is not greater than or equal to `\"abc\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ge(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is greater than the specified value.\n *\n * The `gt()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is greater than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"text\"` is greater than `\"Text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n gt(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is less than or equal to the specified\n * value.\n *\n * The `le()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is less than or equal to the\n * specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"ABC\"` is less than or equal to `\"abc\"` (because of the less than),\n * but `\"abc\"` is not less than or equal to `\"ABC\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n le(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is less than the specified value.\n *\n * The `lt()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is less than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"Text\"` is less than `\"text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n lt(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field has any value.\n *\n * The `isNotEmpty()` method refines this aggregate pipeline filter to only match items where the\n * value of the specified field is not `null` or `undefined`.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns Refined filter.\n */\n isNotEmpty(field: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field does not exist or does not have any value.\n *\n * The `isEmpty()` method refines this aggregate pipeline filter to only match items where the\n * value of the specified field is `null` or `undefined` or the field does\n * not exist.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns An object representing the refined filter.\n */\n isEmpty(field: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value starts with a specified string.\n *\n * The `startsWith()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field starts with the\n * defined `string`. Matching with `startsWith()` is not case sensitive, so `\"TEXT\"` starts\n * with `\"tex\"`.\n *\n * You can only use `startsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `startsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the `value` parameter.\n * @requiredField field\n * @param value - Value to look for at the beginning of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n startsWith(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value ends with a specified string.\n *\n * The `endsWith()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field ends with the specified\n * `string`. Matching with `endsWith()` is not case sensitive, so `\"TEXT\"` ends\n * with `\"ext\"`.\n *\n * You can only use `endsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `endsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the string.\n * @requiredField field\n * @param value - Value to look for at the end of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n endsWith(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value contains the specified value.\n *\n * The `contains()` method refines the aggregate pipeline filter to only match items for which the value of the specified field contains the specified value. `contains()` is not case-sensitive, so the value `sunday` is considered to contain the value `Sun`.\n *\n * You can use `contains()` with a field whose type is a string or a reference. However, for fields whose type is reference, `contains()` matches by the ID of the referenced item as a string. Instead, use the [`eq()`](https://dev.wix.com/docs/sdk/backend-modules/data/wix-data-items-sdk-1-0-0/wix-data-filter/eq) method.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the provided value.\n * @requiredField field\n * @param value - Value to locate in the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n contains(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value equals any of the specified `values`\n * parameters.\n *\n * The `hasSome()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field equals any of\n * the specified values.\n *\n * Matching strings with `hasSome()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasSome()` will match\n * if any of the elements of that array match any of the specified values.\n *\n * If the specified field contains multiple references, pass item IDs in the\n * `value` field. In such a case, `hasSome()` will match if any of the\n * multiple references match any of the specified ID values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasSome(field: string, ...values: Comparable[]): FilterStage\n\n /**\n * Overload for `hasSome()`\n * @public\n * @documentationMaturity preview\n */\n hasSome(field: string, values: Comparable[]): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field values equals all of the specified `value`\n * parameters.\n *\n * The `hasAll()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field equals all of\n * the specified values.\n *\n * Matching strings with `hasAll()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasAll()` will match\n * if there is a match in the elements of that array for all of the specified\n * values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `values`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasAll(field: string, ...values: Comparable[]): FilterStage\n\n /**\n * Overload for `hasAll()`\n * @public\n * @documentationMaturity preview\n */\n hasAll(field: string, values: Comparable[]): FilterStage\n\n /**\n * Adds an `or` condition to the aggregate pipeline filter.\n *\n * The `or()` method adds an inclusive `or` condition to this pipeline filter. A filter\n * with an `or` returns all the items that match the filter as defined up to\n * the `or` method, the items that match the filter passed to the `or`\n * method, and the items that match both.\n *\n * The `or()` method is designed to work with 2 or more queries or filters.\n * If you use it on its own, it will return all the items in a collection.\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as an `or` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n or(filter: FilterStage): FilterStage\n\n /**\n * Adds an `and` condition to the aggregate pipeline filter.\n *\n * A pipeline filter with an `and` condition returns all items that meet the conditions defined on both sides of the condition.\n *\n * Use the `and()` method when performing compound queries. For example, the final filter in this set of\n * queries returns results where status is either pending or rejected **and** age is either less than 25 or greater\n * than 65.\n *\n * ```js\n * let statusFilter = stages.filter()\n * .eq(\"status\", \"pending\")\n * .or(stages.filter().eq(\"status\", \"rejected\"));\n *\n * let ageFilter = stages.filter()\n * .lt(\"age\", 25)\n * .or(stages.filter().gt(\"age\", 65));\n *\n * let statusAndAgeFilter = statusFilter.and(ageFilter);\n * ```\n *\n * > **Notes**:\n * > - The `and()` method is designed to work with 2 or more queries or filters. If used with a single query or filter, it returns all items in a collection.\n * > - When chaining multiple `FilterStage` methods to a filter, an `and` condition is implied. In such cases, you do not need to call the `and()` method explicitly. For example, this filter returns results where an item `status` is `active` and `age` is greater than 25:\n *\n * ```js\n * stages.filter().eq(\"status\", \"active\").gt(\"age\", 25);\n * ```\n *\n * @public\n * @documentationMaturity preview\n * @param filter - `FilterStage` used with an `and` condition.\n * @requiredField filter\n * @returns The compound filter.\n */\n and(filter: FilterStage): FilterStage\n\n /**\n * Adds a `not` condition to the aggregate pipeline filter.\n *\n * The `not()` method adds a `not` condition to this pipeline filter. A filter with a `not`\n * returns all the items that match the filter as defined up to the `not`\n * method, but don't match the filter passed to the `not` method.\n *\n * If the filter only contains a `not()` method, it returns all the items\n * that don't match the filter defined by the `not` method.\n *\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as a `not` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n not(filter: FilterStage): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is within the defined range.\n *\n * The `between()` method refines this aggregate pipeline filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only matches values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).\n *\n * The following types can be compared:\n * - Number: Compared numerically.\n * - Date: Compared as JavaScript Date objects.\n * - String: Compared lexicographically:\n * - `\"A\"` and `\"M\"` are considered between `\"A\"` and `\"Z\"`, but `\"a\"`, `\"m\"`, `\"z\"` and `\"Z\"` are not.\n * - `\"A\"`, `\"M\"`, `\"Z\"`, and `\"a\"` are considered between `\"A\"` and `\"z\"`, but `\"z\"` is not.\n *\n * > **Note**: Items that do not have a value for the specified field are considered as the lowest comparable value and are ranked last.\n *\n * @public\n * @documentationMaturity preview\n * @param field - Field to compare with `rangeStart` and `rangeEnd`.\n * @requiredField field\n * @param rangeStart - Starting value of the range to match.\n * @requiredField rangeStart\n * @param rangeEnd - Ending value of the range to match.\n * @requiredField rangeEnd\n * @returns Refined filter.\n */\n between(\n field: string,\n rangeStart: string | number | Date,\n rangeEnd: string | number | Date\n ): FilterStage\n}\n\nexport class FilterStageImpl\n extends QueryBase<FilterStageImpl>\n implements FilterStage\n{\n constructor(origin?: {\n collectionName?: string\n filterBuilder?: PlatformizedFilterBuilder\n }) {\n super({\n collectionName: origin?.collectionName || '',\n filterBuilder: origin?.filterBuilder,\n })\n }\n\n protected copy(params: any): FilterStageImpl {\n return new FilterStageImpl({\n collectionName: this.collectionName,\n filterBuilder: params.filterBuilder || this.filterBuilder,\n })\n }\n\n get invalidArguments(): string[] {\n return []\n }\n\n /** @private */\n build(): apiTypes.Stage {\n return { filter: this.filterBuilder.build() }\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;;AAubO,MAAMC,eAAe,SAClBC,oBAAS,CAEnB;EACEC,WAAWA,CAACC,MAGX,EAAE;IACD,KAAK,CAAC;MACJC,cAAc,EAAE,CAAAD,MAAM,oBAANA,MAAM,CAAEC,cAAc,KAAI,EAAE;MAC5CC,aAAa,EAAEF,MAAM,oBAANA,MAAM,CAAEE;IACzB,CAAC,CAAC;EACJ;EAEUC,IAAIA,CAACC,MAAW,EAAmB;IAC3C,OAAO,IAAIP,eAAe,CAAC;MACzBI,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCC,aAAa,EAAEE,MAAM,CAACF,aAAa,IAAI,IAAI,CAACA;IAC9C,CAAC,CAAC;EACJ;EAEA,IAAIG,gBAAgBA,CAAA,EAAa;IAC/B,OAAO,EAAE;EACX;;EAEA;EACAC,KAAKA,CAAA,EAAmB;IACtB,OAAO;MAAEC,MAAM,EAAE,IAAI,CAACL,aAAa,CAACI,KAAK,CAAC;IAAE,CAAC;EAC/C;AACF;AAACE,OAAA,CAAAX,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_QueryBase","require","FilterStageImpl","QueryBase","constructor","origin","collectionName","filterBuilder","copy","params","invalidArguments","build","filter","exports"],"sources":["../../../../src/api/stages/FilterStage.ts"],"sourcesContent":["import { QueryBase } from '../QueryBase'\nimport { PlatformizedFilterBuilder, WithFilter } from '../../filter'\nimport * as apiTypes from '../../types/data-item-types'\nimport { PipelineStage } from './stages'\n\ntype Comparable = string | number | Date\n\n/**\n * @builder\n * Filter stage for aggregate pipeline operations. This interface provides filtering capabilities\n * specifically designed for use within aggregate pipelines, typically used with `stages.filter()`\n * in pipeline arrays to refine data based on specified conditions.\n */\nexport interface FilterStage extends PipelineStage, WithFilter<FilterStage> {\n /**\n * @internal\n */\n readonly filterTree: Record<string, any>\n\n /**\n * @internal\n */\n readonly invalidArguments: string[]\n\n /**\n * Filters pipeline data to match items whose specified field value equals the specified value.\n *\n * The `eq()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field equals the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * Matching strings with `eq()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If `field` points to a collection field of type array, `eq()` includes the item as long as at least one array element matches the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to compare with.\n * @requiredField value\n * @returns Refined filter.\n */\n eq(field: string, value: any): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value does not equal the specified value.\n *\n * The `ne()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field does not equal the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type is considered not equal to the same number stored as a Number type.\n *\n * Matching strings with `ne()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of `field` is an array, `ne()` includes items\n * in which none of the elements of the array match the specified `value`.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ne(field: string, value: any): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is greater than or equal to the specified\n * value.\n *\n * The `ge()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field is greater than or\n * equal to the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"abc\"` is greater than or equal to `\"ABC\"` (because of the greater than),\n * but `\"ABC\"` is not greater than or equal to `\"abc\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n ge(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is greater than the specified value.\n *\n * The `gt()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is greater than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"text\"` is greater than `\"Text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n gt(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is less than or equal to the specified\n * value.\n *\n * The `le()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is less than or equal to the\n * specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically,\n * so `\"ABC\"` is less than or equal to `\"abc\"` (because of the less than),\n * but `\"abc\"` is not less than or equal to `\"ABC\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns Refined filter.\n */\n le(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is less than the specified value.\n *\n * The `lt()` method refines this aggregate pipeline filter to only match\n * items where the value of the specified field is less than the specified `value`.\n *\n * It only matches values of the same type. For example, a number value stored\n * as a String type does not match the same number stored as a Number type.\n *\n * If a field contains a number as a String, that value is compared\n * alphabetically and not numerically. Items that do not have a value for the\n * specified field are ranked lowest.\n *\n * The following field types can be compared:\n * - Number: Compares numerically.\n * - Date: Compares JavaScript Date objects.\n * - String: Compares lexicographically, so `\"Text\"` is less than `\"text\"`.\n * - Reference: Compares by the ID of the referenced item as a String.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param value - Value to match.\n * @requiredField value\n * @returns An object with the filter definition, based on the supplied parameters.\n */\n lt(field: string, value: string | number | Date): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field has any value.\n *\n * The `isNotEmpty()` method refines this aggregate pipeline filter to only match items where the\n * value of the specified field is not `null` or `undefined`.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns Refined filter.\n */\n isNotEmpty(field: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field does not exist or does not have any value.\n *\n * The `isEmpty()` method refines this aggregate pipeline filter to only match items where the\n * value of the specified field is `null` or `undefined` or the field does\n * not exist.\n *\n * If the field contains any value at all for a given item, including the\n * empty string or an invalid value, that item will match the filter.\n * @public\n * @documentationMaturity preview\n * @param field - Field in which to check for a value.\n * @requiredField field\n * @returns An object representing the refined filter.\n */\n isEmpty(field: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value starts with a specified string.\n *\n * The `startsWith()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field starts with the\n * defined `string`. Matching with `startsWith()` is not case sensitive, so `\"TEXT\"` starts\n * with `\"tex\"`.\n *\n * You can only use `startsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `startsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the `value` parameter.\n * @requiredField field\n * @param value - Value to look for at the beginning of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n startsWith(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value ends with a specified string.\n *\n * The `endsWith()` method refines this aggregate pipeline filter to only\n * match items where the value of the specified field ends with the specified\n * `string`. Matching with `endsWith()` is not case sensitive, so `\"TEXT\"` ends\n * with `\"ext\"`.\n *\n * You can only use `endsWith()` with a field whose value is a String or Reference.\n * When using a Reference, `endsWith()` matches by the ID of the referenced item as Strings.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the string.\n * @requiredField field\n * @param value - Value to look for at the end of the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n endsWith(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value contains the specified value.\n *\n * The `contains()` method refines the aggregate pipeline filter to only match items for which the value of the specified field contains the specified value. `contains()` is not case-sensitive, so the value `sunday` is considered to contain the value `Sun`.\n *\n * You can use `contains()` with a field whose type is a string or a reference. However, for fields whose type is reference, `contains()` matches by the ID of the referenced item as a string. Instead, use the [`eq()`](https://dev.wix.com/docs/sdk/backend-modules/data/wix-data-items-sdk-1-0-0/wix-data-filter/eq) method.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with the provided value.\n * @requiredField field\n * @param value - Value to locate in the specified field value.\n * @requiredField value\n * @returns Refined filter.\n */\n contains(field: string, value: string): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value equals any of the specified `values`\n * parameters.\n *\n * The `hasSome()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field equals any of\n * the specified values.\n *\n * Matching strings with `hasSome()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasSome()` will match\n * if any of the elements of that array match any of the specified values.\n *\n * If the specified field contains multiple references, pass item IDs in the\n * `value` field. In such a case, `hasSome()` will match if any of the\n * multiple references match any of the specified ID values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `value`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasSome(field: string, ...values: Comparable[]): FilterStage\n\n /**\n * Overload for `hasSome()`\n * @public\n * @documentationMaturity preview\n */\n hasSome(field: string, values: Comparable[]): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field values equals all of the specified `value`\n * parameters.\n *\n * The `hasAll()` method refines this aggregate pipeline filter to\n * only match items where the value of the specified field equals all of\n * the specified values.\n *\n * Matching strings with `hasAll()` is case sensitive, so `\"text\"` is not equal to `\"Text\"`.\n *\n * If the value of the specified field is an array, `hasAll()` will match\n * if there is a match in the elements of that array for all of the specified\n * values.\n *\n * You can specify a list of values to match by providing an array of\n * String, Number, or Date types as the `value` parameters.\n * @public\n * @documentationMaturity preview\n * @param field - Field whose value is compared with `values`.\n * @requiredField field\n * @param values - Values to match.\n * @requiredField values\n * @returns An object representing the refined filter.\n */\n hasAll(field: string, ...values: Comparable[]): FilterStage\n\n /**\n * Overload for `hasAll()`\n * @public\n * @documentationMaturity preview\n */\n hasAll(field: string, values: Comparable[]): FilterStage\n\n /**\n * Adds an `or` condition to the aggregate pipeline filter.\n *\n * The `or()` method adds an inclusive `or` condition to this pipeline filter. A filter\n * with an `or` returns all the items that match the filter as defined up to\n * the `or` method, the items that match the filter passed to the `or`\n * method, and the items that match both.\n *\n * The `or()` method is designed to work with 2 or more queries or filters.\n * If you use it on its own, it will return all the items in a collection.\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as an `or` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n or(filter: FilterStage): FilterStage\n\n /**\n * Adds an `and` condition to the aggregate pipeline filter.\n *\n * A pipeline filter with an `and` condition returns all items that meet the conditions defined on both sides of the condition.\n *\n * Use the `and()` method when performing compound queries. For example, the final filter in this set of\n * queries returns results where status is either pending or rejected **and** age is either less than 25 or greater\n * than 65.\n *\n * ```js\n * let statusFilter = stages.filter()\n * .eq(\"status\", \"pending\")\n * .or(stages.filter().eq(\"status\", \"rejected\"));\n *\n * let ageFilter = stages.filter()\n * .lt(\"age\", 25)\n * .or(stages.filter().gt(\"age\", 65));\n *\n * let statusAndAgeFilter = statusFilter.and(ageFilter);\n * ```\n *\n * > **Notes**:\n * > - The `and()` method is designed to work with 2 or more queries or filters. If used with a single query or filter, it returns all items in a collection.\n * > - When chaining multiple `FilterStage` methods to a filter, an `and` condition is implied. In such cases, you do not need to call the `and()` method explicitly. For example, this filter returns results where an item `status` is `active` and `age` is greater than 25:\n *\n * ```js\n * stages.filter().eq(\"status\", \"active\").gt(\"age\", 25);\n * ```\n *\n * @public\n * @documentationMaturity preview\n * @param filter - `FilterStage` used with an `and` condition.\n * @requiredField filter\n * @returns The compound filter.\n */\n and(filter: FilterStage): FilterStage\n\n /**\n * Adds a `not` condition to the aggregate pipeline filter.\n *\n * The `not()` method adds a `not` condition to this pipeline filter. A filter with a `not`\n * returns all the items that match the filter as defined up to the `not`\n * method, but don't match the filter passed to the `not` method.\n *\n * If the filter only contains a `not()` method, it returns all the items\n * that don't match the filter defined by the `not` method.\n *\n * @public\n * @documentationMaturity preview\n * @param filter - Filter to add to the initial filter as a `not` condition.\n * @requiredField filter\n * @returns Object representing the refined filter.\n */\n not(filter: FilterStage): FilterStage\n\n /**\n * Filters pipeline data to match items whose specified field value is within the defined range.\n *\n * The `between()` method refines this aggregate pipeline filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only compares values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).\n *\n * The following types can be compared:\n * - Number: Compared numerically.\n * - Date: Compared as JavaScript Date objects.\n * - String: Compared lexicographically:\n * - `\"A\"` and `\"M\"` are considered between `\"A\"` and `\"Z\"`, but `\"a\"`, `\"m\"`, `\"z\"` and `\"Z\"` are not.\n * - `\"A\"`, `\"M\"`, `\"Z\"`, and `\"a\"` are considered between `\"A\"` and `\"z\"`, but `\"z\"` is not.\n *\n * > **Note**: Items that do not have a value for the specified field are considered as the lowest comparable value and are ranked last.\n *\n * @public\n * @documentationMaturity preview\n * @param field - Field to compare with `rangeStart` and `rangeEnd`.\n * @requiredField field\n * @param rangeStart - Starting value of the range to match.\n * @requiredField rangeStart\n * @param rangeEnd - Ending value of the range to match.\n * @requiredField rangeEnd\n * @returns Refined filter.\n */\n between(\n field: string,\n rangeStart: string | number | Date,\n rangeEnd: string | number | Date\n ): FilterStage\n}\n\nexport class FilterStageImpl\n extends QueryBase<FilterStageImpl>\n implements FilterStage\n{\n constructor(origin?: {\n collectionName?: string\n filterBuilder?: PlatformizedFilterBuilder\n }) {\n super({\n collectionName: origin?.collectionName || '',\n filterBuilder: origin?.filterBuilder,\n })\n }\n\n protected copy(params: any): FilterStageImpl {\n return new FilterStageImpl({\n collectionName: this.collectionName,\n filterBuilder: params.filterBuilder || this.filterBuilder,\n })\n }\n\n get invalidArguments(): string[] {\n return []\n }\n\n /** @private */\n build(): apiTypes.Stage {\n return { filter: this.filterBuilder.build() }\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;;AAubO,MAAMC,eAAe,SAClBC,oBAAS,CAEnB;EACEC,WAAWA,CAACC,MAGX,EAAE;IACD,KAAK,CAAC;MACJC,cAAc,EAAE,CAAAD,MAAM,oBAANA,MAAM,CAAEC,cAAc,KAAI,EAAE;MAC5CC,aAAa,EAAEF,MAAM,oBAANA,MAAM,CAAEE;IACzB,CAAC,CAAC;EACJ;EAEUC,IAAIA,CAACC,MAAW,EAAmB;IAC3C,OAAO,IAAIP,eAAe,CAAC;MACzBI,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCC,aAAa,EAAEE,MAAM,CAACF,aAAa,IAAI,IAAI,CAACA;IAC9C,CAAC,CAAC;EACJ;EAEA,IAAIG,gBAAgBA,CAAA,EAAa;IAC/B,OAAO,EAAE;EACX;;EAEA;EACAC,KAAKA,CAAA,EAAmB;IACtB,OAAO;MAAEC,MAAM,EAAE,IAAI,CAACL,aAAa,CAACI,KAAK,CAAC;IAAE,CAAC;EAC/C;AACF;AAACE,OAAA,CAAAX,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Expression","require","GroupStageImpl","constructor","_defineProperty2","default","by","expression","key","ids","push","sum","resultFieldName","addAccumulator","avg","min","max","count","NumericExpressionImpl","first","last","type","accumulators","build","group","groupIds","map","id","accumulator","exports"],"sources":["../../../../src/api/stages/GroupStage.ts"],"sourcesContent":["import { Expression, NumericExpressionImpl } from '../expressions/Expression'\nimport * as apiTypes from '../../types/data-item-types'\nimport { PipelineStage } from './stages'\n\n/**\n * @builder\n */\nexport interface GroupStage extends PipelineStage {\n /**\n * // TODO\n * @param expression\n * @param key\n * @returns GroupStage object.\n */\n by(expression: Expression, key: string): GroupStage\n /**\n * Calculates the sum of the specified expression across all items in the group.\n *\n * The `sum()` method refines the aggregation pipeline to calculate the sum of the specified expression across all items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to calculate the group's total sum. Expression must resolve to a number.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n sum(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Calculates the average value across all items in the group based on the specified expression.\n *\n * The `avg()` method refines the aggregation pipeline to calculate the average value of the specified expression across all items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to calculate the group's average value. The expression must resolve to a number.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n avg(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the minimum value across all items in the group.\n *\n * The `min()` method refines the aggregation pipeline to find the minimum value of the specified field across all the items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the group's minimum value. Expression must resolve to a comparable value, such as a number or string.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n min(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the maximum value across all items in the group.\n *\n * The `max()` method refines the aggregation pipeline to find the maximum value of the specified field across all the items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the group's maximum value. Expression must resolve to a comparable value, such as a number or string.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n max(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Counts the number of items in the group.\n *\n * The `count()` method refines the aggregation pipeline to count the number of items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n count(resultFieldName: string): GroupStage\n /**\n * Finds the first item in the group.\n *\n * The `first()` method refines the aggregation pipeline to find the first item in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the first item in the group.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n first(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the last item in the group.\n *\n * The `last()` method refines the aggregation pipeline to find the last item in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the last item in the group.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n last(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Collects values from all items in the group into an array.\n *\n * The `push()` method refines the aggregation pipeline to collect values from all items in the group into an array.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to collect items into an array.\n * @param resultFieldName - Field key in the output item to store the result in.\n * @returns GroupStage object.\n */\n push(expression: Expression, resultFieldName: string): GroupStage\n}\n\nexport class GroupStageImpl implements GroupStage {\n private ids: Id[] = []\n private accumulators: Accumulator[] = []\n\n by(expression: Expression, key: string): GroupStage {\n this.ids.push({ expression, key })\n return this\n }\n\n sum(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'sum', resultFieldName)\n }\n\n avg(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'avg', resultFieldName)\n }\n\n min(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'min', resultFieldName)\n }\n\n max(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'max', resultFieldName)\n }\n\n count(resultFieldName: string): GroupStage {\n return this.addAccumulator(\n new NumericExpressionImpl(1),\n 'sum',\n resultFieldName\n )\n }\n\n first(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'first', resultFieldName)\n }\n\n last(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'last', resultFieldName)\n }\n\n push(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'push', resultFieldName)\n }\n\n private addAccumulator(\n expression: Expression,\n type: AccumulatorType,\n resultFieldName: string\n ): GroupStage {\n this.accumulators.push({ type, expression, resultFieldName })\n return this\n }\n\n /** @private */\n build(): apiTypes.Stage {\n return {\n group: {\n groupIds: this.ids.map((id) => ({\n expression: id.expression.build(),\n key: id.key,\n })),\n accumulators: this.accumulators.map((accumulator) => ({\n [accumulator.type]: {\n expression: accumulator.expression.build(),\n },\n resultFieldName: accumulator.resultFieldName,\n })),\n },\n }\n }\n}\n\ntype AccumulatorType = 'avg' | 'min' | 'max' | 'sum' | 'first' | 'last' | 'push'\n\ninterface Id {\n expression: Expression\n key: string\n}\n\ninterface Accumulator {\n type: AccumulatorType\n expression: Expression\n resultFieldName: string\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAIA;AACA;AACA;;AA0GO,MAAMC,cAAc,CAAuB;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,eAC5B,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACgB,EAAE;EAAA;EAExCC,EAAEA,CAACC,UAAsB,EAAEC,GAAW,EAAc;IAClD,IAAI,CAACC,GAAG,CAACC,IAAI,CAAC;MAAEH,UAAU;MAAEC;IAAI,CAAC,CAAC;IAClC,OAAO,IAAI;EACb;EAEAG,GAAGA,CAACJ,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAE,GAAGA,CAACP,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAG,GAAGA,CAACR,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAI,GAAGA,CAACT,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAK,KAAKA,CAACL,eAAuB,EAAc;IACzC,OAAO,IAAI,CAACC,cAAc,CACxB,IAAIK,iCAAqB,CAAC,CAAC,CAAC,EAC5B,KAAK,EACLN,eACF,CAAC;EACH;EAEAO,KAAKA,CAACZ,UAAsB,EAAEK,eAAuB,EAAc;IACjE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,OAAO,EAAEK,eAAe,CAAC;EAClE;EAEAQ,IAAIA,CAACb,UAAsB,EAAEK,eAAuB,EAAc;IAChE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,MAAM,EAAEK,eAAe,CAAC;EACjE;EAEAF,IAAIA,CAACH,UAAsB,EAAEK,eAAuB,EAAc;IAChE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,MAAM,EAAEK,eAAe,CAAC;EACjE;EAEQC,cAAcA,CACpBN,UAAsB,EACtBc,IAAqB,EACrBT,eAAuB,EACX;IACZ,IAAI,CAACU,YAAY,CAACZ,IAAI,CAAC;MAAEW,IAAI;MAAEd,UAAU;MAAEK;IAAgB,CAAC,CAAC;IAC7D,OAAO,IAAI;EACb;;EAEA;EACAW,KAAKA,CAAA,EAAmB;IACtB,OAAO;MACLC,KAAK,EAAE;QACLC,QAAQ,EAAE,IAAI,CAAChB,GAAG,CAACiB,GAAG,CAAEC,EAAE,KAAM;UAC9BpB,UAAU,EAAEoB,EAAE,CAACpB,UAAU,CAACgB,KAAK,CAAC,CAAC;UACjCf,GAAG,EAAEmB,EAAE,CAACnB;QACV,CAAC,CAAC,CAAC;QACHc,YAAY,EAAE,IAAI,CAACA,YAAY,CAACI,GAAG,CAAEE,WAAW,KAAM;UACpD,CAACA,WAAW,CAACP,IAAI,GAAG;YAClBd,UAAU,EAAEqB,WAAW,CAACrB,UAAU,CAACgB,KAAK,CAAC;UAC3C,CAAC;UACDX,eAAe,EAAEgB,WAAW,CAAChB;QAC/B,CAAC,CAAC;MACJ;IACF,CAAC;EACH;AACF;AAACiB,OAAA,CAAA3B,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Expression","require","GroupStageImpl","constructor","_defineProperty2","default","by","expression","key","ids","push","sum","resultFieldName","addAccumulator","avg","min","max","count","NumericExpressionImpl","first","last","type","accumulators","build","group","groupIds","map","id","accumulator","exports"],"sources":["../../../../src/api/stages/GroupStage.ts"],"sourcesContent":["import { Expression, NumericExpressionImpl } from '../expressions/Expression'\nimport * as apiTypes from '../../types/data-item-types'\nimport { PipelineStage } from './stages'\n\n/**\n * @builder\n */\nexport interface GroupStage extends PipelineStage {\n /**\n * // TODO\n * @param expression\n * @param key\n * @returns GroupStage object.\n */\n by(expression: Expression, key: string): GroupStage\n /**\n * Calculates the sum of the specified expression across all items in the group.\n *\n * The `sum()` method refines the aggregation pipeline to calculate the sum of the specified expression across all items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to calculate the group's total sum. Expression must resolve to a number.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n sum(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Calculates the average value across all items in the group based on the specified expression.\n *\n * The `avg()` method refines the aggregation pipeline to calculate the average value of the specified expression across all items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to calculate the group's average value. The expression must resolve to a number.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n avg(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the minimum value across all items in the group.\n *\n * The `min()` method refines the aggregation pipeline to find the minimum value of the specified field across all the items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the group's minimum value. Expression must resolve to a comparable value, such as a number or string.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n min(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the maximum value across all items in the group.\n *\n * The `max()` method refines the aggregation pipeline to find the maximum value of the specified field across all the items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the group's maximum value. Expression must resolve to a comparable value, such as a number or string.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n max(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Counts the number of items in the group.\n *\n * The `count()` method refines the aggregation pipeline to count the number of items in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n count(resultFieldName: string): GroupStage\n /**\n * Finds the first item in the group.\n *\n * The `first()` method refines the aggregation pipeline to find the first item in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the first item in the group.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n first(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Finds the last item in the group.\n *\n * The `last()` method refines the aggregation pipeline to find the last item in the group.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to find the last item in the group.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns GroupStage object.\n */\n last(expression: Expression, resultFieldName: string): GroupStage\n /**\n * Collects values from all items in the group into an array.\n *\n * The `push()` method refines the aggregation pipeline to collect values from all items in the group into an array.\n *\n * @public\n * @documentationMaturity preview\n * @param expression - Expression to collect items into an array.\n * @param resultFieldName - Field key in the output item to store the result in.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n\n * @returns GroupStage object.\n */\n push(expression: Expression, resultFieldName: string): GroupStage\n}\n\nexport class GroupStageImpl implements GroupStage {\n private ids: Id[] = []\n private accumulators: Accumulator[] = []\n\n by(expression: Expression, key: string): GroupStage {\n this.ids.push({ expression, key })\n return this\n }\n\n sum(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'sum', resultFieldName)\n }\n\n avg(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'avg', resultFieldName)\n }\n\n min(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'min', resultFieldName)\n }\n\n max(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'max', resultFieldName)\n }\n\n count(resultFieldName: string): GroupStage {\n return this.addAccumulator(\n new NumericExpressionImpl(1),\n 'sum',\n resultFieldName\n )\n }\n\n first(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'first', resultFieldName)\n }\n\n last(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'last', resultFieldName)\n }\n\n push(expression: Expression, resultFieldName: string): GroupStage {\n return this.addAccumulator(expression, 'push', resultFieldName)\n }\n\n private addAccumulator(\n expression: Expression,\n type: AccumulatorType,\n resultFieldName: string\n ): GroupStage {\n this.accumulators.push({ type, expression, resultFieldName })\n return this\n }\n\n /** @private */\n build(): apiTypes.Stage {\n return {\n group: {\n groupIds: this.ids.map((id) => ({\n expression: id.expression.build(),\n key: id.key,\n })),\n accumulators: this.accumulators.map((accumulator) => ({\n [accumulator.type]: {\n expression: accumulator.expression.build(),\n },\n resultFieldName: accumulator.resultFieldName,\n })),\n },\n }\n }\n}\n\ntype AccumulatorType = 'avg' | 'min' | 'max' | 'sum' | 'first' | 'last' | 'push'\n\ninterface Id {\n expression: Expression\n key: string\n}\n\ninterface Accumulator {\n type: AccumulatorType\n expression: Expression\n resultFieldName: string\n}\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAIA;AACA;AACA;;AA2HO,MAAMC,cAAc,CAAuB;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,eAC5B,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACgB,EAAE;EAAA;EAExCC,EAAEA,CAACC,UAAsB,EAAEC,GAAW,EAAc;IAClD,IAAI,CAACC,GAAG,CAACC,IAAI,CAAC;MAAEH,UAAU;MAAEC;IAAI,CAAC,CAAC;IAClC,OAAO,IAAI;EACb;EAEAG,GAAGA,CAACJ,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAE,GAAGA,CAACP,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAG,GAAGA,CAACR,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAI,GAAGA,CAACT,UAAsB,EAAEK,eAAuB,EAAc;IAC/D,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,KAAK,EAAEK,eAAe,CAAC;EAChE;EAEAK,KAAKA,CAACL,eAAuB,EAAc;IACzC,OAAO,IAAI,CAACC,cAAc,CACxB,IAAIK,iCAAqB,CAAC,CAAC,CAAC,EAC5B,KAAK,EACLN,eACF,CAAC;EACH;EAEAO,KAAKA,CAACZ,UAAsB,EAAEK,eAAuB,EAAc;IACjE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,OAAO,EAAEK,eAAe,CAAC;EAClE;EAEAQ,IAAIA,CAACb,UAAsB,EAAEK,eAAuB,EAAc;IAChE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,MAAM,EAAEK,eAAe,CAAC;EACjE;EAEAF,IAAIA,CAACH,UAAsB,EAAEK,eAAuB,EAAc;IAChE,OAAO,IAAI,CAACC,cAAc,CAACN,UAAU,EAAE,MAAM,EAAEK,eAAe,CAAC;EACjE;EAEQC,cAAcA,CACpBN,UAAsB,EACtBc,IAAqB,EACrBT,eAAuB,EACX;IACZ,IAAI,CAACU,YAAY,CAACZ,IAAI,CAAC;MAAEW,IAAI;MAAEd,UAAU;MAAEK;IAAgB,CAAC,CAAC;IAC7D,OAAO,IAAI;EACb;;EAEA;EACAW,KAAKA,CAAA,EAAmB;IACtB,OAAO;MACLC,KAAK,EAAE;QACLC,QAAQ,EAAE,IAAI,CAAChB,GAAG,CAACiB,GAAG,CAAEC,EAAE,KAAM;UAC9BpB,UAAU,EAAEoB,EAAE,CAACpB,UAAU,CAACgB,KAAK,CAAC,CAAC;UACjCf,GAAG,EAAEmB,EAAE,CAACnB;QACV,CAAC,CAAC,CAAC;QACHc,YAAY,EAAE,IAAI,CAACA,YAAY,CAACI,GAAG,CAAEE,WAAW,KAAM;UACpD,CAACA,WAAW,CAACP,IAAI,GAAG;YAClBd,UAAU,EAAEqB,WAAW,CAACrB,UAAU,CAACgB,KAAK,CAAC;UAC3C,CAAC;UACDX,eAAe,EAAEgB,WAAW,CAAChB;QAC/B,CAAC,CAAC;MACJ;IACF,CAAC;EACH;AACF;AAACiB,OAAA,CAAA3B,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_FilterStage","require","_ProjectStage","_GroupStage","_UnwindStage","_SortStage","_LimitStage","_SkipStage","_ObjectToArrayStage","stages","exports","filter","FilterStageImpl","project","ProjectStageImpl","group","GroupStageImpl","unwind","arrayFieldName","UnwindStageImpl","sort","SortStageImpl","limit","count","LimitStageImpl","skip","SkipStageImpl","objectToArray","objectFieldName","destinationFieldName","ObjectToArrayStageImpl"],"sources":["../../../../src/api/stages/stages.ts"],"sourcesContent":["import { FilterStage, FilterStageImpl } from './FilterStage'\nimport { ProjectStage, ProjectStageImpl } from './ProjectStage'\nimport { GroupStage, GroupStageImpl } from './GroupStage'\nimport { UnwindStage, UnwindStageImpl } from './UnwindStage'\nimport { SortStage, SortStageImpl } from './SortStage'\nimport { LimitStage, LimitStageImpl } from './LimitStage'\nimport { SkipStage, SkipStageImpl } from './SkipStage'\nimport * as apiTypes from '../../types/data-item-types'\nimport {\n ObjectToArrayStage,\n ObjectToArrayStageImpl,\n} from './ObjectToArrayStage'\n\nexport const stages: WixDataAggregatePipelineStages = {\n filter: () => new FilterStageImpl(),\n project: () => new ProjectStageImpl(),\n group: () => new GroupStageImpl(),\n unwind: (arrayFieldName: string) => new UnwindStageImpl(arrayFieldName),\n sort: () => new SortStageImpl(),\n limit: (count: number) => new LimitStageImpl(count),\n skip: (count: number) => new SkipStageImpl(count),\n objectToArray: (objectFieldName: string, destinationFieldName: string) =>\n new ObjectToArrayStageImpl(objectFieldName, destinationFieldName),\n}\n\n/**\n * @builder\n */\nexport interface WixDataAggregatePipelineStages {\n filter(): FilterStage\n project(): ProjectStage\n group(): GroupStage\n unwind(arrayFieldName: string): UnwindStage\n sort(): SortStage\n limit(count: number): LimitStage\n skip(count: number): SkipStage\n objectToArray(\n objectFieldName: string,\n destinationFieldName: string\n ): ObjectToArrayStage\n}\n\nexport interface PipelineStage {\n /**\n * @private\n */\n build(): apiTypes.Stage\n}\n"],"mappings":";;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,mBAAA,GAAAP,OAAA;AAKO,MAAMQ,MAAsC,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACpDE,MAAM,EAAEA,CAAA,KAAM,IAAIC,4BAAe,CAAC,CAAC;EACnCC,OAAO,EAAEA,CAAA,KAAM,IAAIC,8BAAgB,CAAC,CAAC;EACrCC,KAAK,EAAEA,CAAA,KAAM,IAAIC,0BAAc,CAAC,CAAC;EACjCC,MAAM,EAAGC,cAAsB,IAAK,IAAIC,4BAAe,CAACD,cAAc,CAAC;EACvEE,IAAI,EAAEA,CAAA,KAAM,IAAIC,wBAAa,CAAC,CAAC;EAC/BC,KAAK,EAAGC,KAAa,IAAK,IAAIC,0BAAc,CAACD,KAAK,CAAC;EACnDE,IAAI,EAAGF,KAAa,IAAK,IAAIG,wBAAa,CAACH,KAAK,CAAC;EACjDI,aAAa,EAAEA,CAACC,eAAuB,EAAEC,oBAA4B,KACnE,IAAIC,0CAAsB,CAACF,eAAe,EAAEC,oBAAoB;AACpE,CAAC;;AAED;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_FilterStage","require","_ProjectStage","_GroupStage","_UnwindStage","_SortStage","_LimitStage","_SkipStage","_ObjectToArrayStage","stages","exports","filter","FilterStageImpl","project","ProjectStageImpl","group","GroupStageImpl","unwind","arrayFieldName","UnwindStageImpl","sort","SortStageImpl","limit","count","LimitStageImpl","skip","SkipStageImpl","objectToArray","objectFieldName","destinationFieldName","ObjectToArrayStageImpl"],"sources":["../../../../src/api/stages/stages.ts"],"sourcesContent":["import { FilterStage, FilterStageImpl } from './FilterStage'\nimport { ProjectStage, ProjectStageImpl } from './ProjectStage'\nimport { GroupStage, GroupStageImpl } from './GroupStage'\nimport { UnwindStage, UnwindStageImpl } from './UnwindStage'\nimport { SortStage, SortStageImpl } from './SortStage'\nimport { LimitStage, LimitStageImpl } from './LimitStage'\nimport { SkipStage, SkipStageImpl } from './SkipStage'\nimport * as apiTypes from '../../types/data-item-types'\nimport {\n ObjectToArrayStage,\n ObjectToArrayStageImpl,\n} from './ObjectToArrayStage'\n\nexport const stages: WixDataAggregatePipelineStages = {\n filter: () => new FilterStageImpl(),\n project: () => new ProjectStageImpl(),\n group: () => new GroupStageImpl(),\n unwind: (arrayFieldName: string) => new UnwindStageImpl(arrayFieldName),\n sort: () => new SortStageImpl(),\n limit: (count: number) => new LimitStageImpl(count),\n skip: (count: number) => new SkipStageImpl(count),\n objectToArray: (objectFieldName: string, destinationFieldName: string) =>\n new ObjectToArrayStageImpl(objectFieldName, destinationFieldName),\n}\n\n/**\n * @builder\n */\nexport interface WixDataAggregatePipelineStages {\n /**\n * Adds a filter stage to the aggregation pipeline.\n *\n * The `filter()` method adds a pipeline stage that only processes items that match the specified criteria. You can configure the filter by chaining one or more [`filterStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/filter-stage/introduction) methods.\n *\n * @public\n * @documentationMaturity preview\n * @returns FilterStage object.\n */\n filter(): FilterStage\n\n /**\n * Adds a project stage to the aggregation pipeline.\n *\n * The `project()` method adds a pipeline stage that transforms items by including, excluding, or reshaping fields. You can configure the projection by chaining one or more [`projectStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/project-stage/introduction) methods.\n *\n * @public\n * @documentationMaturity preview\n * @returns ProjectStage object.\n */\n project(): ProjectStage\n\n /**\n * Adds a group stage to the aggregation pipeline.\n *\n * The `group()` method adds a pipeline stage that groups items by specified fields and calculates aggregate values. You can configure the grouping by chaining one or more [`groupStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/group-stage/introduction) methods.\n *\n * @public\n * @documentationMaturity preview\n * @returns GroupStage object.\n */\n group(): GroupStage\n\n /**\n * Adds an unwind stage to the aggregation pipeline.\n *\n * The `unwind()` method adds a pipeline stage that unwinds an array field by creating a new result item for each array element. Each result contains the array element and all other fields from the original item.\n *\n * @public\n * @documentationMaturity preview\n * @param arrayFieldName - Key of the array field to unwind. Use dot notation to specify a nested array. For example, `user.products` or `product.colors`.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns UnwindStage object.\n */\n unwind(arrayFieldName: string): UnwindStage\n\n /**\n * Adds a sort stage to the aggregation pipeline.\n *\n * The `sort()` method adds a pipeline stage that sorts items by specified fields. You can configure the sorting by chaining one or more [`sortStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/sort-stage/introduction) methods.\n *\n * @public\n * @documentationMaturity preview\n * @returns SortStage object.\n */\n sort(): SortStage\n\n /**\n * Adds a limit stage to the aggregation pipeline.\n *\n * The `limit()` method adds a pipeline stage that limits the number of results to the specified count.\n *\n * @public\n * @documentationMaturity preview\n * @param count - Maximum number of results.\n * @returns LimitStage object.\n */\n limit(count: number): LimitStage\n\n /**\n * Adds a skip stage to the aggregation pipeline.\n *\n * The `skip()` method adds a pipeline stage that skips the specified number of items from the beginning of the result set.\n *\n * @public\n * @documentationMaturity preview\n * @param count - Number of items to skip.\n * @requiredField count\n * @returns SkipStage object.\n */\n skip(count: number): SkipStage\n\n /**\n * Adds an objectToArray stage to the aggregation pipeline.\n *\n * The `objectToArray()` method adds a pipeline stage that converts an object into an array. Each property becomes an array element containing its key and value, along with all other properties from the original object.\n *\n * @public\n * @documentationMaturity preview\n * @param objectFieldName - Key of the object field to convert to an array. Use dot notation to specify nested fields. For example, `user.name` or `product.price`.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @param destinationFieldName - Key of the new array to create in the result item.\n *\n * Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).\n * @returns ObjectToArrayStage object.\n */\n objectToArray(\n objectFieldName: string,\n destinationFieldName: string\n ): ObjectToArrayStage\n}\n\nexport interface PipelineStage {\n /**\n * @private\n */\n build(): apiTypes.Stage\n}\n"],"mappings":";;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,mBAAA,GAAAP,OAAA;AAKO,MAAMQ,MAAsC,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACpDE,MAAM,EAAEA,CAAA,KAAM,IAAIC,4BAAe,CAAC,CAAC;EACnCC,OAAO,EAAEA,CAAA,KAAM,IAAIC,8BAAgB,CAAC,CAAC;EACrCC,KAAK,EAAEA,CAAA,KAAM,IAAIC,0BAAc,CAAC,CAAC;EACjCC,MAAM,EAAGC,cAAsB,IAAK,IAAIC,4BAAe,CAACD,cAAc,CAAC;EACvEE,IAAI,EAAEA,CAAA,KAAM,IAAIC,wBAAa,CAAC,CAAC;EAC/BC,KAAK,EAAGC,KAAa,IAAK,IAAIC,0BAAc,CAACD,KAAK,CAAC;EACnDE,IAAI,EAAGF,KAAa,IAAK,IAAIG,wBAAa,CAACH,KAAK,CAAC;EACjDI,aAAa,EAAEA,CAACC,eAAuB,EAAEC,oBAA4B,KACnE,IAAIC,0CAAsB,CAACF,eAAe,EAAEC,oBAAoB;AACpE,CAAC;;AAED;AACA;AACA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupStage.js","sourceRoot":"","sources":["../../../../src/api/stages/GroupStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"GroupStage.js","sourceRoot":"","sources":["../../../../src/api/stages/GroupStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAiI7E,MAAM,OAAO,cAAc;IAA3B;QACU,QAAG,GAAS,EAAE,CAAA;QACd,iBAAY,GAAkB,EAAE,CAAA;IAqE1C,CAAC;IAnEC,EAAE,CAAC,UAAsB,EAAE,GAAW;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,UAAsB,EAAE,eAAuB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAChE,CAAC;IAED,GAAG,CAAC,UAAsB,EAAE,eAAuB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAChE,CAAC;IAED,GAAG,CAAC,UAAsB,EAAE,eAAuB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAChE,CAAC;IAED,GAAG,CAAC,UAAsB,EAAE,eAAuB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,eAAuB;QAC3B,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAC5B,KAAK,EACL,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,UAAsB,EAAE,eAAuB;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,CAAC,UAAsB,EAAE,eAAuB;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,CAAC,UAAsB,EAAE,eAAuB;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IAEO,cAAc,CACpB,UAAsB,EACtB,IAAqB,EACrB,eAAuB;QAEvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;IACf,KAAK;QACH,OAAO;YACL,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;oBACjC,GAAG,EAAE,EAAE,CAAC,GAAG;iBACZ,CAAC,CAAC;gBACH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACpD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;wBAClB,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE;qBAC3C;oBACD,eAAe,EAAE,WAAW,CAAC,eAAe;iBAC7C,CAAC,CAAC;aACJ;SACF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -383,7 +383,7 @@ export interface WixDataFilter {
|
|
|
383
383
|
/**
|
|
384
384
|
* Refines a filter to match items whose specified field value is within the defined range.
|
|
385
385
|
*
|
|
386
|
-
* The `between()` method refines this filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only
|
|
386
|
+
* The `between()` method refines this filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only compares values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).
|
|
387
387
|
*
|
|
388
388
|
* The following types can be compared:
|
|
389
389
|
* - Number: Compared numerically.
|
|
@@ -399,7 +399,7 @@ export interface FilterStage extends PipelineStage, WithFilter<FilterStage> {
|
|
|
399
399
|
/**
|
|
400
400
|
* Filters pipeline data to match items whose specified field value is within the defined range.
|
|
401
401
|
*
|
|
402
|
-
* The `between()` method refines this aggregate pipeline filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only
|
|
402
|
+
* The `between()` method refines this aggregate pipeline filter to match items for which the value of the specified field is greater than or equal to `rangeStart` and less than `rangeEnd`. The method only compares values of [the same type](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-type).
|
|
403
403
|
*
|
|
404
404
|
* The following types can be compared:
|
|
405
405
|
* - Number: Compared numerically.
|
|
@@ -21,6 +21,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
21
21
|
* @documentationMaturity preview
|
|
22
22
|
* @param expression - Expression to calculate the group's total sum. Expression must resolve to a number.
|
|
23
23
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
24
|
+
*
|
|
25
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
24
26
|
* @returns GroupStage object.
|
|
25
27
|
*/
|
|
26
28
|
sum(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -33,6 +35,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
33
35
|
* @documentationMaturity preview
|
|
34
36
|
* @param expression - Expression to calculate the group's average value. The expression must resolve to a number.
|
|
35
37
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
38
|
+
*
|
|
39
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
36
40
|
* @returns GroupStage object.
|
|
37
41
|
*/
|
|
38
42
|
avg(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -45,6 +49,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
45
49
|
* @documentationMaturity preview
|
|
46
50
|
* @param expression - Expression to find the group's minimum value. Expression must resolve to a comparable value, such as a number or string.
|
|
47
51
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
52
|
+
*
|
|
53
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
48
54
|
* @returns GroupStage object.
|
|
49
55
|
*/
|
|
50
56
|
min(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -57,6 +63,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
57
63
|
* @documentationMaturity preview
|
|
58
64
|
* @param expression - Expression to find the group's maximum value. Expression must resolve to a comparable value, such as a number or string.
|
|
59
65
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
66
|
+
*
|
|
67
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
60
68
|
* @returns GroupStage object.
|
|
61
69
|
*/
|
|
62
70
|
max(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -68,6 +76,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
68
76
|
* @public
|
|
69
77
|
* @documentationMaturity preview
|
|
70
78
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
79
|
+
*
|
|
80
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
71
81
|
* @returns GroupStage object.
|
|
72
82
|
*/
|
|
73
83
|
count(resultFieldName: string): GroupStage;
|
|
@@ -80,6 +90,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
80
90
|
* @documentationMaturity preview
|
|
81
91
|
* @param expression - Expression to find the first item in the group.
|
|
82
92
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
93
|
+
*
|
|
94
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
83
95
|
* @returns GroupStage object.
|
|
84
96
|
*/
|
|
85
97
|
first(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -92,6 +104,8 @@ export interface GroupStage extends PipelineStage {
|
|
|
92
104
|
* @documentationMaturity preview
|
|
93
105
|
* @param expression - Expression to find the last item in the group.
|
|
94
106
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
107
|
+
*
|
|
108
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
95
109
|
* @returns GroupStage object.
|
|
96
110
|
*/
|
|
97
111
|
last(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -104,6 +118,9 @@ export interface GroupStage extends PipelineStage {
|
|
|
104
118
|
* @documentationMaturity preview
|
|
105
119
|
* @param expression - Expression to collect items into an array.
|
|
106
120
|
* @param resultFieldName - Field key in the output item to store the result in.
|
|
121
|
+
*
|
|
122
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
123
|
+
|
|
107
124
|
* @returns GroupStage object.
|
|
108
125
|
*/
|
|
109
126
|
push(expression: Expression, resultFieldName: string): GroupStage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupStage.d.ts","sourceRoot":"","sources":["../../../../src/api/stages/GroupStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C;;;;;OAKG;IACH,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;IACnD
|
|
1
|
+
{"version":3,"file":"GroupStage.d.ts","sourceRoot":"","sources":["../../../../src/api/stages/GroupStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAA;AAC7E,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C;;;;;OAKG;IACH,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;IACnD;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAChE;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAChE;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAChE;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAChE;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IAClE;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;IACjE;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAAA;CAClE;AAED,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,YAAY,CAAoB;IAExC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAKnD,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIhE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIhE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIhE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIhE,KAAK,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU;IAQ1C,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIlE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIjE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU;IAIjE,OAAO,CAAC,cAAc;IAStB,eAAe;IACf,KAAK,IAAI,QAAQ,CAAC,KAAK;CAgBxB"}
|
|
@@ -12,13 +12,97 @@ export declare const stages: WixDataAggregatePipelineStages;
|
|
|
12
12
|
* @builder
|
|
13
13
|
*/
|
|
14
14
|
export interface WixDataAggregatePipelineStages {
|
|
15
|
+
/**
|
|
16
|
+
* Adds a filter stage to the aggregation pipeline.
|
|
17
|
+
*
|
|
18
|
+
* The `filter()` method adds a pipeline stage that only processes items that match the specified criteria. You can configure the filter by chaining one or more [`filterStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/filter-stage/introduction) methods.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
* @documentationMaturity preview
|
|
22
|
+
* @returns FilterStage object.
|
|
23
|
+
*/
|
|
15
24
|
filter(): FilterStage;
|
|
25
|
+
/**
|
|
26
|
+
* Adds a project stage to the aggregation pipeline.
|
|
27
|
+
*
|
|
28
|
+
* The `project()` method adds a pipeline stage that transforms items by including, excluding, or reshaping fields. You can configure the projection by chaining one or more [`projectStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/project-stage/introduction) methods.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
* @documentationMaturity preview
|
|
32
|
+
* @returns ProjectStage object.
|
|
33
|
+
*/
|
|
16
34
|
project(): ProjectStage;
|
|
35
|
+
/**
|
|
36
|
+
* Adds a group stage to the aggregation pipeline.
|
|
37
|
+
*
|
|
38
|
+
* The `group()` method adds a pipeline stage that groups items by specified fields and calculates aggregate values. You can configure the grouping by chaining one or more [`groupStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/group-stage/introduction) methods.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @documentationMaturity preview
|
|
42
|
+
* @returns GroupStage object.
|
|
43
|
+
*/
|
|
17
44
|
group(): GroupStage;
|
|
45
|
+
/**
|
|
46
|
+
* Adds an unwind stage to the aggregation pipeline.
|
|
47
|
+
*
|
|
48
|
+
* The `unwind()` method adds a pipeline stage that unwinds an array field by creating a new result item for each array element. Each result contains the array element and all other fields from the original item.
|
|
49
|
+
*
|
|
50
|
+
* @public
|
|
51
|
+
* @documentationMaturity preview
|
|
52
|
+
* @param arrayFieldName - Key of the array field to unwind. Use dot notation to specify a nested array. For example, `user.products` or `product.colors`.
|
|
53
|
+
*
|
|
54
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
55
|
+
* @returns UnwindStage object.
|
|
56
|
+
*/
|
|
18
57
|
unwind(arrayFieldName: string): UnwindStage;
|
|
58
|
+
/**
|
|
59
|
+
* Adds a sort stage to the aggregation pipeline.
|
|
60
|
+
*
|
|
61
|
+
* The `sort()` method adds a pipeline stage that sorts items by specified fields. You can configure the sorting by chaining one or more [`sortStage`](https://dev.wix.com/docs/sdk/backend-modules/data/items/sort-stage/introduction) methods.
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
* @documentationMaturity preview
|
|
65
|
+
* @returns SortStage object.
|
|
66
|
+
*/
|
|
19
67
|
sort(): SortStage;
|
|
68
|
+
/**
|
|
69
|
+
* Adds a limit stage to the aggregation pipeline.
|
|
70
|
+
*
|
|
71
|
+
* The `limit()` method adds a pipeline stage that limits the number of results to the specified count.
|
|
72
|
+
*
|
|
73
|
+
* @public
|
|
74
|
+
* @documentationMaturity preview
|
|
75
|
+
* @param count - Maximum number of results.
|
|
76
|
+
* @returns LimitStage object.
|
|
77
|
+
*/
|
|
20
78
|
limit(count: number): LimitStage;
|
|
79
|
+
/**
|
|
80
|
+
* Adds a skip stage to the aggregation pipeline.
|
|
81
|
+
*
|
|
82
|
+
* The `skip()` method adds a pipeline stage that skips the specified number of items from the beginning of the result set.
|
|
83
|
+
*
|
|
84
|
+
* @public
|
|
85
|
+
* @documentationMaturity preview
|
|
86
|
+
* @param count - Number of items to skip.
|
|
87
|
+
* @requiredField count
|
|
88
|
+
* @returns SkipStage object.
|
|
89
|
+
*/
|
|
21
90
|
skip(count: number): SkipStage;
|
|
91
|
+
/**
|
|
92
|
+
* Adds an objectToArray stage to the aggregation pipeline.
|
|
93
|
+
*
|
|
94
|
+
* The `objectToArray()` method adds a pipeline stage that converts an object into an array. Each property becomes an array element containing its key and value, along with all other properties from the original object.
|
|
95
|
+
*
|
|
96
|
+
* @public
|
|
97
|
+
* @documentationMaturity preview
|
|
98
|
+
* @param objectFieldName - Key of the object field to convert to an array. Use dot notation to specify nested fields. For example, `user.name` or `product.price`.
|
|
99
|
+
*
|
|
100
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
101
|
+
* @param destinationFieldName - Key of the new array to create in the result item.
|
|
102
|
+
*
|
|
103
|
+
* Learn more about [field keys](https://support.wix.com/en/article/cms-formerly-content-manager-about-your-collection-fields#field-id-velo-by-wix-only).
|
|
104
|
+
* @returns ObjectToArrayStage object.
|
|
105
|
+
*/
|
|
22
106
|
objectToArray(objectFieldName: string, destinationFieldName: string): ObjectToArrayStage;
|
|
23
107
|
}
|
|
24
108
|
export interface PipelineStage {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../../src/api/stages/stages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AACvD,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAA;AAE7B,eAAO,MAAM,MAAM,EAAE,8BAUpB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,MAAM,IAAI,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../../src/api/stages/stages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAA;AACvD,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAA;AAE7B,eAAO,MAAM,MAAM,EAAE,8BAUpB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;OAQG;IACH,MAAM,IAAI,WAAW,CAAA;IAErB;;;;;;;;OAQG;IACH,OAAO,IAAI,YAAY,CAAA;IAEvB;;;;;;;;OAQG;IACH,KAAK,IAAI,UAAU,CAAA;IAEnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAA;IAE3C;;;;;;;;OAQG;IACH,IAAI,IAAI,SAAS,CAAA;IAEjB;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;IAEhC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9B;;;;;;;;;;;;;;OAcG;IACH,aAAa,CACX,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC3B,kBAAkB,CAAA;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAA;CACxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/wix-data-items-common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.214",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Rimvydas Gimbutas",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@babel/runtime": "^7.28.2",
|
|
33
33
|
"@types/kind-of": "^6.0.3",
|
|
34
34
|
"@types/safe-json-stringify": "^1.1.5",
|
|
35
|
-
"@wix/filter-builder": "1.0.
|
|
35
|
+
"@wix/filter-builder": "1.0.188",
|
|
36
36
|
"kind-of": "^6.0.3",
|
|
37
37
|
"safe-json-stringify": "^1.2.0"
|
|
38
38
|
},
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"wallaby": {
|
|
86
86
|
"autoDetect": true
|
|
87
87
|
},
|
|
88
|
-
"falconPackageHash": "
|
|
88
|
+
"falconPackageHash": "a417ca083b6b45dbc7e432885682332c2938268ae0fb502b7982f4ce"
|
|
89
89
|
}
|