diff options
Diffstat (limited to 'std/node/os.ts')
-rw-r--r-- | std/node/os.ts | 15 |
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, |