0.2.4 • Published 4 months ago

issue-metadata v0.2.4

Weekly downloads
-
License
GPLv3
Repository
github
Last release
4 months ago

Issue Metadata

npm version Tests Linters CodeQL codecov

How to use

Creating the Metadata controller instance

import MetadataController from "issue-metadata";

const controller = new MetadataController('my_metadata_ID', {
  owner: 'my_name',
  repo: 'my_repo',
  headers: {
    authorization: `Bearer my_GITHUB_API_TOKEN`,
  },
});

Store metadata on issue

await controller.setMetadata(1, 'foo', 'bar');
// In body of issue #1:
// <!-- my_metadata_ID = {"foo":"bar"} -->

await controller.setMetadata(1, { foo: 'bar' });
// In body of issue #1:
// <!-- my_metadata_ID = {"foo":"bar"} -->

await controller.setMetadata(1, 'complex', [{ bar: 'baz' }]);
// In body of issue #1:
// <!-- my_metadata_ID = {"complex":[{"bar":"baz"}]} -->

Get metadata stored on issue

// In body of issue #1:
// <!-- my_metadata_ID = {"foo":"bar"} -->
let metadata = await controller.getMetadata(1, 'foo');
// metadata === "bar"

// In body of issue #1:
// <!-- my_metadata_ID = {"foo":"bar"} -->
metadata = await controller.getMetadata(1);
// metadata === {foo: "bar"}

// In body of issue #1:
// <!-- my_metadata_ID = {"complex":[{"bar":"baz"}]} -->
metadata = await controller.getMetadata(1, 'complex');
// metadata === [{ bar: 'baz' }]

!IMPORTANT

In current implementation when setting metadata, it always overrides the previous metadata. For example:

// <!-- my_metadata_ID = {"foo":"bar", "complex":[{"bar":"baz"}]} -->
await controller.setMetadata(1, 'complex', [{ foo: 'bar' }]);
// In body of issue #1:
// <!-- my_metadata_ID = {"foo":"bar", "complex":[{"foo":"bar"}]} -->
0.2.4

4 months ago

0.2.1

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.1.10

1 year ago

0.2.0

10 months ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago