UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

31 lines 2.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ export const configKey = 'akitaConfig'; /** * @param {?} metadata * @return {?} */ export function StoreConfig(metadata) { return (/** * @param {?} constructor * @return {?} */ function (constructor) { constructor[configKey] = { idKey: 'id' }; for (let i = 0, keys = Object.keys(metadata); i < keys.length; i++) { /** @type {?} */ const key = keys[i]; /* name is preserved read only key */ if (key === 'name') { constructor[configKey]['storeName'] = metadata[key]; } else { constructor[configKey][key] = metadata[key]; } } }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVDb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvc3RvcmVDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQSxNQUFNLE9BQU8sU0FBUyxHQUFHLGFBQWE7Ozs7O0FBRXRDLE1BQU0sVUFBVSxXQUFXLENBQUMsUUFBNEI7SUFDdEQ7Ozs7SUFBTyxVQUFTLFdBQXFCO1FBQ25DLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUV6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs7a0JBQzVELEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25CLHFDQUFxQztZQUNyQyxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7Z0JBQ2xCLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QztTQUNGO0lBQ0gsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0b3JlQ29uZmlnT3B0aW9ucyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICByZXNldHRhYmxlPzogYm9vbGVhbjtcbiAgY2FjaGU/OiB7IHR0bDogbnVtYmVyIH07XG4gIGRlZXBGcmVlemVGbj86IChvOiBhbnkpID0+IGFueTtcbiAgaWRLZXk/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGFibGVTdG9yZUNvbmZpZ09wdGlvbnMgPSB7XG4gIGNhY2hlPzogeyB0dGw6IG51bWJlciB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ0tleSA9ICdha2l0YUNvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBTdG9yZUNvbmZpZyhtZXRhZGF0YTogU3RvcmVDb25maWdPcHRpb25zKSB7XG4gIHJldHVybiBmdW5jdGlvbihjb25zdHJ1Y3RvcjogRnVuY3Rpb24pIHtcbiAgICBjb25zdHJ1Y3Rvcltjb25maWdLZXldID0geyBpZEtleTogJ2lkJyB9O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGtleXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YSk7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2ldO1xuICAgICAgLyogbmFtZSBpcyBwcmVzZXJ2ZWQgcmVhZCBvbmx5IGtleSAqL1xuICAgICAgaWYgKGtleSA9PT0gJ25hbWUnKSB7XG4gICAgICAgIGNvbnN0cnVjdG9yW2NvbmZpZ0tleV1bJ3N0b3JlTmFtZSddID0gbWV0YWRhdGFba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0cnVjdG9yW2NvbmZpZ0tleV1ba2V5XSA9IG1ldGFkYXRhW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19