@loona/core
Version:
App State Management done with GraphQL (core package)
32 lines • 3.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { setUpdateMetadata } from '../metadata/update';
import { getNameOfMutation, getMutation, isMutation } from '../mutation';
/**
* @param {?} mutation
* @return {?}
*/
export function Update(mutation) {
return function (target, name, _descriptor) {
/** @type {?} */
let mutationName;
if (isMutation(mutation)) {
/** @type {?} */
const document = getMutation(mutation);
if (!document) {
throw new Error(`Mutation ${((/** @type {?} */ (mutation))).name} is missing a static property 'mutation'`);
}
mutationName = getNameOfMutation(document);
}
else if (typeof mutation === 'string') {
mutationName = mutation;
}
else {
mutationName = getNameOfMutation(mutation);
}
setUpdateMetadata(target, name, mutationName);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGxvb25hL2NvcmUvIiwic291cmNlcyI6WyJkZWNvcmF0b3JzL3VwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxhQUFhLENBQUM7Ozs7O0FBSXZFLE1BQU0sVUFBVSxNQUFNLENBQUMsUUFBZ0Q7SUFDckUsT0FBTyxVQUNMLE1BQVcsRUFDWCxJQUFZLEVBQ1osV0FBa0Q7O1lBRTlDLFlBQW9CO1FBRXhCLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFOztrQkFDbEIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFFdEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixNQUFNLElBQUksS0FBSyxDQUNiLFlBQ0UsQ0FBQyxtQkFBQSxRQUFRLEVBQU8sQ0FBQyxDQUFDLElBQ3BCLDBDQUEwQyxDQUMzQyxDQUFDO2FBQ0g7WUFFRCxZQUFZLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUM7YUFBTSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxZQUFZLEdBQUcsUUFBUSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxZQUFZLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUM7UUFFRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge3NldFVwZGF0ZU1ldGFkYXRhfSBmcm9tICcuLi9tZXRhZGF0YS91cGRhdGUnO1xuaW1wb3J0IHtnZXROYW1lT2ZNdXRhdGlvbiwgZ2V0TXV0YXRpb24sIGlzTXV0YXRpb259IGZyb20gJy4uL211dGF0aW9uJztcbmltcG9ydCB7VXBkYXRlTWV0aG9kfSBmcm9tICcuLi90eXBlcy91cGRhdGUnO1xuaW1wb3J0IHtNdXRhdGlvbk9iamVjdH0gZnJvbSAnLi4vdHlwZXMvbXV0YXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gVXBkYXRlKG11dGF0aW9uOiBNdXRhdGlvbk9iamVjdCB8IERvY3VtZW50Tm9kZSB8IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24oXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIF9kZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxVcGRhdGVNZXRob2Q+LFxuICApIHtcbiAgICBsZXQgbXV0YXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAoaXNNdXRhdGlvbihtdXRhdGlvbikpIHtcbiAgICAgIGNvbnN0IGRvY3VtZW50ID0gZ2V0TXV0YXRpb24obXV0YXRpb24pO1xuXG4gICAgICBpZiAoIWRvY3VtZW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTXV0YXRpb24gJHtcbiAgICAgICAgICAgIChtdXRhdGlvbiBhcyBhbnkpLm5hbWVcbiAgICAgICAgICB9IGlzIG1pc3NpbmcgYSBzdGF0aWMgcHJvcGVydHkgJ211dGF0aW9uJ2AsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIG11dGF0aW9uTmFtZSA9IGdldE5hbWVPZk11dGF0aW9uKGRvY3VtZW50KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBtdXRhdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG11dGF0aW9uTmFtZSA9IG11dGF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBtdXRhdGlvbk5hbWUgPSBnZXROYW1lT2ZNdXRhdGlvbihtdXRhdGlvbik7XG4gICAgfVxuXG4gICAgc2V0VXBkYXRlTWV0YWRhdGEodGFyZ2V0LCBuYW1lLCBtdXRhdGlvbk5hbWUpO1xuICB9O1xufVxuIl19