@loona/core
Version:
App State Management done with GraphQL (core package)
37 lines • 2.64 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
/** @type {?} */
export var METADATA_KEY = '@@loona';
/**
* @param {?} target
* @return {?}
*/
export function readMetadata(target) {
/** @type {?} */
var constructor = target.constructor;
return constructor[METADATA_KEY];
}
/**
* @param {?} target
* @return {?}
*/
export function ensureMetadata(target) {
if (!target.hasOwnProperty(METADATA_KEY)) {
/** @type {?} */
var defaultValue = {
defaults: {},
mutations: [],
resolvers: [],
updates: [],
typeDefs: [],
effects: {},
};
Object.defineProperty(target, METADATA_KEY, {
value: defaultValue,
});
}
return target[METADATA_KEY];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbG9vbmEvY29yZS8iLCJzb3VyY2VzIjpbIm1ldGFkYXRhL21ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsTUFBTSxLQUFPLFlBQVksR0FBRyxTQUFTOzs7OztBQUVyQyxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQVc7O1FBQ2hDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVztJQUV0QyxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNuQyxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBVztJQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRTs7WUFDbEMsWUFBWSxHQUFhO1lBQzdCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQzFDLEtBQUssRUFBRSxZQUFZO1NBQ3BCLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWV0YWRhdGF9IGZyb20gJy4uL3R5cGVzL21ldGFkYXRhJztcblxuZXhwb3J0IGNvbnN0IE1FVEFEQVRBX0tFWSA9ICdAQGxvb25hJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRNZXRhZGF0YSh0YXJnZXQ6IGFueSk6IE1ldGFkYXRhIHtcbiAgY29uc3QgY29uc3RydWN0b3IgPSB0YXJnZXQuY29uc3RydWN0b3I7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yW01FVEFEQVRBX0tFWV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVNZXRhZGF0YSh0YXJnZXQ6IGFueSk6IE1ldGFkYXRhIHtcbiAgaWYgKCF0YXJnZXQuaGFzT3duUHJvcGVydHkoTUVUQURBVEFfS0VZKSkge1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZTogTWV0YWRhdGEgPSB7XG4gICAgICBkZWZhdWx0czoge30sXG4gICAgICBtdXRhdGlvbnM6IFtdLFxuICAgICAgcmVzb2x2ZXJzOiBbXSxcbiAgICAgIHVwZGF0ZXM6IFtdLFxuICAgICAgdHlwZURlZnM6IFtdLFxuICAgICAgZWZmZWN0czoge30sXG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFEQVRBX0tFWSwge1xuICAgICAgdmFsdWU6IGRlZmF1bHRWYWx1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXRbTUVUQURBVEFfS0VZXTtcbn1cbiJdfQ==