This is page 4 of 61. Use http://codebase.md/taurgis/sfcc-dev-mcp?lines=true&page={x} to view the full context. # Directory Structure ``` ├── .DS_Store ├── .github │ ├── dependabot.yml │ ├── instructions │ │ ├── mcp-node-tests.instructions.md │ │ └── mcp-yml-tests.instructions.md │ ├── ISSUE_TEMPLATE │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation.yml │ │ ├── feature_request.yml │ │ └── question.yml │ ├── PULL_REQUEST_TEMPLATE │ │ ├── bug_fix.md │ │ ├── documentation.md │ │ └── new_tool.md │ ├── pull_request_template.md │ └── workflows │ ├── ci.yml │ ├── deploy-pages.yml │ ├── publish.yml │ └── update-docs.yml ├── .gitignore ├── .husky │ └── pre-commit ├── aegis.config.docs-only.json ├── aegis.config.json ├── aegis.config.with-dw.json ├── AGENTS.md ├── ai-instructions │ ├── claude-desktop │ │ └── claude_custom_instructions.md │ ├── cursor │ │ └── .cursor │ │ └── rules │ │ ├── debugging-workflows.mdc │ │ ├── hooks-development.mdc │ │ ├── isml-templates.mdc │ │ ├── job-framework.mdc │ │ ├── performance-optimization.mdc │ │ ├── scapi-endpoints.mdc │ │ ├── security-patterns.mdc │ │ ├── sfcc-development.mdc │ │ ├── sfra-controllers.mdc │ │ ├── sfra-models.mdc │ │ ├── system-objects.mdc │ │ └── testing-patterns.mdc │ └── github-copilot │ └── copilot-instructions.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── docs │ ├── best-practices │ │ ├── cartridge_creation.md │ │ ├── isml_templates.md │ │ ├── job_framework.md │ │ ├── localserviceregistry.md │ │ ├── ocapi_hooks.md │ │ ├── performance.md │ │ ├── scapi_custom_endpoint.md │ │ ├── scapi_hooks.md │ │ ├── security.md │ │ ├── sfra_client_side_js.md │ │ ├── sfra_controllers.md │ │ ├── sfra_models.md │ │ └── sfra_scss.md │ ├── dw_campaign │ │ ├── ABTest.md │ │ ├── ABTestMgr.md │ │ ├── ABTestSegment.md │ │ ├── AmountDiscount.md │ │ ├── ApproachingDiscount.md │ │ ├── BonusChoiceDiscount.md │ │ ├── BonusDiscount.md │ │ ├── Campaign.md │ │ ├── CampaignMgr.md │ │ ├── CampaignStatusCodes.md │ │ ├── Coupon.md │ │ ├── CouponMgr.md │ │ ├── CouponRedemption.md │ │ ├── CouponStatusCodes.md │ │ ├── Discount.md │ │ ├── DiscountPlan.md │ │ ├── FixedPriceDiscount.md │ │ ├── FixedPriceShippingDiscount.md │ │ ├── FreeDiscount.md │ │ ├── FreeShippingDiscount.md │ │ ├── PercentageDiscount.md │ │ ├── PercentageOptionDiscount.md │ │ ├── PriceBookPriceDiscount.md │ │ ├── Promotion.md │ │ ├── PromotionMgr.md │ │ ├── PromotionPlan.md │ │ ├── SlotContent.md │ │ ├── SourceCodeGroup.md │ │ ├── SourceCodeInfo.md │ │ ├── SourceCodeStatusCodes.md │ │ └── TotalFixedPriceDiscount.md │ ├── dw_catalog │ │ ├── Catalog.md │ │ ├── CatalogMgr.md │ │ ├── Category.md │ │ ├── CategoryAssignment.md │ │ ├── CategoryLink.md │ │ ├── PriceBook.md │ │ ├── PriceBookMgr.md │ │ ├── Product.md │ │ ├── ProductActiveData.md │ │ ├── ProductAttributeModel.md │ │ ├── ProductAvailabilityLevels.md │ │ ├── ProductAvailabilityModel.md │ │ ├── ProductInventoryList.md │ │ ├── ProductInventoryMgr.md │ │ ├── ProductInventoryRecord.md │ │ ├── ProductLink.md │ │ ├── ProductMgr.md │ │ ├── ProductOption.md │ │ ├── ProductOptionModel.md │ │ ├── ProductOptionValue.md │ │ ├── ProductPriceInfo.md │ │ ├── ProductPriceModel.md │ │ ├── ProductPriceTable.md │ │ ├── ProductSearchHit.md │ │ ├── ProductSearchModel.md │ │ ├── ProductSearchRefinementDefinition.md │ │ ├── ProductSearchRefinements.md │ │ ├── ProductSearchRefinementValue.md │ │ ├── ProductVariationAttribute.md │ │ ├── ProductVariationAttributeValue.md │ │ ├── ProductVariationModel.md │ │ ├── Recommendation.md │ │ ├── SearchModel.md │ │ ├── SearchRefinementDefinition.md │ │ ├── SearchRefinements.md │ │ ├── SearchRefinementValue.md │ │ ├── SortingOption.md │ │ ├── SortingRule.md │ │ ├── Store.md │ │ ├── StoreGroup.md │ │ ├── StoreInventoryFilter.md │ │ ├── StoreInventoryFilterValue.md │ │ ├── StoreMgr.md │ │ ├── Variant.md │ │ └── VariationGroup.md │ ├── dw_content │ │ ├── Content.md │ │ ├── ContentMgr.md │ │ ├── ContentSearchModel.md │ │ ├── ContentSearchRefinementDefinition.md │ │ ├── ContentSearchRefinements.md │ │ ├── ContentSearchRefinementValue.md │ │ ├── Folder.md │ │ ├── Library.md │ │ ├── MarkupText.md │ │ └── MediaFile.md │ ├── dw_crypto │ │ ├── CertificateRef.md │ │ ├── CertificateUtils.md │ │ ├── Cipher.md │ │ ├── Encoding.md │ │ ├── JWE.md │ │ ├── JWEHeader.md │ │ ├── JWS.md │ │ ├── JWSHeader.md │ │ ├── KeyRef.md │ │ ├── Mac.md │ │ ├── MessageDigest.md │ │ ├── SecureRandom.md │ │ ├── Signature.md │ │ ├── WeakCipher.md │ │ ├── WeakMac.md │ │ ├── WeakMessageDigest.md │ │ ├── WeakSignature.md │ │ └── X509Certificate.md │ ├── dw_customer │ │ ├── AddressBook.md │ │ ├── AgentUserMgr.md │ │ ├── AgentUserStatusCodes.md │ │ ├── AuthenticationStatus.md │ │ ├── Credentials.md │ │ ├── Customer.md │ │ ├── CustomerActiveData.md │ │ ├── CustomerAddress.md │ │ ├── CustomerCDPData.md │ │ ├── CustomerContextMgr.md │ │ ├── CustomerGroup.md │ │ ├── CustomerList.md │ │ ├── CustomerMgr.md │ │ ├── CustomerPasswordConstraints.md │ │ ├── CustomerPaymentInstrument.md │ │ ├── CustomerStatusCodes.md │ │ ├── EncryptedObject.md │ │ ├── ExternalProfile.md │ │ ├── OrderHistory.md │ │ ├── ProductList.md │ │ ├── ProductListItem.md │ │ ├── ProductListItemPurchase.md │ │ ├── ProductListMgr.md │ │ ├── ProductListRegistrant.md │ │ ├── Profile.md │ │ └── Wallet.md │ ├── dw_extensions.applepay │ │ ├── ApplePayHookResult.md │ │ └── ApplePayHooks.md │ ├── dw_extensions.facebook │ │ ├── FacebookFeedHooks.md │ │ └── FacebookProduct.md │ ├── dw_extensions.paymentrequest │ │ ├── PaymentRequestHookResult.md │ │ └── PaymentRequestHooks.md │ ├── dw_extensions.payments │ │ ├── SalesforceBancontactPaymentDetails.md │ │ ├── SalesforceCardPaymentDetails.md │ │ ├── SalesforceEpsPaymentDetails.md │ │ ├── SalesforceIdealPaymentDetails.md │ │ ├── SalesforceKlarnaPaymentDetails.md │ │ ├── SalesforcePaymentDetails.md │ │ ├── SalesforcePaymentIntent.md │ │ ├── SalesforcePaymentMethod.md │ │ ├── SalesforcePaymentRequest.md │ │ ├── SalesforcePaymentsHooks.md │ │ ├── SalesforcePaymentsMgr.md │ │ ├── SalesforcePaymentsSiteConfiguration.md │ │ ├── SalesforcePayPalOrder.md │ │ ├── SalesforcePayPalOrderAddress.md │ │ ├── SalesforcePayPalOrderPayer.md │ │ ├── SalesforcePayPalPaymentDetails.md │ │ ├── SalesforceSepaDebitPaymentDetails.md │ │ └── SalesforceVenmoPaymentDetails.md │ ├── dw_extensions.pinterest │ │ ├── PinterestAvailability.md │ │ ├── PinterestFeedHooks.md │ │ ├── PinterestOrder.md │ │ ├── PinterestOrderHooks.md │ │ └── PinterestProduct.md │ ├── dw_io │ │ ├── CSVStreamReader.md │ │ ├── CSVStreamWriter.md │ │ ├── File.md │ │ ├── FileReader.md │ │ ├── FileWriter.md │ │ ├── InputStream.md │ │ ├── OutputStream.md │ │ ├── PrintWriter.md │ │ ├── RandomAccessFileReader.md │ │ ├── Reader.md │ │ ├── StringWriter.md │ │ ├── Writer.md │ │ ├── XMLIndentingStreamWriter.md │ │ ├── XMLStreamConstants.md │ │ ├── XMLStreamReader.md │ │ └── XMLStreamWriter.md │ ├── dw_job │ │ ├── JobExecution.md │ │ └── JobStepExecution.md │ ├── dw_net │ │ ├── FTPClient.md │ │ ├── FTPFileInfo.md │ │ ├── HTTPClient.md │ │ ├── HTTPRequestPart.md │ │ ├── Mail.md │ │ ├── SFTPClient.md │ │ ├── SFTPFileInfo.md │ │ ├── WebDAVClient.md │ │ └── WebDAVFileInfo.md │ ├── dw_object │ │ ├── ActiveData.md │ │ ├── CustomAttributes.md │ │ ├── CustomObject.md │ │ ├── CustomObjectMgr.md │ │ ├── Extensible.md │ │ ├── ExtensibleObject.md │ │ ├── Note.md │ │ ├── ObjectAttributeDefinition.md │ │ ├── ObjectAttributeGroup.md │ │ ├── ObjectAttributeValueDefinition.md │ │ ├── ObjectTypeDefinition.md │ │ ├── PersistentObject.md │ │ ├── SimpleExtensible.md │ │ └── SystemObjectMgr.md │ ├── dw_order │ │ ├── AbstractItem.md │ │ ├── AbstractItemCtnr.md │ │ ├── Appeasement.md │ │ ├── AppeasementItem.md │ │ ├── Basket.md │ │ ├── BasketMgr.md │ │ ├── BonusDiscountLineItem.md │ │ ├── CouponLineItem.md │ │ ├── CreateAgentBasketLimitExceededException.md │ │ ├── CreateBasketFromOrderException.md │ │ ├── CreateCouponLineItemException.md │ │ ├── CreateOrderException.md │ │ ├── CreateTemporaryBasketLimitExceededException.md │ │ ├── GiftCertificate.md │ │ ├── GiftCertificateLineItem.md │ │ ├── GiftCertificateMgr.md │ │ ├── GiftCertificateStatusCodes.md │ │ ├── Invoice.md │ │ ├── InvoiceItem.md │ │ ├── LineItem.md │ │ ├── LineItemCtnr.md │ │ ├── Order.md │ │ ├── OrderAddress.md │ │ ├── OrderItem.md │ │ ├── OrderMgr.md │ │ ├── OrderPaymentInstrument.md │ │ ├── OrderProcessStatusCodes.md │ │ ├── PaymentCard.md │ │ ├── PaymentInstrument.md │ │ ├── PaymentMethod.md │ │ ├── PaymentMgr.md │ │ ├── PaymentProcessor.md │ │ ├── PaymentStatusCodes.md │ │ ├── PaymentTransaction.md │ │ ├── PriceAdjustment.md │ │ ├── PriceAdjustmentLimitTypes.md │ │ ├── ProductLineItem.md │ │ ├── ProductShippingCost.md │ │ ├── ProductShippingLineItem.md │ │ ├── ProductShippingModel.md │ │ ├── Return.md │ │ ├── ReturnCase.md │ │ ├── ReturnCaseItem.md │ │ ├── ReturnItem.md │ │ ├── Shipment.md │ │ ├── ShipmentShippingCost.md │ │ ├── ShipmentShippingModel.md │ │ ├── ShippingLineItem.md │ │ ├── ShippingLocation.md │ │ ├── ShippingMethod.md │ │ ├── ShippingMgr.md │ │ ├── ShippingOrder.md │ │ ├── ShippingOrderItem.md │ │ ├── SumItem.md │ │ ├── TaxGroup.md │ │ ├── TaxItem.md │ │ ├── TaxMgr.md │ │ ├── TrackingInfo.md │ │ └── TrackingRef.md │ ├── dw_order.hooks │ │ ├── CalculateHooks.md │ │ ├── OrderHooks.md │ │ ├── PaymentHooks.md │ │ ├── ReturnHooks.md │ │ └── ShippingOrderHooks.md │ ├── dw_rpc │ │ ├── SOAPUtil.md │ │ ├── Stub.md │ │ └── WebReference.md │ ├── dw_suggest │ │ ├── BrandSuggestions.md │ │ ├── CategorySuggestions.md │ │ ├── ContentSuggestions.md │ │ ├── CustomSuggestions.md │ │ ├── ProductSuggestions.md │ │ ├── SearchPhraseSuggestions.md │ │ ├── SuggestedCategory.md │ │ ├── SuggestedContent.md │ │ ├── SuggestedPhrase.md │ │ ├── SuggestedProduct.md │ │ ├── SuggestedTerm.md │ │ ├── SuggestedTerms.md │ │ ├── Suggestions.md │ │ └── SuggestModel.md │ ├── dw_svc │ │ ├── FTPService.md │ │ ├── FTPServiceDefinition.md │ │ ├── HTTPFormService.md │ │ ├── HTTPFormServiceDefinition.md │ │ ├── HTTPService.md │ │ ├── HTTPServiceDefinition.md │ │ ├── LocalServiceRegistry.md │ │ ├── Result.md │ │ ├── Service.md │ │ ├── ServiceCallback.md │ │ ├── ServiceConfig.md │ │ ├── ServiceCredential.md │ │ ├── ServiceDefinition.md │ │ ├── ServiceProfile.md │ │ ├── ServiceRegistry.md │ │ ├── SOAPService.md │ │ └── SOAPServiceDefinition.md │ ├── dw_system │ │ ├── AgentUserStatusCodes.md │ │ ├── Cache.md │ │ ├── CacheMgr.md │ │ ├── HookMgr.md │ │ ├── InternalObject.md │ │ ├── JobProcessMonitor.md │ │ ├── Log.md │ │ ├── Logger.md │ │ ├── LogNDC.md │ │ ├── OrganizationPreferences.md │ │ ├── Pipeline.md │ │ ├── PipelineDictionary.md │ │ ├── RemoteInclude.md │ │ ├── Request.md │ │ ├── RequestHooks.md │ │ ├── Response.md │ │ ├── RESTErrorResponse.md │ │ ├── RESTResponseMgr.md │ │ ├── RESTSuccessResponse.md │ │ ├── SearchStatus.md │ │ ├── Session.md │ │ ├── Site.md │ │ ├── SitePreferences.md │ │ ├── Status.md │ │ ├── StatusItem.md │ │ ├── System.md │ │ └── Transaction.md │ ├── dw_util │ │ ├── ArrayList.md │ │ ├── Assert.md │ │ ├── BigInteger.md │ │ ├── Bytes.md │ │ ├── Calendar.md │ │ ├── Collection.md │ │ ├── Currency.md │ │ ├── DateUtils.md │ │ ├── Decimal.md │ │ ├── FilteringCollection.md │ │ ├── Geolocation.md │ │ ├── HashMap.md │ │ ├── HashSet.md │ │ ├── Iterator.md │ │ ├── LinkedHashMap.md │ │ ├── LinkedHashSet.md │ │ ├── List.md │ │ ├── Locale.md │ │ ├── Map.md │ │ ├── MapEntry.md │ │ ├── MappingKey.md │ │ ├── MappingMgr.md │ │ ├── PropertyComparator.md │ │ ├── SecureEncoder.md │ │ ├── SecureFilter.md │ │ ├── SeekableIterator.md │ │ ├── Set.md │ │ ├── SortedMap.md │ │ ├── SortedSet.md │ │ ├── StringUtils.md │ │ ├── Template.md │ │ └── UUIDUtils.md │ ├── dw_value │ │ ├── EnumValue.md │ │ ├── MimeEncodedText.md │ │ ├── Money.md │ │ └── Quantity.md │ ├── dw_web │ │ ├── ClickStream.md │ │ ├── ClickStreamEntry.md │ │ ├── Cookie.md │ │ ├── Cookies.md │ │ ├── CSRFProtection.md │ │ ├── Form.md │ │ ├── FormAction.md │ │ ├── FormElement.md │ │ ├── FormElementValidationResult.md │ │ ├── FormField.md │ │ ├── FormFieldOption.md │ │ ├── FormFieldOptions.md │ │ ├── FormGroup.md │ │ ├── FormList.md │ │ ├── FormListItem.md │ │ ├── Forms.md │ │ ├── HttpParameter.md │ │ ├── HttpParameterMap.md │ │ ├── LoopIterator.md │ │ ├── PageMetaData.md │ │ ├── PageMetaTag.md │ │ ├── PagingModel.md │ │ ├── Resource.md │ │ ├── URL.md │ │ ├── URLAction.md │ │ ├── URLParameter.md │ │ ├── URLRedirect.md │ │ ├── URLRedirectMgr.md │ │ └── URLUtils.md │ ├── sfra │ │ ├── account.md │ │ ├── address.md │ │ ├── billing.md │ │ ├── cart.md │ │ ├── categories.md │ │ ├── content.md │ │ ├── locale.md │ │ ├── order.md │ │ ├── payment.md │ │ ├── price-default.md │ │ ├── price-range.md │ │ ├── price-tiered.md │ │ ├── product-bundle.md │ │ ├── product-full.md │ │ ├── product-line-items.md │ │ ├── product-search.md │ │ ├── product-tile.md │ │ ├── querystring.md │ │ ├── render.md │ │ ├── request.md │ │ ├── response.md │ │ ├── server.md │ │ ├── shipping.md │ │ ├── store.md │ │ ├── stores.md │ │ └── totals.md │ └── TopLevel │ ├── APIException.md │ ├── arguments.md │ ├── Array.md │ ├── ArrayBuffer.md │ ├── BigInt.md │ ├── Boolean.md │ ├── ConversionError.md │ ├── DataView.md │ ├── Date.md │ ├── Error.md │ ├── ES6Iterator.md │ ├── EvalError.md │ ├── Fault.md │ ├── Float32Array.md │ ├── Float64Array.md │ ├── Function.md │ ├── Generator.md │ ├── global.md │ ├── Int16Array.md │ ├── Int32Array.md │ ├── Int8Array.md │ ├── InternalError.md │ ├── IOError.md │ ├── Iterable.md │ ├── Iterator.md │ ├── JSON.md │ ├── Map.md │ ├── Math.md │ ├── Module.md │ ├── Namespace.md │ ├── Number.md │ ├── Object.md │ ├── QName.md │ ├── RangeError.md │ ├── ReferenceError.md │ ├── RegExp.md │ ├── Set.md │ ├── StopIteration.md │ ├── String.md │ ├── Symbol.md │ ├── SyntaxError.md │ ├── SystemError.md │ ├── TypeError.md │ ├── Uint16Array.md │ ├── Uint32Array.md │ ├── Uint8Array.md │ ├── Uint8ClampedArray.md │ ├── URIError.md │ ├── WeakMap.md │ ├── WeakSet.md │ ├── XML.md │ ├── XMLList.md │ └── XMLStreamError.md ├── docs-site │ ├── .gitignore │ ├── App.tsx │ ├── components │ │ ├── Badge.tsx │ │ ├── BreadcrumbSchema.tsx │ │ ├── CodeBlock.tsx │ │ ├── Collapsible.tsx │ │ ├── ConfigBuilder.tsx │ │ ├── ConfigHero.tsx │ │ ├── ConfigModeTabs.tsx │ │ ├── icons.tsx │ │ ├── Layout.tsx │ │ ├── LightCodeContainer.tsx │ │ ├── NewcomerCTA.tsx │ │ ├── NextStepsStrip.tsx │ │ ├── OnThisPage.tsx │ │ ├── Search.tsx │ │ ├── SEO.tsx │ │ ├── Sidebar.tsx │ │ ├── StructuredData.tsx │ │ ├── ToolCard.tsx │ │ ├── ToolFilters.tsx │ │ ├── Typography.tsx │ │ └── VersionBadge.tsx │ ├── constants.tsx │ ├── index.html │ ├── main.tsx │ ├── metadata.json │ ├── package-lock.json │ ├── package.json │ ├── pages │ │ ├── AIInterfacesPage.tsx │ │ ├── ConfigurationPage.tsx │ │ ├── DevelopmentPage.tsx │ │ ├── ExamplesPage.tsx │ │ ├── FeaturesPage.tsx │ │ ├── HomePage.tsx │ │ ├── SecurityPage.tsx │ │ ├── ToolsPage.tsx │ │ └── TroubleshootingPage.tsx │ ├── postcss.config.js │ ├── public │ │ ├── .well-known │ │ │ └── security.txt │ │ ├── 404.html │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── apple-touch-icon.png │ │ ├── explain-product-pricing-methods-no-mcp.png │ │ ├── explain-product-pricing-methods.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── llms.txt │ │ ├── robots.txt │ │ ├── site.webmanifest │ │ └── sitemap.xml │ ├── README.md │ ├── scripts │ │ ├── generate-search-index.js │ │ ├── generate-sitemap.js │ │ └── search-dev.js │ ├── src │ │ └── styles │ │ ├── input.css │ │ └── prism-theme.css │ ├── tailwind.config.js │ ├── tsconfig.json │ ├── types.ts │ ├── utils │ │ ├── search.ts │ │ └── toolsData.ts │ └── vite.config.ts ├── eslint.config.js ├── jest.config.js ├── LICENSE ├── package-lock.json ├── package.json ├── README.md ├── scripts │ └── convert-docs.js ├── SECURITY.md ├── server.json ├── src │ ├── clients │ │ ├── base │ │ │ ├── http-client.ts │ │ │ ├── oauth-token.ts │ │ │ └── ocapi-auth-client.ts │ │ ├── best-practices-client.ts │ │ ├── cartridge-generation-client.ts │ │ ├── docs │ │ │ ├── class-content-parser.ts │ │ │ ├── class-name-resolver.ts │ │ │ ├── documentation-scanner.ts │ │ │ ├── index.ts │ │ │ └── referenced-types-extractor.ts │ │ ├── docs-client.ts │ │ ├── log-client.ts │ │ ├── logs │ │ │ ├── index.ts │ │ │ ├── log-analyzer.ts │ │ │ ├── log-client.ts │ │ │ ├── log-constants.ts │ │ │ ├── log-file-discovery.ts │ │ │ ├── log-file-reader.ts │ │ │ ├── log-formatter.ts │ │ │ ├── log-processor.ts │ │ │ ├── log-types.ts │ │ │ └── webdav-client-manager.ts │ │ ├── ocapi │ │ │ ├── code-versions-client.ts │ │ │ ├── site-preferences-client.ts │ │ │ └── system-objects-client.ts │ │ ├── ocapi-client.ts │ │ └── sfra-client.ts │ ├── config │ │ ├── configuration-factory.ts │ │ └── dw-json-loader.ts │ ├── core │ │ ├── handlers │ │ │ ├── abstract-log-tool-handler.ts │ │ │ ├── base-handler.ts │ │ │ ├── best-practices-handler.ts │ │ │ ├── cartridge-handler.ts │ │ │ ├── client-factory.ts │ │ │ ├── code-version-handler.ts │ │ │ ├── docs-handler.ts │ │ │ ├── job-log-handler.ts │ │ │ ├── job-log-tool-config.ts │ │ │ ├── log-handler.ts │ │ │ ├── log-tool-config.ts │ │ │ ├── sfra-handler.ts │ │ │ ├── system-object-handler.ts │ │ │ └── validation-helpers.ts │ │ ├── server.ts │ │ └── tool-definitions.ts │ ├── index.ts │ ├── main.ts │ ├── services │ │ ├── file-system-service.ts │ │ ├── index.ts │ │ └── path-service.ts │ ├── tool-configs │ │ ├── best-practices-tool-config.ts │ │ ├── cartridge-tool-config.ts │ │ ├── code-version-tool-config.ts │ │ ├── docs-tool-config.ts │ │ ├── job-log-tool-config.ts │ │ ├── log-tool-config.ts │ │ ├── sfra-tool-config.ts │ │ └── system-object-tool-config.ts │ ├── types │ │ └── types.ts │ └── utils │ ├── cache.ts │ ├── job-log-tool-config.ts │ ├── job-log-utils.ts │ ├── log-cache.ts │ ├── log-tool-config.ts │ ├── log-tool-constants.ts │ ├── log-tool-utils.ts │ ├── logger.ts │ ├── ocapi-url-builder.ts │ ├── path-resolver.ts │ ├── query-builder.ts │ ├── utils.ts │ └── validator.ts ├── tests │ ├── __mocks__ │ │ ├── docs-client.ts │ │ ├── src │ │ │ └── clients │ │ │ └── base │ │ │ └── http-client.js │ │ └── webdav.js │ ├── base-handler.test.ts │ ├── base-http-client.test.ts │ ├── best-practices-handler.test.ts │ ├── cache.test.ts │ ├── cartridge-handler.test.ts │ ├── class-content-parser.test.ts │ ├── class-name-resolver.test.ts │ ├── client-factory.test.ts │ ├── code-version-handler.test.ts │ ├── code-versions-client.test.ts │ ├── config.test.ts │ ├── configuration-factory.test.ts │ ├── docs-handler.test.ts │ ├── documentation-scanner.test.ts │ ├── file-system-service.test.ts │ ├── job-log-handler.test.ts │ ├── job-log-utils.test.ts │ ├── log-client.test.ts │ ├── log-handler.test.ts │ ├── log-processor.test.ts │ ├── logger.test.ts │ ├── mcp │ │ ├── AGENTS.md │ │ ├── node │ │ │ ├── activate-code-version-advanced.full-mode.programmatic.test.js │ │ │ ├── code-versions.full-mode.programmatic.test.js │ │ │ ├── generate-cartridge-structure.docs-only.programmatic.test.js │ │ │ ├── get-available-best-practice-guides.docs-only.programmatic.test.js │ │ │ ├── get-available-sfra-documents.programmatic.test.js │ │ │ ├── get-best-practice-guide.docs-only.programmatic.test.js │ │ │ ├── get-hook-reference.docs-only.programmatic.test.js │ │ │ ├── get-job-execution-summary.full-mode.programmatic.test.js │ │ │ ├── get-job-log-entries.full-mode.programmatic.test.js │ │ │ ├── get-latest-debug.full-mode.programmatic.test.js │ │ │ ├── get-latest-error.full-mode.programmatic.test.js │ │ │ ├── get-latest-info.full-mode.programmatic.test.js │ │ │ ├── get-latest-job-log-files.full-mode.programmatic.test.js │ │ │ ├── get-latest-warn.full-mode.programmatic.test.js │ │ │ ├── get-log-file-contents.full-mode.programmatic.test.js │ │ │ ├── get-sfcc-class-documentation.docs-only.programmatic.test.js │ │ │ ├── get-sfcc-class-info.docs-only.programmatic.test.js │ │ │ ├── get-sfra-categories.docs-only.programmatic.test.js │ │ │ ├── get-sfra-document.programmatic.test.js │ │ │ ├── get-sfra-documents-by-category.docs-only.programmatic.test.js │ │ │ ├── get-system-object-definition.full-mode.programmatic.test.js │ │ │ ├── get-system-object-definitions.docs-only.programmatic.test.js │ │ │ ├── get-system-object-definitions.full-mode.programmatic.test.js │ │ │ ├── list-log-files.full-mode.programmatic.test.js │ │ │ ├── list-sfcc-classes.docs-only.programmatic.test.js │ │ │ ├── search-best-practices.docs-only.programmatic.test.js │ │ │ ├── search-custom-object-attribute-definitions.full-mode.programmatic.test.js │ │ │ ├── search-job-logs-by-name.full-mode.programmatic.test.js │ │ │ ├── search-job-logs.full-mode.programmatic.test.js │ │ │ ├── search-logs.full-mode.programmatic.test.js │ │ │ ├── search-sfcc-classes.docs-only.programmatic.test.js │ │ │ ├── search-sfcc-methods.docs-only.programmatic.test.js │ │ │ ├── search-sfra-documentation.docs-only.programmatic.test.js │ │ │ ├── search-site-preferences.full-mode.programmatic.test.js │ │ │ ├── search-system-object-attribute-definitions.full-mode.programmatic.test.js │ │ │ ├── search-system-object-attribute-groups.full-mode.programmatic.test.js │ │ │ ├── summarize-logs.full-mode.programmatic.test.js │ │ │ ├── tools.docs-only.programmatic.test.js │ │ │ └── tools.full-mode.programmatic.test.js │ │ ├── README.md │ │ ├── test-fixtures │ │ │ └── dw.json │ │ └── yaml │ │ ├── activate-code-version.docs-only.test.mcp.yml │ │ ├── activate-code-version.full-mode.test.mcp.yml │ │ ├── get_latest_error.test.mcp.yml │ │ ├── get-available-best-practice-guides.docs-only.test.mcp.yml │ │ ├── get-available-best-practice-guides.full-mode.test.mcp.yml │ │ ├── get-available-sfra-documents.docs-only.test.mcp.yml │ │ ├── get-available-sfra-documents.full-mode.test.mcp.yml │ │ ├── get-best-practice-guide.docs-only.test.mcp.yml │ │ ├── get-best-practice-guide.full-mode.test.mcp.yml │ │ ├── get-code-versions.docs-only.test.mcp.yml │ │ ├── get-code-versions.full-mode.test.mcp.yml │ │ ├── get-hook-reference.docs-only.test.mcp.yml │ │ ├── get-hook-reference.full-mode.test.mcp.yml │ │ ├── get-job-execution-summary.full-mode.test.mcp.yml │ │ ├── get-job-log-entries.full-mode.test.mcp.yml │ │ ├── get-latest-debug.full-mode.test.mcp.yml │ │ ├── get-latest-error.full-mode.test.mcp.yml │ │ ├── get-latest-info.full-mode.test.mcp.yml │ │ ├── get-latest-job-log-files.full-mode.test.mcp.yml │ │ ├── get-latest-warn.full-mode.test.mcp.yml │ │ ├── get-log-file-contents.full-mode.test.mcp.yml │ │ ├── get-sfcc-class-documentation.docs-only.test.mcp.yml │ │ ├── get-sfcc-class-documentation.full-mode.test.mcp.yml │ │ ├── get-sfcc-class-info.docs-only.test.mcp.yml │ │ ├── get-sfcc-class-info.full-mode.test.mcp.yml │ │ ├── get-sfra-categories.docs-only.test.mcp.yml │ │ ├── get-sfra-categories.full-mode.test.mcp.yml │ │ ├── get-sfra-document.docs-only.test.mcp.yml │ │ ├── get-sfra-document.full-mode.test.mcp.yml │ │ ├── get-sfra-documents-by-category.docs-only.test.mcp.yml │ │ ├── get-sfra-documents-by-category.full-mode.test.mcp.yml │ │ ├── get-system-object-definition.docs-only.test.mcp.yml │ │ ├── get-system-object-definition.full-mode.test.mcp.yml │ │ ├── get-system-object-definitions.docs-only.test.mcp.yml │ │ ├── get-system-object-definitions.full-mode.test.mcp.yml │ │ ├── list-log-files.full-mode.test.mcp.yml │ │ ├── list-sfcc-classes.docs-only.test.mcp.yml │ │ ├── list-sfcc-classes.full-mode.test.mcp.yml │ │ ├── search-best-practices.docs-only.test.mcp.yml │ │ ├── search-best-practices.full-mode.test.mcp.yml │ │ ├── search-custom-object-attribute-definitions.docs-only.test.mcp.yml │ │ ├── search-custom-object-attribute-definitions.test.mcp.yml │ │ ├── search-job-logs-by-name.full-mode.test.mcp.yml │ │ ├── search-job-logs.full-mode.test.mcp.yml │ │ ├── search-logs.full-mode.test.mcp.yml │ │ ├── search-sfcc-classes.docs-only.test.mcp.yml │ │ ├── search-sfcc-classes.full-mode.test.mcp.yml │ │ ├── search-sfcc-methods.docs-only.test.mcp.yml │ │ ├── search-sfcc-methods.full-mode.test.mcp.yml │ │ ├── search-sfra-documentation.docs-only.test.mcp.yml │ │ ├── search-sfra-documentation.full-mode.test.mcp.yml │ │ ├── search-site-preferences.docs-only.test.mcp.yml │ │ ├── search-site-preferences.full-mode.test.mcp.yml │ │ ├── search-system-object-attribute-definitions.docs-only.test.mcp.yml │ │ ├── search-system-object-attribute-definitions.full-mode.test.mcp.yml │ │ ├── search-system-object-attribute-groups.docs-only.test.mcp.yml │ │ ├── search-system-object-attribute-groups.full-mode.test.mcp.yml │ │ ├── summarize-logs.full-mode.test.mcp.yml │ │ ├── tools.docs-only.test.mcp.yml │ │ └── tools.full-mode.test.mcp.yml │ ├── oauth-token.test.ts │ ├── ocapi-auth-client.test.ts │ ├── ocapi-client.test.ts │ ├── path-service.test.ts │ ├── query-builder.test.ts │ ├── referenced-types-extractor.test.ts │ ├── servers │ │ ├── sfcc-mock-server │ │ │ ├── mock-data │ │ │ │ └── ocapi │ │ │ │ ├── code-versions.json │ │ │ │ ├── custom-object-attributes-customapi.json │ │ │ │ ├── custom-object-attributes-globalsettings.json │ │ │ │ ├── custom-object-attributes-versionhistory.json │ │ │ │ ├── site-preferences-ccv.json │ │ │ │ ├── site-preferences-fastforward.json │ │ │ │ ├── site-preferences-sfra.json │ │ │ │ ├── site-preferences-storefront.json │ │ │ │ ├── site-preferences-system.json │ │ │ │ ├── system-object-attribute-groups-campaign.json │ │ │ │ ├── system-object-attribute-groups-category.json │ │ │ │ ├── system-object-attribute-groups-order.json │ │ │ │ ├── system-object-attribute-groups-product.json │ │ │ │ ├── system-object-attribute-groups-sitepreferences.json │ │ │ │ ├── system-object-attributes-customeraddress.json │ │ │ │ ├── system-object-attributes-product-expanded.json │ │ │ │ ├── system-object-attributes-product.json │ │ │ │ ├── system-object-definition-category.json │ │ │ │ ├── system-object-definition-customer.json │ │ │ │ ├── system-object-definition-customeraddress.json │ │ │ │ ├── system-object-definition-order.json │ │ │ │ ├── system-object-definition-product.json │ │ │ │ ├── system-object-definitions-old.json │ │ │ │ └── system-object-definitions.json │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── README.md │ │ │ ├── scripts │ │ │ │ └── setup-logs.js │ │ │ ├── server.js │ │ │ └── src │ │ │ ├── app.js │ │ │ ├── config │ │ │ │ └── server-config.js │ │ │ ├── middleware │ │ │ │ ├── auth.js │ │ │ │ ├── cors.js │ │ │ │ └── logging.js │ │ │ ├── routes │ │ │ │ ├── ocapi │ │ │ │ │ ├── code-versions-handler.js │ │ │ │ │ ├── oauth-handler.js │ │ │ │ │ ├── ocapi-error-utils.js │ │ │ │ │ ├── ocapi-utils.js │ │ │ │ │ ├── site-preferences-handler.js │ │ │ │ │ └── system-objects-handler.js │ │ │ │ ├── ocapi.js │ │ │ │ └── webdav.js │ │ │ └── utils │ │ │ ├── mock-data-loader.js │ │ │ └── webdav-xml.js │ │ └── sfcc-mock-server-manager.ts │ ├── sfcc-mock-server.test.ts │ ├── site-preferences-client.test.ts │ ├── system-objects-client.test.ts │ ├── utils.test.ts │ ├── validation-helpers.test.ts │ └── validator.test.ts ├── tsconfig.json └── tsconfig.test.json ``` # Files -------------------------------------------------------------------------------- /tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js: -------------------------------------------------------------------------------- ```javascript 1 | /** 2 | * Mock Data Loader Utility 3 | * 4 | * Handles loading and caching of mock data files with fallback strategies. 5 | * Provides consistent error handling and logging for data loading operations. 6 | */ 7 | 8 | const fs = require('fs'); 9 | const path = require('path'); 10 | 11 | class MockDataLoader { 12 | constructor(basePath) { 13 | this.basePath = basePath; 14 | this.cache = new Map(); 15 | } 16 | 17 | /** 18 | * Load mock data with caching and fallback 19 | */ 20 | loadData(filename, fallbackData = null) { 21 | // Check cache first 22 | if (this.cache.has(filename)) { 23 | return this.cache.get(filename); 24 | } 25 | 26 | try { 27 | const filePath = path.join(this.basePath, filename); 28 | 29 | if (fs.existsSync(filePath)) { 30 | const data = JSON.parse(fs.readFileSync(filePath, 'utf8')); 31 | this.cache.set(filename, data); 32 | return data; 33 | } 34 | } catch (error) { 35 | console.warn(`Warning: Could not load mock data from ${filename}:`, error.message); 36 | } 37 | 38 | // Use fallback data if provided 39 | if (fallbackData !== null) { 40 | this.cache.set(filename, fallbackData); 41 | return fallbackData; 42 | } 43 | 44 | return null; 45 | } 46 | 47 | /** 48 | * Load mock data from OCAPI subdirectory 49 | */ 50 | loadOcapiData(filename, fallbackData = null) { 51 | return this.loadData(path.join('ocapi', filename), fallbackData); 52 | } 53 | 54 | /** 55 | * Check if a file exists 56 | */ 57 | fileExists(filename) { 58 | const filePath = path.join(this.basePath, filename); 59 | return fs.existsSync(filePath); 60 | } 61 | 62 | /** 63 | * Clear cache for a specific file or all files 64 | */ 65 | clearCache(filename = null) { 66 | if (filename) { 67 | this.cache.delete(filename); 68 | } else { 69 | this.cache.clear(); 70 | } 71 | } 72 | 73 | /** 74 | * Get cache statistics 75 | */ 76 | getCacheStats() { 77 | return { 78 | size: this.cache.size, 79 | keys: Array.from(this.cache.keys()) 80 | }; 81 | } 82 | } 83 | 84 | module.exports = MockDataLoader; ``` -------------------------------------------------------------------------------- /src/core/handlers/abstract-log-tool-handler.ts: -------------------------------------------------------------------------------- ```typescript 1 | import { BaseToolHandler, GenericToolSpec, ToolExecutionContext, HandlerContext } from './base-handler.js'; 2 | import { SFCCLogClient } from '../../clients/logs/index.js'; 3 | import { ClientFactory } from './client-factory.js'; 4 | 5 | /** 6 | * Abstract base class for log-related tool handlers 7 | * Extends the generic config-driven handler with log-specific functionality 8 | */ 9 | export abstract class AbstractLogToolHandler<TToolName extends string = string> extends BaseToolHandler<TToolName> { 10 | protected logClient: SFCCLogClient | null = null; 11 | protected clientFactory: ClientFactory; 12 | 13 | constructor(context: HandlerContext, subLoggerName: string) { 14 | super(context, subLoggerName); 15 | this.clientFactory = new ClientFactory(context, this.logger); 16 | } 17 | 18 | protected async onInitialize(): Promise<void> { 19 | this.logClient = this.clientFactory.createLogClient(); 20 | if (this.logClient) { 21 | this.logger.debug('Log client initialized'); 22 | } 23 | } 24 | 25 | protected async onDispose(): Promise<void> { 26 | this.logClient = null; 27 | this.logger.debug('Log client disposed'); 28 | } 29 | 30 | /** 31 | * Get the log client with proper error handling 32 | * Eliminates repetitive null checks in handlers 33 | */ 34 | protected getLogClient(): SFCCLogClient { 35 | if (!this.logClient) { 36 | throw new Error(ClientFactory.getClientRequiredError('Log')); 37 | } 38 | return this.logClient; 39 | } 40 | 41 | /** 42 | * Create execution context for log tools 43 | * Provides access to log client and handler context 44 | */ 45 | protected async createExecutionContext(): Promise<ToolExecutionContext> { 46 | return { 47 | handlerContext: this.context, 48 | logger: this.logger, 49 | logClient: this.getLogClient(), 50 | }; 51 | } 52 | 53 | /** 54 | * Abstract method to get tool configuration 55 | * Each concrete log handler implements this with their specific config 56 | */ 57 | protected abstract getToolConfig(): Record<TToolName, GenericToolSpec>; 58 | 59 | /** 60 | * Abstract method to get tool name set for O(1) lookup 61 | * Each concrete log handler implements this with their specific tool set 62 | */ 63 | protected abstract getToolNameSet(): Set<string>; 64 | } 65 | ``` -------------------------------------------------------------------------------- /docs/dw_catalog/CategoryLink.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class CategoryLink 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.catalog.CategoryLink 9 | 10 | ## Description 11 | 12 | A CategoryLink represents a directed relationship between two catalog categories. Merchants create category links in order to market similar or related groups of products. 13 | 14 | ## Constants 15 | 16 | ### LINKTYPE_ACCESSORY 17 | 18 | **Type:** Number = 2 19 | 20 | Represents an accessory category link. 21 | 22 | ### LINKTYPE_CROSS_SELL 23 | 24 | **Type:** Number = 4 25 | 26 | Represents a cross-sell category link. 27 | 28 | ### LINKTYPE_OTHER 29 | 30 | **Type:** Number = 1 31 | 32 | Represents a miscellaneous category link. 33 | 34 | ### LINKTYPE_SPARE_PART 35 | 36 | **Type:** Number = 6 37 | 38 | Represents a spare part category link. 39 | 40 | ### LINKTYPE_UP_SELL 41 | 42 | **Type:** Number = 5 43 | 44 | Represents an up-sell category link. 45 | 46 | ## Properties 47 | 48 | ### sourceCategory 49 | 50 | **Type:** Category (Read Only) 51 | 52 | The object for the relation 'sourceCategory'. 53 | 54 | ### targetCategory 55 | 56 | **Type:** Category (Read Only) 57 | 58 | The object for the relation 'targetCategory'. 59 | 60 | ### typeCode 61 | 62 | **Type:** Number (Read Only) 63 | 64 | The type of this category link (see constants). 65 | 66 | ## Constructor Summary 67 | 68 | ## Method Summary 69 | 70 | ### getSourceCategory 71 | 72 | **Signature:** `getSourceCategory() : Category` 73 | 74 | Returns the object for the relation 'sourceCategory'. 75 | 76 | ### getTargetCategory 77 | 78 | **Signature:** `getTargetCategory() : Category` 79 | 80 | Returns the object for the relation 'targetCategory'. 81 | 82 | ### getTypeCode 83 | 84 | **Signature:** `getTypeCode() : Number` 85 | 86 | Returns the type of this category link (see constants). 87 | 88 | ## Method Detail 89 | 90 | ## Method Details 91 | 92 | ### getSourceCategory 93 | 94 | **Signature:** `getSourceCategory() : Category` 95 | 96 | **Description:** Returns the object for the relation 'sourceCategory'. 97 | 98 | **Returns:** 99 | 100 | the object for the relation 'sourceCategory' 101 | 102 | --- 103 | 104 | ### getTargetCategory 105 | 106 | **Signature:** `getTargetCategory() : Category` 107 | 108 | **Description:** Returns the object for the relation 'targetCategory'. 109 | 110 | **Returns:** 111 | 112 | the object for the relation 'targetCategory' 113 | 114 | --- 115 | 116 | ### getTypeCode 117 | 118 | **Signature:** `getTypeCode() : Number` 119 | 120 | **Description:** Returns the type of this category link (see constants). 121 | 122 | **Returns:** 123 | 124 | the type of the link. 125 | 126 | --- ``` -------------------------------------------------------------------------------- /docs/dw_catalog/ProductLink.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class ProductLink 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.catalog.ProductLink 9 | 10 | ## Description 11 | 12 | The class represents a link between two products. 13 | 14 | ## Constants 15 | 16 | ### LINKTYPE_ACCESSORY 17 | 18 | **Type:** Number = 4 19 | 20 | Represents an accessory product link. 21 | 22 | ### LINKTYPE_ALT_ORDERUNIT 23 | 24 | **Type:** Number = 6 25 | 26 | Represents an alternative order unit product link. 27 | 28 | ### LINKTYPE_CROSS_SELL 29 | 30 | **Type:** Number = 1 31 | 32 | Represents a cross-sell product link. 33 | 34 | ### LINKTYPE_NEWER_VERSION 35 | 36 | **Type:** Number = 5 37 | 38 | Represents a newer verion link. 39 | 40 | ### LINKTYPE_OTHER 41 | 42 | **Type:** Number = 8 43 | 44 | Represents a miscellaneous product link. 45 | 46 | ### LINKTYPE_REPLACEMENT 47 | 48 | **Type:** Number = 2 49 | 50 | Represents a replacement product link. 51 | 52 | ### LINKTYPE_SPARE_PART 53 | 54 | **Type:** Number = 7 55 | 56 | Represents a spare part product link. 57 | 58 | ### LINKTYPE_UP_SELL 59 | 60 | **Type:** Number = 3 61 | 62 | Represents an up-sell product link. 63 | 64 | ## Properties 65 | 66 | ### sourceProduct 67 | 68 | **Type:** Product (Read Only) 69 | 70 | The source product for this link. 71 | 72 | ### targetProduct 73 | 74 | **Type:** Product (Read Only) 75 | 76 | The target product for this link. 77 | 78 | ### typeCode 79 | 80 | **Type:** Number (Read Only) 81 | 82 | The type of this link (see constants). 83 | 84 | ## Constructor Summary 85 | 86 | ## Method Summary 87 | 88 | ### getSourceProduct 89 | 90 | **Signature:** `getSourceProduct() : Product` 91 | 92 | Returns the source product for this link. 93 | 94 | ### getTargetProduct 95 | 96 | **Signature:** `getTargetProduct() : Product` 97 | 98 | Returns the target product for this link. 99 | 100 | ### getTypeCode 101 | 102 | **Signature:** `getTypeCode() : Number` 103 | 104 | Returns the type of this link (see constants). 105 | 106 | ## Method Detail 107 | 108 | ## Method Details 109 | 110 | ### getSourceProduct 111 | 112 | **Signature:** `getSourceProduct() : Product` 113 | 114 | **Description:** Returns the source product for this link. 115 | 116 | **Returns:** 117 | 118 | the source product for this link. 119 | 120 | --- 121 | 122 | ### getTargetProduct 123 | 124 | **Signature:** `getTargetProduct() : Product` 125 | 126 | **Description:** Returns the target product for this link. 127 | 128 | **Returns:** 129 | 130 | the target product for this link. 131 | 132 | --- 133 | 134 | ### getTypeCode 135 | 136 | **Signature:** `getTypeCode() : Number` 137 | 138 | **Description:** Returns the type of this link (see constants). 139 | 140 | **Returns:** 141 | 142 | the type of the link. 143 | 144 | --- ``` -------------------------------------------------------------------------------- /docs/dw_catalog/ProductAvailabilityLevels.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class ProductAvailabilityLevels 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.catalog.ProductAvailabilityLevels 9 | 10 | ## Description 11 | 12 | Encapsulates the quantity of items available for each availability status. 13 | 14 | ## Properties 15 | 16 | ### backorder 17 | 18 | **Type:** Quantity (Read Only) 19 | 20 | The backorder quantity. 21 | 22 | ### count 23 | 24 | **Type:** Number (Read Only) 25 | 26 | The number of attributes that contain non-zero quantities. 27 | 28 | ### inStock 29 | 30 | **Type:** Quantity (Read Only) 31 | 32 | The quantity in stock. 33 | 34 | ### notAvailable 35 | 36 | **Type:** Quantity (Read Only) 37 | 38 | The quantity that is not available. 39 | 40 | ### preorder 41 | 42 | **Type:** Quantity (Read Only) 43 | 44 | The pre-order quantity. 45 | 46 | ## Constructor Summary 47 | 48 | ## Method Summary 49 | 50 | ### getBackorder 51 | 52 | **Signature:** `getBackorder() : Quantity` 53 | 54 | Returns the backorder quantity. 55 | 56 | ### getCount 57 | 58 | **Signature:** `getCount() : Number` 59 | 60 | Returns the number of attributes that contain non-zero quantities. 61 | 62 | ### getInStock 63 | 64 | **Signature:** `getInStock() : Quantity` 65 | 66 | Returns the quantity in stock. 67 | 68 | ### getNotAvailable 69 | 70 | **Signature:** `getNotAvailable() : Quantity` 71 | 72 | Returns the quantity that is not available. 73 | 74 | ### getPreorder 75 | 76 | **Signature:** `getPreorder() : Quantity` 77 | 78 | Returns the pre-order quantity. 79 | 80 | ## Method Detail 81 | 82 | ## Method Details 83 | 84 | ### getBackorder 85 | 86 | **Signature:** `getBackorder() : Quantity` 87 | 88 | **Description:** Returns the backorder quantity. 89 | 90 | **Returns:** 91 | 92 | the backorder quantity. 93 | 94 | --- 95 | 96 | ### getCount 97 | 98 | **Signature:** `getCount() : Number` 99 | 100 | **Description:** Returns the number of attributes that contain non-zero quantities. 101 | 102 | **Returns:** 103 | 104 | the number of attributes that contain non-zero quantities. 105 | 106 | --- 107 | 108 | ### getInStock 109 | 110 | **Signature:** `getInStock() : Quantity` 111 | 112 | **Description:** Returns the quantity in stock. 113 | 114 | **Returns:** 115 | 116 | the quantity in stock. 117 | 118 | --- 119 | 120 | ### getNotAvailable 121 | 122 | **Signature:** `getNotAvailable() : Quantity` 123 | 124 | **Description:** Returns the quantity that is not available. 125 | 126 | **Returns:** 127 | 128 | the quantity that is not available. 129 | 130 | --- 131 | 132 | ### getPreorder 133 | 134 | **Signature:** `getPreorder() : Quantity` 135 | 136 | **Description:** Returns the pre-order quantity. 137 | 138 | **Returns:** 139 | 140 | the pre-order quantity. 141 | 142 | --- ``` -------------------------------------------------------------------------------- /docs/dw_content/Library.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.content 2 | 3 | # Class Library 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.object.PersistentObject 9 | - dw.object.ExtensibleObject 10 | - dw.content.Library 11 | 12 | ## Description 13 | 14 | Class representing a collection of Content assets, and a Folder hierarchy organizing these content assets. Currently only one library is allowed per site. An instance of this library can be obtained by calling ContentMgr.getSiteLibrary(). 15 | 16 | ## Properties 17 | 18 | ### CMSChannelID 19 | 20 | **Type:** String (Read Only) 21 | 22 | The CMS channel of the library. 23 | 24 | ### displayName 25 | 26 | **Type:** String (Read Only) 27 | 28 | The display name for the library as known in the current 29 | locale or null if it cannot be found. 30 | 31 | ### ID 32 | 33 | **Type:** String (Read Only) 34 | 35 | The ID of this library. 36 | 37 | ### root 38 | 39 | **Type:** Folder (Read Only) 40 | 41 | The root folder for this library. 42 | 43 | ## Constructor Summary 44 | 45 | ## Method Summary 46 | 47 | ### getCMSChannelID 48 | 49 | **Signature:** `getCMSChannelID() : String` 50 | 51 | Returns the CMS channel of the library. 52 | 53 | ### getDisplayName 54 | 55 | **Signature:** `getDisplayName() : String` 56 | 57 | Returns the display name for the library as known in the current locale or null if it cannot be found. 58 | 59 | ### getID 60 | 61 | **Signature:** `getID() : String` 62 | 63 | Returns the ID of this library. 64 | 65 | ### getRoot 66 | 67 | **Signature:** `getRoot() : Folder` 68 | 69 | Returns the root folder for this library. 70 | 71 | ## Method Detail 72 | 73 | ## Method Details 74 | 75 | ### getCMSChannelID 76 | 77 | **Signature:** `getCMSChannelID() : String` 78 | 79 | **Description:** Returns the CMS channel of the library. 80 | 81 | **Returns:** 82 | 83 | the CMS channel of the library 84 | 85 | --- 86 | 87 | ### getDisplayName 88 | 89 | **Signature:** `getDisplayName() : String` 90 | 91 | **Description:** Returns the display name for the library as known in the current locale or null if it cannot be found. 92 | 93 | **Returns:** 94 | 95 | the display name for the library as known in the current locale or null if it cannot be found. 96 | 97 | --- 98 | 99 | ### getID 100 | 101 | **Signature:** `getID() : String` 102 | 103 | **Description:** Returns the ID of this library. 104 | 105 | **Returns:** 106 | 107 | the ID of this library. 108 | 109 | --- 110 | 111 | ### getRoot 112 | 113 | **Signature:** `getRoot() : Folder` 114 | 115 | **Description:** Returns the root folder for this library. 116 | 117 | **Returns:** 118 | 119 | the root Folder for this library. 120 | 121 | --- ``` -------------------------------------------------------------------------------- /docs-site/src/styles/prism-theme.css: -------------------------------------------------------------------------------- ```css 1 | /* Custom Prism.js theme for SFCC Development MCP Server docs */ 2 | /* Override default Prism styles with a clean, modern theme */ 3 | 4 | pre[class*="language-"] { 5 | background: transparent; 6 | margin: 0; 7 | padding: 0; 8 | overflow: visible; 9 | } 10 | 11 | code[class*="language-"] { 12 | background: transparent; 13 | text-shadow: none; 14 | font-family: ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 15 | font-size: 0.875rem; 16 | line-height: 1.5; 17 | color: #374151; /* slate-700 */ 18 | } 19 | 20 | /* Tokens */ 21 | .token.comment, 22 | .token.prolog, 23 | .token.doctype, 24 | .token.cdata { 25 | color: #6b7280; /* slate-500 */ 26 | font-style: italic; 27 | } 28 | 29 | .token.punctuation { 30 | color: #6b7280; /* slate-500 */ 31 | } 32 | 33 | .token.property, 34 | .token.tag, 35 | .token.boolean, 36 | .token.number, 37 | .token.constant, 38 | .token.symbol, 39 | .token.deleted { 40 | color: #dc2626; /* red-600 */ 41 | } 42 | 43 | .token.selector, 44 | .token.attr-name, 45 | .token.string, 46 | .token.char, 47 | .token.builtin, 48 | .token.inserted { 49 | color: #059669; /* emerald-600 */ 50 | } 51 | 52 | .token.operator, 53 | .token.entity, 54 | .token.url, 55 | .language-css .token.string, 56 | .style .token.string { 57 | color: #7c3aed; /* violet-600 */ 58 | } 59 | 60 | .token.atrule, 61 | .token.attr-value, 62 | .token.keyword { 63 | color: #2563eb; /* blue-600 */ 64 | } 65 | 66 | .token.function, 67 | .token.class-name { 68 | color: #ea580c; /* orange-600 */ 69 | } 70 | 71 | .token.regex, 72 | .token.important, 73 | .token.variable { 74 | color: #dc2626; /* red-600 */ 75 | } 76 | 77 | .token.important, 78 | .token.bold { 79 | font-weight: bold; 80 | } 81 | 82 | .token.italic { 83 | font-style: italic; 84 | } 85 | 86 | .token.entity { 87 | cursor: help; 88 | } 89 | 90 | /* JSON specific */ 91 | .token.key { 92 | color: #2563eb; /* blue-600 */ 93 | } 94 | 95 | /* YAML specific */ 96 | .token.title { 97 | color: #2563eb; /* blue-600 */ 98 | } 99 | 100 | /* Bash/Shell specific */ 101 | .token.command { 102 | color: #059669; /* emerald-600 */ 103 | } 104 | 105 | .token.parameter { 106 | color: #dc2626; /* red-600 */ 107 | } 108 | 109 | /* JSX/TSX specific */ 110 | .token.tag .token.punctuation { 111 | color: #6b7280; /* slate-500 */ 112 | } 113 | 114 | .token.tag .token.script-punctuation { 115 | color: #6b7280; /* slate-500 */ 116 | } 117 | 118 | .token.attr-value .token.punctuation { 119 | color: #059669; /* emerald-600 */ 120 | } 121 | 122 | .token.attr-value .token.punctuation:first-child { 123 | color: #059669; /* emerald-600 */ 124 | } 125 | ``` -------------------------------------------------------------------------------- /docs/dw_order/TaxGroup.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.order 2 | 3 | # Class TaxGroup 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.order.TaxGroup 9 | 10 | ## Description 11 | 12 | Contains the formal definition of a tax including a type (it's just the key), a percentage value if provided, a caption and a description. 13 | 14 | ## Properties 15 | 16 | ### caption 17 | 18 | **Type:** String (Read Only) 19 | 20 | Gets the caption. 21 | 22 | ### description 23 | 24 | **Type:** String (Read Only) 25 | 26 | Gets the description. 27 | 28 | ### rate 29 | 30 | **Type:** Number (Read Only) 31 | 32 | Gets the percentage amount of the rate. 33 | 34 | ### taxType 35 | 36 | **Type:** String (Read Only) 37 | 38 | Gets the tax type. 39 | 40 | ## Constructor Summary 41 | 42 | ## Method Summary 43 | 44 | ### create 45 | 46 | **Signature:** `static create(taxType : String, caption : String, description : String, taxRate : Decimal) : TaxGroup` 47 | 48 | Creates a TaxGroup. 49 | 50 | ### getCaption 51 | 52 | **Signature:** `getCaption() : String` 53 | 54 | Gets the caption. 55 | 56 | ### getDescription 57 | 58 | **Signature:** `getDescription() : String` 59 | 60 | Gets the description. 61 | 62 | ### getRate 63 | 64 | **Signature:** `getRate() : Number` 65 | 66 | Gets the percentage amount of the rate. 67 | 68 | ### getTaxType 69 | 70 | **Signature:** `getTaxType() : String` 71 | 72 | Gets the tax type. 73 | 74 | ## Method Detail 75 | 76 | ## Method Details 77 | 78 | ### create 79 | 80 | **Signature:** `static create(taxType : String, caption : String, description : String, taxRate : Decimal) : TaxGroup` 81 | 82 | **Description:** Creates a TaxGroup. This TaxGroup can be used for example in ReturnItem.addTaxItem(Decimal, TaxGroup). 83 | 84 | **Parameters:** 85 | 86 | - `taxType`: the tax type 87 | - `caption`: the caption 88 | - `description`: the description 89 | - `taxRate`: the tax rate as floating point. 1.0 means 100 %. 90 | 91 | **Returns:** 92 | 93 | the tax group 94 | 95 | --- 96 | 97 | ### getCaption 98 | 99 | **Signature:** `getCaption() : String` 100 | 101 | **Description:** Gets the caption. 102 | 103 | **Returns:** 104 | 105 | the caption 106 | 107 | --- 108 | 109 | ### getDescription 110 | 111 | **Signature:** `getDescription() : String` 112 | 113 | **Description:** Gets the description. 114 | 115 | **Returns:** 116 | 117 | the description 118 | 119 | --- 120 | 121 | ### getRate 122 | 123 | **Signature:** `getRate() : Number` 124 | 125 | **Description:** Gets the percentage amount of the rate. 126 | 127 | **Returns:** 128 | 129 | the tax rate percentage value 130 | 131 | --- 132 | 133 | ### getTaxType 134 | 135 | **Signature:** `getTaxType() : String` 136 | 137 | **Description:** Gets the tax type. 138 | 139 | **Returns:** 140 | 141 | the tax type 142 | 143 | --- ``` -------------------------------------------------------------------------------- /docs/dw_campaign/CouponStatusCodes.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.campaign 2 | 3 | # Class CouponStatusCodes 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.campaign.CouponStatusCodes 9 | 10 | ## Description 11 | 12 | Helper class containing status codes for why a coupon code cannot be added to cart or why a coupon code already in cart is not longer valid for redemption. 13 | 14 | ## Constants 15 | 16 | ### APPLIED 17 | 18 | **Type:** String = "APPLIED" 19 | 20 | Coupon is currently applied in basket = Coupon code is valid for redemption and Coupon is assigned to one or multiple applicable promotions. 21 | 22 | ### COUPON_ALREADY_IN_BASKET 23 | 24 | **Type:** String = "COUPON_ALREADY_IN_BASKET" 25 | 26 | Indicates that another code of the same MultiCode/System coupon has already been added to basket. 27 | 28 | ### COUPON_CODE_ALREADY_IN_BASKET 29 | 30 | **Type:** String = "COUPON_CODE_ALREADY_IN_BASKET" 31 | 32 | Indicates that coupon code has already been added to basket. 33 | 34 | ### COUPON_CODE_ALREADY_REDEEMED 35 | 36 | **Type:** String = "COUPON_CODE_ALREADY_REDEEMED" 37 | 38 | Indicates that code of MultiCode/System coupon has already been redeemed. 39 | 40 | ### COUPON_CODE_UNKNOWN 41 | 42 | **Type:** String = "COUPON_CODE_UNKNOWN" 43 | 44 | Indicates that coupon not found for given coupon code or that the code itself was not found. 45 | 46 | ### COUPON_DISABLED 47 | 48 | **Type:** String = "COUPON_DISABLED" 49 | 50 | Indicates that coupon is not enabled. 51 | 52 | ### CUSTOMER_REDEMPTION_LIMIT_EXCEEDED 53 | 54 | **Type:** String = "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED" 55 | 56 | Indicates that No. of redemptions per code & customer exceeded. 57 | 58 | ### NO_ACTIVE_PROMOTION 59 | 60 | **Type:** String = "NO_ACTIVE_PROMOTION" 61 | 62 | Indicates that coupon is not assigned to an active promotion. 63 | 64 | ### NO_APPLICABLE_PROMOTION 65 | 66 | **Type:** String = "NO_APPLICABLE_PROMOTION" 67 | 68 | Coupon is assigned to one or multiple active promotions, but none of these promotions is currently applicable. 69 | 70 | ### REDEMPTION_LIMIT_EXCEEDED 71 | 72 | **Type:** String = "REDEMPTION_LIMIT_EXCEEDED" 73 | 74 | Indicates that no. of redemptions per code exceeded. Usually happens for single code coupons 75 | 76 | ### TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED 77 | 78 | **Type:** String = "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED" 79 | 80 | Indicates that No. of redemptions per code,customer & time exceeded. 81 | 82 | ## Properties 83 | 84 | ## Constructor Summary 85 | 86 | ## Method Summary ``` -------------------------------------------------------------------------------- /docs/dw_web/URLRedirectMgr.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.web 2 | 3 | # Class URLRedirectMgr 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.web.URLRedirectMgr 9 | 10 | ## Description 11 | 12 | URLRedirect manager class. Methods in this class generate URLRedirects based on the current configuration for Static, Dynamic and URLRedirect mappings in Commerce Cloud Digital. Information used to calculate URLRedirects are determined from the current HTTP request. The URL which is used to find a redirect can be accessed with getRedirectOrigin(). 13 | 14 | ## Properties 15 | 16 | ### redirect 17 | 18 | **Type:** URLRedirect (Read Only) 19 | 20 | An URLRedirect object, containing a location and status. The redirect is calculated 21 | based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for 22 | the requested site. 23 | 24 | ### redirectOrigin 25 | 26 | **Type:** String (Read Only) 27 | 28 | The relative origin url (without protocol, port, hostname and site path information) 29 | which will be used in getRedirect() to calculate a redirect location for. 30 | 31 | ## Constructor Summary 32 | 33 | ## Method Summary 34 | 35 | ### getRedirect 36 | 37 | **Signature:** `static getRedirect() : URLRedirect` 38 | 39 | Returns an URLRedirect object, containing a location and status. 40 | 41 | ### getRedirectOrigin 42 | 43 | **Signature:** `static getRedirectOrigin() : String` 44 | 45 | Returns the relative origin url (without protocol, port, hostname and site path information) which will be used in getRedirect() to calculate a redirect location for. 46 | 47 | ## Method Detail 48 | 49 | ## Method Details 50 | 51 | ### getRedirect 52 | 53 | **Signature:** `static getRedirect() : URLRedirect` 54 | 55 | **Description:** Returns an URLRedirect object, containing a location and status. The redirect is calculated based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for the requested site. 56 | 57 | **Returns:** 58 | 59 | URLRedirect containing the location and status code, null in case of no redirect was found 60 | 61 | --- 62 | 63 | ### getRedirectOrigin 64 | 65 | **Signature:** `static getRedirectOrigin() : String` 66 | 67 | **Description:** Returns the relative origin url (without protocol, port, hostname and site path information) which will be used in getRedirect() to calculate a redirect location for. 68 | 69 | **Returns:** 70 | 71 | relative origin url 72 | 73 | --- ``` -------------------------------------------------------------------------------- /docs/dw_web/CSRFProtection.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.web 2 | 3 | # Class CSRFProtection 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.web.CSRFProtection 9 | 10 | ## Description 11 | 12 | Used to generate and validate CSRF tokens. CSRFProtection allows applications to protect themselves against CSRF attacks, using synchronizer tokens, a best practice. Once created, these tokens are tied to a user’s session and valid for 60 minutes. Usage: Adding CSRF token to forms: //CSRF token generation <form ... action="<protected location>"> <input name="foo" value="bar"> <input name="${dw.web.CSRFProtection.getTokenName()}" value="${dw.web.CSRFProtection.generateToken()"> </form> Then, in scripts call: dw.web.CSRFProtection.validateRequest(); 13 | 14 | ## Properties 15 | 16 | ### tokenName 17 | 18 | **Type:** String (Read Only) 19 | 20 | The system generated CSRF token name. Currently, this name is not user configurable. Must be used for 21 | validateRequest() to work 22 | 23 | ## Constructor Summary 24 | 25 | ## Method Summary 26 | 27 | ### generateToken 28 | 29 | **Signature:** `static generateToken() : String` 30 | 31 | Constructs a new unique CSRF token for this session. 32 | 33 | ### getTokenName 34 | 35 | **Signature:** `static getTokenName() : String` 36 | 37 | Returns the system generated CSRF token name. 38 | 39 | ### validateRequest 40 | 41 | **Signature:** `static validateRequest() : boolean` 42 | 43 | Verifies that a client request contains a valid CSRF token, and that the token has not expired. 44 | 45 | ## Method Detail 46 | 47 | ## Method Details 48 | 49 | ### generateToken 50 | 51 | **Signature:** `static generateToken() : String` 52 | 53 | **Description:** Constructs a new unique CSRF token for this session. 54 | 55 | **Returns:** 56 | 57 | a new CSRF token 58 | 59 | --- 60 | 61 | ### getTokenName 62 | 63 | **Signature:** `static getTokenName() : String` 64 | 65 | **Description:** Returns the system generated CSRF token name. Currently, this name is not user configurable. Must be used for validateRequest() to work 66 | 67 | **Returns:** 68 | 69 | System-generated CSRF token parameter name 70 | 71 | --- 72 | 73 | ### validateRequest 74 | 75 | **Signature:** `static validateRequest() : boolean` 76 | 77 | **Description:** Verifies that a client request contains a valid CSRF token, and that the token has not expired. Returns true if these conditions are met, and false otherwise 78 | 79 | **Returns:** 80 | 81 | true if request contains a valid CSRF token, false otherwise 82 | 83 | --- ``` -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- ```yaml 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [ main, develop ] 6 | pull_request: 7 | branches: [ main, develop ] 8 | 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | permissions: 13 | contents: read 14 | 15 | steps: 16 | - name: Checkout code 17 | uses: actions/checkout@v5 18 | 19 | - name: Setup Node.js 20 | uses: actions/setup-node@v5 21 | with: 22 | node-version: '20' 23 | cache: 'npm' 24 | 25 | - name: Install dependencies 26 | run: npm ci 27 | 28 | - name: Run linting 29 | run: npm run lint:check 30 | 31 | security: 32 | runs-on: ubuntu-latest 33 | permissions: 34 | contents: read 35 | security-events: write 36 | 37 | steps: 38 | - name: Checkout code 39 | uses: actions/checkout@v5 40 | 41 | - name: Setup Node.js 42 | uses: actions/setup-node@v5 43 | with: 44 | node-version: '20' 45 | cache: 'npm' 46 | 47 | - name: Install dependencies 48 | run: npm ci 49 | 50 | - name: Run security audit 51 | run: npm audit --audit-level=moderate 52 | 53 | test: 54 | runs-on: ubuntu-latest 55 | permissions: 56 | contents: read 57 | 58 | strategy: 59 | matrix: 60 | node-version: [18, 20, 22, 24] 61 | 62 | steps: 63 | - name: Checkout code 64 | uses: actions/checkout@v5 65 | 66 | - name: Setup Node.js ${{ matrix.node-version }} 67 | uses: actions/setup-node@v5 68 | with: 69 | node-version: ${{ matrix.node-version }} 70 | cache: 'npm' 71 | 72 | - name: Install dependencies 73 | run: npm ci 74 | 75 | - name: Run build 76 | run: npm run build 77 | 78 | - name: Setup SFCC mock server 79 | run: | 80 | cd tests/servers/sfcc-mock-server 81 | npm install 82 | npm run setup:logs 83 | node server.js --port 3000 & 84 | sleep 5 85 | 86 | - name: Run tests 87 | run: npm test 88 | 89 | - name: Stop SFCC mock server 90 | if: always() 91 | run: | 92 | # Kill SFCC mock server process 93 | pkill -f "node.*server.js" || true 94 | # Fallback: kill any remaining server processes on port 3000 95 | lsof -ti :3000 | xargs kill -9 2>/dev/null || true 96 | 97 | - name: Upload coverage reports (Node.js 20 only) 98 | if: matrix.node-version == 20 99 | uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v3 100 | with: 101 | fail_ci_if_error: false 102 | verbose: true 103 | files: ./coverage/lcov.info 104 | ``` -------------------------------------------------------------------------------- /docs/dw_campaign/ABTestSegment.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.campaign 2 | 3 | # Class ABTestSegment 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.object.PersistentObject 9 | - dw.campaign.ABTestSegment 10 | 11 | ## Description 12 | 13 | Object representing an AB-test segment in the Commerce Cloud Digital. Each AB-test defines 1 or more segments to which customers are randomly assigned by the platform when they qualify for the AB-test. Customers are assigned to segments according to allocation percentages controlled by the merchant. Each AB-test segment defines a set of "experiences" that the merchant is testing and which which apply only to the customers in that segment. There is always one "control" segment which contains only the default set of experiences for that site. 14 | 15 | ## Properties 16 | 17 | ### ABTest 18 | 19 | **Type:** ABTest (Read Only) 20 | 21 | Get the AB-test to which this segment belongs. 22 | 23 | ### controlSegment 24 | 25 | **Type:** boolean (Read Only) 26 | 27 | Returns true if this is the "control segment" for the AB-test, meaning 28 | the segment that has no experiences associated with it. 29 | 30 | ### ID 31 | 32 | **Type:** String (Read Only) 33 | 34 | Get the ID of the AB-test segment. 35 | 36 | ## Constructor Summary 37 | 38 | ## Method Summary 39 | 40 | ### getABTest 41 | 42 | **Signature:** `getABTest() : ABTest` 43 | 44 | Get the AB-test to which this segment belongs. 45 | 46 | ### getID 47 | 48 | **Signature:** `getID() : String` 49 | 50 | Get the ID of the AB-test segment. 51 | 52 | ### isControlSegment 53 | 54 | **Signature:** `isControlSegment() : boolean` 55 | 56 | Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it. 57 | 58 | ## Method Detail 59 | 60 | ## Method Details 61 | 62 | ### getABTest 63 | 64 | **Signature:** `getABTest() : ABTest` 65 | 66 | **Description:** Get the AB-test to which this segment belongs. 67 | 68 | **Returns:** 69 | 70 | the AB-test to which this segment belongs. 71 | 72 | --- 73 | 74 | ### getID 75 | 76 | **Signature:** `getID() : String` 77 | 78 | **Description:** Get the ID of the AB-test segment. 79 | 80 | **Returns:** 81 | 82 | the ID of the AB-test segment. 83 | 84 | --- 85 | 86 | ### isControlSegment 87 | 88 | **Signature:** `isControlSegment() : boolean` 89 | 90 | **Description:** Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it. 91 | 92 | **Returns:** 93 | 94 | true if this segment is the "control segment" for the AB-test, or false otherwise. 95 | 96 | --- ``` -------------------------------------------------------------------------------- /docs/dw_catalog/ProductVariationAttribute.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class ProductVariationAttribute 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.catalog.ProductVariationAttribute 9 | 10 | ## Description 11 | 12 | Represents a product variation attribute 13 | 14 | ## Properties 15 | 16 | ### attributeID 17 | 18 | **Type:** String (Read Only) 19 | 20 | The ID of the product attribute defintion related to 21 | this variation attribute. This ID matches the 22 | value returned by ObjectAttributeDefinition.getID() 23 | for the appropriate product attribute definition. 24 | This ID is generally different than the ID returned by 25 | getID(). 26 | 27 | ### displayName 28 | 29 | **Type:** String (Read Only) 30 | 31 | The display name for the product variation attribute, which can be used in the 32 | user interface. 33 | 34 | ### ID 35 | 36 | **Type:** String (Read Only) 37 | 38 | The ID of the product variation attribute. 39 | 40 | ## Constructor Summary 41 | 42 | ## Method Summary 43 | 44 | ### getAttributeID 45 | 46 | **Signature:** `getAttributeID() : String` 47 | 48 | Returns the ID of the product attribute defintion related to this variation attribute. 49 | 50 | ### getDisplayName 51 | 52 | **Signature:** `getDisplayName() : String` 53 | 54 | Returns the display name for the product variation attribute, which can be used in the user interface. 55 | 56 | ### getID 57 | 58 | **Signature:** `getID() : String` 59 | 60 | Returns the ID of the product variation attribute. 61 | 62 | ## Method Detail 63 | 64 | ## Method Details 65 | 66 | ### getAttributeID 67 | 68 | **Signature:** `getAttributeID() : String` 69 | 70 | **Description:** Returns the ID of the product attribute defintion related to this variation attribute. This ID matches the value returned by ObjectAttributeDefinition.getID() for the appropriate product attribute definition. This ID is generally different than the ID returned by getID(). 71 | 72 | **Returns:** 73 | 74 | the ID of the product attribute definition of this variation attribute. 75 | 76 | --- 77 | 78 | ### getDisplayName 79 | 80 | **Signature:** `getDisplayName() : String` 81 | 82 | **Description:** Returns the display name for the product variation attribute, which can be used in the user interface. 83 | 84 | **Returns:** 85 | 86 | the display name for the product variation attribute, which can be used in the user interface. 87 | 88 | --- 89 | 90 | ### getID 91 | 92 | **Signature:** `getID() : String` 93 | 94 | **Description:** Returns the ID of the product variation attribute. 95 | 96 | **Returns:** 97 | 98 | the ID of the product variation attribute. 99 | 100 | --- ``` -------------------------------------------------------------------------------- /docs/dw_order/TrackingRef.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.order 2 | 3 | # Class TrackingRef 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.order.TrackingRef 9 | 10 | ## Description 11 | 12 | Provides basic information about the TrackingInfo a ShippingOrderItem is contained. 13 | 14 | ## Properties 15 | 16 | ### quantity 17 | 18 | **Type:** Quantity 19 | 20 | Gets the quantity, the shipping order item is assigned to the tracking 21 | info. 22 | 23 | ### shippingOrderItem 24 | 25 | **Type:** ShippingOrderItem (Read Only) 26 | 27 | Gets the shipping order item which is assigned to the tracking info. 28 | 29 | ### trackingInfo 30 | 31 | **Type:** TrackingInfo (Read Only) 32 | 33 | Gets the tracking info, the shipping order item is assigned to. 34 | 35 | ## Constructor Summary 36 | 37 | ## Method Summary 38 | 39 | ### getQuantity 40 | 41 | **Signature:** `getQuantity() : Quantity` 42 | 43 | Gets the quantity, the shipping order item is assigned to the tracking info. 44 | 45 | ### getShippingOrderItem 46 | 47 | **Signature:** `getShippingOrderItem() : ShippingOrderItem` 48 | 49 | Gets the shipping order item which is assigned to the tracking info. 50 | 51 | ### getTrackingInfo 52 | 53 | **Signature:** `getTrackingInfo() : TrackingInfo` 54 | 55 | Gets the tracking info, the shipping order item is assigned to. 56 | 57 | ### setQuantity 58 | 59 | **Signature:** `setQuantity(quantity : Quantity) : void` 60 | 61 | Sets the quantity, the shipping order item is assigned to the tracking info. 62 | 63 | ## Method Detail 64 | 65 | ## Method Details 66 | 67 | ### getQuantity 68 | 69 | **Signature:** `getQuantity() : Quantity` 70 | 71 | **Description:** Gets the quantity, the shipping order item is assigned to the tracking info. 72 | 73 | **Returns:** 74 | 75 | the quantity the shipping order item is assigned to the tracking info. 76 | 77 | --- 78 | 79 | ### getShippingOrderItem 80 | 81 | **Signature:** `getShippingOrderItem() : ShippingOrderItem` 82 | 83 | **Description:** Gets the shipping order item which is assigned to the tracking info. 84 | 85 | **Returns:** 86 | 87 | the shipping order item 88 | 89 | --- 90 | 91 | ### getTrackingInfo 92 | 93 | **Signature:** `getTrackingInfo() : TrackingInfo` 94 | 95 | **Description:** Gets the tracking info, the shipping order item is assigned to. 96 | 97 | **Returns:** 98 | 99 | the tracking info 100 | 101 | --- 102 | 103 | ### setQuantity 104 | 105 | **Signature:** `setQuantity(quantity : Quantity) : void` 106 | 107 | **Description:** Sets the quantity, the shipping order item is assigned to the tracking info. 108 | 109 | **Parameters:** 110 | 111 | - `quantity`: the quantity, the shipping order item is assigned to the tracking info. 112 | 113 | --- ``` -------------------------------------------------------------------------------- /docs/dw_catalog/SortingOption.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class SortingOption 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.object.PersistentObject 9 | - dw.catalog.SortingOption 10 | 11 | ## Description 12 | 13 | Represents an option for how to sort products in storefront search results. 14 | 15 | ## Properties 16 | 17 | ### description 18 | 19 | **Type:** String (Read Only) 20 | 21 | The description of the sorting option for the current locale. 22 | 23 | ### displayName 24 | 25 | **Type:** String (Read Only) 26 | 27 | The display name of the of the sorting option for the current locale. 28 | 29 | ### ID 30 | 31 | **Type:** String (Read Only) 32 | 33 | The ID of the sorting option. 34 | 35 | ### sortingRule 36 | 37 | **Type:** SortingRule (Read Only) 38 | 39 | The sorting rule for this sorting option, 40 | or null if there is no associated rule. 41 | 42 | ## Constructor Summary 43 | 44 | ## Method Summary 45 | 46 | ### getDescription 47 | 48 | **Signature:** `getDescription() : String` 49 | 50 | Returns the description of the sorting option for the current locale. 51 | 52 | ### getDisplayName 53 | 54 | **Signature:** `getDisplayName() : String` 55 | 56 | Returns the display name of the of the sorting option for the current locale. 57 | 58 | ### getID 59 | 60 | **Signature:** `getID() : String` 61 | 62 | Returns the ID of the sorting option. 63 | 64 | ### getSortingRule 65 | 66 | **Signature:** `getSortingRule() : SortingRule` 67 | 68 | Returns the sorting rule for this sorting option, or null if there is no associated rule. 69 | 70 | ## Method Detail 71 | 72 | ## Method Details 73 | 74 | ### getDescription 75 | 76 | **Signature:** `getDescription() : String` 77 | 78 | **Description:** Returns the description of the sorting option for the current locale. 79 | 80 | **Returns:** 81 | 82 | The value of the property for the current locale, or null if it wasn't found. 83 | 84 | --- 85 | 86 | ### getDisplayName 87 | 88 | **Signature:** `getDisplayName() : String` 89 | 90 | **Description:** Returns the display name of the of the sorting option for the current locale. 91 | 92 | **Returns:** 93 | 94 | The value of the property for the current locale, or null if it wasn't found. 95 | 96 | --- 97 | 98 | ### getID 99 | 100 | **Signature:** `getID() : String` 101 | 102 | **Description:** Returns the ID of the sorting option. 103 | 104 | **Returns:** 105 | 106 | sorting option ID 107 | 108 | --- 109 | 110 | ### getSortingRule 111 | 112 | **Signature:** `getSortingRule() : SortingRule` 113 | 114 | **Description:** Returns the sorting rule for this sorting option, or null if there is no associated rule. 115 | 116 | **Returns:** 117 | 118 | a ProductSortingRule instance representing the rule for this option or null. 119 | 120 | --- ``` -------------------------------------------------------------------------------- /docs/dw_customer/AgentUserStatusCodes.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.customer 2 | 3 | # Class AgentUserStatusCodes 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.customer.AgentUserStatusCodes 9 | 10 | ## Description 11 | 12 | AgentUserStatusCodes contains constants representing status codes that can be used with a Status object to indicate the success or failure of the agent user login process. 13 | 14 | ## Constants 15 | 16 | ### AGENT_USER_NOT_AVAILABLE 17 | 18 | **Type:** String = "AGENT_USER_NOT_AVAILABLE" 19 | 20 | Indicates that the agent user is not available. 21 | 22 | ### AGENT_USER_NOT_LOGGED_IN 23 | 24 | **Type:** String = "AGENT_USER_NOT_LOGGED_IN" 25 | 26 | Indicates that the agent user is not logged in. 27 | 28 | ### CREDENTIALS_INVALID 29 | 30 | **Type:** String = "CREDENTIALS_INVALID" 31 | 32 | Indicates that the given agent user login or password was wrong. 33 | 34 | ### CUSTOMER_DISABLED 35 | 36 | **Type:** String = "CUSTOMER_DISABLED" 37 | 38 | Indicates that the customer is disabled. 39 | 40 | ### CUSTOMER_UNREGISTERED 41 | 42 | **Type:** String = "CUSTOMER_UNREGISTERED" 43 | 44 | Indicates that the customer is either not registered or not registered with the current site. 45 | 46 | ### INSECURE_CONNECTION 47 | 48 | **Type:** String = "INSECURE_CONNECTION" 49 | 50 | Indicates that the current connection is not secure (HTTP instead of HTTPS) and the server is configured to require a secure connection. 51 | 52 | ### INSUFFICIENT_PERMISSION 53 | 54 | **Type:** String = "INSUFFICIENT_PERMISSION" 55 | 56 | Indicates that the given agent user does not have the permission 'Login_Agent' which is required to login to the storefront as an agent user. 57 | 58 | ### LOGIN_SUCCESSFUL 59 | 60 | **Type:** String = "LOGIN_SUCCESSFUL" 61 | 62 | Indicates that the agent user login was successful. 63 | 64 | ### NO_STOREFRONT 65 | 66 | **Type:** String = "NO_STOREFRONT" 67 | 68 | Indicates that the current context is not a storefront request. 69 | 70 | ### PASSWORD_EXPIRED 71 | 72 | **Type:** String = "PASSWORD_EXPIRED" 73 | 74 | Indicates that the given agent user password has expired and needs to be changed in the Business Manager. 75 | 76 | ### USER_DISABLED 77 | 78 | **Type:** String = "USER_DISABLED" 79 | 80 | Indicates that the agent user account has been disabled in the Business Manager. 81 | 82 | ### USER_LOCKED 83 | 84 | **Type:** String = "USER_LOCKED" 85 | 86 | Indicates that the agent user account is locked, because the maximum number of failed login attempts was exceeded. 87 | 88 | ## Properties 89 | 90 | ## Constructor Summary 91 | 92 | AgentUserStatusCodes() 93 | 94 | ## Method Summary 95 | 96 | ## Constructor Detail ``` -------------------------------------------------------------------------------- /docs/TopLevel/Namespace.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Namespace 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Namespace 9 | 10 | ## Description 11 | 12 | Namespace objects represent XML namespaces and provide an association between a namespace prefix and a Unique Resource Identifier (URI). The prefix is either the undefined value or a string value that may be used to reference the namespace within the lexical representation of an XML value. When an XML object containing a namespace with an undefined prefix is encoded as XML by the method toXMLString(), the implementation will automatically generate a prefix. The URI is a string value used to uniquely identify the namespace. 13 | 14 | ## Properties 15 | 16 | ### prefix 17 | 18 | **Type:** String (Read Only) 19 | 20 | The prefix of the Namespace object. 21 | 22 | ### uri 23 | 24 | **Type:** String (Read Only) 25 | 26 | The Uniform Resource Identifier (URI) of the Namespace object. 27 | 28 | ## Constructor Summary 29 | 30 | Namespace() Constructs a simple namespace where the uri and prefix properties are set to an empty string. 31 | 32 | Namespace(uriValue : Object) Constructs a Namespace object and assigns values to the uri and prefix properties based on the type of uriValue. 33 | 34 | Namespace(prefixValue : Object, uriValue : Object) Constructs a Namespace object and assigns values to the uri and prefix properties. 35 | 36 | ## Method Summary 37 | 38 | ### getPrefix 39 | 40 | **Signature:** `getPrefix() : String` 41 | 42 | Returns the prefix of the Namespace object. 43 | 44 | ### getUri 45 | 46 | **Signature:** `getUri() : String` 47 | 48 | Returns the Uniform Resource Identifier (URI) of the Namespace object. 49 | 50 | ### toString 51 | 52 | **Signature:** `toString() : String` 53 | 54 | Returns a string representation of this Namespace object. 55 | 56 | ## Constructor Detail 57 | 58 | ## Method Detail 59 | 60 | ## Method Details 61 | 62 | ### getPrefix 63 | 64 | **Signature:** `getPrefix() : String` 65 | 66 | **Description:** Returns the prefix of the Namespace object. 67 | 68 | **Returns:** 69 | 70 | the prefix of the Namespace object. 71 | 72 | --- 73 | 74 | ### getUri 75 | 76 | **Signature:** `getUri() : String` 77 | 78 | **Description:** Returns the Uniform Resource Identifier (URI) of the Namespace object. 79 | 80 | **Returns:** 81 | 82 | the Uniform Resource Identifier (URI) of the Namespace object. 83 | 84 | --- 85 | 86 | ### toString 87 | 88 | **Signature:** `toString() : String` 89 | 90 | **Description:** Returns a string representation of this Namespace object. 91 | 92 | **Returns:** 93 | 94 | a string representation of this Namespace object. 95 | 96 | --- ``` -------------------------------------------------------------------------------- /docs/dw_extensions.facebook/FacebookFeedHooks.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.extensions.facebook 2 | 3 | # Class FacebookFeedHooks 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - dw.extensions.facebook.FacebookFeedHooks 8 | 9 | ## Description 10 | 11 | FacebookFeedHooks interface containing extension points for customizing Facebook export feeds. These hooks are not executed in a transaction. The extension points (hook names), and the functions that are called by each extension point. A function must be defined inside a JavaScript source and must be exported. The script with the exported hook function must be located inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist. "hooks": "./hooks.json" The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks inside the hooks property: "hooks": [ {"name": "dw.extensions.facebook.feed.transformProduct", "script": "./hooks.ds"} ] A hook entry has a 'name' and a 'script' property. The 'name' contains the extension point, the hook name. The 'script' contains the script relative to the hooks file, with the exported hook function. 12 | 13 | ## Constants 14 | 15 | ## Properties 16 | 17 | ## Constructor Summary 18 | 19 | ## Method Summary 20 | 21 | ### transformProduct 22 | 23 | **Signature:** `transformProduct(product : Product, facebookProduct : FacebookProduct, feedId : String) : Status` 24 | 25 | Called after default transformation of given Demandware product to Facebook product as part of the catalog feed export. 26 | 27 | ## Method Detail 28 | 29 | ## Method Details 30 | 31 | ### transformProduct 32 | 33 | **Signature:** `transformProduct(product : Product, facebookProduct : FacebookProduct, feedId : String) : Status` 34 | 35 | **Description:** Called after default transformation of given Demandware product to Facebook product as part of the catalog feed export. To customize multiple feeds differently, for example if one is for Facebook Dynamic Ads and the other is for Instagram Commerce, use the feedId parameter to determine which feed is being exported. If the same customization should apply to all feeds, ignore the parameter. 36 | 37 | **Parameters:** 38 | 39 | - `product`: the Demandware product 40 | - `facebookProduct`: the Facebook representation of the product 41 | - `feedId`: the merchant-selected ID for the feed being exported 42 | 43 | **Returns:** 44 | 45 | a non-null Status ends the hook execution 46 | 47 | --- ``` -------------------------------------------------------------------------------- /docs/dw_system/RESTErrorResponse.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.system 2 | 3 | # Class RESTErrorResponse 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.system.RESTErrorResponse 9 | 10 | ## Description 11 | 12 | This class represents a REST error response that is compliant with RFC 9457. It can only be instantiated using the createError methods in RESTResponseMgr. Here is an example: var error = RESTResponseMgr.createError(400); error.custom.foo = "bar"; error.render(); The above script would result in an HTTP response with status code 400 and the following body: { "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/custom-errors/bad-request", "c_foo": "bar" } NOTE: Custom attributes are rendered with "c_" prefix as shown in the example above. Rendering works as described in JSON.stringify(Object). 13 | 14 | ## Properties 15 | 16 | ### custom 17 | 18 | **Type:** CustomAttributes (Read Only) 19 | 20 | All the custom attributes associated with the error response object. The attributes are stored for the 21 | lifetime of the error response object. 22 | 23 | ## Constructor Summary 24 | 25 | ## Method Summary 26 | 27 | ### getCustom 28 | 29 | **Signature:** `getCustom() : CustomAttributes` 30 | 31 | Returns all the custom attributes associated with the error response object. 32 | 33 | ### render 34 | 35 | **Signature:** `render() : void` 36 | 37 | Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457. 38 | 39 | ## Method Detail 40 | 41 | ## Method Details 42 | 43 | ### getCustom 44 | 45 | **Signature:** `getCustom() : CustomAttributes` 46 | 47 | **Description:** Returns all the custom attributes associated with the error response object. The attributes are stored for the lifetime of the error response object. 48 | 49 | **Returns:** 50 | 51 | All the custom attributes associated with the error response object. 52 | 53 | --- 54 | 55 | ### render 56 | 57 | **Signature:** `render() : void` 58 | 59 | **Description:** Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457. This method sets the "Content-Type" header to "application/problem+json", HTTP Status Code to statusCode attribute and constructs the body from type, title, detail and custom attributes of the object. Custom attributes are rendered with "c_" prefix to the attribute name. 60 | 61 | **Throws:** 62 | 63 | IllegalStateException - If the RESTErrorResponse object is already rendered. 64 | Exception - If there is an error while serializing the RESTErrorResponse object. 65 | 66 | --- ``` -------------------------------------------------------------------------------- /docs/dw_customer/CustomerPasswordConstraints.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.customer 2 | 3 | # Class CustomerPasswordConstraints 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.customer.CustomerPasswordConstraints 9 | 10 | ## Description 11 | 12 | Provides access to the constraints of customer passwords. An instance of this class can be obtained via CustomerMgr.getPasswordConstraints(). 13 | 14 | ## Properties 15 | 16 | ### forceLetters 17 | 18 | **Type:** boolean (Read Only) 19 | 20 | Returns true if letters are enforced. 21 | 22 | ### forceMixedCase 23 | 24 | **Type:** boolean (Read Only) 25 | 26 | Returns true if mixed case is enforced. 27 | 28 | ### forceNumbers 29 | 30 | **Type:** boolean (Read Only) 31 | 32 | Returns true if numbers are enforced. 33 | 34 | ### minLength 35 | 36 | **Type:** Number (Read Only) 37 | 38 | The minimum length. 39 | 40 | ### minSpecialChars 41 | 42 | **Type:** Number (Read Only) 43 | 44 | The minimum number of special characters. 45 | 46 | ## Constructor Summary 47 | 48 | ## Method Summary 49 | 50 | ### getMinLength 51 | 52 | **Signature:** `static getMinLength() : Number` 53 | 54 | Returns the minimum length. 55 | 56 | ### getMinSpecialChars 57 | 58 | **Signature:** `static getMinSpecialChars() : Number` 59 | 60 | Returns the minimum number of special characters. 61 | 62 | ### isForceLetters 63 | 64 | **Signature:** `static isForceLetters() : boolean` 65 | 66 | Returns true if letters are enforced. 67 | 68 | ### isForceMixedCase 69 | 70 | **Signature:** `static isForceMixedCase() : boolean` 71 | 72 | Returns true if mixed case is enforced. 73 | 74 | ### isForceNumbers 75 | 76 | **Signature:** `static isForceNumbers() : boolean` 77 | 78 | Returns true if numbers are enforced. 79 | 80 | ## Method Detail 81 | 82 | ## Method Details 83 | 84 | ### getMinLength 85 | 86 | **Signature:** `static getMinLength() : Number` 87 | 88 | **Description:** Returns the minimum length. 89 | 90 | **Returns:** 91 | 92 | the minimum length 93 | 94 | --- 95 | 96 | ### getMinSpecialChars 97 | 98 | **Signature:** `static getMinSpecialChars() : Number` 99 | 100 | **Description:** Returns the minimum number of special characters. 101 | 102 | **Returns:** 103 | 104 | the minimum number of special characters 105 | 106 | --- 107 | 108 | ### isForceLetters 109 | 110 | **Signature:** `static isForceLetters() : boolean` 111 | 112 | **Description:** Returns true if letters are enforced. 113 | 114 | **Returns:** 115 | 116 | if letters are enforced 117 | 118 | --- 119 | 120 | ### isForceMixedCase 121 | 122 | **Signature:** `static isForceMixedCase() : boolean` 123 | 124 | **Description:** Returns true if mixed case is enforced. 125 | 126 | **Returns:** 127 | 128 | if mixed case is enforced 129 | 130 | --- 131 | 132 | ### isForceNumbers 133 | 134 | **Signature:** `static isForceNumbers() : boolean` 135 | 136 | **Description:** Returns true if numbers are enforced. 137 | 138 | **Returns:** 139 | 140 | if numbers are enforced 141 | 142 | --- ``` -------------------------------------------------------------------------------- /docs-site/components/icons.tsx: -------------------------------------------------------------------------------- ```typescript 1 | 2 | import React from 'react'; 3 | 4 | export const SearchIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => ( 5 | <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}> 6 | <path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" /> 7 | </svg> 8 | ); 9 | 10 | export const ReactIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => ( 11 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="-11.5 -10.23174 23 20.46348" {...props}> 12 | <circle cx="0" cy="0" r="2.05" fill="currentColor"></circle> 13 | <g stroke="currentColor" strokeWidth="1" fill="none"> 14 | <ellipse rx="11" ry="4.2"></ellipse> 15 | <ellipse rx="11" ry="4.2" transform="rotate(60)"></ellipse> 16 | <ellipse rx="11" ry="4.2" transform="rotate(120)"></ellipse> 17 | </g> 18 | </svg> 19 | ); 20 | 21 | export const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => ( 22 | <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}> 23 | <path strokeLinecap="round" strokeLinejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" /> 24 | </svg> 25 | ); 26 | 27 | export const CopyIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => ( 28 | <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}> 29 | <path strokeLinecap="round" strokeLinejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 01-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 011.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 00-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 01-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5a3.375 3.375 0 00-3.375-3.375H9.75" /> 30 | </svg> 31 | ); 32 | 33 | export const CheckIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => ( 34 | <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}> 35 | <path strokeLinecap="round" strokeLinejoin="round" d="M4.5 12.75l6 6 9-13.5" /> 36 | </svg> 37 | ); 38 | ``` -------------------------------------------------------------------------------- /docs-site/components/NewcomerCTA.tsx: -------------------------------------------------------------------------------- ```typescript 1 | import React from 'react'; 2 | import { Link } from 'react-router-dom'; 3 | 4 | interface NewcomerCTAProps { 5 | /** Additional CSS classes to apply to the wrapper */ 6 | className?: string; 7 | /** Custom href if different from default */ 8 | href?: string; 9 | /** Whether to show as centered or inline */ 10 | centered?: boolean; 11 | } 12 | 13 | /** 14 | * Prominent call-to-action button for users new to MCP servers. 15 | * Directs them to the AI assistant setup guide. 16 | */ 17 | const NewcomerCTA: React.FC<NewcomerCTAProps> = ({ 18 | className = '', 19 | href = '/ai-interfaces/#ai-assistant-setup', 20 | centered = true 21 | }) => { 22 | const wrapperClasses = centered ? 'text-center' : ''; 23 | 24 | return ( 25 | <div className={`${wrapperClasses} ${className}`}> 26 | <div className="inline-block bg-gradient-to-r from-orange-500 to-red-500 p-1 rounded-2xl shadow-lg"> 27 | <Link 28 | to={href} 29 | className="group block bg-white rounded-xl px-8 py-4 text-center no-underline hover:no-underline focus:no-underline transition-all duration-300 hover:bg-gray-50" 30 | > 31 | <div className="flex items-center justify-center gap-3"> 32 | <div className="bg-gradient-to-r from-orange-500 to-red-500 rounded-full p-2 md:p-3 shadow-inner"> 33 | <svg className="w-6 h-6 md:w-7 md:h-7 text-white drop-shadow-sm" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true" focusable="false"> 34 | <path 35 | fillRule="evenodd" 36 | d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" 37 | clipRule="evenodd" 38 | /> 39 | </svg> 40 | </div> 41 | <div className="text-left"> 42 | <div className="text-lg font-bold text-gray-900 mb-1"> 43 | New to MCP servers? 44 | <span className="ml-2 group-hover:translate-x-1 inline-block transition-transform text-orange-600">→</span> 45 | </div> 46 | <div className="text-sm text-gray-600"> 47 | Complete setup guide for AI assistants (Claude, GitHub Copilot, etc.) 48 | </div> 49 | </div> 50 | </div> 51 | </Link> 52 | </div> 53 | </div> 54 | ); 55 | }; 56 | 57 | export default NewcomerCTA; ``` -------------------------------------------------------------------------------- /docs/TopLevel/Function.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Function 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Function 9 | 10 | ## Description 11 | 12 | The Function class represent a JavaScript function. 13 | 14 | ## Properties 15 | 16 | ### length 17 | 18 | **Type:** Number 19 | 20 | The number of named arguments that were specified 21 | when the function was declared. 22 | 23 | ### prototype 24 | 25 | **Type:** Object 26 | 27 | An object that defines properties and methods 28 | shared by all objects created with that 29 | constructor function. 30 | 31 | ## Constructor Summary 32 | 33 | Function(args : String...) Constructs the function with the specified arguments where the last argument represents the function body and all preceeding arguments represent the function parameters. 34 | 35 | ## Method Summary 36 | 37 | ### apply 38 | 39 | **Signature:** `apply(thisobj : Object, args : Array) : Object` 40 | 41 | Invokes this function as a method of the specified object passing the specified Array of arguments. 42 | 43 | ### call 44 | 45 | **Signature:** `call(thisobj : Object, args : Object...) : Object` 46 | 47 | Invokes this function as a method of the specified object passing the specified optional arguments. 48 | 49 | ### toString 50 | 51 | **Signature:** `toString() : String` 52 | 53 | Returns a String representation of this function object. 54 | 55 | ## Constructor Detail 56 | 57 | ## Method Detail 58 | 59 | ## Method Details 60 | 61 | ### apply 62 | 63 | **Signature:** `apply(thisobj : Object, args : Array) : Object` 64 | 65 | **Description:** Invokes this function as a method of the specified object passing the specified Array of arguments. 66 | 67 | **Parameters:** 68 | 69 | - `thisobj`: the object to which the function is applied. 70 | - `args`: Array of values or an arguments object to be passed as arguments to the function. 71 | 72 | **Returns:** 73 | 74 | whatever value is returned by the invocation of the function. 75 | 76 | --- 77 | 78 | ### call 79 | 80 | **Signature:** `call(thisobj : Object, args : Object...) : Object` 81 | 82 | **Description:** Invokes this function as a method of the specified object passing the specified optional arguments. 83 | 84 | **Parameters:** 85 | 86 | - `thisobj`: the object to which the function is applied. 87 | - `args`: an optional list of one or more arguments values that are passed as arguments to the function. 88 | 89 | **Returns:** 90 | 91 | whatever value is returned by the invocation of the function. 92 | 93 | --- 94 | 95 | ### toString 96 | 97 | **Signature:** `toString() : String` 98 | 99 | **Description:** Returns a String representation of this function object. 100 | 101 | **Returns:** 102 | 103 | a String representation of this function object. 104 | 105 | --- ``` -------------------------------------------------------------------------------- /docs/dw_value/EnumValue.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.value 2 | 3 | # Class EnumValue 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.value.EnumValue 9 | 10 | ## Description 11 | 12 | The class represents a single value for an Enumeration type. Enumeration types can be configured through the business manager for custom attributes. Some system attributes, e.g. the order status, are also of Enumeration types. Each EnumValue has a base value and a display value. The type of the base value can be either String or Integer. Every EnumValue has a display value. If the value of an Enumeration type object attribute is null, when that attribute is accessed an EnumValue is returned that has a base value of null, rather than null itself. This means that empty(object.attribute) would be false, and empty(object.attribute.value) would be true. 13 | 14 | ## Properties 15 | 16 | ### displayValue 17 | 18 | **Type:** String (Read Only) 19 | 20 | The display value of the enumeration value. If no display value 21 | is configured the method return the string representation of the value. 22 | 23 | ### value 24 | 25 | **Type:** Object (Read Only) 26 | 27 | The value of the enumeration value. This is either an integer 28 | value or a string. 29 | 30 | ## Constructor Summary 31 | 32 | ## Method Summary 33 | 34 | ### getDisplayValue 35 | 36 | **Signature:** `getDisplayValue() : String` 37 | 38 | Returns the display value of the enumeration value. 39 | 40 | ### getValue 41 | 42 | **Signature:** `getValue() : Object` 43 | 44 | Returns the value of the enumeration value. 45 | 46 | ### toString 47 | 48 | **Signature:** `toString() : String` 49 | 50 | Same as getDisplayValue(). 51 | 52 | ### valueOf 53 | 54 | **Signature:** `valueOf() : Object` 55 | 56 | According the ECMA specification, this method returns the "natural" primitive value of this object. 57 | 58 | ## Method Detail 59 | 60 | ## Method Details 61 | 62 | ### getDisplayValue 63 | 64 | **Signature:** `getDisplayValue() : String` 65 | 66 | **Description:** Returns the display value of the enumeration value. If no display value is configured the method return the string representation of the value. 67 | 68 | --- 69 | 70 | ### getValue 71 | 72 | **Signature:** `getValue() : Object` 73 | 74 | **Description:** Returns the value of the enumeration value. This is either an integer value or a string. 75 | 76 | --- 77 | 78 | ### toString 79 | 80 | **Signature:** `toString() : String` 81 | 82 | **Description:** Same as getDisplayValue(). 83 | 84 | --- 85 | 86 | ### valueOf 87 | 88 | **Signature:** `valueOf() : Object` 89 | 90 | **Description:** According the ECMA specification, this method returns the "natural" primitive value of this object. Here it is equivalent to getValue(). 91 | 92 | --- ``` -------------------------------------------------------------------------------- /tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml: -------------------------------------------------------------------------------- ```yaml 1 | description: "Tests for search_custom_object_attribute_definitions tool in docs-only mode" 2 | # Run with: npx aegis "tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml" --config ./aegis.config.docs-only.json 3 | 4 | tests: 5 | # Docs-Only Mode Tests (tool not configured) 6 | - it: "should return configuration error in docs-only mode" 7 | request: 8 | jsonrpc: "2.0" 9 | method: "tools/call" 10 | id: 1 11 | params: 12 | name: "search_custom_object_attribute_definitions" 13 | arguments: 14 | objectType: "VersionHistory" 15 | searchRequest: 16 | query: 17 | match_all_query: {} 18 | expect: 19 | response: 20 | jsonrpc: "2.0" 21 | id: 1 22 | result: 23 | content: 24 | match:arrayElements: 25 | match:partial: 26 | type: "text" 27 | text: "match:contains:OCAPI client not configured" 28 | isError: true 29 | stderr: "toBeEmpty" 30 | performance: 31 | maxResponseTime: "500ms" 32 | 33 | - it: "should handle error gracefully with minimal parameters in docs-only mode" 34 | request: 35 | jsonrpc: "2.0" 36 | method: "tools/call" 37 | id: 2 38 | params: 39 | name: "search_custom_object_attribute_definitions" 40 | arguments: 41 | objectType: "CustomAPI" 42 | expect: 43 | response: 44 | jsonrpc: "2.0" 45 | id: 2 46 | result: 47 | content: 48 | match:arrayElements: 49 | match:partial: 50 | type: "text" 51 | text: "match:contains:OCAPI client not configured" 52 | isError: true 53 | stderr: "toBeEmpty" 54 | performance: 55 | maxResponseTime: "500ms" 56 | 57 | - it: "should return OCAPI client not configured error even with invalid parameters" 58 | request: 59 | jsonrpc: "2.0" 60 | method: "tools/call" 61 | id: 3 62 | params: 63 | name: "search_custom_object_attribute_definitions" 64 | arguments: 65 | objectType: "" 66 | searchRequest: 67 | query: 68 | match_all_query: {} 69 | expect: 70 | response: 71 | jsonrpc: "2.0" 72 | id: 3 73 | result: 74 | content: 75 | match:arrayElements: 76 | match:partial: 77 | type: "text" 78 | text: "match:contains:OCAPI client not configured" 79 | isError: true 80 | stderr: "toBeEmpty" 81 | performance: 82 | maxResponseTime: "500ms" ``` -------------------------------------------------------------------------------- /docs/dw_catalog/StoreInventoryFilterValue.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class StoreInventoryFilterValue 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.catalog.StoreInventoryFilterValue 9 | 10 | ## Description 11 | 12 | This class represents a store inventory filter value, which can be used for a StoreInventoryFilter to filter the search result by one or more store inventory list IDs via ProductSearchModel.setStoreInventoryFilter(StoreInventoryFilter). Compared to ProductSearchModel.setInventoryListIDs(List) the store inventory filter allows a customization of the inventory parameter name and the inventory list ID values for URL generations. A StoreInventoryFilterValue provides the mapping between a semantic value e.g. store1,store2 or Burlington,Boston to the related real inventory list ID. Example custom URL: city=Burlington|Boston new dw.catalog.StoreInventoryFilter("city", new dw.util.ArrayList( new dw.catalog.StoreInventoryFilterValue("Burlington","inventory_store_store9"), new dw.catalog.StoreInventoryFilterValue("Boston","inventory_store_store8") )); 13 | 14 | ## Properties 15 | 16 | ### inventoryListID 17 | 18 | **Type:** String (Read Only) 19 | 20 | The real inventory list ID of this store inventory filter value. 21 | 22 | ### semanticInventoryID 23 | 24 | **Type:** String (Read Only) 25 | 26 | The semantic inventory ID of this store inventory filter value. 27 | 28 | ## Constructor Summary 29 | 30 | StoreInventoryFilterValue(semanticInventoryListID : String, inventoryListID : String) Creates a new StoreInventoryFilterValue instance for the semantic inventory ID and real inventory list ID. 31 | 32 | ## Method Summary 33 | 34 | ### getInventoryListID 35 | 36 | **Signature:** `getInventoryListID() : String` 37 | 38 | Returns the real inventory list ID of this store inventory filter value. 39 | 40 | ### getSemanticInventoryID 41 | 42 | **Signature:** `getSemanticInventoryID() : String` 43 | 44 | Returns the semantic inventory ID of this store inventory filter value. 45 | 46 | ## Constructor Detail 47 | 48 | ## Method Detail 49 | 50 | ## Method Details 51 | 52 | ### getInventoryListID 53 | 54 | **Signature:** `getInventoryListID() : String` 55 | 56 | **Description:** Returns the real inventory list ID of this store inventory filter value. 57 | 58 | **Returns:** 59 | 60 | the real inventory list ID of this store inventory filter value. 61 | 62 | --- 63 | 64 | ### getSemanticInventoryID 65 | 66 | **Signature:** `getSemanticInventoryID() : String` 67 | 68 | **Description:** Returns the semantic inventory ID of this store inventory filter value. 69 | 70 | **Returns:** 71 | 72 | the semantic inventory ID of this store inventory filter value. 73 | 74 | --- ``` -------------------------------------------------------------------------------- /docs/dw_io/FileWriter.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.io 2 | 3 | # Class FileWriter 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.io.Writer 9 | - dw.io.FileWriter 10 | 11 | ## Description 12 | 13 | Convenience class for writing character files. Files are stored in a shared file system where multiple processes could access the same file. The client code is responsible for ensuring that no more than one process writes to a file at a given time. Note: when this class is used with sensitive data, be careful in persisting sensitive information to disk. 14 | 15 | ## Properties 16 | 17 | ### lineSeparator 18 | 19 | **Type:** String 20 | 21 | Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used. 22 | 23 | ## Constructor Summary 24 | 25 | FileWriter(file : File) Constructs the writer for the specified file. 26 | 27 | FileWriter(file : File, append : boolean) Constructs the writer for the specified file. 28 | 29 | FileWriter(file : File, encoding : String) Constructs the writer for the specified file with the specified encoding. 30 | 31 | FileWriter(file : File, encoding : String, append : boolean) Constructs the writer for the specified file with the specified encoding. 32 | 33 | ## Method Summary 34 | 35 | ### close 36 | 37 | **Signature:** `close() : void` 38 | 39 | Closes the writer. 40 | 41 | ### getLineSeparator 42 | 43 | **Signature:** `getLineSeparator() : String` 44 | 45 | Get the current line separator (e.g. 46 | 47 | ### setLineSeparator 48 | 49 | **Signature:** `setLineSeparator(lineSeparator : String) : void` 50 | 51 | Set the line separator (e.g. 52 | 53 | ### writeLine 54 | 55 | **Signature:** `writeLine(str : String) : void` 56 | 57 | Writes the specified line and appends the line separator. 58 | 59 | ## Constructor Detail 60 | 61 | ## Method Detail 62 | 63 | ## Method Details 64 | 65 | ### close 66 | 67 | **Signature:** `close() : void` 68 | 69 | **Description:** Closes the writer. 70 | 71 | --- 72 | 73 | ### getLineSeparator 74 | 75 | **Signature:** `getLineSeparator() : String` 76 | 77 | **Description:** Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used. 78 | 79 | --- 80 | 81 | ### setLineSeparator 82 | 83 | **Signature:** `setLineSeparator(lineSeparator : String) : void` 84 | 85 | **Description:** Set the line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used. 86 | 87 | **Parameters:** 88 | 89 | - `lineSeparator`: that will be written at the end of each line 90 | 91 | --- 92 | 93 | ### writeLine 94 | 95 | **Signature:** `writeLine(str : String) : void` 96 | 97 | **Description:** Writes the specified line and appends the line separator. 98 | 99 | **Parameters:** 100 | 101 | - `str`: the line to write to the file. 102 | 103 | --- ``` -------------------------------------------------------------------------------- /docs/dw_order/AppeasementItem.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.order 2 | 3 | # Class AppeasementItem 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.object.Extensible 9 | - dw.order.AbstractItem 10 | - dw.order.AppeasementItem 11 | 12 | ## Description 13 | 14 | Represents an item of an Appeasement which is associated with one OrderItem usually representing an Order ProductLineItem. Items are created using method Appeasement.addItems(Money, List) When the related Appeasement were set to status COMPLETED, only the the custom attributes of the appeasement item can be changed. Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed. Activation needs preliminary approval by Product Management. Please contact support in this case. Existing customers using these APIs are not affected by this change and can use the APIs until further notice. 15 | 16 | ## Properties 17 | 18 | ### appeasementNumber 19 | 20 | **Type:** String (Read Only) 21 | 22 | The number of the Appeasement to which this item belongs. 23 | 24 | ### parentItem 25 | 26 | **Type:** AppeasementItem 27 | 28 | Returns null or the parent item. 29 | 30 | ## Constructor Summary 31 | 32 | ## Method Summary 33 | 34 | ### getAppeasementNumber 35 | 36 | **Signature:** `getAppeasementNumber() : String` 37 | 38 | Returns the number of the Appeasement to which this item belongs. 39 | 40 | ### getParentItem 41 | 42 | **Signature:** `getParentItem() : AppeasementItem` 43 | 44 | Returns null or the parent item. 45 | 46 | ### setParentItem 47 | 48 | **Signature:** `setParentItem(parentItem : AppeasementItem) : void` 49 | 50 | Set a parent item. 51 | 52 | ## Method Detail 53 | 54 | ## Method Details 55 | 56 | ### getAppeasementNumber 57 | 58 | **Signature:** `getAppeasementNumber() : String` 59 | 60 | **Description:** Returns the number of the Appeasement to which this item belongs. 61 | 62 | **Returns:** 63 | 64 | the number of the Appeasement to which this item belongs 65 | 66 | --- 67 | 68 | ### getParentItem 69 | 70 | **Signature:** `getParentItem() : AppeasementItem` 71 | 72 | **Description:** Returns null or the parent item. 73 | 74 | **Returns:** 75 | 76 | null or the parent item. 77 | 78 | --- 79 | 80 | ### setParentItem 81 | 82 | **Signature:** `setParentItem(parentItem : AppeasementItem) : void` 83 | 84 | **Description:** Set a parent item. The parent item must belong to the same Appeasement. An infinite parent-child loop is disallowed as is a parent-child depth greater than 10. Setting a parent item indicates a dependency of the child item on the parent item, and can be used to form a parallel structure to that accessed using ProductLineItem.getParent(). 85 | 86 | **Parameters:** 87 | 88 | - `parentItem`: The parent item, null is allowed 89 | 90 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/WeakMap.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class WeakMap 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - WeakMap 9 | 10 | ## Description 11 | 12 | The WeakMap is map whose entries are subject to garbage collection if there are no more references to the keys. Keys must be objects (no primitives). Elements can't be iterated. 13 | 14 | ## Properties 15 | 16 | ### size 17 | 18 | **Type:** Number 19 | 20 | Number of key/value pairs stored in this map. 21 | 22 | ## Constructor Summary 23 | 24 | WeakMap() Creates an empty map. 25 | 26 | WeakMap(values : Iterable) If the passed value is null or undefined then an empty map is constructed. 27 | 28 | ## Method Summary 29 | 30 | ### clear 31 | 32 | **Signature:** `clear() : void` 33 | 34 | Removes all key/value pairs from this map. 35 | 36 | ### delete 37 | 38 | **Signature:** `delete(key : Object) : boolean` 39 | 40 | Removes the entry for the given key. 41 | 42 | ### get 43 | 44 | **Signature:** `get(key : Object) : Object` 45 | 46 | Returns the value associated with the given key. 47 | 48 | ### has 49 | 50 | **Signature:** `has(key : Object) : boolean` 51 | 52 | Returns if this map has value associated with the given key. 53 | 54 | ### set 55 | 56 | **Signature:** `set(key : Object, value : Object) : WeakMap` 57 | 58 | Adds or updates a key/value pair to the map. 59 | 60 | ## Constructor Detail 61 | 62 | ## Method Detail 63 | 64 | ## Method Details 65 | 66 | ### clear 67 | 68 | **Signature:** `clear() : void` 69 | 70 | **Description:** Removes all key/value pairs from this map. 71 | 72 | --- 73 | 74 | ### delete 75 | 76 | **Signature:** `delete(key : Object) : boolean` 77 | 78 | **Description:** Removes the entry for the given key. 79 | 80 | **Parameters:** 81 | 82 | - `key`: The key of the key/value pair to be removed from the map. 83 | 84 | **Returns:** 85 | 86 | true if the map contained an entry for the passed key that was removed. Else false is returned. 87 | 88 | --- 89 | 90 | ### get 91 | 92 | **Signature:** `get(key : Object) : Object` 93 | 94 | **Description:** Returns the value associated with the given key. 95 | 96 | **Parameters:** 97 | 98 | - `key`: The key to look for. 99 | 100 | **Returns:** 101 | 102 | The value associated with the given key if an entry with the key exists else undefined is returned. 103 | 104 | --- 105 | 106 | ### has 107 | 108 | **Signature:** `has(key : Object) : boolean` 109 | 110 | **Description:** Returns if this map has value associated with the given key. 111 | 112 | **Parameters:** 113 | 114 | - `key`: The key to look for. 115 | 116 | **Returns:** 117 | 118 | true if an entry with the key exists else false is returned. 119 | 120 | --- 121 | 122 | ### set 123 | 124 | **Signature:** `set(key : Object, value : Object) : WeakMap` 125 | 126 | **Description:** Adds or updates a key/value pair to the map. 127 | 128 | **Parameters:** 129 | 130 | - `key`: The key object. 131 | - `value`: The value to be associate with the key. 132 | 133 | **Returns:** 134 | 135 | This map object. 136 | 137 | --- ``` -------------------------------------------------------------------------------- /docs/dw_svc/LocalServiceRegistry.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.svc 2 | 3 | # Class LocalServiceRegistry 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.svc.LocalServiceRegistry 9 | 10 | ## Description 11 | 12 | The LocalServiceRegistry is responsible for managing Service instances. Typical usage involves several steps: The service is defined in the Business Manager and configured with necessary credentials. An instance of the service is created and configured in a script: var myFTPService = LocalServiceRegistry.createService("MyFTPService", { mockExec : function(svc:FTPService, params) { return [ { "name": "file1", "timestamp": new Date(2011, 02, 21)}, { "name": "file2", "timestamp": new Date(2012, 02, 21)}, { "name": "file3", "timestamp": new Date(2013, 02, 21)} ]; }, createRequest: function(svc:FTPService, params) { svc.setOperation("list", "/"); }, parseResponse : function(svc:FTPService, listOutput) { var x : Array = []; var resp : Array = listOutput; for(var i = 0; i < resp.length; i++) { var f = resp[i]; x.push( { "name": f['name'], "timestamp": f['timestamp'] } ); } return x; } }); The service is called in order to perform the operation: var result : Result = myFTPService.call(); if(result.status == 'OK') { // The result.object is the object returned by the 'after' callback. } else { // Handle the error. See result.error for more information. } Unlike ServiceRegistry, the configured service is local to the current script call, so this deals directly with Service instances rather than the intermediate ServiceDefinition. This means that a cartridge-level initialization script (and the package.json) is no longer needed. See ServiceCallback for all the callback options, and individual Service classes for customization specific to a service type. 13 | 14 | ## Constructor Summary 15 | 16 | ## Method Summary 17 | 18 | ### createService 19 | 20 | **Signature:** `static createService(serviceID : String, configObj : Object) : Service` 21 | 22 | Constructs and configures a service with a callback. 23 | 24 | ## Method Detail 25 | 26 | ## Method Details 27 | 28 | ### createService 29 | 30 | **Signature:** `static createService(serviceID : String, configObj : Object) : Service` 31 | 32 | **Description:** Constructs and configures a service with a callback. 33 | 34 | **Parameters:** 35 | 36 | - `serviceID`: Unique Service ID. 37 | - `configObj`: Configuration callback. See ServiceCallback for a description of available callback methods. 38 | 39 | **Returns:** 40 | 41 | Associated Service, which can be used for further protocol-specific configuration. 42 | 43 | --- ``` -------------------------------------------------------------------------------- /docs-site/components/OnThisPage.tsx: -------------------------------------------------------------------------------- ```typescript 1 | 2 | import React, { useState, useEffect } from 'react'; 3 | import { useLocation } from 'react-router-dom'; 4 | import { TocItem } from '../types'; 5 | 6 | interface OnThisPageProps { 7 | items: TocItem[]; 8 | } 9 | 10 | const OnThisPage: React.FC<OnThisPageProps> = ({ items }) => { 11 | const [activeId, setActiveId] = useState<string>(''); 12 | const location = useLocation(); 13 | const [initialPathHash, setInitialPathHash] = useState(''); 14 | 15 | // Reset active ID when location changes 16 | useEffect(() => { 17 | setActiveId(''); 18 | }, [location.pathname]); 19 | 20 | useEffect(() => { 21 | // Only run on client side 22 | if (typeof window === 'undefined') return; 23 | 24 | if (items.length === 0) { 25 | setActiveId(''); 26 | return; 27 | } 28 | 29 | // Set initial path hash on client side only to prevent SSR hydration mismatch 30 | setInitialPathHash(window.location.hash); 31 | 32 | const observer = new IntersectionObserver( 33 | (entries) => { 34 | const visibleHeadings = entries 35 | .filter(entry => entry.isIntersecting) 36 | .map(entry => entry.target.id); 37 | 38 | if (visibleHeadings.length > 0) { 39 | // Set the first visible heading as active 40 | setActiveId(visibleHeadings[0]); 41 | } 42 | }, 43 | { 44 | rootMargin: '-20px 0px -80% 0px', 45 | threshold: 0 46 | } 47 | ); 48 | 49 | // Observe all headings 50 | items.forEach(item => { 51 | const element = document.getElementById(item.id); 52 | if (element) { 53 | observer.observe(element); 54 | } 55 | }); 56 | 57 | return () => { 58 | observer.disconnect(); 59 | }; 60 | }, [items, location.pathname]); // Added location.pathname to dependencies 61 | 62 | if (items.length === 0) { 63 | return null; 64 | } 65 | 66 | return ( 67 | <div className="pt-12"> 68 | <h2 className="text-sm font-bold text-slate-800 mb-4">On this page</h2> 69 | <div className="max-h-96 overflow-y-auto"> 70 | <ul className="space-y-2 text-sm"> 71 | {items.map(item => ( 72 | <li key={item.id}> 73 | <a 74 | href={`#${item.id}`} 75 | className={`block transition-colors ${ 76 | activeId === item.id 77 | ? 'text-blue-600 font-medium border-l-2 border-blue-600 pl-2 -ml-2' 78 | : 'text-slate-500 hover:text-slate-800' 79 | }`} 80 | > 81 | {item.label} 82 | </a> 83 | </li> 84 | ))} 85 | </ul> 86 | </div> 87 | </div> 88 | ); 89 | }; 90 | 91 | export default OnThisPage; 92 | ``` -------------------------------------------------------------------------------- /docs/dw_campaign/SlotContent.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.campaign 2 | 3 | # Class SlotContent 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.campaign.SlotContent 9 | 10 | ## Description 11 | 12 | Represents content for a slot. 13 | 14 | ## Properties 15 | 16 | ### calloutMsg 17 | 18 | **Type:** MarkupText (Read Only) 19 | 20 | The callout message for the slot. 21 | 22 | ### content 23 | 24 | **Type:** Collection (Read Only) 25 | 26 | A collection of content based on the content type 27 | for the slot. The collection will include one of the following 28 | types: Product, Content, Category, or MarkupText. 29 | 30 | ### custom 31 | 32 | **Type:** Map (Read Only) 33 | 34 | The custom attributes for the slot. 35 | 36 | ### recommenderName 37 | 38 | **Type:** String (Read Only) 39 | 40 | The recommender name for slot configurations of type 'Recommendation' 41 | 42 | ### slotID 43 | 44 | **Type:** String (Read Only) 45 | 46 | The unique slot ID. 47 | 48 | ## Constructor Summary 49 | 50 | ## Method Summary 51 | 52 | ### getCalloutMsg 53 | 54 | **Signature:** `getCalloutMsg() : MarkupText` 55 | 56 | Returns the callout message for the slot. 57 | 58 | ### getContent 59 | 60 | **Signature:** `getContent() : Collection` 61 | 62 | Returns a collection of content based on the content type for the slot. 63 | 64 | ### getCustom 65 | 66 | **Signature:** `getCustom() : Map` 67 | 68 | Returns the custom attributes for the slot. 69 | 70 | ### getRecommenderName 71 | 72 | **Signature:** `getRecommenderName() : String` 73 | 74 | Returns the recommender name for slot configurations of type 'Recommendation' 75 | 76 | ### getSlotID 77 | 78 | **Signature:** `getSlotID() : String` 79 | 80 | Returns the unique slot ID. 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### getCalloutMsg 87 | 88 | **Signature:** `getCalloutMsg() : MarkupText` 89 | 90 | **Description:** Returns the callout message for the slot. 91 | 92 | **Returns:** 93 | 94 | Callout message of the slot. 95 | 96 | --- 97 | 98 | ### getContent 99 | 100 | **Signature:** `getContent() : Collection` 101 | 102 | **Description:** Returns a collection of content based on the content type for the slot. The collection will include one of the following types: Product, Content, Category, or MarkupText. 103 | 104 | **Returns:** 105 | 106 | All content of the slot. 107 | 108 | --- 109 | 110 | ### getCustom 111 | 112 | **Signature:** `getCustom() : Map` 113 | 114 | **Description:** Returns the custom attributes for the slot. 115 | 116 | **Returns:** 117 | 118 | Custom attributes of the slot. 119 | 120 | --- 121 | 122 | ### getRecommenderName 123 | 124 | **Signature:** `getRecommenderName() : String` 125 | 126 | **Description:** Returns the recommender name for slot configurations of type 'Recommendation' 127 | 128 | **Returns:** 129 | 130 | the recommender name for slot configurations of type 'Recommendation' 131 | 132 | --- 133 | 134 | ### getSlotID 135 | 136 | **Signature:** `getSlotID() : String` 137 | 138 | **Description:** Returns the unique slot ID. 139 | 140 | **Returns:** 141 | 142 | ID of the slot. 143 | 144 | --- ``` -------------------------------------------------------------------------------- /docs/dw_catalog/ProductOptionValue.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.catalog 2 | 3 | # Class ProductOptionValue 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.object.PersistentObject 9 | - dw.object.ExtensibleObject 10 | - dw.catalog.ProductOptionValue 11 | 12 | ## Description 13 | 14 | Represents the value of a product option. 15 | 16 | ## Properties 17 | 18 | ### description 19 | 20 | **Type:** String (Read Only) 21 | 22 | The the product option value's description 23 | in the current locale. 24 | 25 | ### displayValue 26 | 27 | **Type:** String (Read Only) 28 | 29 | The the product option value's display name 30 | in the current locale. 31 | 32 | ### ID 33 | 34 | **Type:** String (Read Only) 35 | 36 | The product option value's ID. 37 | 38 | ### productIDModifier 39 | 40 | **Type:** String (Read Only) 41 | 42 | The product option value's product ID modifier which 43 | can be used to build the SKU for the actual product. 44 | 45 | ## Constructor Summary 46 | 47 | ## Method Summary 48 | 49 | ### getDescription 50 | 51 | **Signature:** `getDescription() : String` 52 | 53 | Returns the the product option value's description in the current locale. 54 | 55 | ### getDisplayValue 56 | 57 | **Signature:** `getDisplayValue() : String` 58 | 59 | Returns the the product option value's display name in the current locale. 60 | 61 | ### getID 62 | 63 | **Signature:** `getID() : String` 64 | 65 | Returns the product option value's ID. 66 | 67 | ### getProductIDModifier 68 | 69 | **Signature:** `getProductIDModifier() : String` 70 | 71 | Returns the product option value's product ID modifier which can be used to build the SKU for the actual product. 72 | 73 | ## Method Detail 74 | 75 | ## Method Details 76 | 77 | ### getDescription 78 | 79 | **Signature:** `getDescription() : String` 80 | 81 | **Description:** Returns the the product option value's description in the current locale. 82 | 83 | **Returns:** 84 | 85 | The value of the product option value's description in the current locale, or null if it wasn't found. 86 | 87 | --- 88 | 89 | ### getDisplayValue 90 | 91 | **Signature:** `getDisplayValue() : String` 92 | 93 | **Description:** Returns the the product option value's display name in the current locale. 94 | 95 | **Returns:** 96 | 97 | The value of the product option value's display name in the current locale, or null if it wasn't found. 98 | 99 | --- 100 | 101 | ### getID 102 | 103 | **Signature:** `getID() : String` 104 | 105 | **Description:** Returns the product option value's ID. 106 | 107 | **Returns:** 108 | 109 | the product option value's ID. 110 | 111 | --- 112 | 113 | ### getProductIDModifier 114 | 115 | **Signature:** `getProductIDModifier() : String` 116 | 117 | **Description:** Returns the product option value's product ID modifier which can be used to build the SKU for the actual product. 118 | 119 | **Returns:** 120 | 121 | the product option value's product ID modifier which can be used to build the SKU for the actual product. 122 | 123 | --- ``` -------------------------------------------------------------------------------- /docs/dw_customer/AuthenticationStatus.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.customer 2 | 3 | # Class AuthenticationStatus 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.customer.AuthenticationStatus 9 | 10 | ## Description 11 | 12 | Holds the status of an authentication process. 13 | 14 | ## Constants 15 | 16 | ### AUTH_OK 17 | 18 | **Type:** String = "AUTH_OK" 19 | 20 | Authentication was successful 21 | 22 | ### ERROR_CUSTOMER_DISABLED 23 | 24 | **Type:** String = "ERROR_CUSTOMER_DISABLED" 25 | 26 | customer could be found, but is disabled. Password was not verified. 27 | 28 | ### ERROR_CUSTOMER_LOCKED 29 | 30 | **Type:** String = "ERROR_CUSTOMER_LOCKED" 31 | 32 | customer could be found, but is locked (too many failed login attempts). Password was verified before. 33 | 34 | ### ERROR_CUSTOMER_NOT_FOUND 35 | 36 | **Type:** String = "ERROR_CUSTOMER_NOT_FOUND" 37 | 38 | customer could not be found 39 | 40 | ### ERROR_PASSWORD_EXPIRED 41 | 42 | **Type:** String = "ERROR_PASSWORD_EXPIRED" 43 | 44 | Password does match, but is expired. 45 | 46 | ### ERROR_PASSWORD_MISMATCH 47 | 48 | **Type:** String = "ERROR_PASSWORD_MISMATCH" 49 | 50 | the used password is not correct 51 | 52 | ### ERROR_UNKNOWN 53 | 54 | **Type:** String = "ERROR_UNKNOWN" 55 | 56 | Any other error 57 | 58 | ## Properties 59 | 60 | ### authenticated 61 | 62 | **Type:** boolean (Read Only) 63 | 64 | checks whether the authentication was successful or not 65 | 66 | ### customer 67 | 68 | **Type:** Customer (Read Only) 69 | 70 | The customer, corresponding to the login used during authentication. This customer is not logged in after authentication. 71 | 72 | ### status 73 | 74 | **Type:** String (Read Only) 75 | 76 | the status code (see the constants above) 77 | 78 | ## Constructor Summary 79 | 80 | ## Method Summary 81 | 82 | ### getCustomer 83 | 84 | **Signature:** `getCustomer() : Customer` 85 | 86 | The customer, corresponding to the login used during authentication. 87 | 88 | ### getStatus 89 | 90 | **Signature:** `getStatus() : String` 91 | 92 | the status code (see the constants above) 93 | 94 | ### isAuthenticated 95 | 96 | **Signature:** `isAuthenticated() : boolean` 97 | 98 | checks whether the authentication was successful or not 99 | 100 | ## Method Detail 101 | 102 | ## Method Details 103 | 104 | ### getCustomer 105 | 106 | **Signature:** `getCustomer() : Customer` 107 | 108 | **Description:** The customer, corresponding to the login used during authentication. This customer is not logged in after authentication. 109 | 110 | **Returns:** 111 | 112 | the customer described by the login 113 | 114 | --- 115 | 116 | ### getStatus 117 | 118 | **Signature:** `getStatus() : String` 119 | 120 | **Description:** the status code (see the constants above) 121 | 122 | **Returns:** 123 | 124 | the status code 125 | 126 | --- 127 | 128 | ### isAuthenticated 129 | 130 | **Signature:** `isAuthenticated() : boolean` 131 | 132 | **Description:** checks whether the authentication was successful or not 133 | 134 | **Returns:** 135 | 136 | the when the authentication was successful 137 | 138 | --- ``` -------------------------------------------------------------------------------- /tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json: -------------------------------------------------------------------------------- ```json 1 | { 2 | "_v": "23.2", 3 | "_type": "object_attribute_definition_search_result", 4 | "count": 3, 5 | "data": [ 6 | { 7 | "_type": "object_attribute_definition", 8 | "id": "customString", 9 | "displayName": { 10 | "default": "Custom String Field" 11 | }, 12 | "description": { 13 | "default": "A custom string field for storing additional data" 14 | }, 15 | "value_type": "string", 16 | "mandatory": false, 17 | "max_length": 256, 18 | "min_length": null, 19 | "regular_expression": null, 20 | "default_value": null, 21 | "localizable": true, 22 | "searchable": true, 23 | "system": false, 24 | "visible": true, 25 | "_links": { 26 | "self": { 27 | "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customString" 28 | } 29 | } 30 | }, 31 | { 32 | "_type": "object_attribute_definition", 33 | "id": "customNumber", 34 | "displayName": { 35 | "default": "Custom Number Field" 36 | }, 37 | "description": { 38 | "default": "A custom number field for numeric values" 39 | }, 40 | "value_type": "double", 41 | "mandatory": false, 42 | "max_length": null, 43 | "min_length": null, 44 | "regular_expression": null, 45 | "scale": 2, 46 | "max_value": 999999.99, 47 | "min_value": 0.0, 48 | "default_value": null, 49 | "localizable": false, 50 | "searchable": true, 51 | "system": false, 52 | "visible": true, 53 | "_links": { 54 | "self": { 55 | "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customNumber" 56 | } 57 | } 58 | }, 59 | { 60 | "_type": "object_attribute_definition", 61 | "id": "customBoolean", 62 | "displayName": { 63 | "default": "Custom Boolean Field" 64 | }, 65 | "description": { 66 | "default": "A custom boolean field for true/false values" 67 | }, 68 | "value_type": "boolean", 69 | "mandatory": false, 70 | "max_length": null, 71 | "min_length": null, 72 | "regular_expression": null, 73 | "default_value": false, 74 | "localizable": false, 75 | "searchable": false, 76 | "system": false, 77 | "visible": true, 78 | "_links": { 79 | "self": { 80 | "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customBoolean" 81 | } 82 | } 83 | } 84 | ], 85 | "next": null, 86 | "previous": null, 87 | "start": 0, 88 | "total": 3, 89 | "query": { 90 | "match_all_query": {} 91 | } 92 | } ``` -------------------------------------------------------------------------------- /docs/TopLevel/Int8Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Int8Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Int8Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 8-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 1 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Int8Array() Creates an empty array. 51 | 52 | Int8Array(length : Number) Creates an array with the given element count. 53 | 54 | Int8Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Int8Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Int8Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Int8Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Int8Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: dw.extensions.payments 2 | 3 | # Class SalesforcePaymentsSiteConfiguration 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - dw.extensions.payments.SalesforcePaymentsSiteConfiguration 9 | 10 | ## Description 11 | 12 | Salesforce Payments representation of a payment site configuration object. See Salesforce Payments documentation for how to gain access and configure it for use on your sites. A payment site configuration contains information about the configuration of the site such as whether the site is activated with Express Checkout, Multi-Step Checkout or both. 13 | 14 | ## Properties 15 | 16 | ### cardCaptureAutomatic 17 | 18 | **Type:** boolean (Read Only) 19 | 20 | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or 21 | false if the capture method is set to manual. 22 | 23 | ### expressCheckoutEnabled 24 | 25 | **Type:** boolean (Read Only) 26 | 27 | Returns true if Express Checkout is enabled for the site. 28 | 29 | ### multiStepCheckoutEnabled 30 | 31 | **Type:** boolean (Read Only) 32 | 33 | Returns true if Multi-Step Checkout is enabled for the site. 34 | 35 | ## Constructor Summary 36 | 37 | ## Method Summary 38 | 39 | ### isCardCaptureAutomatic 40 | 41 | **Signature:** `isCardCaptureAutomatic() : boolean` 42 | 43 | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual. 44 | 45 | ### isExpressCheckoutEnabled 46 | 47 | **Signature:** `isExpressCheckoutEnabled() : boolean` 48 | 49 | Returns true if Express Checkout is enabled for the site. 50 | 51 | ### isMultiStepCheckoutEnabled 52 | 53 | **Signature:** `isMultiStepCheckoutEnabled() : boolean` 54 | 55 | Returns true if Multi-Step Checkout is enabled for the site. 56 | 57 | ## Method Detail 58 | 59 | ## Method Details 60 | 61 | ### isCardCaptureAutomatic 62 | 63 | **Signature:** `isCardCaptureAutomatic() : boolean` 64 | 65 | **Description:** Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual. 66 | 67 | **Returns:** 68 | 69 | true if the credit card capture method is automatic, or false if it is manual 70 | 71 | --- 72 | 73 | ### isExpressCheckoutEnabled 74 | 75 | **Signature:** `isExpressCheckoutEnabled() : boolean` 76 | 77 | **Description:** Returns true if Express Checkout is enabled for the site. 78 | 79 | **Returns:** 80 | 81 | true if Express Checkout is enabled for the site, or false if not 82 | 83 | --- 84 | 85 | ### isMultiStepCheckoutEnabled 86 | 87 | **Signature:** `isMultiStepCheckoutEnabled() : boolean` 88 | 89 | **Description:** Returns true if Multi-Step Checkout is enabled for the site. 90 | 91 | **Returns:** 92 | 93 | true if Multi-Step Checkout is enabled for the site, or false if not 94 | 95 | --- ``` -------------------------------------------------------------------------------- /docs-site/public/sitemap.xml: -------------------------------------------------------------------------------- ``` 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 3 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 | xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 5 | http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> 6 | <!-- SFCC Development MCP Server Homepage --> 7 | <url> 8 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com</loc> 9 | <lastmod>2025-09-20</lastmod> 10 | <changefreq>weekly</changefreq> 11 | <priority>1.0</priority> 12 | </url> 13 | <!-- Configuration Guide --> 14 | <url> 15 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/configuration/</loc> 16 | <lastmod>2025-09-20</lastmod> 17 | <changefreq>monthly</changefreq> 18 | <priority>0.9</priority> 19 | </url> 20 | <!-- AI Interface Setup Guide --> 21 | <url> 22 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/ai-interfaces/</loc> 23 | <lastmod>2025-09-20</lastmod> 24 | <changefreq>monthly</changefreq> 25 | <priority>0.8</priority> 26 | </url> 27 | <!-- Features Overview --> 28 | <url> 29 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/features/</loc> 30 | <lastmod>2025-09-20</lastmod> 31 | <changefreq>monthly</changefreq> 32 | <priority>0.8</priority> 33 | </url> 34 | <!-- Available Tools --> 35 | <url> 36 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/tools/</loc> 37 | <lastmod>2025-09-20</lastmod> 38 | <changefreq>monthly</changefreq> 39 | <priority>0.8</priority> 40 | </url> 41 | <!-- Examples and Use Cases --> 42 | <url> 43 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/examples/</loc> 44 | <lastmod>2025-09-20</lastmod> 45 | <changefreq>monthly</changefreq> 46 | <priority>0.8</priority> 47 | </url> 48 | <!-- Security Guidelines --> 49 | <url> 50 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/security/</loc> 51 | <lastmod>2025-09-20</lastmod> 52 | <changefreq>monthly</changefreq> 53 | <priority>0.7</priority> 54 | </url> 55 | <!-- Development Guide --> 56 | <url> 57 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/development/</loc> 58 | <lastmod>2025-09-20</lastmod> 59 | <changefreq>monthly</changefreq> 60 | <priority>0.6</priority> 61 | </url> 62 | <!-- Troubleshooting Guide --> 63 | <url> 64 | <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/troubleshooting/</loc> 65 | <lastmod>2025-09-20</lastmod> 66 | <changefreq>monthly</changefreq> 67 | <priority>0.7</priority> 68 | </url> 69 | </urlset> ``` -------------------------------------------------------------------------------- /docs/TopLevel/Int16Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Int16Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Int16Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 16-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 2 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Int16Array() Creates an empty array. 51 | 52 | Int16Array(length : Number) Creates an array with the given element count. 53 | 54 | Int16Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Int16Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Int16Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Int16Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Int16Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Int32Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Int32Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Int32Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 32-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 4 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Int32Array() Creates an empty array. 51 | 52 | Int32Array(length : Number) Creates an array with the given element count. 53 | 54 | Int32Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Int32Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Int32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Int32Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Int32Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Uint8Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Uint8Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Uint8Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 8-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 1 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Uint8Array() Creates an empty array. 51 | 52 | Uint8Array(length : Number) Creates an array with the given element count. 53 | 54 | Uint8Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Uint8Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Uint8Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint8Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Uint8Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Uint32Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Uint32Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Uint32Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 32-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 4 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Uint32Array() Creates an empty array. 51 | 52 | Uint32Array(length : Number) Creates an array with the given element count. 53 | 54 | Uint32Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Uint32Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Uint32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint32Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Uint32Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Uint16Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Uint16Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Uint16Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 16-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 2 19 | 20 | The number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Uint16Array() Creates an empty array. 51 | 52 | Uint16Array(length : Number) Creates an array with the given element count. 53 | 54 | Uint16Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Uint16Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Uint16Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint16Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Uint16Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Float32Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Float32Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Float32Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 32-bit floating point numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 4 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Float32Array() Creates an empty array. 51 | 52 | Float32Array(length : Number) Creates an array with the given element count. 53 | 54 | Float32Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Float32Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Float32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Float32Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Float32Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ``` -------------------------------------------------------------------------------- /docs/TopLevel/Float64Array.md: -------------------------------------------------------------------------------- ```markdown 1 | ## Package: TopLevel 2 | 3 | # Class Float64Array 4 | 5 | ## Inheritance Hierarchy 6 | 7 | - Object 8 | - Float64Array 9 | 10 | ## Description 11 | 12 | An optimized array to store 64-bit floating point numbers. Elements of this array are stored in an ArrayBuffer object. 13 | 14 | ## Constants 15 | 16 | ### BYTES_PER_ELEMENT 17 | 18 | **Type:** Number = 8 19 | 20 | Number value of the element size. 21 | 22 | ## Properties 23 | 24 | ### buffer 25 | 26 | **Type:** ArrayBuffer 27 | 28 | The array buffer referenced by this typed array. 29 | 30 | ### byteLength 31 | 32 | **Type:** Number 33 | 34 | The number of bytes in the array buffer used by this typed array. 35 | 36 | ### byteOffset 37 | 38 | **Type:** Number 39 | 40 | The start offset for this typed array within the array buffer. 41 | 42 | ### length 43 | 44 | **Type:** Number 45 | 46 | The number of elements. 47 | 48 | ## Constructor Summary 49 | 50 | Float64Array() Creates an empty array. 51 | 52 | Float64Array(length : Number) Creates an array with the given element count. 53 | 54 | Float64Array(typedArray : Object) Creates an array as a copy of the passed typed array. 55 | 56 | Float64Array(array : Array) Creates an array as a copy of the passed array. 57 | 58 | Float64Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer. 59 | 60 | ## Method Summary 61 | 62 | ### get 63 | 64 | **Signature:** `get(index : Number) : Number` 65 | 66 | Returns the value at the specified index. 67 | 68 | ### set 69 | 70 | **Signature:** `set(values : Object, offset : Number) : void` 71 | 72 | Copies all values from the source array into this typed array. 73 | 74 | ### subarray 75 | 76 | **Signature:** `subarray(begin : Number, end : Number) : Float64Array` 77 | 78 | Returns a new array object based on the same ArrayBuffer store. 79 | 80 | ## Constructor Detail 81 | 82 | ## Method Detail 83 | 84 | ## Method Details 85 | 86 | ### get 87 | 88 | **Signature:** `get(index : Number) : Number` 89 | 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access. 91 | 92 | **Parameters:** 93 | 94 | - `index`: The index to use. 95 | 96 | **Returns:** 97 | 98 | The value at the specified index. 99 | 100 | --- 101 | 102 | ### set 103 | 104 | **Signature:** `set(values : Object, offset : Number) : void` 105 | 106 | **Description:** Copies all values from the source array into this typed array. 107 | 108 | **Parameters:** 109 | 110 | - `values`: The source values. Can be an array or a typed array. 111 | - `offset`: Optional. Target offset. 112 | 113 | --- 114 | 115 | ### subarray 116 | 117 | **Signature:** `subarray(begin : Number, end : Number) : Float64Array` 118 | 119 | **Description:** Returns a new array object based on the same ArrayBuffer store. 120 | 121 | **Parameters:** 122 | 123 | - `begin`: Optional. The first included element. 124 | - `end`: Optional. The index of the end. This element is not included. 125 | 126 | **Returns:** 127 | 128 | The new array object. 129 | 130 | --- ```