MCPcopy Index your code
hub / github.com/loopbackio/loopback-next / extensionFor

Function extensionFor

packages/core/src/extension-point.ts:267–292  ·  view source on GitHub ↗
(
  ...extensionPointNames: string[]
)

Source from the content-addressed store, hash-verified

265 * @param extensionPointNames - Names of the extension point
266 */
267export function extensionFor(
268 ...extensionPointNames: string[]
269): BindingTemplate {
270 return binding => {
271 if (extensionPointNames.length === 0) return;
272 let extensionPoints = binding.tagMap[CoreTags.EXTENSION_FOR];
273 // Normalize extensionPoints to string[]
274 if (extensionPoints == null) {
275 extensionPoints = [];
276 } else if (typeof extensionPoints === 'string') {
277 extensionPoints = [extensionPoints];
278 }
279
280 // Add extension points
281 for (const extensionPointName of extensionPointNames) {
282 if (!extensionPoints.includes(extensionPointName)) {
283 extensionPoints.push(extensionPointName);
284 }
285 }
286 if (extensionPoints.length === 1) {
287 // Keep the value as string for backward compatibility
288 extensionPoints = extensionPoints[0];
289 }
290 binding.tag({[CoreTags.EXTENSION_FOR]: extensionPoints});
291 };
292}
293
294/**
295 * Register an extension for the given extension point to the context

Callers 15

asAuthStrategyFunction · 0.90
asMiddlewareFunction · 0.90
asModelApiBuilderFunction · 0.90
asSpecEnhancerFunction · 0.90
constructorMethod · 0.90
asCronJobFunction · 0.90
configureApplicationFunction · 0.90
asGreeterFunction · 0.90

Calls 1

tagMethod · 0.80

Tested by 1

configureApplicationFunction · 0.72