Skip to content

Commit 2c7ec63

Browse files
Merge pull request #2 from typescript-package/develop
v0.1.0
2 parents eaad107 + 3cf61b4 commit 2c7ec63

File tree

4 files changed

+42
-31
lines changed

4 files changed

+42
-31
lines changed

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<a href="https://www.typescriptlang.org/">
33
<img
44
src="https://avatars.githubusercontent.com/u/189666396?s=150&u=9d55b1eb4ce258974ead76bf07ccf49ef0eb0ea7&v=4"
5-
title="typescript-package/controller - A lightweight TypeScript package with for various kind of controllers."
5+
title="typescript-package/controller - A lightweight TypeScript package with various kind of controllers for behavior control."
66
/>
77
</a>
88

@@ -127,7 +127,15 @@ MIT © typescript-package ([license][typescript-package-license])
127127

128128
## Related packages
129129

130-
- [`@xtypescript/property`](https://github.com/xtypescript/property) - A comprehensive, reactive TypeScript library for precise and extensible object property control.
130+
- **[@typescript-package/chain-descriptor](https://github.com/typescript-package/chain-descriptor)**: A **TypeScript** library for chain property descriptor.
131+
- **[@typescript-package/controller](https://github.com/typescript-package/controller)**: A **TypeScript** package with for various kind of controllers.
132+
- **[@typescript-package/descriptor](https://github.com/typescript-package/descriptor)**: A **TypeScript** library for property descriptor.
133+
- **[@typescript-package/descriptor-chain](https://github.com/typescript-package/descriptor-chain)**: A **TypeScript** library for property descriptor chain.
134+
- **[@typescript-package/descriptors](https://github.com/typescript-package/descriptors)**: A **TypeScript** library for property descriptors.
135+
- **[@typescript-package/property](https://github.com/typescript-package/property)**: A **TypeScript** package with features to handle object properties.
136+
- **[@typescript-package/wrap-descriptor](https://github.com/typescript-package/wrap-descriptor)**: A **TypeScript** package for wrapping object descriptors.
137+
- **[@typescript-package/wrap-property](https://github.com/typescript-package/wrap-property)**: A **TypeScript** package for wrapping object properties.
138+
- **[@xtypescript/property](https://github.com/xtypescript/property)** - A comprehensive, reactive **TypeScript** library for precise and extensible object property control.
131139

132140
<!-- This package: typescript-package -->
133141
<!-- GitHub: badges -->
@@ -145,7 +153,8 @@ MIT © typescript-package ([license][typescript-package-license])
145153
<!-- Package: typescript-package -->
146154
<!-- npm -->
147155
[typescript-package-npm-badge-svg]: https://badge.fury.io/js/@typescript-package%2Fcontroller.svg
148-
[typescript-package-npm-badge]: https://badge.fury.io/js/@typescript-package%controller
156+
[typescript-package-npm-badge]: https://badge.fury.io/js/@typescript-package%2Fcontroller
157+
149158

150159
<!-- GIT -->
151160
[git-semver]: http://semver.org/

package-lock.json

Lines changed: 17 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@typescript-package/controller",
3-
"version": "0.0.1",
3+
"version": "0.1.0",
44
"author": "wwwdev.io <[email protected]>",
55
"description": "A lightweight TypeScript package with various kind of controllers for behavior control.",
66
"license": "MIT",
@@ -10,9 +10,9 @@
1010
},
1111
"peerDependencies": {
1212
"@typedly/callback": "^1.0.0",
13-
"@typedly/controlled-descriptor": "^0.0.1",
14-
"@typedly/controller": "^0.2.0",
15-
"@typedly/descriptor": "^10.0.0"
13+
"@typedly/controlled-descriptor": "^0.1.0",
14+
"@typedly/controller": "^0.3.0",
15+
"@typedly/descriptor": "^10.1.1"
1616
},
1717
"scripts": {
1818
"prepublishOnly": "npm run pkg && npm run clean",

src/property/descriptor/lib/controlled-descriptor-controller.class.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Interface.
2+
import { ControlledPropertyDescriptor } from '@typedly/controlled-descriptor';
23
import { WrappedPropertyDescriptor } from '@typedly/descriptor';
34
import { WrappedPropertyDescriptorController } from '@typedly/controller';
4-
import { ControlledPropertyDescriptor } from '@typedly/controlled-descriptor';
55
// Type.
66
import { GetterCallback, SetterCallback } from '@typedly/callback';
77
/**
@@ -15,7 +15,7 @@ import { GetterCallback, SetterCallback } from '@typedly/callback';
1515
* @template {boolean} [N=boolean] The type of enabled.
1616
* @template {boolean} [C=boolean] The type of configurable.
1717
* @template {boolean} [E=boolean] The type of enumerable.
18-
* @template {ControlledPropertyDescriptor<O, K, V, A, N, C, E, D>} [D=ControlledPropertyDescriptor<O, K, V, A, N, C, E, any>] The type of previous descriptor.
18+
* @template {ControlledPropertyDescriptor<O, K, V, A, N, C, E, D> | PropertyDescriptor} [D=ControlledPropertyDescriptor<O, K, V, A, N, C, E, any>] The type of previous descriptor.
1919
* @implements {WrappedPropertyDescriptorController<O, K, V, A, N, C, E, D>}
2020
*/
2121
export class ControlledDescriptorController<
@@ -34,7 +34,7 @@ export class ControlledDescriptorController<
3434
// Enumerable.
3535
E extends boolean = boolean,
3636
// The type of the previous descriptor.
37-
D extends ControlledPropertyDescriptor<O, K, V, A, N, C, E, D> = ControlledPropertyDescriptor<O, K, V, A, N, C, E, any>,
37+
D extends ControlledPropertyDescriptor<O, K, V, A, N, C, E, D> | PropertyDescriptor = ControlledPropertyDescriptor<O, K, V, A, N, C, E, any>,
3838
> implements WrappedPropertyDescriptorController<O, K, V, A, N, C, E, D> {
3939
/**
4040
* @description The default active state of the descriptor.
@@ -213,8 +213,10 @@ export class ControlledDescriptorController<
213213
key: K,
214214
descriptor?: Partial<WrappedPropertyDescriptor<O, K, V, A, N, C, E, D>>,
215215
) {
216-
this.#active = typeof descriptor?.active === 'boolean' || typeof descriptor?.active === 'object' ? descriptor?.active : ControlledDescriptorController.active as A;
217-
this.#enabled = typeof descriptor?.enabled === 'boolean' || typeof descriptor?.enabled === 'object' ? descriptor?.enabled : ControlledDescriptorController.enabled as N;
216+
this.#active = typeof descriptor?.active === 'boolean' || typeof descriptor?.active === 'object'
217+
? descriptor?.active : ControlledDescriptorController.active as A;
218+
this.#enabled = typeof descriptor?.enabled === 'boolean' || typeof descriptor?.enabled === 'object'
219+
? descriptor?.enabled : ControlledDescriptorController.enabled as N;
218220
this.#get = descriptor?.get!;
219221
this.#index = descriptor?.index;
220222
this.#key = key;
@@ -262,7 +264,7 @@ export class ControlledDescriptorController<
262264
}
263265

264266
/**
265-
* @inheritdoc
267+
* @inheritdoc
266268
*/
267269
public isActive(callback: 'both' | 'onGet' | 'onSet'): boolean {
268270
switch(callback) {
@@ -285,7 +287,7 @@ export class ControlledDescriptorController<
285287
* @param {A} active
286288
*/
287289
#setActive(callback: 'both' | 'onGet' | 'onSet', active: A) {
288-
if (typeof this.#active === 'object' && ('onGet' === callback || 'onSet' === callback)) {
290+
if (typeof this.#active === 'object' && (callback === 'onGet' || callback === 'onSet')) {
289291
this.#active[callback] = active;
290292
} else {
291293
this.#active = active as A;

0 commit comments

Comments
 (0)