UNPKG

2.78 kBJavaScriptView Raw
1"use strict";
2//import 'reflect-metadata'
3require("./Globals");
4/**
5 * Model persistence events
6 */
7var PluginEventType;
8(function (PluginEventType) {
9 PluginEventType[PluginEventType["RepoInit"] = 1] = "RepoInit";
10 PluginEventType[PluginEventType["ModelRegister"] = 2] = "ModelRegister";
11})(PluginEventType = exports.PluginEventType || (exports.PluginEventType = {}));
12/**
13 * Different indexing actions
14 */
15var IndexAction;
16(function (IndexAction) {
17 IndexAction[IndexAction["Add"] = 0] = "Add";
18 IndexAction[IndexAction["Update"] = 1] = "Update";
19 IndexAction[IndexAction["Remove"] = 2] = "Remove";
20})(IndexAction = exports.IndexAction || (exports.IndexAction = {}));
21/**
22 * Super simply default key mapper for search results
23 * field names in, key out, must all be top level in result object
24 *
25 * @param fields
26 * @returns {function(Repo<any>, {new(): R}, R): IModelKey}
27 * @constructor
28 */
29function DefaultKeyMapper() {
30 var fields = [];
31 for (var _i = 0; _i < arguments.length; _i++) {
32 fields[_i] = arguments[_i];
33 }
34 return function (repo, resultType, result) {
35 var values = fields.map(function (field) { return result[field]; });
36 return repo.key(values);
37 };
38}
39exports.DefaultKeyMapper = DefaultKeyMapper;
40var PluginType;
41(function (PluginType) {
42 PluginType[PluginType["Indexer"] = 1] = "Indexer";
43 PluginType[PluginType["Store"] = 2] = "Store";
44 PluginType[PluginType["Repo"] = 4] = "Repo";
45 PluginType[PluginType["Finder"] = 8] = "Finder";
46})(PluginType = exports.PluginType || (exports.PluginType = {}));
47//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx1Z2luVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUGx1Z2luVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDJCQUEyQjtBQUMzQixxQkFBa0I7QUFPbEI7O0dBRUc7QUFDSCxJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDMUIsNkRBQVksQ0FBQTtJQUNaLHVFQUFhLENBQUE7QUFDZCxDQUFDLEVBSFcsZUFBZSxHQUFmLHVCQUFlLEtBQWYsdUJBQWUsUUFHMUI7QUFVRDs7R0FFRztBQUNILElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUN0QiwyQ0FBRyxDQUFBO0lBQ0gsaURBQU0sQ0FBQTtJQUNOLGlEQUFNLENBQUE7QUFDUCxDQUFDLEVBSlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFJdEI7QUFtQ0Q7Ozs7Ozs7R0FPRztBQUNIO0lBQWdELGdCQUFTO1NBQVQsVUFBUyxFQUFULHFCQUFTLEVBQVQsSUFBUztRQUFULDJCQUFTOztJQUN4RCxNQUFNLENBQUMsVUFBVSxJQUFjLEVBQUMsVUFBb0IsRUFBQyxNQUFRO1FBQzVELElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFLLElBQUssT0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQWIsQ0FBYSxDQUFDLENBQUE7UUFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDeEIsQ0FBQyxDQUFBO0FBQ0YsQ0FBQztBQUxELDRDQUtDO0FBNkRELElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNyQixpREFBZ0IsQ0FBQTtJQUNoQiw2Q0FBYyxDQUFBO0lBQ2QsMkNBQWEsQ0FBQTtJQUNiLCtDQUFlLENBQUE7QUFDaEIsQ0FBQyxFQUxXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBS3JCIn0=
\No newline at end of file