contentstack-utils

Öffentliche API—ContentstackUtils, Option/Renderable, RTE/JSON, GQL, Varianten, Fehler; kein gebündelter HTTP-Client.

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

Mehr Skills von contentstack

cms-assets
contentstack
Entwickler bei der Organisation, Bereitstellung und Transformation von Assets in Contentstack beraten. Ordnerstruktur, Transformationen über die Image Delivery API, Veröffentlichung abdecken…
cms-branches-aliases
contentstack
Entwickler beraten, wie Contentstack-Branches für isolierte Content-Entwicklung und Aliase für Content-Bereitstellungen ohne Ausfallzeiten genutzt werden können. Branch-Strategie abdecken, …
cms-data-modeling-best-practices
contentstack
Leiten Sie Entwickler an, Inhalte in Contentstack mit der einfachsten wiederverwendbaren Struktur zu modellieren. Die Fertigkeit erklärt, wann Inhaltstypen, Referenzen, globale…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostizieren und leiten Sie Contentstack Live Preview- und Visual Builder-Implementierungen. Verfolgen Sie den Vorschaukontext, identifizieren Sie den defekten Vertrag und empfehlen Sie die…
cms-releases
contentstack
Entwickler bei der Nutzung von Contentstack Releases für koordinierte, atomare Content-Bereitstellungen beraten. Release-Erstellung, Elementverwaltung, gestaffelte Bereitstellung abdecken, …
cms-roles-permissions
contentstack
Entwickler bei der Gestaltung von Rollen, Berechtigungen, Teams und Token-Zugriff in Contentstack beraten. Integrierte Rollen, benutzerdefinierte Rollen, Berechtigungszusammenführung, … erklären.
cms-taxonomy
contentstack
Entwickler beraten, wie Contentstack Taxonomy für strukturierte, hierarchische Inhaltsklassifizierung und auslieferungsseitige Filterung verwendet wird. Behandelt Taxonomy vs. Tags, …
cms-tokens-authentication
contentstack
Entwickler beraten, wie sie die richtige Contentstack-Authentifizierungsmethode und den passenden Token-Typ für Frontend-, Backend-, Automatisierungs- und Drittanbieter-App-Anwendungsfälle auswählen.…