diff --git a/implementations/javascript/package.json b/implementations/javascript/package.json index e07d0a2..ea0f1c8 100644 --- a/implementations/javascript/package.json +++ b/implementations/javascript/package.json @@ -1,6 +1,6 @@ { "name": "preserves", - "version": "0.5.1", + "version": "0.5.2", "description": "Experimental data serialization format", "homepage": "https://gitlab.com/preserves/preserves", "license": "Apache-2.0", diff --git a/implementations/javascript/src/values.ts b/implementations/javascript/src/values.ts index 24856bb..579aebd 100644 --- a/implementations/javascript/src/values.ts +++ b/implementations/javascript/src/values.ts @@ -94,6 +94,10 @@ export abstract class Float { static isSingle = (x: any): x is Single => Float.isFloat(x, 'Single'); static isDouble = (x: any): x is Double => Float.isFloat(x, 'Double'); + + static unwrap(f: number | Float): number { + return typeof f === 'number' ? f : f.value; + } } export class Single extends Float implements Preservable {