react-native-nfc-manager 4.0.0-beta.7 → 4.0.0-beta.8

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 (107) hide show
  1. package/README.md +37 -3
  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 +333 -1119
  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 +201 -0
  12. package/dist/ndef-lib/constants.js +67 -0
  13. package/dist/ndef-lib/constants.js.map +1 -0
  14. package/dist/ndef-lib/index.js +79 -0
  15. package/dist/ndef-lib/index.js.map +1 -0
  16. package/dist/ndef-lib/ndef-text.js +29 -0
  17. package/dist/ndef-lib/ndef-text.js.map +1 -0
  18. package/dist/ndef-lib/ndef-uri.js +40 -0
  19. package/dist/ndef-lib/ndef-uri.js.map +1 -0
  20. package/dist/ndef-lib/ndef-wifi-simple.js +100 -0
  21. package/dist/ndef-lib/ndef-wifi-simple.js.map +1 -0
  22. package/dist/ndef-lib/ndef.js +153 -0
  23. package/dist/ndef-lib/ndef.js.map +1 -0
  24. package/dist/ndef-lib/stringifier.js +155 -0
  25. package/dist/ndef-lib/stringifier.js.map +1 -0
  26. package/dist/ndef-lib/util.js +126 -0
  27. package/dist/ndef-lib/util.js.map +1 -0
  28. package/dist/specs/NativeNfcManager.js +5 -0
  29. package/dist/specs/NativeNfcManager.js.map +1 -0
  30. package/dist/src/NativeNfcManager.js +55 -0
  31. package/dist/src/NativeNfcManager.js.map +1 -0
  32. package/dist/src/NfcError.js +220 -0
  33. package/dist/src/NfcError.js.map +1 -0
  34. package/dist/src/NfcManager.js +175 -0
  35. package/dist/src/NfcManager.js.map +1 -0
  36. package/dist/src/NfcManagerAndroid.js +112 -0
  37. package/dist/src/NfcManagerAndroid.js.map +1 -0
  38. package/dist/src/NfcManagerIOS.js +119 -0
  39. package/dist/src/NfcManagerIOS.js.map +1 -0
  40. package/dist/src/NfcTech/Iso15693HandlerIOS.js +99 -0
  41. package/dist/src/NfcTech/Iso15693HandlerIOS.js.map +1 -0
  42. package/dist/src/NfcTech/IsoDepHandler.js +29 -0
  43. package/dist/src/NfcTech/IsoDepHandler.js.map +1 -0
  44. package/dist/src/NfcTech/MifareClassicHandlerAndroid.js +68 -0
  45. package/dist/src/NfcTech/MifareClassicHandlerAndroid.js.map +1 -0
  46. package/dist/src/NfcTech/MifareUltralightHandlerAndroid.js +23 -0
  47. package/dist/src/NfcTech/MifareUltralightHandlerAndroid.js.map +1 -0
  48. package/dist/src/NfcTech/NdefFormatableHandlerAndroid.js +16 -0
  49. package/dist/src/NfcTech/NdefFormatableHandlerAndroid.js.map +1 -0
  50. package/dist/src/NfcTech/NdefHandler.js +54 -0
  51. package/dist/src/NfcTech/NdefHandler.js.map +1 -0
  52. package/dist/src/NfcTech/NfcAHandler.js +16 -0
  53. package/dist/src/NfcTech/NfcAHandler.js.map +1 -0
  54. package/dist/src/NfcTech/NfcVHandler.js +33 -0
  55. package/dist/src/NfcTech/NfcVHandler.js.map +1 -0
  56. package/dist/src/index.js +53 -0
  57. package/dist/src/index.js.map +1 -0
  58. package/index.d.ts +76 -43
  59. package/ios/NfcManager.h +2 -10
  60. package/ios/NfcManager.mm +176 -434
  61. package/ios/RNNfcBridgeUtil.h +28 -0
  62. package/ios/RNNfcBridgeUtil.mm +52 -0
  63. package/ios/RNNfcManager+Felica.swift +61 -0
  64. package/ios/RNNfcManager+Iso15693.swift +895 -0
  65. package/ios/RNNfcManager+IsoDep.swift +145 -0
  66. package/ios/RNNfcManager+Mifare.swift +61 -0
  67. package/ios/RNNfcManager+Ndef.swift +120 -0
  68. package/ios/RNNfcManager.h +251 -0
  69. package/ios/RNNfcManager.swift +648 -0
  70. package/ios/RNNfcSessionDelegateProxy.swift +104 -0
  71. package/ios/RNNfcSwiftUtil.swift +34 -0
  72. package/ndef-lib/{constants.js → constants.ts} +2 -0
  73. package/ndef-lib/{index.js → index.ts} +23 -12
  74. package/ndef-lib/{ndef-text.js → ndef-text.ts} +7 -2
  75. package/ndef-lib/{ndef-uri.js → ndef-uri.ts} +8 -3
  76. package/ndef-lib/{ndef-wifi-simple.js → ndef-wifi-simple.ts} +34 -11
  77. package/ndef-lib/{ndef.js → ndef.ts} +49 -20
  78. package/ndef-lib/{stringifier.js → stringifier.ts} +27 -10
  79. package/ndef-lib/{util.js → util.ts} +13 -8
  80. package/package.json +21 -7
  81. package/react-native-nfc-manager.podspec +3 -2
  82. package/specs/NativeNfcManager.ts +17 -4
  83. package/src/NativeNfcManager.ts +84 -0
  84. package/src/{NfcError.js → NfcError.ts} +6 -17
  85. package/src/{NfcManager.js → NfcManager.ts} +49 -34
  86. package/src/{NfcManagerAndroid.js → NfcManagerAndroid.ts} +25 -8
  87. package/src/{NfcManagerIOS.js → NfcManagerIOS.ts} +31 -10
  88. package/src/NfcTech/{Iso15693HandlerIOS.js → Iso15693HandlerIOS.ts} +64 -36
  89. package/src/NfcTech/{IsoDepHandler.js → IsoDepHandler.ts} +8 -5
  90. package/src/NfcTech/{MifareClassicHandlerAndroid.js → MifareClassicHandlerAndroid.ts} +33 -24
  91. package/src/NfcTech/{MifareUltralightHandlerAndroid.js → MifareUltralightHandlerAndroid.ts} +14 -5
  92. package/src/NfcTech/{NdefFormatableHandlerAndroid.js → NdefFormatableHandlerAndroid.ts} +9 -2
  93. package/src/NfcTech/{NdefHandler.js → NdefHandler.ts} +19 -6
  94. package/src/NfcTech/{NfcAHandler.js → NfcAHandler.ts} +6 -3
  95. package/src/NfcTech/{NfcVHandler.js → NfcVHandler.ts} +8 -5
  96. package/src/__mocks__/{NativeNfcManager.js → NativeNfcManager.ts} +4 -1
  97. package/src/{index.js → index.ts} +1 -1
  98. package/android/src/main/java/community/revteltech/nfc/JsonConvert.java +0 -141
  99. package/android/src/main/java/community/revteltech/nfc/MifareUtil.java +0 -84
  100. package/ios/NfcManager+Felica.mm +0 -43
  101. package/ios/NfcManager+Iso15693.mm +0 -600
  102. package/ios/NfcManager+IsoDep.mm +0 -83
  103. package/ios/NfcManager+Mifare.mm +0 -43
  104. package/ios/Util.mm +0 -55
  105. package/specs/NativeNfcManager.js +0 -3
  106. package/specs/NativeNfcManager.js.map +0 -1
  107. package/src/NativeNfcManager.js +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringifier.js","sourceRoot":"","sources":["../../ndef-lib/stringifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // ndef-util.js
