---
title: "Helpers/utils"
---
# Helpers/utils

## Classes

- [ConnectionError](../classes/helpers_utils.ConnectionError.html)
- [OptionsError](../classes/helpers_utils.OptionsError.html)
- [LimitedStack](../classes/helpers_utils.LimitedStack.html)

### Loader

**Loader** = (`jodit`, `url`) => [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`any`\>

Defined in: [src/core/helpers/utils/append-script.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L16)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `jodit` | [`IViewBased`](../interfaces/types.IViewBased.html) |
| `url` | `string` |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`any`\>

***

### AbortError

**AbortError** = [`DOMException`](https://developer.mozilla.org/docs/Web/API/DOMException) & `object`

Defined in: [src/core/helpers/utils/error/errors/abort-error.ts:15](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/error/errors/abort-error.ts#L15)

`AbortError` is not a separate exception, but rather a [DOMException](https://developer.mozilla.org/docs/Web/API/DOMException) with a special `name`.
https://webidl.spec.whatwg.org/#aborterror

##### name

**name**: `"AbortError"`

### alreadyLoadedList

`const` **alreadyLoadedList**: [`Map`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)\<`string`, [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`any`\>\>

Defined in: [src/core/helpers/utils/append-script.ts:18](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L18)

***

### appendScriptAsync

`const` **appendScriptAsync**: [`Loader`](#loader)

Defined in: [src/core/helpers/utils/append-script.ts:37](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L37)

Load script and return promise

***

### appendStyleAsync

`const` **appendStyleAsync**: [`Loader`](#loader)

Defined in: [src/core/helpers/utils/append-script.ts:65](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L65)

Download CSS style script

***

### keepNames

`const` **keepNames**: [`Map`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)\<[`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function), `string`\>

Defined in: [src/core/helpers/utils/get-class-name.ts:14](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/get-class-name.ts#L14)

***

### UNSAFE\_PROTO\_KEYS

`const` **UNSAFE\_PROTO\_KEYS**: `string`[]

Defined in: [src/core/helpers/utils/is-unsafe-proto-key.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/is-unsafe-proto-key.ts#L16)

Keys that must never be written from a (potentially untrusted) source —
assigning them while walking/merging an object can reach and mutate
`Object.prototype` (prototype pollution, CWE-1321).

***

### cns

`const` **cns**: `Console` = `console`

Defined in: [src/core/helpers/utils/mark-deprecated.ts:15](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/mark-deprecated.ts#L15)

By default, terser will remove all `console.*` but
if you use this object it will not be

### hAlignElement()

**hAlignElement**(`image`, `align`): `void`

Defined in: [src/core/helpers/utils/align.ts:18](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/align.ts#L18)

Align image

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `image` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `align` | [`ImageHAlign`](./types.html#imagehalign) |

#### Returns

`void`

***

### clearAlign()

**clearAlign**(`node`): `void`

Defined in: [src/core/helpers/utils/align.ts:48](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/align.ts#L48)

Remove text-align style for all selected children

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `node` | [`Node`](https://developer.mozilla.org/docs/Web/API/Node) |

#### Returns

`void`

***

### alignElement()

**alignElement**(`command`, `box`): `void`

Defined in: [src/core/helpers/utils/align.ts:65](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/align.ts#L65)

Apply align for element

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `command` | `string` |
| `box` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`void`

***

### loadNext()

**loadNext**(`jodit`, `urls`, `i?`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\>

Defined in: [src/core/helpers/utils/append-script.ts:98](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L98)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `jodit` | [`IViewBased`](../interfaces/types.IViewBased.html) | `undefined` |
| `urls` | `string`[] | `undefined` |
| `i` | `number` | `0` |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\>

***

### loadNextStyle()

**loadNextStyle**(`jodit`, `urls`, `i?`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\>

Defined in: [src/core/helpers/utils/append-script.ts:112](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/append-script.ts#L112)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `jodit` | [`IViewBased`](../interfaces/types.IViewBased.html) | `undefined` |
| `urls` | `string`[] | `undefined` |
| `i` | `number` | `0` |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`void`\>

***

### assert()

**assert**\<`T`\>(`condition`, `message`): `asserts condition`

Defined in: [src/core/helpers/utils/assert.ts:19](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/assert.ts#L19)

Asserts that condition is truthy (or evaluates to true).

#### Type Parameters

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `condition` | `false` \| `""` \| `0` \| `T` \| `null` \| `undefined` |
| `message` | `string` |

#### Returns

`asserts condition`

***

### attr()

Alias for `elm.getAttribute` but if set second argument `-{key}`
it will also check `data-{key}` attribute
if set `value` it is alias for setAttribute with the same logic

#### Call Signature

**attr**(`elm`, `key`): `string` \| `null`

Defined in: [src/core/helpers/utils/attr.ts:22](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/attr.ts#L22)

Get attribute

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`Element`](https://developer.mozilla.org/docs/Web/API/Element) |
| `key` | `string` |

##### Returns

`string` \| `null`

#### Call Signature

**attr**(`elm`, `key`, `value`): `void`

Defined in: [src/core/helpers/utils/attr.ts:27](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/attr.ts#L27)

Remove attribute

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`Element`](https://developer.mozilla.org/docs/Web/API/Element) |
| `key` | `string` |
| `value` | `null` |

##### Returns

`void`

#### Call Signature

**attr**(`elm`, `key`, `value`): `null`

Defined in: [src/core/helpers/utils/attr.ts:32](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/attr.ts#L32)

Set attribute

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`Element`](https://developer.mozilla.org/docs/Web/API/Element) |
| `key` | `string` |
| `value` | `string` \| `number` \| `boolean` \| `null` \| `undefined` |

##### Returns

`null`

#### Call Signature

**attr**(`elm`, `attributes`): `null`

Defined in: [src/core/helpers/utils/attr.ts:41](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/attr.ts#L41)

Set or remove several attributes

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`Element`](https://developer.mozilla.org/docs/Web/API/Element) |
| `attributes` | [`IDictionary`](./types.html#idictionary)\<`string` \| `number` \| `boolean` \| `null`\> |

##### Returns

`null`

***

### browser()

**browser**(`browser`): `string` \| `boolean`

Defined in: [src/core/helpers/utils/browser.ts:22](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/browser.ts#L22)

Module returns method that is used to determine the browser

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `browser` | `string` |

#### Returns

`string` \| `boolean`

#### Example

```javascript
console.log(Jodit.modules.Helpers.browser('mse'));
console.log(Jodit.modules.Helpers.browser('chrome'));
console.log($Jodit.modules.Helpers.browser('opera'));
console.log(Jodit.modules.Helpers.browser('firefox'));
console.log(Jodit.modules.Helpers.browser('mse') && Jodit.modules.Helpers.browser('version') > 10);
```

***

### buildQuery()

**buildQuery**(`data`, `prefix?`): `string`

Defined in: [src/core/helpers/utils/build-query.ts:17](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/build-query.ts#L17)

Build query string

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `data` | [`IDictionary`](./types.html#idictionary) |
| `prefix?` | `string` |

#### Returns

`string`

***

### completeUrl()

**completeUrl**(`url`): `string`

Defined in: [src/core/helpers/utils/complete-url.ts:13](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/complete-url.ts#L13)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `url` | `string` |

#### Returns

`string`

***

### ConfigProto()

**ConfigProto**(`options`, `proto`, `deep?`): [`IDictionary`](./types.html#idictionary)

Defined in: [src/core/helpers/utils/config-proto.ts:52](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/config-proto.ts#L52)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `options` | [`IDictionary`](./types.html#idictionary) | `undefined` |
| `proto` | [`IDictionary`](./types.html#idictionary) | `undefined` |
| `deep` | `number` | `0` |

#### Returns

[`IDictionary`](./types.html#idictionary)

#### Example

```js
const defaultConfig = {
  a: {
    b: {
      c: 2
    },
    e: 5
  },
  d: {
    g: 7
  }
};

const options = ConfigProto({a: {
  b: {
    c: 1
  }
}}, defaultConfig);

console.log(options.a.b.c); // 1
console.log(options.a.e); // 5
console.log(options.d.g); // 7

defaultConfig.d.g  = 8;
console.log(options.d.g); // 8

```

***

### ConfigFlatten()

**ConfigFlatten**(`obj`): [`IDictionary`](./types.html#idictionary)

Defined in: [src/core/helpers/utils/config-proto.ts:107](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/config-proto.ts#L107)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `obj` | [`IDictionary`](./types.html#idictionary) |

#### Returns

[`IDictionary`](./types.html#idictionary)

***

### ConfigMerge()

**ConfigMerge**(`target`, `source`): `void`

Defined in: [src/core/helpers/utils/config-proto.ts:151](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/config-proto.ts#L151)

Deep-merges `source` into `target` in-place.
Uses the same merge semantics as [ConfigProto](#configproto):
- Nested plain objects are merged recursively
- [Atomic](#isatom) values replace the target entirely
- Everything else (primitives, arrays, class instances) replaces the target value

Designed for patching `Config.defaultOptions` without losing existing keys:

```js
Jodit.configure({
  controls: {
    someButton: { group: 'custom' }
  }
});
// Only `controls.someButton` is touched — all other controls remain intact.
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `target` | [`IDictionary`](./types.html#idictionary) |
| `source` | [`IDictionary`](./types.html#idictionary) |

#### Returns

`void`

#### See

[ConfigProto](#configproto) for the prototype-chain variant used at editor creation time

***

### ConfigDeepFlatten()

**ConfigDeepFlatten**(`obj`): [`IDictionary`](./types.html#idictionary)

Defined in: [src/core/helpers/utils/config-proto.ts:168](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/config-proto.ts#L168)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `obj` | [`IDictionary`](./types.html#idictionary) |

#### Returns

[`IDictionary`](./types.html#idictionary)

***

### convertMediaUrlToVideoEmbed()

**convertMediaUrlToVideoEmbed**(`url`, `__namedParameters?`): `string`

Defined in: [src/core/helpers/utils/convert-media-url-to-video-embed.ts:19](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/convert-media-url-to-video-embed.ts#L19)

Javascript url pattern converter replace youtube/vimeo url in embed code.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `url` | `string` |
| `__namedParameters` | \{ `width?`: `number`; `height?`: `number`; \} |
| `__namedParameters.width?` | `number` |
| `__namedParameters.height?` | `number` |

#### Returns

`string`

***

### css()

Get the value of a computed style property for the first element in the set of matched elements or set one or
more CSS properties for every matched element

#### Param

**element**

HTML element

#### Param

**key**

An object of property-value pairs to set. A CSS property name.

#### Param

**value**

A value to set for the property.

#### Param

**onlyStyleMode**

Get value from style attribute, without calculating

#### Call Signature

**css**(`element`, `key`): `number`

Defined in: [src/core/helpers/utils/css.ts:22](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L22)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `key` | `"left"` \| `"right"` \| `"width"` \| `"height"` \| `"top"` \| `"bottom"` \| `"min"` \| `"max"` \| `"margin"` \| `"padding"` \| `"fontsize"` \| `"font-size"` |

##### Returns

`number`

#### Call Signature

**css**(`element`, `key`): `string` \| `number`

Defined in: [src/core/helpers/utils/css.ts:39](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L39)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `key` | keyof [`CSSStyleDeclaration`](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration) |

##### Returns

`string` \| `number`

#### Call Signature

**css**(`element`, `key`): `string` \| `number`

Defined in: [src/core/helpers/utils/css.ts:44](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L44)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `key` | `string` \| [`IStyle`](./types.html#istyle) |

##### Returns

`string` \| `number`

#### Call Signature

**css**(`element`, `key`, `value`): `string` \| `number`

Defined in: [src/core/helpers/utils/css.ts:49](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L49)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `key` | `string` \| [`IStyle`](./types.html#istyle) |
| `value` | [`StyleValue`](./types.html#stylevalue) |

##### Returns

`string` \| `number`

#### Call Signature

**css**(`element`, `key`, `onlyStyleMode`): `string` \| `number`

Defined in: [src/core/helpers/utils/css.ts:55](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L55)

##### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `key` | `string` \| [`IStyle`](./types.html#istyle) |
| `onlyStyleMode` | `boolean` |

##### Returns

`string` \| `number`

***

### clearCenterAlign()

**clearCenterAlign**(`image`): `void`

Defined in: [src/core/helpers/utils/css.ts:140](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/css.ts#L140)

Clear center align

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `image` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`void`

***

### ctrlKey()

**ctrlKey**(`e`): `boolean`

Defined in: [src/core/helpers/utils/ctrl-key.ts:15](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/ctrl-key.ts#L15)

CTRL pressed

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `e` | [`MouseEvent`](https://developer.mozilla.org/docs/Web/API/MouseEvent) \| [`KeyboardEvent`](https://developer.mozilla.org/docs/Web/API/KeyboardEvent) |

#### Returns

`boolean`

true ctrl key was pressed

***

### dataBind()

**dataBind**\<`T`\>(`elm`, `key`, `value?`): `T`

Defined in: [src/core/helpers/utils/data-bind.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/data-bind.ts#L16)

#### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `T` | `any` |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | `object` \| [`Node`](https://developer.mozilla.org/docs/Web/API/Node) \| [`IViewComponent`](../interfaces/types.IViewComponent.html)\<[`IViewBased`](../interfaces/types.IViewBased.html)\<[`IViewOptions`](../interfaces/types.IViewOptions.html)\>\> |
| `key` | `string` |
| `value?` | `T` |

#### Returns

`T`

***

### defaultLanguage()

**defaultLanguage**(`language?`, `defaultLanguage?`): `string`

Defined in: [src/core/helpers/utils/default-language.ts:17](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/default-language.ts#L17)

Try define user language

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `language?` | `string` | `undefined` |
| `defaultLanguage?` | `string` | `'en'` |

#### Returns

`string`

***

### error()

**error**(`message`): [`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

Defined in: [src/core/helpers/utils/error/error.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/error/error.ts#L16)

Helper for create Error object

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `message` | `string` |

#### Returns

[`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

***

### connection()

**connection**(`message`): [`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

Defined in: [src/core/helpers/utils/error/error.ts:20](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/error/error.ts#L20)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `message` | `string` |

#### Returns

[`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

***

### options()

**options**(`message`): [`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

Defined in: [src/core/helpers/utils/error/error.ts:24](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/error/error.ts#L24)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `message` | `string` |

#### Returns

[`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

***

### abort()

**abort**(`message?`): [`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

Defined in: [src/core/helpers/utils/error/errors/abort-error.ts:17](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/error/errors/abort-error.ts#L17)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `message` | `string` | `'Aborted'` |

#### Returns

[`Error`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error)

***

### isAtom()

**isAtom**(`obj`): `boolean`

Defined in: [src/core/helpers/utils/extend.ts:13](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/extend.ts#L13)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `obj` | `unknown` |

#### Returns

`boolean`

***

### markAsAtomic()

**markAsAtomic**\<`T`\>(`obj`): `T`

Defined in: [src/core/helpers/utils/extend.ts:17](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/extend.ts#L17)

#### Type Parameters

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

#### Parameters

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

#### Returns

`T`

***

### fastClone()

**fastClone**\<`T`\>(`object`): `T`

Defined in: [src/core/helpers/utils/extend.ts:27](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/extend.ts#L27)

#### Type Parameters

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

#### Parameters

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

#### Returns

`T`

***

### getClassName()

**getClassName**(`obj`): `string`

Defined in: [src/core/helpers/utils/get-class-name.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/get-class-name.ts#L16)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `obj` | [`IDictionary`](./types.html#idictionary) |

#### Returns

`string`

***

### get()

**get**\<`T`\>(`chain`, `obj`): [`Nullable`](./types.html#nullable)\<`T`\>

Defined in: [src/core/helpers/utils/get.ts:34](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/get.ts#L34)

Safe access in tree object

#### Type Parameters

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `chain` | `string` |
| `obj` | [`IDictionary`](./types.html#idictionary) |

#### Returns

[`Nullable`](./types.html#nullable)\<`T`\>

#### Example

```js
const obj = {
  a: {
    b: {
      c: {
        e: false
      }
    }
  }
};

console.log(Jodit.modules.Helpers.get('a.b.c.d.e', obj) === false); // true
console.log(Jodit.modules.Helpers.get('a.b.a.d.e', obj) === null); // false
```

***

### humanSizeToBytes()

**humanSizeToBytes**(`human`): `number`

Defined in: [src/core/helpers/utils/human-size-to-bytes.ts:15](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/human-size-to-bytes.ts#L15)

Converts from human readable file size (kb,mb,gb,tb) to bytes

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `human` | `string` | readable file size. Example 1gb or 11.2mb |

#### Returns

`number`

***

### isUnsafeProtoKey()

**isUnsafeProtoKey**(`key`): `boolean`

Defined in: [src/core/helpers/utils/is-unsafe-proto-key.ts:21](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/is-unsafe-proto-key.ts#L21)

Check whether a key can be used to pollute the prototype chain.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `key` | `string` |

#### Returns

`boolean`

***

### markDeprecated()

**markDeprecated**(`method`, `names?`, `ctx?`): (...`args`) => `void`

Defined in: [src/core/helpers/utils/mark-deprecated.ts:20](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/mark-deprecated.ts#L20)

Mark function as deprecated

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `method` | [`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function) | `undefined` |
| `names` | `string`[] | `...` |
| `ctx` | `any` | `null` |

#### Returns

(...`args`) => `void`

***

### parseQuery()

**parseQuery**(`queryString`): [`IDictionary`](./types.html#idictionary)\<`string`\>

Defined in: [src/core/helpers/utils/parse-query.ts:16](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/parse-query.ts#L16)

Parse query string

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `queryString` | `string` |

#### Returns

[`IDictionary`](./types.html#idictionary)\<`string`\>

***

### reset()

**reset**\<`T`\>(`key`): [`Nullable`](./types.html#nullable)\<`T`\>

Defined in: [src/core/helpers/utils/reset.ts:27](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/reset.ts#L27)

Reset Vanilla JS native function

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`Function`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `key` | `string` |

#### Returns

[`Nullable`](./types.html#nullable)\<`T`\>

#### Example

```js
reset('Array.from')(Set([1,2,3])) // [1, 2, 3]
```
You must use the function derived from the method immediately as its iframe is being removed

***

### inView()

**inView**(`elm`, `root`, `doc`): `boolean`

Defined in: [src/core/helpers/utils/scroll-into-view.ts:31](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/scroll-into-view.ts#L31)

Check if element is in view

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `root` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `doc` | [`Document`](https://developer.mozilla.org/docs/Web/API/Document) |

#### Returns

`boolean`

***

### scrollIntoViewIfNeeded()

**scrollIntoViewIfNeeded**(`elm`, `root`, `doc`): `void`

Defined in: [src/core/helpers/utils/scroll-into-view.ts:78](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/scroll-into-view.ts#L78)

Scroll element into view if it is not in view

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `elm` | [`Nullable`](./types.html#nullable)\<[`Node`](https://developer.mozilla.org/docs/Web/API/Node)\> |
| `root` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `doc` | [`Document`](https://developer.mozilla.org/docs/Web/API/Document) |

#### Returns

`void`

***

### ~~$$()~~

**$$**\<`T`\>(`selector`, `root`): `T`[]

Defined in: [src/core/helpers/utils/selector.ts:51](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/selector.ts#L51)

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `selector` | `string` |
| `root` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) \| [`DocumentFragment`](https://developer.mozilla.org/docs/Web/API/DocumentFragment) |

#### Returns

`T`[]

#### Deprecated

Do not use it in new code

***

### getXPathByElement()

**getXPathByElement**(`element`, `root`): `string`

Defined in: [src/core/helpers/utils/selector.ts:95](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/selector.ts#L95)

Calculate XPath selector

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |
| `root` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`string`

***

### refs()

**refs**\<`T`\>(`root`): [`IDictionary`](./types.html#idictionary)\<`T`\>

Defined in: [src/core/helpers/utils/selector.ts:129](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/selector.ts#L129)

Find all `ref` or `data-ref` elements inside HTMLElement

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `root` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) \| \{ `container`: [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement); \} |

#### Returns

[`IDictionary`](./types.html#idictionary)\<`T`\>

***

### cssPath()

**cssPath**(`el`): [`Nullable`](./types.html#nullable)\<`string`\>

Defined in: [src/core/helpers/utils/selector.ts:151](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/selector.ts#L151)

Calculate full CSS selector

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `el` | [`Element`](https://developer.mozilla.org/docs/Web/API/Element) |

#### Returns

[`Nullable`](./types.html#nullable)\<`string`\>

***

### resolveElement()

**resolveElement**(`element`, `od`): [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

Defined in: [src/core/helpers/utils/selector.ts:193](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/selector.ts#L193)

Try to find element by selector

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `element` | `unknown` |
| `od` | [`Document`](https://developer.mozilla.org/docs/Web/API/Document) \| [`ShadowRoot`](https://developer.mozilla.org/docs/Web/API/ShadowRoot) |

#### Returns

[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)

***

### set()

**set**\<`T`\>(`chain`, `value`, `obj`): `void`

Defined in: [src/core/helpers/utils/set.ts:32](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/set.ts#L32)

Safe access in tree object

#### Type Parameters

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `chain` | `string` |
| `value` | `unknown` |
| `obj` | [`IDictionary`](./types.html#idictionary) |

#### Returns

`void`

#### Example

```js
const a = {}, b = {};
Jodit.modules.Helpers.set('a.b.c.d.e', 1, a);
console.log(a);// {a: {b: {c: {d: {e: 1}}}}}

Jodit.modules.Helpers.set('a.0.e', 1, b);
console.log(b);// {a: [{e: 1}]}
```

***

### call()

**call**\<`T`, `R`\>(`func`, ...`args`): `R`

Defined in: [src/core/helpers/utils/utils.ts:36](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L36)

Call function with parameters

#### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* `any`[] |
| `R` |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `func` | (...`args`) => `R` |
| ...`args` | `T` |

#### Returns

`R`

#### Example

```js
const f = Math.random();
Jodit.modules.Helpers.call(f > 0.5 ? Math.ceil : Math.floor, f);
```

***

### callThis()

**callThis**\<`This`, `T`, `R`\>(`func`, `thisArg`, ...`args`): `R`

Defined in: [src/core/helpers/utils/utils.ts:53](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L53)

Call function with parameters

#### Type Parameters

| Type Parameter |
| ------ |
| `This` |
| `T` *extends* `any`[] |
| `R` |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `func` | (`this`, ...`args`) => `R` |
| `thisArg` | `This` |
| ...`args` | `T` |

#### Returns

`R`

#### Example

```js
const f = Math.random();
Jodit.modules.Helpers.call(f > 0.5 ? Math.ceil : Math.floor, f);
```

***

### markOwner()

**markOwner**(`jodit`, `elm`): `void`

Defined in: [src/core/helpers/utils/utils.ts:64](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L64)

Mark element for debugging

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `jodit` | [`IViewBased`](../interfaces/types.IViewBased.html) |
| `elm` | [`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement) |

#### Returns

`void`

***

### callPromise()

**callPromise**(`condition`, `callback?`): [`CanPromise`](./types.html#canpromise)\<`void`\>

Defined in: [src/core/helpers/utils/utils.ts:73](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L73)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `condition` | `unknown` |
| `callback?` | () => `any` |

#### Returns

[`CanPromise`](./types.html#canpromise)\<`void`\>

***

### loadImage()

**loadImage**(`src`, `jodit`): [`RejectablePromise`](../interfaces/types.RejectablePromise.html)\<[`HTMLImageElement`](https://developer.mozilla.org/docs/Web/API/HTMLImageElement)\>

Defined in: [src/core/helpers/utils/utils.ts:92](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L92)

Allow load image in promise

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `src` | `string` |
| `jodit` | [`IViewBased`](../interfaces/types.IViewBased.html) |

#### Returns

[`RejectablePromise`](../interfaces/types.RejectablePromise.html)\<[`HTMLImageElement`](https://developer.mozilla.org/docs/Web/API/HTMLImageElement)\>

***

### keys()

**keys**(`obj`, `own?`): `string`[]

Defined in: [src/core/helpers/utils/utils.ts:119](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L119)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `obj` | `object` | `undefined` |
| `own` | `boolean` | `true` |

#### Returns

`string`[]

***

### memorizeExec()

**memorizeExec**\<`T`\>(`editor`, `_`, `__namedParameters`, `preProcessValue?`): `false` \| `void`

Defined in: [src/core/helpers/utils/utils.ts:136](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L136)

Memorize last user chose

#### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `T` *extends* [`IJodit`](../interfaces/types.IJodit.html) | [`IJodit`](../interfaces/types.IJodit.html) |

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `editor` | `T` |
| `_` | `unknown` |
| `__namedParameters` | \{ `control`: [`IControlType`](../interfaces/types.IControlType.html)\<`T`\>; \} |
| `__namedParameters.control` | [`IControlType`](../interfaces/types.IControlType.html)\<`T`\> |
| `preProcessValue?` | (`value`) => `string` |

#### Returns

`false` \| `void`

***

### getDataTransfer()

**getDataTransfer**(`event`): [`Nullable`](./types.html#nullable)\<[`DataTransfer`](https://developer.mozilla.org/docs/Web/API/DataTransfer)\>

Defined in: [src/core/helpers/utils/utils.ts:162](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L162)

Get DataTransfer from different event types

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `event` | [`ClipboardEvent`](https://developer.mozilla.org/docs/Web/API/ClipboardEvent) \| [`DragEvent`](https://developer.mozilla.org/docs/Web/API/DragEvent) |

#### Returns

[`Nullable`](./types.html#nullable)\<[`DataTransfer`](https://developer.mozilla.org/docs/Web/API/DataTransfer)\>

***

### getPropertyDescriptor()

**getPropertyDescriptor**(`obj`, `prop`): [`CanUndef`](./types.html#canundef)\<`PropertyDescriptor`\>

Defined in: [src/core/helpers/utils/utils.ts:176](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/utils.ts#L176)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `obj` | `unknown` |
| `prop` | `string` |

#### Returns

[`CanUndef`](./types.html#canundef)\<`PropertyDescriptor`\>

### previewBox()

**previewBox**(`editor`, `defaultValue?`, `points?`, `container?`): \[[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement), () => `void`\]

Defined in: [src/core/helpers/utils/print.ts:71](https://github.com/xdan/jodit/blob/main/src/core/helpers/utils/print.ts#L71)

Generates a copy of an HTML document, resizes images, executes JS

 beforePreviewBox(string | undefined, 'pt' | 'px' | '')
 afterPreviewBox(HTMLElement)

#### Parameters

| Parameter | Type | Default value |
| ------ | ------ | ------ |
| `editor` | [`IJodit`](../interfaces/types.IJodit.html) | `undefined` |
| `defaultValue?` | `string` | `undefined` |
| `points?` | `""` \| `"px"` \| `"pt"` | `'px'` |
| `container?` | [`Nullable`](./types.html#nullable)\<[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement)\> | `null` |

#### Returns

\[[`HTMLElement`](https://developer.mozilla.org/docs/Web/API/HTMLElement), () => `void`\]
