scandit-react-native-datacapture-parser 8.1.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/THIRD_PARTY.txt CHANGED
@@ -284,7 +284,6 @@ includes components licensed under the following licenses:
284
284
 
285
285
  ================================================================================
286
286
 
287
-
288
287
  Copyright (c) 2017 Ollix
289
288
 
290
289
  Permission is hereby granted, free of charge, to any person
@@ -68,7 +68,7 @@ if (file( "${rootProject.projectDir}/build-test.gradle").exists()) {
68
68
  }
69
69
 
70
70
  dependencies {
71
- def sdk_version = "8.1.1"
71
+ def sdk_version = "8.2.0"
72
72
 
73
73
  println("Version of the native sdk used in this build: ${safeExtGet('global_sdk_version', sdk_version)}")
74
74
  api project(path: ':scandit-react-native-datacapture-core')
@@ -12,19 +12,27 @@ import com.facebook.react.bridge.ReactApplicationContext
12
12
  import com.facebook.react.bridge.ReactContextBaseJavaModule
13
13
  import com.facebook.react.bridge.ReactMethod
14
14
  import com.facebook.react.bridge.ReadableMap
15
- import com.scandit.datacapture.frameworks.core.errors.ParameterNullError
15
+ import com.facebook.react.module.annotations.ReactModule
16
+ import com.scandit.datacapture.frameworks.core.CoreModule
17
+ import com.scandit.datacapture.frameworks.core.FrameworkModule
18
+ import com.scandit.datacapture.frameworks.core.locator.ServiceLocator
16
19
  import com.scandit.datacapture.frameworks.parser.ParserModule
20
+ import com.scandit.datacapture.reactnative.core.utils.ReactNativeMethodCall
17
21
  import com.scandit.datacapture.reactnative.core.utils.ReactNativeResult
18
22
 
19
- class ScanditDataCaptureParserModule(
23
+ @ReactModule(name = ScanditDataCaptureParserModule.NAME)
24
+ open class ScanditDataCaptureParserModule(
20
25
  reactContext: ReactApplicationContext,
21
- private val parserModule: ParserModule
26
+ private val parserModule: ParserModule,
27
+ private val serviceLocator: ServiceLocator<FrameworkModule>,
22
28
  ) : ReactContextBaseJavaModule(reactContext) {
29
+
23
30
  companion object {
31
+ const val NAME = "ScanditDataCaptureParser"
24
32
  private const val DEFAULTS_KEY = "Defaults"
25
33
  }
26
34
 
27
- override fun getName(): String = "ScanditDataCaptureParser"
35
+ override fun getName(): String = NAME
28
36
 
29
37
  override fun getConstants(): MutableMap<String, Any> = mutableMapOf(
30
38
  DEFAULTS_KEY to Arguments.createMap()
@@ -36,37 +44,26 @@ class ScanditDataCaptureParserModule(
36
44
  }
37
45
 
38
46
  @ReactMethod
39
- fun parseString(readableMap: ReadableMap, promise: Promise) {
40
- val parserId = readableMap.getString("parserId")
41
- ?: return promise.reject(ParameterNullError("parserId"))
42
- val data = readableMap.getString("data")
43
- ?: return promise.reject(ParameterNullError("data"))
44
-
45
- parserModule.parseString(parserId, data, ReactNativeResult(promise))
46
- }
47
-
48
- @ReactMethod
49
- fun parseRawData(readableMap: ReadableMap, promise: Promise) {
50
- val parserId = readableMap.getString("parserId")
51
- ?: return promise.reject(ParameterNullError("parserId"))
52
- val data = readableMap.getString("data")
53
- ?: return promise.reject(ParameterNullError("data"))
47
+ fun executeParser(data: ReadableMap, promise: Promise) {
48
+ val coreModule = serviceLocator.resolve(
49
+ CoreModule::class.java.simpleName
50
+ ) as? CoreModule ?: return run {
51
+ promise.reject("-1", "Unable to retrieve the CoreModule from the locator.")
52
+ }
54
53
 
55
- parserModule.parseRawData(parserId, data, ReactNativeResult(promise))
56
- }
54
+ val result = coreModule.execute(
55
+ ReactNativeMethodCall(data),
56
+ ReactNativeResult(promise),
57
+ parserModule
58
+ )
57
59
 
58
- @ReactMethod
59
- fun createUpdateNativeInstance(readableMap: ReadableMap, promise: Promise) {
60
- val parserJson = readableMap.getString("parserJson")
61
- ?: return promise.reject(ParameterNullError("parserJson"))
62
- parserModule.createOrUpdateParser(parserJson, ReactNativeResult(promise))
63
- }
64
-
65
- @ReactMethod
66
- fun disposeParser(readableMap: ReadableMap, promise: Promise) {
67
- val parserId = readableMap.getString("parserId")
68
- ?: return promise.reject(ParameterNullError("parserId"))
69
- parserModule.disposeParser(parserId, ReactNativeResult(promise))
60
+ if (!result) {
61
+ val methodName = data.getString("methodName") ?: "unknown"
62
+ promise.reject(
63
+ "METHOD_NOT_FOUND",
64
+ "Unknown Core method: $methodName"
65
+ )
66
+ }
70
67
  }
71
68
 
72
69
  @ReactMethod
@@ -6,23 +6,36 @@
6
6
 
7
7
  package com.scandit.datacapture.reactnative.parser
8
8
 
9
- import com.facebook.react.ReactPackage
10
9
  import com.facebook.react.bridge.NativeModule
11
10
  import com.facebook.react.bridge.ReactApplicationContext
12
11
  import com.facebook.react.uimanager.ViewManager
12
+ import com.scandit.datacapture.frameworks.core.locator.DefaultServiceLocator
13
13
  import com.scandit.datacapture.frameworks.parser.ParserModule
14
+ import com.scandit.datacapture.reactnative.core.ScanditReactPackageBase
15
+
16
+ class ScanditDataCaptureParserPackage : ScanditReactPackageBase() {
17
+ private val serviceLocator = DefaultServiceLocator.getInstance()
14
18
 
15
- class ScanditDataCaptureParserPackage : ReactPackage {
16
19
  override fun createNativeModules(
17
20
  reactContext: ReactApplicationContext
18
- ): MutableList<NativeModule> = mutableListOf(
19
- ScanditDataCaptureParserModule(reactContext, getParserModule(reactContext))
20
- )
21
+ ): MutableList<NativeModule> {
22
+ val parserFrameworkModule = getParserModule(reactContext)
23
+ return mutableListOf(
24
+ ScanditDataCaptureParserModule(
25
+ reactContext,
26
+ parserFrameworkModule,
27
+ serviceLocator
28
+ )
29
+ )
30
+ }
21
31
 
22
32
  override fun createViewManagers(
23
33
  reactContext: ReactApplicationContext
24
34
  ): MutableList<ViewManager<*, *>> = mutableListOf()
25
35
 
36
+ override fun getModuleClasses(): List<Class<out NativeModule>> =
37
+ listOf(ScanditDataCaptureParserModule::class.java)
38
+
26
39
  private fun getParserModule(reactContext: ReactApplicationContext): ParserModule {
27
40
  return ParserModule().also {
28
41
  it.onCreate(reactContext)
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { registerParserProxies, PARSER_PROXY_TYPE_NAMES } from './parser.js';
2
2
  export { ParsedData, ParsedField, Parser, ParserDataFormat, ParserIssue, ParserIssueAdditionalInfoKey, ParserIssueCode } from './parser.js';
3
- import { NativeModules } from 'react-native';
4
- import { createRNNativeCaller } from 'scandit-react-native-datacapture-core';
3
+ import { getNativeModule, createRNNativeCaller } from 'scandit-react-native-datacapture-core';
5
4
  import 'scandit-react-native-datacapture-core/dist/core';
6
5
 
7
6
  class RNParserNativeCallerProvider {
@@ -9,7 +8,9 @@ class RNParserNativeCallerProvider {
9
8
  if (!PARSER_PROXY_TYPE_NAMES.includes(proxyType)) {
10
9
  throw new Error(`No native module mapped for proxy type: ${proxyType}`);
11
10
  }
12
- return createRNNativeCaller(NativeModules.ScanditDataCaptureParser);
11
+ // Use getNativeModule which handles both TurboModules and legacy modules
12
+ const nativeModule = getNativeModule('ScanditDataCaptureParser');
13
+ return createRNNativeCaller(nativeModule);
13
14
  }
14
15
  }
15
16
 
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Flowtype definitions for index
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ */
6
+
7
+ declare export { ParsedData } from "scandit-datacapture-frameworks-parser";
8
+ declare export { ParsedField } from "scandit-datacapture-frameworks-parser";
9
+ declare export { Parser } from "scandit-datacapture-frameworks-parser";
10
+ declare export { ParserDataFormat } from "scandit-datacapture-frameworks-parser";
11
+ declare export { ParserIssue } from "scandit-datacapture-frameworks-parser";
12
+ declare export { ParserIssueAdditionalInfoKey } from "scandit-datacapture-frameworks-parser";
13
+ declare export { ParserIssueCode } from "scandit-datacapture-frameworks-parser";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../ts/native/ParserNativeCallerProvider.ts","../ts/native/initProxy.ts","../ts/index.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport { PARSER_PROXY_TYPE_NAMES } from 'scandit-datacapture-frameworks-parser';\nimport { createRNNativeCaller } from 'scandit-react-native-datacapture-core';\nexport class RNParserNativeCallerProvider {\n getNativeCaller(proxyType) {\n if (!PARSER_PROXY_TYPE_NAMES.includes(proxyType)) {\n throw new Error(`No native module mapped for proxy type: ${proxyType}`);\n }\n return createRNNativeCaller(NativeModules.ScanditDataCaptureParser);\n }\n}\n//# sourceMappingURL=ParserNativeCallerProvider.js.map","import { registerParserProxies } from 'scandit-datacapture-frameworks-parser';\nimport { RNParserNativeCallerProvider } from './ParserNativeCallerProvider';\nexport function initParserProxy() {\n registerParserProxies(new RNParserNativeCallerProvider());\n}\n//# sourceMappingURL=initProxy.js.map","import { initParserProxy } from './native/initProxy';\ninitParserProxy();\nexport { ParsedData } from 'scandit-datacapture-frameworks-parser';\nexport { ParsedField } from 'scandit-datacapture-frameworks-parser';\nexport { Parser } from 'scandit-datacapture-frameworks-parser';\nexport { ParserDataFormat } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssue } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssueAdditionalInfoKey } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssueCode } from 'scandit-datacapture-frameworks-parser';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;;AAGO,MAAM,4BAA4B,CAAC;AAC1C,IAAI,eAAe,CAAC,SAAS,EAAE;AAC/B,QAAQ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC1D,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,wCAAwC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACpF,SAAS;AACT,QAAQ,OAAO,oBAAoB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;AAC5E,KAAK;AACL;;ACRO,SAAS,eAAe,GAAG;AAClC,IAAI,qBAAqB,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;AAC9D;;ACHA,eAAe,EAAE"}
1
+ {"version":3,"file":"index.js","sources":["../ts/native/ParserNativeCallerProvider.ts","../ts/native/initProxy.ts","../ts/index.ts"],"sourcesContent":["import { PARSER_PROXY_TYPE_NAMES } from 'scandit-datacapture-frameworks-parser';\nimport { createRNNativeCaller, getNativeModule } from 'scandit-react-native-datacapture-core';\nexport class RNParserNativeCallerProvider {\n getNativeCaller(proxyType) {\n if (!PARSER_PROXY_TYPE_NAMES.includes(proxyType)) {\n throw new Error(`No native module mapped for proxy type: ${proxyType}`);\n }\n // Use getNativeModule which handles both TurboModules and legacy modules\n const nativeModule = getNativeModule('ScanditDataCaptureParser');\n return createRNNativeCaller(nativeModule);\n }\n}\n//# sourceMappingURL=ParserNativeCallerProvider.js.map","import { registerParserProxies } from 'scandit-datacapture-frameworks-parser';\nimport { RNParserNativeCallerProvider } from './ParserNativeCallerProvider';\nexport function initParserProxy() {\n registerParserProxies(new RNParserNativeCallerProvider());\n}\n//# sourceMappingURL=initProxy.js.map","import { initParserProxy } from './native/initProxy';\ninitParserProxy();\nexport { ParsedData } from 'scandit-datacapture-frameworks-parser';\nexport { ParsedField } from 'scandit-datacapture-frameworks-parser';\nexport { Parser } from 'scandit-datacapture-frameworks-parser';\nexport { ParserDataFormat } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssue } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssueAdditionalInfoKey } from 'scandit-datacapture-frameworks-parser';\nexport { ParserIssueCode } from 'scandit-datacapture-frameworks-parser';\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;;;;AAEO,MAAM,4BAA4B,CAAC;AAC1C,IAAI,eAAe,CAAC,SAAS,EAAE;AAC/B,QAAQ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC1D,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,wCAAwC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACpF,SAAS;AACT;AACA,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAC;AACzE,QAAQ,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAClD,KAAK;AACL;;ACTO,SAAS,eAAe,GAAG;AAClC,IAAI,qBAAqB,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;AAC9D;;ACHA,eAAe,EAAE"}
package/dist/parser.js CHANGED
@@ -116,33 +116,114 @@ class ParsedData {
116
116
  }
117
117
  }
118
118
 
119
+ /*
120
+ * This file is part of the Scandit Data Capture SDK
121
+ *
122
+ * Copyright (C) 2025- Scandit AG. All rights reserved.
123
+ */
124
+ /**
125
+ * Adapter class for Parser operations.
126
+ * Provides typed methods that internally call $executeParser.
127
+ * Generated from schema definition to ensure parameter and method name consistency.
128
+ */
129
+ class ParserProxyAdapter {
130
+ constructor(proxy) {
131
+ this.proxy = proxy;
132
+ }
133
+ /**
134
+ * Parses a string and returns structured data
135
+ * @param parserId Unique identifier of the parser instance
136
+ * @param data String data to parse
137
+ */
138
+ parseString(_a) {
139
+ return __awaiter(this, arguments, void 0, function* ({ parserId, data }) {
140
+ const result = yield this.proxy.$executeParser({
141
+ moduleName: 'ParserModule',
142
+ methodName: 'parseString',
143
+ isEventRegistration: false,
144
+ parserId,
145
+ data,
146
+ });
147
+ return result.data;
148
+ });
149
+ }
150
+ /**
151
+ * Parses raw data and returns structured data
152
+ * @param parserId Unique identifier of the parser instance
153
+ * @param data Raw data to parse
154
+ */
155
+ parseRawData(_a) {
156
+ return __awaiter(this, arguments, void 0, function* ({ parserId, data }) {
157
+ const result = yield this.proxy.$executeParser({
158
+ moduleName: 'ParserModule',
159
+ methodName: 'parseRawData',
160
+ isEventRegistration: false,
161
+ parserId,
162
+ data,
163
+ });
164
+ return result.data;
165
+ });
166
+ }
167
+ /**
168
+ * Creates or updates a native parser instance
169
+ * @param parserJson Parser configuration as JSON string
170
+ */
171
+ createUpdateNativeInstance(_a) {
172
+ return __awaiter(this, arguments, void 0, function* ({ parserJson }) {
173
+ const result = yield this.proxy.$executeParser({
174
+ moduleName: 'ParserModule',
175
+ methodName: 'createUpdateNativeInstance',
176
+ isEventRegistration: false,
177
+ parserJson,
178
+ });
179
+ return result;
180
+ });
181
+ }
182
+ /**
183
+ * Disposes the parser instance and releases resources
184
+ * @param parserId Unique identifier of the parser instance to dispose
185
+ */
186
+ disposeParser(_a) {
187
+ return __awaiter(this, arguments, void 0, function* ({ parserId }) {
188
+ const result = yield this.proxy.$executeParser({
189
+ moduleName: 'ParserModule',
190
+ methodName: 'disposeParser',
191
+ isEventRegistration: false,
192
+ parserId,
193
+ });
194
+ return result;
195
+ });
196
+ }
197
+ }
198
+
119
199
  class ParserController extends BaseController {
120
200
  constructor(parser) {
121
201
  super('ParserProxy');
202
+ this.adapter = new ParserProxyAdapter(this._proxy);
122
203
  this.parser = parser;
123
204
  }
124
205
  parseString(data) {
125
206
  return __awaiter(this, void 0, void 0, function* () {
126
- const result = yield this._proxy.$parseString({ parserId: this.parser.id, data: data });
127
- const jsonData = JSON.parse(result.data);
207
+ const result = yield this.adapter.parseString({ parserId: this.parser.id, data: data });
208
+ const jsonData = JSON.parse(result);
128
209
  return ParsedData['fromJSON'](jsonData);
129
210
  });
130
211
  }
131
212
  parseRawData(data) {
132
213
  return __awaiter(this, void 0, void 0, function* () {
133
- const result = yield this._proxy.$parseRawData({ parserId: this.parser.id, data: data });
134
- const jsonData = JSON.parse(result.data);
214
+ const result = yield this.adapter.parseRawData({ parserId: this.parser.id, data: data });
215
+ const jsonData = JSON.parse(result);
135
216
  return ParsedData['fromJSON'](jsonData);
136
217
  });
137
218
  }
138
219
  createUpdateNativeInstance() {
139
220
  return __awaiter(this, void 0, void 0, function* () {
140
- yield this._proxy.$createUpdateNativeInstance({ parserJson: JSON.stringify(this.parser.toJSON()) });
221
+ yield this.adapter.createUpdateNativeInstance({ parserJson: JSON.stringify(this.parser.toJSON()) });
141
222
  });
142
223
  }
143
224
  disposeParser() {
144
225
  return __awaiter(this, void 0, void 0, function* () {
145
- yield this._proxy.$disposeParser({ parserId: this.parser.id });
226
+ yield this.adapter.disposeParser({ parserId: this.parser.id });
146
227
  });
147
228
  }
148
229
  }
@@ -193,6 +274,7 @@ var ParserDataFormat;
193
274
  ParserDataFormat["VIN"] = "vin";
194
275
  ParserDataFormat["IataBcbp"] = "iata_bcbp";
195
276
  ParserDataFormat["Gs1DigitalLink"] = "gs1_digital_link";
277
+ ParserDataFormat["Epc"] = "epc";
196
278
  })(ParserDataFormat || (ParserDataFormat = {}));
197
279
 
198
280
  var ParserIssueCode;
@@ -226,4 +308,4 @@ var ParserIssueAdditionalInfoKey;
226
308
  ParserIssueAdditionalInfoKey["Charset"] = "charset";
227
309
  })(ParserIssueAdditionalInfoKey || (ParserIssueAdditionalInfoKey = {}));
228
310
 
229
- export { PARSER_PROXY_TYPE_NAMES, ParsedData, ParsedField, Parser, ParserDataFormat, ParserIssue, ParserIssueAdditionalInfoKey, ParserIssueCode, registerParserProxies };
311
+ export { PARSER_PROXY_TYPE_NAMES, ParsedData, ParsedField, Parser, ParserDataFormat, ParserIssue, ParserIssueAdditionalInfoKey, ParserIssueCode, ParserProxyAdapter, registerParserProxies };
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sources":["../../../shared/jsmobile/scandit-datacapture-frameworks-parser/dist/index.js"],"sourcesContent":["import { registerProxies, BaseController, nameForSerialization, DefaultSerializeable, ignoreFromSerialization } from 'scandit-datacapture-frameworks-core';\n\nconst PARSER_PROXY_TYPE_NAMES = [\n 'ParserProxy',\n];\n\nfunction registerParserProxies(provider) {\n registerProxies(PARSER_PROXY_TYPE_NAMES, provider);\n}\n\n/******************************************************************************\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, Iterator */\r\n\r\n\r\nfunction __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\nfunction __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\ntypeof 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};\n\nclass ParserIssue {\n get code() {\n return this._code;\n }\n get message() {\n return this._message;\n }\n get additionalInfo() {\n return this._additionalInfo;\n }\n static fromJSON(json) {\n const issue = new ParserIssue();\n issue._code = json.code;\n issue._message = json.message;\n issue._additionalInfo = json.additionalInfo;\n return issue;\n }\n}\n\nclass ParsedField {\n get name() {\n return this._name;\n }\n get parsed() {\n return this._parsed;\n }\n get rawString() {\n return this._rawString;\n }\n get warnings() {\n return this._warnings;\n }\n static fromJSON(json) {\n var _a;\n const field = new ParsedField();\n field._name = json.name;\n field._parsed = json.parsed;\n field._rawString = json.rawString;\n field._warnings = ((_a = json.warnings) === null || _a === void 0 ? void 0 : _a.map(e => ParserIssue['fromJSON'](e))) || [];\n return field;\n }\n}\n\nclass ParsedData {\n get jsonString() {\n return this._jsonString;\n }\n get fields() {\n return this._fields;\n }\n get fieldsByName() {\n return this._fieldsByName;\n }\n get fieldsWithIssues() {\n return this._fieldsWithIssues;\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 data._fieldsWithIssues = data._fields.filter(e => e.warnings.length > 0);\n return data;\n }\n}\n\nclass ParserController extends BaseController {\n constructor(parser) {\n super('ParserProxy');\n this.parser = parser;\n }\n parseString(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this._proxy.$parseString({ parserId: this.parser.id, data: data });\n const jsonData = JSON.parse(result.data);\n return ParsedData['fromJSON'](jsonData);\n });\n }\n parseRawData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this._proxy.$parseRawData({ parserId: this.parser.id, data: data });\n const jsonData = JSON.parse(result.data);\n return ParsedData['fromJSON'](jsonData);\n });\n }\n createUpdateNativeInstance() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this._proxy.$createUpdateNativeInstance({ parserJson: JSON.stringify(this.parser.toJSON()) });\n });\n }\n disposeParser() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this._proxy.$disposeParser({ parserId: this.parser.id });\n });\n }\n}\n\nclass Parser extends DefaultSerializeable {\n get id() {\n return this._id;\n }\n static create(dataFormat) {\n const parser = new Parser();\n parser.dataFormat = dataFormat;\n const promise = parser.controller.createUpdateNativeInstance().then(() => (Promise.resolve(parser)));\n return promise;\n }\n constructor() {\n super();\n this.type = 'parser';\n this.options = {};\n this._id = `${Date.now()}`;\n this.controller = new ParserController(this);\n }\n setOptions(options) {\n this.options = options;\n return this.controller.createUpdateNativeInstance();\n }\n parseString(data) {\n return this.controller.parseString(data);\n }\n parseRawData(data) {\n return this.controller.parseRawData(data);\n }\n dispose() {\n void this.controller.disposeParser();\n }\n}\n__decorate([\n nameForSerialization('id')\n], Parser.prototype, \"_id\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"controller\", void 0);\n\nvar ParserDataFormat;\n(function (ParserDataFormat) {\n ParserDataFormat[\"GS1AI\"] = \"gs1ai\";\n ParserDataFormat[\"HIBC\"] = \"hibc\";\n ParserDataFormat[\"SwissQR\"] = \"swissqr\";\n ParserDataFormat[\"VIN\"] = \"vin\";\n ParserDataFormat[\"IataBcbp\"] = \"iata_bcbp\";\n ParserDataFormat[\"Gs1DigitalLink\"] = \"gs1_digital_link\";\n})(ParserDataFormat || (ParserDataFormat = {}));\n\nvar ParserIssueCode;\n(function (ParserIssueCode) {\n ParserIssueCode[\"None\"] = \"none\";\n ParserIssueCode[\"Unspecified\"] = \"unspecified\";\n ParserIssueCode[\"MandatoryEpdMissing\"] = \"mandatoryEpdMissing\";\n ParserIssueCode[\"InvalidDate\"] = \"invalidDate\";\n ParserIssueCode[\"StringTooShort\"] = \"stringTooShort\";\n ParserIssueCode[\"WrongStartingCharacters\"] = \"wrongStartingCharacters\";\n ParserIssueCode[\"InvalidSeparationBetweenElements\"] = \"invalidSeparationBetweenElements\";\n ParserIssueCode[\"UnsupportedVersion\"] = \"unsupportedVersion\";\n ParserIssueCode[\"IncompleteCode\"] = \"incompleteCode\";\n ParserIssueCode[\"EmptyElementContent\"] = \"emptyElementContent\";\n ParserIssueCode[\"InvalidElementLength\"] = \"invalidElementLength\";\n ParserIssueCode[\"TooLongElement\"] = \"tooLongElement\";\n ParserIssueCode[\"NonEmptyElementContent\"] = \"nonEmptyElementContent\";\n ParserIssueCode[\"InvalidCharsetInElement\"] = \"invalidCharsetInElement\";\n ParserIssueCode[\"TooManyAltPmtFields\"] = \"tooManyAltPmtFields\";\n ParserIssueCode[\"CannotContainSpaces\"] = \"cannotContainSpaces\";\n})(ParserIssueCode || (ParserIssueCode = {}));\n\nvar ParserIssueAdditionalInfoKey;\n(function (ParserIssueAdditionalInfoKey) {\n ParserIssueAdditionalInfoKey[\"StartingCharacters\"] = \"startingCharacters\";\n ParserIssueAdditionalInfoKey[\"Version\"] = \"version\";\n ParserIssueAdditionalInfoKey[\"MinimalVersion\"] = \"minimalVersion\";\n ParserIssueAdditionalInfoKey[\"ElementName\"] = \"elementName\";\n ParserIssueAdditionalInfoKey[\"String\"] = \"string\";\n ParserIssueAdditionalInfoKey[\"Length\"] = \"length\";\n ParserIssueAdditionalInfoKey[\"Charset\"] = \"charset\";\n})(ParserIssueAdditionalInfoKey || (ParserIssueAdditionalInfoKey = {}));\n\nexport { PARSER_PROXY_TYPE_NAMES, ParsedData, ParsedField, Parser, ParserDataFormat, ParserIssue, ParserIssueAdditionalInfoKey, ParserIssueCode, registerParserProxies };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sources":["../../../shared/jsmobile/scandit-datacapture-frameworks-parser/dist/index.js"],"sourcesContent":["import { registerProxies, BaseController, nameForSerialization, DefaultSerializeable, ignoreFromSerialization } from 'scandit-datacapture-frameworks-core';\n\nconst PARSER_PROXY_TYPE_NAMES = [\n 'ParserProxy',\n];\n\nfunction registerParserProxies(provider) {\n registerProxies(PARSER_PROXY_TYPE_NAMES, provider);\n}\n\n/******************************************************************************\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, Iterator */\r\n\r\n\r\nfunction __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\nfunction __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\ntypeof 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};\n\nclass ParserIssue {\n get code() {\n return this._code;\n }\n get message() {\n return this._message;\n }\n get additionalInfo() {\n return this._additionalInfo;\n }\n static fromJSON(json) {\n const issue = new ParserIssue();\n issue._code = json.code;\n issue._message = json.message;\n issue._additionalInfo = json.additionalInfo;\n return issue;\n }\n}\n\nclass ParsedField {\n get name() {\n return this._name;\n }\n get parsed() {\n return this._parsed;\n }\n get rawString() {\n return this._rawString;\n }\n get warnings() {\n return this._warnings;\n }\n static fromJSON(json) {\n var _a;\n const field = new ParsedField();\n field._name = json.name;\n field._parsed = json.parsed;\n field._rawString = json.rawString;\n field._warnings = ((_a = json.warnings) === null || _a === void 0 ? void 0 : _a.map(e => ParserIssue['fromJSON'](e))) || [];\n return field;\n }\n}\n\nclass ParsedData {\n get jsonString() {\n return this._jsonString;\n }\n get fields() {\n return this._fields;\n }\n get fieldsByName() {\n return this._fieldsByName;\n }\n get fieldsWithIssues() {\n return this._fieldsWithIssues;\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 data._fieldsWithIssues = data._fields.filter(e => e.warnings.length > 0);\n return data;\n }\n}\n\n/*\n * This file is part of the Scandit Data Capture SDK\n *\n * Copyright (C) 2025- Scandit AG. All rights reserved.\n */\n/**\n * Adapter class for Parser operations.\n * Provides typed methods that internally call $executeParser.\n * Generated from schema definition to ensure parameter and method name consistency.\n */\nclass ParserProxyAdapter {\n constructor(proxy) {\n this.proxy = proxy;\n }\n /**\n * Parses a string and returns structured data\n * @param parserId Unique identifier of the parser instance\n * @param data String data to parse\n */\n parseString(_a) {\n return __awaiter(this, arguments, void 0, function* ({ parserId, data }) {\n const result = yield this.proxy.$executeParser({\n moduleName: 'ParserModule',\n methodName: 'parseString',\n isEventRegistration: false,\n parserId,\n data,\n });\n return result.data;\n });\n }\n /**\n * Parses raw data and returns structured data\n * @param parserId Unique identifier of the parser instance\n * @param data Raw data to parse\n */\n parseRawData(_a) {\n return __awaiter(this, arguments, void 0, function* ({ parserId, data }) {\n const result = yield this.proxy.$executeParser({\n moduleName: 'ParserModule',\n methodName: 'parseRawData',\n isEventRegistration: false,\n parserId,\n data,\n });\n return result.data;\n });\n }\n /**\n * Creates or updates a native parser instance\n * @param parserJson Parser configuration as JSON string\n */\n createUpdateNativeInstance(_a) {\n return __awaiter(this, arguments, void 0, function* ({ parserJson }) {\n const result = yield this.proxy.$executeParser({\n moduleName: 'ParserModule',\n methodName: 'createUpdateNativeInstance',\n isEventRegistration: false,\n parserJson,\n });\n return result;\n });\n }\n /**\n * Disposes the parser instance and releases resources\n * @param parserId Unique identifier of the parser instance to dispose\n */\n disposeParser(_a) {\n return __awaiter(this, arguments, void 0, function* ({ parserId }) {\n const result = yield this.proxy.$executeParser({\n moduleName: 'ParserModule',\n methodName: 'disposeParser',\n isEventRegistration: false,\n parserId,\n });\n return result;\n });\n }\n}\n\nclass ParserController extends BaseController {\n constructor(parser) {\n super('ParserProxy');\n this.adapter = new ParserProxyAdapter(this._proxy);\n this.parser = parser;\n }\n parseString(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this.adapter.parseString({ parserId: this.parser.id, data: data });\n const jsonData = JSON.parse(result);\n return ParsedData['fromJSON'](jsonData);\n });\n }\n parseRawData(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this.adapter.parseRawData({ parserId: this.parser.id, data: data });\n const jsonData = JSON.parse(result);\n return ParsedData['fromJSON'](jsonData);\n });\n }\n createUpdateNativeInstance() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.adapter.createUpdateNativeInstance({ parserJson: JSON.stringify(this.parser.toJSON()) });\n });\n }\n disposeParser() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.adapter.disposeParser({ parserId: this.parser.id });\n });\n }\n}\n\nclass Parser extends DefaultSerializeable {\n get id() {\n return this._id;\n }\n static create(dataFormat) {\n const parser = new Parser();\n parser.dataFormat = dataFormat;\n const promise = parser.controller.createUpdateNativeInstance().then(() => (Promise.resolve(parser)));\n return promise;\n }\n constructor() {\n super();\n this.type = 'parser';\n this.options = {};\n this._id = `${Date.now()}`;\n this.controller = new ParserController(this);\n }\n setOptions(options) {\n this.options = options;\n return this.controller.createUpdateNativeInstance();\n }\n parseString(data) {\n return this.controller.parseString(data);\n }\n parseRawData(data) {\n return this.controller.parseRawData(data);\n }\n dispose() {\n void this.controller.disposeParser();\n }\n}\n__decorate([\n nameForSerialization('id')\n], Parser.prototype, \"_id\", void 0);\n__decorate([\n ignoreFromSerialization\n], Parser.prototype, \"controller\", void 0);\n\nvar ParserDataFormat;\n(function (ParserDataFormat) {\n ParserDataFormat[\"GS1AI\"] = \"gs1ai\";\n ParserDataFormat[\"HIBC\"] = \"hibc\";\n ParserDataFormat[\"SwissQR\"] = \"swissqr\";\n ParserDataFormat[\"VIN\"] = \"vin\";\n ParserDataFormat[\"IataBcbp\"] = \"iata_bcbp\";\n ParserDataFormat[\"Gs1DigitalLink\"] = \"gs1_digital_link\";\n ParserDataFormat[\"Epc\"] = \"epc\";\n})(ParserDataFormat || (ParserDataFormat = {}));\n\nvar ParserIssueCode;\n(function (ParserIssueCode) {\n ParserIssueCode[\"None\"] = \"none\";\n ParserIssueCode[\"Unspecified\"] = \"unspecified\";\n ParserIssueCode[\"MandatoryEpdMissing\"] = \"mandatoryEpdMissing\";\n ParserIssueCode[\"InvalidDate\"] = \"invalidDate\";\n ParserIssueCode[\"StringTooShort\"] = \"stringTooShort\";\n ParserIssueCode[\"WrongStartingCharacters\"] = \"wrongStartingCharacters\";\n ParserIssueCode[\"InvalidSeparationBetweenElements\"] = \"invalidSeparationBetweenElements\";\n ParserIssueCode[\"UnsupportedVersion\"] = \"unsupportedVersion\";\n ParserIssueCode[\"IncompleteCode\"] = \"incompleteCode\";\n ParserIssueCode[\"EmptyElementContent\"] = \"emptyElementContent\";\n ParserIssueCode[\"InvalidElementLength\"] = \"invalidElementLength\";\n ParserIssueCode[\"TooLongElement\"] = \"tooLongElement\";\n ParserIssueCode[\"NonEmptyElementContent\"] = \"nonEmptyElementContent\";\n ParserIssueCode[\"InvalidCharsetInElement\"] = \"invalidCharsetInElement\";\n ParserIssueCode[\"TooManyAltPmtFields\"] = \"tooManyAltPmtFields\";\n ParserIssueCode[\"CannotContainSpaces\"] = \"cannotContainSpaces\";\n})(ParserIssueCode || (ParserIssueCode = {}));\n\nvar ParserIssueAdditionalInfoKey;\n(function (ParserIssueAdditionalInfoKey) {\n ParserIssueAdditionalInfoKey[\"StartingCharacters\"] = \"startingCharacters\";\n ParserIssueAdditionalInfoKey[\"Version\"] = \"version\";\n ParserIssueAdditionalInfoKey[\"MinimalVersion\"] = \"minimalVersion\";\n ParserIssueAdditionalInfoKey[\"ElementName\"] = \"elementName\";\n ParserIssueAdditionalInfoKey[\"String\"] = \"string\";\n ParserIssueAdditionalInfoKey[\"Length\"] = \"length\";\n ParserIssueAdditionalInfoKey[\"Charset\"] = \"charset\";\n})(ParserIssueAdditionalInfoKey || (ParserIssueAdditionalInfoKey = {}));\n\nexport { PARSER_PROXY_TYPE_NAMES, ParsedData, ParsedField, Parser, ParserDataFormat, ParserIssue, ParserIssueAdditionalInfoKey, ParserIssueCode, ParserProxyAdapter, registerParserProxies };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}