Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@azure/functions",
"version": "4.15.0",
"version": "4.16.0-preview",
"description": "Microsoft Azure Functions NodeJS Framework",
"keywords": [
"azure",
Expand Down Expand Up @@ -85,4 +85,4 @@
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"
}
}
}
6 changes: 3 additions & 3 deletions scripts/validateRelease.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ function validateRelease(publishTag: string, dropPath: string): void {
let expectedFormat: string;
switch (publishTag) {
case 'preview':
regex = /^[0-9]+\.[0-9]+\.[0-9]+-alpha\.[0-9]+$/;
expectedFormat = 'x.x.x-alpha.x';
regex = /^[0-9]+\.[0-9]+\.[0-9]+-preview$/;
expectedFormat = 'x.x.x-preview';
break;
case 'latest':
case 'legacy':
Expand All @@ -48,4 +48,4 @@ function validateRelease(publishTag: string, dropPath: string): void {
`Version number for tag "${publishTag}" should be in format "${expectedFormat}". Instead got "${versionNumber}"`
);
}
}
}
6 changes: 6 additions & 0 deletions src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import {
ConnectorTriggerFunctionOptions,
CosmosDBFunctionOptions,
CosmosDBMongoFunctionOptions,
EventGridFunctionOptions,
EventHubFunctionOptions,
FunctionTrigger,
Expand Down Expand Up @@ -137,6 +138,11 @@ export function cosmosDB(name: string, options: CosmosDBFunctionOptions): void {
generic(name, convertToGenericOptions(options, <any>trigger.cosmosDB));
}

export function cosmosDBMongo<T = unknown>(name: string, options: CosmosDBMongoFunctionOptions<T>): void {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
generic(name, convertToGenericOptions(options, <any>trigger.cosmosDBMongo));
}

export function warmup(name: string, options: WarmupFunctionOptions): void {
generic(name, convertToGenericOptions(options, trigger.warmup));
}
Expand Down
12 changes: 6 additions & 6 deletions src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License.

export const version = '4.15.0';

export const returnBindingKey = '$return';
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License.
export const version = '4.16.0-preview';
export const returnBindingKey = '$return';
9 changes: 9 additions & 0 deletions src/input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import {
CosmosDBInput,
CosmosDBInputOptions,
CosmosDBMongoInput,
CosmosDBMongoInputOptions,
FunctionInput,
GenericInputOptions,
MySqlInput,
Expand Down Expand Up @@ -42,6 +44,13 @@ export function cosmosDB(options: CosmosDBInputOptions): CosmosDBInput {
});
}

export function cosmosDBMongo(options: CosmosDBMongoInputOptions): CosmosDBMongoInput {
return addInputBindingName({
...options,
type: 'cosmosDBMongo',
});
}

