@comunica/actor-dereference-file 2.5.1 → 2.5.3-alpha.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -110,6 +110,10 @@
110
110
  "@id": "cadf:components/ActorDereferenceFile.jsonld#ActorDereferenceFile__member_test",
111
111
  "memberFieldName": "test"
112
112
  },
113
+ {
114
+ "@id": "cadf:components/ActorDereferenceFile.jsonld#ActorDereferenceFile__member_isURI",
115
+ "memberFieldName": "isURI"
116
+ },
113
117
  {
114
118
  "@id": "cadf:components/ActorDereferenceFile.jsonld#ActorDereferenceFile__member_run",
115
119
  "memberFieldName": "run"
@@ -7,5 +7,6 @@ import type { IActorTest } from '@comunica/core';
7
7
  export declare class ActorDereferenceFile extends ActorDereference {
8
8
  constructor(args: IActorDereferenceArgs);
9
9
  test({ url }: IActionDereference): Promise<IActorTest>;
10
+ private static isURI;
10
11
  run({ url }: IActionDereference): Promise<IActorDereferenceOutput>;
11
12
  }
@@ -20,6 +20,10 @@ class ActorDereferenceFile extends bus_dereference_1.ActorDereference {
20
20
  }
21
21
  return true;
22
22
  }
23
+ static isURI(str) {
24
+ const URIRegex = /\w[\w+.-]*:.*/u;
25
+ return URIRegex.exec(str) !== null;
26
+ }
23
27
  async run({ url }) {
24
28
  const requestTimeStart = Date.now();
25
29
  return {
@@ -27,7 +31,7 @@ class ActorDereferenceFile extends bus_dereference_1.ActorDereference {
27
31
  // This should always be after the creation of the read stream
28
32
  requestTime: Date.now() - requestTimeStart,
29
33
  exists: true,
30
- url,
34
+ url: ActorDereferenceFile.isURI(url) ? url : (0, url_1.pathToFileURL)(url).href,
31
35
  };
32
36
  }
33
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActorDereferenceFile.js","sourceRoot":"","sources":["ActorDereferenceFile.ts"],"names":[],"mappings":";;;AAAA,2BAA6D;AAC7D,6BAAoC;AAEpC,+DAA6D;AAG7D;;GAEG;AACH,MAAa,oBAAqB,SAAQ,kCAAgB;IACxD,YAAmB,IAA2B;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAsB;QAC3C,IAAI;YACF,IAAA,eAAU,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAc,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,GAAG,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAsB;QAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,IAAA,qBAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,8DAA8D;YAC9D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;YAC1C,MAAM,EAAE,IAAI;YACZ,GAAG;SACJ,CAAC;IACJ,CAAC;CACF;AAxBD,oDAwBC;AAED,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC","sourcesContent":["import { accessSync, createReadStream, constants } from 'fs';\nimport { fileURLToPath } from 'url';\nimport type { IActionDereference, IActorDereferenceArgs, IActorDereferenceOutput } from '@comunica/bus-dereference';\nimport { ActorDereference } from '@comunica/bus-dereference';\nimport type { IActorTest } from '@comunica/core';\n\n/**\n * A comunica File Dereference Actor.\n */\nexport class ActorDereferenceFile extends ActorDereference {\n public constructor(args: IActorDereferenceArgs) {\n super(args);\n }\n\n public async test({ url }: IActionDereference): Promise<IActorTest> {\n try {\n accessSync(getPath(url), constants.F_OK);\n } catch (error: unknown) {\n throw new Error(`This actor only works on existing local files. (${error})`);\n }\n return true;\n }\n\n public async run({ url }: IActionDereference): Promise<IActorDereferenceOutput> {\n const requestTimeStart = Date.now();\n return {\n data: createReadStream(getPath(url)),\n // This should always be after the creation of the read stream\n requestTime: Date.now() - requestTimeStart,\n exists: true,\n url,\n };\n }\n}\n\nconst getPath = (url: string): string => url.startsWith('file://') ? fileURLToPath(url) : url;\n"]}
1
+ {"version":3,"file":"ActorDereferenceFile.js","sourceRoot":"","sources":["ActorDereferenceFile.ts"],"names":[],"mappings":";;;AAAA,2BAA6D;AAC7D,6BAAmD;AAEnD,+DAA6D;AAG7D;;GAEG;AACH,MAAa,oBAAqB,SAAQ,kCAAgB;IACxD,YAAmB,IAA2B;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAsB;QAC3C,IAAI;YACF,IAAA,eAAU,EAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;SAC1C;QAAC,OAAO,KAAc,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,GAAG,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,GAAW;QAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAsB;QAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,IAAA,qBAAgB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,8DAA8D;YAC9D,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;YAC1C,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC,IAAI;SACrE,CAAC;IACJ,CAAC;CACF;AA7BD,oDA6BC;AAED,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC","sourcesContent":["import { accessSync, createReadStream, constants } from 'fs';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport type { IActionDereference, IActorDereferenceArgs, IActorDereferenceOutput } from '@comunica/bus-dereference';\nimport { ActorDereference } from '@comunica/bus-dereference';\nimport type { IActorTest } from '@comunica/core';\n\n/**\n * A comunica File Dereference Actor.\n */\nexport class ActorDereferenceFile extends ActorDereference {\n public constructor(args: IActorDereferenceArgs) {\n super(args);\n }\n\n public async test({ url }: IActionDereference): Promise<IActorTest> {\n try {\n accessSync(getPath(url), constants.F_OK);\n } catch (error: unknown) {\n throw new Error(`This actor only works on existing local files. (${error})`);\n }\n return true;\n }\n\n private static isURI(str: string): boolean {\n const URIRegex = /\\w[\\w+.-]*:.*/u;\n return URIRegex.exec(str) !== null;\n }\n\n public async run({ url }: IActionDereference): Promise<IActorDereferenceOutput> {\n const requestTimeStart = Date.now();\n return {\n data: createReadStream(getPath(url)),\n // This should always be after the creation of the read stream\n requestTime: Date.now() - requestTimeStart,\n exists: true,\n url: ActorDereferenceFile.isURI(url) ? url : pathToFileURL(url).href,\n };\n }\n}\n\nconst getPath = (url: string): string => url.startsWith('file://') ? fileURLToPath(url) : url;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/actor-dereference-file",
3
- "version": "2.5.1",
3
+ "version": "2.5.3-alpha.36.0",
4
4
  "description": "A file dereference actor",
5
5
  "lsd:module": true,
6
6
  "main": "lib/index.js",
@@ -32,13 +32,13 @@
32
32
  "lib/**/*.js.map"
33
33
  ],
34
34
  "dependencies": {
35
- "@comunica/bus-dereference": "^2.5.1",
36
- "@comunica/core": "^2.5.1"
35
+ "@comunica/bus-dereference": "2.5.3-alpha.36.0",
36
+ "@comunica/core": "2.5.3-alpha.36.0"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "npm run build:ts && npm run build:components",
40
40
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
41
41
  "build:components": "componentsjs-generator"
42
42
  },
43
- "gitHead": "d64e87fad4a616224c210c2d22b38f6f9b00e1ea"
43
+ "gitHead": "052371323d2dbc061d8dfc2ff4623994906d6c50"
44
44
  }