# extendify/3.2.1/src/Shared/components/ProductAccountActivation/createAccount.js

Extendify, version 3.2.1. 44 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Shared/components/ProductAccountActivation/createAccount.js
- Raw: https://pluginprobe.com/plugins/extendify/3.2.1/raw/src/Shared/components/ProductAccountActivation/createAccount.js
- Modified: 2026-09-16T19:34:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.2.1/code/src/Shared/components/ProductAccountActivation/createAccount.js#L10-L20`.

```javascript
const describeError = (error, signal) => ({
	message: error?.message,
	code: error?.code,
	data: error?.data,
	httpStatus: error?.httpStatus,
	// api-fetch collapses our AbortSignal.timeout into a generic fetch_error.
	timedOut: signal.aborted,
});

export const createAccount = async (plugin, data) => {
	const signal = AbortSignal.timeout(55000);
	const timings = {};
	const attemptStart = Date.now();

	try {
		const body = await plugin.createAccountCallback({
			...data,
			endpoint: plugin.endpoint,
			signal,
			timings,
		});

		return {
			requestTimeInMs: [Date.now() - attemptStart],
			captchaTimeInMs: timings.captchaTimeInMs,
			captchaWasWarm: timings.captchaWasWarm,
			stepTimeInMs: body?.stepTimeInMs,
			retries: 0,
			errors: [],
		};
	} catch (error) {
		const err = new Error('Account creation failed');

		err.requestTimeInMs = [Date.now() - attemptStart];
		err.captchaTimeInMs = timings.captchaTimeInMs;
		err.captchaWasWarm = timings.captchaWasWarm;
		err.stepTimeInMs = error?.stepTimeInMs;
		err.retries = 0;
		err.errors = [describeError(error, signal)];

		throw err;
	}
};

```
