Skip to content

Commit

Permalink
chore: remove Deno.resources() (#25251)
Browse files Browse the repository at this point in the history
  • Loading branch information
iuioiua authored Aug 30, 2024
1 parent 504ae36 commit 8e478a1
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 97 deletions.
30 changes: 0 additions & 30 deletions cli/tsc/dts/lib.deno.ns.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4060,36 +4060,6 @@ declare namespace Deno {
bytesReceived: number;
}

/**
* A map of open resources that Deno is tracking. The key is the resource ID
* (_rid_) and the value is its representation.
*
* @deprecated This will be removed in Deno 2.0.
*
* @category Runtime */
export interface ResourceMap {
[rid: number]: unknown;
}

/** Returns a map of open resource IDs (_rid_) along with their string
* representations. This is an internal API and as such resource
* representation has `unknown` type; that means it can change any time and
* should not be depended upon.
*
* ```ts
* console.log(Deno.resources());
* // { 0: "stdin", 1: "stdout", 2: "stderr" }
* Deno.openSync('../test.file');
* console.log(Deno.resources());
* // { 0: "stdin", 1: "stdout", 2: "stderr", 3: "fsFile" }
* ```
*
* @deprecated This will be removed in Deno 2.0.
*
* @category Runtime
*/
export function resources(): ResourceMap;

/**
* Additional information for FsEvent objects with the "other" kind.
*
Expand Down
6 changes: 0 additions & 6 deletions runtime/js/99_main.js
Original file line number Diff line number Diff line change
Expand Up @@ -620,10 +620,6 @@ const internalSymbol = Symbol("Deno.internal");
const finalDenoNs = {
internal: internalSymbol,
[internalSymbol]: internals,
resources() {
internals.warnOnDeprecatedApi("Deno.resources()", new Error().stack);
return core.resources();
},
close(rid) {
internals.warnOnDeprecatedApi(
"Deno.close()",
Expand Down Expand Up @@ -950,7 +946,6 @@ function bootstrapMainRuntime(runtimeOptions, warmup = false) {
delete Deno.readAllSync;
delete Deno.read;
delete Deno.readSync;
delete Deno.resources;
delete Deno.seek;
delete Deno.seekSync;
delete Deno.shutdown;
Expand Down Expand Up @@ -1139,7 +1134,6 @@ function bootstrapWorkerRuntime(
delete Deno.readAllSync;
delete Deno.read;
delete Deno.readSync;
delete Deno.resources;
delete Deno.seek;
delete Deno.seekSync;
delete Deno.shutdown;
Expand Down
1 change: 0 additions & 1 deletion tests/specs/future/runtime_api/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ console.log("Deno.readAll is", Deno.readAll);
console.log("Deno.readAllSync is", Deno.readAllSync);
console.log("Deno.read is", Deno.read);
console.log("Deno.readSync is", Deno.readSync);
console.log("Deno.resources is", Deno.resources);
console.log("Deno.seek is", Deno.seek);
console.log("Deno.seekSync is", Deno.seekSync);
console.log("Deno.shutdown is", Deno.shutdown);
Expand Down
1 change: 0 additions & 1 deletion tests/specs/future/runtime_api/main.out
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ Deno.readAll is undefined
Deno.readAllSync is undefined
Deno.read is undefined
Deno.readSync is undefined
Deno.resources is undefined
Deno.seek is undefined
Deno.seekSync is undefined
Deno.shutdown is undefined
Expand Down
60 changes: 1 addition & 59 deletions tests/unit/resources_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,10 @@

// deno-lint-ignore-file no-deprecated-deno-api

import {
assert,
assertEquals,
assertThrows,
DENO_FUTURE,
} from "./test_util.ts";

const listenPort = 4505;
import { assertThrows } from "./test_util.ts";

Deno.test(function resourcesCloseBadArgs() {
assertThrows(() => {
Deno.close((null as unknown) as number);
}, TypeError);
});

Deno.test({ ignore: DENO_FUTURE }, function resourcesStdio() {
const res = Deno.resources();

assertEquals(res[0], "stdin");
assertEquals(res[1], "stdout");
assertEquals(res[2], "stderr");
});

Deno.test(
{ ignore: DENO_FUTURE, permissions: { net: true } },
async function resourcesNet() {
const listener = Deno.listen({ port: listenPort });
const dialerConn = await Deno.connect({ port: listenPort });
const listenerConn = await listener.accept();

const res = Deno.resources();
assertEquals(
Object.values(res).filter((r): boolean => r === "tcpListener").length,
1,
);
const tcpStreams = Object.values(res).filter(
(r): boolean => r === "tcpStream",
);
assert(tcpStreams.length >= 2);

listenerConn.close();
dialerConn.close();
listener.close();
},
);

Deno.test(
{ ignore: DENO_FUTURE, permissions: { read: true } },
async function resourcesFile() {
const resourcesBefore = Deno.resources();
const f = await Deno.open("tests/testdata/assets/hello.txt");
const resourcesAfter = Deno.resources();
f.close();

// check that exactly one new resource (file) was added
assertEquals(
Object.keys(resourcesAfter).length,
Object.keys(resourcesBefore).length + 1,
);
const newRid = +Object.keys(resourcesAfter).find((rid): boolean => {
return !Object.prototype.hasOwnProperty.call(resourcesBefore, rid);
})!;
assertEquals(resourcesAfter[newRid], "fsFile");
},
);

0 comments on commit 8e478a1

Please sign in to comment.