# isWrapped()

## `Wrap.prototype.isWrapped()`

The method checks whether the [primitive value](https://docs.angular-package.dev/wrapper/wrap/methods/instance/valueof) of the specified object is wrapped by the [opening](https://docs.angular-package.dev/wrapper/wrap/accessors/opening) and [closing](https://docs.angular-package.dev/wrapper/wrap/accessors/closing) chars of an instance or given [`opening`](#opening-string-this.-opening) and [`closing`](#closing-string-this.-closing) chars.

{% hint style="info" %}
If given `opening` or `closing` chars in the constructor are the **empty** `string`, the method returns **`false`**.
{% endhint %}

{% code title="wrap.class.ts" %}

```typescript
public isWrapped(
  opening: string = this.#opening,
  closing: string = this.#closing
): boolean {
  return this.hasOpening(opening) && this.hasClosing(closing);
}
```

{% endcode %}

### Parameters

#### `opening: string = this.#opening`

Optional opening chars of a [`string`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) type to check if the [primitive value](https://docs.angular-package.dev/wrapper/wrap/methods/instance/valueof) contains them at the **beginning**. The default value is picked from the private [`#opening`](https://docs.angular-package.dev/wrapper/wrap/properties/opening) property of an instance.

#### `closing: string = this.#closing`

Optional closing chars of a [`string`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) type to check if the [primitive value](https://docs.angular-package.dev/wrapper/wrap/methods/instance/valueof) contains them at the **end**. The default value is picked from the private [`#closing`](https://docs.angular-package.dev/wrapper/wrap/properties/closing) property of an instance.

### Returns

The **return value** is a [`boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) indicating whether the object has both [`opening`](https://docs.angular-package.dev/wrapper/wrap/accessors/opening) and [`closing`](https://docs.angular-package.dev/wrapper/wrap/accessors/closing) chars or given [`opening`](#opening-string-this.-opening) and [`closing`](#closing-string-this.-closing) chars.

## Example usage

### Basic

```typescript
// Example usage.
import { Wrap } from '@angular-package/wrapper';

// Returns true. Checks `[]`.
new Wrap(`[`, `]`, 'quote').isWrapped();

// Returns false.
// It's not wrapped cause of opening chars are an empty string.
new Wrap(``, `]`, 'quote').isWrapped();

// Returns false.
// It's not wrapped cause of closing chars are an empty string.
new Wrap(`[`, ``, 'quote').isWrapped();

// Returns false.
new Wrap(``, ``, 'quote').isWrapped();
```

### Given `opening`

```typescript
// Example usage.
import { Wrap } from '@angular-package/wrapper';

// Returns true. Checks `[]`.
new Wrap(`[`, `]`, 'quote').isWrapped('[');

// Returns false.
new Wrap(`[`, `]`, 'quote').isWrapped('[', '');

// Returns false. Checks `<]`.
new Wrap(`[`, `]`, 'quote').isWrapped('<');

// Returns false.
// It's not wrapped cause of opening chars are an empty string.
new Wrap(``, `]`, 'quote').isWrapped('<');

// Returns false.
// It's not wrapped cause of closing chars are an empty string.
new Wrap(`[`, ``, 'quote').isWrapped('[');

// Returns false.
// It's not wrapped cause of closing chars are an empty string.
new Wrap(`[`, ``, 'quote').isWrapped('[', ''),
```

### Given `closing`

```typescript
// Example usage.
import { Wrap } from '@angular-package/wrapper';

// Returns true. Checks `[]`.
new Wrap(`[`, `]`, 'quote').isWrapped(undefined, ']');

// Returns false. Checks `[>`.
new Wrap(`[`, `]`, 'quote').isWrapped(undefined, '>');

// Returns false.
// It's not wrapped cause of opening chars are an empty string.
new Wrap(``, `]`, 'quote').isWrapped(undefined, ']');

// Returns false.
// It's not wrapped cause of opening chars are an empty string.
new Wrap(``, `]`, 'quote').isWrapped(``, ']');
```

### Given `opening` and `closing` chars

```typescript
// Example usage.
import { Wrap } from '@angular-package/wrapper';

// Returns false.
new Wrap(`[`, `]`, 'quote').isWrapped('[', ']');

// Returns false.
new Wrap(`[`, `]`, 'quote').isWrapped('[', '>');

// Returns false.
new Wrap(`[`, `]`, 'quote').isWrapped('<', ']');

// Returns false.
new Wrap(`[`, `]`, 'quote').isWrapped('<', '>');

// Returns false.
new Wrap(``, ``, 'quote').isWrapped('', '');
```
