summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
commit8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch)
tree05534d1a720ddc3691d346c69b4972555820a061 /frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter
pain
Diffstat (limited to 'frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter')
-rw-r--r--frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts35
-rw-r--r--frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts47
-rw-r--r--frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/NodeFilter.d.ts54
-rw-r--r--frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/RangedFilter.d.ts47
4 files changed, 183 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts
new file mode 100644
index 0000000..07584dd
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/IndexedFilter.d.ts
@@ -0,0 +1,35 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Index } from '../../snap/indexes/Index';
+import { Node } from '../../snap/Node';
+import { Path } from '../../util/Path';
+import { ChildChangeAccumulator } from '../ChildChangeAccumulator';
+import { CompleteChildSource } from '../CompleteChildSource';
+import { NodeFilter } from './NodeFilter';
+/**
+ * Doesn't really filter nodes but applies an index to the node and keeps track of any changes
+ */
+export declare class IndexedFilter implements NodeFilter {
+ private readonly index_;
+ constructor(index_: Index);
+ updateChild(snap: Node, key: string, newChild: Node, affectedPath: Path, source: CompleteChildSource, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updateFullNode(oldSnap: Node, newSnap: Node, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updatePriority(oldSnap: Node, newPriority: Node): Node;
+ filtersNodes(): boolean;
+ getIndexedFilter(): IndexedFilter;
+ getIndex(): Index;
+}
diff --git a/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts
new file mode 100644
index 0000000..cb2da45
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/LimitedFilter.d.ts
@@ -0,0 +1,47 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Index } from '../../snap/indexes/Index';
+import { Node } from '../../snap/Node';
+import { Path } from '../../util/Path';
+import { ChildChangeAccumulator } from '../ChildChangeAccumulator';
+import { CompleteChildSource } from '../CompleteChildSource';
+import { QueryParams } from '../QueryParams';
+import { IndexedFilter } from './IndexedFilter';
+import { NodeFilter } from './NodeFilter';
+/**
+ * Applies a limit and a range to a node and uses RangedFilter to do the heavy lifting where possible
+ */
+export declare class LimitedFilter implements NodeFilter {
+ private readonly rangedFilter_;
+ private readonly index_;
+ private readonly limit_;
+ private readonly reverse_;
+ private readonly startIsInclusive_;
+ private readonly endIsInclusive_;
+ constructor(params: QueryParams);
+ updateChild(snap: Node, key: string, newChild: Node, affectedPath: Path, source: CompleteChildSource, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updateFullNode(oldSnap: Node, newSnap: Node, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updatePriority(oldSnap: Node, newPriority: Node): Node;
+ filtersNodes(): boolean;
+ getIndexedFilter(): IndexedFilter;
+ getIndex(): Index;
+ private fullLimitUpdateChild_;
+ private withinDirectionalStart;
+ private withinDirectionalEnd;
+ private withinStartPost;
+ private withinEndPost;
+}
diff --git a/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/NodeFilter.d.ts b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/NodeFilter.d.ts
new file mode 100644
index 0000000..b1fafb2
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/NodeFilter.d.ts
@@ -0,0 +1,54 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Index } from '../../snap/indexes/Index';
+import { Node } from '../../snap/Node';
+import { Path } from '../../util/Path';
+import { ChildChangeAccumulator } from '../ChildChangeAccumulator';
+import { CompleteChildSource } from '../CompleteChildSource';
+/**
+ * NodeFilter is used to update nodes and complete children of nodes while applying queries on the fly and keeping
+ * track of any child changes. This class does not track value changes as value changes depend on more
+ * than just the node itself. Different kind of queries require different kind of implementations of this interface.
+ * @interface
+ */
+export interface NodeFilter {
+ /**
+ * Update a single complete child in the snap. If the child equals the old child in the snap, this is a no-op.
+ * The method expects an indexed snap.
+ */
+ updateChild(snap: Node, key: string, newChild: Node, affectedPath: Path, source: CompleteChildSource, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ /**
+ * Update a node in full and output any resulting change from this complete update.
+ */
+ updateFullNode(oldSnap: Node, newSnap: Node, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ /**
+ * Update the priority of the root node
+ */
+ updatePriority(oldSnap: Node, newPriority: Node): Node;
+ /**
+ * Returns true if children might be filtered due to query criteria
+ */
+ filtersNodes(): boolean;
+ /**
+ * Returns the index filter that this filter uses to get a NodeFilter that doesn't filter any children.
+ */
+ getIndexedFilter(): NodeFilter;
+ /**
+ * Returns the index that this filter uses
+ */
+ getIndex(): Index;
+}
diff --git a/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/RangedFilter.d.ts b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/RangedFilter.d.ts
new file mode 100644
index 0000000..bef847a
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/database/dist/node-esm/src/core/view/filter/RangedFilter.d.ts
@@ -0,0 +1,47 @@
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { NamedNode, Node } from '../../../core/snap/Node';
+import { Index } from '../../snap/indexes/Index';
+import { Path } from '../../util/Path';
+import { ChildChangeAccumulator } from '../ChildChangeAccumulator';
+import { CompleteChildSource } from '../CompleteChildSource';
+import { QueryParams } from '../QueryParams';
+import { IndexedFilter } from './IndexedFilter';
+import { NodeFilter } from './NodeFilter';
+/**
+ * Filters nodes by range and uses an IndexFilter to track any changes after filtering the node
+ */
+export declare class RangedFilter implements NodeFilter {
+ private indexedFilter_;
+ private index_;
+ private startPost_;
+ private endPost_;
+ private startIsInclusive_;
+ private endIsInclusive_;
+ constructor(params: QueryParams);
+ getStartPost(): NamedNode;
+ getEndPost(): NamedNode;
+ matches(node: NamedNode): boolean;
+ updateChild(snap: Node, key: string, newChild: Node, affectedPath: Path, source: CompleteChildSource, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updateFullNode(oldSnap: Node, newSnap: Node, optChangeAccumulator: ChildChangeAccumulator | null): Node;
+ updatePriority(oldSnap: Node, newPriority: Node): Node;
+ filtersNodes(): boolean;
+ getIndexedFilter(): IndexedFilter;
+ getIndex(): Index;
+ private static getStartPost_;
+ private static getEndPost_;
+}