summaryrefslogtreecommitdiff
path: root/std/node/os.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/os.ts')
-rw-r--r--std/node/os.ts15
1 files changed, 12 insertions, 3 deletions
diff --git a/std/node/os.ts b/std/node/os.ts
index ee64bfceb..c5e0f6c76 100644
--- a/std/node/os.ts
+++ b/std/node/os.ts
@@ -19,6 +19,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
import { notImplemented } from "./_utils.ts";
+import { EOL as fsEOL } from "../fs/eol.ts";
const SEE_GITHUB_ISSUE = "See https://github.com/denoland/deno/issues/3802";
@@ -96,9 +97,17 @@ export function cpus(): CPUCoreInfo[] {
notImplemented(SEE_GITHUB_ISSUE);
}
-/** Not yet implemented */
+/**
+ * Returns a string identifying the endianness of the CPU for which the Deno
+ * binary was compiled. Possible values are 'BE' for big endian and 'LE' for
+ * little endian.
+ **/
export function endianness(): "BE" | "LE" {
- notImplemented(SEE_GITHUB_ISSUE);
+ // Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView#Endianness
+ const buffer = new ArrayBuffer(2);
+ new DataView(buffer).setInt16(0, 256, true /* littleEndian */);
+ // Int16Array uses the platform's endianness.
+ return new Int16Array(buffer)[0] === 256 ? "LE" : "BE";
}
/** Not yet implemented */
@@ -201,7 +210,7 @@ export const constants = {
}
};
-export const EOL = Deno.build.os == "win" ? "\r\n" : "\n";
+export const EOL = Deno.build.os == "win" ? fsEOL.CRLF : fsEOL.LF;
const validateInt32 = (
value: number,