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?