pmcf 4.8.0 → 4.8.2

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/README.md CHANGED
@@ -42,69 +42,84 @@ generates config packages for:
42
42
 
43
43
  * [Base](#base)
44
44
  * [Parameters](#parameters)
45
- * [propertyIterator](#propertyiterator)
45
+ * [extendedAttribute](#extendedattribute)
46
46
  * [Parameters](#parameters-1)
47
- * [getProperties](#getproperties)
47
+ * [propertyIterator](#propertyiterator)
48
48
  * [Parameters](#parameters-2)
49
+ * [getProperties](#getproperties)
50
+ * [Parameters](#parameters-3)
49
51
  * [priority](#priority)
50
52
  * [expression](#expression)
51
- * [Parameters](#parameters-3)
52
- * [findService](#findservice)
53
53
  * [Parameters](#parameters-4)
54
- * [expand](#expand)
54
+ * [findService](#findservice)
55
55
  * [Parameters](#parameters-5)
56
+ * [property](#property)
57
+ * [Parameters](#parameters-6)
58
+ * [expand](#expand)
59
+ * [Parameters](#parameters-7)
56
60
  * [PortEndpoint](#portendpoint)
57
- * [Parameters](#parameters-6)
61
+ * [Parameters](#parameters-8)
58
62
  * [port](#port)
59
63
  * [socketAddress](#socketaddress)
60
64
  * [HTTPEndpoint](#httpendpoint)
61
- * [Parameters](#parameters-7)
65
+ * [Parameters](#parameters-9)
62
66
  * [port](#port-1)
63
67
  * [SkeletonNetworkInterface](#skeletonnetworkinterface)
64
68
  * [networkAddresses](#networkaddresses)
65
- * [Parameters](#parameters-8)
69
+ * [Parameters](#parameters-10)
66
70
  * [SystemdJournalRemoteService](#systemdjournalremoteservice)
67
71
  * [Properties](#properties)
68
72
  * [systemdConfigs](#systemdconfigs)
69
- * [Parameters](#parameters-9)
73
+ * [Parameters](#parameters-11)
70
74
  * [SystemdJournalUploadService](#systemdjournaluploadservice)
71
75
  * [Properties](#properties-1)
72
76
  * [systemdConfigs](#systemdconfigs-1)
73
- * [Parameters](#parameters-10)
77
+ * [Parameters](#parameters-12)
74
78
  * [NetworkAddress](#networkaddress)
75
- * [Parameters](#parameters-11)
79
+ * [Parameters](#parameters-13)
76
80
  * [subnet](#subnet)
77
81
  * [networkInterface](#networkinterface)
78
82
  * [address](#address)
79
83
  * [addresses](#addresses)
80
- * [Parameters](#parameters-12)
84
+ * [Parameters](#parameters-14)
81
85
  * [cidrAddresses](#cidraddresses)
82
- * [Parameters](#parameters-13)
86
+ * [Parameters](#parameters-15)
83
87
  * [isTemplate](#istemplate)
84
88
  * [services](#services)
85
- * [Parameters](#parameters-14)
89
+ * [Parameters](#parameters-16)
86
90
  * [named](#named)
87
- * [Parameters](#parameters-15)
91
+ * [Parameters](#parameters-17)
88
92
  * [serviceEndpoints](#serviceendpoints)
89
- * [Parameters](#parameters-16)
93
+ * [Parameters](#parameters-18)
90
94
  * [domainName](#domainname)
91
- * [Parameters](#parameters-17)
95
+ * [Parameters](#parameters-19)
92
96
  * [domainFromDominName](#domainfromdominname)
93
- * [Parameters](#parameters-18)
97
+ * [Parameters](#parameters-20)
94
98
  * [sectionLines](#sectionlines)
95
- * [Parameters](#parameters-19)
99
+ * [Parameters](#parameters-21)
96
100
  * [asArray](#asarray)
97
- * [Parameters](#parameters-20)
101
+ * [Parameters](#parameters-22)
98
102
  * [asIterator](#asiterator)
99
- * [Parameters](#parameters-21)
103
+ * [Parameters](#parameters-23)
100
104
 
101
105
  ## Base
102
106
 
107
+ attributes: essential values
108
+ properties: use defined values to support attribute value definitions
109
+
103
110
  ### Parameters
104
111
 
105
112
  * `owner` **[Base](#base)** 
106
113
  * `data` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** 
107
114
 
115
+ ### extendedAttribute
116
+
117
+ #### Parameters
118
+
119
+ * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
120
+
121
+ Returns **any** 
122
+
108
123
  ### propertyIterator
109
124
 
110
125
  Retrive attribute values from an object.
@@ -146,6 +161,14 @@ Returns **any** 
146
161
 
147
162
  Returns **any** service with the highest priority
148
163
 
164
+ ### property
165
+
166
+ #### Parameters
167
+
168
+ * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 
169
+
170
+ Returns **any** 
171
+
149
172
  ### expand
150
173
 
151
174
  #### Parameters
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "4.8.0",
3
+ "version": "4.8.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/base.mjs CHANGED
@@ -28,6 +28,8 @@ import { asArray } from "./utils.mjs";
28
28
 
29
29
  /**
30
30
  *
31
+ * attributes: essential values
32
+ * properties: use defined values to support attribute value definitions
31
33
  */
32
34
  export class Base {
33
35
  static name = "base";
@@ -376,7 +378,7 @@ export class Base {
376
378
  for (const node of this.walkDirections(["this", "extends"])) {
377
379
  const value = getAttribute(node, name);
378
380
  if (value !== undefined) {
379
- return value;
381
+ return this.expand(value);
380
382
  }
381
383
  }
382
384
  }
@@ -603,7 +605,7 @@ export class Base {
603
605
  for (const node of this.walkDirections(["this", "extends", "owner"])) {
604
606
  const value = node._properties?.[name];
605
607
  if (value !== undefined) {
606
- return value;
608
+ return this.expand(value);
607
609
  }
608
610
  }
609
611
  }
@@ -68,7 +68,7 @@ export class OpenLDAPService extends Service {
68
68
  }
69
69
 
70
70
  get base() {
71
- return this.expand(this._base);
71
+ return this.extendedAttribute("_base");
72
72
  }
73
73
 
74
74
  set base(value) {
@@ -76,7 +76,7 @@ export class OpenLDAPService extends Service {
76
76
  }
77
77
 
78
78
  get uri() {
79
- return this._uri;
79
+ return this.extendedAttribute("_uri");
80
80
  }
81
81
 
82
82
  set uri(value) {
package/types/base.d.mts CHANGED
@@ -1,6 +1,8 @@
1
1
  export function extractFrom(object: any, typeDefinition?: any): any;
2
2
  /**
3
3
  *
4
+ * attributes: essential values
5
+ * properties: use defined values to support attribute value definitions
4
6
  */
5
7
  export class Base {
6
8
  static name: string;