@thisisagile/easy 12.18.5 → 12.18.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/Meta.d.ts +1 -0
- package/dist/types/Meta.js +2 -0
- package/dist/types/Meta.js.map +1 -1
- package/package.json +2 -2
- package/src/types/Meta.ts +3 -0
package/dist/types/Meta.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ declare class ClassMeta {
|
|
|
7
7
|
get: <T>(key: string) => T;
|
|
8
8
|
set: <T>(key: string, value: T) => T;
|
|
9
9
|
entries: <T = unknown>() => List<[key: string, value: T]>;
|
|
10
|
+
parse: (p: (v: unknown) => unknown, initial?: any) => any;
|
|
10
11
|
properties: (key?: string) => List<PropertyMeta>;
|
|
11
12
|
keys: <T = any>(key: string) => List<T>;
|
|
12
13
|
values: <T = unknown>() => List<T>;
|
package/dist/types/Meta.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.meta = void 0;
|
|
|
4
4
|
require("reflect-metadata");
|
|
5
5
|
const List_1 = require("./List");
|
|
6
6
|
const Is_1 = require("./Is");
|
|
7
|
+
const Constructor_1 = require("./Constructor");
|
|
7
8
|
class ClassMeta {
|
|
8
9
|
constructor(subject, data = (subject.prototype ?? subject).constructor) {
|
|
9
10
|
this.subject = subject;
|
|
@@ -14,6 +15,7 @@ class ClassMeta {
|
|
|
14
15
|
return value;
|
|
15
16
|
};
|
|
16
17
|
this.entries = () => (0, List_1.toList)([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]);
|
|
18
|
+
this.parse = (p, initial = {}) => this.entries().reduce((a, [key, value]) => (0, Constructor_1.on)(a, a => (a[key] = p(value))), initial);
|
|
17
19
|
this.properties = (key) => (0, List_1.toList)([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))])
|
|
18
20
|
.map(p => this.property(p))
|
|
19
21
|
.filter(p => (key ? p.get(key) : p));
|
package/dist/types/Meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meta.js","sourceRoot":"","sources":["../../src/types/Meta.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,iCAAsC;AACtC,6BAAiC;
|
|
1
|
+
{"version":3,"file":"Meta.js","sourceRoot":"","sources":["../../src/types/Meta.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "12.18.
|
|
3
|
+
"version": "12.18.6",
|
|
4
4
|
"description": "Straightforward library for building domain-driven microservice architectures",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@thisisagile/easy-test": "12.18.
|
|
34
|
+
"@thisisagile/easy-test": "12.18.6",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.1.0",
|
package/src/types/Meta.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { List, toList } from './List';
|
|
3
3
|
import { isDefined } from './Is';
|
|
4
|
+
import { on } from './Constructor';
|
|
4
5
|
|
|
5
6
|
class ClassMeta {
|
|
6
7
|
constructor(readonly subject: any, private readonly data: any = (subject.prototype ?? subject).constructor) {}
|
|
@@ -15,6 +16,8 @@ class ClassMeta {
|
|
|
15
16
|
entries = <T = unknown>(): List<[key: string, value: T]> =>
|
|
16
17
|
toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<[any, T]>;
|
|
17
18
|
|
|
19
|
+
parse = (p: (v: unknown) => unknown, initial: any = {}): any => this.entries().reduce((a, [key, value]) => on(a, a => (a[key] = p(value))), initial);
|
|
20
|
+
|
|
18
21
|
properties = (key?: string): List<PropertyMeta> =>
|
|
19
22
|
toList([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))])
|
|
20
23
|
.map(p => this.property(p))
|