0.7.3 • Published 3 years ago

labtech-script-decode v0.7.3

Weekly downloads
2
License
MIT
Repository
github
Last release
3 years ago

labtech-script-decode

A set of utilities to load, parse, encode and interpolate exported LabTech scripts from XML into JSON and from JSON to XML. This module will run in the browser or on the server.

Installation

npm install --save labtech-script-decode

Usage

Server

const labtech_script = require('labtech-script-decode');

labtech_script.decodeXML(scriptXML).then(scriptJSON => {})

labtech_script.decode(base64string).then()

Browser

Include using Webpack, Browserify, etc, or directly using a script tag:

<script src="/dist/labtech-script-decode.min.js"></script>
<script>
  labtech_script.decodeXML(scriptXML)
    .then(scriptJSON => {
      // scriptJSON
    })
</script>

Documentation

Script functions and their associated documentation for each script function.

Examples

See the test folder for an example decoded script here.

This library is documented with JSDoc for exported object schema.

API

decodeXML(value)

Decode and interpolate an XML string

Arguments

ParamTypeDescription
valueStringExported LabTech script

Returns

Promise ⇒ Object\<LabTechScript>

decode(value)

Decode and parse a base 64 encoded string such as ScriptData or LicenseData. This function does not interpolate constants such as function names into decoded values.

Arguments

ParamTypeDescription
valueString or ArrayBase 64 encoded

Returns

Promise ⇒ Object\<Parsed XML>

encodeXML(object)

Encode and de-interpolate object into an XML string. The input's schema is validated to confirm that the output will produce a valid LabTech script.

Arguments

ParamTypeDescription
objectObject<LabTech_Expansion>Packed LabTech script

Returns

Promise ⇒ String\<XML>

encode(object)

Encode a JSON object into a base64 encoded string such as for ScriptData or LicenseData.

Arguments

ParamTypeDescription
objectobject

Returns

Promise ⇒ String

interpolate(scriptData)

Arguments

ParamTypeDescription
scriptDataObject\<ScriptData>Uninterpolated script data

Returns

Promise ⇒ Object\<ScriptData>

toText(scriptJSON)

Arguments

ParamTypeDescription
scriptJSONLabTechScriptLabTech Script JSON returned by decodeXML

Constants

A helper object containing a map of ids to

Properties

PropertyValues
ActionsFunction location in script
ContinuesFunction enabled or disabled
FunctionFlagsBase 10 bitstring determining target for this function
FunctionTypesIf or regular function
FunctionsFunction definitions
OsLimitsFunction OS limits

Schema

LabTechScript : Object

Kind: global typedef Properties

NameType
LabTech_Expansion
LabTech_Expansion.$
LabTech_Expansion.$.Name
LabTech_Expansion.$.Type
LabTech_Expansion.$.Version
LabTech_Expansion.PackedScriptPackedScript

PackedScript : Array.<Object> | Object

Kind: global typedef Properties

NameType
NewDataSetObject
NewDataSet.TableScriptTable
PackedScriptArray.<PackedScript> | PackedScript
ScriptFolderScriptFolder

ScriptFolder : Array.<Object>

Kind: global typedef Properties

NameType
NewDataSet
NewDataSet.TableFolderTable

LicenseData : Object

Kind: global typedef Properties

Name
ExpireDate
RunCounter
ScriptGuid
ScriptVersion
Type

ScriptData : Object

Kind: global typedef Properties

NameType
ScriptStepsArray.<(ScriptStep|ScriptStepXML)>
ScriptsObject
Scripts.ExtraDataFields
Scripts.Globals
Scripts.Parameters
Scripts.ScriptGuid
Scripts.ScriptVersion

ScriptStepXML : Object

Kind: global typedef Properties

Name
Action
Continue
FunctionId
Indentation
OsLimit
Param1
Param2
Param3
Param4
Param5
Sort

ScriptStep : Object

Kind: global typedef Properties

NameType
Action
Continue
FunctionScriptFunction
FunctionId
Indentation
OsLimit
Param1
Param2
Param3
Param4
Param5
Sort

ScriptFunction : Object

Kind: global typedef Properties

NameType
Description
FunctionFlag
FunctionId
FunctionType
Name
ParamNamesArray.<ScriptParam>

ScriptParam : Object

Kind: global typedef Properties

NameType
Description
ParamName
Value
ValuesArray.<String>

ScriptTable : Object

Kind: global typedef Properties

NameType
ComputerScript
EditPermission
FolderId
FunctionScript
LicenseData
LocationScript
MaintenanceScript
Parameters
Permission
ScriptDataScriptData
ScriptFlags
ScriptGuid
ScriptId
ScriptName
ScriptNotes
ScriptVersion

FolderTable : Object

Kind: global typedef Properties

Name
FolderID
GUID
Name
ParentID
0.7.3

3 years ago

0.7.2

4 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.6

6 years ago

0.4.5

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.0

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago