ts-japi
Version:
A highly-modular (typescript-friendly)-framework agnostic library for serializing data to the JSON:API specification
33 lines • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const link_model_1 = __importDefault(require("../models/link.model"));
/**
* The {@link Linker} class is used to construct a [link](https://jsonapi.org/format/#document-links).
*
* Example:
* ```typescript
* [[include:linker.example.ts]]
* ```
*/
class Linker {
/** @internal Generates a {@link Link}. */
link;
/**
* Creates a {@link Linker}.
*
* @param link - A {@link LinkFunction} used to generate a string URI from its arguments.
* @param options - Options for the linker.
*/
constructor(link, options = {}) {
this.link = (...datas) => {
return options.metaizer
? new link_model_1.default(link(...datas), options.metaizer.metaize(...datas))
: new link_model_1.default(link(...datas));
};
}
}
exports.default = Linker;
//# sourceMappingURL=linker.js.map