Skip to content

Commit c0767e3

Browse files
committed
feat: added COMMUNITY_FULL_URL_MAX_LENGTH
cleaned up CONSTANTS object creation
1 parent 138bb09 commit c0767e3

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

shared.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,13 @@ declare module 'libsession_util_nodejs' {
7272
BASE_GROUP_MAX_NAME_LENGTH: number;
7373
/** 100 bytes */
7474
GROUP_INFO_MAX_NAME_LENGTH: number;
75-
}
75+
/** 411 bytes
76+
*
77+
* COMMUNITY_BASE_URL_MAX_LENGTH + '/r/' + COMMUNITY_ROOM_MAX_LENGTH
78+
qs_pubkey.size() + hex pubkey + null terminator
79+
*/
80+
COMMUNITY_FULL_URL_MAX_LENGTH: number;
81+
};
7682

7783
export const CONSTANTS: ConstantsType;
7884
}

src/constants.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "constants.hpp"
22

3+
#include "session/config/community.h"
34
#include "session/config/contacts.hpp"
45
#include "session/config/groups/info.hpp"
56
#include "session/config/user_groups.hpp"
@@ -9,28 +10,28 @@ ConstantsWrapper::ConstantsWrapper(const Napi::CallbackInfo& info) :
910
Napi::ObjectWrap<ConstantsWrapper>(info) {}
1011

1112
Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
12-
// fetch cpp constants
13-
Napi::Number CONTACT_MAX_NAME_LENGTH =
14-
Napi::Number::New(env, session::config::contact_info::MAX_NAME_LENGTH);
15-
Napi::Number BASE_GROUP_MAX_NAME_LENGTH =
16-
Napi::Number::New(env, session::config::base_group_info::NAME_MAX_LENGTH);
17-
Napi::Number GROUP_INFO_MAX_NAME_LENGTH =
18-
Napi::Number::New(env, session::config::groups::Info::NAME_MAX_LENGTH);
19-
2013
const char* class_name = "CONSTANTS";
2114

2215
// construct javascript constants object
2316
Napi::Function cls = DefineClass(
2417
env,
2518
class_name,
2619
{ObjectWrap::StaticValue(
27-
"CONTACT_MAX_NAME_LENGTH", CONTACT_MAX_NAME_LENGTH, napi_enumerable),
20+
"CONTACT_MAX_NAME_LENGTH",
21+
Napi::Number::New(env, session::config::contact_info::MAX_NAME_LENGTH),
22+
napi_enumerable),
2823
ObjectWrap::StaticValue(
29-
"BASE_GROUP_MAX_NAME_LENGTH", BASE_GROUP_MAX_NAME_LENGTH, napi_enumerable),
24+
"BASE_GROUP_MAX_NAME_LENGTH",
25+
Napi::Number::New(env, session::config::base_group_info::NAME_MAX_LENGTH),
26+
napi_enumerable),
3027
ObjectWrap::StaticValue(
31-
"GROUP_INFO_MAX_NAME_LENGTH", GROUP_INFO_MAX_NAME_LENGTH, napi_enumerable)
32-
33-
});
28+
"GROUP_INFO_MAX_NAME_LENGTH",
29+
Napi::Number::New(env, session::config::groups::Info::NAME_MAX_LENGTH),
30+
napi_enumerable),
31+
ObjectWrap::StaticValue(
32+
"COMMUNITY_FULL_URL_MAX_LENGTH",
33+
Napi::Number::New(env, COMMUNITY_FULL_URL_MAX_LENGTH),
34+
napi_enumerable)});
3435

3536
// export object as javascript module
3637
exports.Set(class_name, cls);

0 commit comments

Comments
 (0)