UNPKG

5.69 kBJavaScriptView Raw
1var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2 if (k2 === undefined) k2 = k;
3 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4}) : (function(o, m, k, k2) {
5 if (k2 === undefined) k2 = k;
6 o[k2] = m[k];
7}));
8var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
9 Object.defineProperty(o, "default", { enumerable: true, value: v });
10}) : function(o, v) {
11 o["default"] = v;
12});
13var __importStar = (this && this.__importStar) || function (mod) {
14 if (mod && mod.__esModule) return mod;
15 var result = {};
16 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
17 __setModuleDefault(result, mod);
18 return result;
19};
20define(["require", "exports", "../constants/error_msgs"], function (require, exports, ERROR_MSGS) {
21 "use strict";
22 Object.defineProperty(exports, "__esModule", { value: true });
23 exports.getSymbolDescription = exports.circularDependencyToException = exports.listMetadataForTarget = exports.listRegisteredBindingsForServiceIdentifier = exports.getServiceIdentifierAsString = exports.getFunctionName = void 0;
24 ERROR_MSGS = __importStar(ERROR_MSGS);
25 function getServiceIdentifierAsString(serviceIdentifier) {
26 if (typeof serviceIdentifier === "function") {
27 var _serviceIdentifier = serviceIdentifier;
28 return _serviceIdentifier.name;
29 }
30 else if (typeof serviceIdentifier === "symbol") {
31 return serviceIdentifier.toString();
32 }
33 else {
34 var _serviceIdentifier = serviceIdentifier;
35 return _serviceIdentifier;
36 }
37 }
38 exports.getServiceIdentifierAsString = getServiceIdentifierAsString;
39 function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {
40 var registeredBindingsList = "";
41 var registeredBindings = getBindings(container, serviceIdentifier);
42 if (registeredBindings.length !== 0) {
43 registeredBindingsList = "\nRegistered bindings:";
44 registeredBindings.forEach(function (binding) {
45 var name = "Object";
46 if (binding.implementationType !== null) {
47 name = getFunctionName(binding.implementationType);
48 }
49 registeredBindingsList = registeredBindingsList + "\n " + name;
50 if (binding.constraint.metaData) {
51 registeredBindingsList = registeredBindingsList + " - " + binding.constraint.metaData;
52 }
53 });
54 }
55 return registeredBindingsList;
56 }
57 exports.listRegisteredBindingsForServiceIdentifier = listRegisteredBindingsForServiceIdentifier;
58 function alreadyDependencyChain(request, serviceIdentifier) {
59 if (request.parentRequest === null) {
60 return false;
61 }
62 else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {
63 return true;
64 }
65 else {
66 return alreadyDependencyChain(request.parentRequest, serviceIdentifier);
67 }
68 }
69 function dependencyChainToString(request) {
70 function _createStringArr(req, result) {
71 if (result === void 0) { result = []; }
72 var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);
73 result.push(serviceIdentifier);
74 if (req.parentRequest !== null) {
75 return _createStringArr(req.parentRequest, result);
76 }
77 return result;
78 }
79 var stringArr = _createStringArr(request);
80 return stringArr.reverse().join(" --> ");
81 }
82 function circularDependencyToException(request) {
83 request.childRequests.forEach(function (childRequest) {
84 if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {
85 var services = dependencyChainToString(childRequest);
86 throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY + " " + services);
87 }
88 else {
89 circularDependencyToException(childRequest);
90 }
91 });
92 }
93 exports.circularDependencyToException = circularDependencyToException;
94 function listMetadataForTarget(serviceIdentifierString, target) {
95 if (target.isTagged() || target.isNamed()) {
96 var m_1 = "";
97 var namedTag = target.getNamedTag();
98 var otherTags = target.getCustomTags();
99 if (namedTag !== null) {
100 m_1 += namedTag.toString() + "\n";
101 }
102 if (otherTags !== null) {
103 otherTags.forEach(function (tag) {
104 m_1 += tag.toString() + "\n";
105 });
106 }
107 return " " + serviceIdentifierString + "\n " + serviceIdentifierString + " - " + m_1;
108 }
109 else {
110 return " " + serviceIdentifierString;
111 }
112 }
113 exports.listMetadataForTarget = listMetadataForTarget;
114 function getFunctionName(func) {
115 if (func.name) {
116 return func.name;
117 }
118 else {
119 var name_1 = func.toString();
120 var match = name_1.match(/^function\s*([^\s(]+)/);
121 return match ? match[1] : "Anonymous function: " + name_1;
122 }
123 }
124 exports.getFunctionName = getFunctionName;
125 function getSymbolDescription(symbol) {
126 return symbol.toString().slice(7, -1);
127 }
128 exports.getSymbolDescription = getSymbolDescription;
129});
130//# sourceMappingURL=serialization.js.map
\No newline at end of file