export function sql(options: SqlInputOptions): SqlInput {
return addInputBindingName({
...options,
Expand Down
257 changes: 133 additions & 124 deletions src/output.ts
Original file line number Diff line number Diff line change
@@ -1,124 +1,133 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License.

import {
CosmosDBOutput,
CosmosDBOutputOptions,
EventGridOutput,
EventGridOutputOptions,
EventHubOutput,
EventHubOutputOptions,
FunctionOutput,
GenericOutputOptions,
HttpOutput,
HttpOutputOptions,
MySqlOutput,
MySqlOutputOptions,
ServiceBusQueueOutput,
ServiceBusQueueOutputOptions,
ServiceBusTopicOutput,
ServiceBusTopicOutputOptions,
SqlOutput,
SqlOutputOptions,
StorageBlobOutput,
StorageBlobOutputOptions,
StorageQueueOutput,
StorageQueueOutputOptions,
TableOutput,
TableOutputOptions,
WebPubSubOutput,
WebPubSubOutputOptions,
} from '@azure/functions';
import { addBindingName } from './addBindingName';

export function http(options: HttpOutputOptions): HttpOutput {
return addOutputBindingName({
...options,
type: 'http',
});
}

export function storageBlob(options: StorageBlobOutputOptions): StorageBlobOutput {
return addOutputBindingName({
...options,
type: 'blob',
});
}

export function table(options: TableOutputOptions): TableOutput {
return addOutputBindingName({
...options,
type: 'table',
});
}

export function storageQueue(options: StorageQueueOutputOptions): StorageQueueOutput {
return addOutputBindingName({
...options,
type: 'queue',
});
}

export function serviceBusQueue(options: ServiceBusQueueOutputOptions): ServiceBusQueueOutput {
return addOutputBindingName({
...options,
type: 'serviceBus',
});
}

export function serviceBusTopic(options: ServiceBusTopicOutputOptions): ServiceBusTopicOutput {
return addOutputBindingName({
...options,
type: 'serviceBus',
});
}

export function eventHub(options: EventHubOutputOptions): EventHubOutput {
return addOutputBindingName({
...options,
type: 'eventHub',
});
}

export function eventGrid(options: EventGridOutputOptions): EventGridOutput {
return addOutputBindingName({
...options,
type: 'eventGrid',
});
}

export function cosmosDB(options: CosmosDBOutputOptions): CosmosDBOutput {
return addOutputBindingName({
...options,
type: 'cosmosDB',
});
}

export function sql(options: SqlOutputOptions): SqlOutput {
return addOutputBindingName({
...options,
type: 'sql',
});
}

export function mySql(options: MySqlOutputOptions): MySqlOutput {
return addOutputBindingName({
...options,
type: 'mysql',
});
}

export function webPubSub(options: WebPubSubOutputOptions): WebPubSubOutput {
return addOutputBindingName({
...options,
type: 'webPubSub',
});
}

export function generic(options: GenericOutputOptions): FunctionOutput {
return addOutputBindingName(options);
}

function addOutputBindingName<T extends { type: string; name?: string }>(binding: T): T & { name: string } {
return addBindingName(binding, 'Output');
}
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License.

import {
CosmosDBMongoOutput,
CosmosDBMongoOutputOptions,
CosmosDBOutput,
CosmosDBOutputOptions,
EventGridOutput,
EventGridOutputOptions,
EventHubOutput,
EventHubOutputOptions,
FunctionOutput,
GenericOutputOptions,
HttpOutput,
HttpOutputOptions,
MySqlOutput,
MySqlOutputOptions,
ServiceBusQueueOutput,
ServiceBusQueueOutputOptions,
ServiceBusTopicOutput,
ServiceBusTopicOutputOptions,
SqlOutput,
SqlOutputOptions,
StorageBlobOutput,
StorageBlobOutputOptions,
StorageQueueOutput,
StorageQueueOutputOptions,
TableOutput,
TableOutputOptions,
WebPubSubOutput,
WebPubSubOutputOptions,
} from '@azure/functions';
import { addBindingName } from './addBindingName';

export function http(options: HttpOutputOptions): HttpOutput {
return addOutputBindingName({
...options,
type: 'http',
});
}

export function storageBlob(options: StorageBlobOutputOptions): StorageBlobOutput {
return addOutputBindingName({
...options,
type: 'blob',
});
}

export function table(options: TableOutputOptions): TableOutput {
return addOutputBindingName({
...options,
type: 'table',
});
}

export function storageQueue(options: StorageQueueOutputOptions): StorageQueueOutput {
return addOutputBindingName({
...options,
type: 'queue',
});
}

export function serviceBusQueue(options: ServiceBusQueueOutputOptions): ServiceBusQueueOutput {
return addOutputBindingName({
...options,
type: 'serviceBus',
});
}

export function serviceBusTopic(options: ServiceBusTopicOutputOptions): ServiceBusTopicOutput {
return addOutputBindingName({
...options,
type: 'serviceBus',
});
}

export function eventHub(options: EventHubOutputOptions): EventHubOutput {
return addOutputBindingName({
...options,
type: 'eventHub',
});
}

export function eventGrid(options: EventGridOutputOptions): EventGridOutput {
return addOutputBindingName({
...options,
type: 'eventGrid',
});
}

export function cosmosDB(options: CosmosDBOutputOptions): CosmosDBOutput {
return addOutputBindingName({
...options,
type: 'cosmosDB',
});
}

export function cosmosDBMongo(options: CosmosDBMongoOutputOptions): CosmosDBMongoOutput {
return addOutputBindingName({
...options,
type: 'cosmosDBMongo',
});
}

export function sql(options: SqlOutputOptions): SqlOutput {
return addOutputBindingName({
...options,
type: 'sql',
});
}

export function mySql(options: MySqlOutputOptions): MySqlOutput {
return addOutputBindingName({
...options,
type: 'mysql',
});
}

export function webPubSub(options: WebPubSubOutputOptions): WebPubSubOutput {
return addOutputBindingName({
...options,
type: 'webPubSub',
});
}

export function generic(options: GenericOutputOptions): FunctionOutput {
return addOutputBindingName(options);
}

function addOutputBindingName<T extends { type: string; name?: string }>(binding: T): T & { name: string } {
return addBindingName(binding, 'Output');
}
9 changes: 9 additions & 0 deletions src/trigger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import {
ConnectorTrigger,
ConnectorTriggerOptions,
CosmosDBMongoTrigger,
CosmosDBMongoTriggerOptions,
CosmosDBTrigger,
CosmosDBTriggerOptions,
EventGridTrigger,
Expand Down Expand Up @@ -109,6 +111,13 @@ export function cosmosDB(options: CosmosDBTriggerOptions): CosmosDBTrigger {
});
}

export function cosmosDBMongo(options: CosmosDBMongoTriggerOptions): CosmosDBMongoTrigger {
return addTriggerBindingName({
...options,
type: 'cosmosDBMongoTrigger',
});
}

export function warmup(options: WarmupTriggerOptions): WarmupTrigger {
return addTriggerBindingName({
...options,
Expand Down
Loading
Loading