sfcc-dev-mcp 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/logs/index.d.ts +13 -0
- package/dist/clients/logs/index.d.ts.map +1 -0
- package/dist/clients/logs/index.js +15 -0
- package/dist/clients/logs/index.js.map +1 -0
- package/dist/clients/logs/log-analyzer.d.ts +55 -0
- package/dist/clients/logs/log-analyzer.d.ts.map +1 -0
- package/dist/clients/logs/log-analyzer.js +228 -0
- package/dist/clients/logs/log-analyzer.js.map +1 -0
- package/dist/clients/logs/log-client.d.ts +87 -0
- package/dist/clients/logs/log-client.d.ts.map +1 -0
- package/dist/clients/logs/log-client.js +418 -0
- package/dist/clients/logs/log-client.js.map +1 -0
- package/dist/clients/logs/log-constants.d.ts +37 -0
- package/dist/clients/logs/log-constants.d.ts.map +1 -0
- package/dist/clients/logs/log-constants.js +37 -0
- package/dist/clients/logs/log-constants.js.map +1 -0
- package/dist/clients/logs/log-file-discovery.d.ts +64 -0
- package/dist/clients/logs/log-file-discovery.d.ts.map +1 -0
- package/dist/clients/logs/log-file-discovery.js +249 -0
- package/dist/clients/logs/log-file-discovery.js.map +1 -0
- package/dist/clients/logs/log-file-reader.d.ts +55 -0
- package/dist/clients/logs/log-file-reader.d.ts.map +1 -0
- package/dist/clients/logs/log-file-reader.js +207 -0
- package/dist/clients/logs/log-file-reader.js.map +1 -0
- package/dist/clients/logs/log-formatter.d.ts +90 -0
- package/dist/clients/logs/log-formatter.d.ts.map +1 -0
- package/dist/clients/logs/log-formatter.js +189 -0
- package/dist/clients/logs/log-formatter.js.map +1 -0
- package/dist/clients/logs/log-processor.d.ts +91 -0
- package/dist/clients/logs/log-processor.d.ts.map +1 -0
- package/dist/clients/logs/log-processor.js +328 -0
- package/dist/clients/logs/log-processor.js.map +1 -0
- package/dist/clients/logs/log-types.d.ts +58 -0
- package/dist/clients/logs/log-types.d.ts.map +1 -0
- package/dist/clients/logs/log-types.js +8 -0
- package/dist/clients/logs/log-types.js.map +1 -0
- package/dist/clients/logs/webdav-client-manager.d.ts +28 -0
- package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -0
- package/dist/clients/logs/webdav-client-manager.js +77 -0
- package/dist/clients/logs/webdav-client-manager.js.map +1 -0
- package/dist/docs/dw_customer/CustomerMgr.md +3 -3
- package/dist/docs/dw_customer/Wallet.md +25 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenPaymentIntent.md +156 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenSavedPaymentMethod.md +258 -0
- package/dist/docs/dw_extensions.payments/SalesforcePayPalOrder.md +36 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentIntent.md +1 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +68 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccount.md +154 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccountPaymentMethod.md +96 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +311 -2
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +26 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsZone.md +458 -0
- package/dist/docs/dw_order/OrderMgr.md +3 -3
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +4 -4
- package/dist/docs/dw_order.hooks/CheckoutHooks.md +42 -0
- package/dist/utils/path-resolver.d.ts +5 -0
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +27 -5
- package/dist/utils/path-resolver.js.map +1 -1
- package/package.json +9 -3
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
- package/.github/ISSUE_TEMPLATE/config.yml +0 -9
- package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
- package/.github/ISSUE_TEMPLATE/question.yml +0 -102
- package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
- package/.github/agents/official-docs-researcher.agent.md +0 -56
- package/.github/dependabot.yml +0 -65
- package/.github/instructions/mcp-node-tests.instructions.md +0 -30
- package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
- package/.github/pull_request_template.md +0 -103
- package/.github/skills/agent-authoring/SKILL.md +0 -66
- package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
- package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
- package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
- package/.github/skills/skill-authoring/SKILL.md +0 -228
- package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
- package/.github/workflows/ci.yml +0 -103
- package/.github/workflows/deploy-pages.yml +0 -59
- package/.github/workflows/publish.yml +0 -112
- package/.github/workflows/update-docs.yml +0 -182
- package/.husky/pre-commit +0 -2
- package/AGENTS.md +0 -638
- package/CONTRIBUTING.md +0 -323
- package/SECURITY.md +0 -148
- package/aegis.config.docs-only.json +0 -9
- package/aegis.config.json +0 -12
- package/aegis.config.with-dw.json +0 -15
- package/ai-instructions/AGENTS.md +0 -628
- package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
- package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
- package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
- package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
- package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
- package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
- package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
- package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
- package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
- package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
- package/docs/TopLevel/APIException.md +0 -68
- package/docs/TopLevel/Array.md +0 -897
- package/docs/TopLevel/ArrayBuffer.md +0 -79
- package/docs/TopLevel/BigInt.md +0 -132
- package/docs/TopLevel/Boolean.md +0 -62
- package/docs/TopLevel/ConversionError.md +0 -23
- package/docs/TopLevel/DataView.md +0 -352
- package/docs/TopLevel/Date.md +0 -924
- package/docs/TopLevel/ES6Iterator.md +0 -33
- package/docs/TopLevel/Error.md +0 -88
- package/docs/TopLevel/EvalError.md +0 -23
- package/docs/TopLevel/Fault.md +0 -87
- package/docs/TopLevel/Float32Array.md +0 -130
- package/docs/TopLevel/Float64Array.md +0 -130
- package/docs/TopLevel/Function.md +0 -105
- package/docs/TopLevel/Generator.md +0 -78
- package/docs/TopLevel/IOError.md +0 -62
- package/docs/TopLevel/Int16Array.md +0 -130
- package/docs/TopLevel/Int32Array.md +0 -130
- package/docs/TopLevel/Int8Array.md +0 -130
- package/docs/TopLevel/InternalError.md +0 -23
- package/docs/TopLevel/Iterable.md +0 -41
- package/docs/TopLevel/Iterator.md +0 -48
- package/docs/TopLevel/JSON.md +0 -162
- package/docs/TopLevel/Map.md +0 -216
- package/docs/TopLevel/Math.md +0 -913
- package/docs/TopLevel/Module.md +0 -45
- package/docs/TopLevel/Namespace.md +0 -96
- package/docs/TopLevel/Number.md +0 -417
- package/docs/TopLevel/Object.md +0 -641
- package/docs/TopLevel/QName.md +0 -96
- package/docs/TopLevel/RangeError.md +0 -23
- package/docs/TopLevel/ReferenceError.md +0 -23
- package/docs/TopLevel/RegExp.md +0 -109
- package/docs/TopLevel/Set.md +0 -165
- package/docs/TopLevel/StopIteration.md +0 -20
- package/docs/TopLevel/String.md +0 -1299
- package/docs/TopLevel/Symbol.md +0 -78
- package/docs/TopLevel/SyntaxError.md +0 -23
- package/docs/TopLevel/SystemError.md +0 -62
- package/docs/TopLevel/TypeError.md +0 -23
- package/docs/TopLevel/URIError.md +0 -23
- package/docs/TopLevel/Uint16Array.md +0 -130
- package/docs/TopLevel/Uint32Array.md +0 -130
- package/docs/TopLevel/Uint8Array.md +0 -130
- package/docs/TopLevel/Uint8ClampedArray.md +0 -130
- package/docs/TopLevel/WeakMap.md +0 -137
- package/docs/TopLevel/WeakSet.md +0 -92
- package/docs/TopLevel/XML.md +0 -937
- package/docs/TopLevel/XMLList.md +0 -484
- package/docs/TopLevel/XMLStreamError.md +0 -74
- package/docs/TopLevel/arguments.md +0 -34
- package/docs/TopLevel/global.md +0 -474
- package/docs/dw_campaign/ABTest.md +0 -47
- package/docs/dw_campaign/ABTestMgr.md +0 -70
- package/docs/dw_campaign/ABTestSegment.md +0 -96
- package/docs/dw_campaign/AmountDiscount.md +0 -51
- package/docs/dw_campaign/ApproachingDiscount.md +0 -124
- package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
- package/docs/dw_campaign/BonusDiscount.md +0 -48
- package/docs/dw_campaign/Campaign.md +0 -365
- package/docs/dw_campaign/CampaignMgr.md +0 -395
- package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
- package/docs/dw_campaign/Coupon.md +0 -310
- package/docs/dw_campaign/CouponMgr.md +0 -144
- package/docs/dw_campaign/CouponRedemption.md +0 -94
- package/docs/dw_campaign/CouponStatusCodes.md +0 -86
- package/docs/dw_campaign/Discount.md +0 -226
- package/docs/dw_campaign/DiscountPlan.md +0 -282
- package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
- package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
- package/docs/dw_campaign/FreeDiscount.md +0 -17
- package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
- package/docs/dw_campaign/PercentageDiscount.md +0 -52
- package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
- package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
- package/docs/dw_campaign/Promotion.md +0 -874
- package/docs/dw_campaign/PromotionMgr.md +0 -386
- package/docs/dw_campaign/PromotionPlan.md +0 -330
- package/docs/dw_campaign/SlotContent.md +0 -144
- package/docs/dw_campaign/SourceCodeGroup.md +0 -72
- package/docs/dw_campaign/SourceCodeInfo.md +0 -144
- package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
- package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
- package/docs/dw_catalog/Catalog.md +0 -122
- package/docs/dw_catalog/CatalogMgr.md +0 -182
- package/docs/dw_catalog/Category.md +0 -1308
- package/docs/dw_catalog/CategoryAssignment.md +0 -192
- package/docs/dw_catalog/CategoryLink.md +0 -126
- package/docs/dw_catalog/PriceBook.md +0 -242
- package/docs/dw_catalog/PriceBookMgr.md +0 -204
- package/docs/dw_catalog/Product.md +0 -2593
- package/docs/dw_catalog/ProductActiveData.md +0 -1275
- package/docs/dw_catalog/ProductAttributeModel.md +0 -277
- package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
- package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
- package/docs/dw_catalog/ProductInventoryList.md +0 -140
- package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
- package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
- package/docs/dw_catalog/ProductLink.md +0 -144
- package/docs/dw_catalog/ProductMgr.md +0 -138
- package/docs/dw_catalog/ProductOption.md +0 -214
- package/docs/dw_catalog/ProductOptionModel.md +0 -246
- package/docs/dw_catalog/ProductOptionValue.md +0 -123
- package/docs/dw_catalog/ProductPriceInfo.md +0 -172
- package/docs/dw_catalog/ProductPriceModel.md +0 -745
- package/docs/dw_catalog/ProductPriceTable.md +0 -134
- package/docs/dw_catalog/ProductSearchHit.md +0 -581
- package/docs/dw_catalog/ProductSearchModel.md +0 -2018
- package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
- package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
- package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
- package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
- package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
- package/docs/dw_catalog/ProductVariationModel.md +0 -849
- package/docs/dw_catalog/Recommendation.md +0 -314
- package/docs/dw_catalog/SearchModel.md +0 -901
- package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
- package/docs/dw_catalog/SearchRefinementValue.md +0 -185
- package/docs/dw_catalog/SearchRefinements.md +0 -180
- package/docs/dw_catalog/SortingOption.md +0 -120
- package/docs/dw_catalog/SortingRule.md +0 -47
- package/docs/dw_catalog/Store.md +0 -562
- package/docs/dw_catalog/StoreGroup.md +0 -96
- package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
- package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
- package/docs/dw_catalog/StoreMgr.md +0 -236
- package/docs/dw_catalog/Variant.md +0 -859
- package/docs/dw_catalog/VariationGroup.md +0 -792
- package/docs/dw_content/Content.md +0 -534
- package/docs/dw_content/ContentMgr.md +0 -166
- package/docs/dw_content/ContentSearchModel.md +0 -682
- package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
- package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
- package/docs/dw_content/ContentSearchRefinements.md +0 -208
- package/docs/dw_content/Folder.md +0 -467
- package/docs/dw_content/Library.md +0 -121
- package/docs/dw_content/MarkupText.md +0 -88
- package/docs/dw_content/MediaFile.md +0 -317
- package/docs/dw_crypto/CertificateRef.md +0 -42
- package/docs/dw_crypto/CertificateUtils.md +0 -187
- package/docs/dw_crypto/Cipher.md +0 -530
- package/docs/dw_crypto/Encoding.md +0 -220
- package/docs/dw_crypto/JWE.md +0 -224
- package/docs/dw_crypto/JWEHeader.md +0 -172
- package/docs/dw_crypto/JWS.md +0 -264
- package/docs/dw_crypto/JWSHeader.md +0 -148
- package/docs/dw_crypto/KeyRef.md +0 -44
- package/docs/dw_crypto/Mac.md +0 -139
- package/docs/dw_crypto/MessageDigest.md +0 -175
- package/docs/dw_crypto/SecureRandom.md +0 -148
- package/docs/dw_crypto/Signature.md +0 -252
- package/docs/dw_crypto/WeakCipher.md +0 -538
- package/docs/dw_crypto/WeakMac.md +0 -121
- package/docs/dw_crypto/WeakMessageDigest.md +0 -163
- package/docs/dw_crypto/WeakSignature.md +0 -242
- package/docs/dw_crypto/X509Certificate.md +0 -193
- package/docs/dw_customer/AddressBook.md +0 -163
- package/docs/dw_customer/AgentUserMgr.md +0 -83
- package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
- package/docs/dw_customer/AuthenticationStatus.md +0 -138
- package/docs/dw_customer/Credentials.md +0 -494
- package/docs/dw_customer/Customer.md +0 -571
- package/docs/dw_customer/CustomerActiveData.md +0 -552
- package/docs/dw_customer/CustomerAddress.md +0 -852
- package/docs/dw_customer/CustomerCDPData.md +0 -70
- package/docs/dw_customer/CustomerContextMgr.md +0 -64
- package/docs/dw_customer/CustomerGroup.md +0 -134
- package/docs/dw_customer/CustomerList.md +0 -71
- package/docs/dw_customer/CustomerMgr.md +0 -735
- package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
- package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
- package/docs/dw_customer/CustomerStatusCodes.md +0 -30
- package/docs/dw_customer/EncryptedObject.md +0 -18
- package/docs/dw_customer/ExternalProfile.md +0 -160
- package/docs/dw_customer/OrderHistory.md +0 -111
- package/docs/dw_customer/ProductList.md +0 -1000
- package/docs/dw_customer/ProductListItem.md +0 -504
- package/docs/dw_customer/ProductListItemPurchase.md +0 -145
- package/docs/dw_customer/ProductListMgr.md +0 -234
- package/docs/dw_customer/ProductListRegistrant.md +0 -193
- package/docs/dw_customer/Profile.md +0 -1128
- package/docs/dw_customer/Wallet.md +0 -118
- package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
- package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
- package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
- package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
- package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
- package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
- package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
- package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
- package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
- package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
- package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
- package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
- package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
- package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
- package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
- package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
- package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
- package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
- package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
- package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
- package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
- package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
- package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
- package/docs/dw_io/CSVStreamReader.md +0 -80
- package/docs/dw_io/CSVStreamWriter.md +0 -60
- package/docs/dw_io/File.md +0 -614
- package/docs/dw_io/FileReader.md +0 -41
- package/docs/dw_io/FileWriter.md +0 -103
- package/docs/dw_io/InputStream.md +0 -34
- package/docs/dw_io/OutputStream.md +0 -34
- package/docs/dw_io/PrintWriter.md +0 -71
- package/docs/dw_io/RandomAccessFileReader.md +0 -173
- package/docs/dw_io/Reader.md +0 -274
- package/docs/dw_io/StringWriter.md +0 -81
- package/docs/dw_io/Writer.md +0 -92
- package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
- package/docs/dw_io/XMLStreamConstants.md +0 -114
- package/docs/dw_io/XMLStreamReader.md +0 -1043
- package/docs/dw_io/XMLStreamWriter.md +0 -572
- package/docs/dw_job/JobExecution.md +0 -107
- package/docs/dw_job/JobStepExecution.md +0 -151
- package/docs/dw_net/FTPClient.md +0 -699
- package/docs/dw_net/FTPFileInfo.md +0 -122
- package/docs/dw_net/HTTPClient.md +0 -831
- package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
- package/docs/dw_net/HTTPRequestPart.md +0 -206
- package/docs/dw_net/Mail.md +0 -551
- package/docs/dw_net/SFTPClient.md +0 -591
- package/docs/dw_net/SFTPFileInfo.md +0 -122
- package/docs/dw_net/WebDAVClient.md +0 -715
- package/docs/dw_net/WebDAVFileInfo.md +0 -184
- package/docs/dw_object/ActiveData.md +0 -75
- package/docs/dw_object/CustomAttributes.md +0 -16
- package/docs/dw_object/CustomObject.md +0 -73
- package/docs/dw_object/CustomObjectMgr.md +0 -291
- package/docs/dw_object/Extensible.md +0 -64
- package/docs/dw_object/ExtensibleObject.md +0 -68
- package/docs/dw_object/Note.md +0 -121
- package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
- package/docs/dw_object/ObjectAttributeGroup.md +0 -170
- package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
- package/docs/dw_object/ObjectTypeDefinition.md +0 -216
- package/docs/dw_object/PersistentObject.md +0 -94
- package/docs/dw_object/SimpleExtensible.md +0 -46
- package/docs/dw_object/SystemObjectMgr.md +0 -153
- package/docs/dw_order/AbstractItem.md +0 -244
- package/docs/dw_order/AbstractItemCtnr.md +0 -240
- package/docs/dw_order/Appeasement.md +0 -367
- package/docs/dw_order/AppeasementItem.md +0 -90
- package/docs/dw_order/Basket.md +0 -362
- package/docs/dw_order/BasketMgr.md +0 -418
- package/docs/dw_order/BonusDiscountLineItem.md +0 -248
- package/docs/dw_order/CouponLineItem.md +0 -272
- package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
- package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
- package/docs/dw_order/CreateCouponLineItemException.md +0 -26
- package/docs/dw_order/CreateOrderException.md +0 -18
- package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
- package/docs/dw_order/GiftCertificate.md +0 -569
- package/docs/dw_order/GiftCertificateLineItem.md +0 -324
- package/docs/dw_order/GiftCertificateMgr.md +0 -197
- package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
- package/docs/dw_order/Invoice.md +0 -418
- package/docs/dw_order/InvoiceItem.md +0 -222
- package/docs/dw_order/LineItem.md +0 -532
- package/docs/dw_order/LineItemCtnr.md +0 -2431
- package/docs/dw_order/Order.md +0 -2567
- package/docs/dw_order/OrderAddress.md +0 -807
- package/docs/dw_order/OrderItem.md +0 -536
- package/docs/dw_order/OrderMgr.md +0 -535
- package/docs/dw_order/OrderPaymentInstrument.md +0 -220
- package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
- package/docs/dw_order/PaymentCard.md +0 -217
- package/docs/dw_order/PaymentInstrument.md +0 -1462
- package/docs/dw_order/PaymentMethod.md +0 -242
- package/docs/dw_order/PaymentMgr.md +0 -117
- package/docs/dw_order/PaymentProcessor.md +0 -70
- package/docs/dw_order/PaymentStatusCodes.md +0 -42
- package/docs/dw_order/PaymentTransaction.md +0 -328
- package/docs/dw_order/PriceAdjustment.md +0 -640
- package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
- package/docs/dw_order/ProductLineItem.md +0 -1821
- package/docs/dw_order/ProductShippingCost.md +0 -96
- package/docs/dw_order/ProductShippingLineItem.md +0 -326
- package/docs/dw_order/ProductShippingModel.md +0 -125
- package/docs/dw_order/Return.md +0 -360
- package/docs/dw_order/ReturnCase.md +0 -400
- package/docs/dw_order/ReturnCaseItem.md +0 -373
- package/docs/dw_order/ReturnItem.md +0 -362
- package/docs/dw_order/Shipment.md +0 -1251
- package/docs/dw_order/ShipmentShippingCost.md +0 -46
- package/docs/dw_order/ShipmentShippingModel.md +0 -146
- package/docs/dw_order/ShippingLineItem.md +0 -278
- package/docs/dw_order/ShippingLocation.md +0 -366
- package/docs/dw_order/ShippingMethod.md +0 -266
- package/docs/dw_order/ShippingMgr.md +0 -158
- package/docs/dw_order/ShippingOrder.md +0 -561
- package/docs/dw_order/ShippingOrderItem.md +0 -355
- package/docs/dw_order/SumItem.md +0 -147
- package/docs/dw_order/TaxGroup.md +0 -143
- package/docs/dw_order/TaxItem.md +0 -74
- package/docs/dw_order/TaxMgr.md +0 -227
- package/docs/dw_order/TrackingInfo.md +0 -312
- package/docs/dw_order/TrackingRef.md +0 -113
- package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
- package/docs/dw_order.hooks/CalculateHooks.md +0 -77
- package/docs/dw_order.hooks/OrderHooks.md +0 -41
- package/docs/dw_order.hooks/PaymentHooks.md +0 -180
- package/docs/dw_order.hooks/ReturnHooks.md +0 -135
- package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
- package/docs/dw_rpc/SOAPUtil.md +0 -465
- package/docs/dw_rpc/Stub.md +0 -289
- package/docs/dw_rpc/WebReference.md +0 -83
- package/docs/dw_suggest/BrandSuggestions.md +0 -17
- package/docs/dw_suggest/CategorySuggestions.md +0 -53
- package/docs/dw_suggest/ContentSuggestions.md +0 -53
- package/docs/dw_suggest/CustomSuggestions.md +0 -17
- package/docs/dw_suggest/ProductSuggestions.md +0 -53
- package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
- package/docs/dw_suggest/SuggestModel.md +0 -403
- package/docs/dw_suggest/SuggestedCategory.md +0 -46
- package/docs/dw_suggest/SuggestedContent.md +0 -46
- package/docs/dw_suggest/SuggestedPhrase.md +0 -70
- package/docs/dw_suggest/SuggestedProduct.md +0 -47
- package/docs/dw_suggest/SuggestedTerm.md +0 -143
- package/docs/dw_suggest/SuggestedTerms.md +0 -132
- package/docs/dw_suggest/Suggestions.md +0 -179
- package/docs/dw_svc/FTPService.md +0 -118
- package/docs/dw_svc/FTPServiceDefinition.md +0 -69
- package/docs/dw_svc/HTTPFormService.md +0 -18
- package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
- package/docs/dw_svc/HTTPService.md +0 -415
- package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
- package/docs/dw_svc/LocalServiceRegistry.md +0 -43
- package/docs/dw_svc/Result.md +0 -303
- package/docs/dw_svc/SOAPService.md +0 -115
- package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
- package/docs/dw_svc/Service.md +0 -295
- package/docs/dw_svc/ServiceCallback.md +0 -268
- package/docs/dw_svc/ServiceConfig.md +0 -120
- package/docs/dw_svc/ServiceCredential.md +0 -156
- package/docs/dw_svc/ServiceDefinition.md +0 -176
- package/docs/dw_svc/ServiceProfile.md +0 -168
- package/docs/dw_svc/ServiceRegistry.md +0 -109
- package/docs/dw_system/AgentUserStatusCodes.md +0 -21
- package/docs/dw_system/Cache.md +0 -102
- package/docs/dw_system/CacheMgr.md +0 -42
- package/docs/dw_system/HookMgr.md +0 -66
- package/docs/dw_system/InternalObject.md +0 -56
- package/docs/dw_system/JobProcessMonitor.md +0 -124
- package/docs/dw_system/Log.md +0 -237
- package/docs/dw_system/LogNDC.md +0 -88
- package/docs/dw_system/Logger.md +0 -263
- package/docs/dw_system/OrganizationPreferences.md +0 -18
- package/docs/dw_system/Pipeline.md +0 -73
- package/docs/dw_system/PipelineDictionary.md +0 -16
- package/docs/dw_system/RESTErrorResponse.md +0 -66
- package/docs/dw_system/RESTResponseMgr.md +0 -258
- package/docs/dw_system/RESTSuccessResponse.md +0 -39
- package/docs/dw_system/RemoteInclude.md +0 -74
- package/docs/dw_system/Request.md +0 -839
- package/docs/dw_system/RequestHooks.md +0 -59
- package/docs/dw_system/Response.md +0 -522
- package/docs/dw_system/SearchStatus.md +0 -151
- package/docs/dw_system/Session.md +0 -476
- package/docs/dw_system/Site.md +0 -585
- package/docs/dw_system/SitePreferences.md +0 -49
- package/docs/dw_system/Status.md +0 -273
- package/docs/dw_system/StatusItem.md +0 -273
- package/docs/dw_system/System.md +0 -200
- package/docs/dw_system/Transaction.md +0 -84
- package/docs/dw_util/ArrayList.md +0 -50
- package/docs/dw_util/Assert.md +0 -391
- package/docs/dw_util/BigInteger.md +0 -326
- package/docs/dw_util/Bytes.md +0 -252
- package/docs/dw_util/Calendar.md +0 -921
- package/docs/dw_util/Collection.md +0 -338
- package/docs/dw_util/Currency.md +0 -163
- package/docs/dw_util/DateUtils.md +0 -86
- package/docs/dw_util/Decimal.md +0 -438
- package/docs/dw_util/FilteringCollection.md +0 -93
- package/docs/dw_util/Geolocation.md +0 -271
- package/docs/dw_util/HashMap.md +0 -43
- package/docs/dw_util/HashSet.md +0 -46
- package/docs/dw_util/Iterator.md +0 -97
- package/docs/dw_util/LinkedHashMap.md +0 -43
- package/docs/dw_util/LinkedHashSet.md +0 -46
- package/docs/dw_util/List.md +0 -519
- package/docs/dw_util/Locale.md +0 -267
- package/docs/dw_util/Map.md +0 -313
- package/docs/dw_util/MapEntry.md +0 -70
- package/docs/dw_util/MappingKey.md +0 -76
- package/docs/dw_util/MappingMgr.md +0 -122
- package/docs/dw_util/PropertyComparator.md +0 -51
- package/docs/dw_util/SecureEncoder.md +0 -350
- package/docs/dw_util/SecureFilter.md +0 -350
- package/docs/dw_util/SeekableIterator.md +0 -176
- package/docs/dw_util/Set.md +0 -19
- package/docs/dw_util/SortedMap.md +0 -148
- package/docs/dw_util/SortedSet.md +0 -151
- package/docs/dw_util/StringUtils.md +0 -753
- package/docs/dw_util/Template.md +0 -88
- package/docs/dw_util/UUIDUtils.md +0 -38
- package/docs/dw_value/EnumValue.md +0 -92
- package/docs/dw_value/MimeEncodedText.md +0 -103
- package/docs/dw_value/Money.md +0 -610
- package/docs/dw_value/Quantity.md +0 -376
- package/docs/dw_web/CSRFProtection.md +0 -83
- package/docs/dw_web/ClickStream.md +0 -157
- package/docs/dw_web/ClickStreamEntry.md +0 -289
- package/docs/dw_web/Cookie.md +0 -396
- package/docs/dw_web/Cookies.md +0 -46
- package/docs/dw_web/Form.md +0 -74
- package/docs/dw_web/FormAction.md +0 -199
- package/docs/dw_web/FormElement.md +0 -220
- package/docs/dw_web/FormElementValidationResult.md +0 -157
- package/docs/dw_web/FormField.md +0 -603
- package/docs/dw_web/FormFieldOption.md +0 -238
- package/docs/dw_web/FormFieldOptions.md +0 -42
- package/docs/dw_web/FormGroup.md +0 -199
- package/docs/dw_web/FormList.md +0 -126
- package/docs/dw_web/FormListItem.md +0 -48
- package/docs/dw_web/Forms.md +0 -16
- package/docs/dw_web/HttpParameter.md +0 -513
- package/docs/dw_web/HttpParameterMap.md +0 -185
- package/docs/dw_web/LoopIterator.md +0 -261
- package/docs/dw_web/PageMetaData.md +0 -230
- package/docs/dw_web/PageMetaTag.md +0 -142
- package/docs/dw_web/PagingModel.md +0 -389
- package/docs/dw_web/Resource.md +0 -126
- package/docs/dw_web/URL.md +0 -213
- package/docs/dw_web/URLAction.md +0 -26
- package/docs/dw_web/URLParameter.md +0 -22
- package/docs/dw_web/URLRedirect.md +0 -71
- package/docs/dw_web/URLRedirectMgr.md +0 -73
- package/docs/dw_web/URLUtils.md +0 -1264
- package/docs/isml/isactivedatacontext.md +0 -382
- package/docs/isml/isactivedatahead.md +0 -566
- package/docs/isml/isanalyticsoff.md +0 -537
- package/docs/isml/isapplepay.md +0 -667
- package/docs/isml/isbreak.md +0 -687
- package/docs/isml/isbuynow.md +0 -682
- package/docs/isml/iscache.md +0 -802
- package/docs/isml/iscomment.md +0 -794
- package/docs/isml/iscomponent.md +0 -797
- package/docs/isml/iscontent.md +0 -594
- package/docs/isml/iscontinue.md +0 -563
- package/docs/isml/iscookie.md +0 -798
- package/docs/isml/isdecorate.md +0 -818
- package/docs/isml/isif.md +0 -737
- package/docs/isml/isinclude.md +0 -874
- package/docs/isml/isloop.md +0 -377
- package/docs/isml/ismodule.md +0 -844
- package/docs/isml/isnext.md +0 -672
- package/docs/isml/isobject.md +0 -760
- package/docs/isml/ispayment.md +0 -577
- package/docs/isml/ispaymentmessages.md +0 -664
- package/docs/isml/isprint.md +0 -875
- package/docs/isml/isredirect.md +0 -716
- package/docs/isml/isremove.md +0 -725
- package/docs/isml/isreplace.md +0 -783
- package/docs/isml/isscript.md +0 -859
- package/docs/isml/isselect.md +0 -908
- package/docs/isml/isset.md +0 -585
- package/docs/isml/isslot.md +0 -824
- package/docs/isml/isstatus.md +0 -711
- package/docs/sfra/account.md +0 -145
- package/docs/sfra/address.md +0 -84
- package/docs/sfra/billing.md +0 -90
- package/docs/sfra/cart.md +0 -134
- package/docs/sfra/categories.md +0 -124
- package/docs/sfra/content.md +0 -133
- package/docs/sfra/locale.md +0 -126
- package/docs/sfra/order.md +0 -219
- package/docs/sfra/payment.md +0 -131
- package/docs/sfra/price-default.md +0 -118
- package/docs/sfra/price-range.md +0 -77
- package/docs/sfra/price-tiered.md +0 -117
- package/docs/sfra/product-bundle.md +0 -164
- package/docs/sfra/product-full.md +0 -179
- package/docs/sfra/product-line-items.md +0 -147
- package/docs/sfra/product-search.md +0 -245
- package/docs/sfra/product-tile.md +0 -95
- package/docs/sfra/querystring.md +0 -240
- package/docs/sfra/render.md +0 -354
- package/docs/sfra/request.md +0 -210
- package/docs/sfra/response.md +0 -391
- package/docs/sfra/server.md +0 -375
- package/docs/sfra/shipping.md +0 -181
- package/docs/sfra/store.md +0 -145
- package/docs/sfra/stores.md +0 -190
- package/docs/sfra/totals.md +0 -184
- package/docs-site-v2/.vitepress/config.mts +0 -190
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
- package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
- package/docs-site-v2/.vitepress/theme/index.ts +0 -39
- package/docs-site-v2/data/skills.ts +0 -147
- package/docs-site-v2/data/tools.ts +0 -490
- package/docs-site-v2/development/index.md +0 -151
- package/docs-site-v2/examples/index.md +0 -333
- package/docs-site-v2/features/index.md +0 -144
- package/docs-site-v2/guide/ai-interfaces.md +0 -58
- package/docs-site-v2/guide/configuration.md +0 -208
- package/docs-site-v2/guide/index.md +0 -50
- package/docs-site-v2/index.md +0 -32
- package/docs-site-v2/package-lock.json +0 -2511
- package/docs-site-v2/package.json +0 -15
- package/docs-site-v2/public/404.html +0 -15
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +0 -4174
- package/docs-site-v2/public/llms.txt +0 -44
- package/docs-site-v2/public/logo-dark.svg +0 -8
- package/docs-site-v2/public/logo.svg +0 -8
- package/docs-site-v2/public/robots.txt +0 -20
- package/docs-site-v2/public/site.webmanifest +0 -50
- package/docs-site-v2/public/sitemap.xml +0 -90
- package/docs-site-v2/script-debugger/index.md +0 -105
- package/docs-site-v2/scripts/generate-llms.js +0 -71
- package/docs-site-v2/scripts/generate-sitemap.js +0 -97
- package/docs-site-v2/security/index.md +0 -115
- package/docs-site-v2/skills/index.md +0 -40
- package/docs-site-v2/tools/index.md +0 -36
- package/docs-site-v2/troubleshooting/index.md +0 -204
- package/eslint.config.js +0 -139
- package/jest.config.js +0 -27
- package/memories/repo/docs-site-v2-build.json +0 -11
- package/scripts/convert-docs.js +0 -633
- package/scripts/validate-server-json.js +0 -68
- package/server.json +0 -20
- package/src/clients/agent-instructions-client.ts +0 -370
- package/src/clients/base/abstract-documentation-client.ts +0 -405
- package/src/clients/base/http-client.ts +0 -152
- package/src/clients/base/oauth-token.ts +0 -164
- package/src/clients/base/ocapi-auth-client.ts +0 -133
- package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
- package/src/clients/cartridge/cartridge-structure.ts +0 -37
- package/src/clients/cartridge/cartridge-templates.ts +0 -246
- package/src/clients/cartridge/index.ts +0 -6
- package/src/clients/docs/class-content-parser.ts +0 -308
- package/src/clients/docs/class-name-resolver.ts +0 -99
- package/src/clients/docs/documentation-scanner.ts +0 -255
- package/src/clients/docs/index.ts +0 -16
- package/src/clients/docs/referenced-types-extractor.ts +0 -92
- package/src/clients/docs-client.ts +0 -393
- package/src/clients/isml-client.ts +0 -353
- package/src/clients/log-client.ts +0 -19
- package/src/clients/ocapi/code-versions-client.ts +0 -54
- package/src/clients/ocapi/site-preferences-client.ts +0 -106
- package/src/clients/ocapi/system-objects-client.ts +0 -148
- package/src/clients/ocapi-client.ts +0 -53
- package/src/clients/script-debugger/index.ts +0 -5
- package/src/clients/script-debugger/script-debugger-client.ts +0 -754
- package/src/clients/sfra-client.ts +0 -339
- package/src/config/configuration-factory.ts +0 -201
- package/src/config/dw-json-loader.ts +0 -248
- package/src/config/workspace-roots.ts +0 -540
- package/src/constants/index.ts +0 -1
- package/src/core/handlers/abstract-client-handler.ts +0 -85
- package/src/core/handlers/agent-instructions-handler.ts +0 -48
- package/src/core/handlers/base-handler.ts +0 -172
- package/src/core/handlers/cartridge-handler.ts +0 -38
- package/src/core/handlers/client-factory.ts +0 -140
- package/src/core/handlers/code-version-handler.ts +0 -43
- package/src/core/handlers/docs-handler.ts +0 -19
- package/src/core/handlers/isml-handler.ts +0 -19
- package/src/core/handlers/job-log-handler.ts +0 -39
- package/src/core/handlers/log-handler.ts +0 -39
- package/src/core/handlers/script-debugger-handler.ts +0 -46
- package/src/core/handlers/sfra-handler.ts +0 -23
- package/src/core/handlers/simple-client-handler.ts +0 -78
- package/src/core/handlers/system-object-handler.ts +0 -43
- package/src/core/handlers/validation-helpers.ts +0 -206
- package/src/core/instruction-advisor.ts +0 -122
- package/src/core/server.ts +0 -374
- package/src/core/tool-definitions.ts +0 -30
- package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
- package/src/core/tool-schemas/cartridge-tools.ts +0 -29
- package/src/core/tool-schemas/code-version-tools.ts +0 -28
- package/src/core/tool-schemas/documentation-tools.ts +0 -104
- package/src/core/tool-schemas/index.ts +0 -27
- package/src/core/tool-schemas/isml-tools.ts +0 -89
- package/src/core/tool-schemas/log-tools.ts +0 -196
- package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
- package/src/core/tool-schemas/sfra-tools.ts +0 -65
- package/src/core/tool-schemas/shared-schemas.ts +0 -158
- package/src/core/tool-schemas/system-object-tools.ts +0 -127
- package/src/index.ts +0 -20
- package/src/main.ts +0 -161
- package/src/services/file-system-service.ts +0 -117
- package/src/services/index.ts +0 -11
- package/src/services/path-service.ts +0 -124
- package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
- package/src/tool-configs/cartridge-tool-config.ts +0 -41
- package/src/tool-configs/code-version-tool-config.ts +0 -37
- package/src/tool-configs/docs-tool-config.ts +0 -103
- package/src/tool-configs/isml-tool-config.ts +0 -87
- package/src/tool-configs/job-log-tool-config.ts +0 -119
- package/src/tool-configs/log-tool-config.ts +0 -110
- package/src/tool-configs/script-debugger-tool-config.ts +0 -69
- package/src/tool-configs/sfra-tool-config.ts +0 -74
- package/src/tool-configs/system-object-tool-config.ts +0 -142
- package/src/types/types.ts +0 -125
- package/src/utils/cache.ts +0 -291
- package/src/utils/category-utils.ts +0 -70
- package/src/utils/log-tool-constants.ts +0 -95
- package/src/utils/logger.ts +0 -260
- package/src/utils/markdown-utils.ts +0 -280
- package/src/utils/ocapi-url-builder.ts +0 -48
- package/src/utils/path-resolver.ts +0 -69
- package/src/utils/path-validation.ts +0 -113
- package/src/utils/query-builder.ts +0 -84
- package/src/utils/utils.ts +0 -139
- package/src/utils/validator.ts +0 -162
- package/tests/__mocks__/docs-client.ts +0 -8
- package/tests/__mocks__/src/clients/base/http-client.js +0 -43
- package/tests/__mocks__/webdav.js +0 -14
- package/tests/base-handler.test.ts +0 -527
- package/tests/base-http-client.test.ts +0 -311
- package/tests/cache.test.ts +0 -453
- package/tests/cartridge-handler.test.ts +0 -290
- package/tests/class-content-parser.test.ts +0 -629
- package/tests/class-name-resolver.test.ts +0 -365
- package/tests/client-factory.test.ts +0 -280
- package/tests/code-version-handler.test.ts +0 -291
- package/tests/code-versions-client.test.ts +0 -156
- package/tests/config.test.ts +0 -285
- package/tests/configuration-factory.test.ts +0 -233
- package/tests/docs-handler.test.ts +0 -359
- package/tests/documentation-scanner.test.ts +0 -755
- package/tests/file-system-service.test.ts +0 -111
- package/tests/isml-client.test.ts +0 -463
- package/tests/isml-handler.test.ts +0 -375
- package/tests/job-log-handler.test.ts +0 -283
- package/tests/log-client.test.ts +0 -768
- package/tests/log-handler.test.ts +0 -365
- package/tests/log-processor.test.ts +0 -243
- package/tests/log-validation.test.ts +0 -149
- package/tests/logger.test.ts +0 -303
- package/tests/mcp/AGENTS.md +0 -162
- package/tests/mcp/README.md +0 -237
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
- package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
- package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
- package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
- package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
- package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
- package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
- package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
- package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
- package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
- package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
- package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
- package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
- package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
- package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
- package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
- package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
- package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
- package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
- package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
- package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
- package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
- package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
- package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
- package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
- package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
- package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
- package/tests/mcp/test-fixtures/dw.json +0 -10
- package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
- package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
- package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
- package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
- package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
- package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
- package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
- package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
- package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
- package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
- package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
- package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
- package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
- package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
- package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
- package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
- package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
- package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
- package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
- package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
- package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
- package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
- package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
- package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
- package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
- package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
- package/tests/oauth-token.test.ts +0 -725
- package/tests/ocapi-auth-client.test.ts +0 -276
- package/tests/ocapi-client.test.ts +0 -242
- package/tests/path-service.test.ts +0 -96
- package/tests/query-builder.test.ts +0 -281
- package/tests/referenced-types-extractor.test.ts +0 -814
- package/tests/script-debugger-client.test.ts +0 -430
- package/tests/servers/sfcc-mock-server/README.md +0 -208
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
- package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
- package/tests/servers/sfcc-mock-server/package.json +0 -39
- package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
- package/tests/servers/sfcc-mock-server/server.js +0 -280
- package/tests/servers/sfcc-mock-server/src/app.js +0 -182
- package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
- package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
- package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
- package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
- package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
- package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
- package/tests/servers/sfcc-mock-server-manager.ts +0 -280
- package/tests/sfcc-mock-server.test.ts +0 -423
- package/tests/site-preferences-client.test.ts +0 -358
- package/tests/system-objects-client.test.ts +0 -310
- package/tests/utils.test.ts +0 -477
- package/tests/validation-helpers.test.ts +0 -325
- package/tests/validator.test.ts +0 -416
- package/tests/workspace-roots.test.ts +0 -227
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -20
package/docs/isml/isif.md
DELETED
|
@@ -1,737 +0,0 @@
|
|
|
1
|
-
# ISML Conditional Elements (isif, iselseif, iselse)
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The conditional elements `<isif>`, `<iselseif>`, and `<iselse>` enable conditional template logic and control flow based on boolean expressions. These tags allow you to render different content based on runtime conditions without embedding business logic in templates.
|
|
6
|
-
|
|
7
|
-
**Design Principle:** These tags contain no business logic—only conditional visualization of data passed from controllers.
|
|
8
|
-
|
|
9
|
-
## Syntax
|
|
10
|
-
|
|
11
|
-
```isml
|
|
12
|
-
<isif condition="if_expression">
|
|
13
|
-
<!-- Code executed if if_expression is true -->
|
|
14
|
-
...
|
|
15
|
-
<iselseif condition="elseif_expression"> <!-- 0 or more -->
|
|
16
|
-
<!-- Code executed if elseif_expression is true -->
|
|
17
|
-
...
|
|
18
|
-
</iselseif>
|
|
19
|
-
<iselse>
|
|
20
|
-
<!-- Code executed if all conditions are false -->
|
|
21
|
-
...
|
|
22
|
-
</isif>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## isif Element
|
|
26
|
-
|
|
27
|
-
### Overview
|
|
28
|
-
|
|
29
|
-
The `<isif>` element creates the primary conditional block. It evaluates an expression and executes the enclosed code if the condition is true.
|
|
30
|
-
|
|
31
|
-
### Required Attributes
|
|
32
|
-
|
|
33
|
-
#### condition
|
|
34
|
-
|
|
35
|
-
**Type:** String or Expression
|
|
36
|
-
**Required:** Yes
|
|
37
|
-
|
|
38
|
-
The `if_expression` evaluates to a boolean value. If true, the code immediately following the `<isif>` tag is executed, and all `<iselseif>` and `<iselse>` tags are ignored.
|
|
39
|
-
|
|
40
|
-
**Examples:**
|
|
41
|
-
```isml
|
|
42
|
-
<!-- Simple comparison -->
|
|
43
|
-
<isif condition="${pdict.Product.price == 0}">
|
|
44
|
-
<span class="free-gift">FREE GIFT!</span>
|
|
45
|
-
</isif>
|
|
46
|
-
|
|
47
|
-
<!-- Boolean property -->
|
|
48
|
-
<isif condition="${customer.authenticated}">
|
|
49
|
-
<div>Welcome back, ${customer.profile.firstName}!</div>
|
|
50
|
-
</isif>
|
|
51
|
-
|
|
52
|
-
<!-- Expression -->
|
|
53
|
-
<isif condition="${pdict.Products.length > 0}">
|
|
54
|
-
<div class="products-found">Found ${pdict.Products.length} products</div>
|
|
55
|
-
</isif>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Purpose
|
|
59
|
-
|
|
60
|
-
The `<isif>` element enables:
|
|
61
|
-
|
|
62
|
-
1. **Conditional Rendering:** Show/hide content based on conditions
|
|
63
|
-
2. **Flow Control:** Direct template execution based on data state
|
|
64
|
-
3. **Data Validation:** Display content only when data is valid
|
|
65
|
-
4. **User Experience:** Adapt UI based on customer state or preferences
|
|
66
|
-
5. **Feature Flags:** Enable/disable features conditionally
|
|
67
|
-
|
|
68
|
-
### Rules of Use
|
|
69
|
-
|
|
70
|
-
**Required Closing Tag:** Every `<isif>` tag **must** have a matching `</isif>` tag.
|
|
71
|
-
|
|
72
|
-
```isml
|
|
73
|
-
<!-- Good: Proper closing tag -->
|
|
74
|
-
<isif condition="${product.available}">
|
|
75
|
-
<span>In Stock</span>
|
|
76
|
-
</isif>
|
|
77
|
-
|
|
78
|
-
<!-- Bad: Missing closing tag -->
|
|
79
|
-
<isif condition="${product.available}">
|
|
80
|
-
<span>In Stock</span>
|
|
81
|
-
<!-- ERROR: Missing </isif> -->
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Script Expressions:** You can use any B2C Commerce script expression as a condition, including:
|
|
85
|
-
- Local variables
|
|
86
|
-
- Pipeline Dictionary (pdict) variables
|
|
87
|
-
- Object properties and methods
|
|
88
|
-
- Functions and operators
|
|
89
|
-
|
|
90
|
-
```isml
|
|
91
|
-
<!-- Using pdict variables -->
|
|
92
|
-
<isif condition="${pdict.showBanner}">
|
|
93
|
-
|
|
94
|
-
<!-- Using object properties -->
|
|
95
|
-
<isif condition="${customer.profile.email != null}">
|
|
96
|
-
|
|
97
|
-
<!-- Using methods -->
|
|
98
|
-
<isif condition="${product.isAvailable()}">
|
|
99
|
-
|
|
100
|
-
<!-- Using functions -->
|
|
101
|
-
<isif condition="${empty(basket.productLineItems)}">
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## iselseif Element
|
|
105
|
-
|
|
106
|
-
### Overview
|
|
107
|
-
|
|
108
|
-
The `<iselseif>` element specifies alternative conditions to test if the `<isif>` condition is false. Multiple `<iselseif>` tags can be used to create a chain of conditions.
|
|
109
|
-
|
|
110
|
-
### Required Attributes
|
|
111
|
-
|
|
112
|
-
#### condition
|
|
113
|
-
|
|
114
|
-
**Type:** String or Expression
|
|
115
|
-
**Required:** Yes
|
|
116
|
-
|
|
117
|
-
The `elseif_expression` evaluates to a boolean value. This condition is only tested if the `<isif>` condition and all previous `<iselseif>` conditions are false.
|
|
118
|
-
|
|
119
|
-
**Examples:**
|
|
120
|
-
```isml
|
|
121
|
-
<isif condition="${pdict.Product.price == 0}">
|
|
122
|
-
<span>FREE</span>
|
|
123
|
-
<iselseif condition="${pdict.Product.price < 100}">
|
|
124
|
-
<span>Budget-Friendly</span>
|
|
125
|
-
<iselseif condition="${pdict.Product.price < 500}">
|
|
126
|
-
<span>Mid-Range</span>
|
|
127
|
-
</isif>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Purpose
|
|
131
|
-
|
|
132
|
-
The `<iselseif>` element allows:
|
|
133
|
-
|
|
134
|
-
1. **Multiple Conditions:** Test several conditions in sequence
|
|
135
|
-
2. **Fallback Logic:** Provide alternative rendering paths
|
|
136
|
-
3. **Range Checking:** Handle different value ranges
|
|
137
|
-
4. **State Management:** Handle multiple states of data
|
|
138
|
-
|
|
139
|
-
### Rules of Use
|
|
140
|
-
|
|
141
|
-
**Optional:** `<iselseif>` tags are optional—you can have zero or more.
|
|
142
|
-
|
|
143
|
-
**Multiple Allowed:** You can use **as many `<iselseif>` tags as needed**.
|
|
144
|
-
|
|
145
|
-
**Order Matters:** Conditions are tested in order from top to bottom. The first true condition wins.
|
|
146
|
-
|
|
147
|
-
**Placement:** Must appear **after** `<isif>` and **before** `<iselse>` (if present).
|
|
148
|
-
|
|
149
|
-
```isml
|
|
150
|
-
<!-- Good: Multiple iselseif tags -->
|
|
151
|
-
<isif condition="${status == 'new'}">
|
|
152
|
-
<span class="badge-new">New</span>
|
|
153
|
-
<iselseif condition="${status == 'sale'}">
|
|
154
|
-
<span class="badge-sale">Sale</span>
|
|
155
|
-
<iselseif condition="${status == 'clearance'}">
|
|
156
|
-
<span class="badge-clearance">Clearance</span>
|
|
157
|
-
<iselseif condition="${status == 'backorder'}">
|
|
158
|
-
<span class="badge-backorder">Back Order</span>
|
|
159
|
-
</isif>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## iselse Element
|
|
163
|
-
|
|
164
|
-
### Overview
|
|
165
|
-
|
|
166
|
-
The `<iselse>` element specifies what happens if neither the `<isif>` condition nor any `<iselseif>` conditions evaluate to true. It provides a default fallback.
|
|
167
|
-
|
|
168
|
-
### Attributes
|
|
169
|
-
|
|
170
|
-
**None:** The `<iselse>` element has no attributes.
|
|
171
|
-
|
|
172
|
-
### Purpose
|
|
173
|
-
|
|
174
|
-
The `<iselse>` element provides:
|
|
175
|
-
|
|
176
|
-
1. **Default Behavior:** Specify fallback when no conditions match
|
|
177
|
-
2. **Completeness:** Handle all possible cases
|
|
178
|
-
3. **Error Prevention:** Provide safe defaults
|
|
179
|
-
4. **User Feedback:** Show meaningful content when conditions fail
|
|
180
|
-
|
|
181
|
-
### Rules of Use
|
|
182
|
-
|
|
183
|
-
**Optional:** The `<iselse>` tag is optional.
|
|
184
|
-
|
|
185
|
-
**Only One:** You can only use **one `<iselse>` tag** per `<isif>` group.
|
|
186
|
-
|
|
187
|
-
**Last Position:** Must **always be the last tag** within an `<isif>` group (after all `<iselseif>` tags).
|
|
188
|
-
|
|
189
|
-
```isml
|
|
190
|
-
<!-- Good: Single iselse at the end -->
|
|
191
|
-
<isif condition="${product.available}">
|
|
192
|
-
<span>In Stock</span>
|
|
193
|
-
<iselseif condition="${product.preorderable}">
|
|
194
|
-
<span>Pre-Order</span>
|
|
195
|
-
<iselse>
|
|
196
|
-
<span>Out of Stock</span>
|
|
197
|
-
</isif>
|
|
198
|
-
|
|
199
|
-
<!-- Bad: Multiple iselse tags -->
|
|
200
|
-
<isif condition="${condition1}">
|
|
201
|
-
Content
|
|
202
|
-
<iselse>
|
|
203
|
-
Default 1
|
|
204
|
-
</isif>
|
|
205
|
-
<iselse> <!-- ERROR: Can't have second iselse -->
|
|
206
|
-
Default 2
|
|
207
|
-
</isif>
|
|
208
|
-
|
|
209
|
-
<!-- Bad: iselse before iselseif -->
|
|
210
|
-
<isif condition="${condition1}">
|
|
211
|
-
Content
|
|
212
|
-
<iselse>
|
|
213
|
-
Default
|
|
214
|
-
</isif>
|
|
215
|
-
<iselseif condition="${condition2}"> <!-- ERROR: Must come before iselse -->
|
|
216
|
-
Alternative
|
|
217
|
-
</isif>
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
## Evaluation Flow
|
|
221
|
-
|
|
222
|
-
The conditional group is evaluated in this order:
|
|
223
|
-
|
|
224
|
-
1. **`<isif>` condition** is tested first
|
|
225
|
-
- If **true**: Execute code after `<isif>`, ignore all `<iselseif>` and `<iselse>`
|
|
226
|
-
- If **false**: Continue to step 2
|
|
227
|
-
|
|
228
|
-
2. **Each `<iselseif>` condition** is tested in order
|
|
229
|
-
- When first **true** `<iselseif>` is found: Execute its code, ignore remaining conditions
|
|
230
|
-
- If all **false**: Continue to step 3
|
|
231
|
-
|
|
232
|
-
3. **`<iselse>` block** (if present)
|
|
233
|
-
- Execute code after `<iselse>`
|
|
234
|
-
|
|
235
|
-
**Important:** Only **one block** of code executes per conditional group.
|
|
236
|
-
|
|
237
|
-
```isml
|
|
238
|
-
<isif condition="${price == 0}">
|
|
239
|
-
FREE <!-- Executes if price is 0, stops here -->
|
|
240
|
-
<iselseif condition="${price < 50}">
|
|
241
|
-
CHEAP <!-- Executes if price > 0 and < 50, stops here -->
|
|
242
|
-
<iselseif condition="${price < 100}">
|
|
243
|
-
MODERATE <!-- Executes if price >= 50 and < 100, stops here -->
|
|
244
|
-
<iselse>
|
|
245
|
-
EXPENSIVE <!-- Executes if price >= 100 -->
|
|
246
|
-
</isif>
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## Boolean Interpretation
|
|
250
|
-
|
|
251
|
-
### Standard Boolean Values
|
|
252
|
-
|
|
253
|
-
```isml
|
|
254
|
-
<!-- true values -->
|
|
255
|
-
<isif condition="${true}">Executes</isif>
|
|
256
|
-
<isif condition="${1 == 1}">Executes</isif>
|
|
257
|
-
<isif condition="${!empty(array)}">Executes if array has items</isif>
|
|
258
|
-
|
|
259
|
-
<!-- false values -->
|
|
260
|
-
<isif condition="${false}">Doesn't execute</isif>
|
|
261
|
-
<isif condition="${1 == 2}">Doesn't execute</isif>
|
|
262
|
-
<isif condition="${empty(array)}">Executes if array is empty</isif>
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Non-Boolean Value Interpretation
|
|
266
|
-
|
|
267
|
-
**Non-null, Non-Boolean:** Interpreted as **true**
|
|
268
|
-
|
|
269
|
-
```isml
|
|
270
|
-
<isif condition="${'hello'}">
|
|
271
|
-
This executes (non-empty string is true)
|
|
272
|
-
</isif>
|
|
273
|
-
|
|
274
|
-
<isif condition="${42}">
|
|
275
|
-
This executes (number is true)
|
|
276
|
-
</isif>
|
|
277
|
-
|
|
278
|
-
<isif condition="${product}">
|
|
279
|
-
This executes if product exists (object is true)
|
|
280
|
-
</isif>
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
**Null:** Interpreted as **false**
|
|
284
|
-
|
|
285
|
-
```isml
|
|
286
|
-
<isif condition="${null}">
|
|
287
|
-
This doesn't execute
|
|
288
|
-
</isif>
|
|
289
|
-
|
|
290
|
-
<isif condition="${nonExistentVariable}">
|
|
291
|
-
This doesn't execute (null/undefined is false)
|
|
292
|
-
</isif>
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Common Use Cases
|
|
296
|
-
|
|
297
|
-
### Product Availability
|
|
298
|
-
|
|
299
|
-
```isml
|
|
300
|
-
<isif condition="${product.available}">
|
|
301
|
-
<button class="add-to-cart">Add to Cart</button>
|
|
302
|
-
<iselseif condition="${product.preorderable}">
|
|
303
|
-
<button class="pre-order">Pre-Order</button>
|
|
304
|
-
<iselse>
|
|
305
|
-
<button class="notify-me" disabled>Notify Me</button>
|
|
306
|
-
</isif>
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### Customer Authentication
|
|
310
|
-
|
|
311
|
-
```isml
|
|
312
|
-
<isif condition="${customer.authenticated}">
|
|
313
|
-
<div class="user-menu">
|
|
314
|
-
<span>Welcome, ${customer.profile.firstName}!</span>
|
|
315
|
-
<a href="${URLUtils.url('Account-Show')}">My Account</a>
|
|
316
|
-
<a href="${URLUtils.url('Login-Logout')}">Logout</a>
|
|
317
|
-
</div>
|
|
318
|
-
<iselse>
|
|
319
|
-
<div class="guest-menu">
|
|
320
|
-
<a href="${URLUtils.url('Login-Show')}">Login</a>
|
|
321
|
-
<a href="${URLUtils.url('Account-StartRegister')}">Register</a>
|
|
322
|
-
</div>
|
|
323
|
-
</isif>
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
### Price Display
|
|
327
|
-
|
|
328
|
-
```isml
|
|
329
|
-
<isif condition="${pdict.Product.price == 0}">
|
|
330
|
-
<span class="price-free">FREE GIFT!</span>
|
|
331
|
-
<iselseif condition="${pdict.Product.price < 100}">
|
|
332
|
-
<span class="price-special">Special Deal: ${pdict.Product.price}</span>
|
|
333
|
-
<iselse>
|
|
334
|
-
<span class="price-regular">Today's Price: ${pdict.Product.price}</span>
|
|
335
|
-
</isif>
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
### Coupon Code Validation
|
|
339
|
-
|
|
340
|
-
```isml
|
|
341
|
-
<input type="text"
|
|
342
|
-
name="${pdict.CurrentForms.cart.couponCode.htmlName}"
|
|
343
|
-
size="30"
|
|
344
|
-
<isif condition="${pdict.CurrentForms.cart.couponCode.valid}">
|
|
345
|
-
value="${pdict.CurrentForms.cart.couponCode.htmlValue}"
|
|
346
|
-
<iselse>
|
|
347
|
-
value=""
|
|
348
|
-
</isif>
|
|
349
|
-
/>
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### Shipping Method Display
|
|
353
|
-
|
|
354
|
-
```isml
|
|
355
|
-
<isif condition="${shipment.shippingMethod.ID == 'express'}">
|
|
356
|
-
<div class="shipping-express">
|
|
357
|
-
<strong>Express Shipping</strong>
|
|
358
|
-
<span>Arrives in 1-2 business days</span>
|
|
359
|
-
</div>
|
|
360
|
-
<iselseif condition="${shipment.shippingMethod.ID == 'standard'}">
|
|
361
|
-
<div class="shipping-standard">
|
|
362
|
-
<strong>Standard Shipping</strong>
|
|
363
|
-
<span>Arrives in 5-7 business days</span>
|
|
364
|
-
</div>
|
|
365
|
-
<iselse>
|
|
366
|
-
<div class="shipping-other">
|
|
367
|
-
<strong>${shipment.shippingMethod.displayName}</strong>
|
|
368
|
-
</div>
|
|
369
|
-
</isif>
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
### Product Badge Logic
|
|
373
|
-
|
|
374
|
-
```isml
|
|
375
|
-
<isif condition="${pdict.Product.name == 'case'}">
|
|
376
|
-
<th>Monogram</th>
|
|
377
|
-
<iselseif condition="${pdict.Product.name == 'bag'}">
|
|
378
|
-
<th>Monogram</th>
|
|
379
|
-
<iselse>
|
|
380
|
-
<th>Unit Price</th>
|
|
381
|
-
</isif>
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
### Empty State Handling
|
|
385
|
-
|
|
386
|
-
```isml
|
|
387
|
-
<isif condition="${!empty(pdict.products)}">
|
|
388
|
-
<div class="product-grid">
|
|
389
|
-
<isloop items="${pdict.products}" var="product">
|
|
390
|
-
<div class="product-tile">${product.name}</div>
|
|
391
|
-
</isloop>
|
|
392
|
-
</div>
|
|
393
|
-
<iselse>
|
|
394
|
-
<div class="empty-state">
|
|
395
|
-
<h2>No products found</h2>
|
|
396
|
-
<p>Try adjusting your search or filters.</p>
|
|
397
|
-
</div>
|
|
398
|
-
</isif>
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### Promotion Banner
|
|
402
|
-
|
|
403
|
-
```isml
|
|
404
|
-
<isif condition="${pdict.activePromotion.type == 'percentage'}">
|
|
405
|
-
<div class="promo-banner">Save ${pdict.activePromotion.value}%!</div>
|
|
406
|
-
<iselseif condition="${pdict.activePromotion.type == 'fixed'}">
|
|
407
|
-
<div class="promo-banner">Save $${pdict.activePromotion.value}!</div>
|
|
408
|
-
<iselseif condition="${pdict.activePromotion.type == 'bogo'}">
|
|
409
|
-
<div class="promo-banner">Buy One Get One Free!</div>
|
|
410
|
-
</isif>
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
### Order Status Display
|
|
414
|
-
|
|
415
|
-
```isml
|
|
416
|
-
<isif condition="${order.status.value == dw.order.Order.ORDER_STATUS_CREATED}">
|
|
417
|
-
<span class="status-created">Order Placed</span>
|
|
418
|
-
<iselseif condition="${order.status.value == dw.order.Order.ORDER_STATUS_OPEN}">
|
|
419
|
-
<span class="status-processing">Processing</span>
|
|
420
|
-
<iselseif condition="${order.status.value == dw.order.Order.ORDER_STATUS_COMPLETED}">
|
|
421
|
-
<span class="status-completed">Shipped</span>
|
|
422
|
-
<iselseif condition="${order.status.value == dw.order.Order.ORDER_STATUS_CANCELLED}">
|
|
423
|
-
<span class="status-cancelled">Cancelled</span>
|
|
424
|
-
</isif>
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
### Responsive Content
|
|
428
|
-
|
|
429
|
-
```isml
|
|
430
|
-
<isif condition="${pdict.isMobile}">
|
|
431
|
-
<isinclude template="mobile/productTile"/>
|
|
432
|
-
<iselse>
|
|
433
|
-
<isinclude template="desktop/productTile"/>
|
|
434
|
-
</isif>
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### Alternating Row Colors
|
|
438
|
-
|
|
439
|
-
```isml
|
|
440
|
-
<isset name="color" value="${'#00FFFF'}" scope="page"/>
|
|
441
|
-
<table>
|
|
442
|
-
<isloop items="${pdict.Basket.productLineItems}" var="lineItem">
|
|
443
|
-
<tr>
|
|
444
|
-
<td bgcolor="${color}">
|
|
445
|
-
<isprint value="${lineItem.productName}"/>
|
|
446
|
-
</td>
|
|
447
|
-
</tr>
|
|
448
|
-
|
|
449
|
-
<isif condition="${color == '#00FFFF'}">
|
|
450
|
-
<isset name="color" value="${'#00CCFF'}" scope="page"/>
|
|
451
|
-
<iselseif condition="${color == '#00CCFF'}">
|
|
452
|
-
<isset name="color" value="${'#0099FF'}" scope="page"/>
|
|
453
|
-
<iselse>
|
|
454
|
-
<isset name="color" value="${'#00FFFF'}" scope="page"/>
|
|
455
|
-
</isif>
|
|
456
|
-
</isloop>
|
|
457
|
-
</table>
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
## Nested Conditionals
|
|
461
|
-
|
|
462
|
-
Conditional statements can be nested to create complex logic:
|
|
463
|
-
|
|
464
|
-
```isml
|
|
465
|
-
<isif condition="${customer.authenticated}">
|
|
466
|
-
<isif condition="${customer.profile.custom.vipMember}">
|
|
467
|
-
<div class="vip-badge">VIP Member</div>
|
|
468
|
-
<iselse>
|
|
469
|
-
<div class="member-badge">Member</div>
|
|
470
|
-
</isif>
|
|
471
|
-
<iselse>
|
|
472
|
-
<div class="guest-badge">Guest</div>
|
|
473
|
-
</isif>
|
|
474
|
-
```
|
|
475
|
-
|
|
476
|
-
### Complex Nested Example
|
|
477
|
-
|
|
478
|
-
```isml
|
|
479
|
-
<isif condition="${product.available}">
|
|
480
|
-
|
|
481
|
-
<isif condition="${product.onSale}">
|
|
482
|
-
<span class="price sale-price">
|
|
483
|
-
${product.salePrice}
|
|
484
|
-
<del>${product.regularPrice}</del>
|
|
485
|
-
</span>
|
|
486
|
-
<iselse>
|
|
487
|
-
<span class="price regular-price">
|
|
488
|
-
${product.price}
|
|
489
|
-
</span>
|
|
490
|
-
</isif>
|
|
491
|
-
|
|
492
|
-
<button class="add-to-cart">Add to Cart</button>
|
|
493
|
-
|
|
494
|
-
<iselseif condition="${product.preorderable}">
|
|
495
|
-
|
|
496
|
-
<span class="price pre-order-price">${product.price}</span>
|
|
497
|
-
<button class="pre-order">Pre-Order</button>
|
|
498
|
-
<span class="ship-date">Ships ${product.expectedShipDate}</span>
|
|
499
|
-
|
|
500
|
-
<iselse>
|
|
501
|
-
|
|
502
|
-
<span class="out-of-stock">Out of Stock</span>
|
|
503
|
-
<button class="notify-me">Notify When Available</button>
|
|
504
|
-
|
|
505
|
-
</isif>
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
## Best Practices
|
|
509
|
-
|
|
510
|
-
### Keep Conditions Simple
|
|
511
|
-
|
|
512
|
-
```isml
|
|
513
|
-
<!-- Good: Simple, readable condition -->
|
|
514
|
-
<isif condition="${product.available}">
|
|
515
|
-
In Stock
|
|
516
|
-
</isif>
|
|
517
|
-
|
|
518
|
-
<!-- Avoid: Complex inline logic -->
|
|
519
|
-
<isif condition="${product.available && product.price > 0 && product.inventoryRecord.ATS.value > 5 && !product.custom.discontinued}">
|
|
520
|
-
In Stock
|
|
521
|
-
</isif>
|
|
522
|
-
|
|
523
|
-
<!-- Better: Prepare complex logic in controller -->
|
|
524
|
-
<isif condition="${pdict.showAddToCart}">
|
|
525
|
-
In Stock
|
|
526
|
-
</isif>
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
### Use Meaningful Variable Names
|
|
530
|
-
|
|
531
|
-
```isml
|
|
532
|
-
<!-- Good: Clear intent -->
|
|
533
|
-
<isif condition="${showPromotion}">
|
|
534
|
-
<div class="promo">${promotion.message}</div>
|
|
535
|
-
</isif>
|
|
536
|
-
|
|
537
|
-
<!-- Less clear -->
|
|
538
|
-
<isif condition="${flag1}">
|
|
539
|
-
<div class="promo">${data.msg}</div>
|
|
540
|
-
</isif>
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
### Avoid Business Logic in Templates
|
|
544
|
-
|
|
545
|
-
```isml
|
|
546
|
-
<!-- Bad: Business logic in template -->
|
|
547
|
-
<isif condition="${product.price * 0.8 < customer.profile.custom.maxDiscount}">
|
|
548
|
-
Special discount available!
|
|
549
|
-
</isif>
|
|
550
|
-
|
|
551
|
-
<!-- Good: Logic in controller, condition in template -->
|
|
552
|
-
<isif condition="${pdict.eligibleForDiscount}">
|
|
553
|
-
Special discount available!
|
|
554
|
-
</isif>
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
### Prefer Early Returns with isif
|
|
558
|
-
|
|
559
|
-
```isml
|
|
560
|
-
<!-- Good: Early exit pattern -->
|
|
561
|
-
<isif condition="${empty(products)}">
|
|
562
|
-
<div class="empty-state">No products found</div>
|
|
563
|
-
<!-- Exit early, no need for else -->
|
|
564
|
-
<iselse>
|
|
565
|
-
<div class="product-grid">
|
|
566
|
-
<isloop items="${products}" var="product">
|
|
567
|
-
<!-- Product rendering -->
|
|
568
|
-
</isloop>
|
|
569
|
-
</div>
|
|
570
|
-
</isif>
|
|
571
|
-
```
|
|
572
|
-
|
|
573
|
-
### Use Comments for Complex Conditionals
|
|
574
|
-
|
|
575
|
-
```isml
|
|
576
|
-
<iscomment>
|
|
577
|
-
Display shipping options based on cart total:
|
|
578
|
-
- Free shipping for orders over $50
|
|
579
|
-
- Flat rate $5 for orders $25-$50
|
|
580
|
-
- Calculated rate for orders under $25
|
|
581
|
-
</iscomment>
|
|
582
|
-
<isif condition="${basket.totalGrossPrice.value > 50}">
|
|
583
|
-
<span class="shipping-free">FREE SHIPPING</span>
|
|
584
|
-
<iselseif condition="${basket.totalGrossPrice.value > 25}">
|
|
585
|
-
<span class="shipping-flat">Flat Rate $5</span>
|
|
586
|
-
<iselse>
|
|
587
|
-
<span class="shipping-calculated">Shipping Calculated at Checkout</span>
|
|
588
|
-
</isif>
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
### Avoid Deep Nesting
|
|
592
|
-
|
|
593
|
-
```isml
|
|
594
|
-
<!-- Avoid: Deep nesting -->
|
|
595
|
-
<isif condition="${a}">
|
|
596
|
-
<isif condition="${b}">
|
|
597
|
-
<isif condition="${c}">
|
|
598
|
-
<isif condition="${d}">
|
|
599
|
-
Deep content
|
|
600
|
-
</isif>
|
|
601
|
-
</isif>
|
|
602
|
-
</isif>
|
|
603
|
-
</isif>
|
|
604
|
-
|
|
605
|
-
<!-- Better: Combined conditions or guard clauses -->
|
|
606
|
-
<isif condition="${a && b && c && d}">
|
|
607
|
-
Deep content
|
|
608
|
-
</isif>
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
## Performance Considerations
|
|
612
|
-
|
|
613
|
-
### Condition Evaluation Order
|
|
614
|
-
|
|
615
|
-
Place most likely conditions first to minimize evaluation:
|
|
616
|
-
|
|
617
|
-
```isml
|
|
618
|
-
<!-- Good: Most common case first -->
|
|
619
|
-
<isif condition="${customer.authenticated}">
|
|
620
|
-
<!-- Most users are logged in -->
|
|
621
|
-
<iselse>
|
|
622
|
-
<!-- Guest checkout less common -->
|
|
623
|
-
</isif>
|
|
624
|
-
|
|
625
|
-
<!-- Less efficient if most users are logged in -->
|
|
626
|
-
<isif condition="${!customer.authenticated}">
|
|
627
|
-
<!-- Guest checkout (rare) -->
|
|
628
|
-
<iselse>
|
|
629
|
-
<!-- Authenticated (common) -->
|
|
630
|
-
</isif>
|
|
631
|
-
```
|
|
632
|
-
|
|
633
|
-
### Avoid Repeated Expensive Calls
|
|
634
|
-
|
|
635
|
-
```isml
|
|
636
|
-
<!-- Bad: Repeated method calls -->
|
|
637
|
-
<isif condition="${product.getInventoryRecord().ATS.value > 0}">
|
|
638
|
-
<span>In Stock: ${product.getInventoryRecord().ATS.value}</span>
|
|
639
|
-
</isif>
|
|
640
|
-
|
|
641
|
-
<!-- Good: Store result once -->
|
|
642
|
-
<isset name="inventory" value="${product.getInventoryRecord().ATS.value}" scope="page"/>
|
|
643
|
-
<isif condition="${inventory > 0}">
|
|
644
|
-
<span>In Stock: ${inventory}</span>
|
|
645
|
-
</isif>
|
|
646
|
-
```
|
|
647
|
-
|
|
648
|
-
## Troubleshooting
|
|
649
|
-
|
|
650
|
-
### Missing Closing Tag
|
|
651
|
-
|
|
652
|
-
**Problem:** Template error about unclosed tag.
|
|
653
|
-
|
|
654
|
-
**Solution:** Ensure every `<isif>` has a matching `</isif>`:
|
|
655
|
-
|
|
656
|
-
```isml
|
|
657
|
-
<!-- Check tag pairs -->
|
|
658
|
-
<isif condition="${condition}">
|
|
659
|
-
Content
|
|
660
|
-
</isif> <!-- Don't forget this! -->
|
|
661
|
-
```
|
|
662
|
-
|
|
663
|
-
### Condition Always False
|
|
664
|
-
|
|
665
|
-
**Problem:** Code in `<isif>` never executes.
|
|
666
|
-
|
|
667
|
-
**Solution:** Check for null values and boolean interpretation:
|
|
668
|
-
|
|
669
|
-
```isml
|
|
670
|
-
<!-- Check for null -->
|
|
671
|
-
<isif condition="${product != null && product.available}">
|
|
672
|
-
In Stock
|
|
673
|
-
</isif>
|
|
674
|
-
|
|
675
|
-
<!-- Verify boolean property -->
|
|
676
|
-
<isif condition="${product.available == true}">
|
|
677
|
-
In Stock
|
|
678
|
-
</isif>
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
### Multiple iselse Tags
|
|
682
|
-
|
|
683
|
-
**Problem:** Error about duplicate `<iselse>` tags.
|
|
684
|
-
|
|
685
|
-
**Solution:** Use only one `<iselse>` per `<isif>` group:
|
|
686
|
-
|
|
687
|
-
```isml
|
|
688
|
-
<!-- Correct: Single iselse -->
|
|
689
|
-
<isif condition="${a}">
|
|
690
|
-
A
|
|
691
|
-
<iselseif condition="${b}">
|
|
692
|
-
B
|
|
693
|
-
<iselse>
|
|
694
|
-
Default
|
|
695
|
-
</isif>
|
|
696
|
-
```
|
|
697
|
-
|
|
698
|
-
### Wrong Tag Order
|
|
699
|
-
|
|
700
|
-
**Problem:** `<iselseif>` after `<iselse>` causes error.
|
|
701
|
-
|
|
702
|
-
**Solution:** Always put `<iselse>` last:
|
|
703
|
-
|
|
704
|
-
```isml
|
|
705
|
-
<!-- Correct order -->
|
|
706
|
-
<isif condition="${a}">
|
|
707
|
-
A
|
|
708
|
-
<iselseif condition="${b}">
|
|
709
|
-
B
|
|
710
|
-
<iselseif condition="${c}">
|
|
711
|
-
C
|
|
712
|
-
<iselse>
|
|
713
|
-
Default
|
|
714
|
-
</isif>
|
|
715
|
-
```
|
|
716
|
-
|
|
717
|
-
## Related Elements
|
|
718
|
-
|
|
719
|
-
- **`<isset>`**: Set variables for use in conditions
|
|
720
|
-
- **`<isloop>`**: Often used with conditionals for iteration
|
|
721
|
-
- **`<iscomment>`**: Document complex conditional logic
|
|
722
|
-
- **`<iscontinue>`**: Skip loop iterations based on conditions
|
|
723
|
-
- **`<isbreak>`**: Exit loops based on conditions
|
|
724
|
-
|
|
725
|
-
## Summary
|
|
726
|
-
|
|
727
|
-
The conditional elements are fundamental for:
|
|
728
|
-
|
|
729
|
-
- ✅ Rendering content based on runtime conditions
|
|
730
|
-
- ✅ Handling multiple states and scenarios
|
|
731
|
-
- ✅ Providing user-specific experiences
|
|
732
|
-
- ✅ Managing empty states and fallbacks
|
|
733
|
-
- ✅ Adapting UI to data availability
|
|
734
|
-
- ✅ Creating dynamic, data-driven templates
|
|
735
|
-
- ✅ Separating presentation from business logic
|
|
736
|
-
|
|
737
|
-
Use `<isif>`, `<iselseif>`, and `<iselse>` to create flexible, maintainable templates that adapt to your data and user context.
|