[!NOTE] The long term goal for LLRT is to become
Winter CG compliant
. Not every API from Node.js will be supported.
Everything else inherited from
Uint8Array
[!WARNING] >
spawn
uses native streams that is not 100% compatible with the Node.js Streams API.
Available globally
[!IMPORTANT] There are some differences with the
WHATWG standard
. Mainly browser specific behavior is removed:
keepalive
is always truerequest.body
can only bestring
,Array
,ArrayBuffer
orUint8Array
response.body
returnsnull
. Useresponse.text()
,response.json()
etcmode
,credentials
,referrerPolicy
,priority
,cache
is not available/applicable
[!NOTE] >
require
is available from esm modules natively. This function is just for compatibility
[!WARNING] These APIs uses native streams that is not 100% compatible with the Node.js Streams API. Server APIs like
createSever
provides limited functionality useful for testing purposes. Serverless applications typically don't expose servers. Some server options are not supported:highWaterMark
,pauseOnConnect
,keepAlive
,noDelay
,keepAliveInitialDelay
Also available globally
export class URL {
constructor(input: string, base?: string | URL);
hash: string;
host: string;
hostname: string;
href: string;
origin: string;
password: string;
pathname: string;
port: string;
protocol: string;
search: string;
searchParams: URLSearchParams;
username: string;
parse(input: string, base?: string): URL | null;
canParse(input: string, base?: string): boolean;
toJSON(): string;
toString(): string;
}
// Additional utilities in the URL module
export function domainToASCII(domain: string): string;
export function domainToUnicode(domain: string): string;
export function fileURLToPath(url: string | URL): string;
export function pathToFileURL(path: string): URL;
export function format(url: string | URL, options?: { fragment?: boolean, unicode?: boolean, auth?: boolean
}): string;
export function urlToHttpOptions(url: URL): {
protocol?: string;
hostname?: string;
port?: string;
path?: string;
...
};
export class URLSearchParams {
constructor(
init?: string | string[``][] | Record<string, string> | URLSearchParams
);
// properties
size: number;
// Methods
append(name: string, value: string): void;
delete(name: string): void;
get(name: string): string | null;
getAll(name: string): string[];
has(name: string): boolean;
set(name: string, value: string): void;
sort(): void;
[`Symbol.iterator`](): IterableIterator<[string, string]>;
entries(): IterableIterator<[string, string]>;
forEach(): IterableIterator<[string, string]>;
keys(): IterableIterator<string>;
values(): IterableIterator<string>;
toString(): string;
}
[!IMPORTANT] Supported encodings: hex, base64, utf-8, utf-16le, windows-1252 and their aliases.
export function encode(
value: string | Array | ArrayBuffer | Uint8Array
): string;
export function decode(value: string): Uint8Array;
export const NIL: string;
export function v1(): string;
export function v3(
name: string,
namespace: Array | Uint8Array | String
): string;
export function v4(): string;
export function v5(
name: string,
namespace: Array | Uint8Array | String
): string;
export function parse(value: string): Uint8Array;
export function stringify(arr: Array | Uint8Array): string;
export function validate(arr: string): boolean;
export function version(arr: Array | Uint8Array): number;
A lightweight and fast XML parser
type XmlParserOptions = {
ignoreAttributes?: boolean;
attributeNamePrefix?: string;
textNodeName?: string;
attributeValueProcessor?: (attrName: string, attrValue: string, jpath: string) => unknown;
tagValueProcessor?: (attrName: string, attrValue: string, jpath: string, hasAttributes: boolean) => unknown;
}
export class XMLParser(options?: XmlParserOptions){
parse(xml:string):object
}