UNPKG

@ortoo/angular-resource

Version:

Magical CRUD resource management for angular

53 lines 9.27 kB
import * as tslib_1 from "tslib"; import { InjectionToken, NgModule } from '@angular/core'; import * as localForage from 'localforage'; import { CollectionFactory } from './collection'; import { createLocalResourceFactory } from './local'; import { createResourceFactory } from './model'; import { createQueryFactory } from './query'; import { createServerResourceFactory } from './server'; import './declarations.d'; export * from './types'; export { Deferred } from './utils'; export const SERVER_RESOURCE_FACTORY = new InjectionToken('server resource factory'); export const LOCAL_RESOURCE_FACTORY = new InjectionToken('local resource factory'); export const RESOURCE_FACTORY = new InjectionToken('resource factory'); export const QUERY_FACTORY = new InjectionToken('query factory'); export const COLLECTION_FACTORY = new InjectionToken('collection factory'); export const SOCKET_FACTORY = new InjectionToken('socket factory'); export const DATABASE_FACTORY = new InjectionToken('database factory'); let OrtooResourceModule = OrtooResourceModule_1 = class OrtooResourceModule { static forOptions(opts) { return { ngModule: OrtooResourceModule_1, providers: [ { provide: SERVER_RESOURCE_FACTORY, useFactory: createServerResourceFactory, deps: [SOCKET_FACTORY] }, { provide: QUERY_FACTORY, useFactory: createQueryFactory, deps: [SOCKET_FACTORY] }, { provide: COLLECTION_FACTORY, useValue: CollectionFactory }, { deps: [SERVER_RESOURCE_FACTORY, QUERY_FACTORY, COLLECTION_FACTORY, DATABASE_FACTORY], provide: LOCAL_RESOURCE_FACTORY, useFactory: (srf, qf, cf, dbf) => { const lf = opts.localForage || localForage; return createLocalResourceFactory(srf, qf, cf, dbf, lf); }, }, { deps: [LOCAL_RESOURCE_FACTORY], provide: RESOURCE_FACTORY, useFactory: (lrf) => { const lf = opts.localForage || localForage; const plugins = opts.plugins || []; return createResourceFactory(lrf, lf, plugins, opts.pStorageMaxLen); }, }, ], }; } }; OrtooResourceModule = OrtooResourceModule_1 = tslib_1.__decorate([ NgModule() ], OrtooResourceModule); export { OrtooResourceModule }; var OrtooResourceModule_1; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL0BvcnRvby9hbmd1bGFyLXJlc291cmNlLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBY3ZELE9BQU8sa0JBQWtCLENBQUM7QUFFMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0IseUJBQXlCLENBQUMsQ0FBQztBQUM1RyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsd0JBQXdCLENBQUMsQ0FBQztBQUN6RyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsa0JBQWtCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWUsZUFBZSxDQUFDLENBQUM7QUFDL0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQTBCLG9CQUFvQixDQUFDLENBQUM7QUFDcEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFrQixrQkFBa0IsQ0FBQyxDQUFDO0FBU3hGLElBQWEsbUJBQW1CLDJCQUFoQztJQUNTLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBdUI7UUFDOUMsTUFBTSxDQUFDO1lBQ0wsUUFBUSxFQUFFLHFCQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1QsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLDJCQUEyQixFQUFFLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFDO2dCQUNuRyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFDO2dCQUNoRixFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzNEO29CQUNFLElBQUksRUFBRSxDQUFDLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDcEYsT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsVUFBVSxFQUFFLENBQUMsR0FBMEIsRUFDMUIsRUFBZ0IsRUFDaEIsRUFBNkIsRUFDN0IsR0FBb0I7d0JBQy9CLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDO3dCQUMzQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUM5QixPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixVQUFVLEVBQUUsQ0FBQyxHQUF5Qjt3QkFDcEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUM7d0JBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO3dCQUNuQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUN0RSxDQUFDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUEvQlksbUJBQW1CO0lBRC9CLFFBQVEsRUFBRTtHQUNFLG1CQUFtQixDQStCL0I7U0EvQlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBsb2NhbEZvcmFnZSBmcm9tICdsb2NhbGZvcmFnZSc7XG5cbmltcG9ydCB7IENvbGxlY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IGNyZWF0ZUxvY2FsUmVzb3VyY2VGYWN0b3J5IH0gZnJvbSAnLi9sb2NhbCc7XG5pbXBvcnQgeyBjcmVhdGVSZXNvdXJjZUZhY3RvcnkgfSBmcm9tICcuL21vZGVsJztcbmltcG9ydCB7IGNyZWF0ZVF1ZXJ5RmFjdG9yeSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgY3JlYXRlU2VydmVyUmVzb3VyY2VGYWN0b3J5IH0gZnJvbSAnLi9zZXJ2ZXInO1xuXG5pbXBvcnQgeyBDb2xsZWN0aW9uRmFjdG9yeSBhcyBJQ29sbGVjdGlvbkZhY3RvcnksXG4gICAgICAgICBDb2xsZWN0aW9uU3RhdGljLFxuICAgICAgICAgRGF0YWJhc2VGYWN0b3J5LFxuICAgICAgICAgTG9jYWxGb3JhZ2UsXG4gICAgICAgICBMb2NhbFJlc291cmNlRmFjdG9yeSxcbiAgICAgICAgIE1vZGVsLFxuICAgICAgICAgUGx1Z2luLFxuICAgICAgICAgUXVlcnlGYWN0b3J5LFxuICAgICAgICAgUmVzb3VyY2VGYWN0b3J5LFxuICAgICAgICAgU2VydmVyUmVzb3VyY2VGYWN0b3J5LFxuICAgICAgICAgU29ja2V0RmFjdG9yeSB9IGZyb20gJy4vdHlwZXMnO1xuXG5pbXBvcnQgJy4vZGVjbGFyYXRpb25zLmQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB7IERlZmVycmVkIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTRVJWRVJfUkVTT1VSQ0VfRkFDVE9SWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZXJ2ZXJSZXNvdXJjZUZhY3Rvcnk+KCdzZXJ2ZXIgcmVzb3VyY2UgZmFjdG9yeScpO1xuZXhwb3J0IGNvbnN0IExPQ0FMX1JFU09VUkNFX0ZBQ1RPUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxSZXNvdXJjZUZhY3Rvcnk+KCdsb2NhbCByZXNvdXJjZSBmYWN0b3J5Jyk7XG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfRkFDVE9SWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZXNvdXJjZUZhY3Rvcnk8TW9kZWw+PigncmVzb3VyY2UgZmFjdG9yeScpO1xuZXhwb3J0IGNvbnN0IFFVRVJZX0ZBQ1RPUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW48UXVlcnlGYWN0b3J5PigncXVlcnkgZmFjdG9yeScpO1xuZXhwb3J0IGNvbnN0IENPTExFQ1RJT05fRkFDVE9SWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb2xsZWN0aW9uU3RhdGljPE1vZGVsPj4oJ2NvbGxlY3Rpb24gZmFjdG9yeScpO1xuZXhwb3J0IGNvbnN0IFNPQ0tFVF9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuPFNvY2tldEZhY3Rvcnk+KCdzb2NrZXQgZmFjdG9yeScpO1xuZXhwb3J0IGNvbnN0IERBVEFCQVNFX0ZBQ1RPUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF0YWJhc2VGYWN0b3J5PignZGF0YWJhc2UgZmFjdG9yeScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9ydG9vUmVzb3VyY2VPcHRzIHtcbiAgbG9jYWxGb3JhZ2U/OiBMb2NhbEZvcmFnZTtcbiAgcGx1Z2lucz86IEFycmF5PFBsdWdpbjxNb2RlbD4+O1xuICBwU3RvcmFnZU1heExlbj86IG51bWJlcjtcbn1cblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBPcnRvb1Jlc291cmNlTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JPcHRpb25zKG9wdHM6IE9ydG9vUmVzb3VyY2VPcHRzKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPcnRvb1Jlc291cmNlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBTRVJWRVJfUkVTT1VSQ0VfRkFDVE9SWSwgdXNlRmFjdG9yeTogY3JlYXRlU2VydmVyUmVzb3VyY2VGYWN0b3J5LCBkZXBzOiBbU09DS0VUX0ZBQ1RPUlldfSxcbiAgICAgICAge3Byb3ZpZGU6IFFVRVJZX0ZBQ1RPUlksIHVzZUZhY3Rvcnk6IGNyZWF0ZVF1ZXJ5RmFjdG9yeSwgZGVwczogW1NPQ0tFVF9GQUNUT1JZXX0sXG4gICAgICAgIHtwcm92aWRlOiBDT0xMRUNUSU9OX0ZBQ1RPUlksIHVzZVZhbHVlOiBDb2xsZWN0aW9uRmFjdG9yeSB9LFxuICAgICAgICB7XG4gICAgICAgICAgZGVwczogW1NFUlZFUl9SRVNPVVJDRV9GQUNUT1JZLCBRVUVSWV9GQUNUT1JZLCBDT0xMRUNUSU9OX0ZBQ1RPUlksIERBVEFCQVNFX0ZBQ1RPUlldLFxuICAgICAgICAgIHByb3ZpZGU6IExPQ0FMX1JFU09VUkNFX0ZBQ1RPUlksXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHNyZjogU2VydmVyUmVzb3VyY2VGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICBxZjogUXVlcnlGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICBjZjogSUNvbGxlY3Rpb25GYWN0b3J5PE1vZGVsPixcbiAgICAgICAgICAgICAgICAgICAgICAgZGJmOiBEYXRhYmFzZUZhY3RvcnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxmID0gb3B0cy5sb2NhbEZvcmFnZSB8fCBsb2NhbEZvcmFnZTtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVMb2NhbFJlc291cmNlRmFjdG9yeShzcmYsIHFmLCBjZiwgZGJmLCBsZik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGRlcHM6IFtMT0NBTF9SRVNPVVJDRV9GQUNUT1JZXSxcbiAgICAgICAgICBwcm92aWRlOiBSRVNPVVJDRV9GQUNUT1JZLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChscmY6IExvY2FsUmVzb3VyY2VGYWN0b3J5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsZiA9IG9wdHMubG9jYWxGb3JhZ2UgfHwgbG9jYWxGb3JhZ2U7XG4gICAgICAgICAgICBjb25zdCBwbHVnaW5zID0gb3B0cy5wbHVnaW5zIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc291cmNlRmFjdG9yeShscmYsIGxmLCBwbHVnaW5zLCBvcHRzLnBTdG9yYWdlTWF4TGVuKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=