Static methods

The static methods of `Wrap` the string object.

Public

Wrap.isWrap()

The method checks if the value of any type is the Wrap instance of any or given opening and closing.

wrap.class.ts
public static isWrap<Opening extends string, Closing extends string>(
  value: any,
  opening?: Opening,
  closing?: Closing
): value is Wrap<Opening, Closing> {
  return isInstance(value, Wrap)
    ? isStringType(opening) && isStringType(closing)
      ? opening === value.opening && closing === value.closing
      : isStringType(opening)
      ? opening === value.opening
      : isStringType(closing)
      ? closing === value.closing
      : true
    : false;
}
Generic type variables

Opening extends string

Closing extends string

Parameters

Name: type
Description

value: any

The value of any type to test against the Wrap instance of any or given opening and closing.

opening?: Opening

An optional wrap opening to check if the given value contains.

closing?: Closing

An optional wrap closing to check if the given value contains.

Returns

Return type

value is Wrap<Opening, Closing>

The return value is a boolean type indicating whether the value is an instance of Wrap of any or given opening and closing.

Example usage

// Example usage.
import { Wrap } from '@angular-package/text';

const tagWrap = new Wrap(`[`, `]`);

// Returns true confirming the type Wrap<string, string>
Wrap.isWrap(tagWrap);

// Returns true confirming the type Wrap<"[", "]">
Wrap.isWrap(tagWrap, ['[', ']']);

// Returns true confirming the type Wrap<"[", "]">
Wrap.isWrap<'[', ']'>(tagWrap, ['[', ']']);

// Returns false by denying the value is Wrap<"(", ")">
Wrap.isWrap(tagWrap, ['(', ')']);

// Returns false by denying the value is Wrap<"[", "]">
Wrap.isWrap<'[', ']'>(null as any);

// Returns false by denying the value is Wrap<"[", "]">
Wrap.isWrap(null as any, ['[', ']']);

Wrap.template()

The static "tag" method builds the wrap of a string type on the template. With the added string before the expressions, it returns a wrapped string.

wrap.class.ts
public static template(
  template: TemplateStringsArray,
  ...values: string[]
): string {
  let opening, closing;
  if (areString(...values).every()) {
    return (
      ([opening, closing] = values), `${opening}${template[0]}${closing}`
    );
  }
  return ``;
}

Parameters

Name: type
Description

template: TemplateStringsArray

...values: string[]

Returns

The return value is a string the wrap, or an empty string if elements of the provided values are not string.

Example usage

import { Wrap } from '@angular-package/text';

// Returns {{inside}}
Wrap.template`inside${'{{'}${'}}'}`;

Last updated