@party-stack/foundry-ontology 0.14.4 → 0.14.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.
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaObjectType.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACR,sBAAsB,EAEzB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,sBAAsB,GACjC,cAAc,CAchB"}
1
+ {"version":3,"file":"convertMetaObjectType.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACR,sBAAsB,EAEzB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,sBAAsB,GACjC,cAAc,CAkBhB"}
@@ -9,10 +9,13 @@ export function convertFoundryMetaObjectType(metadata) {
9
9
  primaryKey: objectType.primaryKey,
10
10
  title: objectType.titleProperty,
11
11
  description: objectType.description,
12
- properties: Object.entries(objectType.properties).map(([name, property]) => convertFoundryObjectProperty(name, property)),
12
+ properties: Object.entries(objectType.properties).map(([name, property]) => convertFoundryObjectProperty(name, property, name === objectType.primaryKey)),
13
13
  };
14
14
  }
15
- function convertFoundryObjectProperty(name, property) {
15
+ function convertFoundryObjectProperty(name, property, required) {
16
+ const type = property.valueTypeApiName
17
+ ? { kind: "ref", value: { name: property.valueTypeApiName } }
18
+ : convertFoundryObjectPropertyType(property.dataType);
16
19
  return {
17
20
  id: property.rid,
18
21
  name,
@@ -23,9 +26,12 @@ function convertFoundryObjectProperty(name, property) {
23
26
  message: property.status.message,
24
27
  }
25
28
  : undefined,
26
- type: property.valueTypeApiName
27
- ? { kind: "ref", value: { name: property.valueTypeApiName } }
28
- : convertFoundryObjectPropertyType(property.dataType),
29
+ type: required
30
+ ? type
31
+ : {
32
+ kind: "optional",
33
+ value: { type },
34
+ },
29
35
  };
30
36
  }
31
37
  //# sourceMappingURL=convertMetaObjectType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaObjectType.js","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAM3E,MAAM,UAAU,4BAA4B,CACxC,QAAgC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,OAAO;QACH,EAAE,EAAE,UAAU,CAAC,GAAG;QAClB,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,KAAK,EAAE,UAAU,CAAC,aAAa;QAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACvE,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC/C;KACJ,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CACjC,IAAY,EACZ,QAAoB;IAEpB,OAAO;QACH,EAAE,EAAE,QAAQ,CAAC,GAAG;QAChB,IAAI;QACJ,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EACN,QAAQ,CAAC,MAAM,EAAE,IAAI,KAAK,YAAY;YAClC,CAAC,CAAC;gBACI,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;aACnC;YACH,CAAC,CAAC,SAAS;QACnB,IAAI,EAAE,QAAQ,CAAC,gBAAgB;YAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE;YAC7D,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC5D,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"convertMetaObjectType.js","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAM3E,MAAM,UAAU,4BAA4B,CACxC,QAAgC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,OAAO;QACH,EAAE,EAAE,UAAU,CAAC,GAAG;QAClB,IAAI,EAAE,UAAU,CAAC,OAAO;QACxB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,KAAK,EAAE,UAAU,CAAC,aAAa;QAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACvE,4BAA4B,CACxB,IAAI,EACJ,QAAQ,EACR,IAAI,KAAK,UAAU,CAAC,UAAU,CACjC,CACJ;KACJ,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CACjC,IAAY,EACZ,QAAoB,EACpB,QAAiB;IAEjB,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE;QACtE,CAAC,CAAC,gCAAgC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO;QACH,EAAE,EAAE,QAAQ,CAAC,GAAG;QAChB,IAAI;QACJ,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EACN,QAAQ,CAAC,MAAM,EAAE,IAAI,KAAK,YAAY;YAClC,CAAC,CAAC;gBACI,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;aACnC;YACH,CAAC,CAAC,SAAS;QACnB,IAAI,EAAE,QAAQ;YACV,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACI,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE;aAClB;KACV,CAAC;AACN,CAAC"}
@@ -46,14 +46,68 @@ describe("convertFoundryMetaObjectType", () => {
46
46
  expect.objectContaining({
47
47
  id: "ri.ontology.main.property.employee-id",
48
48
  name: "id",
49
+ type: {
50
+ kind: "string",
51
+ value: {},
52
+ },
49
53
  }),
50
54
  expect.objectContaining({
51
55
  id: "ri.ontology.main.property.employee-name",
52
56
  name: "fullName",
53
57
  displayName: "Full name",
58
+ type: {
59
+ kind: "optional",
60
+ value: {
61
+ type: {
62
+ kind: "string",
63
+ value: {},
64
+ },
65
+ },
66
+ },
54
67
  }),
55
68
  ]);
56
69
  });
