scandit-react-native-datacapture-parser 6.21.2 → 6.22.0-beta.2

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.
@@ -59,12 +59,15 @@ android {
59
59
  }
60
60
 
61
61
  dependencies {
62
- def sdk_version = "6.21.2"
62
+ def sdk_version = "6.22.0-beta.2"
63
63
 
64
64
  println("Version of the native sdk used in this build: ${safeExtGet('global_sdk_version', sdk_version)}")
65
65
  api project(path: ':scandit-react-native-datacapture-core')
66
- api "com.scandit.datacapture:parser:${safeExtGet('global_sdk_version', sdk_version)}"
67
-
66
+ if (findProject(':scandit-datacapture-frameworks-parser') != null) {
67
+ api project(":scandit-datacapture-frameworks-parser")
68
+ } else {
69
+ api "com.scandit.datacapture.frameworks:parser:${safeExtGet('global_sdk_version', sdk_version)}"
70
+ }
68
71
  // For < 0.71, this will be from the local maven repo
69
72
  // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
70
73
  //noinspection GradleDynamicVersion
@@ -6,35 +6,22 @@
6
6
 
7
7
  package com.scandit.datacapture.reactnative.parser
8
8
 
9
- import android.util.Base64
10
- import androidx.annotation.VisibleForTesting
11
- import com.facebook.react.bridge.*
12
- import com.scandit.datacapture.core.json.JsonValue
13
- import com.scandit.datacapture.frameworks.core.deserialization.DeserializationLifecycleObserver
14
- import com.scandit.datacapture.frameworks.core.deserialization.Deserializers
15
- import com.scandit.datacapture.parser.Parser
16
- import com.scandit.datacapture.parser.serialization.ParserDeserializer
17
- import com.scandit.datacapture.parser.serialization.ParserDeserializerListener
18
- import com.scandit.datacapture.reactnative.core.utils.Error
19
- import com.scandit.datacapture.reactnative.core.utils.reject
9
+ import com.facebook.react.bridge.Arguments
10
+ import com.facebook.react.bridge.Promise
11
+ import com.facebook.react.bridge.ReactApplicationContext
12
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
13
+ import com.facebook.react.bridge.ReactMethod
14
+ import com.scandit.datacapture.frameworks.parser.ParserModule
15
+ import com.scandit.datacapture.reactnative.core.utils.ReactNativeResult
20
16
 
21
17
  typealias Base64String = String
22
18
 
23
19
  class ScanditDataCaptureParserModule(
24
- private val reactContext: ReactApplicationContext,
25
- private val parserDeserializer: ParserDeserializer = ParserDeserializer()
26
- ) : ReactContextBaseJavaModule(reactContext),
27
- ParserDeserializerListener,
28
- DeserializationLifecycleObserver.Observer {
20
+ reactContext: ReactApplicationContext,
21
+ private val parserModule: ParserModule
22
+ ) : ReactContextBaseJavaModule(reactContext) {
29
23
  companion object {
30
24
  private const val DEFAULTS_KEY = "Defaults"
31
-
32
- private val ERROR_INVALID_PARSER_ID =
33
- Error(1, "The parser id does not match the current parser id.")
34
- private val ERROR_PARSER_FAILURE =
35
- Error(2, "Parser error: %s")
36
- private val ERROR_INVALID_BASE_64 =
37
- Error(3, "Invalid Base64.")
38
25
  }
39
26
 
40
27
  override fun getName(): String = "ScanditDataCaptureParser"
@@ -43,86 +30,28 @@ class ScanditDataCaptureParserModule(
43
30
  DEFAULTS_KEY to Arguments.createMap()
44
31
  )
45
32
 
46
- @VisibleForTesting
47
- var parsers: MutableMap<String, Parser> = mutableMapOf()
48
-
49
- init {
50
- parserDeserializer.listener = this
51
- Deserializers.Factory.addComponentDeserializer(parserDeserializer)
52
-
53
- DeserializationLifecycleObserver.attach(this)
54
- }
55
-
56
33
  override fun invalidate() {
57
- DeserializationLifecycleObserver.detach(this)
58
-
59
- Deserializers.Factory.removeComponentDeserializer(parserDeserializer)
60
- parserDeserializer.listener = null
61
-
62
- parsers.clear()
34
+ parserModule.onDestroy()
63
35
  super.invalidate()
64
36
  }
65
37
 
66
38
  @ReactMethod
67
39
  fun parseString(parserId: String, data: String, promise: Promise) {
68
- val parser = parsers[parserId] ?: run {
69
- promise.reject(ERROR_INVALID_PARSER_ID)
70
-
71
- return
72
- }
73
-
74
- val parsedData = try {
75
- parser.parseString(data)
76
- } catch (e: RuntimeException) {
77
- promise.reject(ERROR_PARSER_FAILURE, e.message)
78
-
79
- return
80
- }
81
-
82
- promise.resolve(parsedData.jsonString)
40
+ parserModule.parseString(parserId, data, ReactNativeResult(promise))
83
41
  }
84
42
 
85
43
  @ReactMethod
86
44
  fun parseRawData(parserId: String, data: Base64String, promise: Promise) {
87
- val parser = parsers[parserId] ?: run {
88
- promise.reject(ERROR_INVALID_PARSER_ID)
89
-
90
- return
91
- }
92
-
93
- val base64Bytes = try {
94
- Base64.decode(data, 0)
95
- } catch (e: IllegalArgumentException) {
96
- println(e)
97
- promise.reject(ERROR_INVALID_BASE_64)
98
-
99
- return
100
- }
101
-
102
- val parsedData = try {
103
- parser.parseRawData(base64Bytes)
104
- } catch (e: RuntimeException) {
105
- promise.reject(ERROR_PARSER_FAILURE, e.message)
106
-
107
- return
108
- }
109
-
110
- promise.resolve(parsedData.jsonString)
111
- }
112
-
113
- override fun onParserDeserializationFinished(
114
- deserializer: ParserDeserializer,
115
- parser: Parser,
116
- json: JsonValue
117
- ) {
118
- parsers[parser.id] = parser
45
+ parserModule.parseRawData(parserId, data, ReactNativeResult(promise))
119
46
  }
120
47
 
121
- override fun onDataCaptureContextDisposed() {
122
- parsers.clear()
48
+ @ReactMethod
49
+ fun createUpdateNativeInstance(parserJson: String, promise: Promise) {
50
+ parserModule.createOrUpdateParser(parserJson, ReactNativeResult(promise))
123
51
  }
124
52
 
125
- override fun onParsersRemoved() {
126
- parsers.clear()
53
+ @ReactMethod
54
+ fun disposeParser(parserId: String, promise: Promise) {
55
+ parserModule.disposeParser(parserId, ReactNativeResult(promise))
127
56
  }
128
57
  }
@@ -10,13 +10,22 @@ import com.facebook.react.ReactPackage
10
10
  import com.facebook.react.bridge.NativeModule
11
11
  import com.facebook.react.bridge.ReactApplicationContext
12
12
  import com.facebook.react.uimanager.ViewManager
13
+ import com.scandit.datacapture.frameworks.parser.ParserModule
13
14
 
14
15
  class ScanditDataCaptureParserPackage : ReactPackage {
15
16
  override fun createNativeModules(
16
17
  reactContext: ReactApplicationContext
17
- ): MutableList<NativeModule> = mutableListOf(ScanditDataCaptureParserModule(reactContext))
18
+ ): MutableList<NativeModule> = mutableListOf(
19
+ ScanditDataCaptureParserModule(reactContext, getParserModule(reactContext))
20
+ )
18
21
 
19
22
  override fun createViewManagers(
20
23
  reactContext: ReactApplicationContext
21
24
  ): MutableList<ViewManager<*, *>> = mutableListOf()
25
+
26
+ private fun getParserModule(reactContext: ReactApplicationContext): ParserModule {
27
+ return ParserModule().also {
28
+ it.onCreate(reactContext)
29
+ }
30
+ }
22
31
  }
@@ -17,4 +17,5 @@ export declare class Parser extends DefaultSerializeable implements DataCaptureC
17
17
  }): Promise<void>;
