@outbuild-company/schedule-core 1.15.12 → 1.15.13

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/dist/index.cjs CHANGED
@@ -2961,6 +2961,7 @@ async function alapPass(reversedIds, links, asapPlans, adapter, _options, isCurr
2961
2961
  const boundary = getParentBoundary(activity);
2962
2962
  let latestEnd = boundary;
2963
2963
  let successorAnchor = null;
2964
+ let successorAnchorType = null;
2964
2965
  let anchorInSubtree = false;
2965
2966
  const outgoing = outgoingLinks.get(String(activityId)) ?? [];
2966
2967
  for (const link of outgoing) {
@@ -2985,6 +2986,7 @@ async function alapPass(reversedIds, links, asapPlans, adapter, _options, isCurr
2985
2986
  }
2986
2987
  if (successorAnchor === null || predecessorEnd < successorAnchor) {
2987
2988
  successorAnchor = predecessorEnd;
2989
+ successorAnchorType = link.type;
2988
2990
  anchorInSubtree = activity.parentId && !isRootParent(activity.parentId) ? isInSubtree(link.target, activity.parentId) : false;
2989
2991
  }
2990
2992
  }
@@ -3028,7 +3030,9 @@ async function alapPass(reversedIds, links, asapPlans, adapter, _options, isCurr
3028
3030
  task: activity
3029
3031
  });
3030
3032
  } else if (activity.durationHours === 0) {
3031
- if (isFinishMarker) {
3033
+ if (successorAnchor !== null && successorAnchorType === LINK_TYPE.FINISH_TO_START && latestEnd.getTime() === successorAnchor.getTime()) {
3034
+ snappedEnd = latestEnd;
3035
+ } else if (isFinishMarker) {
3032
3036
  snappedEnd = finishMarkerEnd();
3033
3037
  } else {
3034
3038
  snappedEnd = adapter.getClosestWorkTime({