UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

28 lines (26 loc) 780 B
import "../../chunks/chunk-U5RRZUYZ.js"; // src/backend/loader/JsonLoader.ts import { META_KEY } from "alinea/core/EntryRecord"; var encoder = new TextEncoder(); var decoder = new TextDecoder(); var JsonLoader = { extension: ".json", parse(schema, input) { const raw = JSON.parse(decoder.decode(input)); if (!raw[META_KEY]) raw[META_KEY] = raw.alinea ?? {}; if (!raw[META_KEY].entryId) raw[META_KEY].entryId = raw.id ?? raw[META_KEY].id; if (!raw[META_KEY].type) raw[META_KEY].type = raw.type; if (!raw[META_KEY].i18nId && raw[META_KEY].i18n) raw[META_KEY].i18nId = raw[META_KEY].i18n?.id; return raw; }, format(schema, entry) { return encoder.encode(JSON.stringify(entry, null, " ")); } }; export { JsonLoader };