Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
c9bbacb
refactor(`CommonDescriptor`): add generic type variables.
sciborrudnicki Jul 4, 2025
5ba8fce
refactor(`DataDescriptor`): add generic type variables.
sciborrudnicki Jul 4, 2025
05c428b
refactor(`Descriptor`): change param name `names` to `keys` and names…
sciborrudnicki Jul 4, 2025
0414459
refactor(`AccessorDescriptor`): add `create()` static method, update …
sciborrudnicki Jul 18, 2025
70f7be7
refactor(`CommonDescriptor`): add implementation, update docs.
sciborrudnicki Jul 18, 2025
3b02c09
refactor: change the `PropertyDescriptorChain` to `DescriptorChain`.
sciborrudnicki Jul 18, 2025
0180923
feat(`DescriptorChainCore`): add core abstraction.
sciborrudnicki Jul 18, 2025
79ad2a0
chore(package): update peer dependencies.
sciborrudnicki Jul 18, 2025
33c6fb6
refactor(`DataDescriptor`): modify the `guard()`, `define()` and add…
sciborrudnicki Jul 18, 2025
6892745
docs(README.md): update.
sciborrudnicki Jul 18, 2025
0128c29
chore(FUNDING): add.
sciborrudnicki Jul 20, 2025
08bf732
feat(`WrappedDescriptor`): add wrapped descriptor.
sciborrudnicki Jul 20, 2025
6159326
feat(`WrappedDescriptorCore`): add abstraction core for `WrappedDesc…
sciborrudnicki Jul 20, 2025
ea57bb0
refactor(`WrappedDescriptor`): wrap the `set` and `get` with `descrip…
sciborrudnicki Jul 20, 2025
78e3339
feat(`WeakWrappedDescriptor`): add.
sciborrudnicki Jul 20, 2025
322ab71
refactor(`WeakWrappedDescriptor`): simplify the static method names/.
sciborrudnicki Jul 20, 2025
abe7deb
refactor: add implementation for `AccessorDescriptor` and `DataDescri…
sciborrudnicki Jul 20, 2025
806c898
chore(api): update.
sciborrudnicki Jul 20, 2025
7be76ca
docs(`WrappedDescriptorCore`): update.
sciborrudnicki Jul 20, 2025
c1d8348
refactor(`DescriptorChainCore`): `D` constrained by `ThisAccessorProp…
sciborrudnicki Jul 20, 2025
43b176b
refactor(`DescriptorChain`): the current use last index, `D` constrai…
sciborrudnicki Jul 20, 2025
ee1e880
feat(`WrappedDescriptorBase`): add the base abstraction.
sciborrudnicki Jul 22, 2025
e893cc2
refactor(`WrappedDescriptorCore`): add implementation, and `index()` …
sciborrudnicki Jul 22, 2025
37aae47
refactor(`WrappedDescriptor`): use base abstraction instead of core, …
sciborrudnicki Jul 22, 2025
d0e77be
feat(`ChainDescriptor`): add descriptor for chaining purposes.
sciborrudnicki Jul 22, 2025
57be24f
refactor(`ChainDescriptor`): update the `add()` method.
sciborrudnicki Jul 22, 2025
4a56688
refactor(`DescriptorChainCore`): add `currentIndex` getter and `setCu…
sciborrudnicki Jul 23, 2025
5e966cf
refactor(`DescriptorChain`): add `currentIndex` getter, and `setCurre…
sciborrudnicki Jul 23, 2025
7eb6923
refactor(`ChainDescriptor`): use current instead of last,
sciborrudnicki Jul 23, 2025
25c2fca
chore(chain): move to chain directory.
sciborrudnicki Jul 23, 2025
b2d76f3
refactor(`WrappedDescriptorBase`): update `set` property of descriptor.
sciborrudnicki Jul 23, 2025
0b2118f
chore(wrapped): move to its own directory.
sciborrudnicki Jul 23, 2025
7bed547
refactor(`WrappedDescriptorCore`): add `D` generic type variable to h…
sciborrudnicki Jul 27, 2025
db5d175
refactor(`WrappedDescriptorCore`): change the `previousDescriptor` ge…
sciborrudnicki Jul 27, 2025
66fa86e
refactor(`WrappedDescriptorBase`): add `D` generic type variable for …
sciborrudnicki Jul 27, 2025
e416423
refactor(`WrappedDescriptor`): add generic type variable `D` for pre…
sciborrudnicki Jul 27, 2025
cfeaf09
chore(package): update @typedly/.descriptor.
sciborrudnicki Jul 27, 2025
d1f627b
refactor: change variable `ED` to `N`.
sciborrudnicki Jul 27, 2025
267c407
refactor(`WrappedDescriptorCore`): change the `ED` to `N`, make the `…
sciborrudnicki Jul 27, 2025
aa82992
refactor(`WrappedDescriptorBase`): change the `ED` to `N`, handle the…
sciborrudnicki Jul 27, 2025
a9e3d3b
refactor(`WrappedDescriptor`): change `ED` to `N`.
sciborrudnicki Jul 27, 2025
706a0f7
chore(`WrappedDescriptorCore`): import `CommonDescriptor` changed to …
sciborrudnicki Jul 31, 2025
6f30a5c
refactor(`WrappedDescriptorBase`): use the private hashed properties …
sciborrudnicki Aug 1, 2025
a4b6281
refactor(`WrappedDescriptorBase`): change the returned value type of …
sciborrudnicki Aug 1, 2025
19d770d
refactor(`WrappedDescriptorBase`): move `set` and `get` to the concre…
sciborrudnicki Aug 1, 2025
51fde65
refactor(`WrappedDescriptor`): move functionality to the base implem…
sciborrudnicki Aug 1, 2025
9e054e1
refactor: change `CommonDescriptor` import location.
sciborrudnicki Aug 2, 2025
7c01b97
refactor(`WrappedDescriptorCore`): use the plain properties instead o…
sciborrudnicki Aug 3, 2025
45c7ccc
refactor(`WrappedDescriptorBase`): move the `wrap()` method to core, …
sciborrudnicki Aug 3, 2025
a0cc7b0
refactor(`WeakWrappedDescriptor`): remove.
sciborrudnicki Aug 3, 2025
abb12d8
feat: add descriptor based on plain properties `PlainWrappedDescripto…
sciborrudnicki Aug 3, 2025
331cb31
refactor(`WrappedDescriptorCore`): `D` constrainment changed to `Wrap…
sciborrudnicki Aug 3, 2025
393952e
chore(wrapped/index): update.
sciborrudnicki Aug 3, 2025
ca95a27
feat(controllable): add descriptor controllable by controller.
sciborrudnicki Aug 3, 2025
63b9922
refactor(`WrappedDescriptorCore`): change the returned type in `wrap(…
sciborrudnicki Aug 8, 2025
260f5e8
refactor(`WrappedDescriptorBase`): add `valueOf()` method, change con…
sciborrudnicki Aug 8, 2025
a150b04
refactor(`WrappedDescriptor`): change param constructor `descriptor` …
sciborrudnicki Aug 8, 2025
fdb8546
refactor(`ControllablePropertyDescriptor`): add `active`, `enabled` a…
sciborrudnicki Aug 8, 2025
2fdb810
refactor(`ControllableDescriptorBase`): change `descriptor` to `attr…
sciborrudnicki Aug 8, 2025
82762a8
refactor: move static properties to core from base.
sciborrudnicki Aug 8, 2025
cbae17c
refactor(`PlainWrappedDescriptorBase`): remove the static properties.
sciborrudnicki Aug 8, 2025
7802094
refactor(`WrappedDescriptorCore`): update the `wrap()` method to simp…
sciborrudnicki Aug 10, 2025
d59f16f
refactor(`WrappedDescriptorCore`): update the `wrap()` method to simp…
sciborrudnicki Aug 10, 2025
4d8d591
refactor(`WrappedDescriptorBase`): add `previous` getter as an a;ias …
sciborrudnicki Aug 10, 2025
d398089
refactor(`WrappedDescriptorCore`): add `abstract previous` getter.
sciborrudnicki Aug 10, 2025
771e90a
refactor(`WrappedDescriptor`): add `PropertyDescriptor` constrainment.
sciborrudnicki Aug 10, 2025
804836f
refactor(`WrappedDescriptorCore`): simplify the `active` and `enabled…
sciborrudnicki Aug 12, 2025
6abe3f0
feat(`WrapDescriptor`): add feature to wrap descriptor in the specifi…
sciborrudnicki Aug 12, 2025
12ce33a
refactor(`AccessorDescriptor`): update the super params, check the ty…
sciborrudnicki Aug 14, 2025
3804058
docs(`AccessorDescriptor): update.
sciborrudnicki Aug 14, 2025
ff66625
docs(`DataDescriptor`): update.
sciborrudnicki Aug 14, 2025
457e6c6
refactor(`Descriptor`): change the `define` getter to static method, …
sciborrudnicki Aug 14, 2025
ee4d7b2
refactor(`Descriptors`,): move to the `descriptors` package.
sciborrudnicki Aug 14, 2025
34aeddf
refactor(`WrapDescriptor`): move to `wrap-property` package.
sciborrudnicki Aug 14, 2025
2184956
test: remove `PropertyDescriptorChain` and `WrapDescriptor`.
sciborrudnicki Aug 14, 2025
1282082
test: update.
sciborrudnicki Aug 14, 2025
147cdc4
refactor: move to different packages.
sciborrudnicki Aug 14, 2025
946b111
refactor(`AccessorDescriptor): remove the check of `get` and `set` in…
sciborrudnicki Aug 14, 2025
0eca6f9
refactor(`DataDescriptor`): update the check of `writable` to differ …
sciborrudnicki Aug 14, 2025
16488c8
chore(api): update.
sciborrudnicki Aug 14, 2025
03b214b
chore(package): update.
sciborrudnicki Aug 14, 2025
b222888
test: uncomment promise in the `Person`.
sciborrudnicki Aug 14, 2025
c7a1fab
chore(package): update.
sciborrudnicki Aug 14, 2025
d8f1ed6
docs(README.md): update.
sciborrudnicki Aug 14, 2025
121a00f
docs(README.md): add note.
sciborrudnicki Aug 14, 2025
bf8e27b
docs(README.md): update.
sciborrudnicki Aug 14, 2025
49a55c4
refactor(`DataDescriptor`): handle the `W` generic in the `constructo…
sciborrudnicki Aug 14, 2025
673d3cd
refactor(`AccessorDescriptor`): change `get` and `set` assignation in…
sciborrudnicki Aug 14, 2025
8998804
refactor(`Descriptor`): handle the `W` properly, and check existence …
sciborrudnicki Aug 14, 2025
b85e508
docs(README.md): update.
sciborrudnicki Aug 14, 2025
5d0bf2a
docs(`DataDescriptor`): update.
sciborrudnicki Aug 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
custom: [
'https://checkout.revolut.com/pay/048b10a3-0e10-42c8-a917-e3e9cb4c8e29',
'https://donate.stripe.com/dR614hfDZcJE3wAcMM'
] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
75 changes: 63 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<img
src="https://raw.githubusercontent.com/typescript-package/core/refs/heads/main/ts-package-barcode-logo-512.png"
width="20%"
title="@typescript-package/descriptor"
title="@typescript-package/descriptor - A lightweight TypeScript library for property descriptor."
/>
</a>

Expand All @@ -14,29 +14,48 @@
[![GitHub issues][typescript-package-badge-issues]][typescript-package-issues]
[![GitHub license][typescript-package-badge-license]][typescript-package-license]

**Version:** v1.0.0-beta

A **lightweight** TypeScript library for property descriptor.

## Features

- Create the accessor descriptors for object properties with the `AccessorDescriptor` class.
- Create the data descriptors for object properties with the `DataDescriptor` class.
- Create accessor or data descriptor for object properties with `Descriptor` class.

## Note

- `Descriptors` moved to the [`@typescript-package/descriptors`](https://github.com/typescript-package/descriptors).
- `PropertyDescriptorChain` moved to the [`@typescript-package/descriptor-chain`](https://github.com/typescript-package/descriptor-chain).

## Table of contents

- [Installation](#installation)
- [Api](#api)
- `AccessorDescriptor`
- `CommonDescriptor`
- `DataDescriptor`
- `Descriptor`
- `Descriptors`
- `PropertyDescriptorChain`
- Abstract
- `CommonDescriptor`
- Class
- `AccessorDescriptor`
- `DataDescriptor`
- `Descriptor`
- [Contributing](#contributing)
- [Support](#support)
- [Code of Conduct](code-of-conduct)
- [Git](#git)
- [Commit](#commit)
- [Versioning](#versioning)
- [License](#license)
- [Related packages](#related-packages)

## Installation

### 1. Install peer dependencies

```bash
npm install @typedly/callback @typedly/descriptor --save-peer
```

### 2. Install the package

```bash
npm install @typescript-package/descriptor --save-peer
```
Expand All @@ -47,18 +66,37 @@ npm install @typescript-package/descriptor --save-peer
import {
// Abstract.
CommonDescriptor,

// Class.
AccessorDescriptor,
DataDescriptor,
Descriptor,
Descriptors,
PropertyDescriptorChain,
} from '@typescript-package/descriptor';
```

## Contributing

Your contributions are **valued**! If you'd like to contribute, please feel **free** to submit a pull request. Help is always appreciated.
Your contributions are valued! If you'd like to contribute, please feel free to submit a pull request. Help is always appreciated.

## Support

If you find this package useful and would like to support its and general development, you can contribute through one of the following payment methods. Your support helps maintain the packages and continue adding new.

Support via:

- [Stripe](https://donate.stripe.com/dR614hfDZcJE3wAcMM)
- [Revolut](https://checkout.revolut.com/pay/048b10a3-0e10-42c8-a917-e3e9cb4c8e29)
- [GitHub](https://github.com/sponsors/angular-package/sponsorships?sponsor=sciborrudnicki&tier_id=83618)
- [DonorBox](https://donorbox.org/become-a-sponsor-to-the-angular-package?default_interval=o)
- [Patreon](https://www.patreon.com/checkout/angularpackage?rid=0&fan_landing=true&view_as=public)

or via Trust Wallet

- [XLM](https://link.trustwallet.com/send?coin=148&address=GAFFFB7H3LG42O6JA63FJDRK4PP4JCNEOPHLGLLFH625X2KFYQ4UYVM4)
- [USDT (BEP20)](https://link.trustwallet.com/send?coin=20000714&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94&token_id=0x55d398326f99059fF775485246999027B3197955)
- [ETH](https://link.trustwallet.com/send?coin=60&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94)
- [BTC](https://link.trustwallet.com/send?coin=0&address=bc1qnf709336tfl57ta5mfkf4t9fndhx7agxvv9svn)
- [BNB](https://link.trustwallet.com/send?coin=20000714&address=0xA0c22A2bc7E37C1d5992dFDFFeD5E6f9298E1b94)

## Code of Conduct

Expand Down Expand Up @@ -99,6 +137,19 @@ How do I know when to release 1.0.0?

MIT © typescript-package ([license][typescript-package-license])

## Related packages

- **[@typescript-package/chain-descriptor](https://github.com/typescript-package/chain-descriptor)**: A **TypeScript** library for chain property descriptor.
- **[@typescript-package/controller](https://github.com/typescript-package/controller)**: A **TypeScript** package with for various kind of controllers.
- **[@typescript-package/descriptor](https://github.com/typescript-package/descriptor)**: A **TypeScript** library for property descriptor.
- **[@typescript-package/descriptor-chain](https://github.com/typescript-package/descriptor-chain)**: A **TypeScript** library for property descriptor chain.
- **[@typescript-package/descriptors](https://github.com/typescript-package/descriptors)**: A **TypeScript** library for property descriptors.
- **[@typescript-package/property](https://github.com/typescript-package/property)**: A **TypeScript** package with features to handle object properties.
- **[@typescript-package/wrap-descriptor](https://github.com/typescript-package/wrap-descriptor)**: A **TypeScript** package for wrapping object descriptors.
- **[@typescript-package/wrap-property](https://github.com/typescript-package/wrap-property)**: A **TypeScript** package for wrapping object properties.
- **[@typescript-package/wrapped-descriptor](https://github.com/typescript-package/wrapped-descriptor)**: A **TypeScript** library for wrapped property descriptor.
- **[@xtypescript/property](https://github.com/xtypescript/property)** - A comprehensive, reactive **TypeScript** library for precise and extensible object property control.

<!-- This package: typescript-package -->
<!-- GitHub: badges -->
[typescript-package-badge-issues]: https://img.shields.io/github/issues/typescript-package/descriptor
Expand Down
92 changes: 22 additions & 70 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"registry": "https://registry.npmjs.org"
},
"peerDependencies": {
"@typedly/callback": "^1.0.0-beta.4",
"@typedly/descriptor": "^2.0.0"
"@typedly/callback": "^1.0.0",
"@typedly/descriptor": "^10.0.0"
},
"scripts": {
"prepublishOnly": "npm run pkg && npm run clean",
Expand All @@ -30,9 +30,7 @@
"AccessorDescriptor",
"CommonDescriptor",
"DataDescriptor",
"Descriptor",
"Descriptors",
"PropertyDescriptorChain"
"Descriptor"
],
"funding": [
{
Expand Down
Loading