Static methods
The static methods of `Wrap` the string object.
Public
Wrap.isWrap()
Wrap.isWrap()
The method checks if the value of any type is the Wrap
instance of any or given opening and closing.
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;
}
Parameters
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
value is Wrap<Opening, Closing>
The return type is a boolean
indicating the value
parameter is an instance of Wrap
that takes a generic type variable Opening
and 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()
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.
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
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
Was this helpful?