MCPcopy Create free account
hub / github.com/TanStack/db / replaceIncludesInSelectValue

Function replaceIncludesInSelectValue

packages/db/src/query/compiler/index.ts:1931–1975  ·  view source on GitHub ↗
(
  value: any,
  path: Array<string>,
  replacement: ValClass,
)

Source from the content-addressed store, hash-verified

1929}
1930
1931function replaceIncludesInSelectValue(
1932 value: any,
1933 path: Array<string>,
1934 replacement: ValClass,
1935): { value: any; replaced: boolean } {
1936 if (path.length === 0) {
1937 return replaceIncludesValue(value, replacement)
1938 }
1939
1940 if (value instanceof ConditionalSelect) {
1941 return replaceIncludesInConditionalSelect(value, path, replacement)
1942 }
1943
1944 if (!isNestedSelectObject(value)) {
1945 return { value, replaced: false }
1946 }
1947
1948 if (path.length === 1) {
1949 const field = path[0]!
1950 const result = replaceIncludesValue(value[field], replacement)
1951 if (!result.replaced) {
1952 return { value, replaced: false }
1953 }
1954 return {
1955 value: {
1956 ...value,
1957 [field]: result.value,
1958 },
1959 replaced: true,
1960 }
1961 }
1962
1963 const [head, ...rest] = path
1964 const result = replaceIncludesInSelectValue(value[head!], rest, replacement)
1965 if (!result.replaced) {
1966 return { value, replaced: false }
1967 }
1968 return {
1969 value: {
1970 ...value,
1971 [head!]: result.value,
1972 },
1973 replaced: true,
1974 }
1975}
1976
1977function replaceIncludesValue(
1978 value: any,

Callers 2

replaceIncludesInSelectFunction · 0.85

Calls 3

replaceIncludesValueFunction · 0.85
isNestedSelectObjectFunction · 0.70

Tested by

no test coverage detected