UNPKG

ts-auto-mock

Version:

Typescript transformer to unlock automatic mock creation for interfaces and classes

1 lines 78.8 kB
(()=>{"use strict";var e={6508:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLogger=function(e,t){return{info:function(r){console.log(e(t,"info",r))},warning:function(r){console.log(e(t,"warning",r))},error:function(r){console.log(e(t,"error",r))}}}},3183:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FileLogger=function(e,t){var r=function(e){n.default.writeFileSync("tsAutoMock.log",e,{flag:"a"})};return{info:function(o){r(e(t,"info",o)),r("\n")},warning:function(o){r(e(t,"warning",o)),r("\n")},error:function(o){r(e(t,"error",o)),r("\n")}}};var n=o(r(9896))},1769:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=function(e){var t=(0,o.GetTsAutoMockDebugOptions)();return t?"file"===t?(0,a.FileLogger)(c,e):(0,n.ConsoleLogger)(c,e):(0,i.SilentLogger)()};var o=r(598),n=r(6508),i=r(4844),a=r(3183),c=function(e,t,r){return"".concat((new Date).toISOString(),"-").concat(t.toUpperCase(),": ").concat(e," - ").concat(r)}},4844:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SilentLogger=function(){return{info:function(e){},warning:function(e){},error:function(e){}}}},1899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTsAutoMockCacheOptions=function(){return(0,o.GetOptionByKey)("cacheBetweenTests")};var o=r(6495)},598:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTsAutoMockDebugOptions=function(){return(0,o.GetOptionByKey)("debug")};var o=r(6495)},4876:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.defaultOptions=void 0,t.defaultOptions={features:[],debug:!1,cacheBetweenTests:!0,files:void 0}},9022:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.GetIsFilesExcludedFromOptions=function(){var e=(0,i.GetOptionByKey)("files");return e?function(t){return!n.default.isMatch(t.fileName,e)}:function(e){return!1}};var n=o(r(7373)),i=r(6495)},6495:function(e,t,r){var o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},o.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.SetTsAutoMockOptions=function(e){i=o(o({},n.defaultOptions),e)},t.GetOptionByKey=function(e){return i[e]};var n=r(4876),i=n.defaultOptions},7750:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IsTsAutoMockRandomEnabled=function(){return(0,o.GetOptionByKey)("features").includes("random")};var o=r(6495)},791:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayHelper=void 0,function(e){e.AreEqual=function(e,t){var r=e.length;if(r!==t.length)return!1;for(var o=0;o<r;o++)if(!t.includes(e[o]))return!1;for(o=0;o<r;o++)if(!e.includes(t[o]))return!1;return!0},e.ArrayFromLength=function(e){return Array.from(Array(e),(function(e,t){return t}))}}(r||(t.ArrayHelper=r={}))},6079:function(e,t,r){var o=this&&this.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var o,n=0,i=t.length;n<i;n++)!o&&n in t||(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.baseTransformer=function(e,t){return function(r,c){c&&(0,n.SetTsAutoMockOptions)(c),(0,p.InitCore)(t,r),(0,i.InitIdentifiers)();var s=(0,u.GetIsFilesExcludedFromOptions)();return function(t){return function(r){if(s(r))return r;a.MockDefiner.instance.initFile(r);var n=d(r,t,e);return(0,l.updateSourceFileNode)(n,o(o([],a.MockDefiner.instance.getTopStatementsForFile(n),!0),n.statements,!0))}}}};var n=r(6495),i=r(895),a=r(743),c=r(9077),s=r(6111),u=r(9022),l=r(103),p=r(847);function d(e,t,r){return p.core.ts.visitEachChild(function(e,t){if(!p.core.ts.isCallExpression(e))return e;var r=c.TypescriptHelper.getSignatureOfCallExpression(e);if(!r||!r.declaration)return e;var o=(0,s.getMatchingCustomFunction)(e,r.declaration,t);return o?(a.MockDefiner.instance.setFileNameFromNode(e),a.MockDefiner.instance.setTsAutoMockImportIdentifier(),o.run(e)):e}(e,r),(function(e){return d(e,t,r)}),t)}},847:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.core=void 0,t.InitCore=function(e,t){Object.defineProperty(r,"ts",{value:e}),Object.defineProperty(r,"typeChecker",{value:t.getTypeChecker()}),Object.defineProperty(r,"program",{value:t})};var r={get ts(){throw new Error("Core was not initialized")},get program(){throw new Error("Core was not initialized")},get typeChecker(){throw new Error("Core was not initialized")}};t.core=r},4259:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.customTransformer=void 0;var o=r(6079),n=r(7980);t.customTransformer=function(e,t){return(0,o.baseTransformer)(n.customFunctions,t.typescript)(e,t.transformerOptions)}},1368:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createHydratedMockCustomFunction=void 0;var o=r(4025),n=r(7941);function i(e){return e.arguments.length?e.arguments[0]:void 0}t.createHydratedMockCustomFunction=(0,n.customFunctionWithTypeArgument)("create-hydrated-mock.d.ts","createHydratedMock",(function(e,t){return(0,o.getMock)(e,{nodeToMock:t,hydrated:!0,defaultValues:i(e)})}))},8163:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMockListCustomFunction=void 0;var o=r(103),n=r(4025),i=r(7941);function a(e){return e.arguments.length?e.arguments[1]:void 0}t.createMockListCustomFunction=(0,i.customFunctionWithTypeArgument)("create-mock-list.d.ts","createMockList",(function(e,t){var r=e.arguments[0];return r?(0,n.getMock)(e,{nodeToMock:t,amount:r,defaultValues:a(e)}):(0,o.createArrayLiteral)([])}))},2046:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createMockCustomFunction=void 0;var o=r(4025),n=r(7941);function i(e){return e.arguments.length?e.arguments[0]:void 0}t.createMockCustomFunction=(0,n.customFunctionWithTypeArgument)("create-mock.d.ts","createMock",(function(e,t){return(0,o.getMock)(e,{nodeToMock:t,defaultValues:i(e)})}))},7980:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.customFunctions=void 0;var o=r(1368),n=r(2046),i=r(8163),a=r(765);t.customFunctions=[n.createMockCustomFunction,i.createMockListCustomFunction,a.registerMockCustomFunction,o.createHydratedMockCustomFunction]},7050:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.assertTypeArgumentPresence=function(e){if(!o.TypescriptHelper.hasTypeArguments(e)){var t=e.getText();throw new Error("It seems you've called `".concat(t,"' without specifying a type argument to mock. \n Please refer to the documentation on how to use `").concat(t,"': \n https://github.com/Typescript-TDD/ts-auto-mock#quick-overview"))}};var o=r(9077)},7941:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.customFunctionWithTypeArgument=function(e,t,r){return{sourceDts:e,sourceUrl:"../".concat(e),isHandledFunction:function(e,r){return function(e,t){var r;return(null===(r=e.name)||void 0===r?void 0:r.getText())===t}(r,t)},run:function(e){(0,o.assertTypeArgumentPresence)(e);var t=e.typeArguments[0];return r(e,t)}}};var o=r(7050)},765:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.registerMockCustomFunction=void 0;var o=r(4025),n=r(7941);t.registerMockCustomFunction=(0,n.customFunctionWithTypeArgument)("register-mock.d.ts","registerMock",(function(e,t){return(0,o.storeRegisterMock)(t,e)}))},7435:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetArrayDescriptor=function(){return(0,o.createArrayLiteral)()};var o=r(103)},7827:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetBigIntDescriptor=function(){return(0,o.createCall)((0,o.createIdentifier)("BigInt"),[(0,o.createNumericLiteral)("0")])};var o=r(103)},2695:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetBooleanDescriptor=function(){return(0,o.IsTsAutoMockRandomEnabled)()?(0,i.createCall)((0,n.RandomPropertyAccessor)("boolean"),[]):(0,a.GetBooleanFalseDescriptor)()};var o=r(7750),n=r(7571),i=r(103),a=r(6604)},6604:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetBooleanFalseDescriptor=function(){return(0,o.createLogicalNot)((0,o.createNumericLiteral)(1))};var o=r(103)},1003:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetBooleanTrueDescriptor=function(){return(0,o.createLogicalNot)((0,o.createNumericLiteral)(0))};var o=r(103)},4525:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetCallExpressionDescriptor=function(e,t){return(0,a.GetDescriptor)(l(e),t)},t.GetCallExpressionType=l;var o=r(9342),n=r(6719),i=r(847),a=r(1799),c=r(9077),s=r(6536),u=r(9891);function l(e){return p(e,c.TypescriptHelper.GetDeclarationFromNode(e.expression))}function p(e,t){if(i.core.ts.isFunctionLike(t))return(0,s.GetFunctionReturnType)(t);if(i.core.ts.isVariableDeclaration(t))if(t.type){if(i.core.ts.isFunctionTypeNode(t.type))return t.type.type}else if(t.initializer)return p(e,t.initializer);return(0,o.TransformerLogger)().typeOfFunctionCallNotFound((0,n.NodeToString)(e)),(0,u.GetNullDescriptor)()}},979:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetClassDeclarationDescriptor=function(e,t){return(0,o.GetProperties)(e,t)};var o=r(1099)},471:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetConstructorTypeDescriptor=function(e,t){return(0,n.createFunctionExpressionReturn)((0,o.GetDescriptor)(e.type,t))};var o=r(1799),n=r(103)},1799:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetDescriptor=function(e,t){switch(e.kind){case i.core.ts.SyntaxKind.ShorthandPropertyAssignment:return(0,q.GetShorthandPropertyAssignmentDescriptor)(e,t);case i.core.ts.SyntaxKind.VariableDeclaration:return(0,Q.GetVariableDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.Parameter:return(0,z.GetParameterDescriptor)(e,t);case i.core.ts.SyntaxKind.ParenthesizedExpression:return(0,W.GetParenthesizedExpressionDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeAliasDeclaration:return(0,L.GetTypeAliasDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeReference:return(0,R.GetTypeReferenceDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeLiteral:return(0,w.GetTypeLiteralDescriptor)(e,t);case i.core.ts.SyntaxKind.InterfaceDeclaration:return(0,T.GetInterfaceDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.ClassDeclaration:return(0,d.GetClassDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.PropertySignature:case i.core.ts.SyntaxKind.PropertyAssignment:case i.core.ts.SyntaxKind.PropertyDeclaration:return(0,A.GetPropertyDescriptor)(e,t);case i.core.ts.SyntaxKind.LiteralType:return(0,D.GetLiteralDescriptor)(e,t);case i.core.ts.SyntaxKind.ExpressionWithTypeArguments:return(0,m.GetExpressionWithTypeArgumentsDescriptor)(e,t);case i.core.ts.SyntaxKind.Identifier:return(0,g.GetIdentifierDescriptor)(e,t);case i.core.ts.SyntaxKind.ThisType:if(!t.currentMockKey)throw new Error("The transformer attempted to look up a mock factory call for `".concat(e.getText(),"' without a mock key."));return(0,n.GetMockFactoryCallForThis)(t.currentMockKey);case i.core.ts.SyntaxKind.ImportSpecifier:return(0,h.GetImportDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeParameter:return(0,E.GetTypeParameterDescriptor)(e,t);case i.core.ts.SyntaxKind.ImportClause:return(0,h.GetImportDescriptor)(e,t);case i.core.ts.SyntaxKind.MethodSignature:return(0,G.GetMethodSignatureDescriptor)(e,t);case i.core.ts.SyntaxKind.GetAccessor:return(0,v.GetGetAccessorDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.FunctionDeclaration:case i.core.ts.SyntaxKind.MethodDeclaration:return(0,x.GetMethodDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.FunctionType:case i.core.ts.SyntaxKind.ConstructSignature:case i.core.ts.SyntaxKind.CallSignature:return(0,F.GetFunctionTypeDescriptor)(e,t);case i.core.ts.SyntaxKind.ArrowFunction:case i.core.ts.SyntaxKind.FunctionExpression:return(0,S.GetFunctionAssignmentDescriptor)(e,t);case i.core.ts.SyntaxKind.ConstructorType:return(0,y.GetConstructorTypeDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeQuery:return(0,j.GetTypeQueryDescriptor)(e,t);case i.core.ts.SyntaxKind.UnionType:return(0,U.GetUnionDescriptor)(e,t);case i.core.ts.SyntaxKind.IntersectionType:return(0,P.GetIntersectionDescriptor)(e,t);case i.core.ts.SyntaxKind.EnumDeclaration:return(0,f.GetEnumDeclarationDescriptor)(e);case i.core.ts.SyntaxKind.MappedType:return(0,k.GetMappedDescriptor)(e,t);case i.core.ts.SyntaxKind.ParenthesizedType:return(0,O.GetParenthesizedDescriptor)(e,t);case i.core.ts.SyntaxKind.ArrayType:return(0,a.GetArrayDescriptor)();case i.core.ts.SyntaxKind.TupleType:return(0,H.GetTupleDescriptor)(e,t);case i.core.ts.SyntaxKind.StringKeyword:return(0,K.GetStringDescriptor)();case i.core.ts.SyntaxKind.NumberKeyword:return(0,N.GetNumberDescriptor)();case i.core.ts.SyntaxKind.TrueKeyword:return(0,l.GetBooleanTrueDescriptor)();case i.core.ts.SyntaxKind.FalseKeyword:return(0,u.GetBooleanFalseDescriptor)();case i.core.ts.SyntaxKind.NumericLiteral:case i.core.ts.SyntaxKind.StringLiteral:return(0,D.GetLiteralDescriptor)(e,t);case i.core.ts.SyntaxKind.ObjectLiteralExpression:return(0,C.GetObjectLiteralDescriptor)(e,t);case i.core.ts.SyntaxKind.IndexedAccessType:return(0,_.GetIndexedAccessTypeDescriptor)(e,t);case i.core.ts.SyntaxKind.BooleanKeyword:case i.core.ts.SyntaxKind.TypePredicate:case i.core.ts.SyntaxKind.FirstTypeNode:return(0,s.GetBooleanDescriptor)();case i.core.ts.SyntaxKind.ObjectKeyword:return(0,b.GetMockPropertiesFromSymbol)([],[],t);case i.core.ts.SyntaxKind.NullKeyword:return(0,I.GetNullDescriptor)();case i.core.ts.SyntaxKind.ImportEqualsDeclaration:return(0,M.GetImportEqualsDescriptor)(e,t);case i.core.ts.SyntaxKind.TypeOperator:return(0,V.GetTypeOperatorDescriptor)(e,t);case i.core.ts.SyntaxKind.BigIntKeyword:return(0,c.GetBigIntDescriptor)();case i.core.ts.SyntaxKind.AnyKeyword:case i.core.ts.SyntaxKind.NeverKeyword:case i.core.ts.SyntaxKind.UnknownKeyword:case i.core.ts.SyntaxKind.UndefinedKeyword:case i.core.ts.SyntaxKind.VoidKeyword:return(0,B.GetUndefinedDescriptor)();case i.core.ts.SyntaxKind.CallExpression:return(0,p.GetCallExpressionDescriptor)(e,t);default:return(0,o.TransformerLogger)().typeNotSupported(i.core.ts.SyntaxKind[e.kind],e),(0,I.GetNullDescriptor)()}};var o=r(9342),n=r(1199),i=r(847),a=r(7435),c=r(7827),s=r(2695),u=r(6604),l=r(1003),p=r(4525),d=r(979),y=r(471),f=r(7835),m=r(6189),v=r(251),g=r(739),h=r(7331),M=r(7966),_=r(9315),T=r(1595),P=r(4179),D=r(6003),k=r(1743),S=r(5483),F=r(1370),x=r(1059),G=r(5201),b=r(3416),I=r(9891),N=r(4715),C=r(1691),O=r(2903),A=r(9249),K=r(1907),L=r(9903),w=r(3491),E=r(2192),j=r(8723),R=r(2527),B=r(3195),U=r(1347),V=r(6353),H=r(7367),q=r(1923),z=r(1219),Q=r(1677),W=r(8382)},7835:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetEnumDeclarationDescriptor=function(e){var t=o.core.typeChecker;if((0,i.IsTsAutoMockRandomEnabled)()){var r=e.members.map((function(e,r){return c(t,e,r)}));return(0,a.createCall)((0,n.RandomPropertyAccessor)("enumValue"),r)}return c(t,e.members[0])};var o=r(847),n=r(7571),i=r(7750),a=r(103);function c(e,t,r){void 0===r&&(r=0);var o=e.getConstantValue(t)||r;return"number"==typeof o?(0,a.createExpressionForNegativeOrPositiveNumber)(o):(0,a.createStringLiteral)(o)}},6189:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetExpressionWithTypeArgumentsDescriptor=function(e,t){return(0,o.GetDescriptor)(e.expression,t)};var o=r(1799)},251:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetGetAccessorDeclarationDescriptor=function(e,t){i.PropertySignatureCache.instance.set(e.name);var r=(0,n.GetFunctionReturnType)(e);return(0,o.GetDescriptor)(r,t)};var o=r(1799),n=r(6536),i=r(8222)},9077:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TypescriptHelper=void 0;var o,n=r(103),i=r(847);!function(e){function t(e){var t=i.core.typeChecker.getSymbolAtLocation(e);if(!t)throw new Error("The type checker failed to look up a symbol for `".concat(e.getText(),"'. \n Perhaps, the checker was searching an outdated source."));return r(t)}function r(e){var t=e.declarations;if(!t)throw new Error("Failed to look up declarations for `".concat(e.getName(),"'."));var r=c(t);return s(r)?o(r):r}function o(e){return c(u(e))}function a(e){return u(e)[0]}function c(e){return e.find((function(e){return!i.core.ts.isVariableDeclaration(e)&&!i.core.ts.isFunctionDeclaration(e)&&!i.core.ts.isModuleDeclaration(e)}))||e[0]}function s(e){return i.core.ts.isImportEqualsDeclaration(e)||i.core.ts.isImportOrExportSpecifier(e)||i.core.ts.isImportClause(e)}function u(e){var t,r=i.core.typeChecker,o=e.name&&r.getSymbolAtLocation(e.name),n=o&&r.getAliasedSymbol(o);return null!==(t=null==n?void 0:n.declarations)&&void 0!==t?t:[]}e.IsLiteralOrPrimitive=function(e){return i.core.ts.isLiteralTypeNode(e)||e.kind===i.core.ts.SyntaxKind.StringKeyword||e.kind===i.core.ts.SyntaxKind.BooleanKeyword||e.kind===i.core.ts.SyntaxKind.NumberKeyword||e.kind===i.core.ts.SyntaxKind.ArrayType},e.GetDeclarationFromNode=t,e.GetDeclarationFromSymbol=r,e.GetConcreteDeclarationFromSymbol=function(e){var t=e.declarations;if(!t)throw new Error("Failed to look up declarations for `".concat(e.getName(),"'."));var r=t[0];return s(r)?a(r):r},e.GetDeclarationForImport=o,e.GetConcreteDeclarationForImport=a,e.GetParameterOfNode=function(e){var r=t(e).typeParameters;return void 0===r?(0,n.createNodeArray)([]):r},e.GetTypeParameterOwnerMock=function(e){var t=i.core.ts.getTypeParameterOwner(e);if(t&&t.typeParameters)return t;for(var r=e;r;r=r.parent)if(r.kind===i.core.ts.SyntaxKind.TypeAliasDeclaration)return r},e.GetStringPropertyName=function(e){if(!i.core.ts.isComputedPropertyName(e))return e.text;var t=i.core.typeChecker.getSymbolAtLocation(e);if(!t)throw new Error("The type checker failed to look up symbol for property: ".concat(e.getText(),"."));return t.escapedName.toString()},e.GetAliasedSymbolSafe=function(e){return(t=e).flags&i.core.ts.SymbolFlags.Alias||t.flags&i.core.ts.SymbolFlags.AliasExcludes?i.core.typeChecker.getAliasedSymbol(e):e;var t},e.getSignatureOfCallExpression=function(e){return i.core.typeChecker.getResolvedSignature(e)},e.hasTypeArguments=function(e){return void 0!==e.typeArguments&&!!e.typeArguments.length}}(o||(t.TypescriptHelper=o={}))},739:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetIdentifierDescriptor=function(e,t){var r;if(a.core.ts.identifierToKeywordKind(e)===(null===(r=a.core.ts.SyntaxKind)||void 0===r?void 0:r.UndefinedKeyword))return(0,i.GetUndefinedDescriptor)();var c=n.TypescriptHelper.GetDeclarationFromNode(e);return(0,o.GetDescriptor)(c,t)};var o=r(1799),n=r(9077),i=r(3195),a=r(847)},7331:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetImportDescriptor=function(e,t){var r=(0,n.GetTypeImport)(e);return(0,o.GetDescriptor)(r,t)};var o=r(1799),n=r(1748)},7966:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetImportEqualsDescriptor=function(e,t){var r=n.TypescriptHelper.GetDeclarationFromNode(e.moduleReference);return(0,o.GetDescriptor)(r,t)};var o=r(1799),n=r(9077)},9315:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetIndexedAccessTypeDescriptor=function(e,t){var r=null;switch(e.indexType.kind){case n.core.ts.SyntaxKind.TypeReference:var u=a.TypescriptHelper.GetDeclarationFromNode(e.indexType.typeName);switch(u.kind){case n.core.ts.SyntaxKind.TypeParameter:var l=s.PropertySignatureCache.instance.get();r=a.TypescriptHelper.GetStringPropertyName(l);break;case n.core.ts.SyntaxKind.TypeAliasDeclaration:r=u.type.literal.text;break;default:(0,o.TransformerLogger)().typeNotSupported("IndexedAccess of TypeReference of ".concat(n.core.ts.SyntaxKind[u.kind]),u)}break;case n.core.ts.SyntaxKind.LiteralType:r=e.indexType.literal.text;break;default:(0,o.TransformerLogger)().typeNotSupported("IndexedAccess of ".concat(n.core.ts.SyntaxKind[e.indexType.kind]),e.indexType)}if(null!==r){var p=n.core.typeChecker.getPropertyOfType(n.core.typeChecker.getTypeFromTypeNode(e.objectType),r);return p?(0,i.GetDescriptor)(a.TypescriptHelper.GetDeclarationFromSymbol(p),t):((0,o.TransformerLogger)().indexedAccessTypeFailed(r,e.getText(),e),(0,c.GetNullDescriptor)())}return(0,c.GetNullDescriptor)()};var o=r(9342),n=r(847),i=r(1799),a=r(9077),c=r(9891),s=r(8222)},1595:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetInterfaceDeclarationDescriptor=function(e,t){return(0,o.GetProperties)(e,t)};var o=r(1099)},4179:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetIntersectionDescriptor=function(e,t){return(0,a.GetTypes)(e.types,t).some((function(e){return i.TypescriptHelper.IsLiteralOrPrimitive(e)||n.core.ts.isTypeQueryNode(e)}))?(0,c.GetUndefinedDescriptor)():(0,o.GetMockFactoryCallIntersection)(e,t)};var o=r(1199),n=r(847),i=r(9077),a=r(2145),c=r(3195)},6003:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetLiteralDescriptor=function(e,t){var r=o.core.typeChecker.getTypeAtLocation(e);return r.value?(0,i.createLiteral)(r):e.literal?(0,n.GetDescriptor)(e.literal,t):function(e){var t=e;return t.kind===o.core.ts.SyntaxKind.NumericLiteral?(0,i.createExpressionForNegativeOrPositiveNumber)(parseInt(t.text,10)):(0,i.createStringLiteral)(t.text)}(e)};var o=r(847),n=r(1799),i=r(103)},1743:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMappedDescriptor=function(e,t){var r=e.typeParameter.constraint,c=[];r&&c.push(r);var s=(0,i.GetTypes)((0,a.createNodeArray)(c),t).reduce((function(t,r){if(o.core.ts.isLiteralTypeNode(r)){var n=(0,a.createProperty)(r.literal.text,e.type);return t.push(n),t}var i=o.core.typeChecker.getTypeAtLocation(r),c=o.core.typeChecker.getPropertiesOfType(i).map((function(t){return(0,a.createProperty)(t.name,e.type)}));return t.concat(c)}),[]);return(0,n.GetMockPropertiesFromDeclarations)(s,[],t)};var o=r(847),n=r(3416),i=r(2145),a=r(103)},3280:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetReturnTypeFromBodyDescriptor=function(e,t){return(0,n.GetDescriptor)(s(e),t)},t.GetReturnNodeFromBody=s;var o=r(847),n=r(1799),i=r(9891),a=r(9342),c=r(4759);function s(e){var t=e.body;if(!t)return(0,a.TransformerLogger)().missingReturnFromFunctionLike(e),(0,i.GetNullDescriptor)();if(o.core.ts.isBlock(t)){var r=t.statements.find((function(e){return e.kind===o.core.ts.SyntaxKind.ReturnStatement}));return r&&r.expression?r.expression:((0,a.TransformerLogger)().missingReturnFromFunctionLike(e),(0,i.GetNullDescriptor)())}return o.core.ts.isBinaryExpression(t)||o.core.ts.isTemplateExpression(t)||o.core.ts.isPrefixUnaryExpression(t)||o.core.ts.isArrayLiteralExpression(t)?(0,c.convertNodeToTypeNode)(t):t}},5483:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetFunctionAssignmentDescriptor=function(e,t){var r=o.PropertySignatureCache.instance.get(),a=(0,n.GetReturnTypeFromBodyDescriptor)(e,t);return(0,i.GetMethodDescriptor)(r,a)};var o=r(8222),n=r(3280),i=r(9811)},6536:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetFunctionReturnType=function(e){return e.type?e.type:(0,o.GetReturnNodeFromBody)(e)};var o=r(3280)},1370:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetFunctionTypeDescriptor=function(e,t){var r=n.PropertySignatureCache.instance.get(),c=e.type?(0,o.GetDescriptor)(e.type,t):(0,i.GetUndefinedDescriptor)();return(0,a.GetMethodDescriptor)(r,c)};var o=r(1799),n=r(8222),i=r(3195),a=r(9811)},9811:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMethodDescriptor=function(e,t){var r=(0,a.createPropertyAccess)((0,a.createPropertyAccess)((0,a.createPropertyAccess)(o.MockDefiner.instance.getCurrentModuleIdentifier(n.ModuleName.Extension),(0,a.createIdentifier)("Provider")),(0,a.createIdentifier)("instance")),(0,a.createIdentifier)("getMethod")),c=i.TypescriptHelper.GetStringPropertyName(e),s=(0,a.createStringLiteral)(c),u=(0,a.createArrowFunction)((0,a.createBlock)([(0,a.createReturnStatement)(t)],!0));return(0,a.createCall)(r,[s,u])};var o=r(743),n=r(8313),i=r(9077),a=r(103)},1059:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMethodDeclarationDescriptor=function(e,t){var r=(0,n.GetFunctionReturnType)(e),a=(0,o.GetDescriptor)(r,t);if(!e.name)throw new Error("The transformer couldn't determine the name of ".concat(e.getText(),". Please report this incident."));return(0,i.GetMethodDescriptor)(e.name,a)};var o=r(1799),n=r(6536),i=r(9811)},5201:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMethodSignatureDescriptor=function(e,t){var r;return r=e.type?(0,o.GetDescriptor)(e.type,t):(0,n.GetNullDescriptor)(),(0,i.GetMethodDescriptor)(e.name,r)};var o=r(1799),n=r(9891),i=r(9811)},9197:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMockCall=function(e,t){var r=o.Identifiers.MockIdentifierObjectReturnValue,i=[(0,n.createVariableStatement)([(0,n.createVariableDeclaration)(o.Identifiers.MockIdentifierInternalValues,(0,n.createObjectLiteral)()),(0,n.createVariableDeclaration)(r,t||(0,n.createObjectLiteral)(e.literals))])];if(t)for(var s=void 0,u=0;s=e.literals[u++];)i.push(c(r,s));if(e.lazy.length){var l=function(e,t){var r=(0,n.createObjectLiteral)(e,!0),o=(0,n.createPropertyAccess)((0,n.createIdentifier)("Object"),(0,n.createIdentifier)("defineProperties")),i=(0,n.createCall)(o,[t,r]);return(0,n.createExpressionStatement)(i)}(e.lazy,r);i.push(l)}var p,d,y,f,m=(d=[r,(p=(0,a.GetMockMarkerProperty)()).name,(0,n.createObjectLiteral)([(0,n.createPropertyAssignment)("value",p.value)])],y=(0,n.createPropertyAccess)((0,n.createIdentifier)("Object"),(0,n.createIdentifier)("defineProperty")),f=(0,n.createCall)(y,d),(0,n.createExpressionStatement)(f));i.push(m),i.push((0,n.createReturn)(r));var v=(0,n.createBlock)(i);return(0,n.createIIFE)(v)};var o=r(895),n=r(103),i=r(847),a=r(2559);function c(e,t){var r,o,a;return r=(0,n.createElementAccessExpression)(e,t.name),o=t.initializer,a=(0,n.createBinaryExpression)(r,i.core.ts.SyntaxKind.EqualsToken,o),(0,n.createExpressionStatement)(a)}},2559:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMockMarkerProperty=function(){var e=(0,c.createPropertyAccess)((0,c.createPropertyAccess)((0,c.createPropertyAccess)(o.MockDefiner.instance.getCurrentModuleIdentifier(n.ModuleName.Extension),(0,i.PrivateIdentifier)("Marker")),(0,c.createIdentifier)("instance")),(0,c.createIdentifier)("get"));return{name:(0,c.createCall)(e,[]),value:(0,a.GetBooleanTrueDescriptor)()}};var o=r(743),n=r(8313),i=r(9151),a=r(1003),c=r(103)},3416:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMockPropertiesFromSymbol=function(e,t,r){return u(e.filter((function(e){return!!e.declarations})).map((function(e){var t;return null===(t=e.declarations)||void 0===t?void 0:t.filter((function(e){return!o.core.ts.isSetAccessor(e)}))[0]})).filter(Boolean),t.map((function(e){return e.declaration})),r)},t.GetMockPropertiesFromDeclarations=u;var o=r(847),n=r(1799),i=r(7780),a=r(9239),c=r(9197),s=r(5748);function u(e,t,r){var u=e.filter((function(e){var t=e.modifiers;return!((0,i.IsTypescriptType)(e)||(0,a.IsNodeJsType)(e)||e.questionToken&&!r.hydrated||t&&0!==t.filter((function(e){return e.kind===o.core.ts.SyntaxKind.PrivateKeyword})).length)})),l=(0,s.GetMockPropertiesAssignments)(u,r),p=t.length?(0,n.GetDescriptor)(t[0],r):null;return(0,c.GetMockCall)(l,p)}},5748:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetMockPropertiesAssignments=function(e,t){return e.reduce((function(e,r){var u=(0,a.GetDescriptor)(r,t);return n.core.ts.isCallLikeExpression(u)?e.lazy.push(function(e,t){var r=c.TypescriptHelper.GetStringPropertyName(t.name),a=(0,s.createStringLiteral)(r),u=(0,s.createElementAccess)(o.Identifiers.MockIdentifierInternalValues,a),l=o.Identifiers.MockIdentifierSetParameterName,p=(0,s.createBinaryExpression)(u,n.core.ts.SyntaxKind.EqualsToken,e),d=(0,s.createCall)((0,s.createPropertyAccess)(o.Identifiers.MockIdentifierInternalValues,"hasOwnProperty"),[a]),y=(0,s.createConditional)(d,(0,s.createPunctuationToken)(n.core.ts.SyntaxKind.QuestionToken),u,(0,s.createPunctuationToken)(n.core.ts.SyntaxKind.ColonToken),p),f=(0,s.createBinaryExpression)(u,n.core.ts.SyntaxKind.EqualsToken,l),m=(0,s.createReturn)(y),v=(0,s.createBlock)([m]),g=(0,s.createExpressionStatement)(f),h=(0,s.createBlock)([g]),M=(0,s.createMethod)("get",v,[]),_=(0,s.createMethod)("set",h,[l]),T=(0,s.createObjectLiteral)([M,_,(0,s.createPropertyAssignment)((0,s.createIdentifier)("enumerable"),(0,i.GetBooleanTrueDescriptor)())]);return(0,s.createPropertyAssignment)((0,s.createStringLiteral)(r),T)}(u,r)):e.literals.push(function(e,t){var r=c.TypescriptHelper.GetStringPropertyName(t.name);return(0,s.createPropertyAssignment)((0,s.createStringLiteral)(r),e)}(u,r)),e}),{lazy:[],literals:[]})};var o=r(895),n=r(847),i=r(1003),a=r(1799),c=r(9077),s=r(103)},4789:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isPropertyLike=function(e){return e.kind===o.core.ts.SyntaxKind.PropertyDeclaration||e.kind===o.core.ts.SyntaxKind.PropertySignature||e.kind===o.core.ts.SyntaxKind.MethodSignature};var o=r(847)},6242:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isSignatureLike=function(e){return e.kind===o.core.ts.SyntaxKind.CallSignature||e.kind===o.core.ts.SyntaxKind.ConstructSignature};var o=r(847)},9941:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetModuleDescriptor=function(e,t){if(!e.name)throw new Error("Cannot look up symbol for a node without a name: ".concat(e.getText(),"."));var r=o.core.typeChecker,n=r.getSymbolAtLocation(e.name);if(!n)throw new Error("The type checker failed to look up symbol for `".concat(e.name.getText(),"'."));var c,l=r.getAliasedSymbol(n),p=s(l);return c=p,o.core.ts.isSourceFile(c)||o.core.ts.isModuleDeclaration(c)?function(e,t,r){return(0,i.GetMockPropertiesFromDeclarations)(u(t,r),[],r)}(0,l,t):(0,a.GetTypeQueryDescriptorFromDeclaration)(p,t)},t.GetPropertiesFromSourceFileOrModuleDeclaration=u;var o=r(847),n=r(9077),i=r(3416),a=r(8723),c=r(103),s=n.TypescriptHelper.GetDeclarationFromSymbol;function u(e,t){var r=o.core.typeChecker;return r.getExportsOfModule(e).map((function(e){var t,r,o=n.TypescriptHelper.GetAliasedSymbolSafe(e),i=null===(t=null==o?void 0:o.declarations)||void 0===t?void 0:t[0];return{declaration:null===(r=null==e?void 0:e.declarations)||void 0===r?void 0:r[0],originalDeclaration:i}})).filter((function(e){return!!e.originalDeclaration&&e.declaration})).map((function(e){if(o.core.ts.isExportAssignment(e.declaration))return(0,c.createPropertySignature)("default",(0,c.createTypeQueryNode)(e.originalDeclaration.name));if(o.core.ts.isExportSpecifier(e.declaration)&&o.core.ts.isSourceFile(e.originalDeclaration)){var n=r.getSymbolAtLocation(e.declaration.name);if(!n)throw new Error("The type checker failed to look up symbol for `".concat(e.declaration.name.getText(),"'."));var i=u(r.getAliasedSymbol(n),t),a=(0,c.createTypeLiteralNode)(i);return(0,c.createPropertySignature)(e.declaration.name,a)}return(0,c.createPropertySignature)(e.originalDeclaration.name||(0,c.createIdentifier)("default"),(0,c.createTypeQueryNode)(e.originalDeclaration.name))}))}},9239:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IsNodeJsType=function(e){var t=e.getSourceFile();return!!t&&t.fileName.includes(r)};var r="node_modules/@types/node/globals.d.ts"},9891:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetNullDescriptor=function(){return(0,o.createNull)()};var o=r(103)},4715:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetNumberDescriptor=function(){return(0,o.IsTsAutoMockRandomEnabled)()?(0,i.createCall)((0,n.RandomPropertyAccessor)("number"),[]):(0,i.createNumericLiteral)(0)};var o=r(7750),n=r(7571),i=r(103)},1691:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetObjectLiteralDescriptor=function(e,t){var r=o.core.typeChecker.getTypeAtLocation(e),i=o.core.typeChecker.getPropertiesOfType(r);return(0,n.GetMockPropertiesFromSymbol)(i,[],t)};var o=r(847),n=r(3416)},1219:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetParameterDescriptor=void 0;var o=r(9891),n=r(1799);t.GetParameterDescriptor=function(e,t){return e.type?(0,n.GetDescriptor)(e.type,t):e.initializer?(0,n.GetDescriptor)(e.initializer,t):(0,o.GetNullDescriptor)()}},2903:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetParenthesizedDescriptor=function(e,t){return(0,o.GetProperties)(e.type,t)};var o=r(1099)},8382:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetParenthesizedExpressionDescriptor=void 0;var o=r(1799);t.GetParenthesizedExpressionDescriptor=function(e,t){return(0,o.GetDescriptor)(e.expression,t)}},1099:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetProperties=function(e,t){var r=o.core.typeChecker,i=r.getTypeAtLocation(e),a=r.getPropertiesOfType(i);if(!a.length&&o.core.ts.isTypeLiteralNode(e))return c(e,t);var s=[];return Array.prototype.push.apply(s,r.getSignaturesOfType(i,o.core.ts.SignatureKind.Call)),Array.prototype.push.apply(s,r.getSignaturesOfType(i,o.core.ts.SignatureKind.Construct)),(0,n.GetMockPropertiesFromSymbol)(a,s,t)},t.GetPropertiesFromMembers=c;var o=r(847),n=r(3416),i=r(4789),a=r(6242);function c(e,t){for(var r=e.members,o=[],c=[],s=0;s<r.length;s++){var u=r[s];(0,a.isSignatureLike)(u)?o.push(u):(0,i.isPropertyLike)(u)&&c.push(u)}return(0,n.GetMockPropertiesFromDeclarations)(c,o,t)}},8222:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PropertySignatureCache=void 0;var o=r(103),n=function(){function e(){}return Object.defineProperty(e,"instance",{get:function(){return this._instance=this._instance||new e,this._instance},enumerable:!1,configurable:!0}),e.prototype.set=function(e){this._cache=e},e.prototype.get=function(){return this._cache||(0,o.createEmptyProperty)().name},e}();t.PropertySignatureCache=n},9249:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetPropertyDescriptor=function(e,t){return a.PropertySignatureCache.instance.set(e.name),e.type?(0,o.GetDescriptor)(e.type,t):c.core.ts.isPropertySignature(e)||!e.initializer?((0,n.TransformerLogger)().typeOfPropertyNotFound(e),(0,i.GetNullDescriptor)()):(0,o.GetDescriptor)(e.initializer,t)};var o=r(1799),n=r(9342),i=r(9891),a=r(8222),c=r(847)},7571:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RandomPropertyAccessor=function(e){return(0,a.createPropertyAccess)((0,a.createPropertyAccess)(o.MockDefiner.instance.getCurrentModuleIdentifier(n.ModuleName.Random),(0,i.PrivateIdentifier)("Random")),(0,a.createIdentifier)(e))};var o=r(743),n=r(8313),i=r(9151),a=r(103)},1923:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetShorthandPropertyAssignmentDescriptor=void 0;var o=r(847),n=r(9077),i=r(1799);t.GetShorthandPropertyAssignmentDescriptor=function(e,t){var r=o.core.typeChecker.getShorthandAssignmentValueSymbol(e);if(!r)throw new Error("The type checker failed to look up a symbol for `".concat(e.getText(),"'. \n Perhaps, the checker was searching an outdated source."));var a=n.TypescriptHelper.GetDeclarationFromSymbol(r);return(0,i.GetDescriptor)(a,t)}},1907:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetStringDescriptor=function(){if((0,o.IsTsAutoMockRandomEnabled)()){var e=a.TypescriptHelper.GetStringPropertyName(n.PropertySignatureCache.instance.get()),t=(0,c.createStringLiteral)(e);return(0,c.createCall)((0,i.RandomPropertyAccessor)("string"),[t])}return(0,c.createStringLiteral)("")};var o=r(7750),n=r(8222),i=r(7571),a=r(9077),c=r(103)},7780:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IsTypescriptType=function(e){var t=e.getSourceFile();return!!t&&t.fileName.includes(c.TypescriptLibsTypesFolder)},t.GetTypescriptTypeDescriptor=function(e,t){var r=o.core.typeChecker.getSymbolAtLocation(e.typeName);switch((null==r?void 0:r.name)&&c.TypescriptLibsTypes[r.name]){case c.TypescriptLibsTypes.Array:case c.TypescriptLibsTypes.ReadonlyArray:return(0,n.GetDescriptor)((0,a.createArrayTypeNode)(),t);case c.TypescriptLibsTypes.Number:return(0,n.GetDescriptor)((0,a.createTypeNode)(o.core.ts.SyntaxKind.NumberKeyword),t);case c.TypescriptLibsTypes.String:return(0,n.GetDescriptor)((0,a.createTypeNode)(o.core.ts.SyntaxKind.StringKeyword),t);case c.TypescriptLibsTypes.Boolean:return(0,n.GetDescriptor)((0,a.createTypeNode)(o.core.ts.SyntaxKind.BooleanKeyword),t);case c.TypescriptLibsTypes.Object:return(0,n.GetDescriptor)((0,a.createTypeNode)(o.core.ts.SyntaxKind.ObjectKeyword),t);case c.TypescriptLibsTypes.Function:var s=(0,a.createTypeNode)(o.core.ts.SyntaxKind.VoidKeyword);return(0,n.GetDescriptor)((0,a.createFunctionTypeNode)(s),t);case c.TypescriptLibsTypes.Promise:var u=e.typeArguments&&e.typeArguments[0]?(0,n.GetDescriptor)(e.typeArguments[0],t):(0,i.GetUndefinedDescriptor)(),l=(0,a.createPropertyAccess)((0,a.createIdentifier)("Promise"),(0,a.createIdentifier)("resolve"));return(0,a.createCall)(l,[u]);case c.TypescriptLibsTypes.Date:return(0,a.createNew)((0,a.createIdentifier)("Date"));case c.TypescriptLibsTypes.Map:return(0,a.createNew)((0,a.createIdentifier)("Map"));case c.TypescriptLibsTypes.Set:return(0,a.createNew)((0,a.createIdentifier)("Set"));default:return(0,n.GetDescriptor)((0,a.createTypeNode)(o.core.ts.SyntaxKind.UndefinedKeyword),t)}};var o=r(847),n=r(1799),i=r(3195),a=r(103),c=r(7660)},7660:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.TypescriptLibsTypesFolder=t.TypescriptLibsTypes=void 0,function(e){e.Array="Array",e.Boolean="Boolean",e.Date="Date",e.Function="Function",e.Map="Map",e.Number="Number",e.Object="Object",e.Promise="Promise",e.ReadonlyArray="ReadonlyArray",e.Set="Set",e.String="String"}(r||(t.TypescriptLibsTypes=r={})),t.TypescriptLibsTypesFolder="node_modules/typescript/lib"},7367:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTupleDescriptor=function(e,t){return(0,n.createArrayLiteral)(function(e,t){return e.map((function(e){return(0,o.GetDescriptor)(e,t)}))}(e.elementTypes||e.elements,t))};var o=r(1799),n=r(103)},2145:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypes=function e(t,r){var n=[];return t.forEach((function(t){var a=c(t,r);if(o.core.ts.isUnionTypeNode(a)){var s=e(a.types,r);n=n.concat(s)}else if(o.core.ts.isIntersectionTypeNode(a)){var u=e(a.types,r);u.some((function(e){return i.TypescriptHelper.IsLiteralOrPrimitive(e)}))||(n=n.concat(u))}else n.push(a)})),n},t.GetType=c;var o=r(847),n=r(4525),i=r(9077),a=r(1748);function c(e,t){if(o.core.ts.isTypeReferenceNode(e)){var r=c(i.TypescriptHelper.GetDeclarationFromNode(e.typeName),t);return r.kind===o.core.ts.SyntaxKind.InterfaceDeclaration||r.kind===o.core.ts.SyntaxKind.ClassDeclaration||r.kind===o.core.ts.SyntaxKind.TypeLiteral?e:r}return o.core.ts.isThisTypeNode(e)?c(i.TypescriptHelper.GetDeclarationFromNode(e),t):o.core.ts.isTypeAliasDeclaration(e)?c(e.type,t):o.core.ts.isImportSpecifier(e)||o.core.ts.isImportClause(e)?c((0,a.GetTypeImport)(e),t):o.core.ts.isTypeOperatorNode(e)||o.core.ts.isParenthesizedTypeNode(e)?c(e.type,t):o.core.ts.isCallExpression(e)?c((0,n.GetCallExpressionType)(e),t):e}},1748:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeImport=function(e){return o.TypescriptHelper.GetDeclarationForImport(e)};var o=r(9077)},9903:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeAliasDescriptor=function(e,t){return(0,o.GetDescriptor)(e.type,t)};var o=r(1799)},3491:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeLiteralDescriptor=function(e,t){return(0,o.GetProperties)(e,t)};var o=r(1099)},4759:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.convertNodeToTypeNode=function(e){var t=o.core.typeChecker,r=t.getTypeAtLocation(e),c=t.typeToTypeNode(r,void 0,void 0);return c&&a(c)?c:((0,n.TransformerLogger)().typeCannotBeChecked(e),(0,i.GetNullDescriptor)())};var o=r(847),n=r(9342),i=r(9891),a=function(e){return[o.core.ts.SyntaxKind.BigIntKeyword,o.core.ts.SyntaxKind.NumberKeyword,o.core.ts.SyntaxKind.StringKeyword,o.core.ts.SyntaxKind.BooleanKeyword,o.core.ts.SyntaxKind.TrueKeyword,o.core.ts.SyntaxKind.FalseKeyword,o.core.ts.SyntaxKind.ArrayType,o.core.ts.SyntaxKind.UndefinedKeyword,o.core.ts.SyntaxKind.AnyKeyword,o.core.ts.SyntaxKind.NeverKeyword,o.core.ts.SyntaxKind.UnknownKeyword,o.core.ts.SyntaxKind.VoidKeyword,o.core.ts.SyntaxKind.NullKeyword].includes(e.kind)}},6353:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeOperatorDescriptor=function(e,t){switch(e.operator){case o.core.ts.SyntaxKind.ReadonlyKeyword:case o.core.ts.SyntaxKind.UniqueKeyword:return(0,n.GetDescriptor)(e.type,t);case o.core.ts.SyntaxKind.KeyOfKeyword:default:return(0,a.TransformerLogger)().typeNotSupported("TypeOperator of ".concat(o.core.ts.SyntaxKind[e.operator]),e),(0,i.GetNullDescriptor)()}};var o=r(847),n=r(1799),i=r(9891),a=r(9342)},2192:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeParameterDescriptor=function(e,t){var r=i.core.typeChecker.getTypeAtLocation(e),p=e.default?(0,a.GetDescriptor)(e.default,t):(0,s.GetNullDescriptor)(),d=l(r.symbol),y=c.TypescriptHelper.GetTypeParameterOwnerMock(d);if(!y)throw new Error("Failed to determine the owner (parent) of the type parameter: `".concat(d.getText(),"'."));return function(e,t){var r,o,a=(0,u.createReturnStatement)(t),c=(0,u.createIfStatement)((0,u.createIdentifier)("generic"),(0,u.createBlock)([(0,u.createReturnStatement)((0,u.createCall)((0,u.createPropertyAccess)((0,u.createIdentifier)("generic"),n.Identifiers.MockIdentifierGenericParameterValue),[]))],!0)),s=(r=e,o=(0,u.createCall)((0,u.createPropertyAccess)(n.Identifiers.MockIdentifierGenericParameter,(0,u.createIdentifier)("find")),[(0,u.createArrowFunction)((0,u.createBlock)([(0,u.createReturnStatement)((0,u.createBinaryExpression)((0,u.createCall)((0,u.createPropertyAccess)((0,u.createPropertyAccess)((0,u.createIdentifier)("generic"),n.Identifiers.MockIdentifierGenericParameterIds),(0,u.createIdentifier)("indexOf")),[(0,u.createStringLiteral)(r)]),(0,u.createPunctuationToken)(i.core.ts.SyntaxKind.GreaterThanEqualsToken),(0,u.createNumericLiteral)("0")))],!0),[(0,u.createParameter)("generic")])]),(0,u.createVariableStatement)((0,u.createVariableDeclarationList)([(0,u.createVariableDeclaration)((0,u.createIdentifier)("generic"),o)],i.core.ts.NodeFlags.Const)));return(0,u.createIIFE)((0,u.createBlock)([s,c,a],!0))}(o.MockDefiner.instance.getDeclarationKeyMapBasedOnScope(y,t)+e.name.escapedText.toString(),p)};var o=r(743),n=r(895),i=r(847),a=r(1799),c=r(9077),s=r(9891),u=r(103),l=c.TypescriptHelper.GetDeclarationFromSymbol},9276:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeofEnumDescriptor=function(e){var t=n.core.ts.factory.createEnumDeclaration(void 0,e.name,e.members);return(0,o.createArrowFunction)((0,o.createBlock)([t,(0,o.createReturn)(e.name)],!0))};var o=r(103),n=r(847)},8723:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeQueryDescriptor=function(e,t){var r,o=function(e){return i.core.typeChecker.getSymbolAtLocation(e.exprName)}(e);return(null===(r=null==o?void 0:o.declarations)||void 0===r?void 0:r.length)?v(g(o),t):(0,y.GetUndefinedDescriptor)()},t.GetTypeQueryDescriptorFromDeclaration=v;var o=r(9342),n=r(1199),i=r(847),a=r(1799),c=r(9077),s=r(1059),u=r(9941),l=r(9891),p=r(2145),d=r(2527),y=r(3195),f=r(3416),m=r(103);function v(e,t){var r=i.core.typeChecker;switch(e.kind){case i.core.ts.SyntaxKind.ClassDeclaration:return(0,m.createFunctionExpressionReturn)((0,d.GetTypeReferenceDescriptor)((0,m.createTypeReferenceNode)(e.name),t));case i.core.ts.SyntaxKind.TypeAliasDeclaration:case i.core.ts.SyntaxKind.InterfaceDeclaration:return(0,d.GetTypeReferenceDescriptor)((0,m.createTypeReferenceNode)(e.name),t);case i.core.ts.SyntaxKind.NamespaceImport:case i.core.ts.SyntaxKind.ImportEqualsDeclaration:return(0,u.GetModuleDescriptor)(e,t);case i.core.ts.SyntaxKind.ModuleDeclaration:return(0,f.GetMockPropertiesFromDeclarations)((0,u.GetPropertiesFromSourceFileOrModuleDeclaration)(e.symbol,t),[],t);case i.core.ts.SyntaxKind.EnumDeclaration:return(0,n.GetMockFactoryCallTypeofEnum)(e,t);case i.core.ts.SyntaxKind.FunctionDeclaration:case i.core.ts.SyntaxKind.MethodSignature:return(0,s.GetMethodDeclarationDescriptor)(e,t);case i.core.ts.SyntaxKind.VariableDeclaration:var c=e;if(c.type)return(0,a.GetDescriptor)(c.type,t);if(!c.initializer)throw new Error("The transformer cannot determine a value for `".concat(c.getText(),"' without a specified type or no initializer value."));var y=(0,p.GetType)(c.initializer,t),h=r.getSymbolAtLocation(y);return h?v(g(h),t):(0,a.GetDescriptor)(y,t);default:return(0,o.TransformerLogger)().typeNotSupported("TypeQuery of ".concat(i.core.ts.SyntaxKind[e.kind]),e),(0,l.GetNullDescriptor)()}}function g(e){var t,r=null===(t=e.declarations)||void 0===t?void 0:t[0];if(!r)throw new Error("Failed to look up declaration for `".concat(e.getName(),"'."));return i.core.ts.isImportEqualsDeclaration(r)?r:c.TypescriptHelper.GetConcreteDeclarationFromSymbol(e)}},2527:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetTypeReferenceDescriptor=function(e,t){var r=s.TypescriptHelper.GetDeclarationFromNode(e.typeName);return r?n.MockDefiner.instance.hasMockForDeclaration(r,t)?(0,i.GetMockFactoryCall)(e,r,t):(0,l.IsTypescriptType)(r)?(0,l.GetTypescriptTypeDescriptor)(e,t):(0,a.isTypeReferenceReusable)(r)?(0,i.CreateMockFactory)(e,r,t):(0,c.GetDescriptor)(r,t):((0,o.TransformerLogger)().missingTypeDefinition(e),(0,u.GetNullDescriptor)())};var o=r(9342),n=r(743),i=r(1199),a=r(2447),c=r(1799),s=r(9077),u=r(9891),l=r(7780)},3195:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetUndefinedDescriptor=function(){return(0,o.createVoidZero)()};var o=r(103)},1347:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetUnionDescriptor=function(e,t){var r=(0,i.GetTypes)(e.types,t);if(t.hydrated){var o=r.filter((function(e){return!c(e)}));return o.length?(0,n.GetDescriptor)(o[0],t):(0,a.GetUndefinedDescriptor)()}return r.filter((function(e){return c(e)})).length?(0,a.GetUndefinedDescriptor)():(0,n.GetDescriptor)(e.types[0],t)};var o=r(847),n=r(1799),i=r(2145),a=r(3195);function c(e){return e.kind===o.core.ts.SyntaxKind.VoidKeyword||e.kind===o.core.ts.SyntaxKind.UndefinedKeyword}},1677:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GetVariableDeclarationDescriptor=void 0;var o=r(847),n=r(3416),i=r(9891),a=r(1799);t.GetVariableDeclarationDescriptor=function(e,t){var r=o.core.typeChecker,c=o.core.ts;if(e.type)return(0,a.GetDescriptor)(e.type,t);var s=r.getSymbolAtLocation(e.name);if(!s)throw new Error("The type checker failed to look up a symbol for `".concat(e.getText(),"'. \n Perhaps, the checker was searching an outdated source."));var u=r.getTypeOfSymbolAtLocation(s,e),l=r.typeToTypeNode(u,void 0,void 0);if(!l)throw new Error("The type checker failed to look up a node for `".concat(e.getText(),"'. \n Perhaps, the checker was searching an outdated source."));if(c.isTypeLiteralNode(l)){var p=r.getPropertiesOfType(u);return(0,n.GetMockPropertiesFromSymbol)(p,[],t)}return c.isLiteralTypeNode(l)?(0,a.GetDescriptor)(l.literal,t):(0,i.GetNullDescriptor)()}},7067:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GenericDeclaration=function(e){var t=[];function r(e,t,r){return function(e,t){return!!e.typeArguments&&!!e.typeArguments[t]}(e,r)?e.typeArguments[r]:t.default||u.core.ts.factory.createNull()}function l(e,t,r){return{ids:[e+t.name.escapedText.toString()],value:(0,s.createFunctionExpression)((0,s.createBlock)([(0,s.createReturnStatement)(r)]))}}return{addFromTypeReferenceNode:function(i,a){var c=n.TypescriptHelper.GetParameterOfNode(i.typeName);c&&c.forEach((function(n,s){var u=r(i,n,s),p=l(a,c[s],(0,o.GetDescriptor)(u,e));t.push(p)}))},addFromDeclarationExtension:function(c,s,p,d){var y=s.typeParameters;y&&y.reduce((function(s,f,m){var v=r(d,f,m);if(u.core.ts.isTypeReferenceNode(v)){var g=n.TypescriptHelper.GetDeclarationFromNode(v.typeName);if(a.MockDefiner.instance.getDeclarationKeyMapBasedOnScope(g,e)===c)return(0,i.TransformerLogger)().circularGenericNotSupported(v.getText()),s;if(u.core.ts.isTypeParameterDeclaration(g))return function(e,r,o,n){var i=o+r.name.escapedText.toString(),a=n+e.name.escapedText.toString(),c=t.find((function(e){return e.ids.includes(i)}));(null==c?void 0:c.ids)&&c.ids.push(a)}(y[m],g,c,p),s}var h=l(p,y[m],(0,o.GetDescriptor)(v,e));return s.push(h),s}),t)},getExpressionForAllGenerics:function(){return t.map((function(e){return(0,s.createObjectLiteral)([(0,s.createPropertyAssignment)(c.Identifiers.MockIdentifierGenericParameterIds,(0,s.createArrayLiteral)(e.ids.map((function(e){return(0,s.createStringLiteral)(e)})),!1)),(0,s.createPropertyAssignment)(c.Identifiers.MockIdentifierGenericParameterValue,e.value)],!0)}))}}};var o=r(1799),n=r(9077),i=r(9342),a=r(743),c=r(895),s=r(103),u=r(847)},6953:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extensionExpressionSupported=function(e){return!o.core.ts.isCallExpression(e)};var o=r(847)},5108:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createImportOnIdentifier=function(e,t){return(0,o.createImportAllAs)(t,e)};var o=r(103)},9342:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeFileUrl=void 0,t.TransformerLogger=function(){return o=o||(0,n.Logger)("Transformer"),{circularGenericNotSupported:function(e){o.warning("Found a circular generic of `".concat(e,"' and such generics are currently not supported. \n The generated mock will be incomplete."))},unexpectedCreateMock:function(e,t){o.warning("I've found a mock creator but it comes from a different folder\n found: ".concat(e,"\n expected: ").concat(t))},typeNotSupported:function(e,r){var n=(0,i.GetCurrentCreateMock)(),c=(0,t.getNodeFileUrl)(n),s=(0,t.getNodeFileUrl)(r);o.warning(a(e,c,s))},typeOfFunctionCallNotFound:function(e){o.warning("Cannot find type of function cal