# code-block-pro/1.27.5/src/editor/transforms.ts

Code Block Pro – Beautiful Syntax Highlighting, version 1.27.5. 25 lines.

- Page: https://pluginprobe.com/plugins/code-block-pro/1.27.5/code/src/editor/transforms.ts
- Raw: https://pluginprobe.com/plugins/code-block-pro/1.27.5/raw/src/editor/transforms.ts
- Modified: 2023-07-31T01:15:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/code-block-pro/1.27.5/code/src/editor/transforms.ts#L10-L20`.

```typescript
import { createBlock } from '@wordpress/blocks';
import { escapeHTML } from '@wordpress/escape-html';
import blockConfig from '../block.json';
import { Attributes, Lang } from '../types';
import { getMainAlias } from '../util/languages';

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const transformToCBP = (attrs: any) => {
    const { content, language } = attrs;
    const decode = (value: string) => {
        const txt = document.createElement('textarea');
        txt.innerHTML = value;
        return txt.value;
    };
    return createBlock(blockConfig.name, {
        code: content ? escapeHTML(decode(content)) : undefined,
        language: getMainAlias(language) as Lang,
    });
};

export const transformFromCBP = (attrs: Attributes) => {
    const { code: content } = attrs;
    return createBlock('core/code', { content });
};

```
