---
title: "ProductParser | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ProductParser/"
---

# ProductParser

> [`ProductParser`](#productparser)

## Classes

### ProductParser

#### Constructors

##### Constructor

```ts
new ProductParser(additionalConverters?): ProductParser;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `additionalConverters?` | [`AdditionalConverter`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/AdditionalConverter.md#additionalconverter)[] |

###### Returns

#### Methods

##### parseArchedTextItem()

```ts
parseArchedTextItem(rawArchedText, baseConverters): ArchedTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawArchedText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`ArchedTextItem`

##### parseAutoScaledTextItem()

```ts
parseAutoScaledTextItem(rawAutoScaledText, baseConverters): AutoScaledTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawAutoScaledText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`AutoScaledTextItem`

##### parseBarcodeItem()

```ts
parseBarcodeItem(rawBarcode, baseConverters): BarcodeItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawBarcode` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`BarcodeItem`

##### parseBarcodePermissions()

```ts
parseBarcodePermissions(rawPerms): BarcodePermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`BarcodePermissions`

##### parseBoundedTextItem()

```ts
parseBoundedTextItem(rawBoundedText, baseConverters): BoundedTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawBoundedText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`BoundedTextItem`

##### parseClipartItem()

```ts
parseClipartItem(rawClipartItem, baseConverters): ClipartItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawClipartItem` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`ClipartItem`

##### parseCollection()

```ts
parseCollection<T>(
   rawCollection, 
   parseCollectionItem, 
   targetCollection): void;
```

###### Type Parameters

| Type Parameter |
| ------ |
| `T` |

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawCollection` | `any`[] |
| `parseCollectionItem` | (`raw`) => `T` |
| `targetCollection` | `Collection`\<`T`\> |

###### Returns

`void`

##### parseColor()

```ts
parseColor(rawColor): Color;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawColor` | `any` |

###### Returns

`Color`

##### parseColorEntries()

```ts
parseColorEntries(rawColorEntries): Map<Color, Color>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawColorEntries` | `ColorDictionaryEntry`[] |

###### Returns

`Map`\<`Color`, `Color`\>

##### parseColorGroup()

```ts
parseColorGroup(rawPerms): ColorGroup;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ColorGroup`

##### parseContainer()

```ts
readonly parseContainer(
   rawContainer, 
   emptyContainer?, 
   converters?): any;
```

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `rawContainer` | `Object` | `undefined` |
| `emptyContainer` | `any` | `...` |
| `converters` | [`PropertyConverter`](#propertyconverter)[] | `[]` |

###### Returns

`any`

##### parseContentPermissions()

```ts
parseContentPermissions(rawContentPermissions, baseConverters): ContentPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawContentPermissions` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`ContentPermissions`

##### parseCropMark()

```ts
readonly parseCropMark(rawCropMark): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawCropMark` | `Object` |

###### Returns

`any`

##### parseCropMarkText()

```ts
readonly parseCropMarkText(rawCropMarkText): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawCropMarkText` | `Object` |

###### Returns

`any`

##### parseCurvedTextItem()

```ts
parseCurvedTextItem(rawCurvedText, baseConverters): CurvedTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawCurvedText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`CurvedTextItem`

##### parseDashedLineItem()

```ts
parseDashedLineItem(rawLine, baseConverters): DashedLineItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawLine` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`DashedLineItem`

##### parseEllipseItem()

```ts
parseEllipseItem(rawEllipse, baseConverters): EllipseItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawEllipse` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`EllipseItem`

##### parseEncodingOptions()

```ts
parseEncodingOptions(raw): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `raw` | `Object` |

###### Returns

`any`

##### parseFontSettings()

```ts
parseFontSettings(rawSettings, destTextItem): FontSettings;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSettings` | `Object` |
| `destTextItem` | `BaseTextItem` |

###### Returns

`FontSettings`

##### parseFrontendPermissions()

```ts
parseFrontendPermissions(rawPerms): FrontendPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`FrontendPermissions`

##### parseGroupItem()

```ts
parseGroupItem(rawGroupItem, baseConverters): GroupItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawGroupItem` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`GroupItem`

##### parseGroupItemPermissions()

```ts
readonly parseGroupItemPermissions(rawPerms): GroupItemPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`GroupItemPermissions`

##### parseImageItem()

```ts
parseImageItem(rawImage, baseConverters): ImageItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawImage` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`ImageItem`

##### parseImagePermissions()

```ts
parseImagePermissions(rawPerms): ImagePermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ImagePermissions`

##### parseImageSource()

```ts
parseImageSource(rawImageSource): ImageSource;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawImageSource` | `Object` |

###### Returns

`ImageSource`

##### parseInStringPlaceholder()

```ts
parseInStringPlaceholder(rawSettings): InStringPlaceholder;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSettings` | `Object` |

###### Returns

`InStringPlaceholder`

##### parseInteractiveZone()

```ts
readonly parseInteractiveZone(rawActivityZone): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawActivityZone` | `Object` |

###### Returns

`any`

##### parseItem()

```ts
readonly parseItem(rawItem): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawItem` | `Object` |

###### Returns

`any`

##### parseItemPermissions()

```ts
parseItemPermissions(rawPerms): ItemPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ItemPermissions`

##### parseLayoutItem()

```ts
parseLayoutItem(rawLayoutItem, baseConverters): LayoutItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawLayoutItem` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`LayoutItem`

##### parseLayoutSettings()

```ts
readonly parseLayoutSettings(rawPerms): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`any`

##### parseLineItem()

```ts
readonly parseLineItem(rawLine, baseConverters): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawLine` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`any`

##### parseLinePermissions()

```ts
readonly parseLinePermissions(rawPerms): LinePermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`LinePermissions`

##### parseManipulationPermissions()

```ts
parseManipulationPermissions(rawPerms): ManipulationPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ManipulationPermissions`

##### parseMask()

```ts
parseMask(rawMask): ItemMask;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawMask` | `any` |

###### Returns

`ItemMask`

##### parseMockup()

```ts
parseMockup(rawMockup): SurfaceMockup;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawMockup` | `Object` |

###### Returns

`SurfaceMockup`

##### parseMockupContainer()

```ts
readonly parseMockupContainer(rawContainer): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawContainer` | `Object` |

###### Returns

`any`

##### parseNDEffects()

```ts
parseNDEffects(rawNDEffects): NDEffects;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawNDEffects` | `IRawNDEffects` |

###### Returns

`NDEffects`

##### parsePalette()

```ts
readonly parsePalette(rawPalette): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPalette` | `Object` |

###### Returns

`any`

##### parseParagraphSettings()

```ts
parseParagraphSettings(rawSettings): ParagraphSettings;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSettings` | `Object` |

###### Returns

`ParagraphSettings`

##### parsePath()

```ts
parsePath(rawPath): Path;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPath` | \| `string` \| \{ `path`: `string`; \} |

###### Returns

`Path`

##### parsePathBoundedTextItem()

```ts
parsePathBoundedTextItem(rawBoundedText, baseConverters): PathBoundedTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawBoundedText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`PathBoundedTextItem`

##### parsePathBoundedTextPermissions()

```ts
parsePathBoundedTextPermissions(rawPerms): PathBoundedTextPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`PathBoundedTextPermissions`

##### parsePaths()

```ts
parsePaths(rawPaths): Path[];
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPaths` | `Object` |

###### Returns

`Path`[]

##### parsePlaceholderItem()

```ts
parsePlaceholderItem(rawPlaceholder, baseConverters): PlaceholderItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPlaceholder` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`PlaceholderItem`

##### parsePlaceholderPermissions()

```ts
readonly parsePlaceholderPermissions(rawPerms): PlaceholderPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`PlaceholderPermissions`

##### parsePlainTextItem()

```ts
parsePlainTextItem(rawPlainText, baseConverters): PlainTextItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPlainText` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`PlainTextItem`

##### parsePointF()

```ts
parsePointF(rawPoint): PointF;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPoint` | `Object` |

###### Returns

`PointF`

##### parsePrintArea()

```ts
readonly parsePrintArea(rawPrintArea): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPrintArea` | `Object` |

###### Returns

`any`

##### parseProduct()

```ts
parseProduct(rawProduct): Product;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawProduct` | `Object` |

###### Returns

`Product`

##### parseRectangleF()

```ts
parseRectangleF(rawRectangle): RectangleF;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawRectangle` | `Object` |

###### Returns

`RectangleF`

##### parseRectangleItem()

```ts
parseRectangleItem(rawRectangle, baseConverters): RectangleItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawRectangle` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`RectangleItem`

##### parseRgbColor()

```ts
parseRgbColor(rawColor): RgbColor;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawColor` | `any` |

###### Returns

`RgbColor`

##### parseRotatedRectangle()

```ts
parseRotatedRectangle(rawRectangle): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawRectangle` | `Object` |

###### Returns

`any`

##### parseSafetyLine()

```ts
readonly parseSafetyLine(rawSafetyLine): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSafetyLine` | `Object` |

###### Returns

`any`

##### parseShadowSettings()

```ts
parseShadowSettings(rawSettings): ShadowSettings;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSettings` | `Object` |

###### Returns

`ShadowSettings`

##### parseShapeItem()

```ts
parseShapeItem(rawShape, baseConverters): ShapeItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawShape` | `Object` |
| `baseConverters` | [`PropertyConverter`](#propertyconverter)[] |

###### Returns

`ShapeItem`

##### parseShapePermissions()

```ts
parseShapePermissions(rawPerms): ShapePermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ShapePermissions`

##### parseSizeF()

```ts
parseSizeF(rawSize): SizeF;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSize` | `Object` |

###### Returns

`SizeF`

##### parseSmartItem()

```ts
parseSmartItem(rawSmartItem): SmartItem;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSmartItem` | `Object` |

###### Returns

`SmartItem`

##### parseStrokeSettings()

```ts
parseStrokeSettings(rawSettings): StrokeSettings;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSettings` | `Object` |

###### Returns

`StrokeSettings`

##### parseSurface()

```ts
readonly parseSurface(rawSurface): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSurface` | `Object` |

###### Returns

`any`

##### parseSurfaceContainer()

```ts
readonly parseSurfaceContainer(rawContainer): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawContainer` | `Object` |

###### Returns

`any`

##### parseSwatch()

```ts
readonly parseSwatch(rawSwatch): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawSwatch` | `Object` |

###### Returns

`any`

##### parseTextPermissions()

```ts
parseTextPermissions(rawPerms): TextPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`TextPermissions`

##### parseThemeBinding()

```ts
parseThemeBinding(rawThemeBinding): ThemeBinding;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawThemeBinding` | `any` |

###### Returns

`ThemeBinding`

##### parseTransform()

```ts
parseTransform(rawTransform): Transform;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawTransform` | `Object` |

###### Returns

`Transform`

##### parseViolationSettings()

```ts
parseViolationSettings(rawPerms): ViolationSettings;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`ViolationSettings`

##### parseVisualizationPermissions()

```ts
parseVisualizationPermissions(rawPerms): VisualizationPermissions;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawPerms` | `Object` |

###### Returns

`VisualizationPermissions`

##### parseWatermark()

```ts
parseWatermark(rawWatermark): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawWatermark` | `any` |

###### Returns

`any`

##### parseWatermarkConfig()

```ts
parseWatermarkConfig(rawConfig): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawConfig` | `any` |

###### Returns

`any`

***

### PropertyConverter

#### Constructors

##### Constructor

```ts
new PropertyConverter(
   rawPropertyName, 
   convertFunc, 
   isSetByConvertFunc?): PropertyConverter;
```

###### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `rawPropertyName` | `string` | `undefined` |
| `convertFunc` | `Function` | `undefined` |
| `isSetByConvertFunc` | `boolean` | `false` |

###### Returns

[`PropertyConverter`](#propertyconverter)

#### Properties

##### convert

```ts
convert: Function;
```

##### property

```ts
property: string;
```

##### setByConverter

```ts
setByConverter: boolean;
```
