From 53599df80509b2c42ace6c2c933690cd15131859 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Mon, 18 Mar 2019 16:14:54 +0100 Subject: [PATCH] Generalize dataToEsm type and test additional primitive data types --- src/dataToEsm.ts | 5 +---- test/dataToEsm.test.ts | 12 ++++++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/dataToEsm.ts b/src/dataToEsm.ts index 11f3892..6d427f0 100644 --- a/src/dataToEsm.ts +++ b/src/dataToEsm.ts @@ -48,10 +48,7 @@ export interface Options { } // convert data object into separate named exports (and default) -export default function dataToNamedExports( - data: T | Array, - options: Options = {} -): string { +export default function dataToNamedExports(data: any, options: Options = {}): string { const t = options.compact ? '' : 'indent' in options ? options.indent : '\t'; const _ = options.compact ? '' : ' '; const n = options.compact ? '' : '\n'; diff --git a/test/dataToEsm.test.ts b/test/dataToEsm.test.ts index e0b6b3f..b7f74cb 100644 --- a/test/dataToEsm.test.ts +++ b/test/dataToEsm.test.ts @@ -50,7 +50,7 @@ describe('dataToEsm', function() { ); }); - it('supports null serialize', function() { + it('serializes null', function() { expect(dataToEsm({ null: null })).toEqual('export default {\n\t"null": null\n};\n'); }); @@ -61,8 +61,16 @@ describe('dataToEsm', function() { ); }); - it('default only for non-objects', function() { + it('exports default only for arrays', function() { const arr = ['a', 'b']; expect(dataToEsm(arr)).toEqual('export default [\n\t"a",\n\t"b"\n];'); }); + + it('exports default only for null', function() { + expect(dataToEsm(null)).toEqual('export default null;'); + }); + + it('exports default only for primitive values', function() { + expect(dataToEsm('some string')).toEqual('export default "some string";'); + }); });