ansi-fragments
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -11,5 +11,4 @@ "use strict"; | ||
const Fixed_1 = require("../Fixed"); | ||
const colorette_1 = __importDefault(require("colorette")); | ||
const IfElse_1 = require("../IfElse"); | ||
const Provide_1 = require("../Provide"); | ||
const colorette_1 = __importDefault(require("colorette")); | ||
colorette_1.default.options.enabled = true; | ||
@@ -22,24 +21,12 @@ test('should build fragments to string', () => { | ||
}); | ||
test('should build logical fragments', () => { | ||
let condition1 = true; | ||
const tree1 = IfElse_1.ifElse(() => condition1, Color_1.color('red', 'ERROR'), Color_1.color('yellow', 'WARNING')); | ||
expect(JSON.stringify(tree1.build())).toEqual(JSON.stringify(colorette_1.default.red('ERROR'))); | ||
condition1 = false; | ||
expect(JSON.stringify(tree1.build())).toEqual(JSON.stringify(colorette_1.default.yellow('WARNING'))); | ||
const message = { level: 'error', log: 'Something went wrong' }; | ||
const tree2 = Provide_1.provide(message, (value) => { | ||
switch (value.level) { | ||
case 'error': | ||
return Container_1.container(Color_1.color('red', Modifier_1.modifier('bold', value.level.toUpperCase())), Pad_1.pad(2), value.log); | ||
case 'info': | ||
return Container_1.container(Color_1.color('blue', value.level.toUpperCase()), Pad_1.pad(2), value.log); | ||
default: | ||
return Container_1.container(value.level.toUpperCase(), Pad_1.pad(2), value.log); | ||
} | ||
}); | ||
expect(JSON.stringify(tree2.build())).toEqual(JSON.stringify(`${colorette_1.default.red(colorette_1.default.bold(message.level.toUpperCase()))} ${message.log}`)); | ||
message.level = 'info'; | ||
message.log = 'Some log'; | ||
expect(JSON.stringify(tree2.build())).toEqual(JSON.stringify(`${colorette_1.default.blue(message.level.toUpperCase())} ${message.log}`)); | ||
test('ifElse fragment should render correct fragmnent', () => { | ||
expect(IfElse_1.ifElse(true, 'Hello', 'Bye').build()).toEqual('Hello'); | ||
expect(IfElse_1.ifElse(1, 'Hello', 'Bye').build()).toEqual('Hello'); | ||
expect(IfElse_1.ifElse(undefined, 'Hello', 'Bye').build()).toEqual('Bye'); | ||
// tslint:disable-next-line: no-null-keyword | ||
expect(IfElse_1.ifElse(null, 'Hello', 'Bye').build()).toEqual('Bye'); | ||
expect(IfElse_1.ifElse(true, 'Hello').build()).toEqual('Hello'); | ||
expect(IfElse_1.ifElse(false, 'Hello').build()).toEqual(''); | ||
expect(IfElse_1.ifElse(() => true, 'Hello', 'Bye').build()).toEqual('Hello'); | ||
}); | ||
//# sourceMappingURL=fragments.spec.js.map |
import IFragment from './IFragment'; | ||
declare type ConditionValue = boolean | string | number | null | undefined; | ||
declare type Condition = ConditionValue | (() => ConditionValue); | ||
export declare function ifElse(condition: Condition, ifTrueFragment: string | IFragment, elseFragment: string | IFragment): IfElse; | ||
export declare type ConditionValue = boolean | string | number | null | undefined; | ||
export declare type Condition = ConditionValue | (() => ConditionValue); | ||
export declare function ifElse(condition: Condition, ifTrueFragment: string | IFragment, elseFragment?: string | IFragment): IfElse; | ||
export declare class IfElse implements IFragment { | ||
private readonly ifTrueFragment; | ||
private readonly elseFragment?; | ||
private readonly condition; | ||
private readonly ifTrueFragment; | ||
private readonly elseFragment; | ||
constructor(condition: Condition, ifTrueFragment: string | IFragment, elseFragment: string | IFragment); | ||
constructor(condition: Condition, ifTrueFragment: string | IFragment, elseFragment?: string | IFragment); | ||
build(): string; | ||
} | ||
export {}; | ||
//# sourceMappingURL=IfElse.d.ts.map |
@@ -15,6 +15,6 @@ "use strict"; | ||
build() { | ||
const value = typeof this.condition === 'function' | ||
? Boolean(this.condition()) | ||
: Boolean(this.condition); | ||
return utils_1.buildChildren(utils_1.toArray(value ? this.ifTrueFragment : this.elseFragment)); | ||
const value = Boolean(typeof this.condition === 'function' ? this.condition() : this.condition); | ||
return utils_1.buildChildren([ | ||
value ? this.ifTrueFragment : this.elseFragment || '', | ||
]); | ||
} | ||
@@ -21,0 +21,0 @@ } |
@@ -6,4 +6,3 @@ export { color, AnsiColor } from './fragments/Color'; | ||
export { fixed } from './fragments/Fixed'; | ||
export { ifElse } from './fragments/IfElse'; | ||
export { provide } from './fragments/Provide'; | ||
export { ifElse, Condition, ConditionValue } from './fragments/IfElse'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -15,4 +15,2 @@ "use strict"; | ||
exports.ifElse = IfElse_1.ifElse; | ||
var Provide_1 = require("./fragments/Provide"); | ||
exports.provide = Provide_1.provide; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "ansi-fragments", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"main": "build/index.js", | ||
@@ -32,3 +32,2 @@ "license": "MIT", | ||
"colorette": "^1.0.7", | ||
"del-cli": "^1.1.0", | ||
"slice-ansi": "^2.0.0", | ||
@@ -42,2 +41,3 @@ "strip-ansi": "^5.0.0" | ||
"@types/strip-ansi": "^3.0.0", | ||
"del-cli": "^1.1.0", | ||
"jest": "^24.0.0", | ||
@@ -44,0 +44,0 @@ "ts-jest": "^23.10.5", |
@@ -21,3 +21,3 @@ # ansi-fragments | ||
- [`fixed`](#fixed) | ||
- [`ifElse`](#ifelse) | ||
- [`ifElse`](#ifElse) | ||
- [`provide`](#provide) | ||
@@ -166,3 +166,2 @@ | ||
#### `provide` | ||
@@ -169,0 +168,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
3
30016
9
42
268
211
- Removeddel-cli@^1.1.0
- Removedansi-align@2.0.0(transitive)
- Removedansi-regex@3.0.1(transitive)
- Removedarray-find-index@1.0.2(transitive)
- Removedarray-union@1.0.2(transitive)
- Removedarray-uniq@1.0.3(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedboxen@1.3.0(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedcamelcase@2.1.14.1.0(transitive)
- Removedcamelcase-keys@2.1.0(transitive)
- Removedcapture-stack-trace@1.0.2(transitive)
- Removedchalk@2.4.2(transitive)
- Removedci-info@1.6.0(transitive)
- Removedcli-boxes@1.0.0(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removedconfigstore@3.1.5(transitive)
- Removedcreate-error-class@3.0.2(transitive)
- Removedcross-spawn@5.1.0(transitive)
- Removedcrypto-random-string@1.0.0(transitive)
- Removedcurrently-unhandled@0.4.1(transitive)
- Removeddecamelize@1.2.0(transitive)
- Removeddeep-extend@0.6.0(transitive)
- Removeddel@3.0.0(transitive)
- Removeddel-cli@1.1.0(transitive)
- Removeddot-prop@4.2.1(transitive)
- Removedduplexer3@0.1.5(transitive)
- Removederror-ex@1.3.2(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedexeca@0.7.0(transitive)
- Removedfind-up@1.1.2(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-stdin@4.0.1(transitive)
- Removedget-stream@3.0.0(transitive)
- Removedglob@7.2.3(transitive)
- Removedglobal-dirs@0.1.1(transitive)
- Removedglobby@6.1.0(transitive)
- Removedgot@6.7.1(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedhas-flag@3.0.0(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhosted-git-info@2.8.9(transitive)
- Removedimport-lazy@2.1.0(transitive)
- Removedimurmurhash@0.1.4(transitive)
- Removedindent-string@2.1.0(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedini@1.3.8(transitive)
- Removedis-arrayish@0.2.1(transitive)
- Removedis-ci@1.2.1(transitive)
- Removedis-core-module@2.16.1(transitive)
- Removedis-finite@1.1.0(transitive)
- Removedis-installed-globally@0.1.0(transitive)
- Removedis-npm@1.0.0(transitive)
- Removedis-obj@1.0.1(transitive)
- Removedis-path-cwd@1.0.0(transitive)
- Removedis-path-in-cwd@1.0.1(transitive)
- Removedis-path-inside@1.0.1(transitive)
- Removedis-redirect@1.0.0(transitive)
- Removedis-retry-allowed@1.2.0(transitive)
- Removedis-stream@1.1.0(transitive)
- Removedis-utf8@0.2.1(transitive)
- Removedisexe@2.0.0(transitive)
- Removedlatest-version@3.1.0(transitive)
- Removedload-json-file@1.1.0(transitive)
- Removedloud-rejection@1.6.0(transitive)
- Removedlowercase-keys@1.0.1(transitive)
- Removedlru-cache@4.1.5(transitive)
- Removedmake-dir@1.3.0(transitive)
- Removedmap-obj@1.0.1(transitive)
- Removedmeow@3.7.0(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedminimist@1.2.8(transitive)
- Removednormalize-package-data@2.5.0(transitive)
- Removednpm-run-path@2.0.2(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedonce@1.4.0(transitive)
- Removedp-finally@1.0.0(transitive)
- Removedp-map@1.2.0(transitive)
- Removedpackage-json@4.0.1(transitive)
- Removedparse-json@2.2.0(transitive)
- Removedpath-exists@2.1.0(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedpath-is-inside@1.0.2(transitive)
- Removedpath-key@2.0.1(transitive)
- Removedpath-parse@1.0.7(transitive)
- Removedpath-type@1.1.0(transitive)
- Removedpify@2.3.03.0.0(transitive)
- Removedpinkie@2.0.4(transitive)
- Removedpinkie-promise@2.0.1(transitive)
- Removedprepend-http@1.0.4(transitive)
- Removedpseudomap@1.0.2(transitive)
- Removedrc@1.2.8(transitive)
- Removedread-pkg@1.1.0(transitive)
- Removedread-pkg-up@1.0.1(transitive)
- Removedredent@1.0.0(transitive)
- Removedregistry-auth-token@3.4.0(transitive)
- Removedregistry-url@3.1.0(transitive)
- Removedrepeating@2.0.1(transitive)
- Removedresolve@1.22.10(transitive)
- Removedrimraf@2.7.1(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedsemver@5.7.2(transitive)
- Removedsemver-diff@2.1.0(transitive)
- Removedshebang-command@1.2.0(transitive)
- Removedshebang-regex@1.0.0(transitive)
- Removedsignal-exit@3.0.7(transitive)
- Removedspdx-correct@3.2.0(transitive)
- Removedspdx-exceptions@2.5.0(transitive)
- Removedspdx-expression-parse@3.0.1(transitive)
- Removedspdx-license-ids@3.0.21(transitive)
- Removedstring-width@2.1.1(transitive)
- Removedstrip-ansi@4.0.0(transitive)
- Removedstrip-bom@2.0.0(transitive)
- Removedstrip-eof@1.0.0(transitive)
- Removedstrip-indent@1.0.1(transitive)
- Removedstrip-json-comments@2.0.1(transitive)
- Removedsupports-color@5.5.0(transitive)
- Removedsupports-preserve-symlinks-flag@1.0.0(transitive)
- Removedterm-size@1.2.0(transitive)
- Removedtimed-out@4.0.1(transitive)
- Removedtrim-newlines@1.0.0(transitive)
- Removedunique-string@1.0.0(transitive)
- Removedunzip-response@2.0.1(transitive)
- Removedupdate-notifier@2.5.0(transitive)
- Removedurl-parse-lax@1.0.0(transitive)
- Removedvalidate-npm-package-license@3.0.4(transitive)
- Removedwhich@1.3.1(transitive)
- Removedwidest-line@2.0.1(transitive)
- Removedwrappy@1.0.2(transitive)
- Removedwrite-file-atomic@2.4.3(transitive)
- Removedxdg-basedir@3.0.0(transitive)
- Removedyallist@2.1.2(transitive)