public static function fromString($taskListPositionStr) { Assertion::string($taskListPositionStr); $parts = explode(':TASK_POSITION:', $taskListPositionStr); if (count($parts) != 2) { throw new \InvalidArgumentException(sprintf("Invalid taskListPositionStr %s provided. Needs to have the format: task-list-uuid:TASK_POSITION:position", $taskListPositionStr)); } $taskListId = TaskListId::fromString($parts[0]); return new self($taskListId, (int) $parts[1]); }
/** * @param array $taskListArr * @return TaskList */ public static function fromArray(array $taskListArr) { Assertion::keyExists($taskListArr, 'taskListId'); Assertion::keyExists($taskListArr, 'entries'); Assertion::isArray($taskListArr['entries']); $taskListId = TaskListId::fromString($taskListArr['taskListId']); $entries = []; foreach ($taskListArr['entries'] as $entryArr) { $entries[] = TaskListEntry::fromArray($entryArr); } return self::fromTaskListEntries($taskListId, $entries); }