UNPKG

angular-dynamic-forms-lite

Version:
82 lines 6.24 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { SubType } from "../../form-settings/sub-type"; /** @type {?} */ const ArrayResolver = (/** * @param {?} valueOrType * @return {?} */ (valueOrType) => { return { match: Array.isArray(valueOrType), value: [] }; }); const ɵ0 = ArrayResolver; /** @type {?} */ const GroupResolver = (/** * @param {?} valueOrType * @param {?} factory * @return {?} */ (valueOrType, factory) => { if (typeof valueOrType !== "object" || valueOrType instanceof SubType) { return { match: false }; } return { match: true, value: Object.entries(valueOrType).reduce((/** * @param {?} formModel * @param {?} __1 * @return {?} */ (formModel, [id, options]) => (Object.assign({}, formModel, { [id]: factory(options) }))), {}) }; }); const ɵ1 = GroupResolver; /** * Given an inline form it will resolve the model. No default values are used. * * Note: InlineOptions might have a default value in the future */ export class InlineModelResolver { constructor() { this.resolvers = [ArrayResolver, GroupResolver]; } /** * @param {?} inlineForm * @return {?} */ resolve(inlineForm) { return this.resolveInlineOptions([null, inlineForm]); } /** * @private * @param {?} __0 * @return {?} */ resolveInlineOptions([, child]) { return (((/** @type {?} */ (this.resolvers.reduce((/** * @param {?} prev * @param {?} curr * @return {?} */ (prev, curr) => (prev.match ? prev : curr(child, this.resolveInlineOptions.bind(this)))), { match: false, value: null }).value))) || null); } } if (false) { /** * @type {?} * @private */ InlineModelResolver.prototype.resolvers; } export { ɵ0, ɵ1 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZvcm0tbW9kZWwtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWR5bmFtaWMtZm9ybXMtbGl0ZS8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL2lubGluZS9pbmxpbmUtZm9ybS1tb2RlbC1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDOztNQUtqRCxhQUFhOzs7O0FBQWtCLENBQUMsV0FBOEIsRUFBRSxFQUFFO0lBQ3RFLE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDakMsS0FBSyxFQUFFLEVBQUU7S0FDVixDQUFDO0FBQ0osQ0FBQyxDQUFBOzs7TUFFSyxhQUFhOzs7OztBQUFrQixDQUFDLFdBQThCLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBQ3pGLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFdBQVcsWUFBWSxPQUFPLEVBQUU7UUFDckUsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTTs7Ozs7UUFDdkMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLG1CQUFNLFNBQVMsSUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBRyxHQUN4RSxFQUFFLENBQ0g7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFBOzs7Ozs7O0FBT0QsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNtQixjQUFTLEdBQW9CLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBZ0IvRSxDQUFDOzs7OztJQWZRLE9BQU8sQ0FBQyxVQUFzQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7OztJQUVPLG9CQUFvQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQWdCO1FBQ25ELE9BQU8sQ0FDTCxDQUFDLG1CQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTs7Ozs7UUFDcEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FDdkY7WUFDRSxLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FDRixDQUFDLEtBQUssRUFBYSxDQUFDLElBQUksSUFBSSxDQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGOzs7Ozs7SUFoQkMsd0NBQTZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lRm9ybSwgSW5saW5lVmFsdWVPclR5cGUsIElubGluZU9wdGlvbnMgfSBmcm9tIFwiLi9pbmxpbmUtZm9ybVwiO1xuaW1wb3J0IHsgRm9ybU1vZGVsLCBCYXNpY0Zvcm1GaWVsZFZhbHVlIH0gZnJvbSBcIi4uL2Zvcm0tbW9kZWxcIjtcbmltcG9ydCB7IFN1YlR5cGUgfSBmcm9tIFwiLi4vLi4vZm9ybS1zZXR0aW5ncy9zdWItdHlwZVwiO1xuXG50eXBlIFZhbHVlUmVzb2x2ZXJSZXN1bHQgPSB7IG1hdGNoOiBib29sZWFuOyB2YWx1ZT86IEJhc2ljRm9ybUZpZWxkVmFsdWUgfTtcbnR5cGUgVmFsdWVSZXNvbHZlciA9ICh2YWx1ZU9yVHlwZTogSW5saW5lVmFsdWVPclR5cGUsIGZhY3Rvcnk6IEZ1bmN0aW9uKSA9PiBWYWx1ZVJlc29sdmVyUmVzdWx0O1xuXG5jb25zdCBBcnJheVJlc29sdmVyOiBWYWx1ZVJlc29sdmVyID0gKHZhbHVlT3JUeXBlOiBJbmxpbmVWYWx1ZU9yVHlwZSkgPT4ge1xuICByZXR1cm4ge1xuICAgIG1hdGNoOiBBcnJheS5pc0FycmF5KHZhbHVlT3JUeXBlKSxcbiAgICB2YWx1ZTogW11cbiAgfTtcbn07XG5cbmNvbnN0IEdyb3VwUmVzb2x2ZXI6IFZhbHVlUmVzb2x2ZXIgPSAodmFsdWVPclR5cGU6IElubGluZVZhbHVlT3JUeXBlLCBmYWN0b3J5OiBGdW5jdGlvbikgPT4ge1xuICBpZiAodHlwZW9mIHZhbHVlT3JUeXBlICE9PSBcIm9iamVjdFwiIHx8IHZhbHVlT3JUeXBlIGluc3RhbmNlb2YgU3ViVHlwZSkge1xuICAgIHJldHVybiB7XG4gICAgICBtYXRjaDogZmFsc2VcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtYXRjaDogdHJ1ZSxcbiAgICB2YWx1ZTogT2JqZWN0LmVudHJpZXModmFsdWVPclR5cGUpLnJlZHVjZShcbiAgICAgIChmb3JtTW9kZWwsIFtpZCwgb3B0aW9uc10pID0+ICh7IC4uLmZvcm1Nb2RlbCwgW2lkXTogZmFjdG9yeShvcHRpb25zKSB9KSxcbiAgICAgIHt9XG4gICAgKVxuICB9O1xufTtcblxuLyoqXG4gKiBHaXZlbiBhbiBpbmxpbmUgZm9ybSBpdCB3aWxsIHJlc29sdmUgdGhlIG1vZGVsLiBObyBkZWZhdWx0IHZhbHVlcyBhcmUgdXNlZC5cbiAqXG4gKiBOb3RlOiBJbmxpbmVPcHRpb25zIG1pZ2h0IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGluIHRoZSBmdXR1cmVcbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZU1vZGVsUmVzb2x2ZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVyczogVmFsdWVSZXNvbHZlcltdID0gW0FycmF5UmVzb2x2ZXIsIEdyb3VwUmVzb2x2ZXJdO1xuICBwdWJsaWMgcmVzb2x2ZShpbmxpbmVGb3JtOiBJbmxpbmVGb3JtKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZUlubGluZU9wdGlvbnMoW251bGwsIGlubGluZUZvcm1dKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUlubGluZU9wdGlvbnMoWywgY2hpbGRdOiBJbmxpbmVPcHRpb25zKTogRm9ybU1vZGVsIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMucmVzb2x2ZXJzLnJlZHVjZTxWYWx1ZVJlc29sdmVyUmVzdWx0PihcbiAgICAgICAgKHByZXYsIGN1cnIpID0+IChwcmV2Lm1hdGNoID8gcHJldiA6IGN1cnIoY2hpbGQsIHRoaXMucmVzb2x2ZUlubGluZU9wdGlvbnMuYmluZCh0aGlzKSkpLFxuICAgICAgICB7XG4gICAgICAgICAgbWF0Y2g6IGZhbHNlLFxuICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgIH1cbiAgICAgICkudmFsdWUgYXMgRm9ybU1vZGVsKSB8fCBudWxsXG4gICAgKTtcbiAgfVxufVxuIl19