UNPKG

@heyframe-ag/meteor-admin-sdk

Version:

The Meteor SDK for the HeyFrame Administration.

93 lines 4 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRepositoryAdapter = exports.RepositoryAdapter = void 0; function isPromise(value) { return (!!value && typeof value === 'object' && 'then' in value && typeof value.then === 'function' && 'catch' in value && typeof value.catch === 'function'); } /** * Repository adapter that can wrap different source implementations * and provide a consistent interface */ class RepositoryAdapter { // eslint-disable-next-line no-empty-function,no-useless-constructor constructor(sourceRepository) { Object.defineProperty(this, "sourceRepository", { enumerable: true, configurable: true, writable: true, value: sourceRepository }); } search(criteria, context) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.search(criteria, context); }); } get(id, context, criteria) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.get(id, context, criteria); }); } save(entity, context) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.save(entity, context); }); } clone(entityId, behavior, context) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.clone(entityId, behavior, context); }); } hasChanges(entity) { return __awaiter(this, void 0, void 0, function* () { const result = this.sourceRepository.hasChanges(entity); return isPromise(result) ? result : Promise.resolve(result); }); } saveAll(entities, context) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.saveAll(entities, context); }); } delete(entityId, context) { return __awaiter(this, void 0, void 0, function* () { return this.sourceRepository.delete(entityId, context); }); } create(context, entityId) { return __awaiter(this, void 0, void 0, function* () { const result = this.sourceRepository.create(context, entityId); return isPromise(result) ? result : Promise.resolve(result); }); } } exports.RepositoryAdapter = RepositoryAdapter; function createRepositoryAdapter(source) { return new RepositoryAdapter(source); } exports.createRepositoryAdapter = createRepositoryAdapter; }); //# sourceMappingURL=repository-adapter.js.map