react-native-nfc-manager 4.0.0-beta.0 → 4.0.0-beta.10

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 (106) hide show
  1. package/README.md +146 -49
  2. package/android/src/main/java/community/revteltech/nfc/MifareClassicHandler.java +419 -0
  3. package/android/src/main/java/community/revteltech/nfc/MifareUltralightHandler.java +84 -0
  4. package/android/src/main/java/community/revteltech/nfc/NdefHandler.java +373 -0
  5. package/android/src/main/java/community/revteltech/nfc/NfcAdapterStateChangedReceiver.java +48 -0
  6. package/android/src/main/java/community/revteltech/nfc/NfcErrorCodes.java +16 -0
  7. package/android/src/main/java/community/revteltech/nfc/NfcManager.java +348 -1087
  8. package/android/src/main/java/community/revteltech/nfc/NfcManagerIOSStubBase.java +130 -0
  9. package/android/src/main/java/community/revteltech/nfc/NfcTechIoRouter.java +258 -0
  10. package/android/src/main/java/community/revteltech/nfc/TagTechnologyRequest.java +19 -7
  11. package/android/src/main/java/community/revteltech/nfc/Util.java +275 -2
  12. package/app.plugin.js +8 -9
  13. package/dist/ndef-lib/constants.js +67 -0
  14. package/dist/ndef-lib/constants.js.map +1 -0
  15. package/dist/ndef-lib/index.js +79 -0
  16. package/dist/ndef-lib/index.js.map +1 -0
  17. package/dist/ndef-lib/ndef-text.js +29 -0
  18. package/dist/ndef-lib/ndef-text.js.map +1 -0
  19. package/dist/ndef-lib/ndef-uri.js +40 -0
  20. package/dist/ndef-lib/ndef-uri.js.map +1 -0
  21. package/dist/ndef-lib/ndef-wifi-simple.js +100 -0
  22. package/dist/ndef-lib/ndef-wifi-simple.js.map +1 -0
  23. package/dist/ndef-lib/ndef.js +152 -0
  24. package/dist/ndef-lib/ndef.js.map +1 -0
  25. package/dist/ndef-lib/stringifier.js +155 -0
  26. package/dist/ndef-lib/stringifier.js.map +1 -0
  27. package/dist/ndef-lib/util.js +126 -0
  28. package/dist/ndef-lib/util.js.map +1 -0
  29. package/dist/specs/NativeNfcManager.js +5 -0
  30. package/dist/specs/NativeNfcManager.js.map +1 -0
  31. package/dist/src/NativeNfcManager.js +55 -0
  32. package/dist/src/NativeNfcManager.js.map +1 -0
  33. package/dist/src/NfcError.js +220 -0
  34. package/dist/src/NfcError.js.map +1 -0
  35. package/dist/src/NfcManager.js +175 -0
  36. package/dist/src/NfcManager.js.map +1 -0
  37. package/dist/src/NfcManagerAndroid.js +112 -0
  38. package/dist/src/NfcManagerAndroid.js.map +1 -0
  39. package/dist/src/NfcManagerIOS.js +119 -0
  40. package/dist/src/NfcManagerIOS.js.map +1 -0
  41. package/dist/src/NfcTech/Iso15693HandlerIOS.js +99 -0
  42. package/dist/src/NfcTech/Iso15693HandlerIOS.js.map +1 -0
  43. package/dist/src/NfcTech/IsoDepHandler.js +29 -0
  44. package/dist/src/NfcTech/IsoDepHandler.js.map +1 -0
  45. package/dist/src/NfcTech/MifareClassicHandlerAndroid.js +68 -0
  46. package/dist/src/NfcTech/MifareClassicHandlerAndroid.js.map +1 -0
  47. package/dist/src/NfcTech/MifareUltralightHandlerAndroid.js +23 -0
  48. package/dist/src/NfcTech/MifareUltralightHandlerAndroid.js.map +1 -0
  49. package/dist/src/NfcTech/NdefFormatableHandlerAndroid.js +16 -0
  50. package/dist/src/NfcTech/NdefFormatableHandlerAndroid.js.map +1 -0
  51. package/dist/src/NfcTech/NdefHandler.js +54 -0
  52. package/dist/src/NfcTech/NdefHandler.js.map +1 -0
  53. package/dist/src/NfcTech/NfcAHandler.js +16 -0
  54. package/dist/src/NfcTech/NfcAHandler.js.map +1 -0
  55. package/dist/src/NfcTech/NfcVHandler.js +33 -0
  56. package/dist/src/NfcTech/NfcVHandler.js.map +1 -0
  57. package/dist/src/index.js +53 -0
  58. package/dist/src/index.js.map +1 -0
  59. package/index.d.ts +110 -46
  60. package/ios/NfcManager.h +2 -11
  61. package/ios/NfcManager.mm +264 -438
  62. package/ios/RNNfcBridgeUtil.h +28 -0
  63. package/ios/RNNfcBridgeUtil.mm +52 -0
  64. package/ios/RNNfcManager+Felica.swift +61 -0
  65. package/ios/RNNfcManager+Iso15693.swift +895 -0
  66. package/ios/RNNfcManager+IsoDep.swift +145 -0
  67. package/ios/RNNfcManager+Mifare.swift +61 -0
  68. package/ios/RNNfcManager+Ndef.swift +120 -0
  69. package/ios/RNNfcManager.h +251 -0
  70. package/ios/RNNfcManager.swift +648 -0
  71. package/ios/RNNfcSessionDelegateProxy.swift +104 -0
  72. package/ios/RNNfcSwiftUtil.swift +34 -0
  73. package/ndef-lib/{constants.js → constants.ts} +2 -0
  74. package/ndef-lib/{index.js → index.ts} +23 -12
  75. package/ndef-lib/{ndef-text.js → ndef-text.ts} +7 -2
  76. package/ndef-lib/{ndef-uri.js → ndef-uri.ts} +8 -3
  77. package/ndef-lib/{ndef-wifi-simple.js → ndef-wifi-simple.ts} +34 -11
  78. package/ndef-lib/{ndef.js → ndef.ts} +53 -25
  79. package/ndef-lib/{stringifier.js → stringifier.ts} +27 -10
  80. package/ndef-lib/{util.js → util.ts} +13 -8
  81. package/package.json +44 -13
  82. package/react-native-nfc-manager.podspec +3 -2
  83. package/specs/NativeNfcManager.ts +95 -0
  84. package/src/NativeNfcManager.ts +84 -0
  85. package/src/{NfcError.js → NfcError.ts} +6 -17
  86. package/src/{NfcManager.js → NfcManager.ts} +51 -34
  87. package/src/{NfcManagerAndroid.js → NfcManagerAndroid.ts} +27 -8
  88. package/src/{NfcManagerIOS.js → NfcManagerIOS.ts} +31 -10
  89. package/src/NfcTech/{Iso15693HandlerIOS.js → Iso15693HandlerIOS.ts} +64 -36
  90. package/src/NfcTech/{IsoDepHandler.js → IsoDepHandler.ts} +8 -5
  91. package/src/NfcTech/{MifareClassicHandlerAndroid.js → MifareClassicHandlerAndroid.ts} +33 -24
  92. package/src/NfcTech/{MifareUltralightHandlerAndroid.js → MifareUltralightHandlerAndroid.ts} +14 -5
  93. package/src/NfcTech/{NdefFormatableHandlerAndroid.js → NdefFormatableHandlerAndroid.ts} +9 -2
  94. package/src/NfcTech/{NdefHandler.js → NdefHandler.ts} +19 -6
  95. package/src/NfcTech/{NfcAHandler.js → NfcAHandler.ts} +6 -3
  96. package/src/NfcTech/{NfcVHandler.js → NfcVHandler.ts} +8 -5
  97. package/src/__mocks__/{NativeNfcManager.js → NativeNfcManager.ts} +4 -1
  98. package/src/{index.js → index.ts} +1 -1
  99. package/android/src/main/java/community/revteltech/nfc/JsonConvert.java +0 -141
  100. package/android/src/main/java/community/revteltech/nfc/MifareUtil.java +0 -84
  101. package/ios/NfcManager+Felica.mm +0 -43
  102. package/ios/NfcManager+Iso15693.mm +0 -600
  103. package/ios/NfcManager+IsoDep.mm +0 -83
  104. package/ios/NfcManager+Mifare.mm +0 -43
  105. package/ios/Util.mm +0 -55
  106. package/src/NativeNfcManager.js +0 -37
