UNPKG

@commercetools-test-data/product-type

Version:

Data model for commercetools API ProductType

1,370 lines (1,163 loc) 61.5 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var core = require('@commercetools-test-data/core'); var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values'); var commons = require('@commercetools-test-data/commons'); var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys'); var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols'); var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter'); var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor'); var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each'); var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors'); var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties'); var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property'); var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty'); var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map'); var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values'); var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray'); var utils = require('@commercetools-test-data/utils'); var type = require('@commercetools-test-data/type'); function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; } var _Object$values__default = /*#__PURE__*/_interopDefault(_Object$values); var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys); var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols); var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty); var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor); var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty); var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors); var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties); var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty); var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty); var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty); // https://docs.commercetools.com/api/projects/productTypes#attributebooleantype const generator$w = core.Generator({ fields: { name: 'boolean' } }); const transformers$w = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'BooleanAttributeDefinitionType' }) }) }; const Model$y = () => core.Builder({ generator: generator$w, transformers: transformers$w }); const presets$z = {}; var index$w = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$y, presets: presets$z }); // https://docs.commercetools.com/api/projects/productTypes#attributebooleantype const generator$v = core.Generator({ fields: { name: 'boolean' } }); const transformers$v = { default: core.Transformer('default', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ boolean: { dummy: null } }) }) }; const Model$x = () => core.Builder({ generator: generator$v, transformers: transformers$v }); const presets$y = {}; var index$v = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$x, presets: presets$y }); const attributeConstraints = { SameForAll: 'SameForAll', None: 'None', Unique: 'Unique', CombinationUnique: 'CombinationUnique' }; const inputHints = { SingleLine: 'SingleLine', MultiLine: 'MultiLine' }; var constants$1 = /*#__PURE__*/Object.freeze({ __proto__: null, attributeConstraints: attributeConstraints, inputHints: inputHints }); // https://docs.commercetools.com/api/projects/productTypes#attributedefinitiondraft const generator$u = core.Generator({ fields: { type: core.fake(f => f.helpers.arrayElement([Model$x(), Model$a(), Model$r()])), name: core.fake(f => f.lorem.slug(3)), label: core.fake(() => commons.LocalizedStringDraft.random()), inputTip: core.fake(() => commons.LocalizedStringDraft.random()), isRequired: core.fake(f => f.datatype.boolean()), attributeConstraint: core.fake(f => f.helpers.arrayElement(_Object$values__default["default"](attributeConstraints))), inputHint: core.fake(f => f.helpers.arrayElement(_Object$values__default["default"](inputHints))), isSearchable: core.fake(f => f.datatype.boolean()) } }); const transformers$u = { default: core.Transformer('default', { buildFields: ['label', 'inputTip', 'type'] }), rest: core.Transformer('rest', { buildFields: ['label', 'inputTip', 'type'] }), graphql: core.Transformer('graphql', { buildFields: ['label', 'inputTip', 'type'], addFields: _ref => { let fields = _ref.fields; return { label: commons.LocalizedStringDraft.toLocalizedField(fields.label) }; } }) }; const Model$w = () => core.Builder({ generator: generator$u, transformers: transformers$u }); const empty$1 = () => Model$w().attributeConstraint(undefined).inputHint(undefined).isSearchable(undefined).inputTip(undefined); const presets$x = { empty: empty$1 }; var index$u = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$w, presets: presets$x }); // https://docs.commercetools.com/api/projects/productTypes#attributedefinition const generator$t = core.Generator({ fields: { type: core.fake(f => f.helpers.arrayElement([Model$y(), AttributeTextType(), AttributeEnumType()])), name: core.fake(f => f.lorem.slug(3)), label: core.fake(() => commons.LocalizedString.random()), inputTip: core.fake(() => commons.LocalizedString.random()), isRequired: core.fake(f => f.datatype.boolean()), attributeConstraint: core.fake(f => f.helpers.arrayElement(_Object$values__default["default"](attributeConstraints))), inputHint: core.fake(f => f.helpers.arrayElement(_Object$values__default["default"](inputHints))), isSearchable: core.fake(f => f.datatype.boolean()) } }); function ownKeys$3(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; } const transformers$t = { default: core.Transformer('default', { buildFields: ['label', 'inputTip', 'type'] }), rest: core.Transformer('rest', { buildFields: ['label', 'inputTip', 'type'] }), graphql: core.Transformer('graphql', { buildFields: ['type'], replaceFields: _ref => { let fields = _ref.fields; const labelAllLocales = commons.LocalizedString.toLocalizedField(fields.label); const inputTipAllLocales = commons.LocalizedString.toLocalizedField(fields.inputTip); return _objectSpread$3(_objectSpread$3({}, fields), {}, { labelAllLocales, label: commons.LocalizedString.resolveGraphqlDefaultLocaleValue(labelAllLocales), inputTipAllLocales, inputTip: commons.LocalizedString.resolveGraphqlDefaultLocaleValue(inputTipAllLocales), __typename: 'AttributeDefinition' }); } }) }; const Model$v = () => core.Builder({ generator: generator$t, transformers: transformers$t }); const presets$w = { number: () => Model$v().type(Model$j()).name('Number Attribute Definition').label(commons.LocalizedString.presets.empty().en(`Number Attribute Definition's Label`)).inputTip(commons.LocalizedString.presets.empty().en(`Number Attribute Definition's Input Tip`)), countryOfOrigin: () => Model$v().attributeConstraint('None').name('country-of-origin').label(commons.LocalizedString.presets.empty().en('Country of Origin')).isRequired(true).type(AttributeTextType()), size: () => Model$v().attributeConstraint('None').name('size').label(commons.LocalizedString.presets.empty().en('Size')).inputTip(commons.LocalizedString.presets.empty().en('Size of a product')).inputHint('SingleLine').isRequired(true).isSearchable(true).type(presets$t.allSizesEnum()) }; var index$t = /*#__PURE__*/Object.freeze({ __proto__: null, AttributeDefinitionDraft: index$u, AttributeDefinition: index$t, constants: constants$1, random: Model$v, presets: presets$w, draftPresets: presets$x }); // https://docs.commercetools.com/api/projects/productTypes#attributeplainenumvalue const generator$s = core.Generator({ fields: { key: core.fake(f => f.lorem.slug(4)), label: core.fake(f => f.lorem.slug(4)) } }); const transformers$s = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'PlainEnumValue' }) }) }; const Model$u = () => core.Builder({ generator: generator$s, transformers: transformers$s }); const presets$v = { red: () => Model$u().key('red').label('Red color'), blue: () => Model$u().key('blue').label('Blue color'), green: () => Model$u().key('green').label('Green color'), s: () => Model$u().key('s').label('Size S'), m: () => Model$u().key('m').label('Size M'), l: () => Model$u().key('l').label('Size L'), xl: () => Model$u().key('xl').label('Size XL') }; var index$s = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$u, presets: presets$v }); // https://docs.commercetools.com/api/projects/productTypes#attributeplainenumvalue const generator$r = core.Generator({ fields: { key: core.fake(f => f.lorem.slug(2)), label: core.fake(f => f.lorem.slug(2)) } }); const transformers$r = { default: core.Transformer('default', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [] }) }; const Model$t = () => core.Builder({ generator: generator$r, transformers: transformers$r }); const presets$u = {}; var index$r = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$t, presets: presets$u }); // https://docs.commercetools.com/api/projects/productTypes#attributeenumtype const generator$q = core.Generator({ fields: { name: 'enum', values: core.fake(f => [Model$u()]) } }); function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; } const transformers$q = { default: core.Transformer('default', { buildFields: ['values'] }), rest: core.Transformer('rest', { buildFields: ['values'] }), graphql: core.Transformer('graphql', { replaceFields: _ref => { var _context; let fields = _ref.fields; return _objectSpread$2(_objectSpread$2({}, fields), {}, { values: { results: _mapInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](fields)).call(_context, value => core.buildField(value, 'graphql')), __typename: 'PlainEnumValueResult' }, __typename: 'EnumAttributeDefinitionType' }); } }) }; const Model$s = () => core.Builder({ generator: generator$q, transformers: transformers$q }); var AttributeEnumType = Model$s; const presets$t = { allSizesEnum: () => { var _context; return _valuesInstanceProperty__default["default"](_context = AttributeEnumType()).call(_context, [presets$v.s(), presets$v.m(), presets$v.l(), presets$v.xl()]); }, smallSizesEnum: () => { var _context2; return _valuesInstanceProperty__default["default"](_context2 = AttributeEnumType()).call(_context2, [presets$v.s(), presets$v.m()]); }, bigSizesEnum: () => { var _context3; return _valuesInstanceProperty__default["default"](_context3 = AttributeEnumType()).call(_context3, [presets$v.l(), presets$v.xl()]); } }; var index$q = /*#__PURE__*/Object.freeze({ __proto__: null, random: AttributeEnumType, presets: presets$t }); // https://docs.commercetools.com/api/projects/productTypes#attributeenumtype const generator$p = core.Generator({ fields: { name: 'enum', values: core.fake(f => [Model$t()]) } }); const transformers$p = { default: core.Transformer('default', { buildFields: ['values'] }), rest: core.Transformer('rest', { buildFields: ['values'] }), graphql: core.Transformer('graphql', { buildFields: ['values'], replaceFields: _ref => { let fields = _ref.fields; return { enum: { values: _valuesInstanceProperty__default["default"](fields) } }; } }) }; const Model$q = () => core.Builder({ generator: generator$p, transformers: transformers$p }); var Model$r = Model$q; const presets$s = {}; var index$p = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$r, presets: presets$s }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizedenumvalue const generator$o = core.Generator({ fields: { key: core.fake(f => f.lorem.slug(2)), label: core.fake(() => commons.LocalizedString.random()) } }); const transformers$o = { default: core.Transformer('default', { buildFields: ['label'] }), rest: core.Transformer('rest', { buildFields: ['label'] }), graphql: core.Transformer('graphql', { buildFields: [], removeFields: ['label'], addFields: _ref => { let fields = _ref.fields; return { labelAllLocales: commons.LocalizedString.toLocalizedField(fields.label), __typename: 'LocalizableEnumValueType' }; } }) }; const Model$p = () => core.Builder({ generator: generator$o, transformers: transformers$o }); const presets$r = { s: () => Model$p().key('s').label(commons.LocalizedString.presets.empty().en('Size S').de('Größe S')), m: () => Model$p().key('m').label(commons.LocalizedString.presets.empty().en('Size M').de('Größe M')), l: () => Model$p().key('l').label(commons.LocalizedString.presets.empty().en('Size L').de('Größe L')), xl: () => Model$p().key('xl').label(commons.LocalizedString.presets.empty().en('Size XL').de('Größe XL')) }; var index$o = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$p, presets: presets$r }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizedenumtype const generator$n = core.Generator({ fields: { name: 'lenum', values: core.fake(() => [Model$p()]) } }); function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$1(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; } const transformers$n = { default: core.Transformer('default', { buildFields: ['values'] }), rest: core.Transformer('rest', { buildFields: ['values'] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: _ref => { var _context; let fields = _ref.fields; return _objectSpread$1(_objectSpread$1({}, fields), {}, { values: { results: _mapInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](fields)).call(_context, value => core.buildField(value, 'graphql')), total: _valuesInstanceProperty__default["default"](fields).length, __typename: 'LocalizableEnumValueTypeResult' }, __typename: 'LocalizableEnumAttributeDefinitionType' }); } }) }; const Model$o = () => core.Builder({ generator: generator$n, transformers: transformers$n }); const presets$q = { allSizesLenum: () => { var _context; return _valuesInstanceProperty__default["default"](_context = Model$o()).call(_context, [presets$r.s(), presets$r.m(), presets$r.l(), presets$r.xl()]); }, smallSizesLenum: () => { var _context2; return _valuesInstanceProperty__default["default"](_context2 = Model$o()).call(_context2, [presets$r.s(), presets$r.m()]); }, bigSizesLenum: () => { var _context3; return _valuesInstanceProperty__default["default"](_context3 = Model$o()).call(_context3, [presets$r.l(), presets$r.xl()]); } }; var index$n = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$o, presets: presets$q }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizedenumvalue const generator$m = core.Generator({ fields: { key: core.fake(f => f.lorem.slug(2)), label: core.fake(() => commons.LocalizedStringDraft.random()) } }); const transformers$m = { default: core.Transformer('default', { buildFields: ['label'] }), rest: core.Transformer('rest', { buildFields: ['label'] }), graphql: core.Transformer('graphql', { buildFields: ['label'] }) }; const Model$n = () => core.Builder({ generator: generator$m, transformers: transformers$m }); const presets$p = {}; var index$m = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$n, presets: presets$p }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizedenumtype const generator$l = core.Generator({ fields: { name: 'lenum', values: core.fake(() => [Model$n()]) } }); const transformers$l = { default: core.Transformer('default', { buildFields: ['values'] }), graphql: core.Transformer('graphql', { replaceFields: _ref => { var _context; let fields = _ref.fields; return { [fields.name]: { values: _mapInstanceProperty__default["default"](_context = _valuesInstanceProperty__default["default"](fields)).call(_context, value => core.buildField(value, 'graphql')) } }; } }) }; const Model$m = () => core.Builder({ generator: generator$l, transformers: transformers$l }); const presets$o = {}; var index$l = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$m, presets: presets$o }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizabletexttype const generator$k = core.Generator({ fields: { name: 'ltext' } }); const transformers$k = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'LocalizableTextAttributeDefinitionType' }) }) }; const Model$l = () => core.Builder({ generator: generator$k, transformers: transformers$k }); const presets$n = {}; var index$k = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$l, presets: presets$n }); // https://docs.commercetools.com/api/projects/productTypes#attributelocalizabletexttype const generator$j = core.Generator({ fields: { name: 'ltext' } }); const transformers$j = { default: core.Transformer('default', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: _ref => { let fields = _ref.fields; return { [fields.name]: { dummy: null } }; } }) }; const Model$k = () => core.Builder({ generator: generator$j, transformers: transformers$j }); const presets$m = {}; var index$j = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$k, presets: presets$m }); // https://docs.commercetools.com/api/projects/productTypes#attributenumbertype const generator$i = core.Generator({ fields: { name: 'number' } }); const transformers$i = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'NumberAttributeDefinitionType' }) }) }; const Model$j = () => core.Builder({ generator: generator$i, transformers: transformers$i }); const presets$l = {}; var index$i = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$j, presets: presets$l }); // https://docs.commercetools.com/api/projects/productTypes#attributenumbertype const generator$h = core.Generator({ fields: { name: 'number' } }); const transformers$h = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ number: { dummy: null } }) }) }; const Model$i = () => core.Builder({ generator: generator$h, transformers: transformers$h }); const presets$k = {}; var index$h = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$i, presets: presets$k }); // https://docs.commercetools.com/api/projects/productTypes#attributemoneytype const generator$g = core.Generator({ fields: { name: 'money' } }); const transformers$g = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'MoneyAttributeDefinitionType' }) }) }; const Model$h = () => core.Builder({ generator: generator$g, transformers: transformers$g }); const presets$j = {}; var index$g = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$h, presets: presets$j }); // https://docs.commercetools.com/api/projects/productTypes#attributemoneytype const generator$f = core.Generator({ fields: { name: 'money' } }); const transformers$f = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ money: { dummy: null } }) }) }; const Model$g = () => core.Builder({ generator: generator$f, transformers: transformers$f }); const presets$i = {}; var index$f = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$g, presets: presets$i }); // https://docs.commercetools.com/api/projects/productTypes#attributesettype const generator$e = core.Generator({ fields: { name: 'set', elementType: core.fake(() => Model$y()) } }); const transformers$e = { default: core.Transformer('default', { buildFields: ['elementType'] }), rest: core.Transformer('rest', { buildFields: ['elementType'] }), graphql: core.Transformer('graphql', { buildFields: ['elementType'], addFields: () => ({ __typename: 'SetAttributeDefinitionType' }) }) }; const Model$f = () => core.Builder({ generator: generator$e, transformers: transformers$e }); const presets$h = {}; var index$e = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$f, presets: presets$h }); // https://docs.commercetools.com/api/projects/productTypes#attributesettype const generator$d = core.Generator({ fields: { name: 'set', elementType: core.fake(() => Model$x()) } }); const transformers$d = { default: core.Transformer('default', { buildFields: ['elementType'] }), graphql: core.Transformer('graphql', { replaceFields: _ref => { let fields = _ref.fields; return { [fields.name]: { elementType: core.buildField(fields.elementType, 'graphql') } }; } }) }; const Model$e = () => core.Builder({ generator: generator$d, transformers: transformers$d }); const presets$g = {}; var index$d = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$e, presets: presets$g }); const attributeReferenceTypeId = { Cart: 'cart', Category: 'category', Channel: 'channel', Customer: 'customer', KeyValueDocument: 'key-value-document', Order: 'order', Product: 'product', ProductType: 'product-type', Review: 'review', ShippingMethod: 'shipping-method', State: 'state', Zone: 'zone' }; var constants = /*#__PURE__*/Object.freeze({ __proto__: null, attributeReferenceTypeId: attributeReferenceTypeId }); // https://docs.commercetools.com/api/projects/productTypes#attributereferencetype const generator$c = core.Generator({ fields: { name: 'reference', referenceTypeId: core.oneOf(..._Object$values__default["default"](attributeReferenceTypeId)) } }); const transformers$c = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'ReferenceAttributeDefinitionType' }) }) }; const Model$d = () => core.Builder({ generator: generator$c, transformers: transformers$c }); const presets$f = {}; var index$c = /*#__PURE__*/Object.freeze({ __proto__: null, constants: constants, random: Model$d, presets: presets$f }); // https://docs.commercetools.com/api/projects/productTypes#attributereferencetype const generator$b = core.Generator({ fields: { name: 'reference', referenceTypeId: core.oneOf(..._Object$values__default["default"](attributeReferenceTypeId)) } }); const transformers$b = { default: core.Transformer('default', { buildFields: [] }), graphql: core.Transformer('graphql', { replaceFields: _ref => { let fields = _ref.fields; return { [fields.name]: { referenceTypeId: fields.referenceTypeId } }; } }) }; const Model$c = () => core.Builder({ generator: generator$b, transformers: transformers$b }); const presets$e = {}; var index$b = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$c, presets: presets$e }); // https://docs.commercetools.com/api/projects/productTypes#attributetexttype const generator$a = core.Generator({ fields: { name: 'text' } }); const transformers$a = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'TextAttributeDefinitionType' }) }) }; const Model$b = () => core.Builder({ generator: generator$a, transformers: transformers$a }); var AttributeTextType = Model$b; const presets$d = {}; var index$a = /*#__PURE__*/Object.freeze({ __proto__: null, random: AttributeTextType, presets: presets$d }); // https://docs.commercetools.com/api/projects/productTypes#attributeenumtype const generator$9 = core.Generator({ fields: { name: 'text' } }); const transformers$9 = { default: core.Transformer('default', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ text: { dummy: null } }) }) }; const Model$9 = () => core.Builder({ generator: generator$9, transformers: transformers$9 }); var Model$a = Model$9; const presets$c = {}; var index$9 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$a, presets: presets$c }); // https://docs.commercetools.com/api/projects/productTypes#attributetimetype const generator$8 = core.Generator({ fields: { name: 'time' } }); const transformers$8 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'TimeAttributeDefinitionType' }) }) }; const Model$8 = () => core.Builder({ generator: generator$8, transformers: transformers$8 }); const presets$b = {}; var index$8 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$8, presets: presets$b }); // https://docs.commercetools.com/api/projects/productTypes#attributetimetype const generator$7 = core.Generator({ fields: { name: 'time' } }); const transformers$7 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ time: { dummy: null } }) }) }; const Model$7 = () => core.Builder({ generator: generator$7, transformers: transformers$7 }); const presets$a = {}; var index$7 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$7, presets: presets$a }); // https://docs.commercetools.com/api/projects/productTypes#attributedatetype const generator$6 = core.Generator({ fields: { name: 'date' } }); const transformers$6 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'DateAttributeDefinitionType' }) }) }; const Model$6 = () => core.Builder({ generator: generator$6, transformers: transformers$6 }); const presets$9 = {}; var index$6 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$6, presets: presets$9 }); // https://docs.commercetools.com/api/projects/productTypes#attributedatetype const generator$5 = core.Generator({ fields: { name: 'date' } }); const transformers$5 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ date: { dummy: null } }) }) }; const Model$5 = () => core.Builder({ generator: generator$5, transformers: transformers$5 }); const presets$8 = {}; var index$5 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$5, presets: presets$8 }); // https://docs.commercetools.com/api/projects/productTypes#attributedatetimetype const generator$4 = core.Generator({ fields: { name: 'datetime' } }); const transformers$4 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], addFields: () => ({ __typename: 'DateTimeAttributeDefinitionType' }) }) }; const Model$4 = () => core.Builder({ generator: generator$4, transformers: transformers$4 }); const presets$7 = {}; var index$4 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$4, presets: presets$7 }); // https://docs.commercetools.com/api/projects/productTypes#attributedatetimetype const generator$3 = core.Generator({ fields: { name: 'datetime' } }); const transformers$3 = { default: core.Transformer('default', { buildFields: [] }), rest: core.Transformer('rest', { buildFields: [] }), graphql: core.Transformer('graphql', { buildFields: [], replaceFields: () => ({ datetime: { dummy: null } }) }) }; const Model$3 = () => core.Builder({ generator: generator$3, transformers: transformers$3 }); const presets$6 = {}; var index$3 = /*#__PURE__*/Object.freeze({ __proto__: null, random: Model$3, presets: presets$6 }); // https://docs.commercetools.com/api/projects/productTypes#producttypedraft const generator$2 = core.Generator({ fields: { name: core.fake(f => f.lorem.words(2)), key: core.fake(f => f.lorem.slug()), description: core.fake(f => f.lorem.words()), attributes: core.fake(() => [Model$w()]) } }); const transformers$2 = { default: core.Transformer('default', { buildFields: ['attributes'] }), rest: core.Transformer('rest', { buildFields: ['attributes'] }), graphql: core.Transformer('graphql', { addFields: _ref => { var _context; let fields = _ref.fields; return { attributeDefinitions: _mapInstanceProperty__default["default"](_context = fields.attributes).call(_context, attribute => core.buildField(attribute, 'graphql')) }; }, removeFields: ['attributes'] }) }; const Model$2 = () => core.Builder({ generator: generator$2, transformers: transformers$2 }); const withNoAttributes = () => Model$2().attributes(undefined); const presets$5 = { withNoAttributes }; const empty = () => Model$2().key(undefined).attributes(undefined); const genericProduct = () => presets$1.empty().key('generic-product').name('Generic Product').description('Products without specific attributes').attributes([]); const heavyEarthmovingAndConstructionEquipment = () => { var _context; return presets$1.empty().key('heavy-earthmoving-and-construction-equipment').name('Heavy Earthmoving and Construction Equipment').description('Equipment used in heavy earthmoving and construction activities').attributes([presets$x.empty().name('capacity').type(Model$i()).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Kapazität')['it-IT']('Capacità')['nl-NL']('Capaciteit')['fr-FR']('Capacité')['en-AU']('Capacity')['es-ES']('Capacidad')['en-GB']('Capacity')['en-NZ']('Capacity')['pt-PT']('Capacidade')['en-US']('Capacity')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('iso45001').type(Model$x()).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('ISO 45001 zertifiziert')['it-IT']('Certificato ISO 45001')['nl-NL']('ISO 45001 gecertificeerd')['fr-FR']('Certifié ISO 45001')['en-AU']('ISO 45001 certified')['es-ES']('Certificado ISO 45001')['en-GB']('ISO 45001 certified')['en-NZ']('ISO 45001 certified')['pt-PT']('Certificado ISO 45001')['en-US']('ISO 45001 certified')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('relatedProducts').type(Model$e().elementType(Model$c().referenceTypeId('product'))).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Verwandte Produkte')['it-IT']('Prodotti correlati')['nl-NL']('Gerelateerde producten')['fr-FR']('Produits associés')['en-AU']('Related products')['es-ES']('Productos relacionados')['en-GB']('Related products')['en-NZ']('Related products')['pt-PT']('Produtos relacionados')['en-US']('Related products')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('mobility').type(_valuesInstanceProperty__default["default"](_context = Model$r()).call(_context, [Model$t().key('tracked').label('Tracked'), Model$t().key('wheeled').label('Wheeled'), Model$t().key('fixed').label('Fixed'), Model$t().key('marine').label('Marine')])).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Mobilität')['it-IT']('Mobilità')['nl-NL']('Mobiliteit')['fr-FR']('Mobilité')['en-AU']('Mobility')['es-ES']('Movilidad')['en-GB']('Mobility')['en-NZ']('Mobility')['pt-PT']('Mobilidade')['en-US']('Mobility')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('model').type(Model$i()).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Modell')['it-IT']('Modello')['nl-NL']('Model')['fr-FR']('Modèle')['en-AU']('Model')['es-ES']('Modelo')['en-GB']('Model')['en-NZ']('Model')['pt-PT']('Modelo')['en-US']('Model')).isRequired(true).attributeConstraint(attributeConstraints.Unique).isSearchable(true).inputHint(inputHints.SingleLine)]); }; const heavyLiftingAndSpecializedEquipment = () => { var _context, _context2; return presets$1.empty().key('heavy-lifting-and-specialized-equipment').name('Heavy Lifting and Specialized Equipment').description('Equipment designed for heavy lifting and specialized tasks').attributes([presets$x.empty().name('capacity').type(Model$i()).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Kapazität')['it-IT']('Capacità')['nl-NL']('Capaciteit')['fr-FR']('Capacité')['en-AU']('Capacity')['es-ES']('Capacidad')['en-GB']('Capacity')['en-NZ']('Capacity')['pt-PT']('Capacidade')['en-US']('Capacity')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('iso45001').type(Model$x()).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('ISO 45001 zertifiziert')['it-IT']('Certificato ISO 45001')['nl-NL']('ISO 45001 gecertificeerd')['fr-FR']('Certifié ISO 45001')['en-AU']('ISO 45001 certified')['es-ES']('Certificado ISO 45001')['en-GB']('ISO 45001 certified')['en-NZ']('ISO 45001 certified')['pt-PT']('Certificado ISO 45001')['en-US']('ISO 45001 certified')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('relatedProducts').type(Model$e().elementType(Model$c().referenceTypeId('product'))).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Verwandte Produkte')['it-IT']('Prodotti correlati')['nl-NL']('Gerelateerde producten')['fr-FR']('Produits associés')['en-AU']('Related products')['es-ES']('Productos relacionados')['en-GB']('Related products')['en-NZ']('Related products')['pt-PT']('Produtos relacionados')['en-US']('Related products')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('mobility').type(_valuesInstanceProperty__default["default"](_context = Model$r()).call(_context, [Model$t().key('tracked').label('Tracked'), Model$t().key('wheeled').label('Wheeled'), Model$t().key('fixed').label('Fixed'), Model$t().key('marine').label('Marine')])).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Mobilität')['it-IT']('Mobilità')['nl-NL']('Mobiliteit')['fr-FR']('Mobilité')['en-AU']('Mobility')['es-ES']('Movilidad')['en-GB']('Mobility')['en-NZ']('Mobility')['pt-PT']('Mobilidade')['en-US']('Mobility')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('color').type(_valuesInstanceProperty__default["default"](_context2 = Model$m()).call(_context2, [Model$n().key('RED').label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Rot')['it-IT']('Rosso')['nl-NL']('Rood')['fr-FR']('Rouge')['en-AU']('Red')['es-ES']('Rojo')['en-GB']('Red')['en-NZ']('Red')['pt-PT']('Vermelho')['en-US']('Red')), Model$n().key('BLUE').label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Blau')['it-IT']('Blu')['nl-NL']('Blauw')['fr-FR']('Bleu')['en-AU']('Blue')['es-ES']('Azul')['en-GB']('Blue')['en-NZ']('Blue')['pt-PT']('Azul')['en-US']('Blue')), Model$n().key('GREEN').label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Grün')['it-IT']('Verde')['nl-NL']('Groen')['fr-FR']('Vert')['en-AU']('Green')['es-ES']('Verde')['en-GB']('Green')['en-NZ']('Green')['pt-PT']('Verde')['en-US']('Green'))])).label(commons.LocalizedStringDraft.presets.empty()['de-DE']('Farbe')['it-IT']('Colore')['nl-NL']('Kleur')['fr-FR']('Couleur')['en-AU']('Color')['es-ES']('Color')['en-GB']('Color')['en-NZ']('Color')['pt-PT']('Cor')['en-US']('Color')).isRequired(true).attributeConstraint(attributeConstraints.Unique).isSearchable(true).inputHint(inputHints.SingleLine)]); }; const presets$4 = { heavyEarthmovingAndConstructionEquipment, heavyLiftingAndSpecializedEquipment, genericProduct }; const beddingBundle = () => presets$1.empty().key('bedding-bundle').name('Bedding Bundle').description('Product type used to bundle bedding components').attributes([presets$x.empty().name('product-description').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('product-description')['en-US']('product-description')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-GB']('description of the bundle product')['en-US']('description of the bundle product')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(false).inputHint(inputHints.SingleLine), presets$x.empty().name('product-spec').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Product Spec')['en-US']('Product Spec')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(false).inputHint(inputHints.SingleLine), presets$x.empty().name('product-ref').type(Model$e().elementType(Model$c().referenceTypeId(attributeReferenceTypeId.Product))).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Products of this bundle')['en-US']('Products of this bundle')['de-DE']('Produkte dieses Bundles')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(false).inputHint(inputHints.SingleLine)]); const furnitureAndDecor = () => presets$1.empty().key('furniture-and-decor').name('Furniture and decor').description('items with color, fabric, size, finish and/or product spec attributes').attributes([presets$x.empty().name('productspec').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Product Specifications')['en-US']('Product Specifications')['de-DE']('Produktspezifikationen')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-GB']('Details on the specifications of the product, including size, wood type, fabric type, to be detailed in bullet points.')['en-US']('Details on the specifications of the product, including size, wood type, fabric type, to be detailed in bullet points.')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(false).inputHint(inputHints.MultiLine), presets$x.empty().name('color').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Color')['en-US']('Color')['de-DE']('Farbe')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('finish').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Finish')['en-US']('Finish')['de-DE']('Fertig')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(false).inputHint(inputHints.SingleLine), presets$x.empty().name('new-arrival').type(Model$x()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('New Arrival')['en-US']('New Arrival')['de-DE']('Neuankömmling')).isRequired(false).type(Model$x()).attributeConstraint(attributeConstraints.None).isSearchable(false).inputHint(inputHints.SingleLine), presets$x.empty().name('size').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Size')['en-US']('Size')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-GB']('size set as a string value')['en-US']('size set as a string value')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('product-description').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Product Description')['en-US']('Product Description')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-GB']('Product description, made a custom attribute so product description is not used for search results.')['en-US']('Product description, made a custom attribute so product description is not used for search results.')).isRequired(false).attributeConstraint(attributeConstraints.SameForAll).isSearchable(false).inputHint(inputHints.SingleLine)]); const productSets = () => presets$1.empty().key('product-sets').name('Product sets').description('products also sold as sets with their variants').attributes([presets$x.empty().name('type').type(Model$e().elementType(Model$k())).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Type')['en-US']('Type')['de-DE']('Typ')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(true).inputHint(inputHints.SingleLine), presets$x.empty().name('color').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Color')['en-US']('Color')['de-DE']('Farbe')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(false).inputHint(inputHints.SingleLine), presets$x.empty().name('finish').type(Model$k()).label(commons.LocalizedStringDraft.presets.empty()['en-GB']('Finish')['en-US']('Finish')['de-DE']('Fertig')).isRequired(false).attributeConstraint(attributeConstraints.None).isSearchable(false).inputHint(inputHints.SingleLine)]); const presets$3 = { beddingBundle, furnitureAndDecor, productSets }; const accessories = () => { var _context; return presets$1.empty().key('accessories').name('Accessories').description('Accessories').attributes([presets$x.empty().name('type').label(commons.LocalizedStringDraft.presets.empty()['en-US']('Type')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-US']('Type')).isRequired(true).type(_valuesInstanceProperty__default["default"](_context = Model$r()).call(_context, [Model$t().key('Jewelry').label('Jewelry'), Model$t().key('Bag').label('Bag'), Model$t().key('Shoes').label('Shoes')])).attributeConstraint('None').isSearchable(true).inputHint('SingleLine'), presets$x.empty().name('engraving').label(commons.LocalizedStringDraft.presets.empty()['en-US']('Engraving')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-US']('Engraving')).isRequired(false).type(Model$a().name('text')).attributeConstraint('None').isSearchable(false).inputHint('SingleLine')]); }; const dresses = () => { var _context, _context2; return presets$1.empty().key('dresses').name('Dresses').description('Dresses').attributes([presets$x.empty().name('length').label(commons.LocalizedStringDraft.presets.empty()['en-US']('Length')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-US']('Length')).isRequired(false).type(_valuesInstanceProperty__default["default"](_context = Model$r()).call(_context, [Model$t().key('Maxi').label('Maxi'), Model$t().key('Knee Length').label('Knee Length'), Model$t().key('Mini').label('Mini')])).attributeConstraint('CombinationUnique').isSearchable(false).inputHint('SingleLine'), presets$x.empty().name('color').label(commons.LocalizedStringDraft.presets.empty()['en-US']('Color')).inputTip(commons.LocalizedStringDraft.presets.empty()['en-US']('Color')).isRequired(false).type(_valuesInstanceProperty__default["default"](_context2 = Model$r()).call(_context2, [Model$t().key('White').label('White'), Model$t().key('Pink').label('Pink'), Model$t().key('Floral').label('Floral')])).attributeConstraint('CombinationUnique').isSearchable(false).inputHint('SingleLine')]); }; const jackets = () => { var _context; return presets$1.empty().key('jackets').name('Jackets').description('Jackets').attributes([presets$x.empty().name('sleeve_length').labe