70
+ it("treats non-primary attachment and value-type properties as optional", () => {
71
+ const metadata = {
72
+ objectType: objectType(),
73
+ linkTypes: [],
74
+ implementsInterfaces: [],
75
+ implementsInterfaces2: {},
76
+ sharedPropertyTypeMapping: {},
77
+ };
78
+ metadata.objectType.properties.profileImage = {
79
+ dataType: { type: "attachment" },
80
+ rid: "ri.ontology.main.property.employee-profile-image",
81
+ status: { type: "active" },
82
+ typeClasses: [],
83
+ };
84
+ metadata.objectType.properties.departmentCode = {
85
+ dataType: { type: "string" },
86
+ rid: "ri.ontology.main.property.employee-department-code",
87
+ status: { type: "active" },
88
+ typeClasses: [],
89
+ valueTypeApiName: "DepartmentCode",
90
+ };
91
+ const result = convertFoundryMetaObjectType(metadata);
92
+ expect(result.properties.find((property) => property.name === "profileImage")?.type).toEqual({
93
+ kind: "optional",
94
+ value: {
95
+ type: {
96
+ kind: "attachment",
97
+ value: { meta: { type: "attachment" } },
98
+ },
99
+ },
100
+ });
101
+ expect(result.properties.find((property) => property.name === "departmentCode")?.type).toEqual({
102
+ kind: "optional",
103
+ value: {
104
+ type: {
105
+ kind: "ref",
106
+ value: { name: "DepartmentCode" },
107
+ },
108
+ },
109
+ });
110
+ });
57
111
  it("preserves the underlying type of Foundry-formatted identifiers", () => {
58
112
  const metadata = {
59
113
  objectType: objectType(),
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaObjectType.test.js","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAM1E,SAAS,UAAU;IACf,OAAO;QACH,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,UAAU;QACvB,iBAAiB,EAAE,WAAW;QAC9B,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,UAAU;QACzB,UAAU,EAAE;YACR,EAAE,EAAE;gBACA,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,GAAG,EAAE,uCAAuC;gBAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,WAAW,EAAE,EAAE;aAClB;YACD,QAAQ,EAAE;gBACN,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,GAAG,EAAE,yCAAyC;gBAC9C,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,WAAW,EAAE,EAAE;aAClB;SACJ;QACD,GAAG,EAAE,uCAAuC;KACpB,CAAC;AACjC,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,MAAM,GAAG,4BAA4B,CAAC;YACxC,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,EAAE;YACb,oBAAoB,EAAE,EAAE;YACxB,qBAAqB,EAAE,EAAE;YACzB,yBAAyB,EAAE,EAAE;SACN,CAAC,CAAC;QAE7B,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YACzB,EAAE,EAAE,uCAAuC;YAC3C,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,UAAU;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC9B,MAAM,CAAC,gBAAgB,CAAC;gBACpB,EAAE,EAAE,uCAAuC;gBAC3C,IAAI,EAAE,IAAI;aACb,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC;gBACpB,EAAE,EAAE,yCAAyC;gBAC7C,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,WAAW;aAC3B,CAAC;SACL,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,QAAQ,GAAG;YACb,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,EAAE;YACb,oBAAoB,EAAE,EAAE;YACxB,qBAAqB,EAAE,EAAE;YACzB,yBAAyB,EAAE,EAAE;SACN,CAAC;QAExB,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAIlC,CAAC,eAAe,GAAG;YAChB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,kBAAkB;SAChC,CAAC;QAEF,MAAM,MAAM,GACR,4BAA4B,CACxB,QAAQ,CACX,CAAC;QAEN,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;YACvC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;SACZ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"convertMetaObjectType.test.js","sourceRoot":"","sources":["../../src/meta/convertMetaObjectType.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@party-stack/foundry-ontology",
3
- "version": "0.14.4",
3
+ "version": "0.14.5",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -39,9 +39,9 @@
39
39
  "zod": "^4.4.3",
40
40
  "@party-stack/connections": "0.2.2",
41
41
  "@party-stack/errors": "0.2.0",
42
- "@party-stack/foundry-client": "0.3.0",
43
42
  "@party-stack/foundry-object-set-watcher": "0.5.1",
44
43
  "@party-stack/oauth": "0.2.2",
44
+ "@party-stack/foundry-client": "0.3.0",
45
45
  "@party-stack/ontology": "0.16.2",
46
46
  "@party-stack/runtime": "0.3.2"
47
47
  },