1.0.0 • Published 12 days ago

@crabas0npm/quis-tenetur-nam v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 days ago

AdvancedAF

This project is ment to be used with Microsoft Azure Functions. This simple wrapper makes it easier to work with Azure Functions since common HTTP methods are wrapped to individual function calls within a specfic Azure Function. And in addition a function can be executed before each method will be executed.

Usage example

In the following example a get and a post function a defined and passed as parameters in the advancedHTTPtrigger Function. The first optional parameter can be given a function which is executed before ether the get or post functions will be executed. The return value will be injected as the data parameter in each function.

If you now call that function using the GET method you will see the response GET: test and via the POST method you will see POST: test.

const get: AdvancedHTTPMethod<string> = async (context: Context, req: HttpRequest, data: String) => {
  context.res = {
    body: 'GET: ' + data
  };
};

const post: AdvancedHTTPMethod<string> = async (context: Context, req: HttpRequest, data: String) => {
  context.res = {
    body: 'POST: ' + data
  };
};

export default advancedHTTPTrigger<string>({ get, post }, async (context, req) => 'test');

Additional usage example

There is a another function, that helps with authentication in Azure Functions. If authentication is setup properly, one can check the x-ms-client-principal-id which will contain the "userId" if the user authenticated successfully.

In the example below the get function will only be executed if the user was successfully authenticated.

const get: AdvancedHTTPMethod<string> = async (
  context: Context,
  req: HttpRequest,
  data: { userId: string; dataId: string }
) => {
  context.res = {
    body: data
  };
  context.done();
};

export default authenticatedHTTPTrigger({ get });
toolkitprototypeObjectoffsetpopmotionguidYAMLstyleguideoptionhttpregexcss-in-jsArray.prototype.flatMapinspectdropRegExp#flagssignalserializationoptimizerObject.getPrototypeOftypanionmacosopensdescriptorisgetPrototypeOfWeakSetargumentfindLastparsefsInt32ArrayArrayBufferdom-testing-libraryes2017extendpromisestouchJSONcall-bounddeepslicehasOwnes7astapiutilsspawnredux-toolkitperformantweakmapisConcatSpreadablecjkAsyncIteratorECMAScript 2023reducelanguagesanitizationwebsitenegative zerojavascriptUint16ArrayarraybufferStreamexitrfc4122clonegetintrinsicsomefixed-widthvalueirqwalkqueueMicrotasktesterECMAScript 2020streamRegExp.prototype.flagspropertiesjson-schema-validationdeterministicserializeObject.fromEntriesclass-validatorcodesconstdefinePropertynopeWebSocketcryptcollection.es6trimLeftredactmodulesurlslimitedshrinkwrapfileterminalnamefastcopyprocesshardlinksjsdifftypedhttps-0boundajvfastTypeScripteslintconfigchromereadablestreamcontainsieoncepostcssupfast-clonevariablesassertsettingsJSON-SchemaArray.prototype.containspoint-freemixinswaapibootstrap cssString.prototype.trimstarterwindowsvestcreatecss lesslimitwidthpicomatchavaprunegraphqlutil.inspectfprm -frgetterES2017ratesyntaxerrori18nesimmutablewordwrapflatpackage managerratelimitwraptoStringTaglesseditortoolsstringtoArrayinternalgdprenderregexpinvariantconsolefindfull-widthformcopytypescriptstyled-componentsl10npassword@@toStringTaggradients csshaseventDispatchermapsymbolsestreeflagsartwatcherefficientloggeruninstallescapefullresolveRFC-6455handlersqueuettyreact-hook-formformskoreaniteratorstatelessES2015ECMAScript 2015curriedregular expressionexevalidspecvalidaterangeerrorArray.prototype.flattenreadgetopt256performanceArray.prototype.flattraverselruwalkingwhatwgsetterdayjsspinnerArrayBuffer#sliceclassesmkdirpclassnamespreprocessormake dirflatten_.extendeslint-pluginnodejsArraydragsortedgetOwnPropertyDescriptorappparentparserless css3drequestenvtypeofutilitiesobjectBigInt64ArraystartsymbolTypeBoxes2016ECMAScript 2022user-streamsviewbcryptstringifierArrayBuffer.prototype.sliceautoprefixerinterruptsauthenticationfantasy-landclassnameeslintjesttrimmimestableEScommandschemebundlerexpressionchineseconnectflatMaplazycomputed-typesbannercmdspeedmochaes6datastructureReactiveXenumerabletc39launchchromiumaccessibilitytapeIteratorregularcolumnrapidlinuxruntimedotenvreal-timearrayspropstringifyprivate datareduxbreakjsmkdirelectronFloat32Arrayawesomesaucenativees-abstractformattingsequencevaluescolorsbddArray.prototype.findLastxdgthrottlestylesUnderscoreloadinglesscssjson-schema-validatorless mixinstacitSetwgetUint32ArrayES3ESnextgroupByBigUint64ArraytrimRightUint8ClampedArrayObject.definePropertyarktypepipeassertionbuffersmulti-packagecallboundrecursivexdg-opengroupcorsjasminecircularvalidatoryamlbluebirdwarningdebuga11yidMapspinnersconsumetranspilertoobjectsharedmonorepoECMAScript 2016es8react-hooksfast-deep-copyutilitydescriptorses-shimssetImmediatergbReflect.getPrototypeOfreusestatuspersistenttelephoneprotobufbrowserslisttaskcliweaksetconfigtypedarrayprotocol-buffersRxintrinsicCSSStyleDeclarationsetPrototypeOftoSorteddirectoryvaridleinferencefast-copyfunctionsmakejapanesetermlibphonenumberreducerbusyES6movemkdirsECMAScript 6mruObject.entrieseslintplugintestingtranspilepushcolumnsdomcommand-linetypesdeep-cloneObject.keysthroatjwttimeSymbol.toStringTagcryptopatchES8linksideyupnodebindschemasafetypedarraysdeep-copymiddlewarecode pointsmetadataframerasyncjoidefaultlookoutputFloat64Arraydependency managerObservableES7difffind-upES2016logbytetestprettylastES2023Array.prototype.includesless compilerscheme-validationenvironmentbundlingphonehooksvisualunicodefilterhookformcompareprogress6to5higher-orderwhichString.prototype.matchAllworkermoduleutilflagECMAScript 5airbnbwordbreakaccessorES2022rmdirfetchrequiretddtypesafegenericscharactercharacterskeypackagespackagepureprivatedirFunction.prototype.namestructuredCloneworkspace:*momenttypedataViewecmascriptimportstylingfastifyfindLastIndexshellurlsameValueZeroStreamspyyamlprotoreact animationsuperagentqsassertsjson-schemaquerystringconfigurableentriesstreams2executablees-shim APIasciichannel0openerbootstrap lessmatchesdateextraexit-codeinstallermimetypesquerymobiletypeerrorequalityoperating-systemsetawaitless.jswaitthreeimmerminimalajaxWeakMapsignalsfolderfseventsargumentsemojiES2018form-validationArray.prototype.findLastIndexRxJSmergekarmabrowserlistfromchildHyBicss variablestylesheetWebSocketscacheemitponyfillfast-deep-clonetappositiveequalsigterm
1.0.0

12 days ago