contentstack-utils

tarafından contentstack

Genel API—ContentstackUtils, Option/Renderable, RTE/JSON, GQL, varyantlar, hatalar; yerleşik HTTP istemcisi yok.

npx skills add https://github.com/contentstack/contentstack-utils-swift --skill contentstack-utils

Contentstack Utils – SDK skill

When to use

  • Implementing or changing RTE/HTML rendering, JSON RTE parsing, or variant helpers.
  • Updating README.md / CHANGELOG.md / podspec for user-visible behavior.
  • Assessing semver impact of public / open changes.

Main entry (consumer API)

  • Consumers import ContentstackUtils and use ContentstackUtils: e.g. render(content:_:), render(contents:_:), jsonToHtml(node:_:), getVariantAliases, nested GQL.jsonToHtml(rte:_:).
  • Keep the static surface small and documented; breaking changes need semver and changelog notes.

Customization

  • Subclass or extend via Option (open class) conforming to Renderable: renderItem(embeddedObject:metadata:), renderMark(markType:text:), renderNode(nodeType:node:next:).
  • Do not remove or rename open hooks without a major version.

Data model

  • RTE JSON uses Node, JSONNode / JSONNodes, MarkType, StyleType, Metadata, embedded entry/asset types (EmbeddedObject, EmbeddedEntry, etc.).
  • Preserve Codable / decoding compatibility with Contentstack Delivery and GraphQL payloads.

Errors

  • Expose domain failures with nested types where appropriate (e.g. ContentstackUtils.VariantUtilityError.invalidArgument).
  • Use throws for recoverable failures; avoid force-unwraps on public paths.

HTML and documentation

  • Rendering uses Kanna/HTML internally; keep output predictable for documented inputs.
  • Document new node types or GQL JSON shapes in README.md / CHANGELOG.md.

No network layer

  • This package does not ship HTTP clients or tokens.
  • README examples showing Stack, fetch, or Apollo are integration sketches only—do not add hard dependencies on the main Contentstack iOS SDK or Apollo in Package.swift unless product explicitly requires it.

Legacy naming

  • Some names (e.g. embdeddedItems) are entrenched; changing them is a breaking API change—coordinate with maintainers.

Docs and versioning

  • Align ContentstackUtils.podspec and git tags with releases. Follow semver for public / open changes.

References

  • Contentstack
  • skills/swift-style/SKILL.md, skills/framework/SKILL.md

contentstack tarafından daha fazla skill

cms-assets
contentstack
Geliştiricilere Contentstack'te varlıkları düzenleme, teslim etme ve dönüştürme konusunda danışmanlık yapın. Klasör yapısını, Image Delivery API dönüşümlerini, yayınlamayı kapsar…
cms-branches-aliases
contentstack
Geliştiricilere, izole içerik geliştirme için Contentstack branch'lerini kullanma ve kesintisiz içerik dağıtımları için alias'ları kullanma konusunda önerilerde bulunun. Branch stratejisini ele alın,…
cms-data-modeling-best-practices
contentstack
Geliştiricilere Contentstack'te içeriği en basit yeniden kullanılabilir yapıyla modellemeleri için rehberlik eder. Bu beceri, content types, references, global… ne zaman kullanılacağını açıklar.
cms-live-preview-visual-builder-support-assistant
contentstack
Contentstack Live Preview ve Visual Builder uygulamalarını teşhis edin ve yönlendirin. Önizleme bağlamını izleyin, bozuk sözleşmeyi belirleyin ve öneride bulunun…
cms-releases
contentstack
Geliştiricilere, koordineli ve atomik içerik dağıtımı için Contentstack Releases kullanımı konusunda danışmanlık yapın. Release oluşturma, öğe yönetimi, aşamalı dağıtım,…
cms-roles-permissions
contentstack
Contentstack'te roller, izinler, ekipler ve token erişimi tasarlama konusunda geliştiricilere danışmanlık yapın. Yerleşik rolleri, özel rolleri, izin birleştirmeyi açıklayın,…
cms-taxonomy
contentstack
Geliştiricilere, Contentstack Taxonomy’yi yapılandırılmış, hiyerarşik içerik sınıflandırması ve teslimat tarafı filtreleme için kullanma konusunda danışmanlık yapar. Taxonomy ile etiketler arasındaki farkları kapsar,…
cms-tokens-authentication
contentstack
Geliştiricilere, frontend, backend, otomasyon ve üçüncü taraf uygulama kullanım senaryoları için doğru Contentstack kimlik doğrulama yöntemini ve token türünü seçme konusunda danışmanlık yapın.