| Index: fpdfsdk/javascript/Field.h
|
| diff --git a/fpdfsdk/javascript/Field.h b/fpdfsdk/javascript/Field.h
|
| index cdff0915b44891d76c9f52bc52a2d7282988bef7..d4371ab274c3efc54e43f974c81c767f6b79901b 100644
|
| --- a/fpdfsdk/javascript/Field.h
|
| +++ b/fpdfsdk/javascript/Field.h
|
| @@ -77,205 +77,185 @@ class Field : public CJS_EmbedObj {
|
| explicit Field(CJS_Object* pJSObject);
|
| ~Field() override;
|
|
|
| - FX_BOOL alignment(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL borderStyle(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonAlignX(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonAlignY(IJS_Context* cc,
|
| + bool alignment(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool borderStyle(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool buttonAlignX(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool buttonAlignY(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool buttonFitBounds(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL buttonFitBounds(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonPosition(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonScaleHow(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonScaleWhen(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL calcOrderIndex(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL charLimit(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL comb(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL commitOnSelChange(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL currentValueIndices(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL defaultStyle(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL defaultValue(IJS_Context* cc,
|
| + bool buttonPosition(IJS_Context* cc,
|
| + CJS_PropValue& vp,
|
| + CFX_WideString& sError);
|
| + bool buttonScaleHow(IJS_Context* cc,
|
| + CJS_PropValue& vp,
|
| + CFX_WideString& sError);
|
| + bool buttonScaleWhen(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL doNotScroll(IJS_Context* cc,
|
| + bool calcOrderIndex(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL doNotSpellCheck(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL delay(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL display(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL doc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL editable(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL exportValues(IJS_Context* cc,
|
| + bool charLimit(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool comb(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool commitOnSelChange(IJS_Context* cc,
|
| + CJS_PropValue& vp,
|
| + CFX_WideString& sError);
|
| + bool currentValueIndices(IJS_Context* cc,
|
| + CJS_PropValue& vp,
|
| + CFX_WideString& sError);
|
| + bool defaultStyle(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool defaultValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool doNotScroll(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool doNotSpellCheck(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL fileSelect(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL fillColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL highlight(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL lineWidth(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL multiline(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL multipleSelection(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL numItems(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL password(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL print(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL radiosInUnison(IJS_Context* cc,
|
| + bool delay(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool display(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool doc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool editable(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool exportValues(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool fileSelect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool fillColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool highlight(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool lineWidth(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool multiline(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool multipleSelection(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL readonly(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL rect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL required(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL richText(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL richValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL rotation(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL strokeColor(IJS_Context* cc,
|
| + bool name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool numItems(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool password(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool print(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool radiosInUnison(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL style(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL submitName(IJS_Context* cc,
|
| + bool readonly(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool rect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool required(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool richText(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool richValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool rotation(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool strokeColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool style(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool submitName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool textColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool textFont(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool textSize(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool userName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool valueAsString(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError);
|
| - FX_BOOL textColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL textFont(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL textSize(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL userName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| - FX_BOOL valueAsString(IJS_Context* cc,
|
| - CJS_PropValue& vp,
|
| - CFX_WideString& sError);
|
| - FX_BOOL source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
| + bool source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
|
|
|
| - FX_BOOL browseForFileToSubmit(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonGetCaption(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonGetIcon(IJS_Context* cc,
|
| + bool browseForFileToSubmit(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool buttonGetCaption(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL buttonImportIcon(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonSetCaption(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL buttonSetIcon(IJS_Context* cc,
|
| + bool buttonGetIcon(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool buttonImportIcon(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL checkThisBox(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL clearItems(IJS_Context* cc,
|
| + bool buttonSetCaption(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool buttonSetIcon(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL defaultIsChecked(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL deleteItemAt(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL getArray(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL getItemAt(IJS_Context* cc,
|
| + bool checkThisBox(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL getLock(IJS_Context* cc,
|
| + bool clearItems(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL insertItemAt(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL isBoxChecked(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL isDefaultChecked(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL setAction(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL setFocus(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL setItems(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL setLock(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL signatureGetModifications(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL signatureGetSeedValue(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL signatureInfo(IJS_Context* cc,
|
| + bool defaultIsChecked(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL signatureSetSeedValue(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| - FX_BOOL signatureSign(IJS_Context* cc,
|
| + bool deleteItemAt(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool getArray(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool getItemAt(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool getLock(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool insertItemAt(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool isBoxChecked(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool isDefaultChecked(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError);
|
| - FX_BOOL signatureValidate(IJS_Context* cc,
|
| - const std::vector<CJS_Value>& params,
|
| - CJS_Value& vRet,
|
| - CFX_WideString& sError);
|
| + bool setAction(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool setFocus(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool setItems(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool setLock(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureGetModifications(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureGetSeedValue(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureInfo(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureSetSeedValue(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureSign(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
| + bool signatureValidate(IJS_Context* cc,
|
| + const std::vector<CJS_Value>& params,
|
| + CJS_Value& vRet,
|
| + CFX_WideString& sError);
|
|
|
| static void SetAlignment(CPDFSDK_FormFillEnvironment* pFormFillEnv,
|
| const CFX_WideString& swFieldName,
|
| @@ -417,14 +397,14 @@ class Field : public CJS_EmbedObj {
|
|
|
| static void UpdateFormField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
|
| CPDF_FormField* pFormField,
|
| - FX_BOOL bChangeMark,
|
| - FX_BOOL bResetAP,
|
| - FX_BOOL bRefresh);
|
| + bool bChangeMark,
|
| + bool bResetAP,
|
| + bool bRefresh);
|
| static void UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
|
| CPDF_FormControl* pFormControl,
|
| - FX_BOOL bChangeMark,
|
| - FX_BOOL bResetAP,
|
| - FX_BOOL bRefresh);
|
| + bool bChangeMark,
|
| + bool bResetAP,
|
| + bool bRefresh);
|
|
|
| static CPDFSDK_Widget* GetWidget(CPDFSDK_FormFillEnvironment* pFormFillEnv,
|
| CPDF_FormControl* pFormControl,
|
| @@ -436,8 +416,8 @@ class Field : public CJS_EmbedObj {
|
| static void DoDelay(CPDFSDK_FormFillEnvironment* pFormFillEnv,
|
| CJS_DelayData* pData);
|
|
|
| - FX_BOOL AttachField(Document* pDocument, const CFX_WideString& csFieldName);
|
| - void SetDelay(FX_BOOL bDelay);
|
| + bool AttachField(Document* pDocument, const CFX_WideString& csFieldName);
|
| + void SetDelay(bool bDelay);
|
|
|
| protected:
|
| void ParseFieldName(const std::wstring& strFieldNameParsed,
|
| @@ -446,7 +426,7 @@ class Field : public CJS_EmbedObj {
|
| std::vector<CPDF_FormField*> GetFormFields(
|
| const CFX_WideString& csFieldName) const;
|
| CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField);
|
| - FX_BOOL ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel);
|
| + bool ValueIsOccur(CPDF_FormField* pFormField, CFX_WideString csOptLabel);
|
|
|
| void AddDelay_Int(FIELD_PROP prop, int32_t n);
|
| void AddDelay_Bool(FIELD_PROP prop, bool b);
|
| @@ -465,8 +445,8 @@ class Field : public CJS_EmbedObj {
|
| CPDFSDK_FormFillEnvironment::ObservedPtr m_pFormFillEnv;
|
| CFX_WideString m_FieldName;
|
| int m_nFormControlIndex;
|
| - FX_BOOL m_bCanSet;
|
| - FX_BOOL m_bDelay;
|
| + bool m_bCanSet;
|
| + bool m_bDelay;
|
| };
|
|
|
| class CJS_Field : public CJS_Object {
|
|
|