# Internal Structure

## Class `CollectionProductsQuery`

```javascript
import {CollectionProductsQuery} from '@scandipwa/shopify-collections-products/src/api/CollectionProducts.query.js'
```

**Description:** Collection-products query declarations. Read more: [Query controller](https://app.gitbook.com/@scandipwa/s/shopify/solutions/query-controller), [TypedQuery](https://app.gitbook.com/@scandipwa/s/shopify/solutions/query-controller#typedquery)

**Namespace**: `ShopifyCollectionsProducts/Api/CollectionProducts/Query/CollectionProductsQuery`

## Function `collectionProductsResponseProcessor`

```javascript
import {collectionProductsResponseProcessor} from '@scandipwa/shopify-collections-products/src/api/CollectionProducts.processor.js'
```

**Description:** Processess products within collections. Returns void, instead it modifies the passed argument.

**Namespace**: `ShopifyCollectionsProducts/Api/CollectionProducts/Processor/collectionProductsResponseProcessor`

## Function `processCollectionProduct`

```javascript
import {processCollectionProduct} from '@scandipwa/shopify-collections-products/src/api/CollectionProducts.processor.js'
```

**Description:** Single collection product processor. Returns void, instead it modifies the passed argument.

**Namespace**: `ShopifyCollectionsProducts/Api/CollectionProducts/Processor/processCollectionProduct`

## Variable `SINGLE_PRODUCT_COLLECTION`

```javascript
import {SINGLE_PRODUCT_COLLECTION} from '@scandipwa/shopify-collections-products/src/api/CollectionProducts.query.js'
```

**Description:** A type of `CollectionProductsQuery` associated with `getCollectionProducts` function.

**Usage examples:**

```javascript
// Returns getter of single collection-products query
import getCollectionProductsQueryByType, { SINGLE_PRODUCT_COLLECTION } from '@scandipwa/shopify-collections-products/src/api/CollectionProducts.query.js';
const queryGetter = getCollectionQueryByType(SINGLE_PRODUCT_COLLECTION);
```

## Class `CollectionProductsComponent`

```javascript
import {CollectionProductsComponent} from '@scandipwa/shopify-collections-products/src/component/CollectionProducts/CollectionProducts.component.js'
```

**Description:** Collection Products listing component

**Namespace**: `ShopifyCollectionsProducts/Component/CollectionProducts/Component/CollectionProductsComponent`

## Class `CollectionProductsContainer`

```javascript
import {CollectionProductsContainer} from '@scandipwa/shopify-collections-products/src/component/CollectionProducts/CollectionProducts.container.js'
```

**Description:** Collection Products container. Used to prepare the data to perform a collection-products request

**Namespace**: `ShopifyCollectionsProducts/Component/CollectionProducts/Container/CollectionProductsContainer`

## Function `CollectionProductsFallback`

```javascript
import {CollectionProductsFallback} from '@scandipwa/shopify-collections-products/src/component/CollectionProductsFallback/index.js'
```

**Description:** A component used as fallback while the products are loading on the collection page

**Namespace**: `ShopifyCollectionsProducts/Component/CollectionProductsFallback/Index/CollectionProductsFallback`

{% hint style="danger" %}

### **This page is automatically generated**

All modification will be erased during the next deployment. If you intend to modify the contents, please refer to the source-code.
{% endhint %}
