{"version":3,"file":"validate_style.min.mjs","names":[],"sources":["../src/validate_style.min.ts"],"sourcesContent":["import {validateConstants} from './validate/validate_constants';\nimport {validate} from './validate/validate';\nimport {latest} from './reference/latest';\n\nimport {validateSource} from './validate/validate_source';\nimport {validateLight} from './validate/validate_light';\nimport {validateSky} from './validate/validate_sky';\nimport {validateTerrain} from './validate/validate_terrain';\nimport {validateState} from './validate/validate_state';\nimport {validateLayer} from './validate/validate_layer';\nimport {validateFilter} from './validate/validate_filter';\nimport {validatePaintProperty} from './validate/validate_paint_property';\nimport {validateLayoutProperty} from './validate/validate_layout_property';\nimport {validateSprite} from './validate/validate_sprite';\nimport {validateGlyphsUrl} from './validate/validate_glyphs_url';\nimport {validateFontFaces} from './validate/validate_font_faces';\nimport {ValidationError} from './error/validation_error';\nimport type {StyleSpecification} from './types.g';\n\n/**\n * Validate a MapLibre style against the style specification.\n * Use this when running in the browser.\n *\n * @param style - The style to be validated.\n * @param styleSpec - The style specification to validate against.\n * If omitted, the latest style spec is used.\n * @returns an array of errors, or an empty array if no errors are found.\n * @example\n * const validate = require('@maplibre/maplibre-gl-style-spec/').validateStyleMin;\n * const errors = validate(style);\n */\nexport function validateStyleMin(\n style: StyleSpecification,\n styleSpec = latest\n): Array {\n let errors: ValidationError[] = [];\n\n errors = errors.concat(\n validate({\n key: '',\n value: style,\n valueSpec: styleSpec.$root,\n styleSpec,\n style,\n validateSpec: validate,\n objectElementValidators: {\n glyphs: validateGlyphsUrl,\n '*'() {\n return [];\n }\n }\n })\n );\n\n if (style['constants']) {\n errors = errors.concat(\n validateConstants({\n key: 'constants',\n value: style['constants'],\n style,\n styleSpec,\n validateSpec: validate\n })\n );\n }\n\n return sortErrors(errors);\n}\n\nvalidateStyleMin.source = wrapCleanErrors(injectValidateSpec(validateSource));\nvalidateStyleMin.sprite = wrapCleanErrors(injectValidateSpec(validateSprite));\nvalidateStyleMin.glyphs = wrapCleanErrors(injectValidateSpec(validateGlyphsUrl));\nvalidateStyleMin.fontFaces = wrapCleanErrors(injectValidateSpec(validateFontFaces));\nvalidateStyleMin.light = wrapCleanErrors(injectValidateSpec(validateLight));\nvalidateStyleMin.sky = wrapCleanErrors(injectValidateSpec(validateSky));\nvalidateStyleMin.terrain = wrapCleanErrors(injectValidateSpec(validateTerrain));\nvalidateStyleMin.state = wrapCleanErrors(injectValidateSpec(validateState));\nvalidateStyleMin.layer = wrapCleanErrors(injectValidateSpec(validateLayer));\nvalidateStyleMin.filter = wrapCleanErrors(injectValidateSpec(validateFilter));\nvalidateStyleMin.paintProperty = wrapCleanErrors(injectValidateSpec(validatePaintProperty));\nvalidateStyleMin.layoutProperty = wrapCleanErrors(injectValidateSpec(validateLayoutProperty));\n\nfunction injectValidateSpec(validator: (options: object) => any) {\n return function (options) {\n return validator(Object.assign({}, options, {validateSpec: validate}));\n };\n}\n\nfunction sortErrors(errors) {\n return [].concat(errors).sort((a, b) => {\n return a.line - b.line;\n });\n}\n\nfunction wrapCleanErrors(inner) {\n return function (...args) {\n return sortErrors(inner.apply(this, args));\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAgB,iBACZ,OACA,YAAY,QACU;CACtB,IAAI,SAA4B,CAAC;CAEjC,SAAS,OAAO,OACZ,SAAS;EACL,KAAK;EACL,OAAO;EACP,WAAW,UAAU;EACrB;EACA;EACA,cAAc;EACd,yBAAyB;GACrB,QAAQ;GACR,MAAM;IACF,OAAO,CAAC;GACZ;EACJ;CACJ,CAAC,CACL;CAEA,IAAI,MAAM,cACN,SAAS,OAAO,OACZ,kBAAkB;EACd,KAAK;EACL,OAAO,MAAM;EACb;EACA;EACA,cAAc;CAClB,CAAC,CACL;CAGJ,OAAO,WAAW,MAAM;AAC5B;AAEA,iBAAiB,SAAS,gBAAgB,mBAAmB,cAAc,CAAC;AAC5E,iBAAiB,SAAS,gBAAgB,mBAAmB,cAAc,CAAC;AAC5E,iBAAiB,SAAS,gBAAgB,mBAAmB,iBAAiB,CAAC;AAC/E,iBAAiB,YAAY,gBAAgB,mBAAmB,iBAAiB,CAAC;AAClF,iBAAiB,QAAQ,gBAAgB,mBAAmB,aAAa,CAAC;AAC1E,iBAAiB,MAAM,gBAAgB,mBAAmB,WAAW,CAAC;AACtE,iBAAiB,UAAU,gBAAgB,mBAAmB,eAAe,CAAC;AAC9E,iBAAiB,QAAQ,gBAAgB,mBAAmB,aAAa,CAAC;AAC1E,iBAAiB,QAAQ,gBAAgB,mBAAmB,aAAa,CAAC;AAC1E,iBAAiB,SAAS,gBAAgB,mBAAmB,cAAc,CAAC;AAC5E,iBAAiB,gBAAgB,gBAAgB,mBAAmB,qBAAqB,CAAC;AAC1F,iBAAiB,iBAAiB,gBAAgB,mBAAmB,sBAAsB,CAAC;AAE5F,SAAS,mBAAmB,WAAqC;CAC7D,OAAO,SAAU,SAAS;EACtB,OAAO,UAAU,OAAO,OAAO,CAAC,GAAG,SAAS,EAAC,cAAc,SAAQ,CAAC,CAAC;CACzE;AACJ;AAEA,SAAS,WAAW,QAAQ;CACxB,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM;EACpC,OAAO,EAAE,OAAO,EAAE;CACtB,CAAC;AACL;AAEA,SAAS,gBAAgB,OAAO;CAC5B,OAAO,SAAU,GAAG,MAAM;EACtB,OAAO,WAAW,MAAM,MAAM,MAAM,IAAI,CAAC;CAC7C;AACJ"}