@open-mercato/shared 0.4.11-develop.1534.b42f9ddcb3 → 0.4.11-develop.1536.bce594656c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/version.js
CHANGED
package/dist/lib/version.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/version.ts"],
|
|
4
|
-
"sourcesContent": ["// Build-time generated version\nexport const APP_VERSION = '0.4.11-develop.
|
|
4
|
+
"sourcesContent": ["// Build-time generated version\nexport const APP_VERSION = '0.4.11-develop.1536.bce594656c'\nexport const appVersion = APP_VERSION\n"],
|
|
5
5
|
"mappings": "AACO,MAAM,cAAc;AACpB,MAAM,aAAa;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FALSE_VALUES,
|
|
3
|
+
TRUE_VALUES,
|
|
4
|
+
parseBooleanFlag,
|
|
5
|
+
parseBooleanFromUnknown,
|
|
6
|
+
parseBooleanToken,
|
|
7
|
+
parseBooleanWithDefault,
|
|
8
|
+
} from '../boolean'
|
|
9
|
+
|
|
10
|
+
describe('boolean helpers', () => {
|
|
11
|
+
it('parses recognized truthy tokens regardless of case or surrounding whitespace', () => {
|
|
12
|
+
for (const token of TRUE_VALUES) {
|
|
13
|
+
expect(parseBooleanToken(token)).toBe(true)
|
|
14
|
+
expect(parseBooleanToken(` ${token.toUpperCase()} `)).toBe(true)
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
it('parses recognized falsy tokens regardless of case or surrounding whitespace', () => {
|
|
19
|
+
for (const token of FALSE_VALUES) {
|
|
20
|
+
expect(parseBooleanToken(token)).toBe(false)
|
|
21
|
+
expect(parseBooleanToken(` ${token.toUpperCase()} `)).toBe(false)
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('returns null for blank, invalid, or non-string token inputs', () => {
|
|
26
|
+
expect(parseBooleanToken('')).toBeNull()
|
|
27
|
+
expect(parseBooleanToken(' ')).toBeNull()
|
|
28
|
+
expect(parseBooleanToken('maybe')).toBeNull()
|
|
29
|
+
expect(parseBooleanToken(null)).toBeNull()
|
|
30
|
+
expect(parseBooleanToken(undefined)).toBeNull()
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
it('falls back only when the token cannot be parsed', () => {
|
|
34
|
+
expect(parseBooleanWithDefault('enabled', false)).toBe(true)
|
|
35
|
+
expect(parseBooleanWithDefault('disabled', true)).toBe(false)
|
|
36
|
+
expect(parseBooleanWithDefault('unknown', true)).toBe(true)
|
|
37
|
+
expect(parseBooleanWithDefault(undefined, false)).toBe(false)
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('returns undefined for unparseable flags while preserving parsed booleans', () => {
|
|
41
|
+
expect(parseBooleanFlag('yes')).toBe(true)
|
|
42
|
+
expect(parseBooleanFlag('no')).toBe(false)
|
|
43
|
+
expect(parseBooleanFlag('maybe')).toBeUndefined()
|
|
44
|
+
expect(parseBooleanFlag()).toBeUndefined()
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
it('parses booleans from unknown values without coercing unsupported types', () => {
|
|
48
|
+
expect(parseBooleanFromUnknown(true)).toBe(true)
|
|
49
|
+
expect(parseBooleanFromUnknown(false)).toBe(false)
|
|
50
|
+
expect(parseBooleanFromUnknown(' on ')).toBe(true)
|
|
51
|
+
expect(parseBooleanFromUnknown(' off ')).toBe(false)
|
|
52
|
+
expect(parseBooleanFromUnknown('unexpected')).toBeNull()
|
|
53
|
+
expect(parseBooleanFromUnknown(1)).toBeNull()
|
|
54
|
+
expect(parseBooleanFromUnknown({ value: 'true' })).toBeNull()
|
|
55
|
+
})
|
|
56
|
+
})
|