3
+ // Copyright 2013 Don Coleman
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // https://weblog.rogueamoeba.com/2017/02/27/javascript-correctly-converting-a-byte-array-to-a-utf-8-string/
7
+ function _utf8ArrayToStr(data) {
8
+ const extraByteMap = [1, 1, 1, 1, 2, 2, 3, 0];
9
+ var count = data.length;
10
+ var str = '';
11
+ for (var index = 0; index < count;) {
12
+ var ch = data[index++];
13
+ if (ch & 0x80) {
14
+ var extra = extraByteMap[(ch >> 3) & 0x07];
15
+ if (!(ch & 0x40) || !extra || index + extra > count) {
16
+ return null;
17
+ }
18
+ ch = ch & (0x3f >> extra);
19
+ for (; extra > 0; extra -= 1) {
20
+ var chx = data[index++];
21
+ if ((chx & 0xc0) !== 0x80) {
22
+ return null;
23
+ }
24
+ ch = (ch << 6) | (chx & 0x3f);
25
+ }
26
+ }
27
+ str += String.fromCharCode(ch);
28
+ }
29
+ return str;
30
+ }
31
+ // https://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array
32
+ function _toUTF8Array(str) {
33
+ var out = [], p = 0;
34
+ for (var i = 0; i < str.length; i++) {
35
+ var c = str.charCodeAt(i);
36
+ if (c < 128) {
37
+ out[p++] = c;
38
+ }
39
+ else if (c < 2048) {
40
+ out[p++] = (c >> 6) | 192;
41
+ out[p++] = (c & 63) | 128;
42
+ }
43
+ else if ((c & 0xfc00) === 0xd800 &&
44
+ i + 1 < str.length &&
45
+ (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {
46
+ // Surrogate Pair
47
+ c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);
48
+ out[p++] = (c >> 18) | 240;
49
+ out[p++] = ((c >> 12) & 63) | 128;
50
+ out[p++] = ((c >> 6) & 63) | 128;
51
+ out[p++] = (c & 63) | 128;
52
+ }
53
+ else {
54
+ out[p++] = (c >> 12) | 224;
55
+ out[p++] = ((c >> 6) & 63) | 128;
56
+ out[p++] = (c & 63) | 128;
57
+ }
58
+ }
59
+ return out;
60
+ }
61
+ function stringToBytes(string) {
62
+ return _toUTF8Array(string);
63
+ // var bytes = Buffer(string).toJSON();
64
+ // if (bytes.hasOwnProperty('data')) {
65
+ // // Node 0.12.x
66
+ // return bytes.data;
67
+ // } else {
68
+ // // Node 0.10.x
69
+ // return bytes;
70
+ // }
71
+ }
72
+ function bytesToString(bytes) {
73
+ if (typeof bytes === 'string') {
74
+ return bytes;
75
+ }
76
+ return _utf8ArrayToStr(bytes);
77
+ // return Buffer(bytes).toString();
78
+ }
79
+ // useful for readable version of Tag UID
80
+ function bytesToHexString(bytes) {
81
+ var dec, hexstring, bytesAsHexString = '';
82
+ for (var i = 0; i < bytes.length; i++) {
83
+ if (bytes[i] >= 0) {
84
+ dec = bytes[i];
85
+ }
86
+ else {
87
+ dec = 256 + bytes[i];
88
+ }
89
+ hexstring = dec.toString(16);
90
+ // zero padding
91
+ if (hexstring.length === 1) {
92
+ hexstring = '0' + hexstring;
93
+ }
94
+ bytesAsHexString += hexstring;
95
+ }
96
+ return bytesAsHexString;
97
+ }
98
+ // i must be <= 256
99
+ function toHex(i) {
100
+ var hex;
101
+ if (i < 0) {
102
+ i += 256;
103
+ }
104
+ hex = i.toString(16);
105
+ // zero padding
106
+ if (hex.length === 1) {
107
+ hex = '0' + hex;
108
+ }
109
+ return hex;
110
+ }
111
+ function toPrintable(i) {
112
+ if (i >= 0x20 && i <= 0x7f) {
113
+ return String.fromCharCode(i);
114
+ }
115
+ else {
116
+ return '.';
117
+ }
118
+ }
119
+ module.exports = {
120
+ stringToBytes: stringToBytes,
121
+ bytesToString: bytesToString,
122
+ bytesToHexString: bytesToHexString,
123
+ toHex: toHex,
124
+ toPrintable: toPrintable,
125
+ };
126
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../ndef-lib/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_native_1 = require("react-native");
4
+ exports.default = react_native_1.TurboModuleRegistry.getEnforcing('NfcManager');
5
+ //# sourceMappingURL=NativeNfcManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeNfcManager.js","sourceRoot":"","sources":["../../specs/NativeNfcManager.ts"],"names":[],"mappings":";;AACA,+CAAiD;AA4FjD,kBAAe,kCAAmB,CAAC,YAAY,CAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callNative = exports.NfcManagerEmitter = exports.NativeNfcManager = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const reactNativeGlobal = global;
6
+ const isTurboModuleEnabled = reactNativeGlobal['RN$Bridgeless'] === true ||
7
+ reactNativeGlobal.__turboModuleProxy != null;
8
+ const nativeModules = react_native_1.NativeModules || {};
9
+ const NativeNfcManager = (isTurboModuleEnabled
10
+ ? require('../specs/NativeNfcManager').default
11
+ : nativeModules.NfcManager);
12
+ exports.NativeNfcManager = NativeNfcManager;
13
+ const legacyNfcManagerEmitter = typeof react_native_1.NativeEventEmitter === 'function'
14
+ ? new react_native_1.NativeEventEmitter(NativeNfcManager)
15
+ : { addListener: () => ({ remove: () => { } }) };
16
+ const codegenEventEmitters = {
17
+ NfcManagerDiscoverTag: NativeNfcManager.onDiscoverTag,
18
+ NfcManagerDiscoverBackgroundTag: NativeNfcManager.onDiscoverBackgroundTag,
19
+ NfcManagerSessionClosed: NativeNfcManager.onSessionClosed,
20
+ NfcManagerStateChanged: NativeNfcManager.onStateChanged,
21
+ };
22
+ const NfcManagerEmitter = {
23
+ addListener: (eventName, listener) => {
24
+ const codegenEmitter = codegenEventEmitters[eventName];
25
+ if (isTurboModuleEnabled && codegenEmitter) {
26
+ return codegenEmitter(listener);
27
+ }
28
+ return legacyNfcManagerEmitter.addListener(eventName, listener);
29
+ },
30
+ };
31
+ exports.NfcManagerEmitter = NfcManagerEmitter;
32
+ function callNative(name, params = []) {
33
+ const nativeMethod = NativeNfcManager[name];
34
+ if (!nativeMethod) {
35
+ throw new Error(`no such native method: "${name}"`);
36
+ }
37
+ if (!Array.isArray(params)) {
38
+ throw new Error('params must be an array');
39
+ }
40
+ const createCallback = (resolve, reject) => (err, result) => {
41
+ if (err) {
42
+ reject(err);
43
+ }
44
+ else {
45
+ resolve(result);
46
+ }
47
+ };
48
+ return new Promise((resolve, reject) => {
49
+ const callback = createCallback(resolve, reject);
50
+ const inputParams = [...params, callback];
51
+ nativeMethod(...inputParams);
52
+ });
53
+ }
54
+ exports.callNative = callNative;
55
+ //# sourceMappingURL=NativeNfcManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeNfcManager.js","sourceRoot":"","sources":["../../src/NativeNfcManager.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,+CAA+D;AAmB/D,MAAM,iBAAiB,GAAG,MAGzB,CAAC;AACF,MAAM,oBAAoB,GACxB,iBAAiB,CAAC,eAAe,CAAC,KAAK,IAAI;IAC3C,iBAAiB,CAAC,kBAAkB,IAAI,IAAI,CAAC;AAC/C,MAAM,aAAa,GAAG,4BAAa,IAAI,EAAE,CAAC;AAC1C,MAAM,gBAAgB,GAAG,CAAC,oBAAoB;IAC5C,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO;IAC9C,CAAC,CAAC,aAAa,CAAC,UAAU,CAAiB,CAAC;AAqDtC,4CAAgB;AAnDxB,MAAM,uBAAuB,GAC3B,OAAO,iCAAkB,KAAK,UAAU;IACtC,CAAC,CAAC,IAAI,iCAAkB,CAAC,gBAAgB,CAAC;IAC1C,CAAC,CAAC,EAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAC,CAAC,EAAC,CAAC;AAEhD,MAAM,oBAAoB,GAAoD;IAC5E,qBAAqB,EAAE,gBAAgB,CAAC,aAAa;IACrD,+BAA+B,EAAE,gBAAgB,CAAC,uBAAuB;IACzE,uBAAuB,EAAE,gBAAgB,CAAC,eAAe;IACzD,sBAAsB,EAAE,gBAAgB,CAAC,cAAc;CACxD,CAAC;AAEF,MAAM,iBAAiB,GAAsB;IAC3C,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,oBAAoB,IAAI,cAAc,EAAE;YAC1C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;SACjC;QACD,OAAO,uBAAuB,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;CACF,CAAC;AA+BwB,8CAAiB;AA7B3C,SAAS,UAAU,CAAc,IAAY,EAAE,SAAoB,EAAE;IACnE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAA6B,CAAC;IAExE,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;KACrD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,MAAM,cAAc,GAAG,CACrB,OAA4C,EAC5C,MAAkC,EAClC,EAAE,CAAC,CAAC,GAAY,EAAE,MAAS,EAAE,EAAE;QAC/B,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,GAAG,CAAC,CAAC;SACb;aAAM;YACL,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,YAAY,CAAC,GAAG,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAE4C,gCAAU"}
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleNativeException = exports.buildNfcExceptionAndroid = exports.buildNfcExceptionIOS = exports.NfcErrorIOS = exports.ZeroLengthMessage = exports.TagSizeTooSmall = exports.TagUpdateFailure = exports.TagNotWritable = exports.InvalidConfiguration = exports.FirstNdefInvalid = exports.SystemBusy = exports.Unexpected = exports.Timeout = exports.UserCancel = exports.PacketTooLong = exports.TagNotConnected = exports.SessionInvalidated = exports.TagResponseError = exports.RetryExceeded = exports.TagConnectionLost = exports.RadioDisabled = exports.ParameterOutOfBound = exports.InvalidParameterLength = exports.InvalidParameter = exports.SecurityViolation = exports.UnsupportedFeature = exports.NfcErrorBase = void 0;
4
+ const react_native_1 = require("react-native");
5
+ class NfcErrorBase extends Error {
6
+ }
7
+ exports.NfcErrorBase = NfcErrorBase;
8
+ class UnsupportedFeature extends NfcErrorBase {
9
+ }
10
+ exports.UnsupportedFeature = UnsupportedFeature;
11
+ class SecurityViolation extends NfcErrorBase {
12
+ }
13
+ exports.SecurityViolation = SecurityViolation;
14
+ class InvalidParameter extends NfcErrorBase {
15
+ }
16
+ exports.InvalidParameter = InvalidParameter;
17
+ class InvalidParameterLength extends NfcErrorBase {
18
+ }
19
+ exports.InvalidParameterLength = InvalidParameterLength;
20
+ class ParameterOutOfBound extends NfcErrorBase {
21
+ }
22
+ exports.ParameterOutOfBound = ParameterOutOfBound;
23
+ class RadioDisabled extends NfcErrorBase {
24
+ }
25
+ exports.RadioDisabled = RadioDisabled;
26
+ class TagConnectionLost extends NfcErrorBase {
27
+ }
28
+ exports.TagConnectionLost = TagConnectionLost;
29
+ class RetryExceeded extends NfcErrorBase {
30
+ }
31
+ exports.RetryExceeded = RetryExceeded;
32
+ class TagResponseError extends NfcErrorBase {
33
+ }
34
+ exports.TagResponseError = TagResponseError;
35
+ class SessionInvalidated extends NfcErrorBase {
36
+ }
37
+ exports.SessionInvalidated = SessionInvalidated;
38
+ class TagNotConnected extends NfcErrorBase {
39
+ }
40
+ exports.TagNotConnected = TagNotConnected;
41
+ class PacketTooLong extends NfcErrorBase {
42
+ }
43
+ exports.PacketTooLong = PacketTooLong;
44
+ class UserCancel extends NfcErrorBase {
45
+ }
46
+ exports.UserCancel = UserCancel;
47
+ class Timeout extends NfcErrorBase {
48
+ }
49
+ exports.Timeout = Timeout;
50
+ class Unexpected extends NfcErrorBase {
51
+ }
52
+ exports.Unexpected = Unexpected;
53
+ class SystemBusy extends NfcErrorBase {
54
+ }
55
+ exports.SystemBusy = SystemBusy;
56
+ class FirstNdefInvalid extends NfcErrorBase {
57
+ }
58
+ exports.FirstNdefInvalid = FirstNdefInvalid;
59
+ class InvalidConfiguration extends NfcErrorBase {
60
+ }
61
+ exports.InvalidConfiguration = InvalidConfiguration;
62
+ class TagNotWritable extends NfcErrorBase {
63
+ }
64
+ exports.TagNotWritable = TagNotWritable;
65
+ class TagUpdateFailure extends NfcErrorBase {
66
+ }
67
+ exports.TagUpdateFailure = TagUpdateFailure;
68
+ class TagSizeTooSmall extends NfcErrorBase {
69
+ }
70
+ exports.TagSizeTooSmall = TagSizeTooSmall;
71
+ class ZeroLengthMessage extends NfcErrorBase {
72
+ }
73
+ exports.ZeroLengthMessage = ZeroLengthMessage;
74
+ exports.NfcErrorIOS = {
75
+ errCodes: {
76
+ unknown: -1,
77
+ unsupportedFeature: 1,
78
+ securityViolation: 2,
79
+ invalidParameter: 3,
80
+ invalidParameterLength: 4,
81
+ parameterOutOfBound: 5,
82
+ radioDisabled: 6,
83
+ tagConnectionLost: 100,
84
+ retryExceeded: 101,
85
+ tagResponseError: 102,
86
+ sessionInvalidated: 103,
87
+ tagNotConnected: 104,
88
+ packetTooLong: 105,
89
+ userCancel: 200,
90
+ timeout: 201,
91
+ unexpected: 202,
92
+ systemBusy: 203,
93
+ firstNdefInvalid: 204,
94
+ invalidConfiguration: 300,
95
+ tagNotWritable: 400,
96
+ tagUpdateFailure: 401,
97
+ tagSizeTooSmall: 402,
98
+ zeroLengthMessage: 403,
99
+ },
100
+ parse: (error) => {
101
+ if (typeof error === 'string') {
102
+ const [domainError] = error.split(',');
103
+ if (domainError) {
104
+ const [nfcError, nfcErrorCode] = domainError.split(':');
105
+ if (nfcError === 'NFCError') {
106
+ return parseInt(nfcErrorCode, 10);
107
+ }
108
+ }
109
+ }
110
+ else if (error instanceof UserCancel) {
111
+ console.warn('API Deprecated: please use NfcError.UserCancel instead');
112
+ return exports.NfcErrorIOS.errCodes.userCancel;
113
+ }
114
+ return exports.NfcErrorIOS.errCodes.unknown;
115
+ },
116
+ };
117
+ function buildNfcExceptionIOS(error) {
118
+ const [domainError] = error.split(',');
119
+ if (domainError) {
120
+ const [nfcError, nfcErrorCode] = domainError.split(':');
121
+ if (nfcError === 'NFCError') {
122
+ const code = parseInt(nfcErrorCode, 10);
123
+ if (code === exports.NfcErrorIOS.errCodes.unsupportedFeature) {
124
+ return new UnsupportedFeature();
125
+ }
126
+ else if (code === exports.NfcErrorIOS.errCodes.securityViolation) {
127
+ return new SecurityViolation();
128
+ }
129
+ else if (code === exports.NfcErrorIOS.errCodes.invalidParameter) {
130
+ return new InvalidParameter();
131
+ }
132
+ else if (code === exports.NfcErrorIOS.errCodes.invalidParameterLength) {
133
+ return new InvalidParameterLength();
134
+ }
135
+ else if (code === exports.NfcErrorIOS.errCodes.parameterOutOfBound) {
136
+ return new ParameterOutOfBound();
137
+ }
138
+ else if (code === exports.NfcErrorIOS.errCodes.radioDisabled) {
139
+ return new RadioDisabled();
140
+ }
141
+ else if (code === exports.NfcErrorIOS.errCodes.tagConnectionLost) {
142
+ return new TagConnectionLost();
143
+ }
144
+ else if (code === exports.NfcErrorIOS.errCodes.retryExceeded) {
145
+ return new RetryExceeded();
146
+ }
147
+ else if (code === exports.NfcErrorIOS.errCodes.tagResponseError) {
148
+ return new TagResponseError();
149
+ }
150
+ else if (code === exports.NfcErrorIOS.errCodes.sessionInvalidated) {
151
+ return new SessionInvalidated();
152
+ }
153
+ else if (code === exports.NfcErrorIOS.errCodes.tagNotConnected) {
154
+ return new TagNotConnected();
155
+ }
156
+ else if (code === exports.NfcErrorIOS.errCodes.packetTooLong) {
157
+ return new PacketTooLong();
158
+ }
159
+ else if (code === exports.NfcErrorIOS.errCodes.userCancel) {
160
+ return new UserCancel();
161
+ }
162
+ else if (code === exports.NfcErrorIOS.errCodes.timeout) {
163
+ return new Timeout();
164
+ }
165
+ else if (code === exports.NfcErrorIOS.errCodes.unexpected) {
166
+ return new Unexpected();
167
+ }
168
+ else if (code === exports.NfcErrorIOS.errCodes.systemBusy) {
169
+ return new SystemBusy();
170
+ }
171
+ else if (code === exports.NfcErrorIOS.errCodes.firstNdefInvalid) {
172
+ return new FirstNdefInvalid();
173
+ }
174
+ else if (code === exports.NfcErrorIOS.errCodes.invalidConfiguration) {
175
+ return new InvalidConfiguration();
176
+ }
177
+ else if (code === exports.NfcErrorIOS.errCodes.tagNotWritable) {
178
+ return new TagNotWritable();
179
+ }
180
+ else if (code === exports.NfcErrorIOS.errCodes.tagUpdateFailure) {
181
+ return new TagUpdateFailure();
182
+ }
183
+ else if (code === exports.NfcErrorIOS.errCodes.tagSizeTooSmall) {
184
+ return new TagSizeTooSmall();
185
+ }
186
+ else if (code === exports.NfcErrorIOS.errCodes.zeroLengthMessage) {
187
+ return new ZeroLengthMessage();
188
+ }
189
+ }
190
+ }
191
+ return new NfcErrorBase(error);
192
+ }
193
+ exports.buildNfcExceptionIOS = buildNfcExceptionIOS;
194
+ function buildNfcExceptionAndroid(error) {
195
+ if (error === 'cancelled') {
196
+ return new UserCancel();
197
+ }
198
+ return new NfcErrorBase(error);
199
+ }
200
+ exports.buildNfcExceptionAndroid = buildNfcExceptionAndroid;
201
+ async function handleNativeException(callNativePromise, ignoreError = false) {
202
+ try {
203
+ return await callNativePromise;
204
+ }
205
+ catch (err) {
206
+ if (!ignoreError) {
207
+ if (typeof err === 'string') {
208
+ if (react_native_1.Platform.OS === 'ios') {
209
+ throw buildNfcExceptionIOS(err);
210
+ }
211
+ else if (react_native_1.Platform.OS === 'android') {
212
+ throw buildNfcExceptionAndroid(err);
213
+ }
214
+ }
215
+ throw err;
216
+ }
217
+ }
218
+ }
219
+ exports.handleNativeException = handleNativeException;
220
+ //# sourceMappingURL=NfcError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NfcError.js","sourceRoot":"","sources":["../../src/NfcError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_REGISTER_TAG_EVENT_OPTIONS = exports.NdefStatus = exports.NfcManagerBase = exports.NfcEvents = exports.NfcTech = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const NativeNfcManager_1 = require("./NativeNfcManager");
6
+ const NdefHandler_1 = require("./NfcTech/NdefHandler");
7
+ Object.defineProperty(exports, "NdefStatus", { enumerable: true, get: function () { return NdefHandler_1.NdefStatus; } });
8
+ const NfcAHandler_1 = require("./NfcTech/NfcAHandler");
9
+ const NfcVHandler_1 = require("./NfcTech/NfcVHandler");
10
+ const IsoDepHandler_1 = require("./NfcTech/IsoDepHandler");
11
+ const NfcError_1 = require("./NfcError");
12
+ const NfcEvents = {
13
+ DiscoverTag: 'NfcManagerDiscoverTag',
14
+ DiscoverBackgroundTag: 'NfcManagerDiscoverBackgroundTag',
15
+ SessionClosed: 'NfcManagerSessionClosed',
16
+ StateChanged: 'NfcManagerStateChanged',
17
+ };
18
+ exports.NfcEvents = NfcEvents;
19
+ const NfcTech = {
20
+ Ndef: 'Ndef',
21
+ NfcA: 'NfcA',
22
+ NfcB: 'NfcB',
23
+ NfcF: 'NfcF',
24
+ NfcV: 'NfcV',
25
+ IsoDep: 'IsoDep',
26
+ MifareClassic: 'MifareClassic',
27
+ MifareUltralight: 'MifareUltralight',
28
+ MifareIOS: 'mifare',
29
+ Iso15693IOS: 'iso15693',
30
+ FelicaIOS: 'felica',
31
+ NdefFormatable: 'NdefFormatable',
32
+ };
33
+ exports.NfcTech = NfcTech;
34
+ const DEFAULT_REGISTER_TAG_EVENT_OPTIONS = {
35
+ alertMessage: 'Please tap NFC tags',
36
+ invalidateAfterFirstRead: false,
37
+ isReaderModeEnabled: false,
38
+ readerModeFlags: 0,
39
+ readerModeDelay: 250,
40
+ };
41
+ exports.DEFAULT_REGISTER_TAG_EVENT_OPTIONS = DEFAULT_REGISTER_TAG_EVENT_OPTIONS;
42
+ function NotImpl() {
43
+ throw new Error('not implemented');
44
+ }
45
+ async function DoNothing(..._args) {
46
+ // allow derived class to not implment it
47
+ }
48
+ class NfcManagerBase {
49
+ constructor() {
50
+ this.requestTechnology = async (..._args) => NotImpl();
51
+ this.restartTechnologyRequestIOS = async (..._args) => NotImpl();
52
+ this.cancelTechnologyRequest = async (..._args) => NotImpl();
53
+ this.getBackgroundTag = async (..._args) => NotImpl();
54
+ this.clearBackgroundTag = async (..._args) => NotImpl();
55
+ this.setAlertMessage = DoNothing;
56
+ this.getTimeout = DoNothing;
57
+ this._onDiscoverTag = (tag) => {
58
+ const callback = this._clientListeners[NfcEvents.DiscoverTag];
59
+ if (callback) {
60
+ callback(tag);
61
+ }
62
+ };
63
+ this._onDiscoverBackgroundTag = (tag) => {
64
+ const callback = this._clientListeners[NfcEvents.DiscoverBackgroundTag];
65
+ if (callback) {
66
+ callback(tag);
67
+ }
68
+ };
69
+ this._onSessionClosedIOS = (resp) => {
70
+ const callback = this._clientListeners[NfcEvents.SessionClosed];
71
+ if (callback) {
72
+ const error = (0, NfcError_1.buildNfcExceptionIOS)(resp.error);
73
+ callback(error instanceof NfcError_1.UserCancel ? null : error);
74
+ }
75
+ };
76
+ this._onStateChangedAndroid = (state) => {
77
+ const callback = this._clientListeners[NfcEvents.StateChanged];
78
+ if (callback) {
79
+ callback(state);
80
+ }
81
+ };
82
+ this._subscribeNativeEvents = () => {
83
+ this._subscriptions = {};
84
+ this._clientListeners = {};
85
+ this._subscriptions[NfcEvents.DiscoverTag] = NativeNfcManager_1.NfcManagerEmitter.addListener(NfcEvents.DiscoverTag, this._onDiscoverTag);
86
+ this._subscriptions[NfcEvents.DiscoverBackgroundTag] = NativeNfcManager_1.NfcManagerEmitter.addListener(NfcEvents.DiscoverBackgroundTag, this._onDiscoverBackgroundTag);
87
+ if (react_native_1.Platform.OS === 'ios') {
88
+ this._subscriptions[NfcEvents.SessionClosed] = NativeNfcManager_1.NfcManagerEmitter.addListener(NfcEvents.SessionClosed, this._onSessionClosedIOS);
89
+ }
90
+ if (react_native_1.Platform.OS === 'android') {
91
+ this._subscriptions[NfcEvents.StateChanged] = NativeNfcManager_1.NfcManagerEmitter.addListener(NfcEvents.StateChanged, this._onStateChangedAndroid);
92
+ }
93
+ };
94
+ this._subscriptions = {};
95
+ this._clientListeners = {};
96
+ this._ndefHandler = null;
97
+ this._nfcAHandler = null;
98
+ this._nfcVHandler = null;
99
+ this._isoDepHandler = null;
100
+ this._subscribeNativeEvents();
101
+ }
102
+ async start() {
103
+ return (0, NfcError_1.handleNativeException)((0, NativeNfcManager_1.callNative)('start'));
104
+ }
105
+ async isSupported(tech = '') {
106
+ return (0, NfcError_1.handleNativeException)((0, NativeNfcManager_1.callNative)('isSupported', [tech]));
107
+ }
108
+ async registerTagEvent(options = {}) {
109
+ const optionsWithDefault = {
110
+ ...DEFAULT_REGISTER_TAG_EVENT_OPTIONS,
111
+ ...options,
112
+ };
113
+ return (0, NfcError_1.handleNativeException)((0, NativeNfcManager_1.callNative)('registerTagEvent', [optionsWithDefault]));
114
+ }
115
+ async unregisterTagEvent() {
116
+ return (0, NfcError_1.handleNativeException)((0, NativeNfcManager_1.callNative)('unregisterTagEvent'));
117
+ }
118
+ async getTag() {
119
+ return (0, NfcError_1.handleNativeException)((0, NativeNfcManager_1.callNative)('getTag'));
120
+ }
121
+ setEventListener(name, callback) {
122
+ const allNfcEvents = Object.keys(NfcEvents).map((k) => NfcEvents[k]);
123
+ if (allNfcEvents.indexOf(name) === -1) {
124
+ throw new Error('no such event');
125
+ }
126
+ this._clientListeners[name] = callback;
127
+ }
128
+ async writeNdefMessage(bytes, options = {}) {
129
+ return this.ndefHandler.writeNdefMessage(bytes, options);
130
+ }
131
+ async getNdefMessage() {
132
+ return this.ndefHandler.getNdefMessage();
133
+ }
134
+ get ndefHandler() {
135
+ if (!this._ndefHandler) {
136
+ this._ndefHandler = new NdefHandler_1.NdefHandler();
137
+ }
138
+ return this._ndefHandler;
139
+ }
140
+ get nfcAHandler() {
141
+ if (!this._nfcAHandler) {
142
+ this._nfcAHandler = new NfcAHandler_1.NfcAHandler();
143
+ }
144
+ return this._nfcAHandler;
145
+ }
146
+ get nfcVHandler() {
147
+ if (!this._nfcVHandler) {
148
+ this._nfcVHandler = new NfcVHandler_1.NfcVHandler();
149
+ }
150
+ return this._nfcVHandler;
151
+ }
152
+ get isoDepHandler() {
153
+ if (!this._isoDepHandler) {
154
+ this._isoDepHandler = new IsoDepHandler_1.IsoDepHandler();
155
+ }
156
+ return this._isoDepHandler;
157
+ }
158
+ get MIFARE_BLOCK_SIZE() {
159
+ return NativeNfcManager_1.NativeNfcManager.MIFARE_BLOCK_SIZE;
160
+ }
161
+ get MIFARE_ULTRALIGHT_PAGE_SIZE() {
162
+ return NativeNfcManager_1.NativeNfcManager.MIFARE_ULTRALIGHT_PAGE_SIZE;
163
+ }
164
+ get MIFARE_ULTRALIGHT_TYPE() {
165
+ return NativeNfcManager_1.NativeNfcManager.MIFARE_ULTRALIGHT_TYPE;
166
+ }
167
+ get MIFARE_ULTRALIGHT_TYPE_C() {
168
+ return NativeNfcManager_1.NativeNfcManager.MIFARE_ULTRALIGHT_TYPE_C;
169
+ }
170
+ get MIFARE_ULTRALIGHT_TYPE_UNKNOWN() {
171
+ return NativeNfcManager_1.NativeNfcManager.MIFARE_ULTRALIGHT_TYPE_UNKNOWN;
172
+ }
173
+ }
174
+ exports.NfcManagerBase = NfcManagerBase;
175
+ //# sourceMappingURL=NfcManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NfcManager.js","sourceRoot":"","sources":["../../src/NfcManager.ts"],"names":[],"mappings":"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"}