@itrocks/core-transformers 0.0.6 → 0.0.8

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.
@@ -27,7 +27,7 @@ function collectionEdit(values, object, property) {
27
27
  const fieldId = depends.fieldIdOf(property);
28
28
  const fieldName = depends.fieldNameOf(property);
29
29
  const propertyType = new reflect_2.ReflectProperty(object, property).collectionType;
30
- const fetch = depends.routeOf(propertyType?.elementType) + '/summary';
30
+ const fetch = depends.routeOf(propertyType.elementType.type) + '/summary';
31
31
  const label = `<label for="${fieldId}">${depends.tr(depends.displayOf(object, property))}</label>`;
32
32
  const inputs = [];
33
33
  for (const object of values) {
@@ -57,18 +57,16 @@ function collectionOutput(values, object, property, askFor) {
57
57
  return '';
58
58
  }
59
59
  if ((0, composition_1.componentOf)(object, property)) {
60
- const propertyType = new reflect_2.ReflectProperty(object, property).type;
61
- if (propertyType instanceof property_type_1.CollectionType) {
62
- const type = propertyType.elementType;
63
- const propertyClass = new reflect_1.ReflectClass(type);
64
- const properties = propertyClass.propertyNames.filter(property => !(0, composition_1.compositeOf)(type, property));
65
- const html = [];
66
- html.push('<table>');
67
- html.push('<tr>' + properties.map(property => '<th>' + depends.tr(property) + '</th>').join('') + '</tr>');
68
- html.push(...values.map(value => '<tr>' + properties.map(property => '<td>' + value[property] + '</td>').join('') + '</tr>'));
69
- html.push('</table>');
70
- return html.join('\n');
71
- }
60
+ const propertyType = new reflect_2.ReflectProperty(object, property).collectionType;
61
+ const type = propertyType.elementType.type;
62
+ const propertyClass = new reflect_1.ReflectClass(type);
63
+ const properties = propertyClass.propertyNames.filter(property => !(0, composition_1.compositeOf)(type, property));
64
+ const html = [];
65
+ html.push('<table>');
66
+ html.push('<tr>' + properties.map(property => '<th>' + depends.tr(property) + '</th>').join('') + '</tr>');
67
+ html.push(...values.map(value => '<tr>' + properties.map(property => '<td>' + value[property] + '</td>').join('') + '</tr>'));
68
+ html.push('</table>');
69
+ return html.join('\n');
72
70
  }
73
71
  if (askFor?.container) {
74
72
  askFor.container = false;
package/cjs/primitive.js CHANGED
@@ -84,7 +84,9 @@ function numberEdit(value, type, property) {
84
84
  function initNumberHtmlTransformers() {
85
85
  (0, transformer_1.setPropertyTypeTransformers)(Number, [
86
86
  { format: transformer_2.HTML, direction: transformer_2.EDIT, transformer: numberEdit },
87
- { format: transformer_2.HTML, direction: transformer_2.INPUT, transformer: (value) => +value }
87
+ { format: transformer_2.HTML, direction: transformer_2.INPUT, transformer: (value) => (value === '') ? undefined : +value },
88
+ { format: transformer_2.HTML, direction: transformer_2.OUTPUT, transformer: (value) => (value === undefined) ? '' : ('' + value) },
89
+ { format: transformer_3.SQL, direction: transformer_3.READ, transformer: (value) => (value === null) ? undefined : value }
88
90
  ]);
89
91
  }
90
92
  // default
package/cjs/store.js CHANGED
@@ -41,9 +41,9 @@ exports.setStoreSqlDependencies = setStoreDependencies;
41
41
  function storeEdit(value, object, property) {
42
42
  const fieldName = depends.fieldNameOf(property);
43
43
  const fieldId = depends.fieldIdOf(property);
44
- const propertyType = new reflect_1.ReflectProperty(object, property).type;
44
+ const type = new reflect_1.ReflectProperty(object, property).type.type;
45
45
  const textValue = value ? depends.representativeValueOf(value) : '';
46
- const fetch = depends.routeOf(propertyType) + '/summary';
46
+ const fetch = depends.routeOf(type) + '/summary';
47
47
  const label = `<label for="${fieldId}">${depends.tr(depends.displayOf(object, property))}</label>`;
48
48
  const name = `id="${fieldId}" name="${fieldName}"`;
49
49
  const inputValue = (textValue === '') ? '' : ` value="${textValue}"`;
@@ -68,7 +68,7 @@ function storeInput(value, object, property, data) {
68
68
  }
69
69
  else if ((typeof value === 'string') && (value !== '')) {
70
70
  const reflectProperty = new reflect_1.ReflectProperty(object, property);
71
- Object.assign(object, { [property]: new reflectProperty.type(value) });
71
+ Object.assign(object, { [property]: new reflectProperty.type.type(value) });
72
72
  }
73
73
  }
74
74
  return depends.ignoreTransformedValue;
@@ -22,7 +22,7 @@ function collectionEdit(values, object, property) {
22
22
  const fieldId = depends.fieldIdOf(property);
23
23
  const fieldName = depends.fieldNameOf(property);
24
24
  const propertyType = new ReflectProperty(object, property).collectionType;
25
- const fetch = depends.routeOf(propertyType?.elementType) + '/summary';
25
+ const fetch = depends.routeOf(propertyType.elementType.type) + '/summary';
26
26
  const label = `<label for="${fieldId}">${depends.tr(depends.displayOf(object, property))}</label>`;
27
27
  const inputs = [];
28
28
  for (const object of values) {
@@ -52,18 +52,16 @@ function collectionOutput(values, object, property, askFor) {
52
52
  return '';
53
53
  }
54
54
  if (componentOf(object, property)) {
55
- const propertyType = new ReflectProperty(object, property).type;
56
- if (propertyType instanceof CollectionType) {
57
- const type = propertyType.elementType;
58
- const propertyClass = new ReflectClass(type);
59
- const properties = propertyClass.propertyNames.filter(property => !compositeOf(type, property));
60
- const html = [];
61
- html.push('<table>');
62
- html.push('<tr>' + properties.map(property => '<th>' + depends.tr(property) + '</th>').join('') + '</tr>');
63
- html.push(...values.map(value => '<tr>' + properties.map(property => '<td>' + value[property] + '</td>').join('') + '</tr>'));
64
- html.push('</table>');
65
- return html.join('\n');
66
- }
55
+ const propertyType = new ReflectProperty(object, property).collectionType;
56
+ const type = propertyType.elementType.type;
57
+ const propertyClass = new ReflectClass(type);
58
+ const properties = propertyClass.propertyNames.filter(property => !compositeOf(type, property));
59
+ const html = [];
60
+ html.push('<table>');
61
+ html.push('<tr>' + properties.map(property => '<th>' + depends.tr(property) + '</th>').join('') + '</tr>');
62
+ html.push(...values.map(value => '<tr>' + properties.map(property => '<td>' + value[property] + '</td>').join('') + '</tr>'));
63
+ html.push('</table>');
64
+ return html.join('\n');
67
65
  }
68
66
  if (askFor?.container) {
69
67
  askFor.container = false;
package/esm/primitive.js CHANGED
@@ -73,7 +73,9 @@ function numberEdit(value, type, property) {
73
73
  export function initNumberHtmlTransformers() {
74
74
  setPropertyTypeTransformers(Number, [
75
75
  { format: HTML, direction: EDIT, transformer: numberEdit },
76
- { format: HTML, direction: INPUT, transformer: (value) => +value }
76
+ { format: HTML, direction: INPUT, transformer: (value) => (value === '') ? undefined : +value },
77
+ { format: HTML, direction: OUTPUT, transformer: (value) => (value === undefined) ? '' : ('' + value) },
78
+ { format: SQL, direction: READ, transformer: (value) => (value === null) ? undefined : value }
77
79
  ]);
78
80
  }
79
81
  // default
package/esm/store.js CHANGED
@@ -34,9 +34,9 @@ export const setStoreSqlDependencies = setStoreDependencies;
34
34
  function storeEdit(value, object, property) {
35
35
  const fieldName = depends.fieldNameOf(property);
36
36
  const fieldId = depends.fieldIdOf(property);
37
- const propertyType = new ReflectProperty(object, property).type;
37
+ const type = new ReflectProperty(object, property).type.type;
38
38
  const textValue = value ? depends.representativeValueOf(value) : '';
39
- const fetch = depends.routeOf(propertyType) + '/summary';
39
+ const fetch = depends.routeOf(type) + '/summary';
40
40
  const label = `<label for="${fieldId}">${depends.tr(depends.displayOf(object, property))}</label>`;
41
41
  const name = `id="${fieldId}" name="${fieldName}"`;
42
42
  const inputValue = (textValue === '') ? '' : ` value="${textValue}"`;
@@ -61,7 +61,7 @@ function storeInput(value, object, property, data) {
61
61
  }
62
62
  else if ((typeof value === 'string') && (value !== '')) {
63
63
  const reflectProperty = new ReflectProperty(object, property);
64
- Object.assign(object, { [property]: new reflectProperty.type(value) });
64
+ Object.assign(object, { [property]: new reflectProperty.type.type(value) });
65
65
  }
66
66
  }
67
67
  return depends.ignoreTransformedValue;
package/package.json CHANGED
@@ -47,5 +47,5 @@
47
47
  "build:esm": "tsc -p tsconfig.esm.json && node esm/esm"
48
48
  },
49
49
  "types": "./esm/core-transformers.d.ts",
50
- "version": "0.0.6"
50
+ "version": "0.0.8"
51
51
  }