Removed code duplication between 2 files. #2805 #3384
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2805
Changes:
Imported the shared function (resolveUtils.js) into both files and removed the redundant function definitions.
Answers to the Questions Asked in the PR Description:
There was a function named (resolvePathsForElementsWithAttribute) which was common in both the files. The exact code which was same in both the files was : -
export function resolvePathsForElementsWithAttribute(attr, sketchDoc, files) { const elements = sketchDoc.querySelectorAll([${attr}]); const elementsArray = Array.prototype.slice.call(elements); elementsArray.forEach((element) => { if (element.getAttribute(attr).match(MEDIA_FILE_REGEX)) { const resolvedFile = resolvePathToFile(element.getAttribute(attr), files); if (resolvedFile && resolvedFile.url) { element.setAttribute(attr, resolvedFile.url); } } }); }
Some parts of the code were similar but had slight differences due to the client vs. server environment requirements.
Since the /embed/ endpoints are currently disabled due to phishing concerns, the server-side version of this code may no longer be necessary. If its primary purpose was handling these endpoints and they are no longer in use, it would make sense to remove it unless there is a plan to re-enable them securely.
I have verified that this pull request:
npm run lint
)npm run test
)develop
branch.Fixes #123