mirror of
https://github.com/sasjs/adapter.git
synced 2025-12-10 17:04:36 +00:00
Merge pull request #674 from sasjs/numeric-missing
fix: special missings accept - regular missing .
This commit is contained in:
@@ -155,7 +155,7 @@ The SAS type (char/numeric) of the values is determined according to a set of ru
|
||||
|
||||
* If the values are numeric, the SAS type is numeric
|
||||
* If the values are all string, the SAS type is character
|
||||
* If the values contain a single character (a-Z + underscore) AND a numeric, then the SAS type is numeric (with special missing values).
|
||||
* If the values contain a single character (a-Z + underscore + .) AND a numeric, then the SAS type is numeric (with special missing values).
|
||||
* `null` is set to either '.' or '' depending on the assigned or derived type per the above rules. If entire column is `null` then the type will be numeric.
|
||||
|
||||
The following table illustrates the formats applied to columns under various scenarios:
|
||||
|
||||
@@ -54,6 +54,17 @@ describe('formatDataForRequest', () => {
|
||||
expect(formatDataForRequest(data)).toEqual(expectedOutput)
|
||||
})
|
||||
|
||||
it('should accept . as special missing value', () => {
|
||||
let tableWithMissingValues = {
|
||||
[testTable]: [{ var: '.' }, { var: 0 }],
|
||||
[`$${testTable}`]: { formats: { var: 'best.' } }
|
||||
}
|
||||
|
||||
expect(() =>
|
||||
formatDataForRequest(tableWithMissingValues)
|
||||
).not.toThrowError()
|
||||
})
|
||||
|
||||
it('should throw an error if special missing values is not valid', () => {
|
||||
let tableWithMissingValues = {
|
||||
[testTable]: [{ var: 'AA' }, { var: 0 }],
|
||||
|
||||
Reference in New Issue
Block a user