{"version":3,"sources":["webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-path-adapter.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vue-model.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-path-mixin.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-root-adapter.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-item-adapter.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-root-mixin.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vue-internals.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vue-global-mixin.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vue-helpers.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/entity-observer.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/object-meta-observer.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/array-observer.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-option-adapter.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vm-root-component.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vm-source-component.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/index.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/vue-model-observability.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/helpers.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/source-adapter.js","webpack:///C:/a/2/s/Cognito.Web.Client/libs/vuemodel/lib/custom-observer.js"],"names":["extendStatics","__extends","this","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","k","v","metadata","__importDefault","mod","__esModule","exports","value","formatDisplayValue","SourcePathAdapter","vue_1","vue_property_decorator_1","model_js_1","model_js_2","source_adapter_1","source_option_adapter_1","model_js_3","vue_model_observability_1","model_js_4","model_js_5","source_item_adapter_1","model_js_6","model_js_7","helpers_1","_id","_super","_this","apply","formatErrorCondition","id","concat","get","parentVm","$parent","parentLevel","isSourceAdapter","$source","Error","enumerable","configurable","property","parent","type","meta","getPath","source","preventVueObservability","isEntity","jstype","propertyType","isList","getLastTarget","label","overrides","labelIsFormat","evaluateLabel","helptext","helptextIsFormat","toString","readonly","required","isPropertyBooleanFunctionAndOptions","isPropertyBooleanFunction","function","ensureObservable","set","valueArray_1","observableArray_1","batchUpdate","updateArray","metaOb","getObjectMetaObserver","conditionTargets","conditions","forEach","condition","onPropertyAccess","formatErrorConditions","Property","PropertyChain","lastProperty","filter","properties","indexOf","map","conditionTarget","sort","conditionA","conditionB","compare","err","createCondition","formatError","invalidValue","text","isEntityType","newValue","formatter","format","isValueType","containingType","model","getFormat","clearCondition","FormatError","ConditionType","convertBack","allowedValuesRules","rules","AllowedValuesRule","allowedValuesRule","targetObj","allowedValuesFromRule","values","ignoreValidation","clearInvalidOptions","Entity","observeEntity","$children","SourceOptionAdapter","$destroy","allowedValues","Boolean","propsData","items","existingItemsToDestroy","SourceItemAdapter","isArray","existingItemsMap_1","adapter","isOrphaned","existingItem","existingItemIndex","splice","$options","index","push","newItem","parentSource","subscribeToSourceChanges","conditionTargetA","conditionTargetB","RequiredRule","category","array","item","ObservableArray","isObservableArray","observeArray","Prop","Component","default","displayValue","convert","join","createVueModel","VueModel","vue_internals_1","vue_global_mixin_1","source_path_mixin_1","source_root_mixin_1","vm_root_component_1","vm_source_component_1","options","config","_Vue","makeEntitiesVueObservable","install","vue","component","VMRoot","VMSource","ensureVueInternalTypes","_VueInternals","VueModel$installGlobalMixin","Observer","Dep","mixins","SourcePath","SourcePathMixin","SourceRoot","SourceRootMixin","CultureInfo","Model","Promise","resolve","ready","source_path_adapter_1","onLabelChanged","onOverrideValueChanged","onHelptextChanged","onReadonlyChanged","onRequiredChanged","ensureOverridesAppliedToSourceAdapter","hasOverrides","hasOverrideValue","isSourcePathAdapter","name","Watch","Function","SourceRootAdapter","entity","fullName","_this_1","internalIndex","isSubscribedToSourceChanges","created","suppressChangeTracking","onIndexChanged","changed","subscribe","args","changes","ArrayChangeType","remove","startIndex","add","isSourcePropertyAdapter","Number","source_root_adapter_1","VueModel$Vue","Vue","observableData","observable","data","$data","observer","__ob__","observerCtor","depCtor","dep","vue_helpers_1","replaceEntityData","vm","vm$private","debug","_entity","mixin","beforeCreate","dataFn","preprocessDataToInterceptEntities","_entitiesAreVueObservable","getEntityObserver","_data","props","methods","Vue$isReserved","Vue$proxy","proxyEntityPropertiesOntoComponentInstance","restoreComponentEntityData","Vue$dependArray","str","charCodeAt","e","l","depend","sourceKey","EntityObserver","custom_observer_1","shallow","mock","_observable","accessed","_onAccess","bind","_onChange","__fields__","onPropertyChange","CustomObserver","ObjectMetaObserver","_onConditionsChanged","ArrayObserver","notify","path","vue_class_component_1","render","slotNodes","$scopedSlots","vue_model_1","dependChildArray","getArrayObserverConstructor","getArrayObserver","getObjectMetaObserverConstructor","getEntityObserverConstructor","getCustomObserverConstructor","CustomObserverConstructor","asRootData","ob","vmCount","getProp","markRaw","obj","EntityObserverConstructor","ObjectMetaObserverConstructor","ArrayObserverConstructor","arrayObserver","vueCompatibleModels","entityRegistered","_i","_a","keys","types","typeName","known","setProp","prop","hasOwnPropertyFn","message","isSourceItemAdapter","isSourceRootAdapter","allowAnyObject","VueInternals","propertyDeps","getPropertyDep","propertyName","propertyDep","writable","childOb"],"mappings":"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","file":"175.d7276b8ac3f5e2486d93.js","sourcesContent":["\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.formatDisplayValue = exports.SourcePathAdapter = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_option_adapter_1 = require(\"./source-option-adapter\");\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar model_js_4 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_5 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar source_item_adapter_1 = require(\"./source-item-adapter\");\r\nvar model_js_6 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_7 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\nvar _id = 0;\r\n// @ts-ignore\r\nvar SourcePathAdapter = /** @class */ (function (_super) {\r\n __extends(SourcePathAdapter, _super);\r\n function SourcePathAdapter() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n // viewState: { formatError: ConditionTarget } = { formatError: null };\r\n // formatError: FormatError = null;\r\n _this.formatErrorCondition = null;\r\n _this.id = \"\".concat(_id++);\r\n return _this;\r\n }\r\n Object.defineProperty(SourcePathAdapter.prototype, \"parent\", {\r\n get: function () {\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if ((0, source_adapter_1.isSourceAdapter)(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"property\", {\r\n get: function () {\r\n var property = this.parent.type.meta.getPath(this.source);\r\n (0, vue_model_observability_1.preventVueObservability)(property);\r\n return property;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"type\", {\r\n get: function () {\r\n // If possible, determine the type based on the actual entity instance\r\n if (this.value && (0, helpers_1.isEntity)(this.value))\r\n return this.value.meta.type.jstype;\r\n return this.property.propertyType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return this.property.isList;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"lastTarget\", {\r\n get: function () {\r\n var property = this.property;\r\n return property.getLastTarget(this.parent.value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"label\", {\r\n /**\r\n * Gets the label for the source property.\r\n *\r\n * @returns The source override label if specified, or the model property label if not\r\n */\r\n get: function () {\r\n var label = this.overrides ? this.overrides.label : null;\r\n if (label === undefined || label === null) {\r\n if (this.property.labelIsFormat) {\r\n label = (0, model_js_2.evaluateLabel)(this.property, this.parent.value);\r\n }\r\n else {\r\n label = this.property.label;\r\n }\r\n }\r\n return label;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"helptext\", {\r\n /**\r\n * Gets the helptext for the source property.\r\n *\r\n * @returns The source override helptext if specified, or the model property helptext if not\r\n */\r\n get: function () {\r\n var helptext = this.overrides ? this.overrides.helptext : null;\r\n if (helptext === undefined || helptext === null) {\r\n if (this.property.helptextIsFormat) {\r\n helptext = this.parent.value.toString(this.property.helptext);\r\n }\r\n else {\r\n helptext = this.property.helptext;\r\n }\r\n }\r\n return helptext;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"readonly\", {\r\n /**\r\n * Indicants whether the source property is readonly.\r\n *\r\n * @returns True if either the parent source or the source override is read only, otherwise false\r\n */\r\n get: function () {\r\n return this.parent.readonly || (this.overrides ? !!this.overrides.readonly : false);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"required\", {\r\n /**\r\n * Indicants whether the source property is required.\r\n *\r\n * @returns True if the property is required, otherwise false\r\n */\r\n get: function () {\r\n if (this.overrides && this.overrides.required != null)\r\n return this.overrides.required;\r\n if ((0, model_js_2.isPropertyBooleanFunctionAndOptions)(this.property.required)) {\r\n if ((0, model_js_2.isPropertyBooleanFunction)(this.property.required.function)) {\r\n return this.property.required.function.call(this.parent.value);\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n if ((0, model_js_2.isPropertyBooleanFunction)(this.property.required))\r\n return this.property.required.call(this.parent.value);\r\n return this.property.required === true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"value\", {\r\n /**\r\n * Gets the value of the source property on the entity.\r\n *\r\n * @returns The observable raw value of the property\r\n */\r\n get: function () {\r\n // This adapter has no value if its parent has no value\r\n if (!this.parent.value)\r\n return;\r\n return this.ensureObservable(this.property.value(this.parent.value));\r\n },\r\n /**\r\n * Sets the value of the source property on the entity.\r\n *\r\n * @param value - The new value to assign to the property\r\n */\r\n set: function (value) {\r\n if (this.property.isList) {\r\n var valueArray_1 = value;\r\n var observableArray_1 = this.property.value(this.parent.value);\r\n observableArray_1.batchUpdate(function () { return (0, model_js_5.updateArray)(observableArray_1, valueArray_1); });\r\n }\r\n else {\r\n this.property.value(this.parent.value, this.ensureObservable(value));\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"conditions\", {\r\n get: function () {\r\n var _this = this;\r\n var meta = this.parent.value.meta;\r\n var metaOb = (0, vue_model_observability_1.getObjectMetaObserver)(meta);\r\n // Make sure that the meta object is observable, ex: subscribes to conditions array changed\r\n metaOb.ensureObservable();\r\n var conditionTargets = meta.conditions;\r\n conditionTargets.forEach(function (condition) { (0, vue_model_observability_1.preventVueObservability)(condition); });\r\n // Raise property access to let Vue know that array was accessed\r\n // Changes to conditions will result in a Vue change notification for the 'conditions' property\r\n metaOb.onPropertyAccess(\"conditions\", conditionTargets);\r\n var formatErrorConditions = this.formatErrorCondition ? [this.formatErrorCondition] : [];\r\n var property = this.property instanceof model_js_2.Property ? this.property : this.property instanceof model_js_4.PropertyChain ? this.property.lastProperty : null;\r\n if (!property)\r\n return formatErrorConditions;\r\n var conditions = conditionTargets.filter(function (c) { return c.properties.indexOf(property) >= 0; }).map(function (conditionTarget) {\r\n return conditionTarget.condition;\r\n });\r\n conditions = conditions.concat(formatErrorConditions);\r\n conditions = conditions.sort(function (conditionA, conditionB) {\r\n return _this.compare(conditionA, conditionB);\r\n });\r\n return conditions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"formatError\", {\r\n get: function () {\r\n return this.formatErrorCondition ? this.formatErrorCondition[\"formatError\"] : null;\r\n },\r\n set: function (err) {\r\n if (err) {\r\n (0, vue_model_observability_1.preventVueObservability)(err);\r\n var formatErrorCondition = err.createCondition(this.property.getLastTarget(this.parent.value), this.property.lastProperty);\r\n (0, vue_model_observability_1.preventVueObservability)(formatErrorCondition);\r\n formatErrorCondition[\"formatError\"] = err;\r\n this.formatErrorCondition = formatErrorCondition;\r\n }\r\n else {\r\n this.formatErrorCondition = null;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"invalidValue\", {\r\n get: function () {\r\n if (this.formatError) {\r\n return this.formatError.invalidValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"firstError\", {\r\n get: function () {\r\n return this.conditions.length ? this.conditions[0] : null;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n if (this.formatError) {\r\n return this.formatError.invalidValue;\r\n }\r\n var value = this.ensureObservable(this.property.value(this.parent.value));\r\n return formatDisplayValue(this, value);\r\n },\r\n set: function (text) {\r\n if ((0, model_js_6.isEntityType)(this.property.propertyType)) {\r\n throw new Error(\"Cannot set displayValue property of Adapters for entity types.\");\r\n }\r\n /// / TODO: Implement auto-reformat?\r\n // var initialValue = text;\r\n var newValue;\r\n var formatter;\r\n if (this.property.format != null) {\r\n formatter = this.property.format;\r\n }\r\n else if ((0, model_js_6.isValueType)(this.property.propertyType) && this.property.propertyType !== String) {\r\n // Try to use the general format by default\r\n formatter = this.property.containingType.model.getFormat(this.property.propertyType, \"G\");\r\n }\r\n if (this.formatError) {\r\n this.parent.value.meta.clearCondition(model_js_7.FormatError.ConditionType); // TODO: This shouldn't do anything...\r\n this.formatError = null;\r\n }\r\n if (formatter) {\r\n newValue = formatter.convertBack(text);\r\n if (newValue instanceof model_js_7.FormatError) {\r\n (0, vue_model_observability_1.preventVueObservability)(newValue);\r\n this.formatError = newValue;\r\n return;\r\n }\r\n }\r\n else if (this.property.propertyType === String && typeof text === \"string\" && text.length === 0) {\r\n // Convert blank string to null\r\n newValue = null;\r\n }\r\n else {\r\n newValue = text;\r\n }\r\n this.value = newValue;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"allowedValuesRule\", {\r\n get: function () {\r\n var property;\r\n if (this.property instanceof model_js_4.PropertyChain) {\r\n property = this.property.lastProperty;\r\n }\r\n else if (this.property instanceof model_js_2.Property) {\r\n property = this.property;\r\n }\r\n var allowedValuesRules = property.rules.filter(function (r) { return r instanceof model_js_3.AllowedValuesRule; });\r\n if (allowedValuesRules.length) {\r\n var allowedValuesRule = allowedValuesRules[0];\r\n (0, vue_model_observability_1.preventVueObservability)(allowedValuesRule);\r\n return allowedValuesRule;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"allowedValues\", {\r\n get: function () {\r\n var allowedValuesRule = this.allowedValuesRule;\r\n if (!allowedValuesRule) {\r\n // If there is no rule, return an empty list\r\n return;\r\n }\r\n var targetObj;\r\n if (this.property instanceof model_js_4.PropertyChain) {\r\n targetObj = this.property.getLastTarget(this.parent.value);\r\n }\r\n else {\r\n targetObj = this.parent.value;\r\n }\r\n // Retrieve the value of allowed values property\r\n var allowedValuesFromRule = allowedValuesRule.values(targetObj);\r\n if (allowedValuesFromRule) {\r\n // Clear our values that are no longer valid\r\n if (!allowedValuesRule.ignoreValidation) {\r\n this.clearInvalidOptions(allowedValuesFromRule);\r\n }\r\n }\r\n else if (!allowedValuesRule.ignoreValidation) {\r\n // Clear out values since the property doesn't currently have any allowed values\r\n this.clearInvalidOptions(null);\r\n }\r\n allowedValuesFromRule.forEach(function (value) {\r\n if (value instanceof model_js_1.Entity) {\r\n (0, vue_model_observability_1.observeEntity)(value).ensureObservable();\r\n }\r\n else if (typeof value === \"object\") {\r\n (0, vue_model_observability_1.preventVueObservability)(value);\r\n }\r\n });\r\n return allowedValuesFromRule;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"options\", {\r\n get: function () {\r\n var _this = this;\r\n // Destroy existing option components\r\n var optionsToDestroy = this.$children.filter(function (c) { return c instanceof source_option_adapter_1.SourceOptionAdapter; });\r\n optionsToDestroy.forEach(function (c) { return c.$destroy(); });\r\n // TODO: preserve option adapters if possible?\r\n var allowedValues = this.allowedValues;\r\n if (!allowedValues && this.property.propertyType === Boolean) {\r\n // Provide true and false as special allowed values for booleans\r\n allowedValues = [true, false];\r\n }\r\n if (!allowedValues) {\r\n return [];\r\n }\r\n // Map the allowed values to option adapters\r\n return allowedValues.map(function (v) { return new source_option_adapter_1.SourceOptionAdapter({ parent: _this, propsData: { value: v } }); });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourcePathAdapter.prototype, \"items\", {\r\n get: function () {\r\n var items = [];\r\n // Collect existing option components to potentially be destroyed\r\n var existingItemsToDestroy = this.$children.filter(function (c) { return c instanceof source_item_adapter_1.SourceItemAdapter; });\r\n var value = this.value;\r\n if (Array.isArray(value)) {\r\n if ((0, model_js_6.isEntityType)(this.property.propertyType)) {\r\n var existingItemsMap_1 = {};\r\n existingItemsToDestroy.forEach(function (c) {\r\n var adapter = c;\r\n if (!adapter.isOrphaned) {\r\n var key = adapter.value ? adapter.value.meta.id : null;\r\n if (key) {\r\n existingItemsMap_1[key] = adapter;\r\n }\r\n }\r\n });\r\n for (var i = 0; i < value.length; i++) {\r\n var key = value[i].meta.id;\r\n var existingItem = existingItemsMap_1[key];\r\n if (existingItem) {\r\n // Delete the existing item from the map so that it can't be fetched more than once\r\n delete existingItemsMap_1[key];\r\n // Remove the component from the list of items to destroy since we're going to reuse it\r\n var existingItemIndex = existingItemsToDestroy.indexOf(existingItem);\r\n if (existingItemIndex >= 0) {\r\n existingItemsToDestroy.splice(existingItemIndex, 1);\r\n }\r\n // Set the backing storage for the 'index' prop, the internal data should\r\n // already have this value, this just makes the component's state consistent,\r\n // since the inconsistency is just a side-effect of reusing item adapters\r\n var propsData = existingItem.$options.propsData;\r\n propsData.index = i;\r\n // Include the existing item in the return value\r\n items.push(existingItem);\r\n }\r\n else {\r\n // Create a new item adapter\r\n var newItem = new source_item_adapter_1.SourceItemAdapter({ parent: this, propsData: { index: i, parentSource: this } });\r\n // Subscribes to changes to its underlying list source in order to update its index and detect when it becomes orphaned\r\n newItem.subscribeToSourceChanges();\r\n // Include the new item in the return value\r\n items.push(newItem);\r\n }\r\n }\r\n }\r\n }\r\n existingItemsToDestroy.forEach(function (c) { return c.$destroy(); });\r\n return items;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourcePathAdapter.prototype.compare = function (conditionTargetA, conditionTargetB) {\r\n if (conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError || conditionTargetB[\"formatError\"] instanceof model_js_7.FormatError) {\r\n return conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError && conditionTargetB[\"formatError\"] instanceof model_js_7.FormatError ? 0 :\r\n conditionTargetA[\"formatError\"] instanceof model_js_7.FormatError ? -1 : 1;\r\n }\r\n else if (conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule || conditionTargetB[\"source\"] instanceof model_js_1.RequiredRule)\r\n return conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule && conditionTargetB[\"source\"] instanceof model_js_1.RequiredRule ? 0 :\r\n conditionTargetA[\"source\"] instanceof model_js_1.RequiredRule ? -1 : 1;\r\n else if (conditionTargetA.type.category === \"Error\" || conditionTargetB.type.category === \"Error\")\r\n return conditionTargetA.type.category === \"Error\" && conditionTargetB.type.category === \"Error\" ? 0 :\r\n conditionTargetA.type.category === \"Error\" ? -1 : 1;\r\n else\r\n return 0;\r\n };\r\n SourcePathAdapter.prototype.clearInvalidOptions = function (allowedValues) {\r\n var property = this.property;\r\n var value = this.value;\r\n if (allowedValues) {\r\n // Remove option values that are no longer valid\r\n if (value instanceof Array) {\r\n var array = value;\r\n array.batchUpdate(function (array) {\r\n // From the `purge()` function in ExoWeb...\r\n for (var i = 0; i < array.length; i++) {\r\n var item = array[i];\r\n if (allowedValues.indexOf(item) < 0) {\r\n array.splice(i--, 1);\r\n }\r\n }\r\n });\r\n }\r\n else if (value !== null && allowedValues.indexOf(value) < 0) {\r\n property.value(this.parent.value, null);\r\n }\r\n }\r\n else if (value instanceof Array) {\r\n value.splice(0, value.length);\r\n }\r\n else if (value !== null) {\r\n property.value(this.parent.value, null);\r\n }\r\n };\r\n SourcePathAdapter.prototype.ensureObservable = function (value) {\r\n if (Array.isArray(value)) {\r\n if (model_js_5.ObservableArray.isObservableArray(value)) {\r\n (0, vue_model_observability_1.observeArray)(value).ensureObservable();\r\n }\r\n for (var i = 0; i < value.length; i++) {\r\n var item = value[i];\r\n if (item instanceof model_js_1.Entity) {\r\n (0, vue_model_observability_1.observeEntity)(item).ensureObservable();\r\n }\r\n }\r\n }\r\n else if (value instanceof model_js_1.Entity) {\r\n (0, vue_model_observability_1.observeEntity)(value).ensureObservable();\r\n }\r\n return value;\r\n };\r\n SourcePathAdapter.prototype.toString = function () {\r\n return \"Source['\" + this.source + \"']\";\r\n };\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(String),\r\n __metadata(\"design:type\", String)\r\n ], SourcePathAdapter.prototype, \"source\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(Object),\r\n __metadata(\"design:type\", Object)\r\n ], SourcePathAdapter.prototype, \"overrides\", void 0);\r\n SourcePathAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourcePathAdapter);\r\n return SourcePathAdapter;\r\n}(vue_1.default));\r\nexports.SourcePathAdapter = SourcePathAdapter;\r\nfunction formatDisplayValue(adapter, value) {\r\n var displayValue;\r\n var property = adapter.property;\r\n if (value === null || value === undefined) {\r\n displayValue = \"\";\r\n }\r\n else if (property.format != null) {\r\n // Use a markup or property format if available\r\n if (Array.isArray(value)) {\r\n var array = value;\r\n displayValue = array.map(function (item) { return property.format.convert(item); });\r\n }\r\n else {\r\n displayValue = property.format.convert(value);\r\n }\r\n }\r\n else if (Array.isArray(value)) {\r\n // If no format exists, then fall back to toString\r\n var array = value;\r\n displayValue = array.map(function (item) {\r\n if (value === null || value === undefined) {\r\n return \"\";\r\n }\r\n else {\r\n return item.toString();\r\n }\r\n });\r\n }\r\n else {\r\n displayValue = value.toString();\r\n }\r\n displayValue = Array.isArray(displayValue) ? displayValue.join(\", \") : displayValue;\r\n return displayValue;\r\n}\r\nexports.formatDisplayValue = formatDisplayValue;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.createVueModel = exports.VueModel = void 0;\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar vue_internals_1 = require(\"./vue-internals\");\r\nvar vue_global_mixin_1 = require(\"./vue-global-mixin\");\r\nvar source_path_mixin_1 = require(\"./source-path-mixin\");\r\nvar source_root_mixin_1 = require(\"./source-root-mixin\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar vm_root_component_1 = require(\"./vm-root-component\");\r\nvar vm_source_component_1 = require(\"./vm-source-component\");\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\n// TODO: Do we need to take `toggleObserving()` into account?\r\nvar VueModel = /** @class */ (function (_super) {\r\n __extends(VueModel, _super);\r\n /**\r\n * Creates a new model with the specified type information.\r\n * @param options The set of model types to add.\r\n */\r\n function VueModel(options, config) {\r\n var _this = _super.call(this, options, config) || this;\r\n if (!VueModel._Vue) {\r\n // TODO: auto-install if needed?\r\n throw new Error(\"Vue.use(VueModel) must be called before constructing a VueModel instance.\");\r\n }\r\n // Make sure that the model itself is not made observable by Vue, since anything that we want to be made observable should be made observable explicitly\r\n (0, vue_model_observability_1.preventVueObservability)(_this);\r\n // Make sure that entities are observable by Vue\r\n (0, vue_model_observability_1.makeEntitiesVueObservable)(_this);\r\n return _this;\r\n }\r\n /**\r\n * Implement the Vue plugin interface:\r\n * https://vuejs.org/v2/guide/plugins.html#Writing-a-Plugin\r\n */\r\n VueModel.install = function (vue) {\r\n // Detect if the plugin install has already been called\r\n if (VueModel._Vue)\r\n return;\r\n // Register components globally for use in templates\r\n vue.component(\"vm-root\", vm_root_component_1.VMRoot);\r\n vue.component(\"vm-source\", vm_source_component_1.VMSource);\r\n // Store a reference to the Vue constructor/module\r\n VueModel._Vue = vue;\r\n // Get access to Vue's internal types that we need\r\n (0, vue_internals_1.ensureVueInternalTypes)(VueModel._VueInternals, VueModel._Vue);\r\n // Install the Vue global mixin\r\n return (0, vue_global_mixin_1.VueModel$installGlobalMixin)(vue);\r\n };\r\n VueModel._Vue = null;\r\n VueModel._VueInternals = { Observer: null, Dep: null };\r\n /**\r\n * Provide access to Vue mixins for source provider/consumer\r\n */\r\n VueModel.mixins = {\r\n SourcePath: source_path_mixin_1.SourcePathMixin,\r\n SourceRoot: source_root_mixin_1.SourceRootMixin\r\n };\r\n VueModel.Entity = model_js_2.Entity;\r\n VueModel.CultureInfo = model_js_3.CultureInfo;\r\n return VueModel;\r\n}(model_js_1.Model));\r\nexports.VueModel = VueModel;\r\n// eslint-disable-next-line no-redeclare\r\nfunction createVueModel(options, config) {\r\n return new Promise(function (resolve) {\r\n var model = new VueModel(options, config);\r\n model.ready(function () {\r\n resolve(model);\r\n });\r\n });\r\n}\r\nexports.createVueModel = createVueModel;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SourcePathMixin = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\n// @ts-ignore\r\nvar SourcePathMixin = /** @class */ (function (_super) {\r\n __extends(SourcePathMixin, _super);\r\n function SourcePathMixin() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SourcePathMixin.prototype.onLabelChanged = function (label) {\r\n this.onOverrideValueChanged(label, String);\r\n };\r\n SourcePathMixin.prototype.onHelptextChanged = function (helptext) {\r\n this.onOverrideValueChanged(helptext, String);\r\n };\r\n SourcePathMixin.prototype.onReadonlyChanged = function (readonly) {\r\n this.onOverrideValueChanged(readonly, Boolean);\r\n };\r\n SourcePathMixin.prototype.onRequiredChanged = function (required) {\r\n this.onOverrideValueChanged(required, Boolean);\r\n };\r\n Object.defineProperty(SourcePathMixin.prototype, \"$source\", {\r\n get: function () {\r\n // If the source is an adapter, then potentially apply overrides, and return it\r\n if ((0, source_adapter_1.isSourceAdapter)(this.source)) {\r\n this.ensureOverridesAppliedToSourceAdapter(this.source);\r\n return this.source;\r\n }\r\n return new source_path_adapter_1.SourcePathAdapter({ parent: this, propsData: { source: this.source, overrides: this } });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourcePathMixin.prototype.ensureOverridesAppliedToSourceAdapter = function (source) {\r\n var hasOverrides = (0, source_adapter_1.hasOverrideValue)(this.label, String) || (0, source_adapter_1.hasOverrideValue)(this.helptext, String) || (0, source_adapter_1.hasOverrideValue)(this.readonly, Boolean) || (0, source_adapter_1.hasOverrideValue)(this.required, Boolean);\r\n if ((0, source_adapter_1.isSourcePathAdapter)(source)) {\r\n if (hasOverrides) {\r\n if (source.overrides && source.overrides !== this) {\r\n throw new Error(\"Overrides have already been applied to source of type '\" + source.constructor.name + \"'.\");\r\n }\r\n // Apply the given overrides as the overrides for the source\r\n source.overrides = this;\r\n }\r\n }\r\n else {\r\n if (hasOverrides) {\r\n throw new Error(\"Cannot apply overrides to source of type '\" + source.constructor.name + \"'.\");\r\n }\r\n }\r\n };\r\n SourcePathMixin.prototype.onOverrideValueChanged = function (value, type) {\r\n // If the source is an adapter, and an override value is set, then ensure that the\r\n if ((0, source_adapter_1.isSourceAdapter)(this.source) && (0, source_adapter_1.hasOverrideValue)(value, type)) {\r\n this.ensureOverridesAppliedToSourceAdapter(this.source);\r\n }\r\n };\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: [String, Object] }),\r\n __metadata(\"design:type\", Object)\r\n ], SourcePathMixin.prototype, \"source\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(String),\r\n __metadata(\"design:type\", String)\r\n ], SourcePathMixin.prototype, \"label\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"label\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [String]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourcePathMixin.prototype, \"onLabelChanged\", null);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(String),\r\n __metadata(\"design:type\", String)\r\n ], SourcePathMixin.prototype, \"helptext\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"helptext\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [String]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourcePathMixin.prototype, \"onHelptextChanged\", null);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: Boolean, default: null }),\r\n __metadata(\"design:type\", Boolean)\r\n ], SourcePathMixin.prototype, \"readonly\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"readonly\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Boolean]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourcePathMixin.prototype, \"onReadonlyChanged\", null);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: Boolean, default: null }),\r\n __metadata(\"design:type\", Boolean)\r\n ], SourcePathMixin.prototype, \"required\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"required\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Boolean]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourcePathMixin.prototype, \"onRequiredChanged\", null);\r\n SourcePathMixin = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourcePathMixin);\r\n return SourcePathMixin;\r\n}(vue_1.default));\r\nexports.SourcePathMixin = SourcePathMixin;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SourceRootAdapter = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\n// @ts-ignore\r\nvar SourceRootAdapter = /** @class */ (function (_super) {\r\n __extends(SourceRootAdapter, _super);\r\n function SourceRootAdapter() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.readonly = false;\r\n return _this;\r\n }\r\n Object.defineProperty(SourceRootAdapter.prototype, \"value\", {\r\n get: function () {\r\n return this.entity;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"type\", {\r\n get: function () {\r\n return this.entity.meta.type.jstype;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceRootAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n return this.entity.toString();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourceRootAdapter.prototype.toString = function () {\r\n return this.entity.meta.type.fullName + \"|\" + this.entity.meta.id;\r\n };\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(Object),\r\n __metadata(\"design:type\", Object)\r\n ], SourceRootAdapter.prototype, \"entity\", void 0);\r\n SourceRootAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceRootAdapter);\r\n return SourceRootAdapter;\r\n}(vue_1.default));\r\nexports.SourceRootAdapter = SourceRootAdapter;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SourceItemAdapter = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\n// @ts-ignore\r\nvar SourceItemAdapter = /** @class */ (function (_super) {\r\n __extends(SourceItemAdapter, _super);\r\n function SourceItemAdapter() {\r\n var _this_1 = _super !== null && _super.apply(this, arguments) || this;\r\n _this_1.isOrphaned = false;\r\n _this_1.internalIndex = -1;\r\n _this_1.isSubscribedToSourceChanges = false;\r\n return _this_1;\r\n }\r\n SourceItemAdapter.prototype.created = function () {\r\n // Track the intial index internally\r\n this.internalIndex = this.index;\r\n // Track changes to the list and update the component's state appropriately\r\n if (!this.suppressChangeTracking) {\r\n this.subscribeToSourceChanges();\r\n }\r\n };\r\n SourceItemAdapter.prototype.onIndexChanged = function (index) {\r\n this.internalIndex = index;\r\n };\r\n Object.defineProperty(SourceItemAdapter.prototype, \"parent\", {\r\n get: function () {\r\n if ((0, source_adapter_1.isSourceAdapter)(this.parentSource)) {\r\n return this.parentSource;\r\n }\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if ((0, source_adapter_1.isSourceAdapter)(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"readonly\", {\r\n /**\r\n * Indicants whether the source property is readonly.\r\n *\r\n * @returns True if either the parent source or the source override is read only, otherwise false\r\n */\r\n get: function () {\r\n return this.parent.readonly || (this.overrides ? this.overrides.readonly : false);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourceItemAdapter.prototype.subscribeToSourceChanges = function () {\r\n if (this.isSubscribedToSourceChanges) {\r\n return;\r\n }\r\n var _this = this;\r\n var array = model_js_1.ObservableArray.ensureObservable(this.parent.value);\r\n array.changed.subscribe(function (args) {\r\n var index = _this.internalIndex;\r\n var isOrphaned = _this.isOrphaned;\r\n args.changes.forEach(function (c) {\r\n if (c.type === model_js_1.ArrayChangeType.remove) {\r\n if (c.startIndex === index) {\r\n index = -1;\r\n isOrphaned = true;\r\n }\r\n else if (c.startIndex < index) {\r\n if (c.items.length > index - c.startIndex) {\r\n index = -1;\r\n isOrphaned = true;\r\n }\r\n else {\r\n index -= c.items.length;\r\n }\r\n }\r\n }\r\n else if (c.type === model_js_1.ArrayChangeType.add) {\r\n if (c.startIndex >= 0) {\r\n if (c.startIndex <= index) {\r\n index += c.items.length;\r\n }\r\n }\r\n }\r\n });\r\n if (isOrphaned !== _this.isOrphaned) {\r\n vue_1.default.set(_this, \"isOrphaned\", isOrphaned);\r\n }\r\n if (index !== _this.internalIndex) {\r\n vue_1.default.set(_this, \"internalIndex\", index);\r\n }\r\n });\r\n this.isSubscribedToSourceChanges = true;\r\n };\r\n Object.defineProperty(SourceItemAdapter.prototype, \"value\", {\r\n get: function () {\r\n var list = this.parent.value;\r\n var value = list[this.internalIndex];\r\n return value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"type\", {\r\n get: function () {\r\n // If possible, determine the type based on the actual entity instance\r\n if (this.value && (0, helpers_1.isEntity)(this.value))\r\n return this.value.meta.type.jstype;\r\n return this.parent.type;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"isList\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceItemAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n var list = this.parent.value;\r\n var value = list[this.internalIndex];\r\n var displayValue;\r\n if ((0, source_adapter_1.isSourcePropertyAdapter)(this.parent) && this.parent.property.format != null) {\r\n // Use a markup or property format if available\r\n displayValue = this.parent.property.format.convert(value);\r\n }\r\n else {\r\n displayValue = value.toString();\r\n }\r\n return displayValue;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourceItemAdapter.prototype.toString = function () {\r\n return \"Source[\" + this.internalIndex + \"]\";\r\n };\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(Number),\r\n __metadata(\"design:type\", Number)\r\n ], SourceItemAdapter.prototype, \"index\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(Object),\r\n __metadata(\"design:type\", Object)\r\n ], SourceItemAdapter.prototype, \"parentSource\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(Object),\r\n __metadata(\"design:type\", Object)\r\n ], SourceItemAdapter.prototype, \"overrides\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: Boolean, default: false }),\r\n __metadata(\"design:type\", Boolean)\r\n ], SourceItemAdapter.prototype, \"suppressChangeTracking\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"index\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Number]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourceItemAdapter.prototype, \"onIndexChanged\", null);\r\n SourceItemAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceItemAdapter);\r\n return SourceItemAdapter;\r\n}(vue_1.default));\r\nexports.SourceItemAdapter = SourceItemAdapter;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SourceRootMixin = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar source_root_adapter_1 = require(\"./source-root-adapter\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\n// @ts-ignore\r\nvar SourceRootMixin = /** @class */ (function (_super) {\r\n __extends(SourceRootMixin, _super);\r\n function SourceRootMixin() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SourceRootMixin.prototype.onReadonlyChanged = function (readonly) {\r\n this.$source.readonly = readonly;\r\n };\r\n Object.defineProperty(SourceRootMixin.prototype, \"$source\", {\r\n get: function () {\r\n var entity;\r\n if (this.source instanceof model_js_1.Entity) {\r\n entity = this.source;\r\n }\r\n else {\r\n entity = this[this.source || \"entity\"];\r\n if (!entity || !(entity instanceof model_js_1.Entity)) {\r\n throw new Error(\"No entity data!\");\r\n }\r\n }\r\n (0, vue_model_observability_1.observeEntity)(entity).ensureObservable();\r\n return new source_root_adapter_1.SourceRootAdapter({ parent: this, propsData: { entity: entity } });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: [Object, String] }),\r\n __metadata(\"design:type\", Object)\r\n ], SourceRootMixin.prototype, \"source\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)({ type: Boolean, default: null }),\r\n __metadata(\"design:type\", Boolean)\r\n ], SourceRootMixin.prototype, \"readonly\", void 0);\r\n __decorate([\r\n (0, vue_property_decorator_1.Watch)(\"readonly\"),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Boolean]),\r\n __metadata(\"design:returntype\", void 0)\r\n ], SourceRootMixin.prototype, \"onReadonlyChanged\", null);\r\n SourceRootMixin = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceRootMixin);\r\n return SourceRootMixin;\r\n}(vue_1.default));\r\nexports.SourceRootMixin = SourceRootMixin;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ensureVueInternalTypes = exports.VueModel$Vue = void 0;\r\nexports.VueModel$Vue = null;\r\nfunction ensureVueInternalTypes(target, Vue) {\r\n // Exit early if Observer or Dep are already defined\r\n if (target.Observer || target.Dep) {\r\n return;\r\n }\r\n var observableData;\r\n if (Vue.observable) {\r\n observableData = Vue.observable({});\r\n }\r\n else {\r\n var component = new Vue({\r\n data: function () {\r\n return {};\r\n }\r\n });\r\n observableData = component.$data;\r\n }\r\n var observer = observableData.__ob__;\r\n var observerCtor = observer.constructor;\r\n var depCtor = observer.dep.constructor;\r\n target.Observer = observerCtor;\r\n target.Dep = depCtor;\r\n}\r\nexports.ensureVueInternalTypes = ensureVueInternalTypes;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.VueModel$installGlobalMixin = void 0;\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar helpers_1 = require(\"./helpers\");\r\nvar vue_helpers_1 = require(\"./vue-helpers\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\n/**\r\n * Installs a global Vue mixin that hooks into component events to intercept model entities as component data and make necesary adjustments\r\n * @param Vue The Vue constructor/module object\r\n */\r\nfunction VueModel$installGlobalMixin(Vue) {\r\n Vue.mixin({\r\n beforeCreate: function VueModel$Plugin$beforeCreate() {\r\n var vm = this;\r\n if (vm.$options.data) {\r\n // Intercept data that is an entity or data function that returns an entity\r\n // so that this plugin can make the entity observable and create proxy properties\r\n preprocessDataToInterceptEntities(vm);\r\n }\r\n },\r\n created: function VueModel$Plugin$created() {\r\n var vm = this;\r\n var vm$private = vm;\r\n if (vm$private._entity) {\r\n var entity = vm$private._entity;\r\n if (!entity.meta.type.model._entitiesAreVueObservable) {\r\n // Ensure that Model entities are observable objects compatible with Vue's observer\r\n (0, vue_model_observability_1.makeEntitiesVueObservable)(vm$private._entity.meta.type.model);\r\n }\r\n (0, vue_model_observability_1.getEntityObserver)(vm$private._entity, true).ensureObservable();\r\n // Restore the data by attempting to emulate what would have happened to\r\n // the `data` object had it gone through normal component intialization\r\n restoreComponentEntityData(vm);\r\n }\r\n }\r\n });\r\n}\r\nexports.VueModel$installGlobalMixin = VueModel$installGlobalMixin;\r\nfunction replaceEntityData(vm, data) {\r\n var vm$private = vm;\r\n if (data != null && data instanceof model_js_1.Entity) {\r\n (0, helpers_1.debug)(\"Data is an entity, returning empty object...\");\r\n vm$private._entity = data;\r\n return {};\r\n }\r\n return data;\r\n}\r\nfunction preprocessDataToInterceptEntities(vm) {\r\n if (!vm.$options.data) {\r\n return;\r\n }\r\n if (vm.$options.data instanceof Function) {\r\n // The `.data` options is a function that will be invoked by Vue, so wrap it\r\n // to prevent Vue from getting an Entity prior to setting up Entity observability\r\n (0, helpers_1.debug)(\"Data is a function...wrapping to intercept the return value...\");\r\n var dataFn = vm.$options.data;\r\n vm.$options.data = function () {\r\n return replaceEntityData(vm, dataFn.apply(this, arguments));\r\n };\r\n }\r\n else {\r\n // Don't let Vue from getting an Entity prior to setting up Entity observability\r\n vm.$options.data = replaceEntityData(vm, vm.$options.data);\r\n }\r\n}\r\nfunction restoreComponentEntityData(vm) {\r\n var vm$private = vm;\r\n // Since the entity is now observable, go ahead and let the component see it\r\n // TODO: Is it necessary to somehow \"merge\" the object? Or, just not set the data\r\n // field since we're going to do custom proxying of properties anyway?\r\n vm$private._data = vm$private._entity;\r\n // Vue proxies the data objects `Object.keys()` onto the component itself,\r\n // so that the data objects properties can be used directly in templates\r\n proxyEntityPropertiesOntoComponentInstance(vm, vm$private._entity);\r\n // The internal `observe()` method basically makes the given object observable,\r\n // (entities should already be at this point) but it also updates a `vmCount` counter\r\n (0, vue_model_observability_1.observeEntity)(vm$private._entity, true).ensureObservable();\r\n // Null out the field now that we've finished preparing the entity\r\n vm$private._entity = null;\r\n}\r\nfunction proxyEntityPropertiesOntoComponentInstance(vm, entity) {\r\n // TODO: add proxies onto the component instance\r\n // proxy data on instance\r\n var properties = entity.meta.type.properties;\r\n var props = vm.$options.props;\r\n var methods = vm.$options.methods;\r\n for (var i = 0; i < properties.length; i++) {\r\n var property = properties[i];\r\n if (methods && (0, helpers_1.hasOwnProperty)(methods, property.name)) {\r\n (0, helpers_1.debug)(\"Property '\" + property.name + \"' is hidden by a component method with the same name.\");\r\n }\r\n else if (props && (0, helpers_1.hasOwnProperty)(props, property.name)) {\r\n (0, helpers_1.debug)(\"Property '\" + property.name + \"' is hidden by a component prop with the same name.\");\r\n }\r\n else if (!(0, vue_helpers_1.Vue$isReserved)(property.name)) {\r\n (0, vue_helpers_1.Vue$proxy)(vm, \"_data\", property.name);\r\n }\r\n }\r\n}\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Vue$proxy = exports.Vue$dependArray = exports.Vue$isReserved = void 0;\r\nfunction Vue$isReserved(str) {\r\n var c = (str + \"\").charCodeAt(0);\r\n return c === 0x24 || c === 0x5F;\r\n}\r\nexports.Vue$isReserved = Vue$isReserved;\r\nfunction Vue$dependArray(value) {\r\n for (var e, i = 0, l = value.length; i < l; i++) {\r\n e = value[i];\r\n e && e.__ob__ && e.__ob__.dep.depend();\r\n if (Array.isArray(e)) {\r\n Vue$dependArray(e);\r\n }\r\n }\r\n}\r\nexports.Vue$dependArray = Vue$dependArray;\r\nfunction Vue$proxy(target, sourceKey, key) {\r\n Object.defineProperty(target, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: function VueModel$proxyPropertyGet() {\r\n return this[sourceKey][key];\r\n },\r\n set: function VueModel$proxyPropertySet(value) {\r\n this[sourceKey][key] = value;\r\n }\r\n });\r\n}\r\nexports.Vue$proxy = Vue$proxy;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EntityObserver = void 0;\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for entities, which uses model\r\n * metadata to manage property access/change rather than property walking and rewriting\r\n */\r\nvar EntityObserver = /** @class */ (function (_super) {\r\n __extends(EntityObserver, _super);\r\n function EntityObserver(value, shallow, mock) {\r\n if (shallow === void 0) { shallow = false; }\r\n if (mock === void 0) { mock = false; }\r\n return _super.call(this, value, shallow, mock) || this;\r\n }\r\n EntityObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.accessed.subscribe(this._onAccess.bind(this));\r\n this.value.changed.subscribe(this._onChange.bind(this));\r\n if (this.value.meta) {\r\n (0, vue_model_observability_1.getObjectMetaObserver)(this.value.meta).ensureObservable();\r\n }\r\n this._observable = true;\r\n };\r\n EntityObserver.prototype._onAccess = function (args) {\r\n // Get the current property value\r\n var value = args.entity.__fields__[args.property.name];\r\n // Notify interested observers of the property access in order to track dependencies\r\n this.onPropertyAccess(args.property.name, value);\r\n };\r\n EntityObserver.prototype._onChange = function (args) {\r\n // Get the current property value\r\n var newValue = args.entity.__fields__[args.property.name];\r\n // Notify interested observers of the property change\r\n this.onPropertyChange(args.property.name, newValue);\r\n };\r\n return EntityObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.EntityObserver = EntityObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectMetaObserver = void 0;\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for entity meta objects, which uses model\r\n * metadata to manage condition change rather than property walking and rewriting\r\n */\r\nvar ObjectMetaObserver = /** @class */ (function (_super) {\r\n __extends(ObjectMetaObserver, _super);\r\n function ObjectMetaObserver(value, shallow, mock) {\r\n if (shallow === void 0) { shallow = false; }\r\n if (mock === void 0) { mock = false; }\r\n return _super.call(this, value, shallow, mock) || this;\r\n }\r\n ObjectMetaObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.conditions.changed.subscribe(this._onConditionsChanged.bind(this));\r\n this._observable = true;\r\n };\r\n ObjectMetaObserver.prototype._onConditionsChanged = function () {\r\n // Notify interested observers of the condition change in order to update dependants\r\n this.onPropertyChange(\"conditions\", null);\r\n };\r\n return ObjectMetaObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.ObjectMetaObserver = ObjectMetaObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ArrayObserver = void 0;\r\nvar custom_observer_1 = require(\"./custom-observer\");\r\n/**\r\n * A subclass of Vue's internal `Observer` class for arrays, which uses observable\r\n * array events rather than property walking and rewriting\r\n */\r\nvar ArrayObserver = /** @class */ (function (_super) {\r\n __extends(ArrayObserver, _super);\r\n function ArrayObserver(value, shallow, mock) {\r\n if (shallow === void 0) { shallow = false; }\r\n if (mock === void 0) { mock = false; }\r\n return _super.call(this, value, shallow, mock) || this;\r\n }\r\n ArrayObserver.prototype.ensureObservable = function () {\r\n if (this._observable === true) {\r\n return;\r\n }\r\n this.value.changed.subscribe(this._onChange.bind(this));\r\n this._observable = true;\r\n };\r\n ArrayObserver.prototype._onChange = function () {\r\n this.dep.notify();\r\n };\r\n return ArrayObserver;\r\n}(custom_observer_1.CustomObserver));\r\nexports.ArrayObserver = ArrayObserver;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SourceOptionAdapter = void 0;\r\nvar vue_1 = __importDefault(require(\"vue\"));\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\n// @ts-ignore\r\nvar SourceOptionAdapter = /** @class */ (function (_super) {\r\n __extends(SourceOptionAdapter, _super);\r\n function SourceOptionAdapter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"parent\", {\r\n get: function () {\r\n for (var parentVm = this.$parent.$parent, parentLevel = 1; parentVm != null; parentVm = parentVm.$parent, parentLevel += 1) {\r\n if ((0, source_adapter_1.isSourcePropertyAdapter)(parentVm.$source)) {\r\n return parentVm.$source;\r\n }\r\n }\r\n throw new Error(\"Parent source not found!\");\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"label\", {\r\n get: function () {\r\n return this.parent.label;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(SourceOptionAdapter.prototype, \"displayValue\", {\r\n get: function () {\r\n return (0, source_path_adapter_1.formatDisplayValue)(this.parent, this.value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SourceOptionAdapter.prototype.toString = function () {\r\n return \"Option for Source['\" + this.parent.property.path + \"']\";\r\n };\r\n __decorate([\r\n (0, vue_property_decorator_1.Prop)(),\r\n __metadata(\"design:type\", Object)\r\n ], SourceOptionAdapter.prototype, \"value\", void 0);\r\n SourceOptionAdapter = __decorate([\r\n vue_property_decorator_1.Component\r\n ], SourceOptionAdapter);\r\n return SourceOptionAdapter;\r\n}(vue_1.default));\r\nexports.SourceOptionAdapter = SourceOptionAdapter;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.VMRoot = void 0;\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar vue_class_component_1 = require(\"vue-class-component\");\r\nvar source_root_mixin_1 = require(\"./source-root-mixin\");\r\n// @ts-ignore\r\nvar VMRoot = /** @class */ (function (_super) {\r\n __extends(VMRoot, _super);\r\n function VMRoot() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VMRoot.prototype.render = function () {\r\n var slotNodes = this.$scopedSlots.default({\r\n $source: this.$source\r\n });\r\n if (slotNodes.length !== 1) {\r\n throw new Error(\"Found \" + slotNodes.length + \" nodes in default slot for component 'vm-root'.\");\r\n }\r\n return slotNodes[0];\r\n };\r\n VMRoot = __decorate([\r\n vue_property_decorator_1.Component\r\n ], VMRoot);\r\n return VMRoot;\r\n}((0, vue_class_component_1.mixins)(source_root_mixin_1.SourceRootMixin)));\r\nexports.VMRoot = VMRoot;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.VMSource = void 0;\r\nvar vue_property_decorator_1 = require(\"vue-property-decorator\");\r\nvar vue_class_component_1 = require(\"vue-class-component\");\r\nvar source_path_mixin_1 = require(\"./source-path-mixin\");\r\n// @ts-ignore\r\nvar VMSource = /** @class */ (function (_super) {\r\n __extends(VMSource, _super);\r\n function VMSource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VMSource.prototype.render = function () {\r\n var slotNodes = this.$scopedSlots.default({\r\n $source: this.$source\r\n });\r\n if (slotNodes.length !== 1) {\r\n throw new Error(\"Found \" + slotNodes.length + \" nodes in default slot for component 'vm-source'.\");\r\n }\r\n return slotNodes[0];\r\n };\r\n VMSource = __decorate([\r\n vue_property_decorator_1.Component\r\n ], VMSource);\r\n return VMSource;\r\n}((0, vue_class_component_1.mixins)(source_path_mixin_1.SourcePathMixin)));\r\nexports.VMSource = VMSource;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.preventVueObservability = exports.isSourceAdapter = void 0;\r\nvar vue_model_1 = require(\"./vue-model\");\r\n// Include English resources by default\r\nrequire(\"@cognitoforms/model.js/lib/resource-en\");\r\nexports.default = vue_model_1.VueModel;\r\nvar source_adapter_1 = require(\"./source-adapter\");\r\nObject.defineProperty(exports, \"isSourceAdapter\", { enumerable: true, get: function () { return source_adapter_1.isSourceAdapter; } });\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nObject.defineProperty(exports, \"preventVueObservability\", { enumerable: true, get: function () { return vue_model_observability_1.preventVueObservability; } });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.makeEntitiesVueObservable = exports.dependChildArray = exports.getArrayObserverConstructor = exports.getArrayObserver = exports.observeArray = exports.getObjectMetaObserverConstructor = exports.getObjectMetaObserver = exports.getEntityObserverConstructor = exports.getEntityObserver = exports.observeEntity = exports.preventVueObservability = exports.getCustomObserverConstructor = void 0;\r\nvar vue_1 = require(\"vue\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_2 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar model_js_3 = require(\"@cognitoforms/model.js\"); // eslint-disable-line import/no-duplicates\r\nvar helpers_1 = require(\"./helpers\");\r\n// eslint-disable-next-line no-redeclare\r\nvar CustomObserverConstructor = null;\r\nfunction getCustomObserverConstructor() {\r\n return CustomObserverConstructor || (CustomObserverConstructor = require(\"./custom-observer\").CustomObserver);\r\n}\r\nexports.getCustomObserverConstructor = getCustomObserverConstructor;\r\nfunction preventVueObservability(obj) {\r\n if (obj) {\r\n if (!(0, helpers_1.hasOwnProperty)(obj, \"__ob__\")) {\r\n // Mark the object as \"raw\" so that Vue won't try to make it observable\r\n (0, vue_1.markRaw)(obj);\r\n return true;\r\n }\r\n else {\r\n // Vue's default observability is also bypassed if the object's observer is a subclass of `CustomObserver`\r\n var CustomObserver = getCustomObserverConstructor();\r\n return obj.__ob__ instanceof CustomObserver;\r\n }\r\n }\r\n}\r\nexports.preventVueObservability = preventVueObservability;\r\n/**\r\n * Based on Vue's internal `observe()` function. Ensures that the given entity\r\n * is observable and optionally notes that it is referenced by a component\r\n * @param entity The entity to observe\r\n * @param asRootData The entity is referenced as a component's data\r\n */\r\nfunction observeEntity(entity, asRootData) {\r\n if (asRootData === void 0) { asRootData = false; }\r\n if (entity instanceof model_js_2.Entity) {\r\n var ob = getEntityObserver(entity, true);\r\n if (entity.meta) {\r\n getObjectMetaObserver(entity.meta, true);\r\n }\r\n if (asRootData && ob) {\r\n ob.vmCount++;\r\n }\r\n return ob;\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-entity?\r\n }\r\n}\r\nexports.observeEntity = observeEntity;\r\n/**\r\n * Gets or creates an `EntityObserver` for the given entity\r\n * @param entity The entity begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getEntityObserver(entity, create) {\r\n if (create === void 0) { create = false; }\r\n var EntityObserver = getEntityObserverConstructor();\r\n if ((0, helpers_1.hasOwnProperty)(entity, \"__ob__\") && (0, helpers_1.getProp)(entity, \"__ob__\") instanceof EntityObserver) {\r\n return (0, helpers_1.getProp)(entity, \"__ob__\");\r\n }\r\n else if (create) {\r\n // Mark the entity as \"raw\" so that Vue won't try to make it observable\r\n (0, vue_1.markRaw)(entity);\r\n return new EntityObserver(entity, true);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getEntityObserver = getEntityObserver;\r\n// eslint-disable-next-line no-redeclare\r\nvar EntityObserverConstructor = null;\r\nfunction getEntityObserverConstructor() {\r\n return EntityObserverConstructor || (EntityObserverConstructor = require(\"./entity-observer\").EntityObserver);\r\n}\r\nexports.getEntityObserverConstructor = getEntityObserverConstructor;\r\n/**\r\n * Gets or creates an `ObjectMetaObserver` for the given meta object\r\n * @param meta The object meta begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getObjectMetaObserver(meta, create) {\r\n if (create === void 0) { create = false; }\r\n var ObjectMetaObserver = getObjectMetaObserverConstructor();\r\n if ((0, helpers_1.hasOwnProperty)(meta, \"__ob__\") && (0, helpers_1.getProp)(meta, \"__ob__\") instanceof ObjectMetaObserver) {\r\n return (0, helpers_1.getProp)(meta, \"__ob__\");\r\n }\r\n else if (create) {\r\n // Mark the object meta as \"raw\" so that Vue won't try to make it observable\r\n (0, vue_1.markRaw)(meta);\r\n return new ObjectMetaObserver(meta, true);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getObjectMetaObserver = getObjectMetaObserver;\r\n// eslint-disable-next-line no-redeclare\r\nvar ObjectMetaObserverConstructor = null;\r\nfunction getObjectMetaObserverConstructor() {\r\n return ObjectMetaObserverConstructor || (ObjectMetaObserverConstructor = require(\"./object-meta-observer\").ObjectMetaObserver);\r\n}\r\nexports.getObjectMetaObserverConstructor = getObjectMetaObserverConstructor;\r\n/**\r\n * Based on Vue's internal `observe()` function. Ensures that the given array\r\n * is observable and optionally notes that it is referenced by a component\r\n * @param array The array to observe\r\n * @param asRootData The array is referenced as a component's data\r\n */\r\nfunction observeArray(array, asRootData) {\r\n if (asRootData === void 0) { asRootData = false; }\r\n if (Array.isArray(array)) {\r\n if (model_js_3.ObservableArray.isObservableArray(array)) {\r\n var ob = getArrayObserver(array, true);\r\n if (asRootData && ob) {\r\n ob.vmCount++;\r\n }\r\n return ob;\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-observable array?\r\n }\r\n }\r\n else {\r\n // TODO: Warn about attempting to observe non-array?\r\n }\r\n}\r\nexports.observeArray = observeArray;\r\n/**\r\n * Gets or creates an `ArrayObserver` for the given observable array\r\n * @param entity The entity begin observed\r\n * @param create If true, create the observer if it doesn't already exist\r\n */\r\nfunction getArrayObserver(array, create) {\r\n if (create === void 0) { create = false; }\r\n var ArrayObserver = getArrayObserverConstructor();\r\n if ((0, helpers_1.hasOwnProperty)(array, \"__ob__\") && (0, helpers_1.getProp)(array, \"__ob__\") instanceof ArrayObserver) {\r\n return (0, helpers_1.getProp)(array, \"__ob__\");\r\n }\r\n else if (create) {\r\n // Mark the array as \"raw\" so that Vue won't try to make it observable\r\n (0, vue_1.markRaw)(array);\r\n return new ArrayObserver(array, true);\r\n }\r\n else {\r\n return null;\r\n }\r\n}\r\nexports.getArrayObserver = getArrayObserver;\r\n// eslint-disable-next-line no-redeclare\r\nvar ArrayObserverConstructor = null;\r\nfunction getArrayObserverConstructor() {\r\n return ArrayObserverConstructor || (ArrayObserverConstructor = require(\"./array-observer\").ArrayObserver);\r\n}\r\nexports.getArrayObserverConstructor = getArrayObserverConstructor;\r\n/**\r\n * Based on Vue's internals `dependArray()` function\r\n * @param array The child array to track as a dependency\r\n */\r\nfunction dependChildArray(array) {\r\n var arrayObserver = observeArray(array);\r\n if (arrayObserver)\r\n arrayObserver.ensureObservable();\r\n for (var e, i = 0, l = array.length; i < l; i++) {\r\n e = array[i];\r\n if (e != null) {\r\n if (e instanceof model_js_2.Entity) {\r\n var observer = getEntityObserver(e, true);\r\n observer.ensureObservable();\r\n observer.dep.depend();\r\n }\r\n else if ((0, helpers_1.hasOwnProperty)(e, \"__ob__\")) {\r\n e.__ob__.dep.depend();\r\n }\r\n if (Array.isArray(e)) {\r\n dependChildArray(e);\r\n }\r\n }\r\n }\r\n}\r\nexports.dependChildArray = dependChildArray;\r\nvar vueCompatibleModels = [];\r\n/**\r\n * Make sure that entities in the given model are observable by Vue\r\n * By default, entities would not be observable, since model properties\r\n * are added to the prototype, Vue will not detect them. So, we use a custom\r\n * observer that leverages model metadata to manage property access/change.\r\n * @param model The model to augment\r\n */\r\nfunction makeEntitiesVueObservable(model) {\r\n if (!model || !(model instanceof model_js_1.Model)) {\r\n // TODO: Warn about missing or non-Model argument?\r\n return;\r\n }\r\n if (vueCompatibleModels.indexOf(model) >= 0 || model._entitiesAreVueObservable === true) {\r\n return;\r\n }\r\n model.entityRegistered.subscribe(function (args) {\r\n observeEntity(args.entity).ensureObservable();\r\n });\r\n // Make existing entities observable\r\n for (var _i = 0, _a = Object.keys(model.types); _i < _a.length; _i++) {\r\n var typeName = _a[_i];\r\n var type = model.types[typeName];\r\n type.known().forEach(function (entity) {\r\n observeEntity(entity).ensureObservable();\r\n });\r\n }\r\n vueCompatibleModels.push(model);\r\n model._entitiesAreVueObservable = true;\r\n}\r\nexports.makeEntitiesVueObservable = makeEntitiesVueObservable;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.debug = exports.hasOwnProperty = exports.setProp = exports.getProp = exports.isEntity = void 0;\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nfunction isEntity(obj) {\r\n return obj && obj.meta && obj.meta.type && obj.meta.type.jstype && (0, model_js_1.isEntityType)(obj.meta.type.jstype);\r\n}\r\nexports.isEntity = isEntity;\r\nfunction getProp(obj, prop) {\r\n return obj[prop];\r\n}\r\nexports.getProp = getProp;\r\nfunction setProp(target, key, value) {\r\n target[key] = value;\r\n}\r\nexports.setProp = setProp;\r\nvar hasOwnPropertyFn = Object.prototype.hasOwnProperty;\r\nfunction hasOwnProperty(obj, prop) {\r\n return hasOwnPropertyFn.call(obj, prop);\r\n}\r\nexports.hasOwnProperty = hasOwnProperty;\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nfunction debug(message) {\r\n // console.log(\"%c[DEBUG] \" + message, \"background-color: #efefef; color: #999;\");\r\n}\r\nexports.debug = debug;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.hasOverrideValue = exports.isSourcePropertyAdapter = exports.isSourceAdapter = exports.isSourceItemAdapter = exports.isSourcePathAdapter = exports.isSourceRootAdapter = void 0;\r\nvar source_root_adapter_1 = require(\"./source-root-adapter\");\r\nvar source_path_adapter_1 = require(\"./source-path-adapter\");\r\nvar source_item_adapter_1 = require(\"./source-item-adapter\");\r\nfunction isSourceRootAdapter(obj) {\r\n return obj instanceof source_root_adapter_1.SourceRootAdapter;\r\n}\r\nexports.isSourceRootAdapter = isSourceRootAdapter;\r\nfunction isSourcePathAdapter(obj) {\r\n return obj instanceof source_path_adapter_1.SourcePathAdapter;\r\n}\r\nexports.isSourcePathAdapter = isSourcePathAdapter;\r\nfunction isSourceItemAdapter(obj) {\r\n return obj instanceof source_item_adapter_1.SourceItemAdapter;\r\n}\r\nexports.isSourceItemAdapter = isSourceItemAdapter;\r\nfunction isSourceAdapter(obj, allowAnyObject) {\r\n if (allowAnyObject === void 0) { allowAnyObject = true; }\r\n if (isSourceRootAdapter(obj))\r\n return true;\r\n if (isSourcePathAdapter(obj))\r\n return true;\r\n if (isSourceItemAdapter(obj))\r\n return true;\r\n if (allowAnyObject && typeof obj === \"object\")\r\n return true;\r\n return false;\r\n}\r\nexports.isSourceAdapter = isSourceAdapter;\r\nfunction isSourcePropertyAdapter(obj) {\r\n if (isSourcePathAdapter(obj))\r\n return true;\r\n return false;\r\n}\r\nexports.isSourcePropertyAdapter = isSourcePropertyAdapter;\r\nfunction hasOverrideValue(value, type) {\r\n if (type === String) {\r\n return typeof value === \"string\" && value.length > 0;\r\n }\r\n else if (type === Boolean) {\r\n return typeof value === \"boolean\";\r\n }\r\n}\r\nexports.hasOverrideValue = hasOverrideValue;\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CustomObserver = void 0;\r\nvar vue_model_1 = require(\"./vue-model\");\r\nvar helpers_1 = require(\"./helpers\");\r\nvar vue_model_observability_1 = require(\"./vue-model-observability\");\r\nvar model_js_1 = require(\"@cognitoforms/model.js\");\r\nvar VueInternals = vue_model_1.VueModel._VueInternals;\r\nif (!VueInternals.Observer) {\r\n throw new Error(\"Vue's Observer constructor has not yet been obtained, be sure to call Vue.use(VueModel).\");\r\n}\r\nvar Observer = VueInternals.Observer;\r\n/**\r\n * A subclass of Vue's internal Observer class that is responsible\r\n * for managing its own access/change events for properties rather than\r\n * walking the object's own properties\r\n */\r\nvar CustomObserver = /** @class */ (function (_super) {\r\n __extends(CustomObserver, _super);\r\n function CustomObserver(value, shallow, mock) {\r\n if (shallow === void 0) { shallow = false; }\r\n if (mock === void 0) { mock = false; }\r\n var _this = _super.call(this, value, shallow, mock) || this;\r\n _this.propertyDeps = {};\r\n return _this;\r\n }\r\n /**\r\n * Gets (or creates) a `Dep` object for a property of the given name\r\n * The `Dep` object will be stored internally by the observer, using\r\n * the given target property name as a key\r\n * @param propertyName The target property name\r\n * @param create If true, create the `Dep` object if it doesn't already exist\r\n */\r\n CustomObserver.prototype.getPropertyDep = function (propertyName, create) {\r\n if (create === void 0) { create = false; }\r\n var propertyDep;\r\n var Dep = VueInternals.Dep;\r\n var propertyDeps = this.propertyDeps;\r\n if ((0, helpers_1.hasOwnProperty)(propertyDeps, propertyName) && propertyDeps[propertyName] instanceof Dep) {\r\n propertyDep = propertyDeps[propertyName];\r\n }\r\n else if (create) {\r\n propertyDep = new Dep();\r\n Object.defineProperty(propertyDeps, propertyName, {\r\n configurable: true,\r\n enumerable: true,\r\n value: propertyDep,\r\n writable: true\r\n });\r\n }\r\n return propertyDep;\r\n };\r\n /**\r\n * Emulate's Vue's getter logic in `defineReactive()`\r\n * @param propertyName The property being accessed\r\n * @param value The current property value\r\n */\r\n CustomObserver.prototype.onPropertyAccess = function (propertyName, value) {\r\n var Dep = VueInternals.Dep;\r\n // Attach dependencies if something is watching\r\n if (Dep.target) {\r\n // Get or initialize the `Dep` object\r\n var propertyDep = this.getPropertyDep(propertyName, true);\r\n // Let an active observer target know that the property was accessed and is a dependency\r\n propertyDep.depend();\r\n var childOb = (0, vue_model_observability_1.observeEntity)(value);\r\n if (childOb) {\r\n childOb.dep.depend();\r\n }\r\n if (Array.isArray(value)) {\r\n // Track dependency on children as well (creating entity observer as needed)\r\n (0, vue_model_observability_1.dependChildArray)(value);\r\n }\r\n }\r\n };\r\n /**\r\n * Emulate's Vue's setter logic in `defineReactive()`\r\n * @param propertyName The property being accessed\r\n * @param newValue The new property value\r\n */\r\n CustomObserver.prototype.onPropertyChange = function (propertyName, newValue) {\r\n // Get or initialize the `Dep` object\r\n var propertyDep = this.getPropertyDep(propertyName, true);\r\n // Make sure a new value that is an entity is observable\r\n if (newValue && newValue instanceof model_js_1.Entity) {\r\n (0, vue_model_observability_1.observeEntity)(newValue).ensureObservable();\r\n }\r\n // Notify of property change\r\n propertyDep.notify();\r\n };\r\n return CustomObserver;\r\n}(Observer));\r\nexports.CustomObserver = CustomObserver;\r\n"],"sourceRoot":""}