UNPKG

2.48 kBJavaScriptView Raw
1/*******************************************************************************
2 *
3 * Copyright 2018 Adobe. All rights reserved.
4 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License. You may obtain a copy
6 * of the License at http://www.apache.org/licenses/LICENSE-2.0
7 *
8 * Unless required by applicable law or agreed to in writing, software distributed under
9 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
10 * OF ANY KIND, either express or implied. See the License for the specific language
11 * governing permissions and limitations under the License.
12 *
13 ******************************************************************************/
14
15/**
16 * Auto generated code based on Swagger definition.
17 * Dot not edit manually. Manual changes will be overridden.
18 *
19 * @version 1.1.2
20 */
21const MoneyValue = require('./MoneyValue.js').MoneyValue;
22
23class Discount {
24
25 /**
26 * Constructs a Discount based on its enclosed builder.
27 * @constructor
28 * @param {Builder} builder the Discount builder
29 */
30 constructor(builder) {
31
32 /**
33 * The description associated with the discount. May be displayed in the UI.
34 * @type {string}
35 */
36 this.description = undefined;
37
38 /**
39 * The id for the discount.
40 * @type {string}
41 */
42 this.id = builder.id;
43
44 /**
45 * The name of the discount.
46 * @type {string}
47 */
48 this.name = undefined;
49
50 /**
51 * The type of the discount.
52 * @type {string}
53 */
54 this.type = builder.type;
55
56 /**
57 * The value which is discounted.
58 * @type {MoneyValue}
59 */
60 this.value = builder.value;
61 }
62
63 /**
64 * Builds a Discount based on API required properties.
65 */
66 static get Builder() {
67 class Builder {
68
69 withId(id) {
70 this.id = id;
71 return this;
72 }
73
74 withType(type) {
75 this.type = type;
76 return this;
77 }
78
79 withValue(value) {
80 this.value = value;
81 return this;
82 }
83
84 build() {
85 return new Discount(this);
86 }
87 }
88 return Builder;
89 }
90}
91module.exports.Discount = Discount;