本文整理匯總了TypeScript中zlib.gzipSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript gzipSync函數的具體用法?TypeScript gzipSync怎麽用?TypeScript gzipSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了gzipSync函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: encodeToGZIP
function encodeToGZIP(buffer: Buffer, response: http.ServerResponse)
{
let buf = zlib.gzipSync(buffer);
response.setHeader('Content-Encoding', 'gzip');
response.setHeader('Content-Length', buf.length.toString());
return buf;
}
示例2: gzipSync
const createArchive = (buildNum: number, prNum: number, sha: string) => {
logger.log('createArchive', buildNum, prNum, sha);
const pack = tar.pack();
pack.entry({name: 'index.html'}, `BUILD: ${buildNum} | PR: ${prNum} | SHA: ${sha} | File: /index.html`);
pack.entry({name: 'foo/bar.js'}, `BUILD: ${buildNum} | PR: ${prNum} | SHA: ${sha} | File: /foo/bar.js`);
pack.finalize();
const zip = gzipSync(pack.read());
return zip;
};
示例3: register
const buildServerBinaryCopy = register("build:server:binary:copy", async (runner) => {
const cliPath = path.join(pkgsPath, "server");
const cliBuildPath = path.join(cliPath, "build");
fse.removeSync(cliBuildPath);
fse.mkdirpSync(path.join(cliBuildPath, "extensions"));
const bootstrapForkPath = path.join(pkgsPath, "vscode", "out", "bootstrap-fork.js");
const webOutputPath = path.join(pkgsPath, "web", "out");
const browserAppOutputPath = path.join(pkgsPath, "app", "browser", "out");
const nodePtyModule = path.join(pkgsPath, "protocol", "node_modules", "node-pty-prebuilt", "build", "Release", "pty.node");
const spdlogModule = path.join(pkgsPath, "protocol", "node_modules", "spdlog", "build", "Release", "spdlog.node");
let ripgrepPath = path.join(pkgsPath, "..", "lib", "vscode", "node_modules", "vscode-ripgrep", "bin", "rg");
if (isWin) {
ripgrepPath += ".exe";
}
if (!fs.existsSync(nodePtyModule)) {
throw new Error("Could not find pty.node. Ensure all packages have been installed");
}
if (!fs.existsSync(spdlogModule)) {
throw new Error("Could not find spdlog.node. Ensure all packages have been installed");
}
if (!fs.existsSync(webOutputPath)) {
throw new Error("Web bundle must be built");
}
if (!fs.existsSync(defaultExtensionsPath)) {
throw new Error("Default extensions must be built");
}
if (!fs.existsSync(bootstrapForkPath)) {
throw new Error("Bootstrap fork must exist");
}
if (!fs.existsSync(ripgrepPath)) {
throw new Error("Ripgrep must exist");
}
fse.copySync(defaultExtensionsPath, path.join(cliBuildPath, "extensions"));
fs.writeFileSync(path.join(cliBuildPath, "bootstrap-fork.js.gz"), zlib.gzipSync(fs.readFileSync(bootstrapForkPath)));
const cpDir = (dir: string, subdir: "auth" | "unauth", rootPath: string): void => {
const stat = fs.statSync(dir);
if (stat.isDirectory()) {
const paths = fs.readdirSync(dir);
paths.forEach((p) => cpDir(path.join(dir, p), subdir, rootPath));
} else if (stat.isFile()) {
const newPath = path.join(cliBuildPath, "web", subdir, path.relative(rootPath, dir));
fse.mkdirpSync(path.dirname(newPath));
fs.writeFileSync(newPath + ".gz", zlib.gzipSync(fs.readFileSync(dir)));
} else {
// Nothing
}
};
cpDir(webOutputPath, "auth", webOutputPath);
cpDir(browserAppOutputPath, "unauth", browserAppOutputPath);
fse.mkdirpSync(path.join(cliBuildPath, "dependencies"));
fse.copySync(nodePtyModule, path.join(cliBuildPath, "dependencies", "pty.node"));
fse.copySync(spdlogModule, path.join(cliBuildPath, "dependencies", "spdlog.node"));
fse.copySync(ripgrepPath, path.join(cliBuildPath, "dependencies", "rg"));
});
示例4: cpDir
const cpDir = (dir: string, subdir: "auth" | "unauth", rootPath: string): void => {
const stat = fs.statSync(dir);
if (stat.isDirectory()) {
const paths = fs.readdirSync(dir);
paths.forEach((p) => cpDir(path.join(dir, p), subdir, rootPath));
} else if (stat.isFile()) {
const newPath = path.join(cliBuildPath, "web", subdir, path.relative(rootPath, dir));
fse.mkdirpSync(path.dirname(newPath));
fs.writeFileSync(newPath + ".gz", zlib.gzipSync(fs.readFileSync(dir)));
} else {
// Nothing
}
};
示例5: it
it('should decompress gzip messages', async () => {
const data = {
messageType: ClientServer.MessageType.PING,
ping: {}
}
const dataMessage = ClientServer.encode(ClientServer.fromObject(data)).finish()
const message: IClientServerMessage = {
compression: Compression.GZIP,
compressedData: zlib.gzipSync(dataMessage as Buffer)
}
const encodedMessage = ClientServerMessage.encode(ClientServerMessage.fromObject(message)).finish()
await fnMocks.message(encodedMessage)
expect(wsMock.send).toHaveBeenCalledWith(new Uint8Array(encodedMessage), { binary: true })
})
示例6: stringifyId
this.context.reflectionById.forEach(reflection => {
if ((reflection as ExcludedReflection)[ExcludedFlag]) {
return
}
if (
enableSearch &&
IsSearchable[reflection.kind] &&
reflection.id &&
// Make only top-level items searchable
reflection.id.every(id => IsSearchable[id.kind])
) {
const packageKey = `${reflection.id[0].name}#${reflection.id[0].version}`
if (!search.packages[packageKey] || !alreadyRecreated[packageKey]) {
search.packages[packageKey] = []
alreadyRecreated[packageKey] = true
}
search.packages[packageKey].push(idFromPath(reflection.id))
}
if (!IsWritable[reflection.kind]) {
return
}
const folder = path.join(outDir, stringifyId(reflection.id!))
const fileName = path.join(folder, 'index.json')
fileSystem.mkdirpSync(folder)
const meta: ReflectionWithMetadata = {
metadata: {
formatVersion
},
reflection
}
let fileContent: string | Buffer = JSON.stringify(meta, null, 4)
if (gzip) {
fileContent = gzipSync(fileContent, {
level: 1
})
}
fileSystem.writeFileSync(fileName, fileContent)
})
示例7: stream_readable_pipe_test
function stream_readable_pipe_test() {
var r = fs.createReadStream('file.txt');
var z = zlib.createGzip();
var w = fs.createWriteStream('file.txt.gz');
r.pipe(z).pipe(w);
r.close();
}
////////////////////////////////////////////////////
/// zlib tests : http://nodejs.org/api/zlib.html ///
////////////////////////////////////////////////////
namespace zlib_tests {
{
const gzipped = zlib.gzipSync('test');
const unzipped = zlib.gunzipSync(gzipped.toString());
}
{
const deflate = zlib.deflateSync('test');
const inflate = zlib.inflateSync(deflate.toString());
}
}
////////////////////////////////////////////////////////
/// Crypto tests : http://nodejs.org/api/crypto.html ///
////////////////////////////////////////////////////////
namespace crypto_tests {
{
示例8: write
/**
* Write contents into a compressed file.
*
* @params {String} filename
* @params {String} result
*/
function write(filename: string, result: any) {
let jsonString = JSON.stringify(result);
let content = zlib.gzipSync(jsonString as any);
return fs.writeFileSync(filename, content);
}
示例9: gzipDataToFile
function gzipDataToFile(path, data, options) {
var compressedData = zlib.gzipSync(data, options);
console.info("--- GZIP complete. Compressed file size: " + compressedData.length);
writeDataToFile(path + ".gz", compressedData);
}
示例10: inflateRawSync
);
const inflatedRaw: Buffer = inflateRawSync(deflateRawSync(compressMe));
const inflatedRawString: Buffer = inflateRawSync(deflateRawSync(compressMeString));
// gzip
gzip(compressMe, (err: Error | null, result: Buffer) => gunzip(result, (err: Error | null, result: Buffer) => result));
gzip(
compressMe,
{ finishFlush: constants.Z_SYNC_FLUSH },
(err: Error | null, result: Buffer) => gunzip(
result, { finishFlush: constants.Z_SYNC_FLUSH },
(err: Error | null, result: Buffer) => result
)
);
const gunzipped: Buffer = gunzipSync(gzipSync(compressMe));
unzip(compressMe, (err: Error | null, result: Buffer) => result);
unzip(compressMe, { finishFlush: constants.Z_SYNC_FLUSH }, (err: Error | null, result: Buffer) => result);
const unzipped: Buffer = unzipSync(compressMe);
const bOpts: BrotliOptions = {
chunkSize: 123,
flush: 123123,
params: {
[constants.BROTLI_PARAM_LARGE_WINDOW]: true,
[constants.BROTLI_PARAM_NPOSTFIX]: 123,
},
finishFlush: 123123,
};