18
18
  parseString(data: string): Promise<ParsedData>;
19
19
  parseRawData(data: string): Promise<ParsedData>;
20
+ dispose(): void;
20
21
  }
@@ -5,5 +5,7 @@ export declare class ParserProxy {
5
5
  static forParser(parser: Parser): ParserProxy;
6
6
  parseString(data: string): Promise<ParsedData>;
7
7
  parseRawData(data: string): Promise<ParsedData>;
8
+ createUpdateNativeInstance(): Promise<void>;
9
+ disposeParser(): Promise<void>;
8
10
  }
9
11
  export {};
package/dist/index.js CHANGED
@@ -103,6 +103,12 @@ class ParserProxy {
103
103
  return NativeModule.parseRawData(this.parser.id, data)
104
104
  .then((parsedData) => ParsedData.fromJSON(JSON.parse(parsedData)));
105
105
  }
106
+ createUpdateNativeInstance() {
107
+ return NativeModule.createUpdateNativeInstance(JSON.stringify(this.parser.toJSON()));
108
+ }
109
+ disposeParser() {
110
+ return NativeModule.disposeParser(this.parser.id);
111
+ }
106
112
  }
107
113
 
108
114
  class Parser extends DefaultSerializeable {
@@ -118,7 +124,7 @@ class Parser extends DefaultSerializeable {
118
124
  static forContextAndFormat(context, dataFormat) {
119
125
  const parser = new Parser();
120
126
  parser.dataFormat = dataFormat;
121
- const promise = context.addComponent(parser).then(() => Promise.resolve(parser));
127
+ const promise = parser.proxy.createUpdateNativeInstance().then(() => Promise.resolve(parser));
122
128
  return promise;
123
129
  }
124
130
  constructor() {
@@ -127,7 +133,7 @@ class Parser extends DefaultSerializeable {
127
133
  }
128
134
  setOptions(options) {
129
135
  this.options = options;
130
- return this._context.update();
136
+ return this.proxy.createUpdateNativeInstance();
131
137
  }
132
138
  parseString(data) {
133
139
  return this.proxy.parseString(data);
@@ -135,6 +141,9 @@ class Parser extends DefaultSerializeable {
135
141
  parseRawData(data) {
136
142
  return this.proxy.parseRawData(data);
137
143
  }
144
+ dispose() {
145
+ this.proxy.disposeParser();
146
+ }
138
147
  }
139
148
  __decorate([
140
149
  nameForSerialization('id')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../ts/ParsedField.ts","../ts/ParsedData.ts","../node_modules/tslib/tslib.es6.js","../ts/native/ParserProxy.ts","../ts/Parser.ts","../ts/ParserDataFormat.ts"],"sourcesContent":["export class ParsedField {\n _name;\n get name() {\n return this._name;\n }\n _parsed;\n get parsed() {\n return this._parsed;\n }\n _rawString;\n get rawString() {\n return this._rawString;\n }\n _issues;\n get issues() {\n return this._issues;\n }\n static fromJSON(json) {\n const field = new ParsedField();\n field._name = json.name;\n field._parsed = json.parsed;\n field._rawString = json.rawString;\n field._issues = json.issues || [];\n return field;\n }\n}\n//# sourceMappingURL=ParsedField.js.map","import { ParsedField } from './ParsedField';\nexport class ParsedData {\n _jsonString;\n get jsonString() {\n return this._jsonString;\n }\n _fields;\n get fields() {\n return this._fields;\n }\n _fieldsByName;\n get fieldsByName() {\n return this._fieldsByName;\n }\n static fromJSON(json) {\n const data = new ParsedData();\n data._jsonString = JSON.stringify(json);\n data._fields = json.map(ParsedField.fromJSON);\n data._fieldsByName = data._fields.reduce((fieldsByName, field) => {\n fieldsByName[field.name] = field;\n return fieldsByName;\n }, {});\n return data;\n }\n}\n//# sourceMappingURL=ParsedData.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import { NativeModules } from 'react-native';\nimport { ParsedData } from '../ParsedData';\n// tslint:disable:variable-name\nconst NativeModule = NativeModules.ScanditDataCaptureParser;\n// tslint:enable:variable-name\n// We need to force the initialization of the native module,\n// so the parser deserializer is correctly registered in ScanditDataCaptureCore\nconst _ = NativeModule.Defaults;\nexport class ParserProxy {\n parser;\n static forParser(parser) {\n const proxy = new ParserProxy();\n proxy.parser = parser;\n return proxy;\n }\n parseString(data) {\n return NativeModule.parseString(this.parser.id, data)\n .then((parsedData) => ParsedData.fromJSON(JSON.parse(parsedData)));\n }\n parseRawData(data) {\n return NativeModule.parseRawData(this.parser.id, data)\n .then((parsedData) => ParsedData.fromJSON(JSON.parse(parsedData)));\n }\n}\n//# sourceMappingURL=ParserProxy.js.map","import { __decorate } from \"tslib\";\nimport { DefaultSerializeable, ignoreFromSerialization, nameForSerialization, } from 'scandit-datacapture-frameworks-core';\nimport { ParserProxy } from './native/ParserProxy';\nexport class Parser extends DefaultSerializeable {\n type = 'parser';\n dataFormat;\n options = {};\n _id = `${Date.now()}`;\n get id() {\n return this._id;\n }\n _context;\n proxy;\n static forContextAndFormat(context, dataFormat) {\n const parser = new Parser();\n parser.dataFormat = dataFormat;\n const promise = context.addComponent(parser).then(() => Promise.resolve(parser));\n return promise;\n }\n constructor() {\n super();\n this.proxy = ParserProxy.forParser(this);\n }\n setOptions(options) {\n this.options = options;\n return this._context.update();\n }\n parseString(data) {\n return this.proxy.parseString(data);\n }\n parseRawData(data) {\n return this.proxy.parseRawData(data);\n }\n}\n__decorate([\n nameForSerialization('id')\n], Parser.prototype, \"_id\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"_context\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"proxy\", void 0);\n//# sourceMappingURL=Parser.js.map","export var ParserDataFormat;\n(function (ParserDataFormat) {\n ParserDataFormat[\"GS1AI\"] = \"gs1ai\";\n ParserDataFormat[\"HIBC\"] = \"hibc\";\n /**\n * @deprecated ParserDataFormat.DLID\n * Use ID Capture instead.\n */\n ParserDataFormat[\"DLID\"] = \"dlid\";\n /**\n * @deprecated ParserDataFormat.MRTD\n * Use ID Capture instead.\n */\n ParserDataFormat[\"MRTD\"] = \"mrtd\";\n ParserDataFormat[\"SwissQR\"] = \"swissQr\";\n ParserDataFormat[\"VIN\"] = \"vin\";\n /**\n * @deprecated ParserDataFormat.UsUsid\n * Use ID Capture instead.\n */\n ParserDataFormat[\"UsUsid\"] = \"usUsid\";\n})(ParserDataFormat || (ParserDataFormat = {}));\n//# sourceMappingURL=ParserDataFormat.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.js","sources":["../ts/ParsedField.ts","../ts/ParsedData.ts","../node_modules/tslib/tslib.es6.js","../ts/native/ParserProxy.ts","../ts/Parser.ts","../ts/ParserDataFormat.ts"],"sourcesContent":["export class ParsedField {\n _name;\n get name() {\n return this._name;\n }\n _parsed;\n get parsed() {\n return this._parsed;\n }\n _rawString;\n get rawString() {\n return this._rawString;\n }\n _issues;\n get issues() {\n return this._issues;\n }\n static fromJSON(json) {\n const field = new ParsedField();\n field._name = json.name;\n field._parsed = json.parsed;\n field._rawString = json.rawString;\n field._issues = json.issues || [];\n return field;\n }\n}\n//# sourceMappingURL=ParsedField.js.map","import { ParsedField } from './ParsedField';\nexport class ParsedData {\n _jsonString;\n get jsonString() {\n return this._jsonString;\n }\n _fields;\n get fields() {\n return this._fields;\n }\n _fieldsByName;\n get fieldsByName() {\n return this._fieldsByName;\n }\n static fromJSON(json) {\n const data = new ParsedData();\n data._jsonString = JSON.stringify(json);\n data._fields = json.map(ParsedField.fromJSON);\n data._fieldsByName = data._fields.reduce((fieldsByName, field) => {\n fieldsByName[field.name] = field;\n return fieldsByName;\n }, {});\n return data;\n }\n}\n//# sourceMappingURL=ParsedData.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import { NativeModules } from 'react-native';\nimport { ParsedData } from '../ParsedData';\n// tslint:disable:variable-name\nconst NativeModule = NativeModules.ScanditDataCaptureParser;\n// tslint:enable:variable-name\n// We need to force the initialization of the native module,\n// so the parser deserializer is correctly registered in ScanditDataCaptureCore\nconst _ = NativeModule.Defaults;\nexport class ParserProxy {\n parser;\n static forParser(parser) {\n const proxy = new ParserProxy();\n proxy.parser = parser;\n return proxy;\n }\n parseString(data) {\n return NativeModule.parseString(this.parser.id, data)\n .then((parsedData) => ParsedData.fromJSON(JSON.parse(parsedData)));\n }\n parseRawData(data) {\n return NativeModule.parseRawData(this.parser.id, data)\n .then((parsedData) => ParsedData.fromJSON(JSON.parse(parsedData)));\n }\n createUpdateNativeInstance() {\n return NativeModule.createUpdateNativeInstance(JSON.stringify(this.parser.toJSON()));\n }\n disposeParser() {\n return NativeModule.disposeParser(this.parser.id);\n }\n}\n//# sourceMappingURL=ParserProxy.js.map","import { __decorate } from \"tslib\";\nimport { DefaultSerializeable, ignoreFromSerialization, nameForSerialization, } from 'scandit-datacapture-frameworks-core';\nimport { ParserProxy } from './native/ParserProxy';\nexport class Parser extends DefaultSerializeable {\n type = 'parser';\n dataFormat;\n options = {};\n _id = `${Date.now()}`;\n get id() {\n return this._id;\n }\n _context;\n proxy;\n static forContextAndFormat(context, dataFormat) {\n const parser = new Parser();\n parser.dataFormat = dataFormat;\n const promise = parser.proxy.createUpdateNativeInstance().then(() => Promise.resolve(parser));\n return promise;\n }\n constructor() {\n super();\n this.proxy = ParserProxy.forParser(this);\n }\n setOptions(options) {\n this.options = options;\n return this.proxy.createUpdateNativeInstance();\n }\n parseString(data) {\n return this.proxy.parseString(data);\n }\n parseRawData(data) {\n return this.proxy.parseRawData(data);\n }\n dispose() {\n this.proxy.disposeParser();\n }\n}\n__decorate([\n nameForSerialization('id')\n], Parser.prototype, \"_id\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"_context\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"proxy\", void 0);\n//# sourceMappingURL=Parser.js.map","export var ParserDataFormat;\n(function (ParserDataFormat) {\n ParserDataFormat[\"GS1AI\"] = \"gs1ai\";\n ParserDataFormat[\"HIBC\"] = \"hibc\";\n /**\n * @deprecated ParserDataFormat.DLID\n * Use ID Capture instead.\n */\n ParserDataFormat[\"DLID\"] = \"dlid\";\n /**\n * @deprecated ParserDataFormat.MRTD\n * Use ID Capture instead.\n */\n ParserDataFormat[\"MRTD\"] = \"mrtd\";\n ParserDataFormat[\"SwissQR\"] = \"swissQr\";\n ParserDataFormat[\"VIN\"] = \"vin\";\n /**\n * @deprecated ParserDataFormat.UsUsid\n * Use ID Capture instead.\n */\n ParserDataFormat[\"UsUsid\"] = \"usUsid\";\n})(ParserDataFormat || (ParserDataFormat = {}));\n//# sourceMappingURL=ParserDataFormat.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[2]}
@@ -6,6 +6,3 @@
6
6
 
7
7
  #import <React/RCTBridgeModule.h>
8
8
  #import <React/RCTEventEmitter.h>
9
- #import <React/RCTConvert.h>
10
- #import <React/RCTLog.h>
11
- #import "SDCDataCaptureView+Defaults.h"
@@ -19,4 +19,14 @@ RCT_EXTERN_METHOD(parseRawData
19
19
  : (NSString *)data resolver
20
20
  : (RCTPromiseResolveBlock)resolve rejecter
21
21
  : (RCTPromiseRejectBlock)reject)
22
+
23
+ RCT_EXTERN_METHOD(createUpdateNativeInstance
24
+ : (NSString *)parserJson resolver
25
+ : (RCTPromiseResolveBlock)resolve rejecter
26
+ : (RCTPromiseRejectBlock)reject)
27
+
28
+ RCT_EXTERN_METHOD(disposeParser
29
+ : (NSString *)parserId resolver
30
+ : (RCTPromiseResolveBlock)resolve rejecter
31
+ : (RCTPromiseRejectBlock)reject)
22
32
  @end
@@ -5,37 +5,17 @@
5
5
  */
6
6
 
7
7
  import React
8
- import ScanditParser
9
8
  import ScanditDataCaptureCore
10
-
11
- enum ScanditDataCaptureParserError: Int, CustomNSError {
12
- case componentNotFound = 1
13
- case invalidBase64Data = 2
14
- var domain: String { return "ScanditDataCaptureParserDomain" }
15
-
16
- var code: Int {
17
- return rawValue
18
- }
19
-
20
- var message: String {
21
- switch self {
22
- case .componentNotFound:
23
- return "Component not found for specified id."
24
- case .invalidBase64Data:
25
- return "Rawdata is not a valid base64 data."
26
- }
27
- }
28
-
29
- var errorUserInfo: [String: Any] {
30
- return [NSLocalizedDescriptionKey: message]
31
- }
32
- }
9
+ import ScanditFrameworksParser
33
10
 
34
11
  @objc(ScanditDataCaptureParser)
35
12
  class ScanditDataCaptureParser: RCTEventEmitter {
13
+ var parserModule: ParserModule
14
+
36
15
  override init() {
16
+ parserModule = ParserModule()
37
17
  super.init()
38
- registerDeserializer()
18
+ parserModule.didStart()
39
19
  }
40
20
 
41
21
  @objc override class func requiresMainQueueSetup() -> Bool {
@@ -54,62 +34,42 @@ class ScanditDataCaptureParser: RCTEventEmitter {
54
34
  return [:]
55
35
  }
56
36
 
57
- internal let parserDeserializer = ParserDeserializer()
58
-
59
- var parsers = [String: Parser]()
60
- func parser(with id: String) -> Parser? {
61
- defer {
62
- // We need to remove the parsers if during the last deserialization they were removed.
63
- if let coreModule =
64
- bridge.module(for: ScanditDataCaptureCore.self) as? ScanditDataCaptureCore {
65
- let toBeRemoved = parsers.keys.filter { return !coreModule.hasComponent(with: $0) }
66
- toBeRemoved.forEach({parsers.removeValue(forKey: $0)})
67
- }
68
- }
69
- return parsers[id]
70
- }
71
-
72
37
  @objc(parseString:data:resolver:rejecter:)
73
- func parseString(id: String, data: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
74
- guard let parser = parser(with: id) else {
75
- let error = ScanditDataCaptureParserError.componentNotFound
76
- reject(String(error.code), error.message, error)
77
- return
78
- }
79
-
80
- do {
81
- let result = try parser.parseString(data)
82
- resolve(result.jsonString)
83
- } catch let error as NSError {
84
- reject(String(error.code), error.localizedDescription, error)
85
- }
38
+ func parseString(id: String,
39
+ data: String,
40
+ resolve: @escaping RCTPromiseResolveBlock,
41
+ reject: @escaping RCTPromiseRejectBlock) {
42
+ parserModule.parse(string: data, id: id, result: ReactNativeResult(resolve, reject))
86
43
  }
87
44
 
88
45
  @objc(parseRawData:rawData:resolver:rejecter:)
89
- func parseRawData(id: String, rawData: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
90
- guard let parser = parser(with: id) else {
91
- let error = ScanditDataCaptureParserError.componentNotFound
92
- reject(String(error.code), error.message, error)
93
- return
94
- }
46
+ func parseRawData(id: String,
47
+ rawData: String,
48
+ resolve: @escaping RCTPromiseResolveBlock,
49
+ reject: @escaping RCTPromiseRejectBlock) {
50
+ parserModule.parse(data: rawData, id: id, result: ReactNativeResult(resolve, reject))
51
+ }
95
52
 
96
- guard let data = Data(base64Encoded: rawData) else {
97
- let error = ScanditDataCaptureParserError.invalidBase64Data
98
- reject(String(error.code), error.message, error)
99
- return
100
- }
53
+ @objc(createUpdateNativeInstance:resolver:rejecter:)
54
+ func createUpdateNativeInstance(parserJson: String,
55
+ resolve: @escaping RCTPromiseResolveBlock,
56
+ reject: @escaping RCTPromiseRejectBlock) {
57
+ parserModule.createOrUpdateParser(parserJson: parserJson, result: ReactNativeResult(resolve, reject))
58
+ }
101
59
 
102
- do {
103
- let result = try parser.parseRawData(data)
104
- resolve(result.jsonString)
105
- } catch let error as NSError {
106
- reject(String(error.code), error.localizedDescription, error)
107
- }
60
+ @objc(disposeParser:resolver:rejecter:)
61
+ func disposeParser(parserId: String,
62
+ resolve: @escaping RCTPromiseResolveBlock,
63
+ reject: @escaping RCTPromiseRejectBlock) {
64
+ parserModule.disposeParser(parserId: parserId, result: ReactNativeResult(resolve, reject))
108
65
  }
109
66
 
110
67
  @objc override func invalidate() {
68
+ parserModule.didStop()
111
69
  super.invalidate()
112
- parsers.removeAll()
113
- unregisterDeserializer()
70
+ }
71
+
72
+ deinit {
73
+ invalidate()
114
74
  }
115
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scandit-react-native-datacapture-parser",
3
- "version": "6.21.2",
3
+ "version": "6.22.0-beta.2",
4
4
  "description": "Scandit Data Capture SDK for React Native",
5
5
  "homepage": "https://github.com/Scandit/scandit-react-native-datacapture-parser",
6
6
  "main": "dist/index.js",
@@ -36,7 +36,7 @@
36
36
  "rollup-plugin-modify": "3.0.0"
37
37
  },
38
38
  "dependencies": {
39
- "scandit-react-native-datacapture-core": "6.21.2",
40
- "scandit-datacapture-frameworks-core": "6.21.2"
39
+ "scandit-react-native-datacapture-core": "6.22.0-beta.2",
40
+ "scandit-datacapture-frameworks-core": "6.22.0-beta.2"
41
41
  }
42
42
  }
@@ -2,9 +2,11 @@ require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
4
 
5
+ version = package["version"]
6
+
5
7
  Pod::Spec.new do |s|
6
8
  s.name = package["name"]
7
- s.version = package["version"]
9
+ s.version = version
8
10
  s.summary = package["description"]
9
11
  s.homepage = package["homepage"]
10
12
  s.license = package["license"]
@@ -16,9 +18,9 @@ Pod::Spec.new do |s|
16
18
  s.requires_arc = true
17
19
  s.module_name = "ScanditDataCaptureParser"
18
20
  s.header_dir = "ScanditDataCaptureParser"
19
- s.dependency 'ScanditParser', '= 6.21.2'
20
21
 
21
22
  s.dependency "React"
22
- s.dependency "scandit-react-native-datacapture-core"
23
+ s.dependency "scandit-react-native-datacapture-core", "= #{version}"
24
+ s.dependency "scandit-datacapture-frameworks-parser", '= 6.22.0-beta.2'
23
25
  end
24
26
 
@@ -1,35 +0,0 @@
1
- /*
2
- * This file is part of the Scandit Data Capture SDK
3
- *
4
- * Copyright (C) 2020- Scandit AG. All rights reserved.
5
- */
6
-
7
- import Foundation
8
- import ScanditParser
9
- import ScanditDataCaptureCore
10
-
11
- extension ScanditDataCaptureParser {
12
- func registerDeserializer() {
13
- parserDeserializer.delegate = self
14
- ScanditDataCaptureCore.register(componentDeserializer: parserDeserializer)
15
- }
16
-
17
- func unregisterDeserializer() {
18
- parserDeserializer.delegate = nil
19
- ScanditDataCaptureCore.unregister(componentDeserializer: parserDeserializer)
20
- }
21
- }
22
-
23
- extension ScanditDataCaptureParser: ParserDeserializerDelegate {
24
- func parserDeserializer(_ parserDeserializer: ParserDeserializer,
25
- didStartDeserializingParser parser: Parser,
26
- from jsonValue: JSONValue) {
27
- // Empty on purpose
28
- }
29
-
30
- func parserDeserializer(_ parserDeserializer: ParserDeserializer,
31
- didFinishDeserializingParser parser: Parser,
32
- from jsonValue: JSONValue) {
33
- parsers[parser.componentId] = parser
34
- }
35
- }
@@ -1,5 +0,0 @@
1
- /*
2
- * This file is part of the Scandit Data Capture SDK
3
- *
4
- * Copyright (C) 2020- Scandit AG. All rights reserved.
5
- */