Skip to main content

core.unescapetoken

Home > @medplum/core > unescapeToken

unescapeToken() function

Unescape token part of a JSON Pointer string

token should *not* contain any '/' characters.

Evaluation of each reference token begins by decoding any escaped character sequence. This is performed by first transforming any occurrence of the sequence '~1' to '/', and then transforming any occurrence of the sequence '~0' to '~'. By performing the substitutions in this order, an implementation avoids the error of turning '~01' first into '~1' and then into '/', which would be incorrect (the string '~01' correctly becomes '~1' after transformation).

Here's my take:

~1 is unescaped with higher priority than ~0 because it is a lower-order escape character. I say "lower order" because '/' needs escaping due to the JSON Pointer serialization technique. Whereas, '~' is escaped because escaping '/' uses the '~' character.

Signature:

export declare function unescapeToken(token: string): string;

Parameters

Parameter

Type

Description

token

string

The token to unescape.

Returns:

string

The unescaped token.