Buckets:
arudradey/fullhtml-storage / emsdk /upstream /emscripten /node_modules /relateurl /lib /relate /relativize.js
| ; | |
| var pathUtils = require("../util/path"); | |
| /* | |
| Get a path relative to the site path. | |
| */ | |
| function relatePath(absolutePath, siteAbsolutePath) | |
| { | |
| var relativePath = []; | |
| // At this point, it's related to the host/port | |
| var related = true; | |
| var parentIndex = -1; | |
| // Find parents | |
| siteAbsolutePath.forEach( function(siteAbsoluteDir, i) | |
| { | |
| if (related) | |
| { | |
| if (absolutePath[i] !== siteAbsoluteDir) | |
| { | |
| related = false; | |
| } | |
| else | |
| { | |
| parentIndex = i; | |
| } | |
| } | |
| if (!related) | |
| { | |
| // Up one level | |
| relativePath.push(".."); | |
| } | |
| }); | |
| // Form path | |
| absolutePath.forEach( function(dir, i) | |
| { | |
| if (i > parentIndex) | |
| { | |
| relativePath.push(dir); | |
| } | |
| }); | |
| return relativePath; | |
| } | |
| function relativize(urlObj, siteUrlObj, options) | |
| { | |
| if (urlObj.extra.relation.minimumScheme) | |
| { | |
| var pathArray = relatePath(urlObj.path.absolute.array, siteUrlObj.path.absolute.array); | |
| urlObj.path.relative.array = pathArray; | |
| urlObj.path.relative.string = pathUtils.join(pathArray); | |
| } | |
| } | |
| module.exports = relativize; | |
Xet Storage Details
- Size:
- 1.05 kB
- Xet hash:
- 823fc0af1a27e062b92d6ecf2069df09c59c49d52d645e0a4f165c110d42fe15
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.