@burnsred/entity 0.6.4-dev.0 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/dist/development.js +1377 -0
- package/dist/development.js.map +1 -0
- package/dist/legacy.js +30 -0
- package/dist/production.min.js +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"development.js","sources":["../src/cleaner/remove-multi-space.js","../src/cleaner/slice-to-max-length.js","../src/validator/allow-blank.js","../src/validator/entity-valid.js","../src/validator/is-required.js","../src/validator/is-required-if.js","../src/validator/list.js","../src/validator/may-not-be-blank.js","../src/field/field.js","../src/field/field-any.js","../src/field/field-boolean.js","../src/field/field-char.js","../src/field/field-date.js","../src/field/field-datetime.js","../src/field/field-entity.js","../src/field/field-id.js","../src/entity/entity.js","../src/entity/entity-locale.js","../src/entity/entity-enum.js","../src/field/field-enum.js","../src/field/field-number.js","../src/field/field-integer.js","../src/field/field-text.js","../src/entity/entity-filter.js","../src/entity/entity-title.js"],"sourcesContent":["import _ from 'lodash';\n\nexport default (value) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!_.isString(value))\n throw new Error(\n 'cleaners.removeMultiSpace: value must be of type string',\n );\n }\n\n return value.replace(/\\s\\s+/g, ' ');\n};\n","import _ from 'lodash';\n\nexport default (value, { field }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!_.isString(value))\n throw new Error(\n 'cleaners.removeMultiSpace: value must be of type string',\n );\n }\n\n return field.maxLength ? value.slice(0, field.maxLength) : value;\n};\n","export default () => false;\n","export default (value, options = {}) => {\n const errors = options.field.entity.validate(value, options);\n\n return !!errors && errors.size > 0 && errors;\n};\n","export default (value, configs = {}) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!configs.field)\n throw new Error('validators.isRequired: \"field\" option is required');\n }\n\n return configs.field.isBlank(value, configs) && 'May not be blank';\n};\n","import _ from 'lodash';\n\nimport isRequired from './is-required';\n\nexport default (predicate) => (value, configs) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!_.isFunction(predicate))\n throw new Error(\n 'validators.isRequiredIf: predicate argument must be of type function',\n );\n }\n\n return predicate({ value, ...configs }) && isRequired(value, configs);\n};\n","import { List, Map } from 'immutable';\n\nexport default (validators) => (values, configs) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!List.isList(values))\n throw new Error('validators.list: \"values\" must be a list');\n }\n\n const errors = values.map((value) =>\n List(validators)\n .map((validator) => validator(value, configs))\n .filter((error) => error),\n );\n\n return (\n errors.some((error) => error.size > 0) &&\n Map({\n errors,\n list: true,\n message: 'Invalid list',\n })\n );\n};\n","import isRequired from './is-required';\n\nexport default (value, configs = {}) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!configs.field)\n throw new Error('validator.mayNotBeBlank: \"field\" option is required');\n }\n\n const validator = configs.flag && configs.field.flags[configs.flag];\n\n const defaultError = !configs.field.blank && isRequired(value, configs);\n\n if (!validator) return defaultError;\n\n const flagError = validator(value, configs);\n\n return defaultError\n ? flagError && defaultError\n : flagError && 'May not be blank';\n};\n","import _ from 'lodash';\nimport { fromJS, isImmutable, List, Map } from 'immutable';\n\nimport isRequired from '../validator/is-required';\n\nexport default class Field {\n constructor(options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (options.options && !List.isList(options.options))\n throw new Error(\n `Field.constructor (${this.constructor.name}): options.options must be a an immutable List`,\n );\n if (\n options.options &&\n options.options.size !== options.options.toSet().size\n )\n throw new Error(\n `Field.constructor (${this.constructor.name}): options.options must have unique items.`,\n );\n }\n\n const defaults = {\n blank: false,\n cleaners: [],\n many: false,\n validators: options.blank ? [] : [isRequired],\n };\n\n Object.assign(this, defaults, options, {\n validators: _.isFunction(options.validators)\n ? options.validators(defaults.validators)\n : options.validators || defaults.validators,\n });\n }\n\n clean(record, configs = {}) {\n const newOptions = { ...configs, field: this };\n\n return this.cleaners.reduce(\n (prev, cleaner) => cleaner(prev, newOptions),\n record,\n );\n }\n\n dataToValue(data) {\n return fromJS(data);\n }\n\n default() {\n return this.many ? List() : null;\n }\n\n getErrors(errors, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name)\n throw new Error(\n `Field.getErrors (${this.constructor.name}): option \"name\" is not supported.`,\n );\n }\n\n return errors;\n }\n\n getErrorsArray(errors, options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (options.index === undefined)\n throw new Error(\n `Field.getErrorsArray (${this.constructor.name}): option \"index\" is required.`,\n );\n }\n\n return errors\n .filter((error) => Map.isMap(error) && error.get('list'))\n .flatMap((error) => error.getIn(['errors', options.index]));\n }\n\n getField(options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (options.name)\n throw new Error(\n `Field.getField (${this.constructor.name}): method with option name is not supported.`,\n );\n }\n\n return options.name ? null : this;\n }\n\n getId() {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Field.getId (${this.constructor.name}): method is not supported.`,\n );\n }\n }\n\n getKey(value) {\n return this.toString(value);\n }\n\n getOptions() {\n return this.options || List();\n }\n\n getValue(value, options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (options.name)\n throw new Error(\n `Field.getValue (${this.constructor.name}): option \"name\" is not supported.`,\n );\n }\n\n return options.name ? null : value;\n }\n\n isBlank(value = null, options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (options.name)\n throw new Error(\n `Field.isBlank (${this.constructor.name}): method with option name is not supported.`,\n );\n }\n\n return value === null || (this.many ? value.size === 0 : value === '');\n }\n\n toData(value) {\n return isImmutable(value) ? value.toJS() : value;\n }\n\n toParams(value) {\n return (value && value.toString()) || '';\n }\n\n toString(value = null) {\n return value === null ? '' : value.toString();\n }\n\n validate(value, options = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (this.many && !List.isList(value))\n throw new Error(\n `Field.validate (${this.constructor.name}-${options.fieldName}): \"value\" must be an \"Immutable List\" with field option \"many\"`,\n );\n }\n\n const validators = _.isFunction(options.validators)\n ? options.validators(this.validators)\n : options.validators || this.validators;\n\n return List(validators)\n .map((validator) => validator(value, { ...options, field: this }))\n .filter((error) => error);\n }\n}\n","import Field from './field';\n\nexport default class AnyField extends Field {}\n","import AnyField from './field-any';\n\nexport default class BooleanField extends AnyField {\n constructor(configs = {}) {\n super({ type: 'boolean', ...configs });\n }\n}\n","import { List } from 'immutable';\n\nimport AnyField from './field-any';\n\nexport default class CharField extends AnyField {\n constructor(configs = {}) {\n super({ type: 'char', ...configs });\n }\n\n default() {\n return this.many ? List() : '';\n }\n}\n","import moment from 'moment';\n\nimport AnyField from './field-any';\n\nexport default class DateField extends AnyField {\n constructor(configs = {}) {\n super({\n allowTime: false,\n dateFormat: 'YYYY-MM-DD',\n type: 'date',\n ...configs,\n });\n }\n\n dataToValue(data) {\n return data && moment(data);\n }\n\n toData(value) {\n return value && value.format(this.dateFormat);\n }\n\n toParams(value) {\n return (value && value.format(this.dateFormat)) || '';\n }\n\n toString(value) {\n return (value && value.format(this.dateFormat)) || '';\n }\n}\n","import DateField from './field-date';\n\nexport default class DateTimeField extends DateField {\n constructor(configs = {}) {\n super({\n dateFormat: 'YYYY-MM-DD HH:mm',\n allowTime: true,\n ...configs,\n });\n }\n}\n","import _ from 'lodash';\nimport { List, Map } from 'immutable';\n\nimport AnyField from './field-any';\nimport entityValid from '../validator/entity-valid';\nimport list from '../validator/list';\n\nexport default class EntityField extends AnyField {\n constructor(configs = {}) {\n const defaults = {\n nested: true,\n type: 'entity',\n };\n\n const entityValidators = configs.many\n ? [list([entityValid])]\n : [entityValid];\n\n super(\n Object.assign(defaults, configs, {\n validators: (defaultValidators) =>\n _.isFunction(configs.validators)\n ? configs.validators(defaultValidators.concat(entityValidators))\n : configs.validators || defaultValidators.concat(entityValidators),\n }),\n );\n\n if (process.env.NODE_ENV !== 'production') {\n if (!configs.entity)\n throw new Error(\n `${this.constructor.name}.constructor: \"entity\" option is required`,\n );\n }\n }\n\n dataToValue(data) {\n return this.entity.dataToRecord(data);\n }\n\n default() {\n if (this.many) return List();\n\n return this.blank ? null : this.entity.dataToRecord({});\n }\n\n getErrors(errors, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name && !_.isString(configs.name))\n throw new Error(\n `EntityField.getErrors (${this.entity.name}): \"name\" option must be either a string or undefined`,\n );\n if (configs.name && !this.entity.fields[configs.name])\n throw new Error(\n `EntityField.getErrors (${this.entity.name}): field \"${configs.name}\" not found`,\n );\n }\n\n return configs.name\n ? errors\n .filter((error) => Map.isMap(error) && error.get('detail'))\n .flatMap((error) =>\n Map.isMap(error.getIn(['errors', configs.name]))\n ? List([error.getIn(['errors', configs.name])])\n : error.getIn(['errors', configs.name]),\n )\n .filter((error) => error)\n : errors;\n }\n\n getField(configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name && !_.isString(configs.name))\n throw new Error(\n `EntityField.getField (${this.entity.name}): \"name\" option must be either a string or undefined`,\n );\n if (configs.name && !this.entity.fields[configs.name])\n throw new Error(\n `EntityField.getField (${this.entity.name}): field \"${configs.name}\" not found`,\n );\n }\n\n return configs.name ? this.entity.fields[configs.name] : this;\n }\n\n getId(value, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name && !_.isString(configs.name))\n throw new Error(\n `EntityField.getId (${this.entity.name}): \"name\" option must be either a string or undefined`,\n );\n if (configs.name && !this.entity.fields[configs.name])\n throw new Error(\n `EntityField.getId (${this.entity.name}): field \"${configs.name}\" not found`,\n );\n }\n\n return this.getField({ value, ...configs }).entity.getId(\n this.getValue(value, configs),\n );\n }\n\n getKey(value) {\n return this.getId(value);\n }\n\n getOptions() {\n return this.options || this.entity.options || List();\n }\n\n getValue(value, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name && !_.isString(configs.name))\n throw new Error(\n `EntityField.getValue (${this.entity.name}): \"name\" option must be either a string or undefined`,\n );\n if (configs.name && !this.entity.fields[configs.name])\n throw new Error(\n `EntityField.getValue (${this.entity.name}): field \"${configs.name}\" not found`,\n );\n }\n\n return configs.name && value ? value.get(configs.name) : value;\n }\n\n isBlank(value = null, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (configs.name && !_.isString(configs.name))\n throw new Error(\n `EntityField.isBlank (${this.entity.name}): \"name\" option must be either a string or undefined`,\n );\n if (configs.name && !this.entity.fields[configs.name])\n throw new Error(\n `EntityField.isBlank (${this.entity.name}): field \"${configs.name}\" not found`,\n );\n }\n\n return value === null || (this.many ? value.size === 0 : value === '');\n }\n\n toData(value, configs = {}) {\n return this.entity.toData(value, configs);\n }\n\n valueToParam(value = null) {\n return value === null ? undefined : value.get(this.entity.idField);\n }\n\n toParams(value, configs) {\n return this.getId(value, configs);\n }\n\n toString(value, configs = {}) {\n return this.entity.toString(value, configs);\n }\n}\n","import _ from 'lodash';\nimport idx from 'idx';\nimport AnyField from './field-any';\n\nexport default class IdField extends AnyField {\n constructor(configs = {}) {\n super(configs);\n\n if (process.env.NODE_ENV !== 'production') {\n if (configs.many)\n throw new Error(\n `${this.constructor.name}.constructor: \"many\" option is not supported.`,\n );\n }\n }\n\n dataToValue(data) {\n return _.isFunction(idx(data, (x) => x.toString)) ? data.toString() : data;\n }\n\n default() {\n return undefined;\n }\n}\n","import _ from 'lodash';\nimport { List, Map } from 'immutable';\n\nimport EntityField from '../field/field-entity';\nimport IdField from '../field/field-id';\n\nexport default class Entity {\n static cleaners = [];\n\n static idField = 'uuid';\n\n static fields = {\n uuid: new IdField({ blank: true, mock: 'random.uuid' }),\n };\n\n static paths = {};\n\n static actionArrayDeleteAtIndex(records, { index = null } = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (!List.isList(records))\n throw new Error(\n `Entity.actionArrayDeleteAt (${this.name}): \"records\" must be an immutable List.`,\n );\n if (index === null)\n throw new Error(\n `Entity.actionArrayDeleteAt (${this.name}): \"index\" option must be set.`,\n );\n }\n\n return records.delete(index);\n }\n\n static actionArrayMoveAtIndex(\n records,\n { index = null, indexTo = null } = {},\n ) {\n if (process.env.NODE_ENV !== 'production') {\n if (!List.isList(records))\n throw new Error(\n `Entity.actionArrayMoveAtIndex (${this.name}): \"records\" must be an immutable List.`,\n );\n if (index === null)\n throw new Error(\n `Entity.actionArrayMoveAtIndex (${this.name}): \"index\" option must be set.`,\n );\n if (indexTo === null)\n throw new Error(\n `Entity.actionArrayMoveAtIndex (${this.name}): \"indexTo\" option must be set.`,\n );\n }\n\n return records.delete(index).insert(indexTo, records.get(index));\n }\n\n static actionReset(record, configs = {}) {\n return (\n configs.valueInitial ||\n this.dataToRecord({\n [this.idField]: record.get(this.idField),\n })\n );\n }\n\n static clean(record, configs = {}) {\n const newOptions = { ...configs, entity: this };\n\n return this.cleaners.reduce(\n (prev, cleaner) => cleaner(prev, newOptions),\n record,\n );\n }\n\n static dataToRecord(data = null) {\n const fieldDataToValue = (value, key) =>\n List.isList(value) || Array.isArray(value)\n ? List(value).map((val) => this.fields[key].dataToValue(val, { data }))\n : this.fields[key].dataToValue(value, { data });\n\n const getDefaultFromField = (field) =>\n _.isFunction(field.default) ? field.default({ data }) : field.default;\n\n const values = Map(data)\n .filter((value, key) => key in this.fields)\n .filterNot((value) => value === undefined)\n .map(fieldDataToValue);\n\n return (\n data &&\n Map(this.fields)\n .filter((value, key) => data[key] === undefined)\n .map(getDefaultFromField)\n .merge(values)\n );\n }\n\n static getEntityField(configs = {}) {\n return new EntityField({ entity: this, ...configs });\n }\n\n static getId(record = null) {\n return record === null ? undefined : record.get(this.idField);\n }\n\n static getPaths() {\n return this.paths;\n }\n\n static getSize() {\n return 0;\n }\n\n static isEntity(maybeEntity) {\n return !!maybeEntity && maybeEntity.prototype instanceof Entity;\n }\n\n static isEntityDescendant(maybeDescendant) {\n return !!maybeDescendant && maybeDescendant.prototype instanceof this;\n }\n\n static isValid(record, configs) {\n return this.validate(record, configs).size === 0;\n }\n\n static isValidFromErrors(errors, configs = {}) {\n return configs.name\n ? configs.name.some(\n (n) =>\n errors\n .filter((error) => Map.isMap(error) && error.get('detail'))\n .flatMap((error) => error.getIn(['errors', n]))\n .filter((error) => error).size > 0,\n )\n : !errors || errors.size === 0;\n }\n\n static mock(faker, index, mockData) {\n return _.flowRight([\n (record) => this.toData(record),\n (data) => this.dataToRecord(data),\n (fields) => ({\n ..._.mapValues(fields, (field) => {\n if (\n field instanceof EntityField &&\n !field.blank &&\n field.entity.store\n ) {\n return field.many\n ? _.sampleSize(Object.values(field.entity.store))\n : _.sample(Object.values(field.entity.store));\n }\n\n return (\n field.mock &&\n (field.mock === 'index'\n ? index\n : _.get(faker, field.mock)(...(field.mockConfigs || [])))\n );\n }),\n ...mockData,\n }),\n ])(this.fields);\n }\n\n static mockMany(faker, configs = {}) {\n return _.keyBy(\n _.range(configs.size).map((index) => this.mock(faker, index)),\n this.idField,\n );\n }\n\n static toData(record) {\n if (process.env.NODE_ENV !== 'production') {\n if (record && !Map.isMap(record))\n throw new Error(\n `Entity.toData (${this.name}): record must be either a Map or null or undefined`,\n );\n }\n\n const fieldValueToData = (value, key) =>\n List.isList(value)\n ? value.map((val) => this.fields[key].toData(val, { record })).toArray()\n : this.fields[key].toData(value, { record });\n\n return (\n record &&\n record\n .filter((value, key) => key in this.fields)\n .filterNot((value, key) => this.fields[key].local)\n .map(fieldValueToData)\n .toObject()\n );\n }\n\n static toString(record) {\n if (process.env.NODE_ENV !== 'production') {\n if (record && !Map.isMap(record))\n throw new Error(\n `Entity.toString (${this.name}): record must be either a Map or null or undefined`,\n );\n }\n\n return (record && record.get(this.idField)) || '';\n }\n\n static validate(record, configs = {}) {\n if (!record) return record;\n\n const detailErrors = Map(this.fields)\n .filter((field, key) => !configs.fields || configs.fields[key])\n .map((field, key) =>\n field.validate(record.get(key), {\n ...configs,\n fieldName: key,\n record,\n validators: configs.fields && configs.fields[key],\n }),\n )\n .filterNot((errors) => errors.size === 0);\n\n return detailErrors.size === 0\n ? null\n : Map({\n detail: true,\n message: 'Invalid Entity',\n errors: detailErrors,\n });\n }\n}\n","import Entity from './entity';\nimport AnyField from '../field/field-any';\nimport CharField from '../field/field-char';\nimport IdField from '../field/field-id';\n\nexport default class Locale extends Entity {\n static fields = {\n messages: new AnyField(),\n defaultMessage: new CharField(),\n description: new CharField(),\n id: new CharField(),\n uuid: new IdField({ mock: 'random.uuid' }),\n };\n}\n","import Entity from './entity';\nimport EntityLocale from './entity-locale';\nimport BooleanField from '../field/field-boolean';\nimport CharField from '../field/field-char';\nimport EntityField from '../field/field-entity';\n\nexport default class Enum extends Entity {\n static idField = 'value';\n\n static fields = {\n disabled: new BooleanField({ default: false }),\n hidden: new BooleanField({ default: false }),\n label: new CharField(),\n locale: new EntityField({\n blank: true,\n entity: EntityLocale,\n }),\n value: new CharField(),\n };\n\n static toString(record) {\n return (record && record.get('label')) || '';\n }\n}\n","import { List } from 'immutable';\n\nimport EntityField from './field-entity';\nimport EntityEnum from '../entity/entity-enum';\n\nexport default class EnumField extends EntityField {\n constructor(configs = {}) {\n super({ entity: EntityEnum, type: 'enum', ...configs });\n }\n\n dataToValue(data = null) {\n return (\n data &&\n this.getOptions().find((option) => this.entity.getId(option) === data)\n );\n }\n\n default() {\n return this.many ? List() : null;\n }\n\n isEnumActive(value, { name }) {\n return this.many\n ? value.some((v) => v.get('value') === name)\n : !!value && value.get('value') === name;\n }\n\n valueToData(value = null) {\n return value && this.entity.getId(value);\n }\n\n valueToParam(value = null) {\n return value === null ? undefined : this.entity.getId(value);\n }\n}\n","import AnyField from './field-any';\n\nexport default class NumberField extends AnyField {\n constructor(options = {}) {\n super({ type: 'number', ...options });\n }\n}\n","import NumberField from './field-number';\n\nexport default class IntegerField extends NumberField {\n dataToValue(data) {\n const value = parseInt(data, 10);\n\n return Number.isNaN(value) ? null : value;\n }\n}\n","import CharField from './field-char';\n\nexport default class TextField extends CharField {\n constructor(configs = {}) {\n super({ type: 'text', ...configs });\n }\n}\n","import { List, Map } from 'immutable';\n\nimport Entity from './entity';\n\nimport IdField from '../field/field-id';\nimport IntegerField from '../field/field-integer';\n\nexport default class Filter extends Entity {\n static fields = {\n page: new IntegerField({ default: 1 }),\n page_size: new IntegerField({ default: 20 }),\n uuid: new IdField({ blank: true, mock: 'random.uuid' }),\n };\n\n // NOTE(thierry): returning a map from field.toParams will flatten the output\n static toParams(record, options = {}) {\n const fieldValueToParams = (value, key) =>\n List.isList(value)\n ? value\n .map((val) =>\n this.fields[key].toParams(val, { record, ...options }),\n )\n .reduce(\n (prev, param) =>\n prev.mergeWith(\n (prevParam, nextParam) =>\n prevParam ? `${prevParam},${nextParam}` : nextParam,\n Map.isMap(param) ? param : Map({ [key]: param }),\n ),\n Map(),\n )\n : this.fields[key].toParams(value, { record, ...options });\n\n return record\n ? record\n .filter((_, key) => key in this.fields)\n .filterNot((_, key) => this.fields[key].local)\n .filterNot((value) => value === undefined)\n .map(fieldValueToParams)\n .flatten()\n : Map();\n }\n}\n","import _ from 'lodash';\nimport idx from 'idx';\nimport queryString from 'query-string';\nimport { Map } from 'immutable';\n\nimport Entity from './entity';\nimport EntityLocale from './entity-locale';\n\nimport BooleanField from '../field/field-boolean';\nimport CharField from '../field/field-char';\nimport EntityField from '../field/field-entity';\nimport IdField from '../field/field-id';\nimport IntegerField from '../field/field-integer';\nimport TextField from '../field/field-text';\n\nexport default class Title extends Entity {\n static fields = {\n description: new TextField({ blank: true }),\n is_archived: new BooleanField({ default: false }),\n locale: new EntityField({\n blank: true,\n entity: EntityLocale,\n }),\n order: new IntegerField({ mock: 'index' }),\n title: new CharField({ mock: 'lorem.sentence' }),\n title_short: new CharField({ blank: true }),\n uuid: new IdField({ blank: true, mock: 'random.uuid' }),\n };\n\n static paths = {\n urlBase: '',\n };\n\n static actionArchive(record, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (!idx(this, (x) => x.duck.actions.save))\n throw new Error(\n `EntityTitle.actionArchive (${this.name}): \"save\" action is required in duck`,\n );\n }\n\n return this.duck.actions.save(record, {\n action: 'archive',\n method: 'post',\n ...configs,\n });\n }\n\n static actionArrayDeleteAtIndexOrdered(records, configs) {\n return this.actionArrayDeleteAtIndex(records, configs).map((record, i) =>\n record.set('order', i),\n );\n }\n\n static actionArrayMoveAtIndexOrdered(records, configs) {\n return this.actionArrayMoveAtIndex(records, configs).map((record, i) =>\n record.set('order', i),\n );\n }\n\n static actionSave(record, configs = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (!idx(this, (x) => x.duck.actions.save))\n throw new Error(\n `EntityTitle.actionSave (${this.name}): \"save\" action is required in duck`,\n );\n }\n\n return this.duck.actions.save(record, {\n invalidateList: true,\n ...configs,\n });\n }\n\n static toLink(record, configs = {}) {\n const computedParams = (configs.params || Map()).filterNot(\n (param) => param === undefined,\n );\n\n const path = this.getPaths(configs).urlBase;\n if (process.env.NODE_ENV !== 'production') {\n if (!/^\\/.*\\/$/.test(path))\n throw new Error(\n `EntityTitle.toLink (${this.name}): \"urlBase\" property must start with a \"/\" and end with a \"/\"`,\n );\n if (computedParams.some((value) => !_.isString(value)))\n throw new Error(\n `EntityTitle.toLink (${this.name}): every params must be a string or undefined`,\n );\n }\n\n return `${path}${this.getId(record, configs)}/?${queryString.stringify(\n computedParams.toJS(),\n )}`;\n }\n\n static toString(record) {\n return (record && record.get('title')) || '';\n }\n\n static toStringOrdered(record) {\n return record ? `${record.get('order') + 1}. ${this.toString(record)}` : '';\n }\n\n static toUrl(record, configs = {}) {\n const computedParams = (configs.params || Map())\n .remove('page')\n .remove('page_size')\n .filterNot((param) => param === undefined);\n\n const path = this.getPaths(configs).urlBase;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!/^\\/.*\\/$/.test(path))\n throw new Error(\n `EntityTitle.toUrl (${this.name}): \"urlBase\" property must start with a \"/\" and end with a \"/\"`,\n );\n if (computedParams.some((param) => !_.isString(param)))\n throw new Error(\n `EntityTitle.toUrl (${this.name}): every params must be a string or undefined`,\n );\n if (!(configs.settings && configs.settings.BASE_URL))\n throw new Error(\n `EntityTitle.toUrl (${this.name}): \"settings.BASE_URL\" must be set.`,\n );\n }\n\n return `${configs.settings.BASE_URL}${path}${this.getId(\n record,\n configs,\n )}/?${queryString.stringify(computedParams.toJS())}`;\n }\n\n static toUrlExport(configs = {}) {\n const computedParams = configs.params\n ? configs.params\n .remove('page')\n .remove('page_size')\n .filterNot((param) => param === undefined)\n : Map();\n\n const path = this.getPaths(configs).apiBase;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!/^\\/.*\\/$/.test(path))\n throw new Error(\n `EntityTitle.toUrlExport (${this.name}): \"apiBase\" property must start with a \"/\" and end with a \"/\"`,\n );\n if (computedParams.some((param) => !_.isString(param)))\n throw new Error(\n `EntityTitle.toUrlExport (${this.name}): every params must be a string or undefined`,\n );\n if (!(configs.settings && configs.settings.BASE_API_URL))\n throw new Error(\n `EntityTitle.toUrlExport (${this.name}): \"settings.BASE_API_URL\" must be set.`,\n );\n }\n\n return `${configs.settings.BASE_API_URL}${path}?${queryString.stringify(\n computedParams.toJS(),\n )}&format=xlsx`;\n }\n}\n"],"names":["value","process","env","NODE_ENV","Error","replace","field","maxLength","slice","options","errors","entity","validate","size","configs","isBlank","predicate","isRequired","validators","values","List","isList","map","validator","filter","error","some","Map","list","message","flag","flags","defaultError","blank","flagError","Field","constructor","name","toSet","defaults","cleaners","many","Object","assign","record","newOptions","reduce","prev","cleaner","data","fromJS","index","undefined","isMap","get","flatMap","getIn","toString","isImmutable","toJS","fieldName","AnyField","BooleanField","type","CharField","DateField","allowTime","dateFormat","moment","format","DateTimeField","EntityField","nested","entityValidators","entityValid","defaultValidators","concat","dataToRecord","fields","getField","getId","getValue","toData","idField","IdField","Entity","records","delete","indexTo","insert","valueInitial","fieldDataToValue","key","Array","isArray","val","dataToValue","getDefaultFromField","default","filterNot","merge","paths","maybeEntity","prototype","maybeDescendant","n","faker","mockData","store","mock","mockConfigs","fieldValueToData","toArray","local","toObject","detailErrors","detail","uuid","Locale","messages","defaultMessage","description","id","Enum","disabled","hidden","label","locale","EntityLocale","EnumField","EntityEnum","getOptions","find","option","v","NumberField","IntegerField","parseInt","Number","isNaN","TextField","Filter","fieldValueToParams","toParams","param","mergeWith","prevParam","nextParam","_","flatten","page","page_size","Title","duck","actions","save","action","method","actionArrayDeleteAtIndex","i","set","actionArrayMoveAtIndex","invalidateList","computedParams","params","path","getPaths","urlBase","test","queryString","stringify","remove","settings","BASE_URL","apiBase","BASE_API_URL","is_archived","order","title","title_short"],"mappings":"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"}
|
package/dist/legacy.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Legacy configuration: this file is copied into each package dist folder in the
|
|
3
|
+
production build step, for the purpose of selecting the appropriate bundle
|
|
4
|
+
according to the current NODE_ENV.
|
|
5
|
+
|
|
6
|
+
It's only used in legacy environments which don't support the package.json
|
|
7
|
+
`exports` field (node <12). In this case, the `main` field will be used, which
|
|
8
|
+
references this file.
|
|
9
|
+
|
|
10
|
+
> If both "exports" and "main" are defined, the "exports" field takes precedence
|
|
11
|
+
> over "main".
|
|
12
|
+
https://nodejs.org/docs/latest-v18.x/api/packages.html#conditional-exports
|
|
13
|
+
https://nodejs.org/docs/latest-v12.x/api/packages.html#packages_conditional_exports
|
|
14
|
+
|
|
15
|
+
Note(ptim): I'm not confident that the build in 0.6.2 works correctly
|
|
16
|
+
regardless, as importing this file in a project of `type: module` fails with:
|
|
17
|
+
|
|
18
|
+
> RollupError: src/entities/Todo.ts (1:9): "Entity" is not exported by
|
|
19
|
+
> "../burnsred-entity-library/packages/entity/dist/index.js", imported by
|
|
20
|
+
> "src/entities/Todo.ts". file:
|
|
21
|
+
> /source/burnsred-application-frontend-skeleton/src/entities/Todo.ts:1:9 1:
|
|
22
|
+
> import { Entity, Fields } from '@burnsred/entity';
|
|
23
|
+
> ^
|
|
24
|
+
*/
|
|
25
|
+
module.exports =
|
|
26
|
+
process.env.NODE_ENV === 'production'
|
|
27
|
+
? // eslint-disable-next-line import/no-unresolved
|
|
28
|
+
require('./production.js')
|
|
29
|
+
: // eslint-disable-next-line import/no-unresolved
|
|
30
|
+
require('./development.js');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"core-js/modules/es6.regexp.replace";import"lodash/isString";import t from"lodash/isFunction";import{List as e,Map as n,fromJS as r,isImmutable as i}from"immutable";import"core-js/modules/es6.regexp.flags";import"core-js/modules/es6.regexp.to-string";import"core-js/modules/es6.object.assign";import"core-js/modules/es6.function.name";import o from"moment";import"core-js/modules/es6.array.find";import"core-js/modules/web.dom.iterable";import"core-js/modules/es6.array.iterator";import"core-js/modules/es7.object.values";import a from"lodash/range";import u from"lodash/keyBy";import l from"lodash/get";import s from"lodash/sample";import c from"lodash/sampleSize";import f from"lodash/mapValues";import d from"lodash/flowRight";import"core-js/modules/es6.number.constructor";import"core-js/modules/es6.number.is-nan";import v from"query-string";var h=Object.freeze({removeMultiSpace:function(t){return t.replace(/\s\s+/g," ")},sliceToMaxLength:function(t,e){var n=e.field;return n.maxLength?t.slice(0,n.maxLength):t}}),y=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.field.entity.validate(t,e);return!!n&&n.size>0&&n},m=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.field.isBlank(t,e)&&"May not be blank"};function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function p(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function k(t,e,n){return e&&p(t.prototype,e),n&&p(t,n),t}function b(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function w(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),r.forEach(function(e){b(t,e,n[e])})}return t}function j(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&F(t,e)}function O(t){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function F(t,e){return(F=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function I(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function S(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var A=function(t){return function(r,i){var o=r.map(function(n){return e(t).map(function(t){return t(n,i)}).filter(function(t){return t})});return o.some(function(t){return t.size>0})&&n({errors:o,list:!0,message:"Invalid list"})}},T=Object.freeze({allowBlank:function(){return!1},entityValid:y,isRequired:m,isRequiredIf:function(t){return function(e,n){return t(w({value:e},n))&&m(e,n)}},list:A,mayNotBeBlank:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.flag&&e.field.flags[e.flag],r=!e.field.blank&&m(t,e);if(!n)return r;var i=n(t,e);return r?i&&r:i&&"May not be blank"}}),x=function(){function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g(this,o);var n={blank:!1,cleaners:[],many:!1,validators:e.blank?[]:[m]};Object.assign(this,n,e,{validators:t(e.validators)?e.validators(n.validators):e.validators||n.validators})}return k(o,[{key:"clean",value:function(t){var e=w({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{field:this});return this.cleaners.reduce(function(t,n){return n(t,e)},t)}},{key:"dataToValue",value:function(t){return r(t)}},{key:"default",value:function(){return this.many?e():null}},{key:"getErrors",value:function(t){return t}},{key:"getErrorsArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.filter(function(t){return n.isMap(t)&&t.get("list")}).flatMap(function(t){return t.getIn(["errors",e.index])})}},{key:"getField",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).name?null:this}},{key:"getId",value:function(){}},{key:"getKey",value:function(t){return this.toString(t)}},{key:"getOptions",value:function(){return this.options||e()}},{key:"getValue",value:function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).name?null:t}},{key:"isBlank",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t||(this.many?0===t.size:""===t)}},{key:"toData",value:function(t){return i(t)?t.toJS():t}},{key:"toParams",value:function(t){return t&&t.toString()||""}},{key:"toString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?"":t.toString()}},{key:"validate",value:function(n){var r=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t(i.validators)?i.validators(this.validators):i.validators||this.validators;return e(o).map(function(t){return t(n,w({},i,{field:r}))}).filter(function(t){return t})}}]),o}(),E=function(t){function e(){return g(this,e),I(this,O(e).apply(this,arguments))}return j(e,x),e}(),P=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,e),I(this,O(e).call(this,w({type:"boolean"},t)))}return j(e,E),e}(),M=function(t){function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,n),I(this,O(n).call(this,w({type:"char"},t)))}return j(n,E),k(n,[{key:"default",value:function(){return this.many?e():""}}]),n}(),D=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,e),I(this,O(e).call(this,w({allowTime:!1,dateFormat:"YYYY-MM-DD",type:"date"},t)))}return j(e,E),k(e,[{key:"dataToValue",value:function(t){return t&&o(t)}},{key:"toData",value:function(t){return t&&t.format(this.dateFormat)}},{key:"toParams",value:function(t){return t&&t.format(this.dateFormat)||""}},{key:"toString",value:function(t){return t&&t.format(this.dateFormat)||""}}]),e}(),z=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,e),I(this,O(e).call(this,w({dateFormat:"YYYY-MM-DD HH:mm",allowTime:!0},t)))}return j(e,D),e}(),_=function(r){function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g(this,i);var n=e.many?[A([y])]:[y];return I(this,O(i).call(this,Object.assign({nested:!0,type:"entity"},e,{validators:function(r){return t(e.validators)?e.validators(r.concat(n)):e.validators||r.concat(n)}})))}return j(i,E),k(i,[{key:"dataToValue",value:function(t){return this.entity.dataToRecord(t)}},{key:"default",value:function(){return this.many?e():this.blank?null:this.entity.dataToRecord({})}},{key:"getErrors",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r.name?t.filter(function(t){return n.isMap(t)&&t.get("detail")}).flatMap(function(t){return n.isMap(t.getIn(["errors",r.name]))?e([t.getIn(["errors",r.name])]):t.getIn(["errors",r.name])}).filter(function(t){return t}):t}},{key:"getField",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.name?this.entity.fields[t.name]:this}},{key:"getId",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.getField(w({value:t},e)).entity.getId(this.getValue(t,e))}},{key:"getKey",value:function(t){return this.getId(t)}},{key:"getOptions",value:function(){return this.options||this.entity.options||e()}},{key:"getValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.name&&t?t.get(e.name):t}},{key:"isBlank",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t||(this.many?0===t.size:""===t)}},{key:"toData",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.entity.toData(t,e)}},{key:"valueToParam",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?void 0:t.get(this.entity.idField)}},{key:"toParams",value:function(t,e){return this.getId(t,e)}},{key:"toString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.entity.toString(t,e)}}]),i}(),V=function(e){function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,n),I(this,O(n).call(this,t))}return j(n,E),k(n,[{key:"dataToValue",value:function(e){var n;return t(null!=(n=e)?n.toString:n)?e.toString():e}},{key:"default",value:function(){}}]),n}(),B=function(){function r(){g(this,r)}return k(r,null,[{key:"actionArrayDeleteAtIndex",value:function(t){var e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).index,n=void 0===e?null:e;return t.delete(n)}},{key:"actionArrayMoveAtIndex",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.index,r=void 0===n?null:n,i=e.indexTo,o=void 0===i?null:i;return t.delete(r).insert(o,t.get(r))}},{key:"actionReset",value:function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).valueInitial||this.dataToRecord(b({},this.idField,t.get(this.idField)))}},{key:"clean",value:function(t){var e=w({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{entity:this});return this.cleaners.reduce(function(t,n){return n(t,e)},t)}},{key:"dataToRecord",value:function(){var r=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,o=n(i).filter(function(t,e){return e in r.fields}).filterNot(function(t){return void 0===t}).map(function(t,n){return e.isList(t)||Array.isArray(t)?e(t).map(function(t){return r.fields[n].dataToValue(t,{data:i})}):r.fields[n].dataToValue(t,{data:i})});return i&&n(this.fields).filter(function(t,e){return void 0===i[e]}).map(function(e){return t(e.default)?e.default({data:i}):e.default}).merge(o)}},{key:"getEntityField",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new _(w({entity:this},t))}},{key:"getId",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?void 0:t.get(this.idField)}},{key:"getPaths",value:function(){return this.paths}},{key:"getSize",value:function(){return 0}},{key:"isEntity",value:function(t){return!!t&&t.prototype instanceof r}},{key:"isEntityDescendant",value:function(t){return!!t&&t.prototype instanceof this}},{key:"isValid",value:function(t,e){return 0===this.validate(t,e).size}},{key:"isValidFromErrors",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.name?e.name.some(function(e){return t.filter(function(t){return n.isMap(t)&&t.get("detail")}).flatMap(function(t){return t.getIn(["errors",e])}).filter(function(t){return t}).size>0}):!t||0===t.size}},{key:"mock",value:function(t,e,n){var r=this;return d([function(t){return r.toData(t)},function(t){return r.dataToRecord(t)},function(r){return w({},f(r,function(n){return n instanceof _&&!n.blank&&n.entity.store?n.many?c(Object.values(n.entity.store)):s(Object.values(n.entity.store)):n.mock&&("index"===n.mock?e:l(t,n.mock).apply(void 0,S(n.mockConfigs||[])))}),n)}])(this.fields)}},{key:"mockMany",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return u(a(n.size).map(function(n){return e.mock(t,n)}),this.idField)}},{key:"toData",value:function(t){var n=this;return t&&t.filter(function(t,e){return e in n.fields}).filterNot(function(t,e){return n.fields[e].local}).map(function(r,i){return e.isList(r)?r.map(function(e){return n.fields[i].toData(e,{record:t})}).toArray():n.fields[i].toData(r,{record:t})}).toObject()}},{key:"toString",value:function(t){return t&&t.get(this.idField)||""}},{key:"validate",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return t;var r=n(this.fields).filter(function(t,n){return!e.fields||e.fields[n]}).map(function(n,r){return n.validate(t.get(r),w({},e,{fieldName:r,record:t,validators:e.fields&&e.fields[r]}))}).filterNot(function(t){return 0===t.size});return 0===r.size?null:n({detail:!0,message:"Invalid Entity",errors:r})}}]),r}();b(B,"cleaners",[]),b(B,"idField","uuid"),b(B,"fields",{uuid:new V({blank:!0,mock:"random.uuid"})}),b(B,"paths",{});var N=function(t){function e(){return g(this,e),I(this,O(e).apply(this,arguments))}return j(e,B),e}();b(N,"fields",{messages:new E,defaultMessage:new M,description:new M,id:new M,uuid:new V({mock:"random.uuid"})});var R=function(t){function e(){return g(this,e),I(this,O(e).apply(this,arguments))}return j(e,B),k(e,null,[{key:"toString",value:function(t){return t&&t.get("label")||""}}]),e}();b(R,"idField","value"),b(R,"fields",{disabled:new P({default:!1}),hidden:new P({default:!1}),label:new M,locale:new _({blank:!0,entity:N}),value:new M});var L=function(t){function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,n),I(this,O(n).call(this,w({entity:R,type:"enum"},t)))}return j(n,_),k(n,[{key:"dataToValue",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e&&this.getOptions().find(function(n){return t.entity.getId(n)===e})}},{key:"default",value:function(){return this.many?e():null}},{key:"isEnumActive",value:function(t,e){var n=e.name;return this.many?t.some(function(t){return t.get("value")===n}):!!t&&t.get("value")===n}},{key:"valueToData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return t&&this.entity.getId(t)}},{key:"valueToParam",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?void 0:this.entity.getId(t)}}]),n}(),Y=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,e),I(this,O(e).call(this,w({type:"number"},t)))}return j(e,E),e}(),J=function(t){function e(){return g(this,e),I(this,O(e).apply(this,arguments))}return j(e,Y),k(e,[{key:"dataToValue",value:function(t){var e=parseInt(t,10);return Number.isNaN(e)?null:e}}]),e}(),U=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return g(this,e),I(this,O(e).call(this,w({type:"text"},t)))}return j(e,M),e}(),q=Object.freeze({Field:x,AnyField:E,BooleanField:P,CharField:M,DateField:D,DateTimeField:z,EntityField:_,EnumField:L,IdField:V,IntegerField:J,NumberField:Y,TextField:U}),C=function(t){function r(){return g(this,r),I(this,O(r).apply(this,arguments))}return j(r,B),k(r,null,[{key:"toParams",value:function(t){var r=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?t.filter(function(t,e){return e in r.fields}).filterNot(function(t,e){return r.fields[e].local}).filterNot(function(t){return void 0===t}).map(function(o,a){return e.isList(o)?o.map(function(e){return r.fields[a].toParams(e,w({record:t},i))}).reduce(function(t,e){return t.mergeWith(function(t,e){return t?"".concat(t,",").concat(e):e},n.isMap(e)?e:n(b({},a,e)))},n()):r.fields[a].toParams(o,w({record:t},i))}).flatten():n()}}]),r}();b(C,"fields",{page:new J({default:1}),page_size:new J({default:20}),uuid:new V({blank:!0,mock:"random.uuid"})});var H=function(t){function e(){return g(this,e),I(this,O(e).apply(this,arguments))}return j(e,B),k(e,null,[{key:"actionArchive",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.duck.actions.save(t,w({action:"archive",method:"post"},e))}},{key:"actionArrayDeleteAtIndexOrdered",value:function(t,e){return this.actionArrayDeleteAtIndex(t,e).map(function(t,e){return t.set("order",e)})}},{key:"actionArrayMoveAtIndexOrdered",value:function(t,e){return this.actionArrayMoveAtIndex(t,e).map(function(t,e){return t.set("order",e)})}},{key:"actionSave",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.duck.actions.save(t,w({invalidateList:!0},e))}},{key:"toLink",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(e.params||n()).filterNot(function(t){return void 0===t}),i=this.getPaths(e).urlBase;return"".concat(i).concat(this.getId(t,e),"/?").concat(v.stringify(r.toJS()))}},{key:"toString",value:function(t){return t&&t.get("title")||""}},{key:"toStringOrdered",value:function(t){return t?"".concat(t.get("order")+1,". ").concat(this.toString(t)):""}},{key:"toUrl",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(e.params||n()).remove("page").remove("page_size").filterNot(function(t){return void 0===t}),i=this.getPaths(e).urlBase;return"".concat(e.settings.BASE_URL).concat(i).concat(this.getId(t,e),"/?").concat(v.stringify(r.toJS()))}},{key:"toUrlExport",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.params?t.params.remove("page").remove("page_size").filterNot(function(t){return void 0===t}):n(),r=this.getPaths(t).apiBase;return"".concat(t.settings.BASE_API_URL).concat(r,"?").concat(v.stringify(e.toJS()),"&format=xlsx")}}]),e}();b(H,"fields",{description:new U({blank:!0}),is_archived:new P({default:!1}),locale:new _({blank:!0,entity:N}),order:new J({mock:"index"}),title:new M({mock:"lorem.sentence"}),title_short:new M({blank:!0}),uuid:new V({blank:!0,mock:"random.uuid"})}),b(H,"paths",{urlBase:""});export{h as cleaners,T as validators,q as Fields,B as Entity,R as EntityEnum,C as EntityFilter,N as EntityLocale,H as EntityTitle};
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"private": false,
|
|
18
18
|
"repository": "https://github.com/burnsred/burnsred-entity-library.git",
|
|
19
19
|
"sideEffects": false,
|
|
20
|
-
"version": "0.6.
|
|
20
|
+
"version": "0.6.5",
|
|
21
21
|
"publishConfig": {
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"lodash": ">=4.12.0",
|
|
40
40
|
"moment": ">=2.0.0"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "85d20112d7be32a68fc51b90f2c142f79a8e6556"
|
|
43
43
|
}
|