@doordeck/headless-react-native-sdk 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/HeadlessReactNativeSdk.podspec +44 -0
  2. package/LICENSE +174 -0
  3. package/README.md +113 -0
  4. package/android/build.gradle +118 -0
  5. package/android/generated/java/com/doordeck/headlessreactnativesdk/NativeHeadlessReactNativeSdkSpec.java +62 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNHeadlessReactNativeSdkSpec-generated.cpp +68 -0
  8. package/android/generated/jni/RNHeadlessReactNativeSdkSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNHeadlessReactNativeSdkSpec/RNHeadlessReactNativeSdkSpecJSI-generated.cpp +68 -0
  10. package/android/generated/jni/react/renderer/components/RNHeadlessReactNativeSdkSpec/RNHeadlessReactNativeSdkSpecJSI.h +307 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/settings.gradle.kts +16 -0
  13. package/android/src/main/AndroidManifest.xml +3 -0
  14. package/android/src/main/AndroidManifestNew.xml +2 -0
  15. package/android/src/main/java/com/doordeck/headlessreactnativesdk/HeadlessReactNativeSdkModule.kt +176 -0
  16. package/android/src/main/java/com/doordeck/headlessreactnativesdk/HeadlessReactNativeSdkPackage.kt +43 -0
  17. package/ios/HeadlessReactNativeSdk.h +6 -0
  18. package/ios/HeadlessReactNativeSdk.mm +54 -0
  19. package/ios/HeadlessReactNativeSdkImpl.swift +210 -0
  20. package/ios/generated/RNHeadlessReactNativeSdkSpec/RNHeadlessReactNativeSdkSpec-generated.mm +81 -0
  21. package/ios/generated/RNHeadlessReactNativeSdkSpec/RNHeadlessReactNativeSdkSpec.h +81 -0
  22. package/ios/generated/RNHeadlessReactNativeSdkSpecJSI-generated.cpp +68 -0
  23. package/ios/generated/RNHeadlessReactNativeSdkSpecJSI.h +307 -0
  24. package/lib/commonjs/NativeHeadlessReactNativeSdk.js +9 -0
  25. package/lib/commonjs/NativeHeadlessReactNativeSdk.js.map +1 -0
  26. package/lib/commonjs/index.js +36 -0
  27. package/lib/commonjs/index.js.map +1 -0
  28. package/lib/module/NativeHeadlessReactNativeSdk.js +5 -0
  29. package/lib/module/NativeHeadlessReactNativeSdk.js.map +1 -0
  30. package/lib/module/index.js +25 -0
  31. package/lib/module/index.js.map +1 -0
  32. package/lib/typescript/commonjs/package.json +1 -0
  33. package/lib/typescript/commonjs/src/NativeHeadlessReactNativeSdk.d.ts +72 -0
  34. package/lib/typescript/commonjs/src/NativeHeadlessReactNativeSdk.d.ts.map +1 -0
  35. package/lib/typescript/commonjs/src/index.d.ts +9 -0
  36. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  37. package/lib/typescript/module/package.json +1 -0
  38. package/lib/typescript/module/src/NativeHeadlessReactNativeSdk.d.ts +72 -0
  39. package/lib/typescript/module/src/NativeHeadlessReactNativeSdk.d.ts.map +1 -0
  40. package/lib/typescript/module/src/index.d.ts +9 -0
  41. package/lib/typescript/module/src/index.d.ts.map +1 -0
  42. package/package.json +203 -0
  43. package/react-native.config.js +12 -0
  44. package/src/NativeHeadlessReactNativeSdk.ts +87 -0
  45. package/src/index.tsx +35 -0
