Loading src/codegen/__snapshots__/class.test.ts.snap +6539 −3142 File changed.Preview size limit exceeded, changes collapsed. Show changes src/codegen/constructor.ts +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ export async function* generateConstructor( } `; } else { yield "super(values, { documentLoader, contextLoader });"; yield "super(values, { documentLoader, contextLoader, tracerProvider });"; } for (const property of type.properties) { const fieldName = await getFieldName(property.uri); Loading src/codegen/property.ts +47 −23 Original line number Diff line number Diff line import { toPascalCase } from "@std/text/to-pascal-case"; import metadata from "../deno.json" with { type: "json" }; import { getFieldName } from "./field.ts"; import type { PropertySchema, TypeSchema } from "./schema.ts"; import { areAllScalarTypes, getTypeNames } from "./type.ts"; Loading Loading @@ -64,10 +65,20 @@ async function* generateProperty( options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); const tracerProvider = options.tracerProvider ?? this._tracerProvider ?? trace.getTracerProvider(); const tracer = tracerProvider.getTracer( ${JSON.stringify(metadata.name)}, ${JSON.stringify(metadata.version)}, ); return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { let fetchResult: RemoteDocument; try { fetchResult = await documentLoader(url.href); } catch (error) { span.setStatus({ code: SpanStatusCode.ERROR, message: String(error), }); span.end(); if (options.suppressError) { getLogger(["fedify", "vocab"]).error( "Failed to fetch {url}: {error}", Loading @@ -84,11 +95,23 @@ async function* generateProperty( const rangeType = types[range]; yield ` try { return await ${rangeType.name}.fromJsonLd( const obj = await ${rangeType.name}.fromJsonLd( document, { documentLoader, contextLoader, tracerProvider }, ); span.setAttribute("activitypub.object.id", (obj.id ?? url).href); span.setAttribute( "activitypub.object.type", (obj.constructor as typeof ${rangeType.name}).typeId.href ); span.end(); return obj; } catch (e) { span.setStatus({ code: SpanStatusCode.ERROR, message: String(e), }); span.end(); if (!(e instanceof TypeError)) throw e; } `; Loading @@ -96,6 +119,7 @@ async function* generateProperty( yield ` throw new TypeError("Expected an object of any type of: " + ${JSON.stringify(property.range)}.join(", ")); }); } `; if (property.functional || property.singularAccessor) { Loading src/federation/context.ts +1 −1 Original line number Diff line number Diff line import { TracerProvider } from "@opentelemetry/api"; import type { TracerProvider } from "@opentelemetry/api"; import type { DocumentLoader } from "../runtime/docloader.ts"; import type { Actor, Recipient } from "../vocab/actor.ts"; import type { Loading Loading
src/codegen/__snapshots__/class.test.ts.snap +6539 −3142 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/codegen/constructor.ts +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ export async function* generateConstructor( } `; } else { yield "super(values, { documentLoader, contextLoader });"; yield "super(values, { documentLoader, contextLoader, tracerProvider });"; } for (const property of type.properties) { const fieldName = await getFieldName(property.uri); Loading
src/codegen/property.ts +47 −23 Original line number Diff line number Diff line import { toPascalCase } from "@std/text/to-pascal-case"; import metadata from "../deno.json" with { type: "json" }; import { getFieldName } from "./field.ts"; import type { PropertySchema, TypeSchema } from "./schema.ts"; import { areAllScalarTypes, getTypeNames } from "./type.ts"; Loading Loading @@ -64,10 +65,20 @@ async function* generateProperty( options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); const tracerProvider = options.tracerProvider ?? this._tracerProvider ?? trace.getTracerProvider(); const tracer = tracerProvider.getTracer( ${JSON.stringify(metadata.name)}, ${JSON.stringify(metadata.version)}, ); return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { let fetchResult: RemoteDocument; try { fetchResult = await documentLoader(url.href); } catch (error) { span.setStatus({ code: SpanStatusCode.ERROR, message: String(error), }); span.end(); if (options.suppressError) { getLogger(["fedify", "vocab"]).error( "Failed to fetch {url}: {error}", Loading @@ -84,11 +95,23 @@ async function* generateProperty( const rangeType = types[range]; yield ` try { return await ${rangeType.name}.fromJsonLd( const obj = await ${rangeType.name}.fromJsonLd( document, { documentLoader, contextLoader, tracerProvider }, ); span.setAttribute("activitypub.object.id", (obj.id ?? url).href); span.setAttribute( "activitypub.object.type", (obj.constructor as typeof ${rangeType.name}).typeId.href ); span.end(); return obj; } catch (e) { span.setStatus({ code: SpanStatusCode.ERROR, message: String(e), }); span.end(); if (!(e instanceof TypeError)) throw e; } `; Loading @@ -96,6 +119,7 @@ async function* generateProperty( yield ` throw new TypeError("Expected an object of any type of: " + ${JSON.stringify(property.range)}.join(", ")); }); } `; if (property.functional || property.singularAccessor) { Loading
src/federation/context.ts +1 −1 Original line number Diff line number Diff line import { TracerProvider } from "@opentelemetry/api"; import type { TracerProvider } from "@opentelemetry/api"; import type { DocumentLoader } from "../runtime/docloader.ts"; import type { Actor, Recipient } from "../vocab/actor.ts"; import type { Loading