Tons of Solutions Engineering work done today for the rest of the CS team! Headway, Howard Hanna, Engels, Brighton, etc. Also completed Datasnippers auth flow and worked on Anthology's script. Cloned Anthology's courses (900..) and will clone Full Story on Monday.

This commit is contained in:
Norm Rasmussen
2024-01-05 17:07:59 -05:00
parent ce261975ca
commit a5fe4bd2c8
3157 changed files with 554269 additions and 16 deletions

57
Scripts/node_modules/get-uri/dist/file.js generated vendored Normal file
View File

@ -0,0 +1,57 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.file = void 0;
const debug_1 = __importDefault(require("debug"));
const fs_1 = require("fs");
const fs_extra_1 = require("fs-extra");
const notfound_1 = __importDefault(require("./notfound"));
const notmodified_1 = __importDefault(require("./notmodified"));
const url_1 = require("url");
const debug = (0, debug_1.default)('get-uri:file');
/**
* Returns a `fs.ReadStream` instance from a "file:" URI.
*/
const file = async ({ href: uri }, opts = {}) => {
const { cache, flags = 'r', mode = 438, // =0666
} = opts;
try {
// Convert URI → Path
const filepath = (0, url_1.fileURLToPath)(uri);
debug('Normalized pathname: %o', filepath);
// `open()` first to get a file descriptor and ensure that the file
// exists.
const fd = await (0, fs_extra_1.open)(filepath, flags, mode);
// Now `fstat()` to check the `mtime` and store the stat object for
// the cache.
const stat = await (0, fs_extra_1.fstat)(fd);
// if a `cache` was provided, check if the file has not been modified
if (cache && cache.stat && stat && isNotModified(cache.stat, stat)) {
throw new notmodified_1.default();
}
// `fs.ReadStream` takes care of calling `fs.close()` on the
// fd after it's done reading
// @ts-expect-error `@types/node` doesn't allow `null` as file path :/
const rs = (0, fs_1.createReadStream)(null, {
autoClose: true,
...opts,
fd,
});
rs.stat = stat;
return rs;
}
catch (err) {
if (err.code === 'ENOENT') {
throw new notfound_1.default();
}
throw err;
}
};
exports.file = file;
// returns `true` if the `mtime` of the 2 stat objects are equal
function isNotModified(prev, curr) {
return +prev.mtime === +curr.mtime;
}
//# sourceMappingURL=file.js.map