Ref-parser
install
npm i --save ref-parser
Usage
const refParser = ; var obj = refA: "valueA" refB: "%refA%"; refParser; todeep; // === TRUE
Options
const refParser = referenceCharKey: "=" // Default is % recursive: true global: env: processenv // Merged with obj to parse, removed after if removeGlobal option is TRUE removeGlobal: true ; processenvNODE_ENV = "development"; var obj = ref: "=env.NODE_ENV="; refParser; todeep; // === TRUE
API
parse(obj: Object, key?: String)
Parse all references inside obj
parameter.
If key
is defined parse only references inside this key
parseReferences(str: String, obj: Object): any
Return the parsed references from str
parameters, all references values come from obj
parameters.
getReferenceKeys(str: String, referenceChar?: String): Array<String>
Return references keys from the str
parameters. A reference key look like <referenceChar><ref-path><referenceChar>
(for example %refA%
)
hasReferences(str: String, referenceChar?: String): Boolean
Return trus if str
parameter has one or more references.
Full example
var refParser = ; var obj = refA: "valueA" // Simple reference refB: "%refA%" // Multi references refC: "%refA%-%refB%" refD: refE: 0 refNull: null refUndefined: undefined refFalse: false refTrue: true // Multi references with object key and reference to a reference refF: "%refD.refE%-%refG%" refG: "%refD.refE%" // References inside array arrayA: "value1" "%refD%" "%refTrue%" // Reference from array refH: "%arrayA.1.refE%" // Reference to null refI: "%refD.refNull%" // Reference to undefined refJ: "%refD.refUndefined%" refK: "%refD.refNull%-value" // Reference to false refL: "%refFalse%" refParser; todeep; // === TRUE
Test
npm test