MCPcopy Create free account
hub / github.com/EvilFreelancer/openapi-to-cli / resolvePointer

Method resolvePointer

src/openapi-loader.ts:186–209  ·  view source on GitHub ↗
(document: unknown, pointer: string)

Source from the content-addressed store, hash-verified

184 }
185
186 private resolvePointer(document: unknown, pointer: string): unknown {
187 if (!pointer) {
188 return document;
189 }
190
191 if (!pointer.startsWith("/")) {
192 return document;
193 }
194
195 const parts = pointer
196 .slice(1)
197 .split("/")
198 .map((part) => part.replace(/~1/g, "/").replace(/~0/g, "~"));
199
200 let current: unknown = document;
201 for (const part of parts) {
202 if (!current || typeof current !== "object" || !(part in (current as Record<string, unknown>))) {
203 return undefined;
204 }
205 current = (current as Record<string, unknown>)[part];
206 }
207
208 return current;
209 }
210
211 private isYamlSource(source: string): boolean {
212 const lower = source.toLowerCase().split("?")[0];

Callers 1

resolveRefMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected