Static methods
Public
Wrapped.isWrapped()
Wrapped.isWrapped()
The static method checks whether the provided value
of any type is an instance of Wrapped
.
public static isWrapped<
Text extends string,
Opening extends string = string,
Closing extends string = string
>(
value: any,
opening?: Opening,
closing?: Closing
): value is Wrapped<Text, Opening, Closing> {
return isInstance(value, Wrapped)
? isStringType(opening) && isStringType(closing)
? closing === value.closing && opening === value.opening
: isStringType(opening)
? opening === value.opening
: isStringType(closing)
? closing === value.closing
: true
: false;
}
Parameters
value: any
The value of any type to test against the Wrapped
instance.
opening?: Opening
An optional opening of the wrap
to check if the given value
contains.
closing?: Closing
An optional closing of the wrap
to check if the given value
contains.
Returns
value is Wrapped<Text, Opening, Closing>
The return type is a boolean
indicating the value
parameter is an instance of Wrapped that takes a generic type variable Opening
and Closing
of the wrap and Text
of the wrapped text.
The return value is a boolean
indicating whether the value is the Wrapped
instance of any or given wrap.
Example usage
// Example usage.
import { Wrap, Wrapped } from '@angular-package/text';
// Define the wrapped.
const wrapped = new Wrapped(`[Oh no, I am wrapped]`, new Wrap('[', ']'));
// Returns `true`
Wrapped.isWrapped(wrapped, new Wrap('[', ']'));
Wrapped.template()
Wrapped.template()
The static "tag" method builds the wrapped text of a string
type on the template literal. It consists of a text
and an instance of Wrap
.
public static template(
template: TemplateStringsArray,
...values: any[]
): string {
let text, wrap;
return (
([text, wrap] = values),
`${Wrap.isWrap(wrap) ? wrap.opening : ''}${template[0]}${text || ''}${
Wrap.isWrap(wrap) ? wrap.closing : ''
}`
);
}
Parameters
template: TemplateStringsArray
An array of string
values where the first element is a text between opening and closing.
...values: any[]
A rest parameter of expressions, where the first element is the text and the second is an instance of Wrap
.
Returns
The return value is a string
the wrapped text, or an empty string
if elements of the provided values
are not string
.
Example usage
// Example usage.
import { Wrap, Wrapped } from '@angular-package/text';
// Define.
const wrap = new Wrap('[[[[', ']]]]');
// Returns [[[[prefix-text to be wrapped]]]]
Wrapped.template`prefix-${'text to be wrapped'}${wrap}`;
Last updated
Was this helpful?