HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //proc/2165/cwd/node_modules/better-sqlite3/src/util/row-builder.cpp
class RowBuilder {
public:

	explicit RowBuilder(
		v8::Isolate* isolate,
		sqlite3_stmt* handle,
		bool safe_ints
	) :
		isolate(isolate),
		handle(handle),
		column_count(-1),
		safe_ints(safe_ints),
		keys(isolate) {}

	v8::Local<v8::Value> GetRowJS() {
		if (column_count < 0) {
			column_count = sqlite3_column_count(handle);
			keys.reserve(column_count);
			for (int i = 0; i < column_count; ++i) {
				keys.emplace_back(
					InternalizedFromUtf8(isolate, sqlite3_column_name(handle, i), -1)
						.As<v8::Name>()
				);
			}
		}

		v8::LocalVector<v8::Value> values(isolate);
		values.reserve(column_count);
		for (int i = 0; i < column_count; ++i) {
			values.emplace_back(
				Data::GetValueJS(isolate, handle, i, safe_ints)
			);
		}

		return v8::Object::New(isolate,
			GET_PROTOTYPE(v8::Object::New(isolate)),
			keys.data(),
			values.data(),
			column_count
		);
	}

private:
	v8::Isolate* isolate;
	sqlite3_stmt* handle;
	int column_count;
	const bool safe_ints;
	v8::LocalVector<v8::Name> keys;
};