Skip to content

Commit 87807e9

Browse files
committed
Process review comments
1 parent ce662af commit 87807e9

File tree

3 files changed

+27
-19
lines changed

3 files changed

+27
-19
lines changed

package-lock.json

+13-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/foam-vscode/src/core/model/workspace.ts

+10-15
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Emitter } from '../common/event';
66
import { ResourceProvider } from './provider';
77
import { IDisposable } from '../common/lifecycle';
88
import { IDataStore } from '../services/datastore';
9-
import { TrieMap } from 'mnemonist';
9+
import TrieMap from 'mnemonist/trie-map';
1010

1111
export class FoamWorkspace implements IDisposable {
1212
private onDidAddEmitter = new Emitter<Resource>();
@@ -34,10 +34,9 @@ export class FoamWorkspace implements IDisposable {
3434

3535
set(resource: Resource) {
3636
const old = this.find(resource.uri);
37-
const normalizedPath = normalize(resource.uri.path);
3837

3938
// store resource
40-
this._resources.set(this.getReversedIdentifier(normalizedPath), resource);
39+
this._resources.set(this.getTrieIdentifier(resource.uri.path), resource);
4140

4241
isSome(old)
4342
? this.onDidUpdateEmitter.fire({ old: old, new: resource })
@@ -46,8 +45,8 @@ export class FoamWorkspace implements IDisposable {
4645
}
4746

4847
delete(uri: URI) {
49-
const deleted = this._resources.get(this.getReversedIdentifier(uri));
50-
this._resources.delete(this.getReversedIdentifier(uri));
48+
const deleted = this._resources.get(this.getTrieIdentifier(uri));
49+
this._resources.delete(this.getTrieIdentifier(uri));
5150

5251
isSome(deleted) && this.onDidDeleteEmitter.fire(deleted);
5352
return deleted ?? null;
@@ -79,19 +78,17 @@ export class FoamWorkspace implements IDisposable {
7978
}
8079

8180
public listByIdentifier(identifier: string): Resource[] {
82-
let needle = this.getReversedIdentifier(identifier);
81+
let needle = this.getTrieIdentifier(identifier);
8382

8483
const mdNeedle =
8584
getExtension(normalize(identifier)) !== this.defaultExtension
86-
? this.getReversedIdentifier(identifier + this.defaultExtension)
85+
? this.getTrieIdentifier(identifier + this.defaultExtension)
8786
: undefined;
8887

8988
const resources: Resource[] = [];
9089

9190
this._resources.find(needle).forEach(elm => {
92-
if (elm[0].indexOf(getExtension(normalize(identifier))) > 0) {
93-
resources.push(elm[1]);
94-
}
91+
resources.push(elm[1]);
9592
});
9693
if (mdNeedle) {
9794
this._resources.find(mdNeedle).forEach(elm => resources.push(elm[1]));
@@ -141,7 +138,7 @@ export class FoamWorkspace implements IDisposable {
141138
*
142139
* @param reference the URI path to reverse
143140
*/
144-
private getReversedIdentifier(reference: URI | string): string {
141+
private getTrieIdentifier(reference: URI | string): string {
145142
let path: string;
146143
if (reference instanceof URI) {
147144
path = (reference as URI).path;
@@ -160,7 +157,7 @@ export class FoamWorkspace implements IDisposable {
160157

161158
public find(reference: URI | string, baseUri?: URI): Resource | null {
162159
if (reference instanceof URI) {
163-
return this._resources.get(this.getReversedIdentifier(reference)) ?? null;
160+
return this._resources.get(this.getTrieIdentifier(reference)) ?? null;
164161
}
165162
let resource: Resource | null = null;
166163
const [path, fragment] = (reference as string).split('#');
@@ -174,9 +171,7 @@ export class FoamWorkspace implements IDisposable {
174171
: isSome(baseUri)
175172
? baseUri.resolve(candidate).path
176173
: null;
177-
resource = this._resources.get(
178-
normalize(searchKey).split('/').reverse().join('/')
179-
);
174+
resource = this._resources.get(this.getTrieIdentifier(searchKey));
180175
if (resource) {
181176
break;
182177
}

yarn.lock

+4-3
Original file line numberDiff line numberDiff line change
@@ -5422,7 +5422,7 @@ flatted@^3.1.0:
54225422
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
54235423

54245424
"foam-vscode@file:/Users/paulderaaij/projects/foam/packages/foam-vscode":
5425-
version "0.25.12"
5425+
version "0.26.0"
54265426
resolved "file:packages/foam-vscode"
54275427
dependencies:
54285428
dateformat "4.5.1"
@@ -5432,6 +5432,7 @@ flatted@^3.1.0:
54325432
lodash "^4.17.21"
54335433
lru-cache "^7.14.1"
54345434
markdown-it-regex "^0.2.0"
5435+
mnemonist "^0.39.8"
54355436
remark-frontmatter "^2.0.0"
54365437
remark-parse "^8.0.2"
54375438
remark-wiki-link "^0.0.4"
@@ -7441,7 +7442,7 @@ js-sdsl@^4.1.4:
74417442

74427443
js-sha1@^0.7.0:
74437444
version "0.7.0"
7444-
resolved "https://registry.yarnpkg.com/js-sha1/-/js-sha1-0.7.0.tgz#fecaf5f36bb09a51b01da46b43a207c8452c9c1e"
7445+
resolved "https://registry.npmjs.org/js-sha1/-/js-sha1-0.7.0.tgz"
74457446
integrity sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==
74467447

74477448
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
@@ -8845,7 +8846,7 @@ pascal-case@^3.1.2:
88458846

88468847
path-browserify@^1.0.1:
88478848
version "1.0.1"
8848-
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
8849+
resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz"
88498850
integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
88508851

88518852
path-exists@^3.0.0:

0 commit comments

Comments
 (0)