# Introduction


# General concepts


# Skeleton


# Installation


# Public API

Public features that can be imported.

```typescript
import {
    // Attribute.
    Attribute,
    Attributes,

    // Tag.
    Tag,
    TagExtension,
    Tags,

    // Variable.
    Variable
    Variables
} from '@angular-package/tag';
```


# Code

Click the [**link**](https://github.com/angular-package/tag/blob/main/src/attribute/src/attribute.class.ts) to see code on the GitHub.

```typescript
/**
 * The `Attribute` string object is the immutable attribute of the name equal to the value in a form name="value".
 */
export class Attribute<
  Name extends string = string,
  Value extends string = string
> extends String {
  /**
   * The `get` accessor returns the attribute, the primitive value of a specified `Attribute` object.
   * @returns The return value is the attribute of a generic type variables `Name` and `Value` on the template `${Name}="${Value}"`.
   * @angularpackage
   */
  public get attribute(): `${Name}="${Value}"` {
    return this.valueOf();
  }

  /**
   * The `get` accessor returns the attribute name of a specified `Attribute` object.
   * @returns The return value is the attribute name of a generic type variable `Name`.
   * @angularpackage
   */
  public get name(): Name {
    return this.#name;
  }

  /**
   * The `get` accessor returns the attribute value of a specified `Attribute` object.
   * @returns The return value is the attribute value of a generic type variable `Value`.
   * @angularpackage
   */
  public get value(): Value {
    return this.#value;
  }

  /**
   * The property, with the help of `toStringTag`, changes the default tag to `'attribute'` for an instance of `Attribute`. It can be read
   * by the `typeOf()` function of `@angular-package/type`.
   */
  public get [Symbol.toStringTag](): string {
    return 'attribute';
  }

  /**
   * The private property represents the attribute name of a generic type variable `Name`.
   */
  #name: Name;

  /**
   * The private property represents the attribute value of a generic type variable `Value`.
   */
  #value: Value;

  /**
   * Checks whether the value is an instance of `Attribute` of any or given name and value.
   * @param value The value of any type to be checked with the 'Attribute' instance.
   * @param name An optional attribute name of a generic type variable `Name` to check if the given `value` contains.
   * @param val An optional attribute value of a generic type variable `Value` to check if the given `value` contains.
   * @returns The return value is a `boolean` indicating whether the provided `value` is the `Attribute` instance.
   * @angularpackage
   */
  public static isAttribute<Name extends string, Value extends string>(
    value: any,
    name?: Name,
    val?: Value
  ): value is Attribute<Name, Value> {
    return typeof value === 'object' && value instanceof this
      ? (typeof name === 'string' ? value.name === name : true) &&
          (typeof val === 'string' ? value.value === val : true)
      : false;
  }

  /**
   * The static "tag" method builds from the given parameters attribute of a `string` type on the template. With the added `string` before
   * the expressions, it returns a prefixed attribute name.
   * @param template An array of strings, where the first element is a prefix for the attribute name in the template.
   * @param values A rest parameter of expressions, where the first element is the name and the second is the value.
   * @returns The return value is the attribute of a `string` type indicating the attribute name is equal to the value.
   * @angularpackage
   */
  protected static template(
    template: TemplateStringsArray,
    ...values: any[]
  ): string {
    let name: string, value: string;
    return ([name, value] = values), `${template[0]}${name}="${value}"`;
  }

  /**
   * Creates a new instance of `Attribute` with the name and value.
   * @param name The attribute name of a generic type variable `Name`.
   * @param value The attribute value of a generic type variable `Value`.
   * @angularpackage
   */
  constructor(name: Name, value: Value) {
    super(Attribute.template`${name}${value}`);
    this.#name = String(name) as Name;
    this.#value = String(value) as Value;
  }

  /**
   * Returns attribute primitive value converted to the array where the first element is the name, and the second is the value.
   * @returns The return value is the attribute of a read-only array.
   * @angularpackage
   */
  public toArray(): readonly [Name, Value] {
    return [this.#name, this.#value];
  }

  /**
   * Returns attribute primitive value converted to the object where the key is the attribute name.
   * @returns The return value is the attribute of a read-only object.
   * @angularpackage
   */
  public toObject(): Readonly<{ [key in Name]: Value }> {
    return Object.freeze({
      [this.#name]: this.#value,
    }) as { [key in Name]: Value };
  }

  /**
   * Returns attribute, the primitive value of a specified object.
   * @returns The return value is the attribute of generic type variables `Name` and `Value` on the template `${Name}="${Value}"`.
   * @angularpackage
   */
  public toString(): `${Name}="${Value}"` {
    return this.valueOf();
  }

  /**
   * Returns attribute, the primitive value of a specified object.
   * @returns The return value is the attribute of generic type variables `Name` and `Value` on the template `${Name}="${Value}"`.
   * @angularpackage
   */
  public valueOf(): `${Name}="${Value}"` {
    return super.valueOf() as any;
  }
}

```


# Attribute {}

The [`Attribute`](/attribute/attribute) [`string`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) object is the [immutable](https://developer.mozilla.org/en-US/docs/Glossary/Immutable) attribute of the name equal to the value in a form **name="value"**.

## Instance

### Accessors

|                                                      |                                                                                                                                                                                                                 |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [attribute](/attribute/instance/accessors/attribute) | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the **attribute**, the primitive value of a specified [`Attribute`](/attribute/attribute) object. |
| [name](/attribute/instance/accessors/name)           | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **name** of a specified [`Attribute`](/attribute/attribute) object.                 |
| [value](/attribute/instance/accessors/value)         | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **value** of a specified [`Attribute`](/attribute/attribute) object.                |

### Properties

|                                                |                                                                                                                                                                                                               |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [#name](/attribute/instance/properties/name)   | The private property represents the attribute **name** of a generic type variable [`Name`](/attribute/generic-type-variables#wrap-opening).                                                                   |
| [#value](/attribute/instance/properties/value) | The private property represents the attribute **value** of a generic type variable [`Value`](https://tag.angular-package.dev/attribute/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than). |

### Methods

|                                                    |   |
| -------------------------------------------------- | - |
| [toArray()](/attribute/instance/methods/toarray)   |   |
| [toObject()](/attribute/instance/methods/toobject) |   |
| [toString()](/attribute/instance/methods/tostring) |   |
| [valueOf()](/attribute/instance/methods/valueof)   |   |

## Static

### Methods

|               |   |
| ------------- | - |
| isAttribute() |   |


# Generic type variables

### Attribute`<`<mark style="color:green;">`Name`</mark>`, ...>` <a href="#wrap-opening" id="wrap-opening"></a>

​A generic type variable constrained by the [`string`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), by default of the value captured from the provided `name` indicates the opening type of a new [`Attribute`](/attribute/attribute) instance.

```typescript
class Attribute<
  Name extends string = string, // <--- Declare generic type variable Name.
  Value extends string = string
> extends String {
  ...
  constructor(
    name: Name,   // <--- Capture generic type variable Name.
    value: Value  
  ) { ... }
  ...
}
```

### `Attribute<...,`<mark style="color:green;">`Value`</mark>`>`

​A generic type variable constrained by the [`string`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), by default of the value captured from the provided `value` indicates the value type of a new [`Attribute`](/attribute/attribute) instance.

```typescript
class Attribute<
  Name extends string = string,
  Value extends string = string // <--- Declare generic type variable Value.
> extends String {
  ...
  constructor(
    name: Name,
    value: Value  // <--- Capture generic type variable Value.
  ) { ... }
  ...
}
```


# ★ Attribute() constructor

## `Attribute()`

Creates a new [`Attribute`](/attribute/attribute) instance with the **name** and **value**.

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

```typescript
constructor(name: Name, value: Value) {
  super(Attribute.template`${name}${value}`);
  this.#name = String(name) as Name;
  this.#value = String(value) as Value;
}
```

{% endcode %}

### Parameters

<table><thead><tr><th width="173.44477578337126">Name: type</th><th>Description</th></tr></thead><tbody><tr><td><code>name: Name</code></td><td>The attribute name of a generic type variable <code>Name</code>.</td></tr><tr><td><code>value: Value</code></td><td>The attribute value of a generic type variable <code>Value</code>.</td></tr></tbody></table>

### Returns

The **return value** is a new [`Attribute`](/attribute/attribute) instance with the primitive value of the provided `name` and `value` on the template `${Name}="${Value}"`.

### Example usage

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

// Returns Attribute {'color="red"'} of type Attribute<"color", "red">.
new Attribute('color', 'red');
```


# Instance


# Accessors

## Public

|                                                                            |                                                                                                                                                                                                                                                                                                                                                                   |
| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [attribute](/attribute/instance/accessors/attribute)                       | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the **attribute**, the primitive value of a specified [`Attribute`](/attribute/attribute) object.                                                                                                                                                   |
| [name](/attribute/instance/accessors/name)                                 | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **name** of a specified [`Attribute`](/attribute/attribute) object.                                                                                                                                                                   |
| [value](/attribute/instance/accessors/value)                               | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **value** of a specified [`Attribute`](/attribute/attribute) object.                                                                                                                                                                  |
| [\[Symbol.toStringTag\]](/attribute/instance/accessors/symbol.tostringtag) | The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor, with the help of [`toStringTag`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) of Symbol, changes the default object tag to `attribute` for an instance of the [`Attribute`](/attribute/attribute). |


# attribute

### `Attribute.prototype.attribute`

The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the **attribute**, the primitive value of a specified [`Attribute`](/attribute/attribute) object.

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

```typescript
public get attribute(): `${Name}="${Value}"` {
  return this.valueOf();
}
```

{% endcode %}

### Returns

The **return value** is the attribute of a generic type variables [`Name`](/attribute/generic-type-variables#wrap-opening) and [`Value`](https://tag.angular-package.dev/attribute/instance/accessors/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than) on the template `${Name}="${Value}"`.

### Example usage

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

// Define a new Attribute.
const colorRed = new Attribute('color', 'red');

// Returns color="red" of type "color=\"red\"".
colorRed.attribute;
```


# name

### `Attribute.prototype.name`

The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **name** of a specified [`Attribute`](/attribute/attribute) object.

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

```typescript
public get name(): Name {
  return this.#name;
}
```

{% endcode %}

### Returns

The **return value** is the attribute **name** of a generic type variable [`Name`](/attribute/generic-type-variables#wrap-opening).

### Example usage

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

// Define a new Attribute.
const colorRed = new Attribute('color', 'red');

// Returns color of type "color".
colorRed.name;
```


# value

### `Attribute.prototype.value`

The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor returns the attribute **value** of a specified [`Attribute`](/attribute/attribute) object.

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

```typescript
public get value(): Value {
  return this.#value;
}
```

{% endcode %}

### Returns

The **return value** is the attribute **value** of a generic type variable [`Value`](https://tag.angular-package.dev/attribute/instance/accessors/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than).

### Example usage

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

// Define a new Attribute.
const colorRed = new Attribute('color', 'red');

// Returns red of type "red".
colorRed.value;
```


# \[Symbol.toStringTag]

### `[Symbol.toStringTag]`

The [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) accessor, with the help of [`toStringTag`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) of Symbol, changes the default object tag to `attribute` for an instance of the [`Attribute`](/attribute/attribute).

{% hint style="info" %}
**Good to know:** The property can be read by the `typeOf()` function of the type package.
{% endhint %}

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

```typescript
public get [Symbol.toStringTag](): string {
  return 'attribute';
}
```

{% endcode %}

### Example usage

```typescript
// Example usage.
import { Attribute } from '@angular-package/tag';
import { typeOf } from '@angular-package/type';

// Define the attribute.
const attributeColor = new Attribute('color', 'red');

// Returns 'attribute'.
typeOf(attributeColor);
```


# Properties

## Private

|                                                |                                                                                                                                                                                                                        |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [#name](/attribute/instance/properties/name)   | The private property represents the attribute **name** of a generic type variable [`Name`](/attribute/generic-type-variables#wrap-opening).                                                                            |
| [#value](/attribute/instance/properties/value) | The private property represents the attribute **value** of a generic type variable [`Value`](https://tag.angular-package.dev/attribute/instance/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than). |


# #name

### `#name:`<mark style="color:green;">`Name`</mark>

The private property represents the attribute name of a generic type variable [`Name`](/attribute/generic-type-variables#wrap-opening).

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

```typescript
#name: Name;
```

{% endcode %}


# #value

### `#value:`<mark style="color:green;">`Value`</mark>

The private property represents the attribute **value** of a generic type variable [`Value`](https://tag.angular-package.dev/attribute/instance/properties/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than).

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

```typescript
#value: Value;
```

{% endcode %}


# Methods

## Public

|                                                    |                                                                                                                                                      |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| [toArray()](/attribute/instance/methods/toarray)   | Returns attribute primitive value converted to the `array` where the first element is the name, and the second is the value.                         |
| [toObject()](/attribute/instance/methods/toobject) | Returns attribute primitive value converted to the `object` where the property key is the attribute name, and property value is the attribute value. |
| [toString()](/attribute/instance/methods/tostring) | Returns attribute, the primitive value of a specified [`Attribute`](/attribute/attribute) object.                                                    |
| [valueOf()](/attribute/instance/methods/valueof)   | Returns attribute, the primitive value of a specified [`Attribute`](/attribute/attribute) object.                                                    |


# toArray()

### `Attribute.prototype.toArray()`

Returns attribute primitive value converted to the `array` where the first element is the name, and the second is the value.

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

```typescript
public toArray(): readonly [Name, Value] {
  return [this.#name, this.#value];
}
```

{% endcode %}

### Returns

The **return value** is the attribute of a read-only `array`.

### Example usage

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


```


# toObject()

### `Attribute.prototype.toObject()`

Returns attribute primitive value converted to the object where the property key is the attribute name, and property value is the attribute value.

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

```typescript
public toObject(): Readonly<{ [key in Name]: Value }> {
  return Object.freeze({
    [this.#name]: this.#value,
  }) as { [key in Name]: Value };
}
```

{% endcode %}

### Returns

The **return value** is the attribute of a read-only object.

### Example usage

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


```


# toString()

### `Attribute.prototype.toString()`

Returns attribute, the primitive value of a specified [`Attribute`](/attribute/attribute) object.

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

```typescript
public toString(): `${Name}="${Value}"` {
  return this.valueOf();
}
```

{% endcode %}

### Returns

The **return value** is the attribute of generic type variables [`Name`](/attribute/generic-type-variables#wrap-opening) and [`Value`](https://tag.angular-package.dev/attribute/instance/methods/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than) on the template `${Name}="${Value}"`.

### Example usage

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


```


# valueOf()

### `Attribute.prototype.valueOf()`

Returns attribute, the primitive value of a specified [`Attribute`](/attribute/attribute) object.

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

```typescript
public valueOf(): `${Name}="${Value}"` {
  return super.valueOf() as any;
}
```

{% endcode %}

### Returns

The **return value** is the attribute of generic type variables [`Name`](/attribute/generic-type-variables#wrap-opening) and [`Value`](https://tag.angular-package.dev/attribute/instance/methods/pages/iQwmCbLKUWR7oXo4hkkM#attribute-less-than...-value-greater-than) on the template `${Name}="${Value}"`.

### Example usage

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


```


# Static


# Methods

## Public

|               |   |
| ------------- | - |
| isAttribute() |   |


# isAttribute()

### `Attribute.isAttribute()`

The method checks whether the `value` of any type is the [`Wrap`](broken://pages/vlRmumtdkPHxEUrU51WO) instance of any or given `opening` and `closing` chars.

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

```typescript
public static isAttribute<Name extends string, Value extends string>(
  value: any,
  name?: Name,
  val?: Value
): value is Attribute<Name, Value> {
  return typeof value === 'object' && value instanceof this
    ? (typeof name === 'string' ? value.name === name : true) &&
        (typeof val === 'string' ? value.value === val : true)
    : false;
}
```

{% endcode %}

| Generic type variables                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong><code>Name extends string</code></strong></p><p>A generic type variable constrained by the <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html#string"><code>string</code></a>, by default of the value captured from the provided <code>opening</code> indicates the <code>Opening</code> type of the <a href="/pages/vlRmumtdkPHxEUrU51WO"><code>Wrap</code></a> instance the return type.</p>  |
| <p><strong><code>Value extends string</code></strong></p><p>A generic type variable constrained by the <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html#string"><code>string</code></a>, by default of the value captured from the provided <code>closing</code> indicates the <code>Closing</code> type of the <a href="/pages/vlRmumtdkPHxEUrU51WO"><code>Wrap</code></a> instance via return type.</p> |

### Parameters

| Name: type    | Description                                                                                                                           |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `value: any`  | The value of any type to test against the [`Wrap`](broken://pages/vlRmumtdkPHxEUrU51WO) instance of any or given opening and closing. |
| `name?: Name` | Optional opening chars of a generic type variable `Opening` to check if the given `value` contains.                                   |
| `val?: Value` | Optional closing chars of a generic type variable `Closing` to check if the given `value` contains.                                   |

### Returns

| Return type                                                                                                                                                                                                                                                                                                                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong><code>value is Attribute\<Name, Value></code></strong></p><p>The return type is a <code>boolean</code> indicating the <code>value</code> parameter is an instance of <a href="/pages/vlRmumtdkPHxEUrU51WO"><code>Wrap</code></a> that takes a generic type variable <code>Opening</code> <code>Text</code> and <code>Closing</code>.</p> |

The **return value** is a [`boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) type indicating whether the value is an instance of `Wrap` of any, or the given `opening`, `closing`, and `text`.

### Example usage

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

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

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

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

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

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

// Returns false, denying the type Wrap<"[", "span", "]">
Wrap.isWrap(tagWrap, '[', ']', 'span');

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

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

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


# Usage


# Attributes {}


# Generic type variables


# Instance


# Accessors


# Properties


# Attributes() constructor


# Instance methods


# Usage


# Tag {}


# Usage


# TagExtension {}


# Usage


# Tags {}


# Usage


# BBCode {}


# Usage


# HTML {}


# Usage


# Variable {}


# Usage


# Variables {}


# Usage


# ClosingTag


# OpeningTag


# TaggedText


# ⋯ Chat

## Discord

Feel free to ask any questions about the **angular package** project in a general chat room on the discord.

{% embed url="<https://discord.gg/cf9nquzY>" %}
Discord general.
{% endembed %}

## Gitter

Feel free to ask any questions about the **angular package** project in a dedicated chat room on the gitter [here](https://gitter.im/angularpackage/Lobby).

{% embed url="<https://gitter.im/angularpackage/Lobby>" %}
Gitter chat.
{% endembed %}


# @ Email

## Email

[contact@angular-package.dev](#email)


# ฿ Cryptocurrency

Become a sponsor to the **angular package** by sending the cryptocurrency:

## Bitcoin (BTC)

{% hint style="success" %}
My Public Address to Receive BTC

bc1qnf709336tfl57ta5mfkf4t9fndhx7agxvv9svn
{% endhint %}

Pay me via Trust Wallet: <https://link.trustwallet.com/send?coin=0&address=bc1qnf709336tfl57ta5mfkf4t9fndhx7agxvv9svn>

## Ethereum (ETH)&#x20;

{% hint style="success" %}
My Public Address to Receive ETH

0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94
{% endhint %}

Pay me via Trust Wallet: <https://link.trustwallet.com/send?coin=60&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94>

## Smart Chain (BNB)

{% hint style="success" %}
My Public Address to Receive BNB

0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94
{% endhint %}

Pay me via Trust Wallet: <https://link.trustwallet.com/send?coin=20000714&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94>

## Tether USDT (BEP20)

{% hint style="success" %}
My Public Address to Receive USDT

0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94
{% endhint %}

Pay me via Trust Wallet: <https://link.trustwallet.com/send?coin=20000714&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94&token_id=0x55d398326f99059fF775485246999027B3197955>

## Stellar (XLM)

{% hint style="success" %}
My Public Address to Receive XLM

GAFFFB7H3LG42O6JA63FJDRK4PP4JCNEOPHLGLLFH625X2KFYQ4UYVM4
{% endhint %}

Pay me via Trust Wallet: <https://link.trustwallet.com/send?coin=148&address=GAFFFB7H3LG42O6JA63FJDRK4PP4JCNEOPHLGLLFH625X2KFYQ4UYVM4>


# $ Fiat

## DonorBox

Become a sponsor to the **angular package** by using DonorBox sponsor [page](https://donorbox.org/become-a-sponsor-to-the-angular-package?default_interval=o).

{% embed url="<https://donorbox.org/become-a-sponsor-to-the-angular-package?default_interval=o>" %}

## GitHub

Become a sponsor to the **angular package** by using the **GitHub** sponsor [page](https://github.com/sponsors/angular-package).

{% embed url="<https://github.com/sponsors/angular-package>" %}

## Patreon

Become a sponsor to the **angular package** through my private sciborrudnicki account on the Patreon [page](https://www.patreon.com/sciborrudnicki).

{% embed url="<https://www.patreon.com/sciborrudnicki>" %}


