Simple mapper to remove strapi wrappers
Strapi is one the most popular headless cms, internally wraps the response inside data
, attributes
object, in some scenarios could be verbose, for this reason was created strapi-plugin-transformer, plugin to remove this response wrapper.
However this package does not have support for graphql (you can read more here), it can just be applied to the API Rest responses, that is the main reason for this package be created.
Install package:
# npm
npm install smapper
# yarn
yarn add smapper
# pnpm
pnpm install smapper
Import:
// ESM
import mapper from "smapper";
// CommonJS
const mapper = require("smapper");
We have a graphql like this:
query Posts {
posts {
data {
attributes {
title
content
slug
images {
data {
id
attributes {
name
formats
url
}
}
}
}
}
}
}
And you want remove the data and attributes wrappers, just call the function imported and pass the graphql result as parameter:
import mapper from 'smapper';
import GetPost from './graphql';
const response = await graphql(GetPost);
const mapped = mapper(response);
- Clone this repository
- Install latest LTS version of Node.js
- Enable Corepack using
corepack enable
- Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
This project is originally written as strapi plugin (strapi-plugin-transformer) by:
- @ComfortablyCoding (profile)
Made with 💛
Published under MIT License.