@synonymdev/react-native-pubky 0.2.2 → 0.3.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.
@@ -11,6 +11,8 @@ import kotlinx.coroutines.launch
11
11
  import kotlinx.coroutines.withContext
12
12
  import uniffi.pubkymobile.auth
13
13
  import uniffi.pubkymobile.parseAuthUrl
14
+ import uniffi.pubkymobile.publish
15
+ import uniffi.pubkymobile.resolve
14
16
 
15
17
  class PubkyModule(reactContext: ReactApplicationContext) :
16
18
  ReactContextBaseJavaModule(reactContext) {
@@ -51,6 +53,44 @@ class PubkyModule(reactContext: ReactApplicationContext) :
51
53
  }
52
54
  }
53
55
 
56
+ @ReactMethod
57
+ fun publish(recordName: String, recordContent: String, secretKey: String, promise: Promise) {
58
+ CoroutineScope(Dispatchers.IO).launch {
59
+ try {
60
+ val result = publish(recordName, recordContent, secretKey)
61
+ val array = Arguments.createArray().apply {
62
+ result.forEach { pushString(it) }
63
+ }
64
+ withContext(Dispatchers.Main) {
65
+ promise.resolve(array)
66
+ }
67
+ } catch (e: Exception) {
68
+ withContext(Dispatchers.Main) {
69
+ promise.reject("Error", e.message)
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ @ReactMethod
76
+ fun resolve(publicKey: String, promise: Promise) {
77
+ CoroutineScope(Dispatchers.IO).launch {
78
+ try {
79
+ val result = resolve(publicKey)
80
+ val array = Arguments.createArray().apply {
81
+ result.forEach { pushString(it) }
82
+ }
83
+ withContext(Dispatchers.Main) {
84
+ promise.resolve(array)
85
+ }
86
+ } catch (e: Exception) {
87
+ withContext(Dispatchers.Main) {
88
+ promise.reject("Error", e.message)
89
+ }
90
+ }
91
+ }
92
+ }
93
+
54
94
  companion object {
55
95
  const val NAME = "Pubky"
56
96
  }
@@ -385,6 +385,10 @@ internal interface _UniFFILib : Library {
385
385
  ): RustBuffer.ByValue
386
386
  fun uniffi_pubkymobile_fn_func_parse_auth_url(`url`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
387
387
  ): RustBuffer.ByValue
388
+ fun uniffi_pubkymobile_fn_func_publish(`recordName`: RustBuffer.ByValue,`recordContent`: RustBuffer.ByValue,`secretKey`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
389
+ ): RustBuffer.ByValue
390
+ fun uniffi_pubkymobile_fn_func_resolve(`publicKey`: RustBuffer.ByValue,_uniffi_out_err: RustCallStatus,
391
+ ): RustBuffer.ByValue
388
392
  fun ffi_pubkymobile_rustbuffer_alloc(`size`: Int,_uniffi_out_err: RustCallStatus,
389
393
  ): RustBuffer.ByValue
390
394
  fun ffi_pubkymobile_rustbuffer_from_bytes(`bytes`: ForeignBytes.ByValue,_uniffi_out_err: RustCallStatus,
@@ -503,6 +507,10 @@ internal interface _UniFFILib : Library {
503
507
  ): Short
504
508
  fun uniffi_pubkymobile_checksum_func_parse_auth_url(
505
509
  ): Short
510
+ fun uniffi_pubkymobile_checksum_func_publish(
511
+ ): Short
512
+ fun uniffi_pubkymobile_checksum_func_resolve(
513
+ ): Short
506
514
  fun ffi_pubkymobile_uniffi_contract_version(
507
515
  ): Int
508
516
 
@@ -526,6 +534,12 @@ private fun uniffiCheckApiChecksums(lib: _UniFFILib) {
526
534
  if (lib.uniffi_pubkymobile_checksum_func_parse_auth_url() != 29088.toShort()) {
527
535
  throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
528
536
  }
537
+ if (lib.uniffi_pubkymobile_checksum_func_publish() != 20156.toShort()) {
538
+ throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
539
+ }
540
+ if (lib.uniffi_pubkymobile_checksum_func_resolve() != 18303.toShort()) {
541
+ throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
542
+ }
529
543
  }
530
544
 
531
545
  // Async support
@@ -628,3 +642,19 @@ fun `parseAuthUrl`(`url`: String): List<String> {
628
642
  }
629
643
 
630
644
 
645
+ fun `publish`(`recordName`: String, `recordContent`: String, `secretKey`: String): List<String> {
646
+ return FfiConverterSequenceString.lift(
647
+ rustCall() { _status ->
648
+ _UniFFILib.INSTANCE.uniffi_pubkymobile_fn_func_publish(FfiConverterString.lower(`recordName`),FfiConverterString.lower(`recordContent`),FfiConverterString.lower(`secretKey`),_status)
649
+ })
650
+ }
651
+
652
+
653
+ fun `resolve`(`publicKey`: String): List<String> {
654
+ return FfiConverterSequenceString.lift(
655
+ rustCall() { _status ->
656
+ _UniFFILib.INSTANCE.uniffi_pubkymobile_fn_func_resolve(FfiConverterString.lower(`publicKey`),_status)
657
+ })
658
+ }
659
+
660
+
@@ -10,7 +10,7 @@
10
10
  <key>HeadersPath</key>
11
11
  <string>Headers</string>
12
12
  <key>LibraryIdentifier</key>
13
- <string>ios-arm64</string>
13
+ <string>ios-arm64-simulator</string>
14
14
  <key>LibraryPath</key>
15
15
  <string>libpubkymobile.a</string>
16
16
  <key>SupportedArchitectures</key>
@@ -19,6 +19,8 @@
19
19
  </array>
20
20
  <key>SupportedPlatform</key>
21
21
  <string>ios</string>
22
+ <key>SupportedPlatformVariant</key>
23
+ <string>simulator</string>
22
24
  </dict>
23
25
  <dict>
24
26
  <key>BinaryPath</key>
@@ -26,7 +28,7 @@
26
28
  <key>HeadersPath</key>
27
29
  <string>Headers</string>
28
30
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64-simulator</string>
31
+ <string>ios-arm64</string>
30
32
  <key>LibraryPath</key>
31
33
  <string>libpubkymobile.a</string>
32
34
  <key>SupportedArchitectures</key>
@@ -35,8 +37,6 @@
35
37
  </array>
36
38
  <key>SupportedPlatform</key>
37
39
  <string>ios</string>
38
- <key>SupportedPlatformVariant</key>
39
- <string>simulator</string>
40
40
  </dict>
41
41
  </array>
42
42
  <key>CFBundlePackageType</key>
@@ -67,6 +67,10 @@ RustBuffer uniffi_pubkymobile_fn_func_auth(RustBuffer url, RustBuffer secret_key
67
67
  );
68
68
  RustBuffer uniffi_pubkymobile_fn_func_parse_auth_url(RustBuffer url, RustCallStatus *_Nonnull out_status
69
69
  );
70
+ RustBuffer uniffi_pubkymobile_fn_func_publish(RustBuffer record_name, RustBuffer record_content, RustBuffer secret_key, RustCallStatus *_Nonnull out_status
71
+ );
72
+ RustBuffer uniffi_pubkymobile_fn_func_resolve(RustBuffer public_key, RustCallStatus *_Nonnull out_status
73
+ );
70
74
  RustBuffer ffi_pubkymobile_rustbuffer_alloc(int32_t size, RustCallStatus *_Nonnull out_status
71
75
  );
72
76
  RustBuffer ffi_pubkymobile_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status
@@ -186,6 +190,12 @@ uint16_t uniffi_pubkymobile_checksum_func_auth(void
186
190
  );
187
191
  uint16_t uniffi_pubkymobile_checksum_func_parse_auth_url(void
188
192
 
193
+ );
194
+ uint16_t uniffi_pubkymobile_checksum_func_publish(void
195
+
196
+ );
197
+ uint16_t uniffi_pubkymobile_checksum_func_resolve(void
198
+
189
199
  );
190
200
  uint32_t ffi_pubkymobile_uniffi_contract_version(void
191
201
 
@@ -67,6 +67,10 @@ RustBuffer uniffi_pubkymobile_fn_func_auth(RustBuffer url, RustBuffer secret_key
67
67
  );
68
68
  RustBuffer uniffi_pubkymobile_fn_func_parse_auth_url(RustBuffer url, RustCallStatus *_Nonnull out_status
69
69
  );
70
+ RustBuffer uniffi_pubkymobile_fn_func_publish(RustBuffer record_name, RustBuffer record_content, RustBuffer secret_key, RustCallStatus *_Nonnull out_status
71
+ );
72
+ RustBuffer uniffi_pubkymobile_fn_func_resolve(RustBuffer public_key, RustCallStatus *_Nonnull out_status
73
+ );
70
74
  RustBuffer ffi_pubkymobile_rustbuffer_alloc(int32_t size, RustCallStatus *_Nonnull out_status
71
75
  );
72
76
  RustBuffer ffi_pubkymobile_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status
@@ -186,6 +190,12 @@ uint16_t uniffi_pubkymobile_checksum_func_auth(void
186
190
  );
187
191
  uint16_t uniffi_pubkymobile_checksum_func_parse_auth_url(void
188
192
 
193
+ );
194
+ uint16_t uniffi_pubkymobile_checksum_func_publish(void
195
+
196
+ );
197
+ uint16_t uniffi_pubkymobile_checksum_func_resolve(void
198
+
189
199
  );
190
200
  uint32_t ffi_pubkymobile_uniffi_contract_version(void
191
201
 
package/ios/Pubky.mm CHANGED
@@ -11,6 +11,16 @@ RCT_EXTERN_METHOD(parseAuthUrl:(NSString *)url
11
11
  withResolver:(RCTPromiseResolveBlock)resolve
12
12
  withRejecter:(RCTPromiseRejectBlock)reject)
13
13
 
14
+ RCT_EXTERN_METHOD(publish:(NSString *)recordName
15
+ recordContent:(NSString *)recordContent
16
+ secretKey:(NSString *)secretKey
17
+ withResolver:(RCTPromiseResolveBlock)resolve
18
+ withRejecter:(RCTPromiseRejectBlock)reject)
19
+
20
+ RCT_EXTERN_METHOD(resolve:(NSString *)publicKey
21
+ withResolver:(RCTPromiseResolveBlock)resolve
22
+ withRejecter:(RCTPromiseRejectBlock)reject)
23
+
14
24
  + (BOOL)requiresMainQueueSetup
15
25
  {
16
26
  return NO;
package/ios/Pubky.swift CHANGED
@@ -13,6 +13,7 @@ class Pubky: NSObject {
13
13
  }
14
14
  }
15
15
  }
16
+
16
17
  @objc(parseAuthUrl:withResolver:withRejecter:)
17
18
  func parseAuthUrl(_ url: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
18
19
  Task {
@@ -24,4 +25,28 @@ class Pubky: NSObject {
24
25
  }
25
26
  }
26
27
  }
28
+
29
+ @objc(publish:recordContent:secretKey:withResolver:withRejecter:)
30
+ func publish(recordName: String, recordContent: String, secretKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
31
+ Task {
32
+ do {
33
+ let result = react_native_pubky.publish(recordName: recordName, recordContent: recordContent, secretKey: secretKey)
34
+ resolve(result)
35
+ } catch {
36
+ reject("publish Error", "Failed to publish", error)
37
+ }
38
+ }
39
+ }
40
+
41
+ @objc(resolve:withResolver:withRejecter:)
42
+ func resolve(publicKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
43
+ Task {
44
+ do {
45
+ let result = react_native_pubky.resolve(publicKey: publicKey)
46
+ resolve(result)
47
+ } catch {
48
+ reject("resolve Error", "Failed to resolve", error)
49
+ }
50
+ }
51
+ }
27
52
  }
@@ -376,6 +376,26 @@ public func parseAuthUrl(url: String) -> [String] {
376
376
  )
377
377
  }
378
378
 
379
+ public func publish(recordName: String, recordContent: String, secretKey: String) -> [String] {
380
+ return try! FfiConverterSequenceString.lift(
381
+ try! rustCall() {
382
+ uniffi_pubkymobile_fn_func_publish(
383
+ FfiConverterString.lower(recordName),
384
+ FfiConverterString.lower(recordContent),
385
+ FfiConverterString.lower(secretKey),$0)
386
+ }
387
+ )
388
+ }
389
+
390
+ public func resolve(publicKey: String) -> [String] {
391
+ return try! FfiConverterSequenceString.lift(
392
+ try! rustCall() {
393
+ uniffi_pubkymobile_fn_func_resolve(
394
+ FfiConverterString.lower(publicKey),$0)
395
+ }
396
+ )
397
+ }
398
+
379
399
  private enum InitializationResult {
380
400
  case ok
381
401
  case contractVersionMismatch
@@ -397,6 +417,12 @@ private var initializationResult: InitializationResult {
397
417
  if (uniffi_pubkymobile_checksum_func_parse_auth_url() != 29088) {
398
418
  return InitializationResult.apiChecksumMismatch
399
419
  }
420
+ if (uniffi_pubkymobile_checksum_func_publish() != 20156) {
421
+ return InitializationResult.apiChecksumMismatch
422
+ }
423
+ if (uniffi_pubkymobile_checksum_func_resolve() != 18303) {
424
+ return InitializationResult.apiChecksumMismatch
425
+ }
400
426
 
401
427
  return InitializationResult.ok
402
428
  }
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.auth = auth;
7
7
  exports.parseAuthUrl = parseAuthUrl;
8
+ exports.publish = publish;
9
+ exports.resolve = resolve;
8
10
  var _reactNative = require("react-native");
9
11
  var _result = require("@synonymdev/result");
10
12
  const LINKING_ERROR = `The package 'react-native-pubky' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
@@ -35,4 +37,26 @@ async function parseAuthUrl(url) {
35
37
  return (0, _result.err)(JSON.stringify(e));
36
38
  }
37
39
  }
40
+ async function publish(recordName, recordContent, secretKey) {
41
+ try {
42
+ const res = await Pubky.publish(recordName, recordContent, secretKey);
43
+ if (res[0] === 'error') {
44
+ return (0, _result.err)(res[1]);
45
+ }
46
+ return (0, _result.ok)(res[1]);
47
+ } catch (e) {
48
+ return (0, _result.err)(JSON.stringify(e));
49
+ }
50
+ }
51
+ async function resolve(publicKey) {
52
+ try {
53
+ const res = await Pubky.resolve(publicKey);
54
+ if (res[0] === 'error') {
55
+ return (0, _result.err)(res[1]);
56
+ }
57
+ return (0, _result.ok)(JSON.parse(res[1]));
58
+ } catch (e) {
59
+ return (0, _result.err)(JSON.stringify(e));
60
+ }
61
+ }
38
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","auth","url","secretKey","res","err","ok","parseAuthUrl","parsed","JSON","parse","e","stringify"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GACjB,6EAA6E,GAC7EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGC,0BAAa,CAACD,KAAK,GAC7BC,0BAAa,CAACD,KAAK,GACnB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,eAAeU,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMR,KAAK,CAACK,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAO,IAAAE,UAAE,EAACF,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaO,eAAeG,YAAYA,CAChCL,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMR,KAAK,CAACW,YAAY,CAACL,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,IAAAE,UAAE,EAACE,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,IAAAN,WAAG,EAACI,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_result","LINKING_ERROR","Platform","select","ios","default","Pubky","NativeModules","Proxy","get","Error","auth","url","secretKey","res","err","ok","parseAuthUrl","parsed","JSON","parse","e","stringify","publish","recordName","recordContent","resolve","publicKey"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,MAAME,aAAa,GACjB,6EAA6E,GAC7EC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGC,0BAAa,CAACD,KAAK,GAC7BC,0BAAa,CAACD,KAAK,GACnB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,eAAeU,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMR,KAAK,CAACK,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAO,IAAAE,UAAE,EAACF,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaO,eAAeG,YAAYA,CAChCL,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMR,KAAK,CAACW,YAAY,CAACL,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAMI,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,IAAAE,UAAE,EAACE,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,IAAAN,WAAG,EAACI,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF;AAEO,eAAeE,OAAOA,CAC3BC,UAAkB,EAClBC,aAAqB,EACrBZ,SAAiB,EACU;EAC3B,IAAI;IACF,MAAMC,GAAG,GAAG,MAAMR,KAAK,CAACiB,OAAO,CAACC,UAAU,EAAEC,aAAa,EAAEZ,SAAS,CAAC;IACrE,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,OAAO,IAAAE,UAAE,EAACF,GAAG,CAAC,CAAC,CAAC,CAAC;EACnB,CAAC,CAAC,OAAOO,CAAC,EAAE;IACV,OAAO,IAAAN,WAAG,EAACI,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF;AAmBO,eAAeK,OAAOA,CAACC,SAAiB,EAA+B;EAC5E,IAAI;IACF,MAAMb,GAAG,GAAG,MAAMR,KAAK,CAACoB,OAAO,CAACC,SAAS,CAAC;IAC1C,IAAIb,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAO,IAAAC,WAAG,EAACD,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,OAAO,IAAAE,UAAE,EAACG,IAAI,CAACC,KAAK,CAACN,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC,OAAOO,CAAC,EAAE;IACV,OAAO,IAAAN,WAAG,EAACI,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
@@ -30,4 +30,26 @@ export async function parseAuthUrl(url) {
30
30
  return err(JSON.stringify(e));
31
31
  }
32
32
  }
33
+ export async function publish(recordName, recordContent, secretKey) {
34
+ try {
35
+ const res = await Pubky.publish(recordName, recordContent, secretKey);
36
+ if (res[0] === 'error') {
37
+ return err(res[1]);
38
+ }
39
+ return ok(res[1]);
40
+ } catch (e) {
41
+ return err(JSON.stringify(e));
42
+ }
43
+ }
44
+ export async function resolve(publicKey) {
45
+ try {
46
+ const res = await Pubky.resolve(publicKey);
47
+ if (res[0] === 'error') {
48
+ return err(res[1]);
49
+ }
50
+ return ok(JSON.parse(res[1]));
51
+ } catch (e) {
52
+ return err(JSON.stringify(e));
53
+ }
54
+ }
33
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","ok","err","LINKING_ERROR","select","ios","default","Pubky","Proxy","get","Error","auth","url","secretKey","res","parseAuthUrl","parsed","JSON","parse","e","stringify"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,EAAEC,GAAG,QAAqB,oBAAoB;AAEzD,MAAMC,aAAa,GACjB,6EAA6E,GAC7EH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGR,aAAa,CAACQ,KAAK,GAC7BR,aAAa,CAACQ,KAAK,GACnB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,eAAeQ,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMP,KAAK,CAACI,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAOb,EAAE,CAACa,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaA,OAAO,eAAeC,YAAYA,CAChCH,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMP,KAAK,CAACQ,YAAY,CAACH,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAME,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAOb,EAAE,CAACe,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAOjB,GAAG,CAACe,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","ok","err","LINKING_ERROR","select","ios","default","Pubky","Proxy","get","Error","auth","url","secretKey","res","parseAuthUrl","parsed","JSON","parse","e","stringify","publish","recordName","recordContent","resolve","publicKey"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,EAAEC,GAAG,QAAqB,oBAAoB;AAEzD,MAAMC,aAAa,GACjB,6EAA6E,GAC7EH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,KAAK,GAAGR,aAAa,CAACQ,KAAK,GAC7BR,aAAa,CAACQ,KAAK,GACnB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,eAAeQ,IAAIA,CACxBC,GAAW,EACXC,SAAiB,EACU;EAC3B,MAAMC,GAAG,GAAG,MAAMP,KAAK,CAACI,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;EAC5C,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;IACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;EACpB;EACA,OAAOb,EAAE,CAACa,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB;AAaA,OAAO,eAAeC,YAAYA,CAChCH,GAAW,EACwB;EACnC,IAAI;IACF,MAAME,GAAG,GAAG,MAAMP,KAAK,CAACQ,YAAY,CAACH,GAAG,CAAC;IACzC,IAAIE,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,MAAME,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,OAAOb,EAAE,CAACe,MAAM,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAOjB,GAAG,CAACe,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF;AAEA,OAAO,eAAeE,OAAOA,CAC3BC,UAAkB,EAClBC,aAAqB,EACrBV,SAAiB,EACU;EAC3B,IAAI;IACF,MAAMC,GAAG,GAAG,MAAMP,KAAK,CAACc,OAAO,CAACC,UAAU,EAAEC,aAAa,EAAEV,SAAS,CAAC;IACrE,IAAIC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,OAAOb,EAAE,CAACa,GAAG,CAAC,CAAC,CAAC,CAAC;EACnB,CAAC,CAAC,OAAOK,CAAC,EAAE;IACV,OAAOjB,GAAG,CAACe,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF;AAmBA,OAAO,eAAeK,OAAOA,CAACC,SAAiB,EAA+B;EAC5E,IAAI;IACF,MAAMX,GAAG,GAAG,MAAMP,KAAK,CAACiB,OAAO,CAACC,SAAS,CAAC;IAC1C,IAAIX,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;MACtB,OAAOZ,GAAG,CAACY,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB;IACA,OAAOb,EAAE,CAACgB,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC,OAAOK,CAAC,EAAE;IACV,OAAOjB,GAAG,CAACe,IAAI,CAACG,SAAS,CAACD,CAAC,CAAC,CAAC;EAC/B;AACF","ignoreList":[]}
@@ -10,5 +10,24 @@ type PubkyAuthDetails = {
10
10
  secret: string;
11
11
  };
12
12
  export declare function parseAuthUrl(url: string): Promise<Result<PubkyAuthDetails>>;
13
+ export declare function publish(recordName: string, recordContent: string, secretKey: string): Promise<Result<string[]>>;
14
+ interface ITxt {
15
+ cache_flush: boolean;
16
+ class: string;
17
+ name: string;
18
+ rdata: {
19
+ strings: string[];
20
+ type: string;
21
+ };
22
+ ttl: number;
23
+ }
24
+ interface IDNSPacket {
25
+ dns_packet: string;
26
+ public_key: string;
27
+ records: ITxt[];
28
+ signature: string;
29
+ timestamp: number;
30
+ }
31
+ export declare function resolve(publicKey: string): Promise<Result<IDNSPacket>>;
13
32
  export {};
14
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC;AAED,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAU3B;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AACD,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAU5E"}
@@ -10,5 +10,24 @@ type PubkyAuthDetails = {
10
10
  secret: string;
11
11
  };
12
12
  export declare function parseAuthUrl(url: string): Promise<Result<PubkyAuthDetails>>;
13
+ export declare function publish(recordName: string, recordContent: string, secretKey: string): Promise<Result<string[]>>;
14
+ interface ITxt {
15
+ cache_flush: boolean;
16
+ class: string;
17
+ name: string;
18
+ rdata: {
19
+ strings: string[];
20
+ type: string;
21
+ };
22
+ ttl: number;
23
+ }
24
+ interface IDNSPacket {
25
+ dns_packet: string;
26
+ public_key: string;
27
+ records: ITxt[];
28
+ signature: string;
29
+ timestamp: number;
30
+ }
31
+ export declare function resolve(publicKey: string): Promise<Result<IDNSPacket>>;
13
32
  export {};
14
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB1D,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM3B;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAWnC;AAED,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAU3B;AAED,UAAU,IAAI;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AACD,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAU5E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synonymdev/react-native-pubky",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "React Native Implementation of Pubky",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -40,8 +40,8 @@
40
40
  "test": "jest",
41
41
  "typecheck": "tsc",
42
42
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
43
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
44
- "prepare": "bob build",
43
+ "clean": "rm -rf android/build example/android/build example/android/app/build example/ios/build lib",
44
+ "prepare": "corepack enable && npm install -g react-native-builder-bob && bob build",
45
45
  "release": "release-it",
46
46
  "example:ios": "cd example && cd ios && rm -rf Pods && cd ../ && npm i && bundle install && npm run build:ios && npm run ios",
47
47
  "example:android": "cd example && npm i && npm run build:android && npm run android",
package/src/index.tsx CHANGED
@@ -54,3 +54,48 @@ export async function parseAuthUrl(
54
54
  return err(JSON.stringify(e));
55
55
  }
56
56
  }
57
+
58
+ export async function publish(
59
+ recordName: string,
60
+ recordContent: string,
61
+ secretKey: string
62
+ ): Promise<Result<string[]>> {
63
+ try {
64
+ const res = await Pubky.publish(recordName, recordContent, secretKey);
65
+ if (res[0] === 'error') {
66
+ return err(res[1]);
67
+ }
68
+ return ok(res[1]);
69
+ } catch (e) {
70
+ return err(JSON.stringify(e));
71
+ }
72
+ }
73
+
74
+ interface ITxt {
75
+ cache_flush: boolean;
76
+ class: string;
77
+ name: string;
78
+ rdata: {
79
+ strings: string[];
80
+ type: string;
81
+ };
82
+ ttl: number;
83
+ }
84
+ interface IDNSPacket {
85
+ dns_packet: string;
86
+ public_key: string;
87
+ records: ITxt[];
88
+ signature: string;
89
+ timestamp: number;
90
+ }
91
+ export async function resolve(publicKey: string): Promise<Result<IDNSPacket>> {
92
+ try {
93
+ const res = await Pubky.resolve(publicKey);
94
+ if (res[0] === 'error') {
95
+ return err(res[1]);
96
+ }
97
+ return ok(JSON.parse(res[1]));
98
+ } catch (e) {
99
+ return err(JSON.stringify(e));
100
+ }
101
+ }