{"version":3,"sources":["webpack:///./node_modules/detect-file-encoding-and-language/src/components/processContent.js","webpack:///./node_modules/class-validator/esm5/decorator/common/ValidateIf.js","webpack:///./@core/services/csv/CSVCustomValidator.ts","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/detect-file-encoding-and-language/src/index-browser.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./@core/pages/CommissionModule/new-commission-module-components/Transactions.vue?1616","webpack:///./node_modules/detect-file-encoding-and-language/src/components/checkByteOrderMark.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/class-validator/esm5/container.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/class-transformer/esm5/decorators/expose.decorator.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/class-validator/esm5/validation/ValidationError.js","webpack:///./node_modules/class-validator/esm5/validation/ValidationUtils.js","webpack:///./node_modules/class-validator/esm5/utils/is-promise.util.js","webpack:///./node_modules/class-validator/esm5/utils/convert-to-array.util.js","webpack:///./node_modules/class-validator/esm5/validation/ValidationExecutor.js","webpack:///./node_modules/class-validator/esm5/validation/Validator.js","webpack:///./node_modules/class-validator/esm5/index.js","webpack:///./node_modules/randomstring/index.js","webpack:///./@master/model/options/BankBicOptions.ts","webpack:///./node_modules/detect-file-encoding-and-language/src/config/byteOrderMarkObject.js","webpack:///./node_modules/class-validator/esm5/validation-schema/ValidationSchemaToMetadataTransformer.js","webpack:///./node_modules/class-validator/esm5/metadata/MetadataStorage.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./@core/services/csv/CSVModel.interface.ts","webpack:///./node_modules/detect-file-encoding-and-language/src/components/checkUTF.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./@core/pages/CommissionModule/api/models/ClientPolicyReportRequestDTO.ts","webpack:///./@core/pages/CommissionModule/api/models/DownloadCsvDto.ts","webpack:///./@core/pages/CommissionModule/api/models/ReportGeneratorDto.ts","webpack:///./@core/pages/CommissionModule/api/models/ReportLogDTO.ts","webpack:///./@core/pages/CommissionModule/api/models/ScheduleTimeDto.ts","webpack:///./@core/pages/CommissionModule/api/services/AccountStructureCommissionService.ts","webpack:///./@core/pages/CommissionModule/api/services/AccountStructureMemberService.ts","webpack:///./@core/pages/CommissionModule/api/services/CommissionIntermediariesService.ts","webpack:///./@core/pages/CommissionModule/api/services/CommissionRecordsService.ts","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/class-transformer/esm5/constants/default-options.constant.js","webpack:///./node_modules/class-transformer/esm5/ClassTransformer.js","webpack:///./node_modules/class-transformer/esm5/index.js","webpack:///./node_modules/detect-file-encoding-and-language/src/config/languageObject.js","webpack:///./node_modules/class-transformer/esm5/utils/is-promise.util.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/class-validator/esm5/validation/ValidationTypes.js","webpack:///./node_modules/core-js/modules/es.typed-array.at.js","webpack:///./node_modules/class-transformer/esm5/MetadataStorage.js","webpack:///./node_modules/class-transformer/esm5/storage.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/detect-file-encoding-and-language/src/components/processing-content/calculateConfidenceScore.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/class-validator/esm5/metadata/ConstraintMetadata.js","webpack:///./node_modules/class-validator/esm5/register-decorator.js","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./@core/services/csv/CSVImport.vue?b001","webpack:///./@core/services/csv/CSVImport.vue?44e9","webpack:///./@core/services/csv/CSVParser.ts","webpack:///./@core/pages/ifamFileSystem/api/services/TemplateDownloadService.ts","webpack:///./@core/services/csv/CSVImport.vue","webpack:///./@core/services/csv/CSVImport.vue?e3ee","webpack:///./@core/services/csv/CSVImport.vue?2c0f","webpack:///./@core/components/AppDatatable.vue?fa4e","webpack:///./@core/components/AppDatatable.vue","webpack:///./@core/components/AppDatatable.vue?a0c0","webpack:///./@core/components/AppDatatable.vue?89f0","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/core-js/internals/typed-array-species-constructor.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/class-transformer/esm5/enums/transformation-type.enum.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./@core/tools/documents.ts","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/class-transformer/esm5/utils/get-global.util.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/class-validator/esm5/utils/get-global.util.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/class-transformer/esm5/decorators/transform.decorator.js","webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./node_modules/class-validator/esm5/metadata/ValidationMetadata.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/detect-file-encoding-and-language/src/components/processing-content/countAllMatches.js","webpack:///./node_modules/core-js/internals/is-integral-number.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./@core/components/AppDatatable.vue?8f2d","webpack:///./@core/pages/CommissionModule/new-commission-module-components/Transactions.vue?34d2","webpack:///./@core/pages/CommissionModule/model/CommissionRecord.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/TransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/ManulifeTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/NTUCTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/AvivaTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/AXATransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/NavCommTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/NavWrapTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/IFASTCommTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/IFASTWrapTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/IFASTTrailerTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/csv-model/TokioTransactionCsvModel.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/TransactionMixin.ts","webpack:///./@core/pages/CommissionModule/new-commission-module-components/Transactions.vue","webpack:///./@core/pages/CommissionModule/new-commission-module-components/Transactions.vue?c8f2","webpack:///./@core/pages/CommissionModule/new-commission-module-components/Transactions.vue?9ea2","webpack:///./@core/components/AppForm.vue?4190","webpack:///./@core/components/AppCurrencyNA.vue?2c19","webpack:///./@core/components/AppCurrencyNA.vue","webpack:///./@core/components/AppCurrencyNA.vue?4219","webpack:///./@core/components/AppCurrencyNA.vue?6502","webpack:///./@core/components/AppForm.vue","webpack:///./@core/components/AppForm.vue?cec5","webpack:///./@core/components/AppForm.vue?3db6","webpack:///./@core/services/csv/CSVTransformer.ts","webpack:///./node_modules/class-transformer/esm5/TransformOperationExecutor.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js"],"names":["countAllMatches","calculateConfidenceScore","byteOrderMarkObject","module","exports","data","fileInfo","languageArr","encoding","language","reduce","acc","val","count","name","pos","findIndex","elem","calculations","confidence","some","obj","ValidateIf","condition","validationOptions","object","propertyName","args","type","CONDITIONAL_VALIDATION","target","constructor","constraints","addValidationMetadata","dateService","IsValidDate","dateFormat","options","message","validator","validate","value","dateFormatToFollow","isValid","IsFoundValue","listName","toUpperCase","IsOneOfThese","list","convertStringToArray","join","split","every","element","includes","trim","IsOneOfTheseCaseInsensitive","lowerCaseList","map","src","toLowerCase","IsNotEmpty","IsNumber","Number","isNaN","isLessThanEqual100","IsValidNumberOrPercentage","colName","valid","pct","parseFloat","replace","toFixed","global","toIntegerOrInfinity","toLength","RangeError","it","undefined","number","length","checkUTF","processContent","checkByteOrderMark","file","Promise","resolve","reject","byteOrderMarkBuffer","FileReader","onload","uInt8String","Uint8Array","result","slice","byteOrderMark","byteOrderMarkReader","content","onerror","err","readAsText","utfReader","utfContent","utf8","isoReader","readAsArrayBuffer","Object","is","x","y","arrayFromConstructorAndList","typedArraySpeciesConstructor","instance","toObject","toAbsoluteIndex","lengthOfArrayLike","min","Math","copyWithin","start","O","this","len","to","from","end","arguments","inc","byteOrderMarks","uInt8Start","regex","test","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","begin","beginIndex","C","buffer","byteOffset","BYTES_PER_ELEMENT","toPositiveInteger","BYTES","offset","uncurryThis","fails","aCallable","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","Array","Uint16Array","un$Sort","prototype","sort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","index","mod","array","expected","a","b","getSortCompare","comparefn","userContainer","userContainerOptions","defaultContainer","class_1","instances","get","someClass","find","push","getFromContainer","fallback","error","fallbackOnErrors","$reduceRight","right","callbackfn","randomBytes","Charset","unsafeRandomBytes","stack","i","floor","random","readUInt8","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","generatedString","generate","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","arraySlice","FORCED","Int8Array","EOF","$","DESCRIPTORS","USE_NATIVE_URL","bind","defineProperties","redefine","anInstance","hasOwn","assign","arrayFrom","codeAt","toASCII","$toString","setToStringTag","URLSearchParamsModule","InternalStateModule","setInternalState","set","getInternalURLState","getterFor","URLSearchParams","getInternalSearchParamsState","getState","NativeURL","URL","TypeError","parseInt","pow","exec","numberToString","toString","pop","shift","stringSlice","unshift","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseIPv4","input","partsLength","numbers","part","radix","ipv4","parts","parseIPv6","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","chr","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","host","ignore0","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","code","encodeURIComponent","specialSchemes","ftp","http","https","ws","wss","isWindowsDriveLetter","normalized","second","startsWithWindowsDriveLetter","third","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","url","isBase","base","baseState","failure","searchParams","urlString","parse","bindURL","stateOverride","codePoints","bufferCodePoints","state","seenAt","seenBracket","seenPasswordToken","scheme","username","password","port","path","query","fragment","cannotBeABaseURL","isSpecial","includesCredentials","codePoint","encodedCodePoints","parseHost","shortenPath","cannotHaveUsernamePasswordPort","pathSize","serialize","output","setHref","href","update","getOrigin","URLConstructor","origin","getProtocol","setProtocol","protocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","pathname","getSearch","setSearch","search","getSearchParams","facade","getHash","setHash","hash","that","URLPrototype","accessorDescriptor","getter","setter","configurable","enumerable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","forced","sham","apply","$lastIndexOf","searchElement","arrayUniq","charsLower","charsUpper","hexChars","binaryChars","octalChars","unreadableChars","charMap","$findIndex","predicate","toOffset","arrayLike","Expose","addExposeMetadata","Function","$map","mapfn","ValidationError","shouldDecorate","hasParent","parentPath","_this","boldStart","boldEnd","propConstraintFailed","concat","keys","formattedProperty_1","isInteger","property","children","childError","constraintToString","constraint","isArray","ValidationUtils","replaceMessageSpecialTokens","validationArguments","messageString","forEach","RegExp","targetName","isPromise","p","then","convertToArray","Map","values","ValidationExecutor","validatorOptions","awaitingPromises","ignoreAsyncValidations","metadataStorage","execute","targetSchema","validationErrors","_a","hasValidationMetaData","enableDebugMessages","console","warn","groups","strictGroups","always","targetMetadatas","getTargetValidationMetadatas","groupedMetadatas","groupByPropertyName","forbidUnknownValues","validationError","unknownValue","whitelist","definedMetadatas","filter","metadata","ValidationTypes","IS_DEFINED","metadatas","WHITELIST","PROMISE_VALIDATION","resolvedValue","performValidations","notAllowedProperties","forbidNonWhitelisted","generateValidationError","stripEmptyErrors","errors","customValidationMetadatas","CUSTOM_VALIDATION","nestedValidationMetadatas","NESTED_VALIDATION","conditionalValidationMetadatas","canValidate","conditionalValidations","customValidations","mapContexts","skipUndefinedProperties","skipNullProperties","skipMissingProperties","nestedValidations","resultA","resultB","getTargetValidatorConstraints","constraintCls","customConstraintMetadata","async","stopAtFirstError","each","Set","arrayValue","validatedSubValues","subValue","validationIsAsync","validatedSubValue","asyncValidatedSubValues","asyncValidationIsFinishedPromise","all","flatValidatedValues","validationResult","createValidationError","context","contexts","_b","validatedValue","promise","arrayLikeValue","customConstraint","customConstraints","getConstraintType","customValidatorMetadata","dismissDefaultMessages","defaultMessage","__awaiter","thisArg","_arguments","P","generator","adopt","fulfilled","step","next","rejected","done","__generator","body","f","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","call","Validator","objectOrSchemaName","objectOrValidationOptions","maybeValidatorOptions","coreValidate","validateOrReject","validateSync","schema","executor","schemaNameOrObject","BankBicOptions","CODE","NAME","BIC","MapBankNameToBankCode","srcBankName","foundBank","bank","ValidationSchemaToMetadataTransformer","transform","properties","validation","validationTypeOptions","ValidationMetadata","MetadataStorage","validationMetadatas","constraintMetadatas","defineProperty","addValidationSchema","validationMetadata","addConstraintMetadata","grouped","targetConstructor","includeMetadataBecauseOfAlwaysOption","excludeMetadataBecauseOfStrictGroupsOption","originalMetadatas","group","indexOf","inheritedMetadatas","uniqueInheritedMetadatas","inheritedMetadata","originalMetadata","getMetadataStorage","classValidatorMetadataStorage","createTypedArrayConstructor","init","$join","separator","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","fromCharCode","String","charCodeAt","ucs2decode","counter","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","q","qMinusT","baseMinusT","encoded","labels","PROPER_FUNCTION_NAME","PROPER","ArrayIterators","wellKnownSymbol","ITERATOR","arrayValues","arrayKeys","arrayEntries","entries","nativeTypedArrayIterator","PROPER_ARRAY_VALUES_NAME","typedArrayValues","NATIVE_ARRAY_BUFFER","FunctionName","createNonEnumerableProperty","redefineAll","toIndex","IEEE754","getPrototypeOf","setPrototypeOf","getOwnPropertyNames","arrayFill","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","getInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","ObjectPrototype","fill","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","Constructor","key","view","isLittleEndian","intIndex","store","byteLength","bytes","conversion","INCORRECT_ARRAY_BUFFER_NAME","NaN","j","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBuffer","DataView","$some","CSVModelInterface","filename","staticTemplate","model","template","strategy","csvData","blob","Blob","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","$fill","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","createPropertyDescriptor","isIntegralNumber","toPropertyKey","classof","isObject","isSymbol","create","isPrototypeOf","typedArrayFrom","setSpecies","definePropertyModule","getOwnPropertyDescriptorModule","inheritIfRequired","nativeDefineProperty","nativeGetOwnPropertyDescriptor","round","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_CONSTRUCTOR","TYPED_ARRAY_TAG","TypedArray","TypedArrayPrototype","aTypedArrayConstructor","isTypedArray","fromList","isArrayBuffer","klass","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","descriptor","writable","stat","getOwnPropertyDescriptor","TYPE","wrapper","CLAMPED","match","CONSTRUCTOR_NAME","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","dummy","typedArrayOffset","$length","$len","oldBrowser","Error","crypto","msCrypto","size","rawBytes","getRandomValues","Buffer","process","nextTick","abs","log","LN2","mantissaLength","exponent","mantissa","c","exponentLength","eMax","eBias","rt","sign","Infinity","nBits","ClientPolicyReportRequestDTO","DownloadCsvDto","ReportGeneratorDto","ReportLogDTO","dateFilteringSelection","status","ScheduleTimeDto","frequency","memberId","method","accountOid","requestBody","400","404","409","role","oid","commissionOid","userOid","batchId","valueDate","batchOid","policyNumber","$includes","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","searcher","rx","S","res","previousLastIndex","lastIndex","defaultOptions","enableCircularCheck","enableImplicitConversion","excludeExtraneousValues","excludePrefixes","exposeDefaultValues","exposeUnsetFields","ignoreDecorators","targetMaps","version","__assign","s","hasOwnProperty","ClassTransformer","classToPlain","TransformOperationExecutor","CLASS_TO_PLAIN","classToPlainFromExist","plainObject","plainToClass","cls","plain","PLAIN_TO_CLASS","plainToClassFromExist","clsObject","classToClass","CLASS_TO_CLASS","classToClassFromExist","fromObject","JSON","stringify","deserialize","json","jsonObject","deserializeArray","classTransformer","flag","sharedRegex","czech","hungarian","slovak","slovenian","albanian","english","french","portuguese","spanish","german","italian","danish","norwegian","swedish","dutch","finnish","estonian","icelandic","turkish","lithuanian","bengali","hindi","urdu","vietnamese","sharedFrequency","polish","low","high","romanian","ukrainian","greek","hebrew","utfRegex","isoRegex","utfFrequency","isoFrequency","checkCorrectnessOfIteration","iterable","relativeIndex","_typeMetadatas","_transformMetadatas","_exposeMetadatas","_excludeMetadatas","_ancestorsMap","addTypeMetadata","has","addTransformMetadata","addExcludeMetadata","findTransformMetadatas","transformationType","findMetadatas","toClassOnly","toPlainOnly","findExcludeMetadata","findMetadata","findExposeMetadata","findExposeMetadataByCustomName","getExposedMetadatas","findTypeMetadata","getStrategy","excludeMap","exclude","exposeMap","expose","getMetadata","getExcludedMetadatas","getExposedProperties","getExcludedProperties","clear","metadataFromTarget","metadataFromTargetMap","meta","metadataFromAncestors","_i","getAncestors","ancestor","ancestorMetadataMap","metadataFromAncestor","ancestorResult","metadataFromAncestorsTarget","ancestors","baseClass","defaultMetadataStorage","$ArrayCopyWithin","u$ArrayCopyWithin","charRegex","totalCharacters","langArr","secondLanguage","languageRatio","characterWordRatio","lowerLimit","upperLimit","multiplier","confidenceScore","range","surplus","confidenceRaisePercentage","confidenceRaise","aConstructor","getIterator","getIteratorMethod","isArrayIteratorMethod","source","argumentsLength","mapping","iteratorMethod","ConstraintMetadata","registerDecorator","constraintClasses","validator_1","CustomConstraint","validationMetadataArgs","$every","render","_vm","_h","$createElement","_c","_self","staticClass","on","downloadTemplate","_v","staticStyle","attrs","isImporting","importCsv","_e","ref","$event","fileChanges","files","_s","selectedFile","directives","rawName","expression","loading","domProps","composing","txtSearchTop","tableColumn","tableRow","prop","order","csvErrorModal","slot","successfulRows","imported","_l","successRow","staticRenderFns","checkColumns","Class","sampleItem","templateHeader","header","checkCSV","sampleHeader","missingColumns","col","convertPlainToClass","csvColumnErrors","success","items","constraintError","csvParser","csv","skipEmptyLines","complete","headers","cleanedHeadersCount","cleanedHeaders","cleaned","row","originalHeader","cleanedHeader","templateType","csvErrors","flat","successfulImportRows","useStaticTemplate","CSVModel","usedStaticTemplate","templateCategory","uiService","alert","show","link","document","createElement","fileData","fileType","setAttribute","downloadedFileName","style","display","appendChild","click","removeChild","example","field","hasValidationErrors","Row","csvFile","$refs","$emit","sharedVariable","required","default","components","AppDatatable","AppDialog","component","class","currentPageData","hasNoError","selectionKey","tableRowClassName","sortChange","rowClick","handleSelection","column","sortable","scopedSlots","_u","fn","scope","modifiers","$$selectedVal","o","selected","_value","$set","multiple","handleCustomEvent","option","_n","$forceUpdate","decimal","disabled","convertToCurrency","_t","button","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","pageSizes","sortBy","sizes","lastSize","searchKeyword","filters","filteredData","sortedData","emit","redirect","window","location","rows","appdatatable","clearSelection","currencySymbol","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","AppDecimalNumber","$toLocaleString","TO_LOCALE_STRING_BUG","speciesConstructor","originalArray","$filter","fromSpeciesAndList","TransformationType","$reduce","left","base64ToBlob","b64Data","byteCharacters","atob","byteArrays","byteNumbers","byteArray","middle","getGlobal","globalThis","self","$find","IndexedObject","createMethod","IS_RIGHT","memo","$forEach","Transform","transformFn","uniqNoSet","arr","ret","uniqSet","seen","el","add","uniqSetWithForEach","doesForEachActuallyWork","toIndexedObject","arrayMethodIsStrict","lastIndexOf","NEGATIVE_ZERO","STRICT_METHOD","$indexOf","newLanguageArr","updatedLangObj","lang","matches","isFinite","Prototype","isCallable","tryToString","uid","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TO_STRING_TAG","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","KEY","ARRAY","exportTypedArrayStaticMethod","toggleImportCsvRecords","loadingTransactions","commissionRecordsColumn","commissionRecordsData","closeModalCsv","modalPage","newTransactionFormStructure","newTransaction","goToPage2","enableIssuerTemplate","issuerTemplateAvailable","callback","$$v","issuerTemplate","csvModel","onCommissionRecordCsvUpload","commissionBatchOid","records","ctm","advCode","advName","clientName","productName","premiumAmt","commissionAmt","orCommissionAmt","transactionType","level1ComAmt","level2ComAmt","level3ComAmt","level4ComAmt","introducerFullname","introducerComAmt","vestingFullname","vestingComAmt","servicingFullname","servicingComAmt","paymentDateMillis","statementDateMillis","principal","remunerationType","paid","taxInvoiceNo","batchRemark","remark","Meta","RawKey","IDateService","Commission","Premium","toUnixMilliseconds","FrequencyOptions","DateService","Crcy","premiumCurrency","premiumPurpose","policyYear","approvedDate","effectiveDate","paidToDate","Name","Plan","ComponentCode","PlanDescription","OrComm","Premiumtype","exchangeRate","agentNameAndCode","Component","Adviser","REFNO","gstAmount","Sedolnumber","Reference","ClientName","NRIC","CompCode","PlanName","AdviserNo","Currency","InstallmentPremium","LoadedInstallmentPremium","installmentPremium","loadingPremium","BillingFrequency","CommencementDate","EffectiveDate","OriginalAmount","BasicPremiumCommission","LoadedPremiumCommission","ActualAmount","OverridingCommission","transaction","Transaction","Description","basicCommission","debug","loadingTransactionRecords","txtSearchTopRecord","showImportCsvRecords","principalList","commissionRecords","importedCommissionRecords","remunerationTypeMap","transactionModel","CsvModel","getIssuerCsvTemplate","rec","format","$api","companyDetails","issuer","issuerName","incomplete","validateTaxInvoiceNo","id","randomID","addLoadingTask","productType","issuedDate","payMode","validateNewCommissionData","removeLoadingTask","projectSettings","useHierarchySetup","importNewCommissionDataViaHierarchySetup","paymentDate","statementDate","commissionData","importNewCommissionData","_oid","$router","fetchCommissionRecords","fetchPrincipalList","system","information","commission_template","setTransactionModel","AppForm","CSVImport","structure","shouldShow","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","labelKey","tooltip","eidx","msg","full","fullErr","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","isMyInfo","getLabelId","setSelectValue","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","isVertical","maxSize","columns","getValueForTable","remove","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","convertCurrencyToNumber","remainingChar","evt","event","charCode","which","keyCode","isAlphabetN","isNonNumber","preventDefault","isAlphabetA","formatValue","useCurrency","currencyPrefix","currency","replaceAll","projectInfo","inputValue","minimal","structures","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","theme","readOnly","oriValue","labelValue","selectedOption","selectedIndex","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","ele","getElementById","focus","mc","classes","swe","first","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppFormTable","AppCurrencyNA","AppTooltip","parseFloatNumber","parseIntNumber","parseToCorrectString","srcStr","targetStrList","correctWord","mapBankNameToBankCode","targetBank","bankOption","instantiateArrayType","arrayType","recursionStack","targetType","isMap","level","newValue_1","subSource","isCircular","realTargetType","discriminator","subTypes","subType","newObject","newType","typeFunction","keepDiscriminatorProperty","value_1","Boolean","valueOf","getKeys","newValue","_loop_1","valueKey","newValueKey","this_1","exposeMetadata","isSubValueMap","metadata_1","reflectedType","Reflect","arrayType_1","getReflectedType","finalValue","applyCustomTransformations","transformKey","keys_1","delete","checkVersion","since","until","checkGroups","exposedProperties","excludedProperties_1","prefix","substr","decision","optionGroup"],"mappings":"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","file":"js/chunk-0361b11c.a4ef8f77.js","sourcesContent":["const countAllMatches = require(\"./processing-content/countAllMatches.js\");\nconst calculateConfidenceScore = require(\"./processing-content/calculateConfidenceScore.js\");\nconst byteOrderMarkObject = require(\"../config/byteOrderMarkObject.js\");\n\nmodule.exports = (data, fileInfo) => {\n data.languageArr = countAllMatches(data, fileInfo.encoding);\n\n fileInfo.language = data.languageArr.reduce((acc, val) =>\n acc.count > val.count ? acc : val\n ).name;\n\n // \"pos\" gives us the position in the language array that has the most matches\n data.pos = data.languageArr.findIndex(\n (elem) => elem.name === fileInfo.language\n );\n\n // Determine the encoding\n if (!fileInfo.encoding) {\n fileInfo.encoding = data.languageArr[data.pos].encoding;\n }\n\n const calculations = calculateConfidenceScore(data, fileInfo);\n\n if (fileInfo.confidence.encoding) {\n fileInfo.confidence.language = calculations;\n } else {\n fileInfo.confidence.encoding = calculations;\n fileInfo.confidence.language = calculations;\n }\n\n // Edge case, when no matches were found\n if (!data.languageArr[data.pos].count) {\n fileInfo.language = null;\n fileInfo.confidence.language = null;\n\n if (!byteOrderMarkObject.some(obj => obj.encoding === fileInfo.encoding)) {\n fileInfo.encoding = null;\n fileInfo.confidence.encoding = null;\n }\n }\n\n return fileInfo;\n};\n","import { ValidationTypes } from '../../validation/ValidationTypes';\nimport { ValidationMetadata } from '../../metadata/ValidationMetadata';\nimport { getMetadataStorage } from '../../metadata/MetadataStorage';\n/**\n * Ignores the other validators on a property when the provided condition function returns false.\n */\nexport function ValidateIf(condition, validationOptions) {\n return function (object, propertyName) {\n var args = {\n type: ValidationTypes.CONDITIONAL_VALIDATION,\n target: object.constructor,\n propertyName: propertyName,\n constraints: [condition],\n validationOptions: validationOptions,\n };\n getMetadataStorage().addValidationMetadata(new ValidationMetadata(args));\n };\n}\n//# sourceMappingURL=ValidateIf.js.map","import { DateService } from '@master/services/DateService'\nimport { registerDecorator, ValidationArguments } from 'class-validator'\nimport { isEmpty, isNumber } from 'lodash'\n\nconst dateService = new DateService()\n\nexport function IsValidDate (dateFormat: string) {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isValidDate',\n target: object.constructor,\n propertyName: propertyName,\n constraints: [dateFormat],\n options: {\n message: `$value in $property column does not follow ${dateFormat} format`\n },\n validator: {\n validate (value: any, args: ValidationArguments) {\n if (!value) return true\n const [dateFormatToFollow] = args.constraints\n return dateService.isValid(value, dateFormatToFollow)\n }\n }\n })\n }\n}\n\nexport function IsValidNumber () {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isValidNumber',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: '$value in $property column is not a valid number'\n },\n validator: {\n validate (value: string) {\n return parseFloat(value).toString() === value\n }\n }\n })\n }\n}\n\nexport function IsFoundValue (listName: string) {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isFoundValue',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: `Value in $property column is not found in ${listName}`\n },\n validator: {\n validate (value: string) {\n if (!value) return true\n return value.toUpperCase() !== 'NOT FOUND'\n }\n }\n })\n }\n}\n\nexport function IsOneOfThese (list: string[], convertStringToArray = false) {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isOneOfThese',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: `$value in $property column is not in this list (${list.join(' / ')})`\n },\n validator: {\n validate (value: string) {\n if (convertStringToArray) {\n return value.split(',').every(element => list.includes(element.trim()))\n }\n return list.includes(value)\n }\n }\n })\n }\n}\n\nexport function IsOneOfTheseCaseInsensitive (list: string[]) {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isOneOfTheseCaseInsensitive',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: `$value in $property column is not in this list (${list.join(' / ')})`\n },\n validator: {\n validate (value: string) {\n const lowerCaseList = list.map(src => {\n if (src) {\n return src.toLowerCase()\n }\n return src\n })\n\n return lowerCaseList.includes(value?.trim()?.toLowerCase())\n }\n }\n })\n }\n}\n\nexport function IsNotEmpty () {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isNotEmpty',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: '$property column cannot be empty'\n },\n validator: {\n validate (value: string) {\n return !isEmpty(value)\n }\n }\n })\n }\n}\n\nexport function IsNumber () {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isNumber',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: '$value in $property column is not a valid number'\n },\n validator: {\n validate (value: any) {\n return isNumber(value) && !Number.isNaN(value)\n }\n }\n })\n }\n}\n\nexport function isLessThanEqual100 () {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isLessThanEqual100',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: '$value in $property column is more than 100'\n },\n validator: {\n validate (value: any) {\n return isNumber(value) && !Number.isNaN(value) && value <= 100\n }\n }\n })\n }\n}\n\nexport function IsValidNumberOrPercentage (colName: string) {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isValidNumberOrPercentage',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: `$value in ${colName} column can only be number or percentage (number followed by '%')`\n },\n validator: {\n validate (value: string) {\n let valid = false\n if (value.includes('%')) {\n const pct = parseFloat(value.replace('%', '')).toFixed(2)\n valid = `${parseFloat(value).toFixed(2)}` === pct\n } else {\n valid = `${parseFloat(value)}` === value\n }\n return valid\n }\n }\n })\n }\n}\n\nexport function IsValidJsonStringArray () {\n return function (object: object, propertyName: string) {\n registerDecorator({\n name: 'isValidJsonStringArray',\n target: object.constructor,\n propertyName: propertyName,\n options: {\n message: '$value in $property is not a correct format, please refer template'\n },\n validator: {\n validate (value: string) {\n try {\n JSON.parse(value).join()\n return true\n } catch (error) {\n return false\n }\n }\n }\n })\n }\n}\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","const checkUTF = require(\"./components/checkUTF.js\");\nconst processContent = require(\"./components/processContent.js\");\nconst checkByteOrderMark = require(\"./components/checkByteOrderMark.js\");\n\nmodule.exports = (file) => {\n return new Promise((resolve, reject) => {\n const fileInfo = {\n encoding: null,\n language: null,\n confidence: {\n encoding: null,\n language: null,\n },\n };\n const data = {};\n\n // Check the byte order mark!\n const byteOrderMarkBuffer = new FileReader();\n\n byteOrderMarkBuffer.onload = () => {\n const uInt8String = new Uint8Array(byteOrderMarkBuffer.result).slice(0, 4).join(\" \");\n const byteOrderMark = checkByteOrderMark(uInt8String);\n\n if (byteOrderMark) {\n fileInfo.encoding = byteOrderMark;\n fileInfo.confidence.encoding = 1;\n\n const byteOrderMarkReader = new FileReader();\n\n byteOrderMarkReader.onload = () => {\n data.content = byteOrderMarkReader.result;\n resolve(processContent(data, fileInfo));\n };\n\n byteOrderMarkReader.onerror = (err) => {\n reject(err);\n };\n\n byteOrderMarkReader.readAsText(file, fileInfo.encoding);\n } else {\n // Read with UTF-8 first, then with ISO-8859-1\n const utfReader = new FileReader();\n\n utfReader.onload = () => {\n const utfContent = utfReader.result;\n\n const utf8 = checkUTF(utfContent);\n\n if (utf8) {\n fileInfo.encoding = \"UTF-8\";\n fileInfo.confidence.encoding = 1;\n }\n\n if (utf8) {\n data.content = utfContent;\n resolve(processContent(data, fileInfo));\n } else {\n const isoReader = new FileReader();\n\n isoReader.onload = () => {\n data.content = isoReader.result;\n resolve(processContent(data, fileInfo));\n };\n\n isoReader.readAsText(file, \"ISO-8859-1\");\n }\n };\n\n utfReader.onerror = (err) => {\n reject(err);\n };\n\n utfReader.readAsText(file, \"UTF-8\");\n }\n };\n\n byteOrderMarkBuffer.onerror = (err) => {\n reject(err);\n };\n\n byteOrderMarkBuffer.readAsArrayBuffer(file);\n });\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transactions.vue?vue&type=style&index=0&id=1be76c06&lang=scss&scoped=true&\"","const byteOrderMarks = require(\"../config/byteOrderMarkObject.js\");\n\nmodule.exports = (uInt8Start) => {\n for (const element of byteOrderMarks) {\n if (element.regex.test(uInt8Start)) return element.encoding;\n }\n\n return null;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","/**\n * Container to be used by this library for inversion control. If container was not implicitly set then by default\n * container simply creates a new instance of the given class.\n */\nvar defaultContainer = new (/** @class */ (function () {\n function class_1() {\n this.instances = [];\n }\n class_1.prototype.get = function (someClass) {\n var instance = this.instances.find(function (instance) { return instance.type === someClass; });\n if (!instance) {\n instance = { type: someClass, object: new someClass() };\n this.instances.push(instance);\n }\n return instance.object;\n };\n return class_1;\n}()))();\nvar userContainer;\nvar userContainerOptions;\n/**\n * Sets container to be used by this library.\n */\nexport function useContainer(iocContainer, options) {\n userContainer = iocContainer;\n userContainerOptions = options;\n}\n/**\n * Gets the IOC container used by this library.\n */\nexport function getFromContainer(someClass) {\n if (userContainer) {\n try {\n var instance = userContainer.get(someClass);\n if (instance)\n return instance;\n if (!userContainerOptions || !userContainerOptions.fallback)\n return instance;\n }\n catch (error) {\n if (!userContainerOptions || !userContainerOptions.fallbackOnErrors)\n throw error;\n }\n }\n return defaultContainer.get(someClass);\n}\n//# sourceMappingURL=container.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","\"use strict\";\n\nvar randomBytes = require('randombytes');\nvar Charset = require('./charset.js');\n\n\nfunction unsafeRandomBytes(length) {\n var stack = [];\n for (var i = 0; i < length; i++) {\n stack.push(Math.floor(Math.random() * 255));\n }\n\n return {\n length,\n readUInt8: function (index) {\n return stack[index];\n }\n };\n}\n\nfunction safeRandomBytes(length) {\n try {\n return randomBytes(length);\n } catch (e) {\n /* React/React Native Fix + Eternal loop removed */\n return unsafeRandomBytes(length);\n }\n}\n\nfunction processString(buf, initialString, chars, reqLen, maxByte) {\n var string = initialString;\n for (var i = 0; i < buf.length && string.length < reqLen; i++) {\n var randomByte = buf.readUInt8(i);\n if (randomByte < maxByte) {\n string += chars.charAt(randomByte % chars.length);\n }\n }\n return string;\n}\n\nfunction getAsyncString(string, chars, length, maxByte, cb) {\n randomBytes(length, function(err, buf) {\n if (err) {\n // Since it is waiting for entropy, errors are legit and we shouldn't just keep retrying\n cb(err);\n }\n var generatedString = processString(buf, string, chars, length, maxByte);\n if (generatedString.length < length) {\n getAsyncString(generatedString, chars, length, maxByte, cb);\n } else {\n cb(null, generatedString);\n }\n })\n}\n\nexports.generate = function(options, cb) {\n var charset = new Charset();\n\n var length, chars, capitalization, string = '';\n\n // Handle options\n if (typeof options === 'object') {\n length = typeof options.length === 'number' ? options.length : 32;\n\n if (options.charset) {\n charset.setType(options.charset);\n }\n else {\n charset.setType('alphanumeric');\n }\n\n if (options.capitalization) {\n charset.setcapitalization(options.capitalization);\n }\n\n if (options.readable) {\n charset.removeUnreadable();\n }\n\n charset.removeDuplicates();\n }\n else if (typeof options === 'number') {\n length = options;\n charset.setType('alphanumeric');\n }\n else {\n length = 32;\n charset.setType('alphanumeric');\n }\n\n // Generate the string\n var charsLen = charset.chars.length;\n var maxByte = 256 - (256 % charsLen);\n\n if (!cb) {\n while (string.length < length) {\n var buf = safeRandomBytes(Math.ceil(length * 256 / maxByte));\n string = processString(buf, string, charset.chars, length, maxByte);\n }\n\n return string;\n }\n\n getAsyncString(string, charset.chars, length, maxByte, cb);\n\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor('serialize', 'setHref'),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor('getOrigin'),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor('getProtocol', 'setProtocol'),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor('getUsername', 'setUsername'),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor('getPassword', 'setPassword'),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor('getHost', 'setHost'),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor('getHostname', 'setHostname'),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor('getPort', 'setPort'),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor('getPathname', 'setPathname'),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor('getSearch', 'setSearch'),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor('getSearchParams'),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor('getHash', 'setHash')\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var arrayUniq = require('array-uniq');\n\nfunction Charset() {\n this.chars = '';\n}\n\nCharset.prototype.setType = function(type) {\n var chars;\n\n var numbers = '0123456789';\n var charsLower = 'abcdefghijklmnopqrstuvwxyz';\n var charsUpper = charsLower.toUpperCase();\n var hexChars = 'abcdef';\n var binaryChars = '01';\n var octalChars = '01234567';\n\n if (type === 'alphanumeric') {\n chars = numbers + charsLower + charsUpper;\n }\n else if (type === 'numeric') {\n chars = numbers;\n }\n else if (type === 'alphabetic') {\n chars = charsLower + charsUpper;\n }\n else if (type === 'hex') {\n chars = numbers + hexChars;\n }\n else if (type === 'binary') {\n chars = binaryChars;\n }\n else if (type === 'octal') {\n chars = octalChars;\n }\n else {\n chars = type;\n }\n\n this.chars = chars;\n}\n\nCharset.prototype.removeUnreadable = function() {\n var unreadableChars = /[0OIl]/g;\n this.chars = this.chars.replace(unreadableChars, '');\n}\n\nCharset.prototype.setcapitalization = function(capitalization) {\n if (capitalization === 'uppercase') {\n this.chars = this.chars.toUpperCase();\n }\n else if (capitalization === 'lowercase') {\n this.chars = this.chars.toLowerCase();\n }\n}\n\nCharset.prototype.removeDuplicates = function() {\n var charMap = this.chars.split('');\n charMap = arrayUniq(charMap);\n this.chars = charMap.join('');\n}\n\nmodule.exports = exports = Charset;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","import { defaultMetadataStorage } from '../storage';\n/**\n * Marks the given class or property as included. By default the property is included in both\n * constructorToPlain and plainToConstructor transformations. It can be limited to only one direction\n * via using the `toPlainOnly` or `toClassOnly` option.\n *\n * Can be applied to class definitions and properties.\n */\nexport function Expose(options) {\n if (options === void 0) { options = {}; }\n /**\n * NOTE: The `propertyName` property must be marked as optional because\n * this decorator used both as a class and a property decorator and the\n * Typescript compiler will freak out if we make it mandatory as a class\n * decorator only receives one parameter.\n */\n return function (object, propertyName) {\n defaultMetadataStorage.addExposeMetadata({\n target: object instanceof Function ? object : object.constructor,\n propertyName: propertyName,\n options: options,\n });\n };\n}\n//# sourceMappingURL=expose.decorator.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","/**\n * Validation error description.\n */\nvar ValidationError = /** @class */ (function () {\n function ValidationError() {\n }\n /**\n *\n * @param shouldDecorate decorate the message with ANSI formatter escape codes for better readability\n * @param hasParent true when the error is a child of an another one\n * @param parentPath path as string to the parent of this property\n */\n ValidationError.prototype.toString = function (shouldDecorate, hasParent, parentPath) {\n var _this = this;\n if (shouldDecorate === void 0) { shouldDecorate = false; }\n if (hasParent === void 0) { hasParent = false; }\n if (parentPath === void 0) { parentPath = \"\"; }\n var boldStart = shouldDecorate ? \"\\u001B[1m\" : \"\";\n var boldEnd = shouldDecorate ? \"\\u001B[22m\" : \"\";\n var propConstraintFailed = function (propertyName) {\n return \" - property \".concat(boldStart).concat(parentPath).concat(propertyName).concat(boldEnd, \" has failed the following constraints: \").concat(boldStart).concat(Object.keys(_this.constraints).join(\", \")).concat(boldEnd, \" \\n\");\n };\n if (!hasParent) {\n return (\"An instance of \".concat(boldStart).concat(this.target ? this.target.constructor.name : 'an object').concat(boldEnd, \" has failed the validation:\\n\") +\n (this.constraints ? propConstraintFailed(this.property) : \"\") +\n (this.children\n ? this.children.map(function (childError) { return childError.toString(shouldDecorate, true, _this.property); }).join(\"\")\n : \"\"));\n }\n else {\n // we format numbers as array indexes for better readability.\n var formattedProperty_1 = Number.isInteger(+this.property)\n ? \"[\".concat(this.property, \"]\")\n : \"\".concat(parentPath ? \".\" : \"\").concat(this.property);\n if (this.constraints) {\n return propConstraintFailed(formattedProperty_1);\n }\n else {\n return this.children\n ? this.children\n .map(function (childError) { return childError.toString(shouldDecorate, true, \"\".concat(parentPath).concat(formattedProperty_1)); })\n .join(\"\")\n : \"\";\n }\n }\n };\n return ValidationError;\n}());\nexport { ValidationError };\n//# sourceMappingURL=ValidationError.js.map","/**\n * Convert the constraint to a string to be shown in an error\n */\nexport function constraintToString(constraint) {\n if (Array.isArray(constraint)) {\n return constraint.join(', ');\n }\n return \"\".concat(constraint);\n}\nvar ValidationUtils = /** @class */ (function () {\n function ValidationUtils() {\n }\n ValidationUtils.replaceMessageSpecialTokens = function (message, validationArguments) {\n var messageString;\n if (message instanceof Function) {\n messageString = message(validationArguments);\n }\n else if (typeof message === 'string') {\n messageString = message;\n }\n if (messageString && Array.isArray(validationArguments.constraints)) {\n validationArguments.constraints.forEach(function (constraint, index) {\n messageString = messageString.replace(new RegExp(\"\\\\$constraint\".concat(index + 1), 'g'), constraintToString(constraint));\n });\n }\n if (messageString &&\n validationArguments.value !== undefined &&\n validationArguments.value !== null &&\n typeof validationArguments.value === 'string')\n messageString = messageString.replace(/\\$value/g, validationArguments.value);\n if (messageString)\n messageString = messageString.replace(/\\$property/g, validationArguments.property);\n if (messageString)\n messageString = messageString.replace(/\\$target/g, validationArguments.targetName);\n return messageString;\n };\n return ValidationUtils;\n}());\nexport { ValidationUtils };\n//# sourceMappingURL=ValidationUtils.js.map","// https://github.com/TylorS/typed-is-promise/blob/abf1514e1b6961adfc75765476b0debb96b2c3ae/src/index.ts\nexport function isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\n//# sourceMappingURL=is-promise.util.js.map","/**\n * Convert Map, Set to Array\n */\nexport function convertToArray(val) {\n if (val instanceof Map) {\n return Array.from(val.values());\n }\n return Array.isArray(val) ? val : Array.from(val);\n}\n//# sourceMappingURL=convert-to-array.util.js.map","import { ValidationError } from './ValidationError';\nimport { ValidationTypes } from './ValidationTypes';\nimport { ValidationUtils } from './ValidationUtils';\nimport { isPromise, convertToArray } from '../utils';\nimport { getMetadataStorage } from '../metadata/MetadataStorage';\n/**\n * Executes validation over given object.\n */\nvar ValidationExecutor = /** @class */ (function () {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n function ValidationExecutor(validator, validatorOptions) {\n this.validator = validator;\n this.validatorOptions = validatorOptions;\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n this.awaitingPromises = [];\n this.ignoreAsyncValidations = false;\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n this.metadataStorage = getMetadataStorage();\n }\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n ValidationExecutor.prototype.execute = function (object, targetSchema, validationErrors) {\n var _this = this;\n var _a;\n /**\n * If there is no metadata registered it means possibly the dependencies are not flatterned and\n * more than one instance is used.\n *\n * TODO: This needs proper handling, forcing to use the same container or some other proper solution.\n */\n if (!this.metadataStorage.hasValidationMetaData && ((_a = this.validatorOptions) === null || _a === void 0 ? void 0 : _a.enableDebugMessages) === true) {\n console.warn(\"No metadata found. There is more than once class-validator version installed probably. You need to flatten your dependencies.\");\n }\n var groups = this.validatorOptions ? this.validatorOptions.groups : undefined;\n var strictGroups = (this.validatorOptions && this.validatorOptions.strictGroups) || false;\n var always = (this.validatorOptions && this.validatorOptions.always) || false;\n var targetMetadatas = this.metadataStorage.getTargetValidationMetadatas(object.constructor, targetSchema, always, strictGroups, groups);\n var groupedMetadatas = this.metadataStorage.groupByPropertyName(targetMetadatas);\n if (this.validatorOptions && this.validatorOptions.forbidUnknownValues && !targetMetadatas.length) {\n var validationError = new ValidationError();\n if (!this.validatorOptions ||\n !this.validatorOptions.validationError ||\n this.validatorOptions.validationError.target === undefined ||\n this.validatorOptions.validationError.target === true)\n validationError.target = object;\n validationError.value = undefined;\n validationError.property = undefined;\n validationError.children = [];\n validationError.constraints = { unknownValue: 'an unknown value was passed to the validate function' };\n validationErrors.push(validationError);\n return;\n }\n if (this.validatorOptions && this.validatorOptions.whitelist)\n this.whitelist(object, groupedMetadatas, validationErrors);\n // General validation\n Object.keys(groupedMetadatas).forEach(function (propertyName) {\n var value = object[propertyName];\n var definedMetadatas = groupedMetadatas[propertyName].filter(function (metadata) { return metadata.type === ValidationTypes.IS_DEFINED; });\n var metadatas = groupedMetadatas[propertyName].filter(function (metadata) { return metadata.type !== ValidationTypes.IS_DEFINED && metadata.type !== ValidationTypes.WHITELIST; });\n if (value instanceof Promise &&\n metadatas.find(function (metadata) { return metadata.type === ValidationTypes.PROMISE_VALIDATION; })) {\n _this.awaitingPromises.push(value.then(function (resolvedValue) {\n _this.performValidations(object, resolvedValue, propertyName, definedMetadatas, metadatas, validationErrors);\n }));\n }\n else {\n _this.performValidations(object, value, propertyName, definedMetadatas, metadatas, validationErrors);\n }\n });\n };\n ValidationExecutor.prototype.whitelist = function (object, groupedMetadatas, validationErrors) {\n var _this = this;\n var notAllowedProperties = [];\n Object.keys(object).forEach(function (propertyName) {\n // does this property have no metadata?\n if (!groupedMetadatas[propertyName] || groupedMetadatas[propertyName].length === 0)\n notAllowedProperties.push(propertyName);\n });\n if (notAllowedProperties.length > 0) {\n if (this.validatorOptions && this.validatorOptions.forbidNonWhitelisted) {\n // throw errors\n notAllowedProperties.forEach(function (property) {\n var _a;\n var validationError = _this.generateValidationError(object, object[property], property);\n validationError.constraints = (_a = {}, _a[ValidationTypes.WHITELIST] = \"property \".concat(property, \" should not exist\"), _a);\n validationError.children = undefined;\n validationErrors.push(validationError);\n });\n }\n else {\n // strip non allowed properties\n notAllowedProperties.forEach(function (property) { return delete object[property]; });\n }\n }\n };\n ValidationExecutor.prototype.stripEmptyErrors = function (errors) {\n var _this = this;\n return errors.filter(function (error) {\n if (error.children) {\n error.children = _this.stripEmptyErrors(error.children);\n }\n if (Object.keys(error.constraints).length === 0) {\n if (error.children.length === 0) {\n return false;\n }\n else {\n delete error.constraints;\n }\n }\n return true;\n });\n };\n // -------------------------------------------------------------------------\n // Private Methods\n // -------------------------------------------------------------------------\n ValidationExecutor.prototype.performValidations = function (object, value, propertyName, definedMetadatas, metadatas, validationErrors) {\n var customValidationMetadatas = metadatas.filter(function (metadata) { return metadata.type === ValidationTypes.CUSTOM_VALIDATION; });\n var nestedValidationMetadatas = metadatas.filter(function (metadata) { return metadata.type === ValidationTypes.NESTED_VALIDATION; });\n var conditionalValidationMetadatas = metadatas.filter(function (metadata) { return metadata.type === ValidationTypes.CONDITIONAL_VALIDATION; });\n var validationError = this.generateValidationError(object, value, propertyName);\n validationErrors.push(validationError);\n var canValidate = this.conditionalValidations(object, value, conditionalValidationMetadatas);\n if (!canValidate) {\n return;\n }\n // handle IS_DEFINED validation type the special way - it should work no matter skipUndefinedProperties/skipMissingProperties is set or not\n this.customValidations(object, value, definedMetadatas, validationError);\n this.mapContexts(object, value, definedMetadatas, validationError);\n if (value === undefined && this.validatorOptions && this.validatorOptions.skipUndefinedProperties === true) {\n return;\n }\n if (value === null && this.validatorOptions && this.validatorOptions.skipNullProperties === true) {\n return;\n }\n if ((value === null || value === undefined) &&\n this.validatorOptions &&\n this.validatorOptions.skipMissingProperties === true) {\n return;\n }\n this.customValidations(object, value, customValidationMetadatas, validationError);\n this.nestedValidations(value, nestedValidationMetadatas, validationError.children);\n this.mapContexts(object, value, metadatas, validationError);\n this.mapContexts(object, value, customValidationMetadatas, validationError);\n };\n ValidationExecutor.prototype.generateValidationError = function (object, value, propertyName) {\n var validationError = new ValidationError();\n if (!this.validatorOptions ||\n !this.validatorOptions.validationError ||\n this.validatorOptions.validationError.target === undefined ||\n this.validatorOptions.validationError.target === true)\n validationError.target = object;\n if (!this.validatorOptions ||\n !this.validatorOptions.validationError ||\n this.validatorOptions.validationError.value === undefined ||\n this.validatorOptions.validationError.value === true)\n validationError.value = value;\n validationError.property = propertyName;\n validationError.children = [];\n validationError.constraints = {};\n return validationError;\n };\n ValidationExecutor.prototype.conditionalValidations = function (object, value, metadatas) {\n return metadatas\n .map(function (metadata) { return metadata.constraints[0](object, value); })\n .reduce(function (resultA, resultB) { return resultA && resultB; }, true);\n };\n ValidationExecutor.prototype.customValidations = function (object, value, metadatas, error) {\n var _this = this;\n metadatas.forEach(function (metadata) {\n _this.metadataStorage.getTargetValidatorConstraints(metadata.constraintCls).forEach(function (customConstraintMetadata) {\n if (customConstraintMetadata.async && _this.ignoreAsyncValidations)\n return;\n if (_this.validatorOptions &&\n _this.validatorOptions.stopAtFirstError &&\n Object.keys(error.constraints || {}).length > 0)\n return;\n var validationArguments = {\n targetName: object.constructor ? object.constructor.name : undefined,\n property: metadata.propertyName,\n object: object,\n value: value,\n constraints: metadata.constraints,\n };\n if (!metadata.each || !(Array.isArray(value) || value instanceof Set || value instanceof Map)) {\n var validatedValue = customConstraintMetadata.instance.validate(value, validationArguments);\n if (isPromise(validatedValue)) {\n var promise = validatedValue.then(function (isValid) {\n if (!isValid) {\n var _a = _this.createValidationError(object, value, metadata, customConstraintMetadata), type = _a[0], message = _a[1];\n error.constraints[type] = message;\n if (metadata.context) {\n if (!error.contexts) {\n error.contexts = {};\n }\n error.contexts[type] = Object.assign(error.contexts[type] || {}, metadata.context);\n }\n }\n });\n _this.awaitingPromises.push(promise);\n }\n else {\n if (!validatedValue) {\n var _a = _this.createValidationError(object, value, metadata, customConstraintMetadata), type = _a[0], message = _a[1];\n error.constraints[type] = message;\n }\n }\n return;\n }\n // convert set and map into array\n var arrayValue = convertToArray(value);\n // Validation needs to be applied to each array item\n var validatedSubValues = arrayValue.map(function (subValue) {\n return customConstraintMetadata.instance.validate(subValue, validationArguments);\n });\n var validationIsAsync = validatedSubValues.some(function (validatedSubValue) {\n return isPromise(validatedSubValue);\n });\n if (validationIsAsync) {\n // Wrap plain values (if any) in promises, so that all are async\n var asyncValidatedSubValues = validatedSubValues.map(function (validatedSubValue) {\n return isPromise(validatedSubValue) ? validatedSubValue : Promise.resolve(validatedSubValue);\n });\n var asyncValidationIsFinishedPromise = Promise.all(asyncValidatedSubValues).then(function (flatValidatedValues) {\n var validationResult = flatValidatedValues.every(function (isValid) { return isValid; });\n if (!validationResult) {\n var _a = _this.createValidationError(object, value, metadata, customConstraintMetadata), type = _a[0], message = _a[1];\n error.constraints[type] = message;\n if (metadata.context) {\n if (!error.contexts) {\n error.contexts = {};\n }\n error.contexts[type] = Object.assign(error.contexts[type] || {}, metadata.context);\n }\n }\n });\n _this.awaitingPromises.push(asyncValidationIsFinishedPromise);\n return;\n }\n var validationResult = validatedSubValues.every(function (isValid) { return isValid; });\n if (!validationResult) {\n var _b = _this.createValidationError(object, value, metadata, customConstraintMetadata), type = _b[0], message = _b[1];\n error.constraints[type] = message;\n }\n });\n });\n };\n ValidationExecutor.prototype.nestedValidations = function (value, metadatas, errors) {\n var _this = this;\n if (value === void 0) {\n return;\n }\n metadatas.forEach(function (metadata) {\n var _a;\n if (metadata.type !== ValidationTypes.NESTED_VALIDATION && metadata.type !== ValidationTypes.PROMISE_VALIDATION) {\n return;\n }\n if (Array.isArray(value) || value instanceof Set || value instanceof Map) {\n // Treats Set as an array - as index of Set value is value itself and it is common case to have Object as value\n var arrayLikeValue = value instanceof Set ? Array.from(value) : value;\n arrayLikeValue.forEach(function (subValue, index) {\n _this.performValidations(value, subValue, index.toString(), [], metadatas, errors);\n });\n }\n else if (value instanceof Object) {\n var targetSchema = typeof metadata.target === 'string' ? metadata.target : metadata.target.name;\n _this.execute(value, targetSchema, errors);\n }\n else {\n var error = new ValidationError();\n error.value = value;\n error.property = metadata.propertyName;\n error.target = metadata.target;\n var _b = _this.createValidationError(metadata.target, value, metadata), type = _b[0], message = _b[1];\n error.constraints = (_a = {},\n _a[type] = message,\n _a);\n errors.push(error);\n }\n });\n };\n ValidationExecutor.prototype.mapContexts = function (object, value, metadatas, error) {\n var _this = this;\n return metadatas.forEach(function (metadata) {\n if (metadata.context) {\n var customConstraint = void 0;\n if (metadata.type === ValidationTypes.CUSTOM_VALIDATION) {\n var customConstraints = _this.metadataStorage.getTargetValidatorConstraints(metadata.constraintCls);\n customConstraint = customConstraints[0];\n }\n var type = _this.getConstraintType(metadata, customConstraint);\n if (error.constraints[type]) {\n if (!error.contexts) {\n error.contexts = {};\n }\n error.contexts[type] = Object.assign(error.contexts[type] || {}, metadata.context);\n }\n }\n });\n };\n ValidationExecutor.prototype.createValidationError = function (object, value, metadata, customValidatorMetadata) {\n var targetName = object.constructor ? object.constructor.name : undefined;\n var type = this.getConstraintType(metadata, customValidatorMetadata);\n var validationArguments = {\n targetName: targetName,\n property: metadata.propertyName,\n object: object,\n value: value,\n constraints: metadata.constraints,\n };\n var message = metadata.message || '';\n if (!metadata.message &&\n (!this.validatorOptions || (this.validatorOptions && !this.validatorOptions.dismissDefaultMessages))) {\n if (customValidatorMetadata && customValidatorMetadata.instance.defaultMessage instanceof Function) {\n message = customValidatorMetadata.instance.defaultMessage(validationArguments);\n }\n }\n var messageString = ValidationUtils.replaceMessageSpecialTokens(message, validationArguments);\n return [type, messageString];\n };\n ValidationExecutor.prototype.getConstraintType = function (metadata, customValidatorMetadata) {\n var type = customValidatorMetadata && customValidatorMetadata.name ? customValidatorMetadata.name : metadata.type;\n return type;\n };\n return ValidationExecutor;\n}());\nexport { ValidationExecutor };\n//# sourceMappingURL=ValidationExecutor.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { ValidationExecutor } from './ValidationExecutor';\n/**\n * Validator performs validation of the given object based on its metadata.\n */\nvar Validator = /** @class */ (function () {\n function Validator() {\n }\n /**\n * Performs validation of the given object based on decorators or validation schema.\n */\n Validator.prototype.validate = function (objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {\n return this.coreValidate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions);\n };\n /**\n * Performs validation of the given object based on decorators or validation schema and reject on error.\n */\n Validator.prototype.validateOrReject = function (objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var errors;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.coreValidate(objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions)];\n case 1:\n errors = _a.sent();\n if (errors.length)\n return [2 /*return*/, Promise.reject(errors)];\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Performs validation of the given object based on decorators or validation schema.\n */\n Validator.prototype.validateSync = function (objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {\n var object = typeof objectOrSchemaName === 'string' ? objectOrValidationOptions : objectOrSchemaName;\n var options = typeof objectOrSchemaName === 'string' ? maybeValidatorOptions : objectOrValidationOptions;\n var schema = typeof objectOrSchemaName === 'string' ? objectOrSchemaName : undefined;\n var executor = new ValidationExecutor(this, options);\n executor.ignoreAsyncValidations = true;\n var validationErrors = [];\n executor.execute(object, schema, validationErrors);\n return executor.stripEmptyErrors(validationErrors);\n };\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n /**\n * Performs validation of the given object based on decorators or validation schema.\n * Common method for `validateOrReject` and `validate` methods.\n */\n Validator.prototype.coreValidate = function (objectOrSchemaName, objectOrValidationOptions, maybeValidatorOptions) {\n var object = typeof objectOrSchemaName === 'string' ? objectOrValidationOptions : objectOrSchemaName;\n var options = typeof objectOrSchemaName === 'string' ? maybeValidatorOptions : objectOrValidationOptions;\n var schema = typeof objectOrSchemaName === 'string' ? objectOrSchemaName : undefined;\n var executor = new ValidationExecutor(this, options);\n var validationErrors = [];\n executor.execute(object, schema, validationErrors);\n return Promise.all(executor.awaitingPromises).then(function () {\n return executor.stripEmptyErrors(validationErrors);\n });\n };\n return Validator;\n}());\nexport { Validator };\n//# sourceMappingURL=Validator.js.map","import { getMetadataStorage } from './metadata/MetadataStorage';\nimport { Validator } from './validation/Validator';\nimport { getFromContainer } from './container';\n// -------------------------------------------------------------------------\n// Export everything api users needs\n// -------------------------------------------------------------------------\nexport * from './container';\nexport * from './decorator/decorators';\nexport * from './decorator/ValidationOptions';\nexport * from './validation/ValidatorConstraintInterface';\nexport * from './validation/ValidationError';\nexport * from './validation/ValidatorOptions';\nexport * from './validation/ValidationArguments';\nexport * from './validation/ValidationTypes';\nexport * from './validation/Validator';\nexport * from './validation-schema/ValidationSchema';\nexport * from './register-decorator';\nexport * from './metadata/MetadataStorage';\n/**\n * Validates given object by object's decorators or given validation schema.\n */\nexport function validate(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions) {\n if (typeof schemaNameOrObject === 'string') {\n return getFromContainer(Validator).validate(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions);\n }\n else {\n return getFromContainer(Validator).validate(schemaNameOrObject, objectOrValidationOptions);\n }\n}\n/**\n * Validates given object by object's decorators or given validation schema and reject on error.\n */\nexport function validateOrReject(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions) {\n if (typeof schemaNameOrObject === 'string') {\n return getFromContainer(Validator).validateOrReject(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions);\n }\n else {\n return getFromContainer(Validator).validateOrReject(schemaNameOrObject, objectOrValidationOptions);\n }\n}\n/**\n * Validates given object by object's decorators or given validation schema.\n * Note that this method completely ignores async validations.\n * If you want to properly perform validation you need to call validate method instead.\n */\nexport function validateSync(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions) {\n if (typeof schemaNameOrObject === 'string') {\n return getFromContainer(Validator).validateSync(schemaNameOrObject, objectOrValidationOptions, maybeValidatorOptions);\n }\n else {\n return getFromContainer(Validator).validateSync(schemaNameOrObject, objectOrValidationOptions);\n }\n}\n/**\n * Registers a new validation schema.\n */\nexport function registerSchema(schema) {\n getMetadataStorage().addValidationSchema(schema);\n}\n//# sourceMappingURL=index.js.map","module.exports = require(\"./lib/randomstring\");","// The latest list can be found on ABS website: http://www.abs.org.sg/financial_giro.php\nexport interface BankBic {\n CODE: string;\n NAME: string;\n BIC: string;\n}\nexport const BankBicOptions: BankBic[] = [{ CODE: '7931', NAME: 'Australia & New Zealand Banking Group Limited', BIC: 'ANZBSGSXXXX' },\n { CODE: '7047', NAME: 'Bangkok Bank Public Company Limited', BIC: 'BKKBSGSGXXX' },\n { CODE: '7065', NAME: 'Bank Of America, N.A.', BIC: 'BOFASG2XXXX' },\n { CODE: '7083', NAME: 'Bank Of China Limited', BIC: 'BKCHSGSGXXX' },\n { CODE: '7108', NAME: 'Bank Of India', BIC: 'BKIDSGSGXXX' },\n { CODE: '7126', NAME: 'Bank Of Tokyo-Mitsubishi UFJ, Limited', BIC: 'BOTKSGSXXXX' },\n { CODE: '7418', NAME: 'BNP Paribas', BIC: 'BNPASGSGXXX' },\n { CODE: '9353', NAME: 'Chinatrust Commercial Bank Co. Limited', BIC: 'CTCBSGSGXXX' },\n { CODE: '7986', NAME: 'CIMB Bank Berhad', BIC: 'CIBBSGSGXXX' },\n { CODE: '7214', NAME: 'Citibank N.A.', BIC: 'CITISGSGXXX' },\n { CODE: '8606', NAME: 'Commerzbank Aktiengesellschaft', BIC: 'COBASGSXXXX' },\n { CODE: '7135', NAME: 'Crédit Agricole Corporate And Investment Bank', BIC: 'CRLYSGSGXXX' },\n { CODE: '7171', NAME: 'DBS Bank Limited', BIC: 'DBSSSGSGXXX' },\n { CODE: '7463', NAME: 'Deutsche Bank AG', BIC: 'DEUTSGSGXXX' },\n { CODE: '7737', NAME: 'DNB Bank ASA', BIC: 'DNBASGSGXXX' },\n { CODE: '7199', NAME: 'Far Eastern Bank Limited', BIC: 'FAEASGSGXXX' },\n { CODE: '7764', NAME: 'First Commercial Bank', BIC: 'FCBKSGSGXXX' },\n { CODE: '7287', NAME: 'HL Bank', BIC: 'HLBBSGSGXXX' },\n { CODE: '9186', NAME: 'ICICI Bank Limited', BIC: 'ICICSGSGXXX' },\n { CODE: '7241', NAME: 'Indian Bank', BIC: 'IDIBSGSGXXX' },\n { CODE: '7250', NAME: 'Indian Overseas Bank', BIC: 'IOBASGSGXXX' },\n { CODE: '8712', NAME: 'Industrial & Commercial Bank Of China', BIC: 'ICBKSGSGXXX' },\n { CODE: '8350', NAME: 'Intesa Sanpaolo S.P.A.', BIC: 'BCITSGSGXXX' },\n { CODE: '7153', NAME: 'JPMorgan Chase Bank, N.A.', BIC: 'CHASSGSGXXX' },\n { CODE: '7490', NAME: 'Korea Exchange Bank', BIC: 'KOEXSGSGXXX' },\n { CODE: '8873', NAME: 'Landesbank Baden- Wurttemberg', BIC: 'SOLASGSGXXX' },\n { CODE: '7302', NAME: 'Malayan Banking Berhad', BIC: 'MBBESGSGXXX' },\n { CODE: '7621', NAME: 'Mizuho Bank Limited', BIC: 'MHCBSGSGXXX' },\n { CODE: '8077', NAME: 'National Australia Bank Limited', BIC: 'NATASGSGXXX' },\n { CODE: '8518', NAME: 'Nordea Bank Finland PLC', BIC: 'NDEASGSGXXX' },\n { CODE: '7339', NAME: 'Oversea-Chinese Banking Corpn Limited', BIC: 'OCBCSGSGXXX' },\n { CODE: '7056', NAME: 'PT Bank Negara Indonesia (Persero) TBK', BIC: 'BNINSGSGXXX' },\n { CODE: '7366', NAME: 'RHB Bank Berhad', BIC: 'RHBBSGSGXXX' },\n { CODE: '8527', NAME: 'Skandinaviska Enskilda Banken AB (Publ)', BIC: 'ESSESGSGXXX' },\n { CODE: '7852', NAME: 'Societe Generale', BIC: 'SOGESGSGXXX' },\n { CODE: '7144', NAME: 'Standard Chartered Bank', BIC: 'SCBLSG22XXX' },\n { CODE: '7791', NAME: 'State Bank Of India', BIC: 'SBINSGSGXXX' },\n { CODE: '7472', NAME: 'Sumitomo Mitsui Banking Corporation', BIC: 'SMBCSGSGXXX' },\n { CODE: '8493', NAME: 'Svenska Handelsbanken AB (Publ)', BIC: 'HANDSGSGXXX' },\n { CODE: '7092', NAME: 'The Bank Of East Asia Limited', BIC: 'BEASSGSGXXX' },\n { CODE: '7232', NAME: 'The Hongkong And Shanghai Banking Corporation Limited', BIC: 'HSBCSGSGXXX' },\n { CODE: '7010', NAME: 'The Royal Bank Of Scotland PLC', BIC: 'ABNASGSGXXX' },\n { CODE: '9733', NAME: 'TRUST BANK SINGAPORE LIMITED', BIC: 'TRBUSGSGXXX' },\n { CODE: '7685', NAME: 'UBS AG', BIC: 'UBSWSGSGXXX' },\n { CODE: '7357', NAME: 'UCO Bank', BIC: 'UCBASGSGXXX' },\n { CODE: '7375', NAME: 'United Overseas Bank Limited', BIC: 'UOVBSGSGXXX' }]\n\nexport function MapBankNameToBankCode (srcBankName = '') {\n if (!srcBankName) return ''\n const foundBank = BankBicOptions.find(bank => bank.NAME === srcBankName)\n if (foundBank) {\n return foundBank.CODE\n }\n return srcBankName\n}\n","module.exports = [\n {\n encoding: \"UTF-EBCDIC\",\n regex: new RegExp(\"221 115 102 115\"),\n },\n {\n encoding: \"GB-18030\",\n regex: new RegExp(\"132 49 149 51\"),\n },\n {\n encoding: \"UTF-32LE\",\n regex: new RegExp(\"255 254 0 0\"),\n },\n {\n encoding: \"UTF-32BE\",\n regex: new RegExp(\"0 0 254 255\"),\n },\n {\n encoding: \"UTF-8\",\n regex: new RegExp(\"239 187 191\"),\n },\n {\n encoding: \"UTF-7\",\n regex: new RegExp(\"43 47 118\"),\n },\n {\n encoding: \"UTF-1\",\n regex: new RegExp(\"247 100 76\"),\n },\n {\n encoding: \"SCSU\",\n regex: new RegExp(\"14 254 255\"),\n },\n {\n encoding: \"BOCU-1\",\n regex: new RegExp(\"251 238 40\"),\n },\n {\n encoding: \"UTF-16BE\",\n regex: new RegExp(\"254 255\"),\n },\n {\n encoding: \"UTF-16LE\",\n regex: new RegExp(\"255 254\"),\n },\n];\n","import { ValidationMetadata } from '../metadata/ValidationMetadata';\n/**\n * Used to transform validation schemas to validation metadatas.\n */\nvar ValidationSchemaToMetadataTransformer = /** @class */ (function () {\n function ValidationSchemaToMetadataTransformer() {\n }\n ValidationSchemaToMetadataTransformer.prototype.transform = function (schema) {\n var metadatas = [];\n Object.keys(schema.properties).forEach(function (property) {\n schema.properties[property].forEach(function (validation) {\n var validationOptions = {\n message: validation.message,\n groups: validation.groups,\n always: validation.always,\n each: validation.each,\n };\n var args = {\n type: validation.type,\n target: schema.name,\n propertyName: property,\n constraints: validation.constraints,\n validationTypeOptions: validation.options,\n validationOptions: validationOptions,\n };\n metadatas.push(new ValidationMetadata(args));\n });\n });\n return metadatas;\n };\n return ValidationSchemaToMetadataTransformer;\n}());\nexport { ValidationSchemaToMetadataTransformer };\n//# sourceMappingURL=ValidationSchemaToMetadataTransformer.js.map","import { ValidationSchemaToMetadataTransformer } from '../validation-schema/ValidationSchemaToMetadataTransformer';\nimport { getGlobal } from '../utils';\n/**\n * Storage all metadatas.\n */\nvar MetadataStorage = /** @class */ (function () {\n function MetadataStorage() {\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n this.validationMetadatas = [];\n this.constraintMetadatas = [];\n }\n Object.defineProperty(MetadataStorage.prototype, \"hasValidationMetaData\", {\n get: function () {\n return !!this.validationMetadatas.length;\n },\n enumerable: false,\n configurable: true\n });\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n /**\n * Adds a new validation metadata.\n */\n MetadataStorage.prototype.addValidationSchema = function (schema) {\n var _this = this;\n var validationMetadatas = new ValidationSchemaToMetadataTransformer().transform(schema);\n validationMetadatas.forEach(function (validationMetadata) { return _this.addValidationMetadata(validationMetadata); });\n };\n /**\n * Adds a new validation metadata.\n */\n MetadataStorage.prototype.addValidationMetadata = function (metadata) {\n this.validationMetadatas.push(metadata);\n };\n /**\n * Adds a new constraint metadata.\n */\n MetadataStorage.prototype.addConstraintMetadata = function (metadata) {\n this.constraintMetadatas.push(metadata);\n };\n /**\n * Groups metadata by their property names.\n */\n MetadataStorage.prototype.groupByPropertyName = function (metadata) {\n var grouped = {};\n metadata.forEach(function (metadata) {\n if (!grouped[metadata.propertyName])\n grouped[metadata.propertyName] = [];\n grouped[metadata.propertyName].push(metadata);\n });\n return grouped;\n };\n /**\n * Gets all validation metadatas for the given object with the given groups.\n */\n MetadataStorage.prototype.getTargetValidationMetadatas = function (targetConstructor, targetSchema, always, strictGroups, groups) {\n var includeMetadataBecauseOfAlwaysOption = function (metadata) {\n // `metadata.always` overrides global default.\n if (typeof metadata.always !== 'undefined')\n return metadata.always;\n // `metadata.groups` overrides global default.\n if (metadata.groups && metadata.groups.length)\n return false;\n // Use global default.\n return always;\n };\n var excludeMetadataBecauseOfStrictGroupsOption = function (metadata) {\n if (strictGroups) {\n // Validation is not using groups.\n if (!groups || !groups.length) {\n // `metadata.groups` has at least one group.\n if (metadata.groups && metadata.groups.length)\n return true;\n }\n }\n return false;\n };\n // get directly related to a target metadatas\n var originalMetadatas = this.validationMetadatas.filter(function (metadata) {\n if (metadata.target !== targetConstructor && metadata.target !== targetSchema)\n return false;\n if (includeMetadataBecauseOfAlwaysOption(metadata))\n return true;\n if (excludeMetadataBecauseOfStrictGroupsOption(metadata))\n return false;\n if (groups && groups.length > 0)\n return metadata.groups && !!metadata.groups.find(function (group) { return groups.indexOf(group) !== -1; });\n return true;\n });\n // get metadatas for inherited classes\n var inheritedMetadatas = this.validationMetadatas.filter(function (metadata) {\n // if target is a string it's means we validate against a schema, and there is no inheritance support for schemas\n if (typeof metadata.target === 'string')\n return false;\n if (metadata.target === targetConstructor)\n return false;\n if (metadata.target instanceof Function && !(targetConstructor.prototype instanceof metadata.target))\n return false;\n if (includeMetadataBecauseOfAlwaysOption(metadata))\n return true;\n if (excludeMetadataBecauseOfStrictGroupsOption(metadata))\n return false;\n if (groups && groups.length > 0)\n return metadata.groups && !!metadata.groups.find(function (group) { return groups.indexOf(group) !== -1; });\n return true;\n });\n // filter out duplicate metadatas, prefer original metadatas instead of inherited metadatas\n var uniqueInheritedMetadatas = inheritedMetadatas.filter(function (inheritedMetadata) {\n return !originalMetadatas.find(function (originalMetadata) {\n return (originalMetadata.propertyName === inheritedMetadata.propertyName &&\n originalMetadata.type === inheritedMetadata.type);\n });\n });\n return originalMetadatas.concat(uniqueInheritedMetadatas);\n };\n /**\n * Gets all validator constraints for the given object.\n */\n MetadataStorage.prototype.getTargetValidatorConstraints = function (target) {\n return this.constraintMetadatas.filter(function (metadata) { return metadata.target === target; });\n };\n return MetadataStorage;\n}());\nexport { MetadataStorage };\n/**\n * Gets metadata storage.\n * Metadata storage follows the best practices and stores metadata in a global variable.\n */\nexport function getMetadataStorage() {\n var global = getGlobal();\n if (!global.classValidatorMetadataStorage) {\n global.classValidatorMetadataStorage = new MetadataStorage();\n }\n return global.classValidatorMetadataStorage;\n}\n//# sourceMappingURL=MetadataStorage.js.map","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar PROPER_ARRAY_VALUES_NAME = !!nativeTypedArrayIterator && nativeTypedArrayIterator.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME);\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","import { classToPlain } from 'class-transformer'\nimport { unparse, download } from 'papaparse'\n\nexport class CSVModelInterface {\n error = false\n filename = null\n staticTemplate: {downloadedFileName: string; fileType: string; templateCategory: string} = null\n static example () {\n const model = new this()\n const filename = model.filename || this.name\n const template = classToPlain(new this(), { strategy: 'excludeAll' })\n const csvData = unparse([template])\n const blob = new Blob([csvData], { type: 'text/csv' })\n download(blob, filename)\n }\n\n static usedStaticTemplate () {\n const model = new this()\n return model.staticTemplate\n }\n}\n","module.exports = (content) => {\n for (let b = 0; b < content.length; b++) {\n // If ? is encountered it's definitely not utf8!\n if (content[b] === \"�\") {\n return false;\n }\n }\n return true;\n}","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type ClientPolicyReportRequestDTO = {\n type: ClientPolicyReportRequestDTO.type;\n startDate?: number;\n endDate?: number;\n issuers?: Array;\n advisersList?: Array;\n nbrApplicationStatus?: string;\n dateFilteringSelection: ClientPolicyReportRequestDTO.dateFilteringSelection;\n fileFormatType?: any;\n}\n\nexport namespace ClientPolicyReportRequestDTO {\n\n export enum type {\n PRODUCTION_MTD_PERSONAL = 'production_mtd_personal',\n PRODUCTION_MTD_SUPERVISOR = 'production_mtd_supervisor',\n PRODUCTION_YTD_PERSONAL = 'production_ytd_personal',\n PRODUCTION_YTD_SUPERVISOR = 'production_ytd_supervisor',\n PRODUCTION_REPORT_CUSTOM_PERSONAL = 'production_report_custom_personal',\n PRODUCTION_REPORT_CUSTOM_SUPERVISOR = 'production_report_custom_supervisor',\n }\n\n export enum dateFilteringSelection {\n OPS_APPROVAL_DATE = 'opsApprovalDate',\n KYC_SUBMISSION_TIMESTAMP = 'kycSubmissionTimestamp',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type DownloadCsvDto = {\n company: string;\n user: string;\n dateType: string;\n from: number;\n to: number;\n status?: DownloadCsvDto.status;\n}\n\nexport namespace DownloadCsvDto {\n\n export enum status {\n PAID = 'paid',\n UNPAID = 'unpaid',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type ReportGeneratorDto = {\n report: number;\n option: any;\n from: number;\n to: number;\n status: ReportGeneratorDto.status;\n}\n\nexport namespace ReportGeneratorDto {\n\n export enum status {\n PAID = 'paid',\n UNPAID = 'unpaid',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type ReportLogDTO = {\n pky: number;\n ctm: number;\n utm: number;\n statementRunNumber: string;\n batch: string;\n runTimestamp: number;\n fromTimestamp: number;\n toTimestamp: number;\n status: ReportLogDTO.status;\n numberProcessed: number;\n}\n\nexport namespace ReportLogDTO {\n\n export enum status {\n INCOMPLETE = 'INCOMPLETE',\n COMPLETE = 'COMPLETE',\n ERROR = 'ERROR',\n '_0' = 0,\n '_1' = 1,\n '_2' = 2,\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type ScheduleTimeDto = {\n enable: boolean;\n minute: number;\n hideTask?: boolean;\n hour: number;\n frequency: ScheduleTimeDto.frequency;\n name: ScheduleTimeDto.name;\n email?: string;\n ccEmail?: string;\n}\n\nexport namespace ScheduleTimeDto {\n\n export enum frequency {\n WEEKLY = 'WEEKLY',\n BIWEEKLY = 'BIWEEKLY',\n MONTHLY = 'MONTHLY',\n DAILY = 'DAILY',\n WEEKDAYS = 'WEEKDAYS',\n '_0' = 0,\n '_1' = 1,\n '_2' = 2,\n '_3' = 3,\n '_4' = 4,\n }\n\n export enum name {\n COMMISSION_REPORT = 'COMMISSION_REPORT',\n ADVISER_NAME_SCREENING = 'ADVISER_NAME_SCREENING',\n CLIENT_NAME_SCREENING = 'CLIENT_NAME_SCREENING',\n CORPORATE_NAME_SCREENING = 'CORPORATE_NAME_SCREENING',\n PRESALES_CALLBACK = 'PRESALES_CALLBACK',\n MARKETING_CONSENT = 'MARKETING_CONSENT',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CommissionDTO } from '../models/CommissionDTO';\nimport type { CommissionRatesDTO } from '../models/CommissionRatesDTO';\nimport { request as __request } from '@openapi/request';\n\nexport class AccountStructureCommissionService {\n\n /**\n * @param memberId\n * @returns CommissionDTO Return commission\n * @throws ApiError\n */\n public static async getCommission(\n memberId: number,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/account-structure/commission/${memberId}`,\n });\n return result.body;\n }\n\n /**\n * @param accountOid\n * @returns CommissionRatesDTO\n * @throws ApiError\n */\n public static async getCommissionRates(\n accountOid: string,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/account-structure/commission/rates/${accountOid}`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any Create or update commission success\n * @throws ApiError\n */\n public static async editCommission(\n requestBody: CommissionDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/account-structure/commission`,\n body: requestBody,\n errors: {\n 400: `commission value not in correct range`,\n 404: `invalid member id`,\n 409: `commission value conflict with existing commission in hierarchy`,\n },\n });\n return result.body;\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddMemberDTO } from '../models/AddMemberDTO';\nimport type { PicodedAccountDTO } from '../models/PicodedAccountDTO';\nimport { request as __request } from '@openapi/request';\n\nexport class AccountStructureMemberService {\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async addMember(\n requestBody: AddMemberDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/account-structure/member`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param memberId\n * @returns any\n * @throws ApiError\n */\n public static async deleteMember(\n memberId: number,\n ): Promise {\n const result = await __request({\n method: 'DELETE',\n path: `/live/api/account-structure/member/${memberId}`,\n });\n return result.body;\n }\n\n /**\n * @param accountOid\n * @returns string\n * @throws ApiError\n */\n public static async findMemberInStructure(\n accountOid: string,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/account-structure/member/find/${accountOid}`,\n });\n return result.body;\n }\n\n /**\n * @returns PicodedAccountDTO\n * @throws ApiError\n */\n public static async listOfMemberInStructure(): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/account-structure/member/list`,\n });\n return result.body;\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { IntermediariesDTO } from '../models/IntermediariesDTO';\nimport { request as __request } from '@openapi/request';\n\nexport class CommissionIntermediariesService {\n\n /**\n * @param role\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async createNewIntermediaries(\n role: string,\n requestBody: Array,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/intermediaries/${role}`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param role\n * @returns any\n * @throws ApiError\n */\n public static async fetchIntermediaryList(\n role: string,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/intermediaries/${role}`,\n });\n return result.body;\n }\n\n /**\n * @param oid\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async updateIntermediary(\n oid: string,\n requestBody: IntermediariesDTO,\n ): Promise {\n const result = await __request({\n method: 'PUT',\n path: `/live/api/commission_records/intermediaries/${oid}`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param role\n * @returns any\n * @throws ApiError\n */\n public static async fetchPolicyList(\n role: string,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/intermediaries/intermediaries-policies-list/${role}`,\n });\n return result.body;\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AdHocDto } from '../models/AdHocDto';\nimport type { CommissionBatchDTO } from '../models/CommissionBatchDTO';\nimport type { CommissionData } from '../models/CommissionData';\nimport type { CommissionRecordDTO } from '../models/CommissionRecordDTO';\nimport type { CommissionStatementDTO } from '../models/CommissionStatementDTO';\nimport type { DownloadCsvDto } from '../models/DownloadCsvDto';\nimport type { IncomeDeductiblesDTO } from '../models/IncomeDeductiblesDTO';\nimport type { NewCommissionDataDTO } from '../models/NewCommissionDataDTO';\nimport type { NewIncomeDeductiblesDTO } from '../models/NewIncomeDeductiblesDTO';\nimport type { Object } from '../models/Object';\nimport type { ReportGeneratorDto } from '../models/ReportGeneratorDto';\nimport type { ReportLogDTO } from '../models/ReportLogDTO';\nimport type { ScheduleTimeDto } from '../models/ScheduleTimeDto';\nimport type { UpdateCommissionBatchDTO } from '../models/UpdateCommissionBatchDTO';\nimport type { ValidateTaxInvoiceDTO } from '../models/ValidateTaxInvoiceDTO';\nimport { request as __request } from '@openapi/request';\n\nexport class CommissionRecordsService {\n\n /**\n * @returns CommissionBatchDTO\n * @throws ApiError\n */\n public static async commissionRecords(): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/all`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async validateNewCommissionData(\n requestBody: Array,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/validate/new-commission-data`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async validateNewCommissionDataWithRemuneration(\n requestBody: NewCommissionDataDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/validate/new-commission-data-remuneration`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async importNewCommissionData(\n requestBody: NewCommissionDataDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/import/new-commission-data`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async importNewCommissionDataViaHierarchySetup(\n requestBody: NewCommissionDataDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/import/new-commission-data-hierarchy-setup`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param commissionOid\n * @returns any\n * @throws ApiError\n */\n public static async deleteCommissionRecords(\n commissionOid: string,\n ): Promise {\n const result = await __request({\n method: 'DELETE',\n path: `/live/api/commission_records/${commissionOid}`,\n });\n return result.body;\n }\n\n /**\n * @returns any\n * @throws ApiError\n */\n public static async getReport(): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/report`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async setScheduleJobTime(\n requestBody: ScheduleTimeDto,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/setScheduleJobTime`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async generateAdHocStatement(\n requestBody: AdHocDto,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/generateAdHocStatement`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @returns any\n * @throws ApiError\n */\n public static async getScheduleJobTime(): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/getScheduleJobTime`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async downloadCsv(\n requestBody: DownloadCsvDto,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/downloadCsv`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param oid\n * @returns any\n * @throws ApiError\n */\n public static async getCommissionBatchCsv(\n oid: string,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/commission-batch-csv/${oid}`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async reportGenerator(\n requestBody: ReportGeneratorDto,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/reportGenerator`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @returns CommissionStatementDTO\n * @throws ApiError\n */\n public static async reportList(): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/reportList/all`,\n });\n return result.body;\n }\n\n /**\n * @param userOid\n * @returns CommissionStatementDTO\n * @throws ApiError\n */\n public static async reportListForUser(\n userOid: string,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/reportList/${userOid}`,\n });\n return result.body;\n }\n\n /**\n * @param batchId\n * @returns CommissionStatementDTO\n * @throws ApiError\n */\n public static async getReportListByBatchId(\n batchId: number,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/statementList/${batchId}`,\n });\n return result.body;\n }\n\n /**\n * @param batchId\n * @param valueDate\n * @returns any\n * @throws ApiError\n */\n public static async getGiroReport(\n batchId: number,\n valueDate: number,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/giro-report`,\n query: {\n 'batchId': batchId,\n 'valueDate': valueDate,\n },\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async updatePublishedStatus(\n requestBody: Object,\n ): Promise {\n const result = await __request({\n method: 'PUT',\n path: `/live/api/commission_records/publishStatus`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @returns any\n * @throws ApiError\n */\n public static async listOfPrincipalsAndUsers(): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/listOfPrincipalsAndUsers`,\n });\n return result.body;\n }\n\n /**\n * @returns any\n * @throws ApiError\n */\n public static async getDeductiblesDescription(): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/deductibles/description`,\n });\n return result.body;\n }\n\n /**\n * @returns IncomeDeductiblesDTO\n * @throws ApiError\n */\n public static async allIncomeDeductibles(): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/deductibles/all`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async addDeductibles(\n requestBody: Array,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/deductibles`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async updateDeductibles(\n requestBody: IncomeDeductiblesDTO,\n ): Promise {\n const result = await __request({\n method: 'PUT',\n path: `/live/api/commission_records/deductibles`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param oid\n * @returns any\n * @throws ApiError\n */\n public static async deleteDeductibles(\n oid: string,\n ): Promise {\n const result = await __request({\n method: 'DELETE',\n path: `/live/api/commission_records/deductibles/${oid}`,\n });\n return result.body;\n }\n\n /**\n * @returns ReportLogDTO\n * @throws ApiError\n */\n public static async getReportLog(): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/report-log`,\n });\n return result.body;\n }\n\n /**\n * @param batchOid\n * @returns CommissionRecordDTO\n * @throws ApiError\n */\n public static async getCommissionRecordsByBatch(\n batchOid: string,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/batch/${batchOid}`,\n });\n return result.body;\n }\n\n /**\n * @param policyNumber\n * @returns CommissionRecordDTO\n * @throws ApiError\n */\n public static async getCommissionRecordsByPolicyNumber(\n policyNumber: string,\n ): Promise> {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/${policyNumber}/policy`,\n });\n return result.body;\n }\n\n /**\n * @param policyNumber\n * @returns any\n * @throws ApiError\n */\n public static async downloadPolicyCommissionRecordsCsv(\n policyNumber: string,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/commission_records/${policyNumber}/csv`,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async updateCommissionBatch(\n requestBody: UpdateCommissionBatchDTO,\n ): Promise {\n const result = await __request({\n method: 'PUT',\n path: `/live/api/commission_records/batch`,\n body: requestBody,\n });\n return result.body;\n }\n\n /**\n * @param requestBody\n * @returns any\n * @throws ApiError\n */\n public static async validateTaxInvoiceNo(\n requestBody: ValidateTaxInvoiceDTO,\n ): Promise {\n const result = await __request({\n method: 'POST',\n path: `/live/api/commission_records/validate-tax-invoice-no`,\n body: requestBody,\n });\n return result.body;\n }\n\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","/**\n * These are the default options used by any transformation operation.\n */\nexport var defaultOptions = {\n enableCircularCheck: false,\n enableImplicitConversion: false,\n excludeExtraneousValues: false,\n excludePrefixes: undefined,\n exposeDefaultValues: false,\n exposeUnsetFields: true,\n groups: undefined,\n ignoreDecorators: false,\n strategy: undefined,\n targetMaps: undefined,\n version: undefined,\n};\n//# sourceMappingURL=default-options.constant.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { TransformOperationExecutor } from './TransformOperationExecutor';\nimport { TransformationType } from './enums';\nimport { defaultOptions } from './constants/default-options.constant';\nvar ClassTransformer = /** @class */ (function () {\n function ClassTransformer() {\n }\n ClassTransformer.prototype.classToPlain = function (object, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.classToPlainFromExist = function (object, plainObject, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));\n return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.plainToClass = function (cls, plain, options) {\n var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, plain, cls, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.plainToClassFromExist = function (clsObject, plain, options) {\n var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.classToClass = function (object, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.classToClassFromExist = function (object, fromObject, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.serialize = function (object, options) {\n return JSON.stringify(this.classToPlain(object, options));\n };\n /**\n * Deserializes given JSON string to a object of the given class.\n */\n ClassTransformer.prototype.deserialize = function (cls, json, options) {\n var jsonObject = JSON.parse(json);\n return this.plainToClass(cls, jsonObject, options);\n };\n /**\n * Deserializes given JSON string to an array of objects of the given class.\n */\n ClassTransformer.prototype.deserializeArray = function (cls, json, options) {\n var jsonObject = JSON.parse(json);\n return this.plainToClass(cls, jsonObject, options);\n };\n return ClassTransformer;\n}());\nexport { ClassTransformer };\n//# sourceMappingURL=ClassTransformer.js.map","import { ClassTransformer } from './ClassTransformer';\nexport { ClassTransformer } from './ClassTransformer';\nexport * from './decorators';\nexport * from './interfaces';\nexport * from './enums';\nvar classTransformer = new ClassTransformer();\nexport function classToPlain(object, options) {\n return classTransformer.classToPlain(object, options);\n}\nexport function classToPlainFromExist(object, plainObject, options) {\n return classTransformer.classToPlainFromExist(object, plainObject, options);\n}\nexport function plainToClass(cls, plain, options) {\n return classTransformer.plainToClass(cls, plain, options);\n}\nexport function plainToClassFromExist(clsObject, plain, options) {\n return classTransformer.plainToClassFromExist(clsObject, plain, options);\n}\nexport function classToClass(object, options) {\n return classTransformer.classToClass(object, options);\n}\nexport function classToClassFromExist(object, fromObject, options) {\n return classTransformer.classToClassFromExist(object, fromObject, options);\n}\nexport function serialize(object, options) {\n return classTransformer.serialize(object, options);\n}\n/**\n * Deserializes given JSON string to a object of the given class.\n */\nexport function deserialize(cls, json, options) {\n return classTransformer.deserialize(cls, json, options);\n}\n/**\n * Deserializes given JSON string to an array of objects of the given class.\n */\nexport function deserializeArray(cls, json, options) {\n return classTransformer.deserializeArray(cls, json, options);\n}\n//# sourceMappingURL=index.js.map","const flag = \"gi\";\n\nconst sharedRegex = {\n czech: new RegExp(/jsem|jsi/, flag),\n hungarian: new RegExp(/\\snem\\s/, flag),\n slovak: new RegExp(/poriadku|myslím|\\ssme\\s/, flag),\n slovenian: new RegExp(/\\skaj\\s|lahko|zdaj/, flag),\n albanian: new RegExp(/nuk/, flag),\n english: new RegExp(/ the /, flag),\n french: new RegExp(/c'est/, flag),\n portuguese: new RegExp(/ não /, flag),\n spanish: new RegExp(/estaba|\\smuy\\s|siempre|ahora/, flag),\n german: new RegExp(/\\sdas\\s/, flag),\n italian: new RegExp(/\\sche\\s/, flag),\n danish: new RegExp(/hvad|noget/, flag),\n norwegian: new RegExp(/deg/, flag),\n swedish: new RegExp(/ jag /, flag),\n dutch: new RegExp(/ het /, flag),\n finnish: new RegExp(/hän/, flag),\n \"serbo-croatian\": new RegExp(/ sam | kako /, flag),\n estonian: new RegExp(/\\sseda\\s|\\spole\\s|midagi/, flag),\n icelandic: new RegExp(/Það/, flag),\n \"malay-indonesian\": new RegExp(/tidak/, flag),\n turkish: new RegExp(/ bir /, flag),\n lithuanian: new RegExp(/taip|\\stai\\s/, flag),\n bengali: new RegExp(/এটা/, flag),\n hindi: new RegExp(/हैं/, flag),\n urdu: new RegExp(/ایک/, flag),\n vietnamese: new RegExp(/ không /, flag)\n};\n\nconst sharedFrequency = {\n polish: { low: 0.004355, high: 0.005102 },\n czech: { low: 0.004433, high: 0.007324 },\n hungarian: { low: 0.004994, high: 0.005183 },\n romanian: { low: 0.003319, high: 0.004190 },\n slovak: { low: 0.001736, high: 0.002557 },\n slovenian: { low: 0.004111, high: 0.004959 },\n albanian: { low: 0.003773, high: 0.007313 },\n ukrainian: { low: 0.002933, high: 0.005389 },\n english: { low: 0.004679, high: 0.007580 },\n french: { low: 0.003016, high: 0.004825 },\n portuguese: { low: 0.003406, high: 0.005032 },\n spanish: { low: 0.002348, high: 0.002881 },\n german: { low: 0.004044, high: 0.004391 },\n italian: { low: 0.003889, high: 0.005175 },\n danish: { low: 0.003630, high: 0.004189 },\n norwegian: { low: 0.002410, high: 0.003918 },\n swedish: { low: 0.004916, high: 0.007221 },\n dutch: { low: 0.003501, high: 0.004150 },\n finnish: { low: 0.003308, high: 0.005135 },\n \"serbo-croatian\": { low: 0.002568, high: 0.005182 },\n estonian: { low: 0.002892, high: 0.003963 },\n icelandic: { low: 0.004366, high: 0.004366 },\n \"malay-indonesian\": { low: 0.002825, high: 0.003932 },\n greek: { low: 0.003440, high: 0.004862 },\n turkish: { low: 0.002915, high: 0.004588 },\n hebrew: { low: 0.003663, high: 0.004666 },\n lithuanian: { low: 0.003277, high: 0.003768 },\n bengali: { low: 0.003155, high: 0.005236 },\n hindi: { low: 0.004159, high: 0.006478 },\n urdu: { low: 0.004118, high: 0.005851 },\n vietnamese: { low: 0.003387, high: 0.005191 }\n};\n\nmodule.exports = [\n {\n name: \"polish\",\n count: 0,\n utfRegex: new RegExp(/się/, flag),\n isoRegex: new RegExp(/siê/, flag),\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.polish,\n isoFrequency: sharedFrequency.polish\n },\n {\n name: \"czech\",\n count: 0,\n utfRegex: sharedRegex.czech,\n isoRegex: sharedRegex.czech,\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.czech,\n isoFrequency: sharedFrequency.czech\n },\n {\n name: \"hungarian\",\n count: 0,\n utfRegex: sharedRegex.hungarian,\n isoRegex: sharedRegex.hungarian,\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.hungarian,\n isoFrequency: sharedFrequency.hungarian\n },\n {\n name: \"romanian\",\n count: 0,\n utfRegex: new RegExp(/sunt|eşti/, flag),\n isoRegex: new RegExp(/sunt|eºti/, flag),\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.romanian,\n isoFrequency: sharedFrequency.romanian\n },\n {\n name: \"slovak\",\n count: 0,\n utfRegex: sharedRegex.slovak,\n isoRegex: sharedRegex.slovak,\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.slovak,\n isoFrequency: sharedFrequency.slovak\n },\n {\n name: \"slovenian\",\n count: 0,\n utfRegex: sharedRegex.slovenian,\n isoRegex: sharedRegex.slovenian,\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.slovenian,\n isoFrequency: sharedFrequency.slovenian\n },\n {\n name: \"albanian\",\n count: 0,\n utfRegex: sharedRegex.albanian,\n isoRegex: sharedRegex.albanian,\n encoding: \"CP1250\",\n utfFrequency: sharedFrequency.albanian,\n isoFrequency: sharedFrequency.albanian\n },\n {\n name: \"russian\",\n count: 0,\n utfRegex: new RegExp(/что/, flag),\n isoRegex: new RegExp(/÷òî/, flag),\n encoding: \"CP1251\",\n utfFrequency: { low: 0.004965, high: 0.005341 },\n isoFrequency: { low: 0.003884, high: 0.003986 }\n },\n {\n name: \"ukrainian\",\n count: 0,\n utfRegex: new RegExp(/він|але/, flag),\n isoRegex: new RegExp(/â³í|àëå/, flag),\n encoding: \"CP1251\",\n utfFrequency: sharedFrequency.ukrainian,\n isoFrequency: sharedFrequency.ukrainian\n },\n {\n name: \"bulgarian\",\n count: 0,\n utfRegex: new RegExp(/това|какво/, flag),\n isoRegex: new RegExp(/òîâà|äîáðå|êaêâo/, flag),\n encoding: \"CP1251\",\n utfFrequency: { low: 0.005225, high: 0.005628 },\n isoFrequency: { low: 0.002767, high: 0.004951 }\n },\n {\n name: \"english\",\n count: 0,\n utfRegex: sharedRegex.english,\n isoRegex: sharedRegex.english,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.english,\n isoFrequency: sharedFrequency.english\n },\n {\n name: \"french\",\n count: 0,\n utfRegex: sharedRegex.french,\n isoRegex: sharedRegex.french,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.french,\n isoFrequency: sharedFrequency.french\n },\n {\n name: \"portuguese\",\n count: 0,\n utfRegex: sharedRegex.portuguese,\n isoRegex: sharedRegex.portuguese,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.portuguese,\n isoFrequency: sharedFrequency.portuguese\n },\n {\n name: \"spanish\",\n count: 0,\n utfRegex: sharedRegex.spanish,\n isoRegex: sharedRegex.spanish,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.spanish,\n isoFrequency: sharedFrequency.spanish\n },\n {\n name: \"german\",\n count: 0,\n utfRegex: sharedRegex.german,\n isoRegex: sharedRegex.german,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.german,\n isoFrequency: sharedFrequency.german\n },\n {\n name: \"italian\",\n count: 0,\n utfRegex: sharedRegex.italian,\n isoRegex: sharedRegex.italian,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.italian,\n isoFrequency: sharedFrequency.italian\n },\n {\n name: \"danish\",\n count: 0,\n utfRegex: sharedRegex.danish,\n isoRegex: sharedRegex.danish,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.danish,\n isoFrequency: sharedFrequency.danish\n },\n {\n name: \"norwegian\",\n count: 0,\n utfRegex: sharedRegex.norwegian,\n isoRegex: sharedRegex.norwegian,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.norwegian,\n isoFrequency: sharedFrequency.norwegian\n },\n {\n name: \"swedish\",\n count: 0,\n utfRegex: sharedRegex.swedish,\n isoRegex: sharedRegex.swedish,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.swedish,\n isoFrequency: sharedFrequency.swedish\n },\n {\n name: \"dutch\",\n count: 0,\n utfRegex: sharedRegex.dutch,\n isoRegex: sharedRegex.dutch,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.dutch,\n isoFrequency: sharedFrequency.dutch\n },\n {\n name: \"finnish\",\n count: 0,\n utfRegex: sharedRegex.finnish,\n isoRegex: sharedRegex.finnish,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.finnish,\n isoFrequency: sharedFrequency.finnish\n },\n {\n name: \"serbo-croatian\",\n count: 0,\n utfRegex: sharedRegex[\"serbo-croatian\"],\n isoRegex: sharedRegex[\"serbo-croatian\"],\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency[\"serbo-croatian\"],\n isoFrequency: sharedFrequency[\"serbo-croatian\"]\n },\n {\n name: \"estonian\",\n count: 0,\n utfRegex: sharedRegex.estonian,\n isoRegex: sharedRegex.estonian,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.estonian,\n isoFrequency: sharedFrequency.estonian\n },\n {\n name: \"icelandic\",\n count: 0,\n utfRegex: sharedRegex.icelandic,\n isoRegex: sharedRegex.icelandic,\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency.icelandic,\n isoFrequency: sharedFrequency.icelandic\n },\n {\n name: \"malay-indonesian\",\n count: 0,\n utfRegex: sharedRegex[\"malay-indonesian\"],\n isoRegex: sharedRegex[\"malay-indonesian\"],\n encoding: \"CP1252\",\n utfFrequency: sharedFrequency[\"malay-indonesian\"],\n isoFrequency: sharedFrequency[\"malay-indonesian\"]\n },\n {\n name: \"greek\",\n count: 0,\n utfRegex: new RegExp(/είναι/, flag),\n isoRegex: new RegExp(/åßíáé/, flag),\n encoding: \"CP1253\",\n utfFrequency: sharedFrequency.greek,\n isoFrequency: sharedFrequency.greek\n },\n {\n name: \"turkish\",\n count: 0,\n utfRegex: sharedRegex.turkish,\n isoRegex: sharedRegex.turkish,\n encoding: \"CP1254\",\n utfFrequency: sharedFrequency.turkish,\n isoFrequency: sharedFrequency.turkish\n },\n {\n name: \"hebrew\",\n count: 0,\n utfRegex: new RegExp(/אתה/, flag),\n isoRegex: new RegExp(/àúä/, flag),\n encoding: \"CP1255\",\n utfFrequency: sharedFrequency.hebrew,\n isoFrequency: sharedFrequency.hebrew\n },\n {\n name: \"arabic\",\n count: 0,\n utfRegex: new RegExp(/هذا/, flag),\n isoRegex: new RegExp(/åðç/, flag),\n encoding: \"CP1256\",\n utfFrequency: { low: 0.003522, high: 0.004348 },\n isoFrequency: { low: 0.003773, high: 0.005559 }\n },\n {\n name: \"farsi-persian\",\n count: 0,\n utfRegex: new RegExp(/اون/, flag),\n isoRegex: new RegExp(/çíä/, flag),\n encoding: \"CP1256\",\n utfFrequency: { low: 0.002761, high: 0.004856 },\n isoFrequency: { low: 0.003010, high: 0.006646 }\n },\n {\n name: \"lithuanian\",\n count: 0,\n utfRegex: sharedRegex.lithuanian,\n isoRegex: sharedRegex.lithuanian,\n encoding: \"CP1257\",\n utfFrequency: sharedFrequency.lithuanian,\n isoFrequency: sharedFrequency.lithuanian\n },\n {\n name: \"chinese-simplified\",\n count: 0,\n utfRegex: new RegExp(/么/, flag),\n isoRegex: new RegExp(/´ó|¶¯|Å®/, flag),\n encoding: \"GB18030\",\n utfFrequency: { low: 0.009567, high: 0.011502 },\n isoFrequency: { low: 0.003137, high: 0.005009 }\n },\n {\n name: \"chinese-traditional\",\n count: 0,\n utfRegex: new RegExp(/們/, flag),\n isoRegex: new RegExp(/¦b/, flag),\n encoding: \"BIG5\",\n utfFrequency: { low: 0.012484, high: 0.014964 },\n isoFrequency: { low: 0.005063, high: 0.005822 }\n },\n {\n name: \"japanese\",\n count: 0,\n utfRegex: new RegExp(/ど/, flag),\n isoRegex: new RegExp(/‚»|‚Á‚Ä/, flag),\n encoding: \"Shift-JIS\",\n utfFrequency: { low: 0.004257, high: 0.006585 },\n isoFrequency: { low: 0.004286, high: 0.004653 }\n },\n {\n name: \"korean\",\n count: 0,\n utfRegex: new RegExp(/도/, flag),\n isoRegex: new RegExp(/àö¾î|å¾ß|¡¼­/, flag),\n encoding: \"EUC-KR\",\n utfFrequency: { low: 0.010910, high: 0.013670 },\n isoFrequency: { low: 0.004118, high: 0.004961 }\n },\n {\n name: \"thai\",\n count: 0,\n utfRegex: new RegExp(/แฮร์รี่|พอตเตอร์/, flag),\n isoRegex: new RegExp(/áîãìãõè|¾íµàµíãì­/, flag),\n encoding: \"TIS-620\",\n utfFrequency: { low: 0.003194, high: 0.003468 },\n isoFrequency: { low: 0.002091, high: 0.002303 }\n },\n // The following languages don't seem to have their own encoding\n // Subtitle files in these languages seem to almost exclusively use UTF encoding.\n {\n name: \"bengali\",\n count: 0,\n utfRegex: sharedRegex.bengali,\n isoRegex: sharedRegex.bengali,\n utfFrequency: sharedFrequency.bengali,\n isoFrequency: sharedFrequency.bengali\n },\n {\n name: \"hindi\",\n count: 0,\n utfRegex: sharedRegex.hindi,\n isoRegex: sharedRegex.hindi,\n utfFrequency: sharedFrequency.hindi,\n isoFrequency: sharedFrequency.hindi\n },\n {\n name: \"urdu\",\n count: 0,\n utfRegex: sharedRegex.urdu,\n isoRegex: sharedRegex.urdu,\n utfFrequency: sharedFrequency.urdu,\n isoFrequency: sharedFrequency.urdu\n },\n {\n name: \"vietnamese\",\n count: 0,\n utfRegex: sharedRegex.vietnamese,\n isoRegex: sharedRegex.vietnamese,\n utfFrequency: sharedFrequency.vietnamese,\n isoFrequency: sharedFrequency.vietnamese\n },\n];","export function isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\n//# sourceMappingURL=is-promise.util.js.map","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","/**\n * Validation types.\n */\nvar ValidationTypes = /** @class */ (function () {\n function ValidationTypes() {\n }\n /**\n * Checks if validation type is valid.\n */\n ValidationTypes.isValid = function (type) {\n var _this = this;\n return (type !== 'isValid' &&\n type !== 'getMessage' &&\n Object.keys(this)\n .map(function (key) { return _this[key]; })\n .indexOf(type) !== -1);\n };\n /* system */\n ValidationTypes.CUSTOM_VALIDATION = 'customValidation'; // done\n ValidationTypes.NESTED_VALIDATION = 'nestedValidation'; // done\n ValidationTypes.PROMISE_VALIDATION = 'promiseValidation'; // done\n ValidationTypes.CONDITIONAL_VALIDATION = 'conditionalValidation'; // done\n ValidationTypes.WHITELIST = 'whitelistValidation'; // done\n ValidationTypes.IS_DEFINED = 'isDefined'; // done\n return ValidationTypes;\n}());\nexport { ValidationTypes };\n//# sourceMappingURL=ValidationTypes.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","import { TransformationType } from './enums';\n/**\n * Storage all library metadata.\n */\nvar MetadataStorage = /** @class */ (function () {\n function MetadataStorage() {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n this._typeMetadatas = new Map();\n this._transformMetadatas = new Map();\n this._exposeMetadatas = new Map();\n this._excludeMetadatas = new Map();\n this._ancestorsMap = new Map();\n }\n // -------------------------------------------------------------------------\n // Adder Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.addTypeMetadata = function (metadata) {\n if (!this._typeMetadatas.has(metadata.target)) {\n this._typeMetadatas.set(metadata.target, new Map());\n }\n this._typeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n MetadataStorage.prototype.addTransformMetadata = function (metadata) {\n if (!this._transformMetadatas.has(metadata.target)) {\n this._transformMetadatas.set(metadata.target, new Map());\n }\n if (!this._transformMetadatas.get(metadata.target).has(metadata.propertyName)) {\n this._transformMetadatas.get(metadata.target).set(metadata.propertyName, []);\n }\n this._transformMetadatas.get(metadata.target).get(metadata.propertyName).push(metadata);\n };\n MetadataStorage.prototype.addExposeMetadata = function (metadata) {\n if (!this._exposeMetadatas.has(metadata.target)) {\n this._exposeMetadatas.set(metadata.target, new Map());\n }\n this._exposeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n MetadataStorage.prototype.addExcludeMetadata = function (metadata) {\n if (!this._excludeMetadatas.has(metadata.target)) {\n this._excludeMetadatas.set(metadata.target, new Map());\n }\n this._excludeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.findTransformMetadatas = function (target, propertyName, transformationType) {\n return this.findMetadatas(this._transformMetadatas, target, propertyName).filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n });\n };\n MetadataStorage.prototype.findExcludeMetadata = function (target, propertyName) {\n return this.findMetadata(this._excludeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.findExposeMetadata = function (target, propertyName) {\n return this.findMetadata(this._exposeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.findExposeMetadataByCustomName = function (target, name) {\n return this.getExposedMetadatas(target).find(function (metadata) {\n return metadata.options && metadata.options.name === name;\n });\n };\n MetadataStorage.prototype.findTypeMetadata = function (target, propertyName) {\n return this.findMetadata(this._typeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.getStrategy = function (target) {\n var excludeMap = this._excludeMetadatas.get(target);\n var exclude = excludeMap && excludeMap.get(undefined);\n var exposeMap = this._exposeMetadatas.get(target);\n var expose = exposeMap && exposeMap.get(undefined);\n if ((exclude && expose) || (!exclude && !expose))\n return 'none';\n return exclude ? 'excludeAll' : 'exposeAll';\n };\n MetadataStorage.prototype.getExposedMetadatas = function (target) {\n return this.getMetadata(this._exposeMetadatas, target);\n };\n MetadataStorage.prototype.getExcludedMetadatas = function (target) {\n return this.getMetadata(this._excludeMetadatas, target);\n };\n MetadataStorage.prototype.getExposedProperties = function (target, transformationType) {\n return this.getExposedMetadatas(target)\n .filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n })\n .map(function (metadata) { return metadata.propertyName; });\n };\n MetadataStorage.prototype.getExcludedProperties = function (target, transformationType) {\n return this.getExcludedMetadatas(target)\n .filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n })\n .map(function (metadata) { return metadata.propertyName; });\n };\n MetadataStorage.prototype.clear = function () {\n this._typeMetadatas.clear();\n this._exposeMetadatas.clear();\n this._excludeMetadatas.clear();\n this._ancestorsMap.clear();\n };\n // -------------------------------------------------------------------------\n // Private Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.getMetadata = function (metadatas, target) {\n var metadataFromTargetMap = metadatas.get(target);\n var metadataFromTarget;\n if (metadataFromTargetMap) {\n metadataFromTarget = Array.from(metadataFromTargetMap.values()).filter(function (meta) { return meta.propertyName !== undefined; });\n }\n var metadataFromAncestors = [];\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n var metadataFromAncestor = Array.from(ancestorMetadataMap.values()).filter(function (meta) { return meta.propertyName !== undefined; });\n metadataFromAncestors.push.apply(metadataFromAncestors, metadataFromAncestor);\n }\n }\n return metadataFromAncestors.concat(metadataFromTarget || []);\n };\n MetadataStorage.prototype.findMetadata = function (metadatas, target, propertyName) {\n var metadataFromTargetMap = metadatas.get(target);\n if (metadataFromTargetMap) {\n var metadataFromTarget = metadataFromTargetMap.get(propertyName);\n if (metadataFromTarget) {\n return metadataFromTarget;\n }\n }\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n var ancestorResult = ancestorMetadataMap.get(propertyName);\n if (ancestorResult) {\n return ancestorResult;\n }\n }\n }\n return undefined;\n };\n MetadataStorage.prototype.findMetadatas = function (metadatas, target, propertyName) {\n var metadataFromTargetMap = metadatas.get(target);\n var metadataFromTarget;\n if (metadataFromTargetMap) {\n metadataFromTarget = metadataFromTargetMap.get(propertyName);\n }\n var metadataFromAncestorsTarget = [];\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n if (ancestorMetadataMap.has(propertyName)) {\n metadataFromAncestorsTarget.push.apply(metadataFromAncestorsTarget, ancestorMetadataMap.get(propertyName));\n }\n }\n }\n return metadataFromAncestorsTarget\n .slice()\n .reverse()\n .concat((metadataFromTarget || []).slice().reverse());\n };\n MetadataStorage.prototype.getAncestors = function (target) {\n if (!target)\n return [];\n if (!this._ancestorsMap.has(target)) {\n var ancestors = [];\n for (var baseClass = Object.getPrototypeOf(target.prototype.constructor); typeof baseClass.prototype !== 'undefined'; baseClass = Object.getPrototypeOf(baseClass.prototype.constructor)) {\n ancestors.push(baseClass);\n }\n this._ancestorsMap.set(target, ancestors);\n }\n return this._ancestorsMap.get(target);\n };\n return MetadataStorage;\n}());\nexport { MetadataStorage };\n//# sourceMappingURL=MetadataStorage.js.map","import { MetadataStorage } from './MetadataStorage';\n/**\n * Default metadata storage is used as singleton and can be used to storage all metadatas.\n */\nexport var defaultMetadataStorage = new MetadataStorage();\n//# sourceMappingURL=storage.js.map","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","module.exports = (data, fileInfo) => {\n const charRegex = new RegExp(\n /\\d|\\n|\\s|\\-|\\.|\\,|\\:|\\;|\\?|\\!|\\<|\\>|\\[|\\]|\\{|\\}|\\&|\\=|\\|/,\n \"g\"\n );\n const totalCharacters = data.content.replace(charRegex, \"\").length;\n const langArr = data.languageArr;\n const pos = data.pos;\n\n const secondLanguage = langArr.reduce((acc, val) => {\n if (acc.name === fileInfo.language) return val;\n if (val.name === fileInfo.language) return acc;\n\n return acc.count >= val.count ? acc : val;\n });\n\n const languageRatio =\n langArr[pos].count / (secondLanguage.count + langArr[pos].count);\n const characterWordRatio = langArr[pos].count / totalCharacters;\n\n let lowerLimit = null;\n let upperLimit = null;\n const multiplier = 0.8;\n\n if (fileInfo.encoding === \"UTF-8\" || fileInfo.encoding === \"UTF-16LE\") {\n lowerLimit = langArr[pos].utfFrequency\n ? langArr[pos].utfFrequency.low * multiplier\n : null;\n upperLimit = langArr[pos].utfFrequency\n ? (langArr[pos].utfFrequency.low + langArr[pos].utfFrequency.high) / 2\n : null;\n } else {\n lowerLimit = langArr[pos].isoFrequency\n ? langArr[pos].isoFrequency.low * multiplier\n : null;\n upperLimit = langArr[pos].isoFrequency\n ? (langArr[pos].isoFrequency.low + langArr[pos].isoFrequency.high) / 2\n : null;\n }\n\n let confidenceScore;\n\n if (!lowerLimit || !upperLimit) {\n confidenceScore = null;\n } else if (characterWordRatio >= upperLimit) {\n confidenceScore = 1;\n } else if (characterWordRatio > lowerLimit) {\n const range = upperLimit - lowerLimit;\n const surplus = characterWordRatio - lowerLimit;\n const confidenceRaisePercentage = surplus / range;\n const confidenceRaise = (1 - languageRatio) * confidenceRaisePercentage;\n confidenceScore = Number((languageRatio + confidenceRaise).toFixed(2));\n } else {\n confidenceScore = Number(\n (languageRatio * (characterWordRatio / lowerLimit)).toFixed(2)\n );\n }\n\n return confidenceScore;\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","import { getFromContainer } from '../container';\n/**\n * This metadata interface contains information for custom validators.\n */\nvar ConstraintMetadata = /** @class */ (function () {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n function ConstraintMetadata(target, name, async) {\n if (async === void 0) { async = false; }\n this.target = target;\n this.name = name;\n this.async = async;\n }\n Object.defineProperty(ConstraintMetadata.prototype, \"instance\", {\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n /**\n * Instance of the target custom validation class which performs validation.\n */\n get: function () {\n return getFromContainer(this.target);\n },\n enumerable: false,\n configurable: true\n });\n return ConstraintMetadata;\n}());\nexport { ConstraintMetadata };\n//# sourceMappingURL=ConstraintMetadata.js.map","import { ConstraintMetadata } from './metadata/ConstraintMetadata';\nimport { ValidationMetadata } from './metadata/ValidationMetadata';\nimport { ValidationTypes } from './validation/ValidationTypes';\nimport { getFromContainer } from './container';\nimport { MetadataStorage, getMetadataStorage } from './metadata/MetadataStorage';\n/**\n * Registers a custom validation decorator.\n */\nexport function registerDecorator(options) {\n var constraintCls;\n if (options.validator instanceof Function) {\n constraintCls = options.validator;\n var constraintClasses = getFromContainer(MetadataStorage).getTargetValidatorConstraints(options.validator);\n if (constraintClasses.length > 1) {\n throw \"More than one implementation of ValidatorConstraintInterface found for validator on: \".concat(options.target.name, \":\").concat(options.propertyName);\n }\n }\n else {\n var validator_1 = options.validator;\n constraintCls = /** @class */ (function () {\n function CustomConstraint() {\n }\n CustomConstraint.prototype.validate = function (value, validationArguments) {\n return validator_1.validate(value, validationArguments);\n };\n CustomConstraint.prototype.defaultMessage = function (validationArguments) {\n if (validator_1.defaultMessage) {\n return validator_1.defaultMessage(validationArguments);\n }\n return '';\n };\n return CustomConstraint;\n }());\n getMetadataStorage().addConstraintMetadata(new ConstraintMetadata(constraintCls, options.name, options.async));\n }\n var validationMetadataArgs = {\n type: options.name && ValidationTypes.isValid(options.name) ? options.name : ValidationTypes.CUSTOM_VALIDATION,\n target: options.target,\n propertyName: options.propertyName,\n validationOptions: options.options,\n constraintCls: constraintCls,\n constraints: options.constraints,\n };\n getMetadataStorage().addValidationMetadata(new ValidationMetadata(validationMetadataArgs));\n}\n//# sourceMappingURL=register-decorator.js.map","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSVImport.vue?vue&type=style&index=0&id=75e7f848&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"csv-import\"},[_c('div',{staticClass:\"tab-header\"},[_c('div',{staticClass:\"btn\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.downloadTemplate}},[_vm._v(\"Download Template\")]),_c('div',{staticClass:\"above-table-btn\"},[(_vm.canImport)?_c('button',{staticClass:\"btn-default\",staticStyle:{\"margin-right\":\"10px\"},attrs:{\"disabled\":_vm.isImporting},on:{\"click\":_vm.importCsv}},[_vm._v(\"Import CSV\")]):_vm._e(),_c('div',{staticClass:\"mass-import-btn\"},[_c('input',{ref:\"csvFile\",staticStyle:{\"width\":\"95px\"},attrs:{\"type\":\"file\",\"accept\":\".csv\"},on:{\"change\":function($event){return _vm.fileChanges($event.target.files)}}}),_c('p',[_vm._v(_vm._s(_vm.selectedFile || 'No file selected'))])])])]),_c('div',{staticClass:\"search-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.txtSearchTop),expression:\"txtSearchTop\"}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"readonly\":_vm.loading},domProps:{\"value\":(_vm.txtSearchTop)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchTop=$event.target.value}}})])]),_c('AppDatatable',{attrs:{\"loading\":_vm.loading,\"columns\":_vm.tableColumn,\"data\":_vm.tableRow,\"sort\":{prop: 'Row', order: 'ascending'},\"search\":_vm.txtSearchTop}}),(_vm.csvErrorModal)?_c('AppDialog',{attrs:{\"size\":'small',\"hideFooter\":true},on:{\"close\":function($event){_vm.csvErrorModal = false}}},[(_vm.successfulImportRows)?_c('template',{slot:\"header\"},[_vm._v(\"CSV Import Result\")]):_c('template',{slot:\"header\"},[_vm._v(\"List of CSV Errors\")]),(_vm.successfulImportRows)?_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"body-header\"},[_vm._v(\"List of CSV Successful Imports \"+_vm._s(_vm.successfulRows.length)+\" / \"+_vm._s(_vm.imported.length))]),_c('ul',{staticClass:\"error-message\"},_vm._l((_vm.successfulRows),function(successRow,i){return _c('li',{key:i},[_vm._v(_vm._s(successRow))])}),0),_c('div',{staticClass:\"body-header\"},[_vm._v(\"List of CSV Errors\")]),_c('ul',{staticClass:\"error-message\"},_vm._l((_vm.errors),function(error,i){return _c('li',{key:i},[_vm._v(_vm._s(error))])}),0)]):_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('ul',{staticClass:\"error-message\"},_vm._l((_vm.errors),function(error,i){return _c('li',{key:i},[_vm._v(_vm._s(error))])}),0)])],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { classToPlain, plainToClass } from 'class-transformer'\nimport { validateOrReject, ValidationError } from 'class-validator'\nimport Papa from 'papaparse'\nimport { CSVModelInterface } from './CSVModel.interface'\nimport languageEncoding from 'detect-file-encoding-and-language'\n\nfunction checkColumns (Class: new () => T, sampleItem: any) {\n const templateHeader = Object.keys(classToPlain(new Class(), {\n strategy: 'excludeAll',\n excludeExtraneousValues: true,\n enableImplicitConversion: true,\n exposeDefaultValues: false\n }))\n\n const errors = []\n for (const header of templateHeader) {\n if (!Object.keys(sampleItem).includes(header)) {\n errors.push(`'${header}' column is missing from the CSV`)\n }\n }\n\n if (errors.length > 0) throw new Error(errors.join('\\n'))\n}\n\nfunction checkCSV (Class: new () => T, sampleItem: any) {\n const templateHeader = Object.keys(classToPlain(new Class(), {\n strategy: 'excludeAll',\n excludeExtraneousValues: true,\n enableImplicitConversion: true,\n exposeDefaultValues: false\n }))\n\n const sampleHeader = Object.keys(sampleItem)\n\n const missingColumns = []\n\n templateHeader.forEach(header => {\n if (!sampleHeader.includes(header)) {\n missingColumns.push(header)\n }\n })\n\n const errors: string[] = []\n\n missingColumns.forEach(col => {\n errors.push(`Column '${col}' is missing`)\n })\n\n return errors\n}\n\nexport async function convertPlainToClass (Class: new () => T, plain: any[]): Promise<{ success: boolean; items: T[]; errors: string[] }> {\n const csvColumnErrors = checkCSV(Class, plain[0])\n if (csvColumnErrors.length > 0) {\n return { success: false, items: [], errors: csvColumnErrors }\n }\n\n const items: T[] = plainToClass(Class, plain, {\n strategy: 'excludeAll',\n excludeExtraneousValues: true,\n enableImplicitConversion: true,\n exposeDefaultValues: false\n })\n\n checkColumns(Class, plain[0])\n\n let success = true\n const errors = []\n for (let i = 1; i <= items.length; i++) {\n try {\n await validateOrReject(items[i - 1] as any)\n } catch (error) {\n if (success) success = !success\n const err: ValidationError = error[0]\n const constraintError = Object.values(err.constraints)\n // eslint-disable-next-line dot-notation\n items[i - 1].error = true\n errors.push(`${constraintError} in row ${i}`)\n }\n }\n\n return { success, items, errors }\n}\n\nexport async function csvParser (Class: new () => T, csv: any): Promise<{ success: boolean; items: T[]; errors: string[] }> {\n if (!csv) throw new Error('CSV is not found')\n\n const fileInfo = await languageEncoding(csv)\n const encoding = (fileInfo.encoding && fileInfo.confidence.encoding > 0.5) ? fileInfo.encoding : 'UTF-8' // set default encoding to UTF-8\n\n const plain: Record[] = await new Promise((resolve) => {\n Papa.parse(csv, {\n header: true,\n skipEmptyLines: true,\n encoding, // added encoding special characters to fix the issue with the csv file\n complete: (res) => {\n resolve(res.data)\n }\n })\n })\n\n // Clean up header, remove any space at the beginning or end\n const headers = Object.keys(plain[0])\n let cleanedHeadersCount = 0\n const cleanedHeaders = {}\n headers.forEach(header => {\n const cleaned = header.trim()\n if (cleaned !== header) cleanedHeadersCount += 1\n cleanedHeaders[header] = cleaned\n })\n\n if (cleanedHeadersCount > 0) {\n plain.forEach(row => {\n Object.keys(cleanedHeaders).forEach(originalHeader => {\n const cleanedHeader = cleanedHeaders[originalHeader]\n row[cleanedHeader] = row[originalHeader]\n })\n })\n }\n\n return await convertPlainToClass(Class, plain)\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { request as __request } from '@openapi/request';\n\nexport class TemplateDownloadService {\n\n /**\n * @param templateType\n * @returns any\n * @throws ApiError\n */\n public static async downloadTemplate(\n templateType: string,\n ): Promise {\n const result = await __request({\n method: 'GET',\n path: `/live/api/template-download/${templateType}`,\n });\n return result.body;\n }\n\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { classToPlain } from 'class-transformer'\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { CSVModelInterface } from './CSVModel.interface'\nimport { csvParser } from './CSVParser'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport { TemplateDownloadService } from '@core/pages/ifamFileSystem/api/services/TemplateDownloadService'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { inject } from 'inversify-props'\nimport { base64ToBlob } from '@core/tools/documents'\n\n@Component({\n components: {\n AppDatatable,\n AppDialog\n }\n})\nexport default class CSVImport extends Vue {\n @Prop({ required: true, type: Function })\n private readonly CSVModel!: any\n\n @Prop({ required: true })\n private readonly isImporting!: boolean\n\n @Prop()\n private readonly validationErrors: Array\n\n @Prop()\n private readonly successfulImportRows: Array\n\n @Prop({ default: false })\n private readonly resetCSV: boolean\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n private imported: CSVModelInterface[] = []\n private selectedFile = ''\n private loading = false\n private txtSearchTop = ''\n private csvErrorModal = false\n private csvErrors: string[] = []\n\n get canImport (): boolean {\n if (!this.imported.length) {\n return false\n }\n\n return !this.tableRow.some(e => e.error)\n }\n\n get errors (): string[] {\n const validationErrors =\n this.validationErrors && this.validationErrors.length > 0\n ? this.validationErrors?.map((errors, i) => errors?.filter(error => !!error)?.map(error => `${error} at Row ${i + 1}`))\n : []\n return [...validationErrors.flat().filter(val => !!val), ...this.csvErrors]\n }\n\n get successfulRows (): string[] {\n return this.successfulImportRows?.map((row, i) => {\n return row !== null ? `Imported Row ${i + 1}` : null\n }).filter(val => !!val)\n }\n\n async downloadTemplate () {\n const useStaticTemplate = this.CSVModel.usedStaticTemplate()\n if (useStaticTemplate) {\n if (!useStaticTemplate.templateCategory) {\n await this.uiService.alert.show({\n type: 'warning',\n message: 'The template category is empty.'\n })\n return\n }\n const data = await TemplateDownloadService.downloadTemplate(useStaticTemplate.templateCategory)\n if (data.error) {\n await this.uiService.alert.show({\n type: 'warning',\n message: data.error\n })\n return\n }\n // if the template is a static file\n const link = document.createElement('a')\n link.href = base64ToBlob(data.fileData, useStaticTemplate.fileType)\n link.setAttribute('download', useStaticTemplate.downloadedFileName)\n link.style.display = 'none'\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n } else {\n this.CSVModel.example()\n }\n }\n\n get tableColumn () {\n const obj = new this.CSVModel()\n const plain = classToPlain(obj, {\n strategy: 'excludeAll',\n excludeExtraneousValues: true,\n enableImplicitConversion: true\n })\n\n return ['Row', ...Object.keys(plain)]?.map(e => {\n return {\n label: e,\n field: e\n }\n })\n }\n\n get tableRow () {\n if (!this.imported || this.imported.length <= 0) {\n return []\n }\n return this.imported?.map((e, i) => {\n const obj = classToPlain((e), {\n strategy: 'excludeAll',\n excludeExtraneousValues: true,\n enableImplicitConversion: true\n })\n\n const validationErrors = this.validationErrors && this.validationErrors.length > 0\n const hasValidationErrors = (validationErrors && this.validationErrors[i]?.length > 0) || false\n\n return {\n Row: i + 1,\n ...obj,\n error: (e.error || hasValidationErrors)\n }\n })\n }\n\n async fileChanges (files: Array) {\n try {\n const file = files[0]\n this.selectedFile = file.name\n const { success, items, errors } = await csvParser(this.CSVModel, file)\n this.imported = items\n if (!success) {\n throw errors\n }\n } catch (error) {\n this.csvErrors = error\n this.csvErrorModal = true\n }\n const csvFile = this.$refs.csvFile as any\n csvFile.value = ''\n this.$emit('csvUpload', this.imported)\n }\n\n importCsv () {\n this.$emit('importCsv', this.imported)\n }\n\n mounted () {\n this.uiService = this.sharedVariable.uiService\n }\n\n @Watch('resetCSV')\n onResetCSV () {\n const csvFile = this.$refs.csvFile as any\n csvFile.value = ''\n this.imported = []\n }\n\n @Watch('validationErrors')\n errorsOnChange () {\n if (this.validationErrors && this.validationErrors.some(e => e && e.length > 0)) {\n this.csvErrorModal = true\n }\n }\n\n @Watch('csvErrorModal')\n csvErrorModalOnChange (val: boolean) {\n if (!val) {\n this.csvErrors = []\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSVImport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CSVImport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CSVImport.vue?vue&type=template&id=75e7f848&scoped=true&\"\nimport script from \"./CSVImport.vue?vue&type=script&lang=ts&\"\nexport * from \"./CSVImport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CSVImport.vue?vue&type=style&index=0&id=75e7f848&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"75e7f848\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datatable\",class:{'active': _vm.show, 'inactive': !_vm.show}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"appdatatable\",attrs:{\"data\":_vm.currentPageData,\"stripe\":_vm.hasNoError,\"size\":\"mini\",\"row-key\":_vm.selectionKey,\"row-class-name\":_vm.tableRowClassName,\"header-cell-class-name\":'cell-header'},on:{\"sort-change\":_vm.sortChange,\"row-click\":_vm.rowClick,\"selection-change\":_vm.handleSelection}},[(_vm.selectionKey)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true}}):_vm._e(),_vm._l((_vm.columns),function(column){return [(column.options)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(scope.row, column.field, $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.handleCustomEvent(scope.row)}]}},_vm._l((column.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)]}}],null,true)}):(column.type)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(column.type==='number')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"number\":true,\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){_vm.$set(scope.row, column.field, _vm._n($event.target.value))},function($event){return _vm.handleCustomEvent(scope.row)}],\"blur\":function($event){return _vm.$forceUpdate()}}})]:(column.type === 'decimal-number')?[_c('AppDecimalNumber',{attrs:{\"decimal\":column.decimal,\"inputValue\":scope.row[column.field],\"disabled\":column.disabled}})]:(column.type === 'currency')?[_c('label',[_vm._v(_vm._s(_vm.convertToCurrency(scope.row[column.field])))])]:(column.type === 'action')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,on:{\"click\":function($event){return _vm.$emit(button, scope.row)}}},[_vm._v(_vm._s(button))])})}):(column.type === 'actionWithFeatures')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,attrs:{\"disabled\":button.shouldDisabled},on:{\"click\":function($event){return _vm.$emit(button.label, scope.row)}}},[_vm._v(_vm._s(button.label))])})}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){return _vm.$set(scope.row, column.field, $event.target.value)},function($event){return _vm.handleCustomEvent(scope.row)}]}})]}}],null,true)}):_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable,\"show-overflow-tooltip\":true},scopedSlots:_vm._u([{key:\"content\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row[column.field]))])]}}],null,true)})]}),(_vm.redirect)?_c('el-table-column',{key:'redirect',attrs:{\"prop\":'redirect',\"align\":\"center\",\"sortable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('redirect', scope.row)}}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})])]}}],null,false,2100746354)}):_vm._e()],2),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-info\"},[_vm._v(\"Show \"+_vm._s(_vm.infoFrom)+\" to \"+_vm._s(_vm.infoTo)+\" of \"+_vm._s(_vm.total)+\" entries\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"total\":_vm.total,\"hide-on-single-page\":false,\"page-sizes\":_vm.pageSizesDisplay,\"page-size\":_vm.pageSize,\"layout\":\"sizes, prev, pager, next, jumper\",\"background\":\"\"},on:{\"current-change\":_vm.pageChange,\"size-change\":_vm.handleSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { isUndefined } from 'lodash/fp'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\n\nexport interface Column {\n label: string;\n field: string;\n sortable?: boolean;\n options: { label: string; value: string }[];\n}\n\ninterface Sort {\n prop: string;\n order: 'ascending' | 'decending';\n}\n\n@Component({\n components: {\n AppDecimalNumber\n }\n})\nexport default class TheDatatable extends Vue {\n @Prop() readonly loading!: boolean\n @Prop() readonly columns!: Array\n @Prop() readonly data!: Array\n @Prop() readonly filters: Array\n @Prop() readonly sort!: Sort\n @Prop() readonly search!: string\n @Prop({ default: true }) readonly show!: boolean\n @Prop({ default: false }) readonly redirect!: boolean\n @Prop() readonly selectionKey: string\n private pageSizes = [10, 50, 100, 500, 1000]\n private pageSize = 10\n private currentPage = 1\n private sortBy: Sort = {\n prop: this.data[0],\n order: 'ascending'\n }\n\n @Prop() clearSelection: boolean\n\n get pageSizesDisplay () {\n // return first size(10), if data total less than 10\n if (this.total < this.pageSizes[0]) return [this.pageSizes[0]]\n\n // get all the size that less than total\n const sizes = this.pageSizes.filter(size => size < this.total)\n\n // push last size\n const lastSize = (Math.round(this.total / 10) + 1) * 10\n sizes.push(lastSize)\n\n return sizes\n }\n\n get filteredData () {\n if (isUndefined(this.search)) return this.data\n\n const searchKeyword = this.search.trim().toLowerCase()\n const data = (this.filters && this.filters.length) ? this.filters : this.data\n return data.filter(value => {\n const result = JSON.stringify(value).toLowerCase().includes(searchKeyword)\n return result\n })\n }\n\n get sortedData () {\n const data = this.filteredData.sort((a, b) => {\n if (this.sortBy.order === 'ascending') {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return 1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return -1 }\n } else {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return -1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return 1 }\n }\n return 0\n })\n return data\n }\n\n get currentPageData () {\n return this.sortedData.slice((this.currentPage - 1) * this.pageSize, this.pageSize * this.currentPage)\n }\n\n get total () {\n return this.filteredData.length\n }\n\n get infoFrom () {\n if (this.currentPage !== 1) {\n return (this.currentPage - 1) * this.pageSize + 1\n } else {\n return this.filteredData.length ? 1 : 0\n }\n }\n\n get infoTo () {\n return this.currentPageData.length < this.pageSize\n ? this.pageSize * (this.currentPage - 1) + this.currentPageData.length\n : this.pageSize * this.currentPage\n }\n\n get hasNoError () {\n return this.data.every(e => e.error === undefined)\n }\n\n pageChange (currentPage: number): void {\n this.currentPage = currentPage\n this.$emit('pageChangeCustom', this.currentPage)\n }\n\n sortChange (sort: Sort): void {\n this.sortBy.prop = sort.prop\n this.sortBy.order = sort.order || 'ascending'\n }\n\n rowClick (row: any): void {\n if (row.emit) this.$emit('rowClickCustom', row)\n if (!row.redirect) return\n window.location.href = row.redirect\n }\n\n handleSelection (rows: any[]) {\n this.$emit('selectionChange', rows)\n }\n\n handleCustomEvent (row) {\n this.$emit('customEventSelect', row)\n }\n\n tableRowClassName ({ row }) {\n if (row.error) {\n return 'warning-row'\n } else {\n return ''\n }\n }\n\n clearCheckboxOnHeader () {\n const appdatatable = this.$refs.appdatatable as any\n if (this.selectionKey && appdatatable) {\n appdatatable.clearSelection()\n }\n }\n\n handleSizeChange (val) {\n this.pageSize = val\n }\n\n convertToCurrency (value, currencySymbol = '') {\n if (!value && value !== 0) return ''\n return currencySymbol + Number(value).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n mounted () {\n this.sortBy = this.sort\n this.clearCheckboxOnHeader()\n }\n\n @Watch('clearSelection')\n clearSelectionCheckbox () {\n if (this.clearSelection) {\n this.clearCheckboxOnHeader()\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDatatable.vue?vue&type=template&id=4b557606&scoped=true&\"\nimport script from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b557606\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","export var TransformationType;\n(function (TransformationType) {\n TransformationType[TransformationType[\"PLAIN_TO_CLASS\"] = 0] = \"PLAIN_TO_CLASS\";\n TransformationType[TransformationType[\"CLASS_TO_PLAIN\"] = 1] = \"CLASS_TO_PLAIN\";\n TransformationType[TransformationType[\"CLASS_TO_CLASS\"] = 2] = \"CLASS_TO_CLASS\";\n})(TransformationType || (TransformationType = {}));\n//# sourceMappingURL=transformation-type.enum.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","export function base64ToBlob (b64Data: string, type = 'application/pdf'): string {\n const byteCharacters = atob(b64Data)\n const byteArrays = []\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\n const slice = byteCharacters.slice(offset, offset + 512)\n const byteNumbers = new Array(slice.length)\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i)\n }\n const byteArray = new Uint8Array(byteNumbers)\n byteArrays.push(byteArray)\n }\n const blob = new Blob(byteArrays, { type })\n return URL.createObjectURL(blob)\n}\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","/**\n * This function returns the global object across Node and browsers.\n *\n * Note: `globalThis` is the standardized approach however it has been added to\n * Node.js in version 12. We need to include this snippet until Node 12 EOL.\n */\nexport function getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n return window;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n return self;\n }\n}\n//# sourceMappingURL=get-global.util.js.map","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","/**\n * This function returns the global object across Node and browsers.\n *\n * Note: `globalThis` is the standardized approach however it has been added to\n * Node.js in version 12. We need to include this snippet until Node 12 EOL.\n */\nexport function getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n return window;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n return self;\n }\n}\n//# sourceMappingURL=get-global.util.js.map","var global = require('../internals/global');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar TypeError = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","import { defaultMetadataStorage } from '../storage';\n/**\n * Defines a custom logic for value transformation.\n *\n * Can be applied to properties only.\n */\nexport function Transform(transformFn, options) {\n if (options === void 0) { options = {}; }\n return function (target, propertyName) {\n defaultMetadataStorage.addTransformMetadata({\n target: target.constructor,\n propertyName: propertyName,\n transformFn: transformFn,\n options: options,\n });\n };\n}\n//# sourceMappingURL=transform.decorator.js.map","module.exports = function (Constructor, list) {\n var index = 0;\n var length = list.length;\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\n\n// there's 3 implementations written in increasing order of efficiency\n\n// 1 - no Set type is defined\nfunction uniqNoSet(arr) {\n\tvar ret = [];\n\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (ret.indexOf(arr[i]) === -1) {\n\t\t\tret.push(arr[i]);\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n// 2 - a simple Set type is defined\nfunction uniqSet(arr) {\n\tvar seen = new Set();\n\treturn arr.filter(function (el) {\n\t\tif (!seen.has(el)) {\n\t\t\tseen.add(el);\n\t\t\treturn true;\n\t\t}\n\t});\n}\n\n// 3 - a standard Set type is defined and it has a forEach method\nfunction uniqSetWithForEach(arr) {\n\tvar ret = [];\n\n\t(new Set(arr)).forEach(function (el) {\n\t\tret.push(el);\n\t});\n\n\treturn ret;\n}\n\n// V8 currently has a broken implementation\n// https://github.com/joyent/node/issues/8449\nfunction doesForEachActuallyWork() {\n\tvar ret = false;\n\n\t(new Set([true])).forEach(function (el) {\n\t\tret = el;\n\t});\n\n\treturn ret === true;\n}\n\nif ('Set' in global) {\n\tif (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {\n\t\tmodule.exports = uniqSetWithForEach;\n\t} else {\n\t\tmodule.exports = uniqSet;\n\t}\n} else {\n\tmodule.exports = uniqNoSet;\n}\n","/**\n * This metadata contains validation rules.\n */\nvar ValidationMetadata = /** @class */ (function () {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n function ValidationMetadata(args) {\n /**\n * Validation groups used for this validation.\n */\n this.groups = [];\n /**\n * Specifies if validated value is an array and each of its item must be validated.\n */\n this.each = false;\n /*\n * A transient set of data passed through to the validation result for response mapping\n */\n this.context = undefined;\n this.type = args.type;\n this.target = args.target;\n this.propertyName = args.propertyName;\n this.constraints = args.constraints;\n this.constraintCls = args.constraintCls;\n this.validationTypeOptions = args.validationTypeOptions;\n if (args.validationOptions) {\n this.message = args.validationOptions.message;\n this.groups = args.validationOptions.groups;\n this.always = args.validationOptions.always;\n this.each = args.validationOptions.each;\n this.context = args.validationOptions.context;\n }\n }\n return ValidationMetadata;\n}());\nexport { ValidationMetadata };\n//# sourceMappingURL=ValidationMetadata.js.map","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","const languageArr = require(\"../../config/languageObject.js\");\n\nmodule.exports = (data, encoding) => {\n const newLanguageArr = [];\n\n // Cloning the language array and making sure that \"count\" has no reference to \"languageArr\"!\n languageArr.forEach((obj) => {\n const updatedLangObj = {};\n Object.keys(obj).forEach((key) => {\n if (key !== \"count\") {\n updatedLangObj[key] = obj[key];\n } else {\n updatedLangObj.count = 0;\n }\n });\n newLanguageArr.push(updatedLangObj);\n });\n\n const regex = encoding ? \"utfRegex\" : \"isoRegex\";\n\n // Populating the count property of the language array\n newLanguageArr.forEach((lang) => {\n if (lang[regex]) {\n const matches = data.content.match(lang[regex]);\n\n if (matches) lang.count = matches.length;\n }\n });\n\n return newLanguageArr;\n};\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"transactions\"},[_c('div',{staticClass:\"tab-top\"},[_c('div',{staticClass:\"tab-header\"},[_c('div',{staticClass:\"tabs\"},[_c('div',{staticClass:\"tab-links\"},[_vm._v(\" Records \"),_c('span',{staticClass:\"add-client\",attrs:{\"id\":\"add-records\",\"aria-label\":\"Records\"},on:{\"click\":_vm.toggleImportCsvRecords}},[_c('i',{staticClass:\"fas fa-plus\"})])])]),_c('div',{staticClass:\"search-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.txtSearchTop),expression:\"txtSearchTop\"}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"readonly\":_vm.loadingTransactions},domProps:{\"value\":(_vm.txtSearchTop)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchTop=$event.target.value}}})])]),_c('AppDatatable',{attrs:{\"loading\":_vm.loadingTransactions,\"columns\":_vm.commissionRecordsColumn,\"data\":_vm.commissionRecordsData,\"sort\":{prop: 'paymentDateMillis', order: 'descending'},\"search\":_vm.txtSearchTop}})],1),(_vm.showImportCsvRecords)?_c('AppDialog',{attrs:{\"size\":'large',\"hideCancel\":true},on:{\"close\":_vm.closeModalCsv}},[_c('template',{slot:\"header\"},[_vm._v(\"Add New Commission Record\")]),(_vm.modalPage === 1)?[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.newTransactionFormStructure,\"model\":_vm.newTransaction}})],1),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.goToPage2}},[_vm._v(\"Next\")])])]:(_vm.modalPage === 2)?[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[(_vm.enableIssuerTemplate && _vm.issuerTemplateAvailable)?_c('el-radio-group',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"size\":\"small\"},model:{value:(_vm.issuerTemplate),callback:function ($$v) {_vm.issuerTemplate=$$v},expression:\"issuerTemplate\"}},[_c('el-radio-button',{attrs:{\"label\":\"Issuer Template\"}}),_c('el-radio-button',{attrs:{\"label\":\"IFAM Template\"}})],1):_vm._e(),_c('CSVImport',{attrs:{\"CSVModel\":_vm.csvModel,\"validationErrors\":_vm.csvErrors,\"resetCSV\":_vm.issuerTemplate,\"isImporting\":_vm.isImporting},on:{\"importCsv\":_vm.importCsv,\"csvUpload\":_vm.onCommissionRecordCsvUpload}})],1),_c('template',{slot:\"footer\"},[_c('button',{on:{\"click\":function($event){_vm.modalPage = 1}}},[_vm._v(\"Back\")])])]:_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Meta } from '@master/model/common/Meta'\nimport { RawKey } from '@master/annotation/RawKey'\n\nexport default class CommissionRecord extends Meta {\n @RawKey('_oid')\n oid = ''\n\n @RawKey('_commissionbatchoid')\n commissionBatchOid = ''\n\n @RawKey('count(*)')\n records: number = undefined\n\n ctm: number = undefined\n advCode = ''\n advName = ''\n policyNumber = ''\n clientName = ''\n productName = ''\n premiumAmt: number = undefined\n commissionAmt: number = undefined\n orCommissionAmt: number = undefined\n transactionType = ''\n level1ComAmt: number = undefined\n level2ComAmt: number = undefined\n level3ComAmt: number = undefined\n level4ComAmt: number = undefined\n introducerFullname = ''\n introducerComAmt: number = undefined\n vestingFullname = ''\n vestingComAmt: number = undefined\n servicingFullname = ''\n servicingComAmt: number = undefined\n paymentDateMillis: number = undefined\n statementDateMillis: number = undefined\n principal = ''\n remunerationType: number = undefined\n paid = ''\n taxInvoiceNo = ''\n batchRemark = ''\n remark = ''\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { parseFloatNumber } from '@core/services/csv/CSVTransformer'\nimport { IDateService } from '@master/services/IDateService'\nimport { cid, container } from 'inversify-props'\nimport { FrequencyList, FrequencyOptions, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = container.get(cid.IDateService)\nexport class TransactionCsvModel extends CSVModelInterface implements CommissionData {\n filename = 'TransactionCSVTemplate'\n\n @Expose()\n @IsNotEmpty()\n private 'Adviser Company / Rep Code' = 'CODE 123'\n\n get advCode () {\n return this['Adviser Company / Rep Code']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Adviser Name' = 'Wen Adviser'\n\n get advName () {\n return this['Adviser Name']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Policy Number' = 'Policy 123'\n\n get policyNumber () {\n return this['Policy Number']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Client Name' = 'John Doe'\n\n get clientName () {\n return this['Client Name']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Product Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Product Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Premium' = 123.45\n\n get premiumAmt () {\n return this.Premium\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n Commission = 123.45\n\n get commissionAmt () {\n return this.Commission\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'OR Commission' = 123.45\n\n get orCommissionAmt () {\n return this['OR Commission']\n }\n\n @Expose()\n @IsValidDate('DD/MM/YYYY')\n private 'Issued Date' = '31/12/2020'\n\n get issuedDate (): number {\n return dateService.toUnixMilliseconds(this['Issued Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @IsValidDate('DD/MM/YYYY')\n private 'Paid To Date / Due Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Paid To Date / Due Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(FrequencyOptions.map(option => option.label))\n private 'Payment Mode' = '[' + FrequencyList + ']'\n\n get payMode () {\n return FrequencyToValueMapping(this['Payment Mode'] as FrequencyType)\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { FrequencyList, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class ManulifeTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Agt Code' = 'CODE 123'\n\n get advCode () {\n return this['Agt Code']\n }\n\n @Expose()\n private 'Agt Name' = 'Wen Adviser'\n\n get advName () {\n return this['Agt Name']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Pol Num' = 'Policy 123'\n\n get policyNumber () {\n return this['Pol Num']\n }\n\n @Expose()\n private 'Insrd Name' = 'John Doe'\n\n get clientName () {\n return this['Insrd Name']\n }\n\n @Expose()\n private 'Plan Code' = 'ABC001'\n\n get componentCode () {\n return this['Plan Code']\n }\n\n @Expose()\n private 'Plan Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Plan Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Crcy' = 'SGD'\n\n get premiumCurrency () {\n return this.Crcy\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Prem Amt' = 123.45\n\n get premiumAmt () {\n return this['Prem Amt']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumPurpose))\n @IsOneOfThese(['RP', 'SP', 'RSP', 'TOP-UP'])\n private 'Prem Typ' = 'RP'\n\n get premiumPurpose () {\n return this['Prem Typ']\n }\n\n @Expose()\n @IsOneOfThese(FrequencyList.filter(frequency => !['RSP', 'Single'].includes(frequency)))\n private 'Pmt Mode' = 'Monthly'\n\n get payMode () {\n return FrequencyToValueMapping(this['Pmt Mode'] as FrequencyType)\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.policyYear))\n @IsNumber()\n private 'Pol Year' = 13\n\n get policyYear () {\n return this['Pol Year']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Pol Iss Dt' = '31/12/2020'\n\n get approvedDate (): number {\n return dateService.toUnixMilliseconds(this['Pol Iss Dt'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.effectiveDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Pol Eff Dt' = '31/12/2020'\n\n get effectiveDate (): number {\n return dateService.toUnixMilliseconds(this['Pol Eff Dt'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Crr Trxn Dt' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Crr Trxn Dt'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Comm Amt' = 123.45\n\n get commissionAmt () {\n return this['Comm Amt']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Or Amt' = 123.45\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { FrequencyList, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class NTUCTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Agent Code' = 'CODE 123'\n\n get advCode () {\n return this['Agent Code']\n }\n\n @Expose()\n private 'Agent Name' = 'Wen Adviser'\n\n get advName () {\n return this['Agent Name']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Policy No.' = 'Policy 123'\n\n get policyNumber () {\n return this['Policy No.']\n }\n\n @Expose()\n private 'Name' = 'John Doe'\n\n get clientName () {\n return this.Name\n }\n\n @Expose()\n private 'DN/CN NO.' = 'S00123'\n\n get clientNric () {\n return this['DN/CN NO.']\n }\n\n @Expose()\n private 'Plan' = 'PL001'\n\n get planCode () {\n return this.Plan\n }\n\n private 'ComponentCode' = undefined\n\n get componentCode () {\n return this.ComponentCode\n }\n\n private 'PlanDescription' = undefined\n\n get productName () {\n return this.PlanDescription\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Premium Currency' = 'SGD'\n\n get premiumCurrency () {\n return this['Premium Currency']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Premium' = 123.45\n\n get premiumAmt () {\n return this.Premium\n }\n\n @Expose()\n @IsOneOfThese(FrequencyList.filter(frequency => !['RSP', 'Single'].includes(frequency)))\n private 'Pay Mode' = 'Monthly'\n\n get payMode () {\n return FrequencyToValueMapping(this['Pay Mode'] as FrequencyType)\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @ValidateIf(o => !isEmpty(o.exchangeRate))\n @IsNumber()\n private 'Exchange Rate' = 123.45\n\n get exchangeRate () {\n return this['Exchange Rate']\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.policyYear))\n @IsNumber()\n private 'Policy Year' = 13\n\n get policyYear () {\n return this['Policy Year']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Entry Date' = '31/12/2020'\n\n get approvedDate (): number {\n return dateService.toUnixMilliseconds(this['Entry Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Due Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Due Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n private 'Commission Amount (in Foreign Currency)' = 'IDR'\n\n get commissionForeignCurrency () {\n return this['Commission Amount (in Foreign Currency)']\n }\n\n @Expose()\n private 'Commission Payable (in SGD)' = 0\n\n get commissionAmt () {\n return this['Commission Payable (in SGD)']\n }\n\n private 'OrComm' = 0\n\n get orCommissionAmt () {\n return this.OrComm\n }\n\n @Expose()\n private 'Premiumtype' = 'Renewal'\n\n get descriptions () {\n return this.Premiumtype\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { isEmpty } from 'lodash'\nimport { ValidateIf } from 'class-validator'\nimport { DateService } from '@master/services/DateService'\nimport { FrequencyList, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class AvivaTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Agent No' = '60006823 Agent Name'\n\n get advCode () {\n const agentNameAndCode = this['Agent No']\n const separator = agentNameAndCode.indexOf(' ')\n return separator > 0 ? agentNameAndCode.slice(0, separator) : ''\n }\n\n get advName () {\n const agentNameAndCode = this['Agent No']\n const separator = agentNameAndCode.indexOf(' ')\n return separator > 0 ? agentNameAndCode.slice(separator + 1) : ''\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Policy Num' = 'Policy 123'\n\n get policyNumber () {\n return this['Policy Num']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Policy Holder' = 'John Doe'\n\n get clientName () {\n return this['Policy Holder']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Component' = 'Life Insurance Name'\n\n get productName () {\n const component = this.Component\n const separator = component.indexOf('-')\n return separator > 0 ? component.slice(0, separator) : ''\n }\n\n get componentCode () {\n const component = this.Component\n const separator = component.indexOf('-')\n return separator > 0 ? component.slice(separator + 1) : ''\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumPurpose))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Cont Curr' = 'RP'\n\n get premiumPurpose () {\n return this['Cont Curr']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Extra Loading' = 123.45\n\n get loadingPremium () {\n return this['Extra Loading']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Premium Paid' = 123.45\n\n get premiumAmt () {\n return this['Premium Paid']\n }\n\n @Expose()\n @IsOneOfThese(FrequencyList.filter(frequency => !['RSP', 'Single'].includes(frequency)))\n private 'Bil Freq' = 'Monthly'\n\n get payMode () {\n return FrequencyToValueMapping(this['Bil Freq'] as FrequencyType)\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.exchangeRate))\n @IsNumber()\n private 'FX Rate' = 1\n\n get exchangeRate () {\n return this['FX Rate']\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.exchangeRate))\n @IsNumber()\n private 'Pol Term' = 1\n\n get policyTerm () {\n return this['Pol Term']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Inception Date' = '31/12/2020'\n\n get approvedDate (): number {\n return dateService.toUnixMilliseconds(this['Inception Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Paid To Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Paid To Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n 'Basic Comm' = 123.45\n\n get commissionAmt () {\n return this['Basic Comm']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Basic Overriding Comm' = 123.45\n\n get orCommissionAmt () {\n return this['Basic Overriding Comm']\n }\n\n @Expose()\n private 'Fee Type' = 'FYC-First'\n\n get descriptions () {\n return this['Fee Type']\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { FrequencyList, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class AXATransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'AGENT CODE' = 'CODE 123'\n\n get advCode () {\n return this['AGENT CODE']\n }\n\n @Expose()\n private 'AGENT NAME' = 'Wen Adviser'\n\n get advName () {\n return this['AGENT NAME']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'POLICY NUMBER' = 'Policy 123'\n\n get policyNumber () {\n return this['POLICY NUMBER']\n }\n\n @Expose()\n private 'ASSURED NAME' = 'John Doe'\n\n get clientName () {\n return this['ASSURED NAME']\n }\n\n @Expose()\n private 'ASSURED NRIC' = 'S00123'\n\n get clientNric () {\n return this['ASSURED NRIC']\n }\n\n @Expose()\n private 'BASIC PLAN CODE' = 'ABC001'\n\n get planCode () {\n return this['BASIC PLAN CODE']\n }\n\n @Expose()\n private 'BASIC OR RIDER PLAN' = 'Life Insurance Name'\n\n get planType () {\n return this['BASIC OR RIDER PLAN']\n }\n\n @Expose()\n private 'RIDER PLAN CODE' = 'ABC001'\n\n get componentCode () {\n return this['RIDER PLAN CODE']\n }\n\n get productType () {\n return ''\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'NON-LINKED PREMIUM' = 123.45\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'LINKED PREMIUM' = 123.45\n\n get premiumAmt () {\n return this['NON-LINKED PREMIUM'] + this['LINKED PREMIUM']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumPurpose))\n @IsOneOfThese(['RP', 'SP', 'RSP', 'TOP-UP'])\n private 'PREMIUM PURPOSE' = 'RP'\n\n get premiumPurpose () {\n return this['PREMIUM PURPOSE']\n }\n\n @Expose()\n @IsOneOfThese(FrequencyList.filter(frequency => !['RSP', 'Single'].includes(frequency)))\n private 'POLICY PAYMENT MODE' = 'Monthly'\n\n get payMode () {\n return FrequencyToValueMapping(this['POLICY PAYMENT MODE'] as FrequencyType)\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.policyYear))\n @IsNumber()\n private 'POLICY YEAR' = 13\n\n get policyYear () {\n return this['POLICY YEAR']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'POLICY ISSUE DATE' = '31/12/2020'\n\n get approvedDate (): number {\n return dateService.toUnixMilliseconds(this['POLICY ISSUE DATE'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.effectiveDate))\n @IsValidDate('DD/MM/YYYY')\n private 'COMMENCEMENT DATE' = '31/12/2020'\n\n get effectiveDate (): number {\n return dateService.toUnixMilliseconds(this['COMMENCEMENT DATE'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'POLICY PAID TO DATE' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['POLICY PAID TO DATE'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'TOTAL COMMISSION' = 123.45\n\n get commissionAmt () {\n return this['TOTAL COMMISSION']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'GST RATE' = 7\n\n get gstRate () {\n return this['GST RATE']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'GST AMOUNT' = 0.03\n\n get gstAmount () {\n return this['GST AMOUNT']\n }\n\n get productName () {\n return ''\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class NavCommTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Adviser Code' = 'CODE 123'\n\n get advCode () {\n return this['Adviser Code']\n }\n\n @Expose()\n private 'Adviser' = 'Wen Adviser'\n\n get advName () {\n return this.Adviser\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Account Number' = 'Policy 123'\n\n get policyNumber () {\n return this['Account Number']\n }\n\n @Expose()\n private 'Primary Client Name' = 'Client Name'\n\n get clientName () {\n return this['Primary Client Name']\n }\n\n @Expose()\n private 'Plan Structure' = 'Life Insurance Name'\n\n get planType () {\n return this['Plan Structure']\n }\n\n @Expose()\n private 'Aviva Fund Code' = 'Aviva Fund Code'\n\n get componentCode () {\n return this['Aviva Fund Code']\n }\n\n @Expose()\n private 'Fund Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Fund Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Contact Currency' = 'SGD'\n\n get premiumCurrency () {\n return this['Contact Currency']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Investment amount/average value' = 123.45\n\n get premiumAmt () {\n return this['Investment amount/average value']\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.exchangeRate))\n @IsNumber()\n private 'FX Rate' = 1\n\n get exchangeRate () {\n return this['FX Rate']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Trade Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Trade Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Gross Remuneration before GST SGD amount' = 123.45\n\n get commissionAmt () {\n return this['Gross Remuneration before GST SGD amount']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n\n @Expose()\n private 'Remuneration Type' = 'Overriding'\n\n get remark () {\n return this['Remuneration Type']\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber, parseIntNumber } from '@core/services/csv/CSVTransformer'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class NavWrapTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Adviser Code' = 'CODE 123'\n\n get advCode () {\n return this['Adviser Code']\n }\n\n @Expose()\n private 'Adviser' = 'Wen Adviser'\n\n get advName () {\n return this.Adviser\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Account Number' = 'Policy 123'\n\n get policyNumber () {\n return this['Account Number']\n }\n\n @Expose()\n private 'Primary Client Name' = 'Client Name'\n\n get clientName () {\n return this['Primary Client Name']\n }\n\n @Expose()\n private 'Plan Structure' = 'Life Insurance Name'\n\n get planType () {\n return this['Plan Structure']\n }\n\n @Expose()\n private 'Aviva Fund Code' = 'Aviva Fund Code'\n\n get componentCode () {\n return this['Aviva Fund Code']\n }\n\n @Expose()\n private 'Fund Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Fund Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Contact Currency' = 'SGD'\n\n get premiumCurrency () {\n return this['Contact Currency']\n }\n\n private 'Investment amount/average value' = 0\n\n get premiumAmt () {\n return this['Investment amount/average value']\n }\n\n @Expose()\n @Transform(({ value }) => parseIntNumber(value))\n @ValidateIf(o => !isEmpty(o.exchangeRate))\n @IsNumber()\n private 'FX Rate' = 1\n\n get exchangeRate () {\n return this['FX Rate']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Trade Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Trade Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Net Remuneration before GST SGD amount' = 123.45\n\n get commissionAmt () {\n return this['Net Remuneration before GST SGD amount']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n\n @Expose()\n private 'Remuneration Type' = 'Overriding'\n\n get remark () {\n return this['Remuneration Type']\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber } from '@core/services/csv/CSVTransformer'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class IFASTCommTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Selling Adviser' = 'CODE 123'\n\n get advCode () {\n return this['Selling Adviser']\n }\n\n @Expose()\n private 'Agent Name' = 'Wen Adviser'\n\n get advName () {\n return this['Agent Name']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'Account No' = 'Policy 123'\n\n get policyNumber () {\n return this['Account No']\n }\n\n @Expose()\n private 'Client Name' = 'Client Name'\n\n get clientName () {\n return this['Client Name']\n }\n\n @Expose()\n private 'Fund Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Fund Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Investment Currency' = 'SGD'\n\n get premiumCurrency () {\n return this['Investment Currency']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Gross Investment Amount (AF)' = 123.45\n\n get premiumAmt () {\n return this['Gross Investment Amount (AF)']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumPurpose))\n @IsOneOfThese(['RP', 'SP', 'RSP', 'TOP-UP'])\n private 'Transaction Type' = 'RP'\n\n get premiumPurpose () {\n return this['Transaction Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'Txn Date' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['Txn Date'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Indirect Comm (SGD)' = 123.45\n\n get commissionAmt () {\n return this['Indirect Comm (SGD)']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n}\n","import { IsNotEmpty, IsNumber, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber } from '@core/services/csv/CSVTransformer'\n\nconst dateService = new DateService()\n\nexport class IFASTWrapTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'AGENT CODE' = 'CODE 123'\n\n get advCode () {\n return this['AGENT CODE']\n }\n\n @Expose()\n private 'AGENT NAME' = 'Wen Adviser'\n\n get advName () {\n return this['AGENT NAME']\n }\n\n @Expose()\n @IsNotEmpty()\n private 'REFNO' = 'Policy 123'\n\n get policyNumber () {\n return this.REFNO\n }\n\n @Expose()\n private 'CLIENT NAME' = 'Client Name'\n\n get clientName () {\n return this['CLIENT NAME']\n }\n\n private 'Premium Amount' = 0\n\n get premiumAmt () {\n return this['Premium Amount']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.paidToDate))\n @IsValidDate('DD/MM/YYYY')\n private 'DATE RECEIVED' = '31/12/2020'\n\n get paidToDate (): number {\n return dateService.toUnixMilliseconds(this['DATE RECEIVED'], 'DD/MM/YYYY')\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'PAYABLE TO FA BEFORE GST' = 123.45\n\n get commissionAmt () {\n return this['PAYABLE TO FA BEFORE GST']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @ValidateIf(o => !isEmpty(o.gstAmount))\n @IsNumber()\n private 'PAYABLE TO FA GST* /S$' = 0.33\n\n get gstAmount () {\n return this['PAYABLE TO FA GST* /S$']\n }\n\n @Expose()\n private 'FEE TYPE' = 'Overriding'\n\n get remark () {\n return this['FEE TYPE']\n }\n\n get productName () {\n return ''\n }\n\n get productType () {\n return ''\n }\n}\n","import { IsNotEmpty, IsOneOfThese } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { CommissionData } from '../../api'\nimport { Expose } from 'class-transformer'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nexport class IFASTTrailerTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'Selling Adviser' = 'CODE 123'\n\n get advCode () {\n return this['Selling Adviser']\n }\n\n @Expose()\n private 'Adviser Name' = 'Wen Adviser'\n\n get advName () {\n return this['Adviser Name']\n }\n\n private 'Account No' = ''\n\n get policyNumber () {\n return this['Account No']\n }\n\n @Expose()\n private 'Sedolnumber' = 'Sedolnumber'\n\n get componentCode () {\n return this.Sedolnumber\n }\n\n @Expose()\n private 'Fund Name' = 'Life Insurance Name'\n\n get productName () {\n return this['Fund Name']\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n private 'Gross Investment Amount (AF)' = 0\n\n get premiumAmt () {\n return this['Gross Investment Amount (AF)']\n }\n\n private 'Indirect Comm (SGD)' = 0\n\n get commissionAmt () {\n return this['Indirect Comm (SGD)']\n }\n\n private 'Or Amt' = 0\n\n get orCommissionAmt () {\n return this['Or Amt']\n }\n\n @Expose()\n private 'Remuneration Type' = 'Overriding'\n\n get remark () {\n return this['Remuneration Type']\n }\n\n get clientName () {\n return ''\n }\n}\n","import { IsNotEmpty, IsNumber, IsOneOfThese, IsValidDate } from '@core/services/csv/CSVCustomValidator'\nimport { CSVModelInterface } from '@core/services/csv/CSVModel.interface'\nimport { DateService } from '@master/services/DateService'\nimport { CommissionData } from '../../api'\nimport { Expose, Transform } from 'class-transformer'\nimport { ValidateIf } from 'class-validator'\nimport { isEmpty } from 'lodash'\nimport { parseFloatNumber } from '@core/services/csv/CSVTransformer'\nimport { FrequencyList, FrequencyToValueMapping, FrequencyType } from '@master/model/options/FrequencyOptions'\nimport { productTypes } from '@master/model/options/LineOfBusinessOptions'\n\nconst dateService = new DateService()\n\nexport class TokioTransactionCsvModel extends CSVModelInterface implements CommissionData {\n @Expose()\n @IsNotEmpty()\n private 'AdviserNo' = 'CODE 123'\n\n get advCode () {\n return this.AdviserNo\n }\n\n @Expose()\n private Name = 'Wen Adviser'\n\n get advName () {\n return this.Name\n }\n\n @Expose()\n @IsNotEmpty()\n private Reference = 'Policy 123'\n\n get policyNumber () {\n return this.Reference\n }\n\n @Expose()\n private ClientName = 'John Doe'\n\n get clientName () {\n return this.ClientName\n }\n\n @Expose()\n private NRIC = 'S1234567G'\n\n get clientNric () {\n return this.NRIC\n }\n\n @Expose()\n private CompCode = 'ABC001'\n\n get componentCode () {\n return this.CompCode\n }\n\n @Expose()\n private PlanName = 'Life Insurance Name'\n\n get productName () {\n return this.PlanName\n }\n\n @Expose()\n @IsNotEmpty()\n @IsOneOfThese(productTypes)\n private 'Product Type' = '[' + productTypes + ']'\n\n get productType () {\n return this['Product Type']\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumCurrency))\n @IsOneOfThese(['SGD', 'CHF', 'EUR', 'GBP', 'USD', 'AUD', 'JPY', 'HKD'])\n private 'Currency' = 'SGD'\n\n get premiumCurrency () {\n return this.Currency\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'InstallmentPremium' = 123.45\n\n get installmentPremium () {\n return this.InstallmentPremium\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'LoadedInstallmentPremium' = 123.45\n\n get loadingPremium () {\n return this.LoadedInstallmentPremium\n }\n\n get premiumAmt () {\n return this.installmentPremium + this.loadingPremium\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.premiumPurpose))\n @IsOneOfThese(['RP', 'SP', 'RSP', 'TOP-UP'])\n private 'Prem Typ' = 'RP'\n\n get premiumPurpose () {\n return this['Prem Typ']\n }\n\n @Expose()\n @IsOneOfThese(FrequencyList.filter(frequency => !['RSP', 'Single'].includes(frequency)))\n private 'BillingFrequency' = 'Monthly'\n\n get payMode () {\n return FrequencyToValueMapping(this.BillingFrequency as FrequencyType)\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'CommencementDate' = '31/12/2020'\n\n get approvedDate (): number {\n return dateService.toUnixMilliseconds(this.CommencementDate, 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.approvedDate))\n @IsValidDate('DD/MM/YYYY')\n private 'EffectiveDate' = '31/12/2020'\n\n get effectiveDate (): number {\n return dateService.toUnixMilliseconds(this.EffectiveDate, 'DD/MM/YYYY')\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.basicCommission))\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'OriginalAmount' = 123.45\n\n get commissionForeignCurrency () {\n return `${this.OriginalAmount}`\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.basicCommission))\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'BasicPremiumCommission' = 123.45\n\n get basicCommission () {\n return this.BasicPremiumCommission\n }\n\n @Expose()\n @ValidateIf(o => !isEmpty(o.basicCommission))\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'LoadedPremiumCommission' = 123.45\n\n get loadedCommission () {\n return this.LoadedPremiumCommission\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'ActualAmount' = 123.45\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'Commission' = 123.45\n\n get commissionAmt () {\n return this.ActualAmount || this.Commission\n }\n\n @Expose()\n @Transform(({ value }) => parseFloatNumber(value))\n @IsNumber()\n private 'OverridingCommission' = 123.45\n\n get orCommissionAmt () {\n return this.OverridingCommission\n }\n\n @Expose()\n private 'Transaction' = '1st Year Commission - Premium Collection'\n\n @Expose()\n private 'Fee Type' = 'FYC-First'\n\n @Expose()\n private 'Description' = 'FYC-First'\n\n get descriptions () {\n if (this.Commission) {\n const transaction = this.Transaction\n const separator = transaction.indexOf('-') - 1\n return separator > 0 ? transaction.slice(0, separator) : ''\n } else {\n return this['Fee Type']\n }\n }\n\n get remark () {\n if (this.Commission) {\n const transaction = this.Transaction\n const separator = transaction.indexOf('-') + 1\n return separator > 0 ? transaction.slice(separator + 1) : ''\n } else {\n return this.Description\n }\n }\n}\n","import { Component, Vue } from 'vue-property-decorator'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport CommissionRecord from '../model/CommissionRecord'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport AppForm from '@core/components/AppForm.vue'\nimport { capitalize, isEmpty, isUndefined } from 'lodash'\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { IDateService } from '@master/services/IDateService'\nimport { CommissionBatchDTO, CommissionData, CommissionRecordDTO, CommissionRecordsService } from '../api'\nimport { TransactionCsvModel } from './csv-model/TransactionCsvModel'\nimport { ManulifeTransactionCsvModel } from './csv-model/ManulifeTransactionCsvModel'\nimport { NTUCTransactionCsvModel } from './csv-model/NTUCTransactionCsvModel'\nimport { AvivaTransactionCsvModel } from './csv-model/AvivaTransactionCsvModel'\nimport { AXATransactionCsvModel } from './csv-model/AXATransactionCsvModel'\nimport { NavCommTransactionCsvModel } from './csv-model/NavCommTransactionCsvModel'\nimport { NavWrapTransactionCsvModel } from './csv-model/NavWrapTransactionCsvModel'\nimport { IFASTCommTransactionCsvModel } from './csv-model/IFASTCommTransactionCsvModel'\nimport { IFASTWrapTransactionCsvModel } from './csv-model/IFASTWrapTransactionCsvModel'\nimport { IFASTTrailerTransactionCsvModel } from './csv-model/IFASTTrailerTransactionCsvModel'\nimport { TokioTransactionCsvModel } from './csv-model/TokioTransactionCsvModel'\nimport CSVImport from '@core/services/csv/CSVImport.vue'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { UIService } from '@core/services/UIService'\nimport { IProjectSettings } from '@master/config/IProjectSettings'\n/* eslint-disable @typescript-eslint/camelcase */\n@Component({\n components: {\n AppDatatable,\n AppForm,\n CSVImport,\n AppDialog\n }\n})\nexport default class TransactionMixin extends Vue {\n @inject()\n private $api: API\n\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected sharedVariable: SharedVariable\n\n @inject()\n private projectSettings: IProjectSettings\n\n protected uiService: UIService\n private debug = true\n loadingTransactions = false\n private loadingTransactionRecords = false\n txtSearchTop = ''\n txtSearchTopRecord = ''\n showImportCsvRecords = false\n modalPage: 1 | 2 = 1\n private principalList: Array = []\n newTransaction = new CommissionRecord()\n private commissionRecords: CommissionBatchDTO[] = []\n private importedCommissionRecords: CommissionRecordDTO[] = []\n csvErrors: Array = []\n isImporting = false\n private remunerationTypeMap = [\n 'Commission',\n 'Trailer Fee',\n 'Wrap Fee'\n ]\n\n enableIssuerTemplate = false\n issuerTemplate = 'IFAM Template'\n\n transactionModel = null\n\n setTransactionModel () {\n this.transactionModel = TransactionCsvModel\n }\n\n get issuerTemplateAvailable () {\n const CsvModel = this.getIssuerCsvTemplate(this.newTransaction.principal, this.newTransaction.remunerationType)\n return CsvModel !== this.transactionModel\n }\n\n get commissionRecordsData () {\n return this.commissionRecords.map(rec => {\n return {\n paymentDateMillis: this.dateService.format(parseInt(rec.paymentDateMillis), 'YYYY-MM-DD'),\n statementDateMillis: this.dateService.format(parseInt(rec.statementDateMillis), 'YYYY-MM-DD'),\n paid: capitalize(rec.paid),\n principal: rec.principal,\n remunerationType: this.remunerationTypeMap[rec.remunerationType],\n records: rec.count,\n taxInvoiceNo: rec.taxInvoiceNo,\n redirect: `/live/commission-details?_oid=${rec.commissionBatchOid}`\n } as any\n })\n }\n\n get commissionRecordsColumn () {\n return [\n {\n label: 'Payment Date',\n field: 'paymentDateMillis'\n },\n {\n label: 'Statement Date',\n field: 'statementDateMillis'\n },\n {\n label: 'Paid Status',\n field: 'paid'\n },\n { label: 'Principal', field: 'principal' },\n { label: 'Remuneration Type', field: 'remunerationType' },\n { label: 'Tax Invoice No.', field: 'taxInvoiceNo' },\n { label: 'Records', field: 'records' }\n ]\n }\n\n get importedCommissionRecordsColumn (): Array<{ label: string; field: keyof CommissionRecordDTO }> {\n return [\n { label: 'Adviser Code', field: 'advCode' },\n { label: 'Adviser Name', field: 'advName' },\n { label: 'Policy Number', field: 'policyNumber' },\n { label: 'Client Name', field: 'clientName' },\n { label: 'Product Name', field: 'productName' },\n { label: 'Premium', field: 'premiumAmt' },\n { label: 'Commission', field: 'commissionAmt' },\n { label: 'OR Commission', field: 'orCommissionAmt' },\n { label: 'Transaction Type', field: 'transactionType' },\n { label: 'Remark', field: 'remark' }\n ]\n }\n\n get importedCommissionRecordsData () {\n return this.importedCommissionRecords\n }\n\n get newTransactionFormStructure (): FormStructure {\n return [\n {\n type: 'date',\n label: 'Payment Date*',\n key: 'paymentDateMillis'\n },\n {\n type: 'date',\n label: 'Statement Date*',\n key: 'statementDateMillis'\n },\n {\n label: 'Principal*',\n key: 'principal',\n options: this.principalList.map(principal => {\n return {\n label: principal,\n value: principal\n }\n })\n },\n {\n label: 'Remuneration Type*',\n key: 'remunerationType',\n options: [\n { label: '', value: undefined },\n { label: 'Commission', value: 0 },\n { label: 'Trailer Fee', value: 1 },\n { label: 'Wrap Fee', value: 2 }\n ]\n },\n {\n label: 'Paid*',\n key: 'paid',\n options: [\n { label: 'Paid', value: 'paid' },\n { label: 'Unpaid', value: 'unpaid' }\n ]\n },\n {\n label: 'Tax Invoice No.*',\n key: 'taxInvoiceNo'\n },\n {\n label: 'Remarks',\n key: 'batchRemark'\n }\n ]\n }\n\n async fetchCommissionRecords () {\n this.commissionRecords = await CommissionRecordsService.commissionRecords()\n }\n\n async fetchPrincipalList () {\n if (isEmpty(this.principalList)) {\n const headers = ['company_details_name']\n const res = await this.$api.companyDetails.list({\n headers: JSON.stringify(headers)\n })\n this.principalList = res.data.map(e => {\n return e[0]\n }).sort()\n }\n }\n\n get csvModel () {\n if (!this.enableIssuerTemplate || this.issuerTemplate === 'IFAM Template' || !this.issuerTemplateAvailable) {\n return this.transactionModel\n }\n\n return this.getIssuerCsvTemplate(this.newTransaction.principal, this.newTransaction.remunerationType)\n }\n\n getIssuerCsvTemplate (issuer: string, remunerationType: number) {\n const issuerName = issuer.toLowerCase()\n\n if (issuerName.includes('manulife')) {\n return ManulifeTransactionCsvModel\n }\n\n if (issuerName === 'aviva' || issuerName === 'singlife with aviva') {\n return AvivaTransactionCsvModel\n }\n\n if (issuerName.includes('axa') || issuerName.includes('hsbc')) {\n return AXATransactionCsvModel\n }\n\n if (issuerName.includes('ntuc')) {\n return NTUCTransactionCsvModel\n }\n\n if (issuerName.includes('axa')) {\n return AXATransactionCsvModel\n }\n\n if (issuerName.includes('tokio')) {\n return TokioTransactionCsvModel\n }\n\n if (issuerName.includes('ifast')) {\n switch (remunerationType) {\n case 0:\n return IFASTCommTransactionCsvModel\n case 1:\n return IFASTTrailerTransactionCsvModel\n case 2:\n return IFASTWrapTransactionCsvModel\n }\n }\n\n if (issuerName.includes('nav')) {\n switch (remunerationType) {\n case 0:\n return NavCommTransactionCsvModel\n case 2:\n return NavWrapTransactionCsvModel\n }\n }\n\n if (issuerName.includes('tokio')) {\n switch (remunerationType) {\n case 0:\n return NavCommTransactionCsvModel\n case 2:\n return NavWrapTransactionCsvModel\n }\n }\n\n return this.transactionModel\n }\n\n async goToPage2 () {\n const incomplete =\n (isUndefined(this.newTransaction.paymentDateMillis) ||\n isUndefined(this.newTransaction.statementDateMillis) ||\n isEmpty(this.newTransaction.principal) ||\n isEmpty(this.newTransaction.paid) ||\n isEmpty(this.newTransaction.taxInvoiceNo) ||\n isUndefined(this.newTransaction.remunerationType))\n\n if (incomplete) {\n alert('Please fill in all required input')\n return\n }\n try {\n await this.validateTaxInvoiceNo()\n this.modalPage = 2\n\n if (this.issuerTemplateAvailable) {\n this.issuerTemplate = 'Issuer Template'\n }\n } catch (error) {\n await this.uiService.alert.show({\n type: 'error',\n message: error\n })\n }\n }\n\n closeModalCsv () {\n this.showImportCsvRecords = false\n this.modalPage = 1\n }\n\n toggleImportCsvRecords () {\n this.showImportCsvRecords = true\n }\n\n async onCommissionRecordCsvUpload (records: TransactionCsvModel[]) {\n const id = this.uiService.randomID()\n this.uiService.loading.addLoadingTask(id)\n try {\n const imported: CommissionData[] = records.map(({ advCode, advName, policyNumber, clientName, productName, productType, premiumAmt, commissionAmt, orCommissionAmt, issuedDate, paidToDate, payMode }) => {\n return { advCode, advName, policyNumber, clientName, productName, productType, premiumAmt, commissionAmt, orCommissionAmt, issuedDate, paidToDate, payMode }\n })\n this.csvErrors = await CommissionRecordsService.validateNewCommissionData(imported)\n } finally {\n this.uiService.loading.removeLoadingTask(id)\n }\n }\n\n async importCsv (records: TransactionCsvModel[]) {\n const id = this.uiService.randomID()\n this.uiService.loading.addLoadingTask(id)\n try {\n this.isImporting = true\n const { paymentDateMillis, statementDateMillis, paid, principal, remunerationType, taxInvoiceNo, batchRemark } = this.newTransaction\n const imported: CommissionData[] = records.map(({ advCode, advName, policyNumber, clientName, productName, productType, premiumAmt, commissionAmt, orCommissionAmt, issuedDate, paidToDate, payMode }) => {\n return { advCode, advName, policyNumber, clientName, productName, productType, premiumAmt, commissionAmt, orCommissionAmt, issuedDate, paidToDate, payMode }\n })\n const _oid = this.projectSettings.useHierarchySetup ? await CommissionRecordsService.importNewCommissionDataViaHierarchySetup({\n paymentDate: paymentDateMillis,\n statementDate: statementDateMillis,\n paid,\n principal,\n remunerationType,\n taxInvoiceNo,\n remark: batchRemark,\n commissionData: imported\n })\n : await CommissionRecordsService.importNewCommissionData({\n paymentDate: paymentDateMillis,\n statementDate: statementDateMillis,\n paid,\n principal,\n remunerationType,\n taxInvoiceNo,\n remark: batchRemark,\n commissionData: imported\n })\n\n this.$router.push({ name: 'Commission Details', query: { _oid } })\n } finally {\n this.isImporting = false\n this.uiService.loading.removeLoadingTask(id)\n }\n }\n\n async validateTaxInvoiceNo () {\n await CommissionRecordsService.validateTaxInvoiceNo({ taxInvoiceNo: this.newTransaction.taxInvoiceNo })\n }\n\n async mounted () {\n this.uiService = this.sharedVariable.uiService\n await this.fetchCommissionRecords()\n await this.fetchPrincipalList()\n const { commission_template } = await this.$api.system.information()\n this.enableIssuerTemplate = commission_template ?? false\n this.setTransactionModel()\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins } from 'vue-property-decorator'\nimport TransactionMixin from './TransactionMixin'\n\n@Component\nexport default class Transactions extends Mixins(TransactionMixin) {\n\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transactions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transactions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Transactions.vue?vue&type=template&id=1be76c06&scoped=true&\"\nimport script from \"./Transactions.vue?vue&type=script&lang=ts&\"\nexport * from \"./Transactions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Transactions.vue?vue&type=style&index=0&id=1be76c06&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1be76c06\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column-group\",style:(_vm.gridStyle),attrs:{\"id\":\"app-form\"}},[_vm._l((_vm.structuresDetails),function(structure){return [(_vm.shouldShow(structure.show))?_c('div',{key:structure.key,staticClass:\"input-group-with-theme\",class:[{ 'input-disabled': _vm.shouldDisabled(structure.disabled)}, _vm.getCustomClass(structure)],attrs:{\"has-msg\":structure.hasErrors,\"focusing\":_vm.focusId == _vm.getId(structure.key),\"id\":(\"box-\" + (_vm.getId(structure.key)))},on:{\"click\":function($event){return _vm.focusInner(structure)}}},[[(structure.labelModel)?_c('input',{staticClass:\"label\",attrs:{\"type\":\"text\",\"placeholder\":structure.label,\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":_vm.labelModelValue(structure.labelModel.get())},on:{\"input\":function($event){return structure.labelModel.set($event.target.value)}}}):(structure.labelKey)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model[structure.labelKey]),expression:\"model[structure.labelKey]\"}],staticClass:\"label\",attrs:{\"type\":\"text\",\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":(_vm.model[structure.labelKey])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.model, structure.labelKey, $event.target.value)}}}):_vm._e(),(structure.labelModel || structure.labelKey)?_c('i',{staticClass:\"fa fa-pencil-alt right-sided\"}):(structure.type === 'single-checkbox')?_c('span'):_c('label',{attrs:{\"for\":_vm.getId(structure.key),\"id\":_vm.getId(structure.key) + '_label'},domProps:{\"innerHTML\":_vm._s(structure.label)}}),(structure.tooltip)?_c('AppTooltip',{attrs:{\"tooltipConfig\":structure.tooltip}}):_vm._e(),(_vm.isModernTheme)?_vm._l((structure.errors),function(ref,eidx){\nvar msg = ref.msg;\nreturn _c('div',{key:((structure.key) + \"-error-\" + eidx),staticClass:\"form-msg\",class:{\n full:\n eidx === 0 || _vm.fullErr === ((structure.key) + \"-error-\" + eidx),\n },on:{\"click\":function($event){_vm.fullErr = (structure.key) + \"-error-\" + eidx}}},[_c('el-tooltip',[_c('span',{staticClass:\"el-icon-warning\"}),_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(msg))])])],1)}):_vm._e()],(structure.options && structure.type === 'smart')?_c('AppSmartSelect',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"multiple\":structure.multiple,\"cols\":structure.optionCols,\"multiLimit\":structure.multiLimit,\"buttonName\":structure.buttonName,\"cycleMode\":structure.cycleMode,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'single-checkbox')?_c('el-checkbox',{attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},[_vm._v(\" \"+_vm._s(structure.label)+\" \")]):(structure.options && structure.type === 'checkbox')?_c('AppCheckboxGroup',{attrs:{\"structure\":structure,\"model\":_vm.model,\"column\":structure.checkboxColumnNo,\"compact\":structure.compact},on:{\"change\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.options && structure.type === 'radio')?_c('AppRadioSelection',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"buttonName\":structure.buttonName,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'multi')?_c('el-select',{staticClass:\"form-multi-select\",attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"multiple\":\"\",\"collapse-tags\":\"\",\"size\":'small',\"popper-class\":'wen-popper-class'},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},_vm._l((structure.options),function(option,index){return _c('el-option',{key:index,attrs:{\"value\":option.value,\"label\":option.label}})}),1):(structure.options)?_c('select',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled)},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setSelectValue($event.target, structure)}}},_vm._l((structure.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])}),0):(structure.type === 'decimal-number')?[_c('AppDecimalNumber',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"decimal\":structure.decimal,\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:(structure.type === 'number' || structure.type === 'time' || structure.type === 'password')?_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":structure.type,\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'currency')?_c('currency-input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"currency\":structure.currencyFormat,\"aria-labelledby\":_vm.getLabelId(structure.key),\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"precision\":structure.precision},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'date' || structure.type === 'month')?_c('AppDateInput',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"value\":_vm.getValue(structure),\"id\":_vm.getId(structure.key),\"input-type\":structure.type,\"data-test\":_vm.getTestId(structure.key),\"aria-label\":structure.label,\"disabled\":_vm.shouldDisabled(structure.disabled),\"futureDate\":structure.futureDate,\"disabledFutureDate\":structure.disabledFutureDate},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'textarea')?_c('textarea',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar,\"rows\":structure.rows || 10},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'table')?_c('AppFormTable',{staticClass:\"inner-table\",attrs:{\"innerTable\":true,\"vertical\":structure.isVertical,\"maxSize\":structure.maxSize,\"fields\":structure.columns,\"data\":_vm.getValueForTable(structure)},on:{\"add\":structure.add,\"remove\":structure.remove}}):(structure.type==='na-currency')?[_c('AppCurrencyNA',{attrs:{\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxLength},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":\"text\",\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler(structure, $event.target.value)}}}),(structure.isMyInfo)?_c('img',{staticClass:\"input-hint logo\",attrs:{\"src\":require(\"@core/assets/myinfo-icon.svg\")}}):_vm._e(),(structure.counterMsg && _vm.isModernTheme)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(structure.counterMsg)+\" \")]):_vm._e()],2):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],attrs:{\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keypress\":function($event){return _vm.numberAndNAOnly($event)},\"blur\":function($event){return _vm.onBlur()},\"focus\":function($event){return _vm.onFocus()},\"select\":function($event){return _vm.onSelect($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputModal=$event.target.value}}}),(!_vm.disabled)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(_vm.counterMsg)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\nimport { inject } from 'inversify-props'\n\n@Component\nexport default class AppCurrencyNA extends Vue {\n @Prop() inputValue\n @Prop({ default: true }) useCurrency!: boolean\n @Prop({ default: 10 }) maxlength?: number\n @Prop({ default: false }) disabled: boolean\n\n @inject()\n private projectInfo: IProjectInfo\n\n inputModal = ''\n textIsSelected = false\n\n get counterMsg () {\n if (typeof this.maxlength === 'undefined') return\n const number = this.convertCurrencyToNumber(this.inputModal)\n const remainingChar = this.maxlength - (number.toString().length || 0)\n return remainingChar > 0 ? `${remainingChar} letter(s) remaining` : 'Max character limit reached'\n }\n\n numberAndNAOnly (evt) {\n evt = (evt) || window.event\n const charCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n if (this.textIsSelected) {\n if (!this.isAlphabetN(charCode) && this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n // if current value is 'NA', cannot key in other character\n if (currentValue.toUpperCase() === 'NA') {\n evt.preventDefault()\n }\n\n // if current value is N, the followed char must be A\n if (this.isAlphabetN(currentValue.charCodeAt(0))) {\n if (this.isAlphabetA(charCode)) {\n return true\n }\n evt.preventDefault() // only can accept A\n }\n\n // if there is empty value, it can either key in char N or number only\n if (!currentValue) {\n if (this.isAlphabetN(charCode)) {\n return true\n }\n }\n\n // cannot key in non number value\n if (this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n return true\n }\n }\n\n isAlphabetN (charCode) {\n return charCode === 78 || charCode === 110\n }\n\n isAlphabetA (charCode) {\n return charCode === 65 || charCode === 97\n }\n\n isNonNumber (charCode) {\n return charCode > 31 && (charCode < 48 || charCode > 57)\n }\n\n onBlur () {\n if (!this.inputModal && this.inputModal !== '0') {\n this.inputModal = this.formatValue('')\n this.$emit('input', '')\n return\n }\n\n // format na to NA to display\n if (this.inputModal.toUpperCase() === 'NA') {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n // in case only key in 'n' and on blur, format it to NA\n if (isNaN(Number(this.inputModal))) {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n const number = this.convertCurrencyToNumber(this.inputModal)\n this.inputModal = this.formatValue(number)\n this.$emit('input', Number(number))\n }\n\n onFocus () {\n this.inputModal = this.convertCurrencyToNumber(this.inputModal)\n }\n\n onSelect () {\n this.textIsSelected = true\n }\n\n formatValue (source) {\n if (typeof source === 'string') {\n if (source.toUpperCase() === 'NA' || source === '') {\n return source\n }\n source = Number(source.replace('$', '').replace(',', ''))\n } else if (source === undefined || source == null) {\n source = ''\n }\n return this.useCurrency ? this.currencyPrefix + source?.toLocaleString('en-US') : source?.toLocaleString('en-US')\n }\n\n convertCurrencyToNumber (currency) {\n return currency.replaceAll(this.currencyPrefix, '').replaceAll(',', '')\n }\n\n get currencyPrefix () {\n return this.projectInfo.currency ?? 'SGD$'\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue || this.inputValue === '0' || Number(this.inputValue) === 0) {\n this.inputModal = this.formatValue(this.inputValue)\n } else {\n this.inputModal = this.formatValue('')\n }\n }\n\n mounted () {\n this.inputModal = this.formatValue(this.inputValue)\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppCurrencyNA.vue?vue&type=template&id=423a3b72&scoped=true&\"\nimport script from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"423a3b72\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Base } from '@master/model/Base'\nimport { FormStructure, Input, TableSetup } from '@master/model/structure/FormStructure'\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport AppCheckboxGroup from '@core/components/AppCheckboxGroup.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport AppSmartSelect from '@core/components/AppSmartSelect.vue'\nimport { inject } from 'inversify-props'\nimport { IDateService } from '@master/services/IDateService'\nimport AppDateInput from './AppDateInput.vue'\nimport { getMaxChar } from '@master/annotation/MaxChar'\nimport { IProjectSettings } from '@master/config/IProjectSettings'\nimport { isUndefined } from 'lodash/fp'\nimport randomstring from 'randomstring'\nimport AppCurrencyNA from './AppCurrencyNA.vue'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\nimport AppTooltip from './AppTooltip.vue'\n\n@Component({\n components: {\n AppSmartSelect,\n AppCheckboxGroup,\n AppRadioSelection,\n AppDateInput,\n AppFormTable,\n AppCurrencyNA,\n AppDecimalNumber,\n AppTooltip\n }\n})\n\nexport default class AppForm extends Vue {\n @Prop() readonly structures!: FormStructure[];\n @Prop() readonly model!: T;\n @Prop({ default: 1 }) readonly columns: number;\n @Prop() readonly errors?: { key: string; msg: string }[];\n @Prop({ default: () => { return Date.now() } })\n readonly uniqueID: string;\n\n @Prop({ default: false }) readonly readOnly: boolean;\n\n @inject()\n private dateService: IDateService;\n\n @inject()\n private projectSettings: IProjectSettings;\n\n private minimal = true;\n // private renderCnt = 0;\n private focusId = null;\n private fullErr = null;\n\n get structuresDetails () {\n return this.structures.map((structure) => {\n const key = (structure as any).key\n const errors = this.errors?.filter((err) => err.key === key) || []\n const maxChar = getMaxChar(this.model, key)\n const charLeft = this.getCharLeft(key)\n const counterMsg = this.getCounterMsg(maxChar, charLeft)\n return {\n errors,\n hasErrors: errors?.length > 0,\n maxChar,\n counterMsg,\n ...structure\n }\n })\n }\n\n get gridStyle () {\n return {\n gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))`\n }\n }\n\n get isModernTheme () {\n return this.projectSettings.theme === 'Modern'\n }\n\n getCounterMsg (maxChar, charLeft) {\n if (!this.isModernTheme) return '' // counterMsg only used in Modern Theme\n return maxChar ? charLeft > 0 ? `${charLeft} letters remaining` : 'Max character limit reached' : ''\n }\n\n shouldDisabled (condition: boolean | Function = false) {\n if (this.readOnly) return true\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n shouldShow (condition: boolean | Function = true) {\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n getValue (input: Input) {\n if (input.type === 'currency') {\n const oriValue = this.model[input.key]\n if (typeof oriValue === 'string' || oriValue instanceof String) {\n return Number(this.model[input.key])\n }\n }\n if (input.key) {\n return this.model[input.key]\n } else if (input.model) {\n return input.model.get()\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n /**\n * Return null as the label if it is empty so\n * that the placeholder will appear\n */\n labelModelValue (labelValue: string) {\n return !labelValue ? null : labelValue\n }\n\n getValueForTable (input: TableSetup) {\n if (input.key) {\n return this.model[input.key]\n } else if (input.data) {\n return input.data\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n // this is to resolve the issue of event.target.value is always passed as string, but our use cases might need number\n setSelectValue (event, structure) {\n const selectedOption = structure.options[event.selectedIndex]\n this.setValue(structure, selectedOption.value)\n }\n\n setValue (input: Input, _value: T[keyof T]) {\n const value: any = input.type === 'number' ? +_value || 0 : _value\n\n if (input.key) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n // when only has getter (for currency input), sidestep the error\n try {\n this.model[input.key] = value\n } catch (ex) {}\n } else if (input.model) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n return input.model.set(value)\n } else {\n throw new Error(`Invalid config for label ${input.label}: key or model is required`)\n }\n }\n\n getId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.uniqueID}_${this.model.snakeCaseKey(key)}`\n }\n\n if (isUndefined(key)) {\n key = randomstring.generate(6)\n }\n\n if (this.uniqueID) {\n return `${this.uniqueID}_${key}`\n }\n\n return `${key}`\n }\n\n getTestId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.model.snakeCaseKey(key)}`\n }\n return undefined\n }\n\n getLabelId (key: string) {\n return this.getId(key) + '_label'\n }\n\n arrangeCols () {\n const curAppForm = this.$el\n const hasOverflow = curAppForm.scrollWidth > curAppForm.clientWidth\n if (hasOverflow) this.minimal = true\n }\n\n blurHandler (input: Input, _value: T[keyof T]) {\n if (this.isModernTheme) {\n this.focusId = null\n }\n\n if (input && input?.onBlur) {\n input.onBlur(_value)\n }\n }\n\n // use to handle Modern theme\n focusInner (structure: any) {\n // this means label is also editable, thus do not auto focus input\n if (structure.labelModel || structure.labelKey || structure.model) return\n const eleId = this.getId(structure.key)\n this.focusId = eleId\n const ele = document.getElementById(eleId)\n if (ele) ele.focus()\n }\n\n getCharLeft (key: string) {\n const mc = getMaxChar(this.model, key)\n return mc ? mc - (this.model[key]?.length || 0) : mc\n }\n\n getCustomClass (structure) {\n return structure.classes ? [...structure.classes] : []\n }\n\n // @Watch('structures')\n // structuresUpdated () {\n // // this is to allow view to be updated when structures change\n // this.renderCnt++\n // }\n\n @Watch('structuresDetails', { deep: true })\n focusError (swe) {\n if (!this.isModernTheme) return // this is used for Modern Theme\n\n const first = swe.find((s) => 'msg' in s)\n if (!first) return\n const ele = document.getElementById(`box-${this.getId(first.key)}`)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth', block: 'end' })\n }\n\n updated () {\n this.arrangeCols()\n }\n\n mounted () {\n this.arrangeCols()\n window.addEventListener('resize', () => this.arrangeCols())\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppForm.vue?vue&type=template&id=11928856&scoped=true&\"\nimport script from \"./AppForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11928856\",\n null\n \n)\n\nexport default component.exports","import { BankBicOptions } from '@master/model/options/BankBicOptions'\nexport function parseFloatNumber (value: number | string | null) {\n if (typeof value === 'number') {\n return value\n }\n\n if (!value) {\n return null\n }\n\n return parseFloat(value.replace(/,/g, ''))\n}\n\nexport function parseIntNumber (value: number | string | null) {\n if (typeof value === 'number') {\n return value\n }\n\n if (!value) {\n return null\n }\n\n return parseInt(value.replace(/,/g, ''))\n}\nexport function parseToCorrectString (srcStr: string, targetStrList: string[]) {\n if (!srcStr || !targetStrList) return ''\n srcStr = srcStr.trim()\n const correctWord = targetStrList.find(target => {\n if (target.toLowerCase() === srcStr.toLowerCase()) {\n return target\n }\n })\n if (!correctWord) {\n return srcStr\n }\n return correctWord || ''\n}\n\nexport function mapBankNameToBankCode (srcBankName: string) {\n if (!srcBankName) return ''\n // not sure why this function get called two time, it transform all to code first and then run again\n // this made the bank info not found as the second call is using the bank code not the bank name\n // for quick fix, i add two level of logic:\n // 1. mapping with the bank name\n // 2. mapping with the bank code\n // to make sure either name / code can be mapped\n const targetBank = BankBicOptions.find(bankOption => (bankOption.NAME.toLowerCase() === srcBankName.toLowerCase() || bankOption.CODE === srcBankName))\n\n if (!targetBank) {\n return 'NOT FOUND'\n }\n return targetBank.NAME\n}\n","import { defaultMetadataStorage } from './storage';\nimport { TransformationType } from './enums';\nimport { getGlobal, isPromise } from './utils';\nfunction instantiateArrayType(arrayType) {\n var array = new arrayType();\n if (!(array instanceof Set) && !('push' in array)) {\n return [];\n }\n return array;\n}\nvar TransformOperationExecutor = /** @class */ (function () {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n function TransformOperationExecutor(transformationType, options) {\n this.transformationType = transformationType;\n this.options = options;\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n this.recursionStack = new Set();\n }\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n TransformOperationExecutor.prototype.transform = function (source, value, targetType, arrayType, isMap, level) {\n var _this = this;\n if (level === void 0) { level = 0; }\n if (Array.isArray(value) || value instanceof Set) {\n var newValue_1 = arrayType && this.transformationType === TransformationType.PLAIN_TO_CLASS\n ? instantiateArrayType(arrayType)\n : [];\n value.forEach(function (subValue, index) {\n var subSource = source ? source[index] : undefined;\n if (!_this.options.enableCircularCheck || !_this.isCircular(subValue)) {\n var realTargetType = void 0;\n if (typeof targetType !== 'function' &&\n targetType &&\n targetType.options &&\n targetType.options.discriminator &&\n targetType.options.discriminator.property &&\n targetType.options.discriminator.subTypes) {\n if (_this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n realTargetType = targetType.options.discriminator.subTypes.find(function (subType) {\n return subType.name === subValue[targetType.options.discriminator.property];\n });\n var options = { newObject: newValue_1, object: subValue, property: undefined };\n var newType = targetType.typeFunction(options);\n realTargetType === undefined ? (realTargetType = newType) : (realTargetType = realTargetType.value);\n if (!targetType.options.keepDiscriminatorProperty)\n delete subValue[targetType.options.discriminator.property];\n }\n if (_this.transformationType === TransformationType.CLASS_TO_CLASS) {\n realTargetType = subValue.constructor;\n }\n if (_this.transformationType === TransformationType.CLASS_TO_PLAIN) {\n subValue[targetType.options.discriminator.property] = targetType.options.discriminator.subTypes.find(function (subType) { return subType.value === subValue.constructor; }).name;\n }\n }\n else {\n realTargetType = targetType;\n }\n var value_1 = _this.transform(subSource, subValue, realTargetType, undefined, subValue instanceof Map, level + 1);\n if (newValue_1 instanceof Set) {\n newValue_1.add(value_1);\n }\n else {\n newValue_1.push(value_1);\n }\n }\n else if (_this.transformationType === TransformationType.CLASS_TO_CLASS) {\n if (newValue_1 instanceof Set) {\n newValue_1.add(subValue);\n }\n else {\n newValue_1.push(subValue);\n }\n }\n });\n return newValue_1;\n }\n else if (targetType === String && !isMap) {\n if (value === null || value === undefined)\n return value;\n return String(value);\n }\n else if (targetType === Number && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Number(value);\n }\n else if (targetType === Boolean && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Boolean(value);\n }\n else if ((targetType === Date || value instanceof Date) && !isMap) {\n if (value instanceof Date) {\n return new Date(value.valueOf());\n }\n if (value === null || value === undefined)\n return value;\n return new Date(value);\n }\n else if (!!getGlobal().Buffer && (targetType === Buffer || value instanceof Buffer) && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Buffer.from(value);\n }\n else if (isPromise(value) && !isMap) {\n return new Promise(function (resolve, reject) {\n value.then(function (data) { return resolve(_this.transform(undefined, data, targetType, undefined, undefined, level + 1)); }, reject);\n });\n }\n else if (!isMap && value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // Note: We should not enter this, as promise has been handled above\n // This option simply returns the Promise preventing a JS error from happening and should be an inaccessible path.\n return value; // skip promise transformation\n }\n else if (typeof value === 'object' && value !== null) {\n // try to guess the type\n if (!targetType && value.constructor !== Object /* && TransformationType === TransformationType.CLASS_TO_PLAIN*/)\n targetType = value.constructor;\n if (!targetType && source)\n targetType = source.constructor;\n if (this.options.enableCircularCheck) {\n // add transformed type to prevent circular references\n this.recursionStack.add(value);\n }\n var keys = this.getKeys(targetType, value, isMap);\n var newValue = source ? source : {};\n if (!source &&\n (this.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this.transformationType === TransformationType.CLASS_TO_CLASS)) {\n if (isMap) {\n newValue = new Map();\n }\n else if (targetType) {\n newValue = new targetType();\n }\n else {\n newValue = {};\n }\n }\n var _loop_1 = function (key) {\n if (key === '__proto__' || key === 'constructor') {\n return \"continue\";\n }\n var valueKey = key;\n var newValueKey = key, propertyName = key;\n if (!this_1.options.ignoreDecorators && targetType) {\n if (this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadataByCustomName(targetType, key);\n if (exposeMetadata) {\n propertyName = exposeMetadata.propertyName;\n newValueKey = exposeMetadata.propertyName;\n }\n }\n else if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN ||\n this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(targetType, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n newValueKey = exposeMetadata.options.name;\n }\n }\n }\n // get a subvalue\n var subValue = undefined;\n if (value instanceof Map) {\n subValue = value.get(valueKey);\n }\n else if (value[valueKey] instanceof Function) {\n subValue = value[valueKey]();\n }\n else {\n subValue = value[valueKey];\n }\n // determine a type\n var type = undefined, isSubValueMap = subValue instanceof Map;\n if (targetType && isMap) {\n type = targetType;\n }\n else if (targetType) {\n var metadata_1 = defaultMetadataStorage.findTypeMetadata(targetType, propertyName);\n if (metadata_1) {\n var options = { newObject: newValue, object: value, property: propertyName };\n var newType = metadata_1.typeFunction ? metadata_1.typeFunction(options) : metadata_1.reflectedType;\n if (metadata_1.options &&\n metadata_1.options.discriminator &&\n metadata_1.options.discriminator.property &&\n metadata_1.options.discriminator.subTypes) {\n if (!(value[valueKey] instanceof Array)) {\n if (this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n type = metadata_1.options.discriminator.subTypes.find(function (subType) {\n if (subValue && subValue instanceof Object && metadata_1.options.discriminator.property in subValue) {\n return subType.name === subValue[metadata_1.options.discriminator.property];\n }\n });\n type === undefined ? (type = newType) : (type = type.value);\n if (!metadata_1.options.keepDiscriminatorProperty) {\n if (subValue && subValue instanceof Object && metadata_1.options.discriminator.property in subValue) {\n delete subValue[metadata_1.options.discriminator.property];\n }\n }\n }\n if (this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n type = subValue.constructor;\n }\n if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN) {\n subValue[metadata_1.options.discriminator.property] = metadata_1.options.discriminator.subTypes.find(function (subType) { return subType.value === subValue.constructor; }).name;\n }\n }\n else {\n type = metadata_1;\n }\n }\n else {\n type = newType;\n }\n isSubValueMap = isSubValueMap || metadata_1.reflectedType === Map;\n }\n else if (this_1.options.targetMaps) {\n // try to find a type in target maps\n this_1.options.targetMaps\n .filter(function (map) { return map.target === targetType && !!map.properties[propertyName]; })\n .forEach(function (map) { return (type = map.properties[propertyName]); });\n }\n else if (this_1.options.enableImplicitConversion &&\n this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n // if we have no registererd type via the @Type() decorator then we check if we have any\n // type declarations in reflect-metadata (type declaration is emited only if some decorator is added to the property.)\n var reflectedType = Reflect.getMetadata('design:type', targetType.prototype, propertyName);\n if (reflectedType) {\n type = reflectedType;\n }\n }\n }\n // if value is an array try to get its custom array type\n var arrayType_1 = Array.isArray(value[valueKey])\n ? this_1.getReflectedType(targetType, propertyName)\n : undefined;\n // const subValueKey = TransformationType === TransformationType.PLAIN_TO_CLASS && newKeyName ? newKeyName : key;\n var subSource = source ? source[valueKey] : undefined;\n // if its deserialization then type if required\n // if we uncomment this types like string[] will not work\n // if (this.transformationType === TransformationType.PLAIN_TO_CLASS && !type && subValue instanceof Object && !(subValue instanceof Date))\n // throw new Error(`Cannot determine type for ${(targetType as any).name }.${propertyName}, did you forget to specify a @Type?`);\n // if newValue is a source object that has method that match newKeyName then skip it\n if (newValue.constructor.prototype) {\n var descriptor = Object.getOwnPropertyDescriptor(newValue.constructor.prototype, newValueKey);\n if ((this_1.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this_1.transformationType === TransformationType.CLASS_TO_CLASS) &&\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ((descriptor && !descriptor.set) || newValue[newValueKey] instanceof Function))\n return \"continue\";\n }\n if (!this_1.options.enableCircularCheck || !this_1.isCircular(subValue)) {\n var transformKey = this_1.transformationType === TransformationType.PLAIN_TO_CLASS ? newValueKey : key;\n var finalValue = void 0;\n if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN) {\n // Get original value\n finalValue = value[transformKey];\n // Apply custom transformation\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, transformKey, value, this_1.transformationType);\n // If nothing change, it means no custom transformation was applied, so use the subValue.\n finalValue = value[transformKey] === finalValue ? subValue : finalValue;\n // Apply the default transformation\n finalValue = this_1.transform(subSource, finalValue, type, arrayType_1, isSubValueMap, level + 1);\n }\n else {\n if (subValue === undefined && this_1.options.exposeDefaultValues) {\n // Set default value if nothing provided\n finalValue = newValue[newValueKey];\n }\n else {\n finalValue = this_1.transform(subSource, subValue, type, arrayType_1, isSubValueMap, level + 1);\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, transformKey, value, this_1.transformationType);\n }\n }\n if (finalValue !== undefined || this_1.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n }\n else {\n newValue[newValueKey] = finalValue;\n }\n }\n }\n else if (this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n var finalValue = subValue;\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, key, value, this_1.transformationType);\n if (finalValue !== undefined || this_1.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n }\n else {\n newValue[newValueKey] = finalValue;\n }\n }\n }\n };\n var this_1 = this;\n // traverse over keys\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n _loop_1(key);\n }\n if (this.options.enableCircularCheck) {\n this.recursionStack.delete(value);\n }\n return newValue;\n }\n else {\n return value;\n }\n };\n TransformOperationExecutor.prototype.applyCustomTransformations = function (value, target, key, obj, transformationType) {\n var _this = this;\n var metadatas = defaultMetadataStorage.findTransformMetadatas(target, key, this.transformationType);\n // apply versioning options\n if (this.options.version !== undefined) {\n metadatas = metadatas.filter(function (metadata) {\n if (!metadata.options)\n return true;\n return _this.checkVersion(metadata.options.since, metadata.options.until);\n });\n }\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n metadatas = metadatas.filter(function (metadata) {\n if (!metadata.options)\n return true;\n return _this.checkGroups(metadata.options.groups);\n });\n }\n else {\n metadatas = metadatas.filter(function (metadata) {\n return !metadata.options || !metadata.options.groups || !metadata.options.groups.length;\n });\n }\n metadatas.forEach(function (metadata) {\n value = metadata.transformFn({ value: value, key: key, obj: obj, type: transformationType, options: _this.options });\n });\n return value;\n };\n // preventing circular references\n TransformOperationExecutor.prototype.isCircular = function (object) {\n return this.recursionStack.has(object);\n };\n TransformOperationExecutor.prototype.getReflectedType = function (target, propertyName) {\n if (!target)\n return undefined;\n var meta = defaultMetadataStorage.findTypeMetadata(target, propertyName);\n return meta ? meta.reflectedType : undefined;\n };\n TransformOperationExecutor.prototype.getKeys = function (target, object, isMap) {\n var _this = this;\n // determine exclusion strategy\n var strategy = defaultMetadataStorage.getStrategy(target);\n if (strategy === 'none')\n strategy = this.options.strategy || 'exposeAll'; // exposeAll is default strategy\n // get all keys that need to expose\n var keys = [];\n if (strategy === 'exposeAll' || isMap) {\n if (object instanceof Map) {\n keys = Array.from(object.keys());\n }\n else {\n keys = Object.keys(object);\n }\n }\n if (isMap) {\n // expose & exclude do not apply for map keys only to fields\n return keys;\n }\n if (!this.options.ignoreDecorators && target) {\n // add all exposed to list of keys\n var exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n exposedProperties = exposedProperties.map(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n return exposeMetadata.options.name;\n }\n return key;\n });\n }\n if (this.options.excludeExtraneousValues) {\n keys = exposedProperties;\n }\n else {\n keys = keys.concat(exposedProperties);\n }\n // exclude excluded properties\n var excludedProperties_1 = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n if (excludedProperties_1.length > 0) {\n keys = keys.filter(function (key) {\n return !excludedProperties_1.includes(key);\n });\n }\n // apply versioning options\n if (this.options.version !== undefined) {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n return _this.checkVersion(exposeMetadata.options.since, exposeMetadata.options.until);\n });\n }\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n return _this.checkGroups(exposeMetadata.options.groups);\n });\n }\n else {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n return (!exposeMetadata ||\n !exposeMetadata.options ||\n !exposeMetadata.options.groups ||\n !exposeMetadata.options.groups.length);\n });\n }\n }\n // exclude prefixed properties\n if (this.options.excludePrefixes && this.options.excludePrefixes.length) {\n keys = keys.filter(function (key) {\n return _this.options.excludePrefixes.every(function (prefix) {\n return key.substr(0, prefix.length) !== prefix;\n });\n });\n }\n // make sure we have unique keys\n keys = keys.filter(function (key, index, self) {\n return self.indexOf(key) === index;\n });\n return keys;\n };\n TransformOperationExecutor.prototype.checkVersion = function (since, until) {\n var decision = true;\n if (decision && since)\n decision = this.options.version >= since;\n if (decision && until)\n decision = this.options.version < until;\n return decision;\n };\n TransformOperationExecutor.prototype.checkGroups = function (groups) {\n if (!groups)\n return true;\n return this.options.groups.some(function (optionGroup) { return groups.includes(optionGroup); });\n };\n return TransformOperationExecutor;\n}());\nexport { TransformOperationExecutor };\n//# sourceMappingURL=TransformOperationExecutor.js.map","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n"],"sourceRoot":""}