mirror of
				https://github.com/esiur/esiur-js.git
				synced 2025-10-24 23:30:30 +00:00 
			
		
		
		
	Restore fix
This commit is contained in:
		| @@ -1,13 +1,61 @@ | |||||||
| #!/usr/bin/env node | #!/usr/bin/env node | ||||||
|  |  | ||||||
| console.log("Esiur Shell"); |  | ||||||
| console.log("\t use: 'await wh.get(url, <attributes>);' to get a resource."); |  | ||||||
|  |  | ||||||
| const { spawn } = require("child_process"); |  | ||||||
| const { pathToFileURL } = require("url"); |  | ||||||
|  |  | ||||||
| let url = pathToFileURL(__dirname).href + '/../src/esiur.js'; | if (process.argv.length == 2) { | ||||||
|  |   console.log("Usage: <command> [arguments]"); | ||||||
|  |   console.log(""); | ||||||
|  |   console.log("Available commands:"); | ||||||
|  |   console.log("\tget-template\tGet a template from an IIP link."); | ||||||
|  |   console.log("\tshell\tStart Node.js REPL with Esiur module loaded."); | ||||||
|  |   console.log("\tversion: Print Esiur version."); | ||||||
|  |   console.log(""); | ||||||
|  |   console.log("Global options:"); | ||||||
|  |   console.log("\t-u, --username\tAuthentication username"); | ||||||
|  |   console.log("\t-p, --password\tAuthentication password"); | ||||||
|  |   console.log("\t-d, --dir\tName of the directory to generate model inside."); | ||||||
|  |   process.exit(); | ||||||
|  | } | ||||||
|  |  | ||||||
| spawn('node', ["-i", "-e", `import('${url}');`], { |  | ||||||
|   stdio: 'inherit' | const cmd = process.argv[2].toLowerCase(); | ||||||
| }); | const args = process.argv.slice(3); | ||||||
|  |  | ||||||
|  | if (cmd == "shell") { | ||||||
|  |  | ||||||
|  |     console.log("Esiur Shell"); | ||||||
|  |     console.log("\t use: 'await wh.get(url, <attributes>);' to get a resource."); | ||||||
|  |  | ||||||
|  |     const { spawn } = require("child_process"); | ||||||
|  |     const { pathToFileURL } = require("url"); | ||||||
|  |  | ||||||
|  |     let url = pathToFileURL(__dirname).href + '/../src/esiur.js'; | ||||||
|  |  | ||||||
|  |     spawn('node', ["-i", "-e", `import('${url}');`], { | ||||||
|  |       stdio: 'inherit' | ||||||
|  |     }); | ||||||
|  | }  | ||||||
|  | else if (cmd == "get-template") | ||||||
|  | { | ||||||
|  |   // get username | ||||||
|  |   let username = getOption(args, "--username", "-u"); | ||||||
|  |   let password = getOption(args, "--password", "-p"); | ||||||
|  |   let dir = getOption(args, "--dir", "-d"); | ||||||
|  |  | ||||||
|  |   if (args.length == 0){ | ||||||
|  |     console.error("No URL specified."); | ||||||
|  |     process.exit(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   let url = args[0]; | ||||||
|  |  | ||||||
|  |   console.log(`Getting ${url} ${username} ${password} ${dir}`); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function getOption(args, option, abbreviation) { | ||||||
|  |   let index = args.indexOf(abbreviation); | ||||||
|  |   if (index == -1) index = args.indexOf(option); | ||||||
|  |   if (index > -1 && index + 1 < args.length)  | ||||||
|  |     return args.slice(index, index + 1)[1]; | ||||||
|  |   return null; | ||||||
|  | } | ||||||
| @@ -892,13 +892,17 @@ export default class DistributedConnection extends IStore { | |||||||
|                         if (dataType.identifier == TransmissionTypeIdentifier.ResourceList |                         if (dataType.identifier == TransmissionTypeIdentifier.ResourceList | ||||||
|                         || dataType.identifier == TransmissionTypeIdentifier.List) |                         || dataType.identifier == TransmissionTypeIdentifier.List) | ||||||
|                         { |                         { | ||||||
|  |                             // remove from suspended. | ||||||
|  |                             this._suspendedResources.remove(r._p.instanceId); | ||||||
|  |  | ||||||
|                             // parse them as int |                             // parse them as int | ||||||
|                             var id = data.getUint32(8); |                             var id = data.getUint32(8); | ||||||
|  |  | ||||||
|  |                             // id changed ? | ||||||
|                             if (id != r._p.instanceId) |                             if (id != r._p.instanceId) | ||||||
|                                 r._p.instanceId = id; |                                 r._p.instanceId = id; | ||||||
|  |  | ||||||
|                             this._neededResources.set(id, r); |                             this._neededResources.set(id, r); | ||||||
|                             this._suspendedResources.remove(id); |  | ||||||
|  |  | ||||||
|                             await this.fetch(id, null); |                             await this.fetch(id, null); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user