• <GetStart>
  • CSPro User's Guide
    • The CSPro System
    • Data Dictionary Module
    • The CSPro Language
    • Data Entry Module
    • Batch Editing Applications
    • Tabulation Applications
    • Data Sources
    • CSPro Statements and Functions
    • Templated Reporting System
    • HTML and JavaScript Integration
    • Action Invoker
      • Overview
      • Execution Environments
      • Security and Formatting Options
      • Base Actions
      • Application Namespace
      • Clipboard Namespace
      • Data Namespace
      • Dictionary Namespace
      • File Namespace
      • Hash Namespace
      • Localhost Namespace
      • Logic Namespace
        • Logic Action Invoker Namespace
        • Logic.eval Action
        • Logic.getSymbol Action
        • Logic.getSymbolMetadata Action
        • Logic.getSymbolValue Action
        • Logic.invoke Action
        • Logic.updateSymbolValue Action
      • Message Namespace
      • Path Namespace
      • Settings Namespace
      • Sqlite Namespace
      • System Namespace
      • UI Namespace
    • Appendix
  • <CSEntry>
  • <CSBatch>
  • <CSTab>
  • <DataViewer>
  • <TextView>
  • <TblView>
  • <CSFreq>
  • <CSDeploy>
  • <CSPack>
  • <CSDiff>
  • <CSConcat>
  • <Excel2CSPro>
  • <CSExport>
  • <CSIndex>
  • <CSReFmt>
  • <CSSort>
  • <ParadataConcat>
  • <ParadataViewer>
  • <CSCode>
  • <CSDocument>
  • <CSView>
  • <CSWeb>

Logic.getSymbolMetadata Action

Format
s = CS.Logic.getSymbolMetadata(name := ...ʃ, serializationOptions := ...ʅ)
ArgumentDescriptionTypes / Required
nameThe name of the symbol.string
required
serializationOptionsOptions for how the symbol should be serialized.object
not required
Description
The Logic.getSymbolMetadata action returns the JSON representation of the metadata of the symbol with the specified name. The optional serializationOptions argument allows you to specify how the symbol should be serialized, potentially overriding the default application settings.
You can use the Logic.getSymbolValue action if you only want to work with the symbol's value, or Logic.getSymbol if you want both the metadata and value. You can also use the Symbol.getJson function to get a symbol's JSON metadata and value.
All symbols support the serialization of the symbol metadata. The following table describes the value-related serialization routines available for CSPro objects and contains links to the description of the JSON representation for each object.
Documentation about JSON representations feature will come in a future release. In the meantime you can see if the documentation is updated at:
https://www.csprousers.org/help/CSPro/symbols_json_representation.html
ObjectValue -> JSONJSON -> ValueJSON Representation
numeric✔✔
string, alpha✔✔
Array✔✔
Audio✔✔
Block
Dictionary✔
Document✔✔
File✔
Freq✔
function
Geometry✔✔
HashMap✔✔
Image✔✔
Item
List✔✔
Map
Pff
Record
Report
SystemApp✔✔
ValueSet✔✔
Return Value
The action returns an object with the symbol's metadata.
Exceptions
The action throws an exception if any of its arguments are not specified in a valid form or if no symbol has the specified name.
Example (JavaScript)
function doSomethingWithExternalDictionary(dictionaryName) {
   
// proceed only if the symbol is an external dictionary
    const dictionary = CS.Logic.getSymbolMetadata({
        name: dictionaryName
    });

   
if( dictionary.type != "Dictionary" || dictionary.dictionaryType != "external" ) {
       
throw new Error(`${dictionaryName} is not an external dictionary.`);
    }
}
See also: Logic Action Invoker Namespace, Logic.getSymbol Action, Logic.getSymbolValue Action, Logic.updateSymbolValue Action, Symbol.getJson Function