Эксперимент с файловой системой, о котором я думал на некоторое время. Каким-то образом создание сокета домена FIFO или Unix, которое является двунаправленным соединением с потоковыми возможностями между произвольными веб-страницами и любой программой, которую я запускаю локально-без использования нативного обмена сообщениями, который представляет собой МПК в формате, подобном JSON, по крайней мере, на хроме. Как это работает? Я думаю, что вроде сочетания обоих. Или что -то еще? Не то чтобы мне нужно имя или ящик для канала связи. Я просто забочусь о том, что он делает то, что я говорю ему. Просто любопытно, вписывается ли система в одну из этих стандартных коробок Unix? Что -то еще ...? < /P>
repl.js
for await (const e of Deno.watchFs("/home/user/Documents")) {
for (const [index, path] of Object.entries(e.paths)) {
if (path.split("/").pop() === "sock") {
const input = Deno.readTextFileSync(path);
console.log(e.kind, path);
if (input.length > 0) {
console.log(input);
const command = new Deno.Command(Deno.execPath(), {
args: [
"eval",
input,
],
});
const { code, stdout, stderr } = command.outputSync();
await Deno.stdout.write(stdout);
Deno.writeFileSync(path, stdout);
} else {
continue;
}
}
}
}
< /code>
repl-sock.js
startIn: "documents",
suggestedName: "sock",
});
async function repl(script, fs) {
let readWrites = 0;
const { resolve, promise } = Promise.withResolvers();
const fso = new FileSystemObserver(async ([{
changedHandle,
root,
type,
}], record) => {
try {
if (++readWrites === 2) {
readWrites = 0;
const text = await (await changedHandle.getFile()).text();
fso.unobserve(fs);
fso.disconnect();
const currentHandle = await changedHandle.createWritable();
await currentHandle.truncate(0);
await currentHandle.close();
resolve(text);
}
} catch (e) {
console.log(e);
}
});
fso.observe(fs);
return new Response(script).body.pipeTo(await handle.createWritable())
.then(() => promise).then(console.log).then(() =>
console.log(`Done writing to and reading from ${handle.name}`)
).catch((e) => console.log(e));
}
< /code>
Usage, from DevTools console или фрагменты на произвольной веб -странице
repl(`console.log(Deno.version)`, handle).then(console.log)
// { deno: "2.2.6+b880087", v8: "13.5.212.4-rusty", typescript: "5.7.3" }
// Done writing to and reading from sock
Подробнее здесь: https://stackoverflow.com/questions/795 ... -something
Напоминает ли эта Deno Repl в браузере FIFO, Unix Domain Dockets, что -то еще? ⇐ Javascript
Форум по Javascript
1743514463
Anonymous
Эксперимент с файловой системой, о котором я думал на некоторое время. Каким-то образом создание сокета домена FIFO или Unix, которое является двунаправленным соединением с потоковыми возможностями между произвольными веб-страницами и любой программой, которую я запускаю локально-без использования нативного обмена сообщениями, который представляет собой МПК в формате, подобном JSON, по крайней мере, на хроме. Как это работает? Я думаю, что вроде сочетания обоих. Или что -то еще? Не то чтобы мне нужно имя или ящик для канала связи. Я просто забочусь о том, что он делает то, что я говорю ему. Просто любопытно, вписывается ли система в одну из этих стандартных коробок Unix? Что -то еще ...? < /P>
repl.js
for await (const e of Deno.watchFs("/home/user/Documents")) {
for (const [index, path] of Object.entries(e.paths)) {
if (path.split("/").pop() === "sock") {
const input = Deno.readTextFileSync(path);
console.log(e.kind, path);
if (input.length > 0) {
console.log(input);
const command = new Deno.Command(Deno.execPath(), {
args: [
"eval",
input,
],
});
const { code, stdout, stderr } = command.outputSync();
await Deno.stdout.write(stdout);
Deno.writeFileSync(path, stdout);
} else {
continue;
}
}
}
}
< /code>
repl-sock.js
startIn: "documents",
suggestedName: "sock",
});
async function repl(script, fs) {
let readWrites = 0;
const { resolve, promise } = Promise.withResolvers();
const fso = new FileSystemObserver(async ([{
changedHandle,
root,
type,
}], record) => {
try {
if (++readWrites === 2) {
readWrites = 0;
const text = await (await changedHandle.getFile()).text();
fso.unobserve(fs);
fso.disconnect();
const currentHandle = await changedHandle.createWritable();
await currentHandle.truncate(0);
await currentHandle.close();
resolve(text);
}
} catch (e) {
console.log(e);
}
});
fso.observe(fs);
return new Response(script).body.pipeTo(await handle.createWritable())
.then(() => promise).then(console.log).then(() =>
console.log(`Done writing to and reading from ${handle.name}`)
).catch((e) => console.log(e));
}
< /code>
Usage, from DevTools console или фрагменты на произвольной веб -странице
repl(`console.log(Deno.version)`, handle).then(console.log)
// { deno: "2.2.6+b880087", v8: "13.5.212.4-rusty", typescript: "5.7.3" }
// Done writing to and reading from sock
Подробнее здесь: [url]https://stackoverflow.com/questions/79548801/does-this-deno-repl-in-the-browser-resemble-fifo-unix-domain-sockets-something[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия