@itrocks/framework 0.3.4 → 0.3.5

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.
@@ -15,6 +15,7 @@ const composition_1 = require("@itrocks/composition");
15
15
  const config_1 = require("@itrocks/config");
16
16
  const core_transformers_1 = require("@itrocks/core-transformers");
17
17
  const core_transformers_2 = require("@itrocks/core-transformers");
18
+ const property_1 = require("@itrocks/decorator/property");
18
19
  const file_1 = require("@itrocks/file");
19
20
  const lazy_loading_2 = require("@itrocks/lazy-loading");
20
21
  const list_properties_1 = require("@itrocks/list-properties");
@@ -69,14 +70,14 @@ function bind() {
69
70
  (0, property_view_2.initOrderedProperties)();
70
71
  (0, mysql_1.mysqlDependsOn)({
71
72
  applyReadTransformer: async function (data, property, object) {
72
- const value = await (0, transformer_1.applyTransformer)(data[property], object, property, transformer_3.SQL, transformer_3.READ, data);
73
- if ((value !== transformer_2.IGNORE) && Reflect.getOwnMetadata(lazy_loading_2.PROTECT_GET, object, property)) {
74
- Reflect.deleteMetadata(lazy_loading_2.PROTECT_GET, object, property);
73
+ const value = await (0, transformer_1.applyTransformer)(data[(0, rename_1.toColumn)(property)], object, property, transformer_3.SQL, transformer_3.READ, data);
74
+ if ((value !== transformer_2.IGNORE) && Reflect.getOwnMetadata(lazy_loading_2.PROTECT_GET, object, (0, property_1.metadataNameOf)(property))) {
75
+ Reflect.deleteMetadata(lazy_loading_2.PROTECT_GET, object, (0, property_1.metadataNameOf)(property));
75
76
  }
76
77
  return value;
77
78
  },
78
79
  applySaveTransformer: async function (object, property, data) {
79
- const value = Reflect.getMetadata(lazy_loading_2.PROTECT_GET, object, property)
80
+ const value = Reflect.getMetadata(lazy_loading_2.PROTECT_GET, object, (0, property_1.metadataNameOf)(property))
80
81
  ? (Object.hasOwn(object, property) ? object[property] : undefined)
81
82
  : await object[property];
82
83
  return (0, transformer_1.applyTransformer)(value, object, property, transformer_3.SQL, transformer_3.SAVE, data);
@@ -1,14 +1,9 @@
1
- import { KeyOf } from '@itrocks/class-type';
2
1
  import { PropertyTypes } from '@itrocks/property-type';
3
2
  import { ReflectClass as RC } from '@itrocks/reflect';
4
- import { ReflectProperty } from './reflect-property';
5
3
  export declare class ReflectClass<T extends object = object> extends RC<T> {
6
- inheritedPropertyTypes(propertyTypes: PropertyTypes): void;
4
+ inheritPropertyTypes(propertyTypes: PropertyTypes<T>): void;
7
5
  get parent(): any;
8
- get properties(): {
9
- [s: string]: import("@itrocks/reflect").ReflectProperty<T>;
10
- [Symbol.iterator](): ArrayIterator<import("@itrocks/reflect").ReflectProperty<T>>;
11
- };
12
- property(name: KeyOf<T>): ReflectProperty<T>;
6
+ get properties(): import("@itrocks/reflect").ReflectProperty<T, keyof T>[];
7
+ get property(): { [K in keyof T]: import("@itrocks/reflect").ReflectProperty<T, K>; };
13
8
  get uses(): import("@itrocks/class-type").Type[];
14
9
  }
@@ -5,27 +5,34 @@ const reflect_1 = require("@itrocks/reflect");
5
5
  const uses_1 = require("@itrocks/uses");
6
6
  const reflect_property_1 = require("./reflect-property");
7
7
  class ReflectClass extends reflect_1.ReflectClass {
8
- inheritedPropertyTypes(propertyTypes) {
9
- super.inheritedPropertyTypes(propertyTypes);
8
+ inheritPropertyTypes(propertyTypes) {
9
+ super.inheritPropertyTypes(propertyTypes);
10
10
  for (const uses of this.uses) {
11
11
  Object.assign(propertyTypes, new ReflectClass(uses).propertyTypes);
12
12
  }
13
13
  }
14
14
  get parent() {
15
- const parent = super.parent;
16
- return parent
17
- ? Object.setPrototypeOf(parent, ReflectClass.prototype)
18
- : parent;
15
+ const parent = super.parent
16
+ ? Object.defineProperties(Object.create(ReflectClass.prototype), Object.getOwnPropertyDescriptors(super.parent))
17
+ : super.parent;
18
+ Object.defineProperty(this, 'parent', { configurable: true, enumerable: false, value: parent, writable: true });
19
+ return parent;
19
20
  }
20
21
  get properties() {
21
22
  const properties = super.properties;
22
23
  for (const reflectProperty of properties) {
23
- Object.setPrototypeOf(reflectProperty, reflect_property_1.ReflectProperty.prototype);
24
+ Object.defineProperties(Object.create(reflect_property_1.ReflectProperty.prototype), Object.getOwnPropertyDescriptors(reflectProperty));
24
25
  }
26
+ Object.defineProperty(this, 'properties', { configurable: true, enumerable: false, value: properties, writable: true });
25
27
  return properties;
26
28
  }
27
- property(name) {
28
- return new reflect_property_1.ReflectProperty(this, name);
29
+ get property() {
30
+ const properties = super.property;
31
+ for (const entry of Object.entries(properties)) {
32
+ properties[entry[0]] = Object.defineProperties(Object.create(reflect_property_1.ReflectProperty.prototype), Object.getOwnPropertyDescriptors(entry[1]));
33
+ }
34
+ Object.defineProperty(this, 'property', { configurable: true, enumerable: false, value: properties, writable: true });
35
+ return properties;
29
36
  }
30
37
  get uses() {
31
38
  const value = (0, uses_1.usesOf)(this.type);
package/package.json CHANGED
@@ -96,5 +96,5 @@
96
96
  "build:front": "tsc -p src/front/tsconfig.json && sed -i 's#../../##g' *.js *.d.ts"
97
97
  },
98
98
  "types": "./cjs/framework.d.ts",
99
- "version": "0.3.4"
99
+ "version": "0.3.5"
100
100
  }