Unverified Commit 50033827 authored by Hong Minhee's avatar Hong Minhee
Browse files

Instrument `fromJsonLd()` static methods

parent 4b63bf06
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ To be released.

 -  Fedify now supports OpenTelemetry for tracing.  [[#170]]

     -  Added `Context.tracerProvider` property.
     -  Added `CreateFederationOptions.tracerProvider` option.
     -  Added `LookupWebFingerOptions.tracerProvider` option.
     -  Added `LookupObjectOptions.tracerProvider` option.
@@ -71,8 +72,17 @@ To be released.
     -  Added `VerifyProofOptions.tracerProvider` option.
     -  Added `VerifyObjectOptions.tracerProvider` option.
     -  Added `SignObjectOptions.tracerProvider` option.
     -  Added `VerifySignatureOptions.tracerProvider` option.
     -  Added `VerifyJsonLdOptions.tracerProvider` option.
     -  Added `SignJsonLdOptions.tracerProvider` option.
     -  Added `DoesActorOwnKeyOptions.tracerProvider` option.
     -  Added `GetKeyOwnerOptions.tracerProvider` option.

     -  Added `tracerProvider` option to the following Activity Vocabulary APIs:

         -  The second parameters of constructors.
         -  The second parameters of `fromJsonLd()` static methods.
         -  The second parameters of `get*()` methods.

 -  Added `@fedify/fedify/x/sveltekit` module for integrating with [SvelteKit]
    hook.  [[#171], [#183] by Jiyu Park]
+1 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ spans:
| `{method} {template}`            | Server      | Serves the incoming HTTP request.     |
| `activitypub.get_actor_handle`   | Client      | Resolves the actor handle.            |
| `activitypub.lookup_object`      | Client      | Looks up the Activity Streams object. |
| `activitypub.parse_object`       | Internal    | Parses the Activity Streams object.   |
| `http_signatures.sign`           | Internal    | Signs the HTTP request.               |
| `http_signatures.verify`         | Internal    | Verifies the HTTP request signature.  |
| `ld_signatures.sign`             | Internal    | Makes the Linked Data signature.      |
+3943 −185

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
import { assertEquals } from "@std/assert";
import { dirname, join } from "@std/path";
import { assertSnapshot } from "@std/testing/snapshot";
import metadata from "../deno.json" with { type: "json" };
import { test } from "../testing/mod.ts";
import { generateClasses, sortTopologically } from "./class.ts";
import { loadSchemaFiles } from "./schema.ts";
@@ -72,5 +73,9 @@ test("generateClasses()", async (t) => {
  for await (const code of generateClasses(types, runtimePath)) {
    entireCode += code;
  }
  entireCode = entireCode.replaceAll(
    JSON.stringify(metadata.version),
    '"0.0.0"',
  );
  await assertSnapshot(t, entireCode);
});
+7 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ async function* generateClass(
    yield `
    readonly #documentLoader?: DocumentLoader;
    readonly #contextLoader?: DocumentLoader;
    readonly #tracerProvider?: TracerProvider;
    readonly id: URL | null;

    protected get _documentLoader(): DocumentLoader | undefined {
@@ -59,6 +60,10 @@ async function* generateClass(
    protected get _contextLoader(): DocumentLoader | undefined {
      return this.#contextLoader;
    }

    protected get _tracerProvider(): TracerProvider | undefined {
        return this.#tracerProvider;
    }
    `;
  }
  yield `
@@ -95,6 +100,8 @@ export async function* generateClasses(
  yield "// @ts-ignore TS7016\n";
  yield 'import jsonld from "jsonld";\n';
  yield 'import { getLogger } from "@logtape/logtape";\n';
  yield `import { type Span, SpanStatusCode, type TracerProvider, trace }
    from "@opentelemetry/api";\n`;
  yield `import { LanguageTag, parseLanguageTag }
    from "@phensley/language-tag";\n`;
  yield `import { decode as decodeMultibase, encode as encodeMultibase }
Loading