{"version":3,"sources":["webpack:///./node_modules/aurelia-metadata/dist/native-modules/aurelia-metadata.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_typeof","Symbol","iterator","obj","constructor","isObject","val","metadata","resource","paramTypes","propertyType","properties","get","metadataKey","targetKey","result","getOwn","undefined","getPrototypeOf","Reflect","getOwnMetadata","define","metadataValue","defineMetadata","getOrCreateOwn","Type","originStorage","Map","unknownOrigin","freeze","moduleId","moduleMember","Origin","this","fn","origin","eachModule","value","name","set","e","decorators","_len","rest","Array","_key","applicator","descriptor","writable","configurable","enumerable","defineProperty","on","deprecated","optionsOrTarget","maybeKey","maybeDescriptor","decorator","methodSignature","options","message","SyntaxError","error","Error","console","warn","apply","mixin","behavior","instanceKeys","keys","possible","resolvedTarget","property","alwaysValid","noCompose","ensureProtocolOptions","validate","compose","createProtocolValidator","createProtocolAsserter","protocol","assert","create","hidden","decorates"],"mappings":"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","file":"npm.aurelia-metadata.81a841990ab705dbc094.js","sourcesContent":["var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\n\nimport { PLATFORM } from 'aurelia-pal';\n\nfunction isObject(val) {\n return val && (typeof val === 'function' || (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object');\n}\n\nexport var metadata = {\n resource: 'aurelia:resource',\n paramTypes: 'design:paramtypes',\n propertyType: 'design:type',\n properties: 'design:properties',\n get: function get(metadataKey, target, targetKey) {\n if (!isObject(target)) {\n return undefined;\n }\n var result = metadata.getOwn(metadataKey, target, targetKey);\n return result === undefined ? metadata.get(metadataKey, Object.getPrototypeOf(target), targetKey) : result;\n },\n getOwn: function getOwn(metadataKey, target, targetKey) {\n if (!isObject(target)) {\n return undefined;\n }\n return Reflect.getOwnMetadata(metadataKey, target, targetKey);\n },\n define: function define(metadataKey, metadataValue, target, targetKey) {\n Reflect.defineMetadata(metadataKey, metadataValue, target, targetKey);\n },\n getOrCreateOwn: function getOrCreateOwn(metadataKey, Type, target, targetKey) {\n var result = metadata.getOwn(metadataKey, target, targetKey);\n\n if (result === undefined) {\n result = new Type();\n Reflect.defineMetadata(metadataKey, result, target, targetKey);\n }\n\n return result;\n }\n};\n\nvar originStorage = new Map();\nvar unknownOrigin = Object.freeze({ moduleId: undefined, moduleMember: undefined });\n\nexport var Origin = function () {\n function Origin(moduleId, moduleMember) {\n \n\n this.moduleId = moduleId;\n this.moduleMember = moduleMember;\n }\n\n Origin.get = function get(fn) {\n var origin = originStorage.get(fn);\n\n if (origin === undefined) {\n PLATFORM.eachModule(function (key, value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n for (var name in value) {\n try {\n var exp = value[name];\n if (exp === fn) {\n originStorage.set(fn, origin = new Origin(key, name));\n return true;\n }\n } catch (e) {}\n }\n }\n\n if (value === fn) {\n originStorage.set(fn, origin = new Origin(key, 'default'));\n return true;\n }\n\n return false;\n });\n }\n\n return origin || unknownOrigin;\n };\n\n Origin.set = function set(fn, origin) {\n originStorage.set(fn, origin);\n };\n\n return Origin;\n}();\n\nexport function decorators() {\n for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {\n rest[_key] = arguments[_key];\n }\n\n var applicator = function applicator(target, key, descriptor) {\n var i = rest.length;\n\n if (key) {\n descriptor = descriptor || {\n value: target[key],\n writable: true,\n configurable: true,\n enumerable: true\n };\n\n while (i--) {\n descriptor = rest[i](target, key, descriptor) || descriptor;\n }\n\n Object.defineProperty(target, key, descriptor);\n } else {\n while (i--) {\n target = rest[i](target) || target;\n }\n }\n\n return target;\n };\n\n applicator.on = applicator;\n return applicator;\n}\n\nexport function deprecated(optionsOrTarget, maybeKey, maybeDescriptor) {\n function decorator(target, key, descriptor) {\n var methodSignature = target.constructor.name + '#' + key;\n var options = maybeKey ? {} : optionsOrTarget || {};\n var message = 'DEPRECATION - ' + methodSignature;\n\n if (typeof descriptor.value !== 'function') {\n throw new SyntaxError('Only methods can be marked as deprecated.');\n }\n\n if (options.message) {\n message += ' - ' + options.message;\n }\n\n return _extends({}, descriptor, {\n value: function deprecationWrapper() {\n if (options.error) {\n throw new Error(message);\n } else {\n console.warn(message);\n }\n\n return descriptor.value.apply(this, arguments);\n }\n });\n }\n\n return maybeKey ? decorator(optionsOrTarget, maybeKey, maybeDescriptor) : decorator;\n}\n\nexport function mixin(behavior) {\n var instanceKeys = Object.keys(behavior);\n\n function _mixin(possible) {\n var decorator = function decorator(target) {\n var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n var i = instanceKeys.length;\n while (i--) {\n var property = instanceKeys[i];\n Object.defineProperty(resolvedTarget, property, {\n value: behavior[property],\n writable: true\n });\n }\n };\n\n return possible ? decorator(possible) : decorator;\n }\n\n return _mixin;\n}\n\nfunction alwaysValid() {\n return true;\n}\nfunction noCompose() {}\n\nfunction ensureProtocolOptions(options) {\n if (options === undefined) {\n options = {};\n } else if (typeof options === 'function') {\n options = {\n validate: options\n };\n }\n\n if (!options.validate) {\n options.validate = alwaysValid;\n }\n\n if (!options.compose) {\n options.compose = noCompose;\n }\n\n return options;\n}\n\nfunction createProtocolValidator(validate) {\n return function (target) {\n var result = validate(target);\n return result === true;\n };\n}\n\nfunction createProtocolAsserter(name, validate) {\n return function (target) {\n var result = validate(target);\n if (result !== true) {\n throw new Error(result || name + ' was not correctly implemented.');\n }\n };\n}\n\nexport function protocol(name, options) {\n options = ensureProtocolOptions(options);\n\n var result = function result(target) {\n var resolvedTarget = typeof target === 'function' ? target.prototype : target;\n\n options.compose(resolvedTarget);\n result.assert(resolvedTarget);\n\n Object.defineProperty(resolvedTarget, 'protocol:' + name, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: true\n });\n };\n\n result.validate = createProtocolValidator(options.validate);\n result.assert = createProtocolAsserter(name, options.validate);\n\n return result;\n}\n\nprotocol.create = function (name, options) {\n options = ensureProtocolOptions(options);\n var hidden = 'protocol:' + name;\n var result = function result(target) {\n var decorator = protocol(name, options);\n return target ? decorator(target) : decorator;\n };\n\n result.decorates = function (obj) {\n return obj[hidden] === true;\n };\n result.validate = createProtocolValidator(options.validate);\n result.assert = createProtocolAsserter(name, options.validate);\n\n return result;\n};"],"sourceRoot":""}