pacc 4.35.0 → 4.37.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pacc",
3
- "version": "4.35.0",
3
+ "version": "4.37.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -66,8 +66,10 @@ export function* attributeIterator(definition, filter, path = []) {
66
66
  }
67
67
  }
68
68
 
69
+ export const filterWritable = (name, attribute) => attribute.writable;
70
+
69
71
  export function* writableAttributeIterator(definition) {
70
- yield* attributeIterator(definition, (name, def) => def.writable);
72
+ yield* attributeIterator(definition, filterWritable);
71
73
  }
72
74
 
73
75
  export function prepareValue(value, attribute) {
package/src/types.mjs CHANGED
@@ -1,18 +1,14 @@
1
- export const baseTypes = new Set(["string", "number", "bigint", "boolean"]);
2
-
3
1
  export const types = {
4
- base: { name: "base" },
5
-
6
- string: { name: "string", extends: "base" },
2
+ string: { name: "string", primitive: true },
7
3
  number: {
8
4
  name: "number",
9
- extends: "base",
5
+ primitive: true,
10
6
  prepareValue: value =>
11
7
  typeof value === "string" ? parseFloat(value) : value
12
8
  },
13
9
  boolean: {
14
10
  name: "boolean",
15
- extends: "base",
11
+ primitive: true,
16
12
  prepareValue: value =>
17
13
  !value || value === "0" || value === "false" || value === "no"
18
14
  ? false
@@ -20,16 +16,15 @@ export const types = {
20
16
  },
21
17
  integer: {
22
18
  name: "integer",
23
- extends: "base",
19
+ primitive: true,
24
20
  prepareValue: value => (typeof value === "string" ? parseInt(value) : value)
25
21
  },
26
22
  "unsigned-integer": {
27
23
  name: "unsigned-integer",
28
- prepareValue: value =>
29
- typeof value === "string" ? parseInt(value) : value,
30
- extends: "integer"
24
+ primitive: true,
25
+ prepareValue: value => (typeof value === "string" ? parseInt(value) : value)
31
26
  },
32
- url: { name: "url", extends: "string" },
27
+ url: { name: "url", primitive: true },
33
28
  object: { name: "object", extends: "base" }
34
29
  };
35
30
 
@@ -16,3 +16,4 @@ export function attributeIterator(definition: any, filter: Function, path?: stri
16
16
  export function writableAttributeIterator(definition: any): Generator<[string[], any], void, any>;
17
17
  export function prepareValue(value: any, attribute: any): any;
18
18
  export function manadatoryAttributesPresent(object: any, attributes: any): boolean;
19
+ export function filterWritable(name: any, attribute: any): any;
package/types/types.d.mts CHANGED
@@ -1,37 +1,33 @@
1
1
  export function addType(type: any): any;
2
2
  export function oneOfType(definition: any): any;
3
- export const baseTypes: Set<string>;
4
3
  export const types: {
5
- base: {
6
- name: string;
7
- };
8
4
  string: {
9
5
  name: string;
10
- extends: string;
6
+ primitive: boolean;
11
7
  };
12
8
  number: {
13
9
  name: string;
14
- extends: string;
10
+ primitive: boolean;
15
11
  prepareValue: (value: any) => any;
16
12
  };
17
13
  boolean: {
18
14
  name: string;
19
- extends: string;
15
+ primitive: boolean;
20
16
  prepareValue: (value: any) => boolean;
21
17
  };
22
18
  integer: {
23
19
  name: string;
24
- extends: string;
20
+ primitive: boolean;
25
21
  prepareValue: (value: any) => any;
26
22
  };
27
23
  "unsigned-integer": {
28
24
  name: string;
25
+ primitive: boolean;
29
26
  prepareValue: (value: any) => any;
30
- extends: string;
31
27
  };
32
28
  url: {
33
29
  name: string;
34
- extends: string;
30
+ primitive: boolean;
35
31
  };
36
32
  object: {
37
33
  name: string;