0.6.13 • Published 9 months ago

@dxos/functions v0.6.13

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

@dxos/functions

Functions SDK.

Installation

pnpm i @dxos/functions

Writing functions

Create a manifest file at the package root:

functions:
  hello:
    description: Test function.

NOTE: The function name must match the filename (e.g., src/functions/hello.ts).

Create an example function:

import { FunctionContext } from '@dxos/functions';

export default (event: any, context: FunctionContext) => {
  const identity = context.client.halo.identity.get();
  return context
    .status(200)
    .succeed({ 
      message: `Hello ${identity?.profile?.displayName}` 
    });
};

Running functions with the dev server:

Configure the agent to run functions on a given port:

# ~/.config/dx/profile/default.yml
runtime:
  agent:
    functions:
      port: 7001

Start functions in dev mode (from the related package):

dx function dev -r ts-node/register --verbose

NOTE: -r ts-node/register configures native TypesScript support.

Install nodemon to support live reloading:

npm i -g nodemon

nodemon -w ./src -e ts --exec $(git rev-parse --show-toplevel)/packages/devtools/cli/bin/dev \
  function dev -r ts-node/register --verbose

Invoking functions

NOTE: The port (7001) must match the one in config.

curl http://localhost:7001/dev/hello -X POST -H 'Content-Type: application/json' -w '\n' --data '{ "message": "Hello World!" }' 

DXOS Resources

Contributions

Your ideas, issues, and code are most welcome. Please take a look at our community code of conduct, the issue guide, and the PR contribution guide.

License: MIT Copyright 2022 © DXOS

0.6.14-main.f49f251

10 months ago

0.6.14-main.2b6a0f3

10 months ago

0.6.14-main.7bd9c89

10 months ago

0.6.13

10 months ago

0.6.13-main.041e8aa

10 months ago

0.6.13-main.548ca8d

10 months ago

0.6.13-main.09887cd

10 months ago

0.6.12-main.2d19bf1

10 months ago

0.6.13-main.ed424a1

10 months ago

0.6.12

10 months ago

0.6.12-main.ac23639

10 months ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.6.12-main.78ddbdf

10 months ago

0.6.8-main.3be982f

11 months ago

0.6.10-main.e92b5eb

11 months ago

0.6.8-main.046e6cf

11 months ago

0.6.12-main.15a606f

11 months ago

0.6.12-main.5a87ad5

10 months ago

0.6.12-main.7907542

10 months ago

0.6.12-main.5cc132e

11 months ago

0.5.8

1 year ago

0.5.7

1 year ago

0.6.12-main.568932b

10 months ago

0.6.12-main.ed7cda7

10 months ago

0.6.10-main.48c066e

11 months ago

0.6.10-main.3cfcc89

11 months ago

0.6.12-main.89e9959

10 months ago

0.6.10-main.bbdfaa4

11 months ago

0.6.6-main.e1a6e1f

12 months ago

0.6.12-main.c4a728f

10 months ago

0.6.12-main.f9d0246

10 months ago

0.6.12-main.c1d977f

10 months ago

0.6.7

12 months ago

0.6.6

12 months ago

0.6.9

11 months ago

0.6.8

11 months ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.5

1 year ago

0.6.4

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.6.10

11 months ago

0.6.11

11 months ago

0.6.12-main.c974201

11 months ago

0.5.2

1 year ago

0.5.0

1 year ago

0.4.9

1 year ago

0.4.8

1 year ago

0.4.7

1 year ago

0.4.6

1 year ago

0.4.5

1 year ago

0.4.4

1 year ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.10

2 years ago

0.3.9

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.3

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.57

2 years ago

0.1.56

2 years ago

0.1.55

2 years ago

0.1.54

2 years ago

0.1.53

2 years ago

0.1.52

2 years ago