@buerli.io/headless 0.5.0-beta.3 → 0.5.0-beta.4

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.
@@ -1132,7 +1132,7 @@ class CAD {
1132
1132
  };
1133
1133
  membersToAdd.push({ name: mem.name, value: featureAPIParam, dataType });
1134
1134
  });
1135
- const success = featureAPI.updateExpressionSets(drawingId, [
1135
+ const success = featureAPI.updateExpressions(drawingId, [
1136
1136
  { productId: rPartId, toAddMembers: membersToAdd, toModifyMembers: [], toDeleteList: [] },
1137
1137
  ]);
1138
1138
  return success;
@@ -1605,29 +1605,12 @@ class CAD {
1605
1605
  return null;
1606
1606
  }, partId);
1607
1607
  },
1608
- setExpressions: (partId, ...members) => {
1609
- return this.resolve(async ([rPartId]) => {
1610
- const membersToModify = [];
1611
- members.forEach(mem => {
1612
- const isExpr = typeof mem.value === 'string'; // TODO Expression unterscheiden von normalen Strings
1613
- const featureAPIParam = {
1614
- value: mem.value,
1615
- isExpr,
1616
- };
1617
- membersToModify.push({ name: mem.name, value: featureAPIParam });
1618
- });
1619
- const success = featureAPI.updateExpressionSets(drawingId, [
1620
- { productId: rPartId, toAddMembers: [], toModifyMembers: membersToModify, toDeleteList: [] },
1621
- ]);
1622
- return success;
1623
- }, partId);
1624
- },
1625
- setExpressionSets: (...exprSets) => {
1626
- return this.resolve(async ([...rExprSets]) => {
1627
- const exprSetsToSet = [];
1628
- rExprSets.forEach(exprSet => {
1608
+ setExpressions: (...expressions) => {
1609
+ return this.resolve(async ([...rExpressions]) => {
1610
+ const expressionsToSet = [];
1611
+ rExpressions.forEach(expr => {
1629
1612
  const membersToModify = [];
1630
- exprSet.members.forEach((mem) => {
1613
+ expr.members.forEach((mem) => {
1631
1614
  const isExpr = typeof mem.value === 'string'; // TODO Expression unterscheiden von normalen Strings
1632
1615
  const featureAPIParam = {
1633
1616
  value: mem.value,
@@ -1635,20 +1618,20 @@ class CAD {
1635
1618
  };
1636
1619
  membersToModify.push({ name: mem.name, value: featureAPIParam });
1637
1620
  });
1638
- exprSetsToSet.push({
1639
- productId: exprSet.partId,
1621
+ expressionsToSet.push({
1622
+ productId: expr.partId,
1640
1623
  toAddMembers: [],
1641
1624
  toModifyMembers: membersToModify,
1642
1625
  toDeleteList: [],
1643
1626
  });
1644
1627
  });
1645
- const success = await featureAPI.updateExpressionSets(drawingId, exprSetsToSet);
1628
+ const success = await featureAPI.updateExpressions(drawingId, expressionsToSet);
1646
1629
  return success;
1647
- }, ...exprSets);
1630
+ }, ...expressions);
1648
1631
  },
1649
1632
  deleteExpressions: (partId, members) => {
1650
1633
  return this.resolve(async ([rPartId]) => {
1651
- const success = featureAPI.updateExpressionSets(drawingId, [
1634
+ const success = featureAPI.updateExpressions(drawingId, [
1652
1635
  { productId: rPartId, toAddMembers: [], toModifyMembers: [], toDeleteList: members },
1653
1636
  ]);
1654
1637
  return success;
@@ -1107,7 +1107,7 @@ export default class CAD {
1107
1107
  };
1108
1108
  membersToAdd.push({ name: mem.name, value: featureAPIParam, dataType });
1109
1109
  });
1110
- const success = featureAPI.updateExpressionSets(drawingId, [
1110
+ const success = featureAPI.updateExpressions(drawingId, [
1111
1111
  { productId: rPartId, toAddMembers: membersToAdd, toModifyMembers: [], toDeleteList: [] },
1112
1112
  ]);
1113
1113
  return success;
@@ -1580,29 +1580,12 @@ export default class CAD {
1580
1580
  return null;
1581
1581
  }, partId);
1582
1582
  },
1583
- setExpressions: (partId, ...members) => {
1584
- return this.resolve(async ([rPartId]) => {
1585
- const membersToModify = [];
1586
- members.forEach(mem => {
1587
- const isExpr = typeof mem.value === 'string'; // TODO Expression unterscheiden von normalen Strings
1588
- const featureAPIParam = {
1589
- value: mem.value,
1590
- isExpr,
1591
- };
1592
- membersToModify.push({ name: mem.name, value: featureAPIParam });
1593
- });
1594
- const success = featureAPI.updateExpressionSets(drawingId, [
1595
- { productId: rPartId, toAddMembers: [], toModifyMembers: membersToModify, toDeleteList: [] },
1596
- ]);
1597
- return success;
1598
- }, partId);
1599
- },
1600
- setExpressionSets: (...exprSets) => {
1601
- return this.resolve(async ([...rExprSets]) => {
1602
- const exprSetsToSet = [];
1603
- rExprSets.forEach(exprSet => {
1583
+ setExpressions: (...expressions) => {
1584
+ return this.resolve(async ([...rExpressions]) => {
1585
+ const expressionsToSet = [];
1586
+ rExpressions.forEach(expr => {
1604
1587
  const membersToModify = [];
1605
- exprSet.members.forEach((mem) => {
1588
+ expr.members.forEach((mem) => {
1606
1589
  const isExpr = typeof mem.value === 'string'; // TODO Expression unterscheiden von normalen Strings
1607
1590
  const featureAPIParam = {
1608
1591
  value: mem.value,
@@ -1610,20 +1593,20 @@ export default class CAD {
1610
1593
  };
1611
1594
  membersToModify.push({ name: mem.name, value: featureAPIParam });
1612
1595
  });
1613
- exprSetsToSet.push({
1614
- productId: exprSet.partId,
1596
+ expressionsToSet.push({
1597
+ productId: expr.partId,
1615
1598
  toAddMembers: [],
1616
1599
  toModifyMembers: membersToModify,
1617
1600
  toDeleteList: [],
1618
1601
  });
1619
1602
  });
1620
- const success = await featureAPI.updateExpressionSets(drawingId, exprSetsToSet);
1603
+ const success = await featureAPI.updateExpressions(drawingId, expressionsToSet);
1621
1604
  return success;
1622
- }, ...exprSets);
1605
+ }, ...expressions);
1623
1606
  },
1624
1607
  deleteExpressions: (partId, members) => {
1625
1608
  return this.resolve(async ([rPartId]) => {
1626
- const success = featureAPI.updateExpressionSets(drawingId, [
1609
+ const success = featureAPI.updateExpressions(drawingId, [
1627
1610
  { productId: rPartId, toAddMembers: [], toModifyMembers: [], toDeleteList: members },
1628
1611
  ]);
1629
1612
  return success;
@@ -1178,31 +1178,15 @@ export declare type ApiHistory = {
1178
1178
  */
1179
1179
  pick: (partId: VID, type: 'vertex' | 'edge' | 'face', points: PointMemValue[]) => IDs;
1180
1180
  /**
1181
- * Updates an existing expression
1181
+ * Updates multiple expressions in different parts at once
1182
+ *
1183
+ * @param expressions array of expression objects containing the part id and the expression to set
1182
1184
  * @param partId id of part to update expression
1183
1185
  * @param members array of members to update which contain a name and a value. Value can be an expression, e.g. '2 * laenge'
1184
- * @example
1185
- * // Sets expression height to value = 30
1186
- * const part = api.createPart('Part')
1187
- * api.createExpressions(part, { name: 'width', value: 20 }, { name: 'height', value: 40 })
1188
- * api.setExpressions(part, { name: 'height', value: 30 })
1189
- * await api.box(part, [], 'ExpressionSet.width', 20, 'ExpressionSet.height')
1190
- * const geoms = await api.createBufferGeometry(part)
1191
- * return geoms.map(geom => new THREE.Mesh(geom, new THREE.MeshStandardMaterial()))
1192
- * @returns true, if updating expressions was successfull
1193
- */
1194
- setExpressions: (partId: VID, ...members: {
1195
- name: string;
1196
- value: number | string;
1197
- }[]) => Promise<boolean>;
1198
- /**
1199
- * Updates multiple expression sets in different parts at once
1200
- *
1201
- * @param exprSets array of expression objects containing the part id and the expression to set
1202
1186
  * @example // tbd
1203
- * @returns true, if updating expressions in all expression sets was successfull
1187
+ * @returns true, if updating expressions in all parts was successfull
1204
1188
  */
1205
- setExpressionSets: (...exprSets: {
1189
+ setExpressions: (...expressions: {
1206
1190
  partId: number;
1207
1191
  members: {
1208
1192
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buerli.io/headless",
3
- "version": "0.5.0-beta.3",
3
+ "version": "0.5.0-beta.4",
4
4
  "description": "A non-manifold CAD workflow for the web",
5
5
  "author": "AWV Informatik AG <info@awv-informatik.ch>",
6
6
  "license": "ISC",
@@ -30,7 +30,7 @@
30
30
  "three": ">=0.138"
31
31
  },
32
32
  "dependencies": {
33
- "@buerli.io/classcad": "0.5.0-beta.3",
33
+ "@buerli.io/classcad": "0.5.0-beta.4",
34
34
  "flat-promise": "^1.0.3"
35
35
  }
36
36
  }