@@ -0,0 +1,307 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleH.js
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include <ReactCommon/TurboModule.h>
13
+ #include <react/bridging/Bridging.h>
14
+
15
+ namespace facebook::react {
16
+
17
+
18
+
19
+ #pragma mark - NativeHeadlessReactNativeSdkAssistedRegisterEphemeralKeyResponse
20
+
21
+ template <typename P0>
22
+ struct NativeHeadlessReactNativeSdkAssistedRegisterEphemeralKeyResponse {
23
+ P0 requiresVerification;
24
+ bool operator==(const NativeHeadlessReactNativeSdkAssistedRegisterEphemeralKeyResponse &other) const {
25
+ return requiresVerification == other.requiresVerification;
26
+ }
27
+ };
28
+
29
+ template <typename T>
30
+ struct NativeHeadlessReactNativeSdkAssistedRegisterEphemeralKeyResponseBridging {
31
+ static T types;
32
+
33
+ static T fromJs(
34
+ jsi::Runtime &rt,
35
+ const jsi::Object &value,
36
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
37
+ T result{
38
+ bridging::fromJs<decltype(types.requiresVerification)>(rt, value.getProperty(rt, "requiresVerification"), jsInvoker)};
39
+ return result;
40
+ }
41
+
42
+ #ifdef DEBUG
43
+ static bool requiresVerificationToJs(jsi::Runtime &rt, decltype(types.requiresVerification) value) {
44
+ return bridging::toJs(rt, value);
45
+ }
46
+ #endif
47
+
48
+ static jsi::Object toJs(
49
+ jsi::Runtime &rt,
50
+ const T &value,
51
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
52
+ auto result = facebook::jsi::Object(rt);
53
+ result.setProperty(rt, "requiresVerification", bridging::toJs(rt, value.requiresVerification, jsInvoker));
54
+ return result;
55
+ }
56
+ };
57
+
58
+
59
+
60
+ #pragma mark - NativeHeadlessReactNativeSdkTileLocksResponse
61
+
62
+ template <typename P0, typename P1, typename P2>
63
+ struct NativeHeadlessReactNativeSdkTileLocksResponse {
64
+ P0 siteId;
65
+ P1 tileId;
66
+ P2 deviceIds;
67
+ bool operator==(const NativeHeadlessReactNativeSdkTileLocksResponse &other) const {
68
+ return siteId == other.siteId && tileId == other.tileId && deviceIds == other.deviceIds;
69
+ }
70
+ };
71
+
72
+ template <typename T>
73
+ struct NativeHeadlessReactNativeSdkTileLocksResponseBridging {
74
+ static T types;
75
+
76
+ static T fromJs(
77
+ jsi::Runtime &rt,
78
+ const jsi::Object &value,
79
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
80
+ T result{
81
+ bridging::fromJs<decltype(types.siteId)>(rt, value.getProperty(rt, "siteId"), jsInvoker),
82
+ bridging::fromJs<decltype(types.tileId)>(rt, value.getProperty(rt, "tileId"), jsInvoker),
83
+ bridging::fromJs<decltype(types.deviceIds)>(rt, value.getProperty(rt, "deviceIds"), jsInvoker)};
84
+ return result;
85
+ }
86
+
87
+ #ifdef DEBUG
88
+ static jsi::String siteIdToJs(jsi::Runtime &rt, decltype(types.siteId) value) {
89
+ return bridging::toJs(rt, value);
90
+ }
91
+
92
+ static jsi::String tileIdToJs(jsi::Runtime &rt, decltype(types.tileId) value) {
93
+ return bridging::toJs(rt, value);
94
+ }
95
+
96
+ static jsi::Array deviceIdsToJs(jsi::Runtime &rt, decltype(types.deviceIds) value) {
97
+ return bridging::toJs(rt, value);
98
+ }
99
+ #endif
100
+
101
+ static jsi::Object toJs(
102
+ jsi::Runtime &rt,
103
+ const T &value,
104
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
105
+ auto result = facebook::jsi::Object(rt);
106
+ result.setProperty(rt, "siteId", bridging::toJs(rt, value.siteId, jsInvoker));
107
+ result.setProperty(rt, "tileId", bridging::toJs(rt, value.tileId, jsInvoker));
108
+ result.setProperty(rt, "deviceIds", bridging::toJs(rt, value.deviceIds, jsInvoker));
109
+ return result;
110
+ }
111
+ };
112
+
113
+
114
+
115
+ #pragma mark - NativeHeadlessReactNativeSdkUserDetailsResponse
116
+
117
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
118
+ struct NativeHeadlessReactNativeSdkUserDetailsResponse {
119
+ P0 userId;
120
+ P1 publicKey;
121
+ P2 email;
122
+ P3 displayName;
123
+ P4 emailVerified;
124
+ P5 certificateChainAboutToExpire;
125
+ P6 tokenAboutToExpire;
126
+ bool operator==(const NativeHeadlessReactNativeSdkUserDetailsResponse &other) const {
127
+ return userId == other.userId && publicKey == other.publicKey && email == other.email && displayName == other.displayName && emailVerified == other.emailVerified && certificateChainAboutToExpire == other.certificateChainAboutToExpire && tokenAboutToExpire == other.tokenAboutToExpire;
128
+ }
129
+ };
130
+
131
+ template <typename T>
132
+ struct NativeHeadlessReactNativeSdkUserDetailsResponseBridging {
133
+ static T types;
134
+
135
+ static T fromJs(
136
+ jsi::Runtime &rt,
137
+ const jsi::Object &value,
138
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
139
+ T result{
140
+ bridging::fromJs<decltype(types.userId)>(rt, value.getProperty(rt, "userId"), jsInvoker),
141
+ bridging::fromJs<decltype(types.publicKey)>(rt, value.getProperty(rt, "publicKey"), jsInvoker),
142
+ bridging::fromJs<decltype(types.email)>(rt, value.getProperty(rt, "email"), jsInvoker),
143
+ bridging::fromJs<decltype(types.displayName)>(rt, value.getProperty(rt, "displayName"), jsInvoker),
144
+ bridging::fromJs<decltype(types.emailVerified)>(rt, value.getProperty(rt, "emailVerified"), jsInvoker),
145
+ bridging::fromJs<decltype(types.certificateChainAboutToExpire)>(rt, value.getProperty(rt, "certificateChainAboutToExpire"), jsInvoker),
146
+ bridging::fromJs<decltype(types.tokenAboutToExpire)>(rt, value.getProperty(rt, "tokenAboutToExpire"), jsInvoker)};
147
+ return result;
148
+ }
149
+
150
+ #ifdef DEBUG
151
+ static jsi::String userIdToJs(jsi::Runtime &rt, decltype(types.userId) value) {
152
+ return bridging::toJs(rt, value);
153
+ }
154
+
155
+ static jsi::String publicKeyToJs(jsi::Runtime &rt, decltype(types.publicKey) value) {
156
+ return bridging::toJs(rt, value);
157
+ }
158
+
159
+ static jsi::String emailToJs(jsi::Runtime &rt, decltype(types.email) value) {
160
+ return bridging::toJs(rt, value);
161
+ }
162
+
163
+ static jsi::String displayNameToJs(jsi::Runtime &rt, decltype(types.displayName) value) {
164
+ return bridging::toJs(rt, value);
165
+ }
166
+
167
+ static bool emailVerifiedToJs(jsi::Runtime &rt, decltype(types.emailVerified) value) {
168
+ return bridging::toJs(rt, value);
169
+ }
170
+
171
+ static bool certificateChainAboutToExpireToJs(jsi::Runtime &rt, decltype(types.certificateChainAboutToExpire) value) {
172
+ return bridging::toJs(rt, value);
173
+ }
174
+
175
+ static bool tokenAboutToExpireToJs(jsi::Runtime &rt, decltype(types.tokenAboutToExpire) value) {
176
+ return bridging::toJs(rt, value);
177
+ }
178
+ #endif
179
+
180
+ static jsi::Object toJs(
181
+ jsi::Runtime &rt,
182
+ const T &value,
183
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
184
+ auto result = facebook::jsi::Object(rt);
185
+ if (value.userId) {
186
+ result.setProperty(rt, "userId", bridging::toJs(rt, value.userId.value(), jsInvoker));
187
+ }
188
+ result.setProperty(rt, "publicKey", bridging::toJs(rt, value.publicKey, jsInvoker));
189
+ result.setProperty(rt, "email", bridging::toJs(rt, value.email, jsInvoker));
190
+ if (value.displayName) {
191
+ result.setProperty(rt, "displayName", bridging::toJs(rt, value.displayName.value(), jsInvoker));
192
+ }
193
+ result.setProperty(rt, "emailVerified", bridging::toJs(rt, value.emailVerified, jsInvoker));
194
+ result.setProperty(rt, "certificateChainAboutToExpire", bridging::toJs(rt, value.certificateChainAboutToExpire, jsInvoker));
195
+ result.setProperty(rt, "tokenAboutToExpire", bridging::toJs(rt, value.tokenAboutToExpire, jsInvoker));
196
+ return result;
197
+ }
198
+ };
199
+
200
+ class JSI_EXPORT NativeHeadlessReactNativeSdkCxxSpecJSI : public TurboModule {
201
+ protected:
202
+ NativeHeadlessReactNativeSdkCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
203
+
204
+ public:
205
+ virtual jsi::Value login(jsi::Runtime &rt, jsi::String email, jsi::String password) = 0;
206
+ virtual jsi::Value setAuthToken(jsi::Runtime &rt, jsi::String authToken) = 0;
207
+ virtual jsi::Value getUserDetails(jsi::Runtime &rt) = 0;
208
+ virtual jsi::Value verify(jsi::Runtime &rt, jsi::String code) = 0;
209
+ virtual jsi::Value logout(jsi::Runtime &rt) = 0;
210
+ virtual jsi::Value getLocksBelongingToTile(jsi::Runtime &rt, jsi::String tileId) = 0;
211
+ virtual jsi::Value unlockDevice(jsi::Runtime &rt, jsi::String lockId) = 0;
212
+
213
+ };
214
+
215
+ template <typename T>
216
+ class JSI_EXPORT NativeHeadlessReactNativeSdkCxxSpec : public TurboModule {
217
+ public:
218
+ jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
219
+ return delegate_.create(rt, propName);
220
+ }
221
+
222
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
223
+ return delegate_.getPropertyNames(runtime);
224
+ }
225
+
226
+ static constexpr std::string_view kModuleName = "HeadlessReactNativeSdk";
227
+
228
+ protected:
229
+ NativeHeadlessReactNativeSdkCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
230
+ : TurboModule(std::string{NativeHeadlessReactNativeSdkCxxSpec::kModuleName}, jsInvoker),
231
+ delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
232
+
233
+
234
+ private:
235
+ class Delegate : public NativeHeadlessReactNativeSdkCxxSpecJSI {
236
+ public:
237
+ Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
238
+ NativeHeadlessReactNativeSdkCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
239
+
240
+ }
241
+
242
+ jsi::Value login(jsi::Runtime &rt, jsi::String email, jsi::String password) override {
243
+ static_assert(
244
+ bridging::getParameterCount(&T::login) == 3,
245
+ "Expected login(...) to have 3 parameters");
246
+
247
+ return bridging::callFromJs<jsi::Value>(
248
+ rt, &T::login, jsInvoker_, instance_, std::move(email), std::move(password));
249
+ }
250
+ jsi::Value setAuthToken(jsi::Runtime &rt, jsi::String authToken) override {
251
+ static_assert(
252
+ bridging::getParameterCount(&T::setAuthToken) == 2,
253
+ "Expected setAuthToken(...) to have 2 parameters");
254
+
255
+ return bridging::callFromJs<jsi::Value>(
256
+ rt, &T::setAuthToken, jsInvoker_, instance_, std::move(authToken));
257
+ }
258
+ jsi::Value getUserDetails(jsi::Runtime &rt) override {
259
+ static_assert(
260
+ bridging::getParameterCount(&T::getUserDetails) == 1,
261
+ "Expected getUserDetails(...) to have 1 parameters");
262
+
263
+ return bridging::callFromJs<jsi::Value>(
264
+ rt, &T::getUserDetails, jsInvoker_, instance_);
265
+ }
266
+ jsi::Value verify(jsi::Runtime &rt, jsi::String code) override {
267
+ static_assert(
268
+ bridging::getParameterCount(&T::verify) == 2,
269
+ "Expected verify(...) to have 2 parameters");
270
+
271
+ return bridging::callFromJs<jsi::Value>(
272
+ rt, &T::verify, jsInvoker_, instance_, std::move(code));
273
+ }
274
+ jsi::Value logout(jsi::Runtime &rt) override {
275
+ static_assert(
276
+ bridging::getParameterCount(&T::logout) == 1,
277
+ "Expected logout(...) to have 1 parameters");
278
+
279
+ return bridging::callFromJs<jsi::Value>(
280
+ rt, &T::logout, jsInvoker_, instance_);
281
+ }
282
+ jsi::Value getLocksBelongingToTile(jsi::Runtime &rt, jsi::String tileId) override {
283
+ static_assert(
284
+ bridging::getParameterCount(&T::getLocksBelongingToTile) == 2,
285
+ "Expected getLocksBelongingToTile(...) to have 2 parameters");
286
+
287
+ return bridging::callFromJs<jsi::Value>(
288
+ rt, &T::getLocksBelongingToTile, jsInvoker_, instance_, std::move(tileId));
289
+ }
290
+ jsi::Value unlockDevice(jsi::Runtime &rt, jsi::String lockId) override {
291
+ static_assert(
292
+ bridging::getParameterCount(&T::unlockDevice) == 2,
293
+ "Expected unlockDevice(...) to have 2 parameters");
294
+
295
+ return bridging::callFromJs<jsi::Value>(
296
+ rt, &T::unlockDevice, jsInvoker_, instance_, std::move(lockId));
297
+ }
298
+
299
+ private:
300
+ friend class NativeHeadlessReactNativeSdkCxxSpec;
301
+ T *instance_;
302
+ };
303
+
304
+ Delegate delegate_;
305
+ };
306
+
307
+ } // namespace facebook::react
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing('HeadlessReactNativeSdk');
9
+ //# sourceMappingURL=NativeHeadlessReactNativeSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeHeadlessReactNativeSdk.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAiD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAqFlCC,gCAAmB,CAACC,YAAY,CAAO,wBAAwB,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLocksBelongingToTile = getLocksBelongingToTile;
7
+ exports.getUserDetails = getUserDetails;
8
+ exports.login = login;
9
+ exports.logout = logout;
10
+ exports.setAuthToken = setAuthToken;
11
+ exports.unlockDevice = unlockDevice;
12
+ exports.verify = verify;
13
+ var _NativeHeadlessReactNativeSdk = _interopRequireDefault(require("./NativeHeadlessReactNativeSdk.js"));
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function login(email, password) {
16
+ return _NativeHeadlessReactNativeSdk.default.login(email, password);
17
+ }
18
+ function setAuthToken(authToken) {
19
+ return _NativeHeadlessReactNativeSdk.default.setAuthToken(authToken);
20
+ }
21
+ function getUserDetails() {
22
+ return _NativeHeadlessReactNativeSdk.default.getUserDetails();
23
+ }
24
+ function verify(code) {
25
+ return _NativeHeadlessReactNativeSdk.default.verify(code);
26
+ }
27
+ function logout() {
28
+ return _NativeHeadlessReactNativeSdk.default.logout();
29
+ }
30
+ function getLocksBelongingToTile(tileId) {
31
+ return _NativeHeadlessReactNativeSdk.default.getLocksBelongingToTile(tileId);
32
+ }
33
+ function unlockDevice(lockId) {
34
+ return _NativeHeadlessReactNativeSdk.default.unlockDevice(lockId);
35
+ }
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativeHeadlessReactNativeSdk","_interopRequireDefault","require","e","__esModule","default","login","email","password","HeadlessReactNativeSdk","setAuthToken","authToken","getUserDetails","verify","code","logout","getLocksBelongingToTile","tileId","unlockDevice","lockId"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,6BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGwC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjC,SAASG,KAAKA,CAACC,KAAa,EAAEC,QAAgB,EAAiD;EACpG,OAAOC,qCAAsB,CAACH,KAAK,CACjCC,KAAK,EACLC,QACF,CAAC;AACH;AAEO,SAASE,YAAYA,CAACC,SAAiB,EAAiD;EAC7F,OAAOF,qCAAsB,CAACC,YAAY,CAACC,SAAS,CAAC;AACvD;AAEO,SAASC,cAAcA,CAAA,EAAiC;EAC7D,OAAOH,qCAAsB,CAACG,cAAc,CAAC,CAAC;AAChD;AAEO,SAASC,MAAMA,CAACC,IAAY,EAAiB;EAClD,OAAOL,qCAAsB,CAACI,MAAM,CAACC,IAAI,CAAC;AAC5C;AAEO,SAASC,MAAMA,CAAA,EAAkB;EACtC,OAAON,qCAAsB,CAACM,MAAM,CAAC,CAAC;AACxC;AAEO,SAASC,uBAAuBA,CAACC,MAAc,EAA8B;EAClF,OAAOR,qCAAsB,CAACO,uBAAuB,CAACC,MAAM,CAAC;AAC/D;AAEO,SAASC,YAAYA,CAACC,MAAc,EAAiB;EAC1D,OAAOV,qCAAsB,CAACS,YAAY,CAACC,MAAM,CAAC;AACpD","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.getEnforcing('HeadlessReactNativeSdk');
5
+ //# sourceMappingURL=NativeHeadlessReactNativeSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeHeadlessReactNativeSdk.ts"],"mappings":";;AACA,SAAQA,mBAAmB,QAAO,cAAc;AAqFhD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,wBAAwB,CAAC","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import HeadlessReactNativeSdk from "./NativeHeadlessReactNativeSdk.js";
4
+ export function login(email, password) {
5
+ return HeadlessReactNativeSdk.login(email, password);
6
+ }
7
+ export function setAuthToken(authToken) {
8
+ return HeadlessReactNativeSdk.setAuthToken(authToken);
9
+ }
10
+ export function getUserDetails() {
11
+ return HeadlessReactNativeSdk.getUserDetails();
12
+ }
13
+ export function verify(code) {
14
+ return HeadlessReactNativeSdk.verify(code);
15
+ }
16
+ export function logout() {
17
+ return HeadlessReactNativeSdk.logout();
18
+ }
19
+ export function getLocksBelongingToTile(tileId) {
20
+ return HeadlessReactNativeSdk.getLocksBelongingToTile(tileId);
21
+ }
22
+ export function unlockDevice(lockId) {
23
+ return HeadlessReactNativeSdk.unlockDevice(lockId);
24
+ }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HeadlessReactNativeSdk","login","email","password","setAuthToken","authToken","getUserDetails","verify","code","logout","getLocksBelongingToTile","tileId","unlockDevice","lockId"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,sBAAsB,MAGtB,mCAAgC;AAEvC,OAAO,SAASC,KAAKA,CAACC,KAAa,EAAEC,QAAgB,EAAiD;EACpG,OAAOH,sBAAsB,CAACC,KAAK,CACjCC,KAAK,EACLC,QACF,CAAC;AACH;AAEA,OAAO,SAASC,YAAYA,CAACC,SAAiB,EAAiD;EAC7F,OAAOL,sBAAsB,CAACI,YAAY,CAACC,SAAS,CAAC;AACvD;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAiC;EAC7D,OAAON,sBAAsB,CAACM,cAAc,CAAC,CAAC;AAChD;AAEA,OAAO,SAASC,MAAMA,CAACC,IAAY,EAAiB;EAClD,OAAOR,sBAAsB,CAACO,MAAM,CAACC,IAAI,CAAC;AAC5C;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAkB;EACtC,OAAOT,sBAAsB,CAACS,MAAM,CAAC,CAAC;AACxC;AAEA,OAAO,SAASC,uBAAuBA,CAACC,MAAc,EAA8B;EAClF,OAAOX,sBAAsB,CAACU,uBAAuB,CAACC,MAAM,CAAC;AAC/D;AAEA,OAAO,SAASC,YAAYA,CAACC,MAAc,EAAiB;EAC1D,OAAOb,sBAAsB,CAACY,YAAY,CAACC,MAAM,CAAC;AACpD","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,72 @@
1
+ import type { TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ /**
4
+ * @param email - email of the user
5
+ * @param password - password of the user
6
+ *
7
+ * @returns needsVerification [Promise] of [boolean] being this boolean whether the user needs to verify and
8
+ * an email was sent.
9
+ * Be aware that two consecutive logins with `needVerification == true` in less
10
+ * than one minute will result into a `NEEDS_VERIFICATION_ERROR` as there is a
11
+ * 60-second throttle for this operation
12
+ */
13
+ login(email: string, password: string): Promise<AssistedRegisterEphemeralKeyResponse>;
14
+ /**
15
+ * @param authToken - token for this user
16
+ *
17
+ * @returns needsVerification [Promise] of [boolean] being this boolean whether the user needs to verify and
18
+ * an email was sent.
19
+ * Be aware that two consecutive logins with `needVerification == true` in less
20
+ * than one minute will result into a `NEEDS_VERIFICATION_ERROR` as there is a
21
+ * 60-second throttle for this operation
22
+ */
23
+ setAuthToken(authToken: string): Promise<AssistedRegisterEphemeralKeyResponse>;
24
+ /**
25
+ * @returns UserDetailsResponse if the user is logged in, otherwise null
26
+ *
27
+ * This method is useful to check if the user needs to verify 2fa login,
28
+ * or if the certificate chain or the token are about to expire.
29
+ */
30
+ getUserDetails(): Promise<UserDetailsResponse>;
31
+ /**
32
+ * @param code - code sent for verification
33
+ */
34
+ verify(code: string): Promise<void>;
35
+ /**
36
+ * Logs out the user inside the SDK.
37
+ * This doesn't delete any local data generated by the React Native SDK.
38
+ *
39
+ * @return a Promise when it's done.
40
+ */
41
+ logout(): Promise<void>;
42
+ /**
43
+ * @param tileId - tile UUID usually scanned from a QR code or obtained from an NFC tag
44
+ *
45
+ * @returns TileLocksResponse where locks belonging to that tile can be found
46
+ */
47
+ getLocksBelongingToTile(tileId: string): Promise<TileLocksResponse>;
48
+ /**
49
+ * @param lockId - lock UUID associated to a tile
50
+ */
51
+ unlockDevice(lockId: string): Promise<void>;
52
+ }
53
+ export type TileLocksResponse = {
54
+ siteId: string;
55
+ tileId: string;
56
+ deviceIds: string[];
57
+ };
58
+ export type AssistedRegisterEphemeralKeyResponse = {
59
+ requiresVerification: boolean;
60
+ };
61
+ export type UserDetailsResponse = {
62
+ userId?: string;
63
+ publicKey: string;
64
+ email: string;
65
+ displayName?: string;
66
+ emailVerified: boolean;
67
+ certificateChainAboutToExpire: boolean;
68
+ tokenAboutToExpire: boolean;
69
+ };
70
+ declare const _default: Spec;
71
+ export default _default;
72
+ //# sourceMappingURL=NativeHeadlessReactNativeSdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeHeadlessReactNativeSdk.d.ts","sourceRoot":"","sources":["../../../../src/NativeHeadlessReactNativeSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;;;;OASG;IACH,KAAK,CACH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnC;;;;;OAKG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvB;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEpE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,6BAA6B,EAAE,OAAO,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAA;;AAED,wBAAgF"}
@@ -0,0 +1,9 @@
1
+ import { type AssistedRegisterEphemeralKeyResponse, type TileLocksResponse, type UserDetailsResponse } from './NativeHeadlessReactNativeSdk';
2
+ export declare function login(email: string, password: string): Promise<AssistedRegisterEphemeralKeyResponse>;
3
+ export declare function setAuthToken(authToken: string): Promise<AssistedRegisterEphemeralKeyResponse>;
4
+ export declare function getUserDetails(): Promise<UserDetailsResponse>;
5
+ export declare function verify(code: string): Promise<void>;
6
+ export declare function logout(): Promise<void>;
7
+ export declare function getLocksBelongingToTile(tileId: string): Promise<TileLocksResponse>;
8
+ export declare function unlockDevice(lockId: string): Promise<void>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAA+B,EAC7B,KAAK,oCAAoC,EACzC,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EACjD,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAKpG;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAE7F;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAgB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAElF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,72 @@
1
+ import type { TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ /**
4
+ * @param email - email of the user
5
+ * @param password - password of the user
6
+ *
7
+ * @returns needsVerification [Promise] of [boolean] being this boolean whether the user needs to verify and
8
+ * an email was sent.
9
+ * Be aware that two consecutive logins with `needVerification == true` in less
10
+ * than one minute will result into a `NEEDS_VERIFICATION_ERROR` as there is a
11
+ * 60-second throttle for this operation
12
+ */
13
+ login(email: string, password: string): Promise<AssistedRegisterEphemeralKeyResponse>;
14
+ /**
15
+ * @param authToken - token for this user
16
+ *
17
+ * @returns needsVerification [Promise] of [boolean] being this boolean whether the user needs to verify and
18
+ * an email was sent.
19
+ * Be aware that two consecutive logins with `needVerification == true` in less
20
+ * than one minute will result into a `NEEDS_VERIFICATION_ERROR` as there is a
21
+ * 60-second throttle for this operation
22
+ */
23
+ setAuthToken(authToken: string): Promise<AssistedRegisterEphemeralKeyResponse>;
24
+ /**
25
+ * @returns UserDetailsResponse if the user is logged in, otherwise null
26
+ *
27
+ * This method is useful to check if the user needs to verify 2fa login,
28
+ * or if the certificate chain or the token are about to expire.
29
+ */
30
+ getUserDetails(): Promise<UserDetailsResponse>;
31
+ /**
32
+ * @param code - code sent for verification
33
+ */
34
+ verify(code: string): Promise<void>;
35
+ /**
36
+ * Logs out the user inside the SDK.
37
+ * This doesn't delete any local data generated by the React Native SDK.
38
+ *
39
+ * @return a Promise when it's done.
40
+ */
41
+ logout(): Promise<void>;
42
+ /**
43
+ * @param tileId - tile UUID usually scanned from a QR code or obtained from an NFC tag
44
+ *
45
+ * @returns TileLocksResponse where locks belonging to that tile can be found
46
+ */
47
+ getLocksBelongingToTile(tileId: string): Promise<TileLocksResponse>;
48
+ /**
49
+ * @param lockId - lock UUID associated to a tile
50
+ */
51
+ unlockDevice(lockId: string): Promise<void>;
52
+ }
53
+ export type TileLocksResponse = {
54
+ siteId: string;
55
+ tileId: string;
56
+ deviceIds: string[];
57
+ };
58
+ export type AssistedRegisterEphemeralKeyResponse = {
59
+ requiresVerification: boolean;
60
+ };
61
+ export type UserDetailsResponse = {
62
+ userId?: string;
63
+ publicKey: string;
64
+ email: string;
65
+ displayName?: string;
66
+ emailVerified: boolean;
67
+ certificateChainAboutToExpire: boolean;
68
+ tokenAboutToExpire: boolean;
69
+ };
70
+ declare const _default: Spec;
71
+ export default _default;
72
+ //# sourceMappingURL=NativeHeadlessReactNativeSdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeHeadlessReactNativeSdk.d.ts","sourceRoot":"","sources":["../../../../src/NativeHeadlessReactNativeSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;;;;OASG;IACH,KAAK,CACH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oCAAoC,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnC;;;;;OAKG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvB;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEpE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,6BAA6B,EAAE,OAAO,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAA;;AAED,wBAAgF"}
@@ -0,0 +1,9 @@
1
+ import { type AssistedRegisterEphemeralKeyResponse, type TileLocksResponse, type UserDetailsResponse } from './NativeHeadlessReactNativeSdk';
2
+ export declare function login(email: string, password: string): Promise<AssistedRegisterEphemeralKeyResponse>;
3
+ export declare function setAuthToken(authToken: string): Promise<AssistedRegisterEphemeralKeyResponse>;
4
+ export declare function getUserDetails(): Promise<UserDetailsResponse>;
5
+ export declare function verify(code: string): Promise<void>;
6
+ export declare function logout(): Promise<void>;
7
+ export declare function getLocksBelongingToTile(tileId: string): Promise<TileLocksResponse>;
8
+ export declare function unlockDevice(lockId: string): Promise<void>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAA+B,EAC7B,KAAK,oCAAoC,EACzC,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EACjD,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAKpG;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAE7F;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAgB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAEtC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAElF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D"}