MCPcopy Create free account
hub / github.com/Effect-TS/effect / addMembers

Function addMembers

packages/tools/jsdocs/src/Jsdocs.ts:2080–2115  ·  view source on GitHub ↗
(
    file: JSDocModelFile,
    imports: ParsedJSDocImports,
    members: ReadonlyArray<ParsedMember>,
    parentApiName: string,
    namespacePath: ReadonlyArray<string>,
    memberPath: ReadonlyArray<string>,
    sourcePath: ReadonlyArray<string | number>
  )

Source from the content-addressed store, hash-verified

2078function buildJSDocApis(files: ReadonlyArray<JSDocModelFile>): ReadonlyArray<JSDocApi> {
2079 const apis: Array<JSDocApi> = []
2080 const addMembers = (
2081 file: JSDocModelFile,
2082 imports: ParsedJSDocImports,
2083 members: ReadonlyArray<ParsedMember>,
2084 parentApiName: string,
2085 namespacePath: ReadonlyArray<string>,
2086 memberPath: ReadonlyArray<string>,
2087 sourcePath: ReadonlyArray<string | number>
2088 ) => {
2089 members.forEach((member, index) => {
2090 const nextMemberPath = [...memberPath, member.name]
2091 const apiName = `${parentApiName}.${nextMemberPath.join(".")}`
2092 apis.push(makeApi({
2093 file,
2094 imports,
2095 kind: "member",
2096 bucket: null,
2097 apiName,
2098 localName: member.name,
2099 signature: member.signature,
2100 parentApiName,
2101 namespacePath,
2102 memberPath: nextMemberPath,
2103 sourcePath: [...sourcePath, "members", index],
2104 sourceRange: member.range,
2105 description: member.description,
2106 examples: member.examples,
2107 tags: member.tags
2108 }))
2109 addMembers(file, imports, member.members, parentApiName, namespacePath, nextMemberPath, [
2110 ...sourcePath,
2111 "members",
2112 index
2113 ])
2114 })
2115 }
2116 const addNamespaces = (
2117 file: JSDocModelFile,
2118 imports: ParsedJSDocImports,

Callers 2

addNamespacesFunction · 0.85
buildJSDocApisFunction · 0.85

Calls 4

makeApiFunction · 0.85
joinMethod · 0.80
pushMethod · 0.80
forEachMethod · 0.65

Tested by

no test coverage detected