Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'once' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
import { Deprecation } from 'deprecation';
import once from 'once';
const logOnce = once((deprecation) => console.warn(deprecation));
/**
* Error with extra properties to help with debugging
*/
class RequestError extends Error {
constructor(message, statusCode, options) {
super(message);
// Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "HttpError";
this.status = statusCode;
Object.defineProperty(this, "code", {
get() {
logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
import { Deprecation } from "deprecation";
import once from "once";
const logOnce = once((deprecation) => console.warn(deprecation));
/**
* Error with extra properties to help with debugging
*/
export class RequestError extends Error {
constructor(message, statusCode, options) {
super(message);
// Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "HttpError";
this.status = statusCode;
Object.defineProperty(this, "code", {
get() {
logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
const tasks = remoteFiles.map(({ url, metadataPath, ...options }) => cb => {
cb = once(cb)
const start = Date.now()
console.log('Requesting', url)
// I tried doing this by adding streams to the zipfile, but it's really hard
// to catch errors when trying to download an image, so you end up with
// corrupt files in the zip. This uses a bit more memory, but images are
// only added once they have downloaded correctly
ky.get(url)
.arrayBuffer()
.then(arrBuf => {
console.log('Req end in ' + (Date.now() - start) + 'ms ' + metadataPath)
zipfile.addBuffer(Buffer.from(arrBuf), metadataPath, {
...options,
store: true
})
cb()
})
function datServer (req, res) {
var cb = once((code, status) => {
res.writeHead(code, status, { 'Content-Type': 'text/html', 'Content-Security-Policy': "default-src 'unsafe-inline';" })
res.end(errorPage(code + ' ' + status))
})
var queryParams = url.parse(req.url, true).query
// check the nonce
// (only want this process to access the server)
if (queryParams.nonce != nonce)
return cb(403, 'Forbidden')
// validate request
var urlp = url.parse(queryParams.url)
if (!urlp.host)
return cb(404, 'Archive Not Found')
if (req.method != 'GET')
return cb(405, 'Method Not Supported')
function ipfsServer (req, res) {
var cb = once((code, status) => {
res.writeHead(code, status, {
'Content-Type': 'text/html',
'Content-Security-Policy': "default-src 'unsafe-inline';",
'Access-Control-Allow-Origin': '*'
})
res.end(errorPage(code + ' ' + status))
})
function redirectToFolder () {
// header-redirects crash electron (https://github.com/electron/electron/issues/6492)
// use this instead, for now
res.writeHead(200, 'OK', { 'Content-Type': 'text/html', 'Content-Security-Policy': IPFS_CSP })
res.end('')
}
var queryParams = url.parse(req.url, true).query
// check the nonce
export const electronHandler = async function (request, respond) {
// log warnings now, after the logger has setup its transports
if (utpLoadError) {
logger.warn('Failed to load utp-native. Peer-to-peer connectivity may be degraded.', {err: utpLoadError.toString()})
}
if (sodiumLoadError) {
logger.warn('Failed to load sodium-native. Performance may be degraded.', {err: sodiumLoadError.toString()})
}
respond = once(respond)
var respondError = (code, status, errorPageInfo) => {
if (errorPageInfo) {
errorPageInfo.validatedURL = request.url
errorPageInfo.errorCode = code
}
var accept = request.headers.Accept || ''
if (accept.includes('text/html')) {
respond({
statusCode: code,
headers: {
'Content-Type': 'text/html',
'Content-Security-Policy': "default-src 'unsafe-inline' beaker:;",
'Access-Control-Allow-Origin': '*'
},
data: intoStream(errorPage(errorPageInfo || (code + ' ' + status)))
})
this.connection.on(UnicastMessage.TYPE, async (msg) => {
const stream = this._getSubscribedStreamPartition(msg.streamMessage.getStreamId(), msg.streamMessage.getStreamPartition())
if (stream) {
const sub = this.resendUtil.getSubFromResendResponse(msg)
if (sub && stream.getSubscription(sub.id)) {
// sub.handleResentMessage never rejects: on any error it emits an 'error' event on the Subscription
sub.handleResentMessage(
msg.streamMessage,
once(() => stream.verifyStreamMessage(msg.streamMessage)), // ensure verification occurs only once
)
} else {
debug('WARN: request id not found for stream: %s, sub: %s', msg.streamMessage.getStreamId(), msg.requestId)
}
} else {
debug('WARN: message received for stream with no subscriptions: %s', msg.streamMessage.getStreamId())
}
})
const handleAsync = (fn, cb) => {
// flat value
if (typeof fn !== 'function') return cb(null, fn)
const wrapped = once(cb)
// call fn w callback
let res
try {
res = fn(wrapped)
} catch (err) {
return wrapped(err)
}
// using a callback, itll call with a response
if (typeof res === 'undefined') return
// using a promise
if (res != null && typeof res === 'object' && typeof res.then === 'function') {
res.then((data) => {
wrapped(null, data)
function _stringify(opts, callback) {
assert.object(opts, 'opts');
assert.func(callback, 'callback');
let stringified = '';
const stringifyStream = createStringifyStream(opts);
const passthroughStream = new stream.PassThrough();
const cb = once(callback);
// setup the passthrough stream as a sink
passthroughStream.on('data', function(chunk) {
stringified += chunk;
});
passthroughStream.on('end', function() {
return cb(null, stringified);
});
// don't know what errors stringify stream may emit, but pass them back
// up.
stringifyStream.on('error', function(err) {
return cb(err);
});
it('should print state when entering /state', async () => {
const bot = new ConsoleBot();
const handler = jest.fn();
bot.onEvent(handler);
readline.createInterface.mockReturnValue({
once: once((string, fn) => fn('/state')),
close: jest.fn(),
});
bot.createRuntime();
await new Promise(process.nextTick);
expect(process.stdout.write).toBeCalledWith('Bot > {}\n');
expect(process.stdout.write).toBeCalledWith('You > ');
});