@@ -1,43 +0,0 @@
1
- #import "NfcManager.h"
2
- #import "React/RCTBridge.h"
3
- #import "React/RCTConvert.h"
4
- #import "React/RCTEventDispatcher.h"
5
- #import "React/RCTLog.h"
6
-
7
- @interface NfcManager (Mifare)
8
- @end
9
-
10
- @implementation NfcManager (Mifare)
11
-
12
- - (void)sendMifareCommand:(NSArray *)bytes callback: (nonnull RCTResponseSenderBlock)callback
13
- {
14
- if (@available(iOS 13.0, *)) {
15
- if ([self tagSession] != nil) {
16
- if ([self tagSession].connectedTag) {
17
- id<NFCMiFareTag> mifareTag = [[self tagSession].connectedTag asNFCMiFareTag];
18
- NSData *data = arrayToData(bytes);
19
- NSLog(@"input bytes: %@", getHexString(data));
20
- if (mifareTag) {
21
- [mifareTag sendMiFareCommand:data
22
- completionHandler:^(NSData *response, NSError *error) {
23
- if (error) {
24
- callback(@[getErrorMessage(error), [NSNull null]]);
25
- } else {
26
- callback(@[[NSNull null], dataToArray(response)]);
27
- }
28
- }];
29
- return;
30
- } else {
31
- callback(@[@"not a mifare tag", [NSNull null]]);
32
- }
33
- }
34
- callback(@[@"Not connected", [NSNull null]]);
35
- } else {
36
- callback(@[@"Not even registered", [NSNull null]]);
37
- }
38
- } else {
39
- callback(@[@"Not support in this device", [NSNull null]]);
40
- }
41
- }
42
-
43
- @end
package/ios/Util.mm DELETED
@@ -1,55 +0,0 @@
1
- //
2
- // Util.m
3
- // react-native-nfc-manager
4
- //
5
- // Created by Richie Hsieh on 2022/1/27.
6
- //
7
-
8
- #import <Foundation/Foundation.h>
9
-
10
- NSString* getHexString(NSData *data) {
11
- NSUInteger capacity = data.length * 2;
12
- NSMutableString *sbuf = [NSMutableString stringWithCapacity:capacity];
13
- const unsigned char *buf = (const unsigned char *)data.bytes;
14
- NSInteger i;
15
- for (i=0; i<data.length; ++i) {
16
- [sbuf appendFormat:@"%02lX", (unsigned long)buf[i]];
17
- }
18
- return sbuf;
19
- }
20
-
21
- NSString* getErrorMessage(NSError *error) {
22
- NSDictionary *userInfo = [error userInfo];
23
- NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey];
24
- if (underlyingError != nil) {
25
- return [NSString stringWithFormat:@"%@:%ld,%@:%ld",
26
- [error domain], (long)[error code],
27
- [underlyingError domain], (long)[underlyingError code]];
28
- }
29
- return [NSString stringWithFormat:@"%@:%ld",
30
- [error domain], (long)[error code]];
31
- }
32
-
33
- NSData * arrayToData(NSArray *array) {
34
- Byte bytes[[array count]];
35
- for (int i = 0; i < [array count]; i++) {
36
- bytes[i] = [[array objectAtIndex:i] integerValue];
37
- }
38
- NSData *payload = [[NSData alloc] initWithBytes:bytes length:[array count]];
39
- return payload;
40
- }
41
-
42
- NSArray * dataToArray(NSData *data) {
43
- const unsigned char *dataBuffer = data ? (const unsigned char *)[data bytes] : NULL;
44
-
45
- if (!dataBuffer)
46
- return @[];
47
-
48
- NSUInteger dataLength = [data length];
49
- NSMutableArray *array = [NSMutableArray arrayWithCapacity:dataLength];
50
-
51
- for (int i = 0; i < dataLength; ++i)
52
- [array addObject:[NSNumber numberWithInteger:dataBuffer[i]]];
53
-
54
- return array;
55
- }
@@ -1,37 +0,0 @@
1
- 'use strict';
2
- import {NativeModules, NativeEventEmitter} from 'react-native';
3
-
4
- const isTurboModuleEnabled = global?.__turboModuleProxy != null;
5
- const NativeNfcManager = isTurboModuleEnabled
6
- ? require('../specs/NativeNfcManager').default
7
- : NativeModules.NfcManager;
8
-
9
- const NfcManagerEmitter = new NativeEventEmitter(NativeNfcManager);
10
-
11
- function callNative(name, params = []) {
12
- const nativeMethod = NativeNfcManager[name];
13
-
14
- if (!nativeMethod) {
15
- throw new Error(`no such native method: "${name}"`);
16
- }
17
-
18
- if (!Array.isArray(params)) {
19
- throw new Error('params must be an array');
20
- }
21
-
22
- const createCallback = (resolve, reject) => (err, result) => {
23
- if (err) {
24
- reject(err);
25
- } else {
26
- resolve(result);
27
- }
28
- };
29
-
30
- return new Promise((resolve, reject) => {
31
- const callback = createCallback(resolve, reject);
32
- const inputParams = [...params, callback];
33
- nativeMethod(...inputParams);
34
- });
35
- }
36
-
37
- export {NativeNfcManager, NfcManagerEmitter, callNative};