@cookbook/urlkit 1.0.0 → 1.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"compile-static-search-Cq3uaLe8.js","sources":["../src/static/compile-static-hash.ts","../src/static/static-search-field-kind.ts","../src/static/normalize-static-search-default.ts","../src/static/create-static-search-schema.ts","../src/static/compile-static-search.ts"],"sourcesContent":["import type { NormalizedHashDescriptor } from '../hash/contracts.js';\nimport { compileStaticHashDescriptor } from '../hash/compile-static-hash-descriptor.js';\nimport type { InferStaticHash, StaticHashDescriptor } from './contracts.js';\n\nexport function compileStaticHash<Descriptor extends StaticHashDescriptor>(\n descriptor: Descriptor,\n): NormalizedHashDescriptor<InferStaticHash<Descriptor>> {\n return compileStaticHashDescriptor(descriptor) as NormalizedHashDescriptor<\n InferStaticHash<Descriptor>\n >;\n}\n","import { UrlKitError } from '../errors/url-kit-error.js';\nimport type { StaticSearchField, StaticSearchFieldObject, StaticSearchValue } from './contracts.js';\n\nexport function isStaticSearchFieldObject(\n field: StaticSearchField,\n): field is StaticSearchFieldObject {\n if (!isRecord(field)) {\n return false;\n }\n\n return (\n 'value' in field ||\n 'optional' in field ||\n 'default' in field ||\n field.type === 'one' ||\n field.type === 'many'\n );\n}\n\nexport function normalizeStaticSearchFieldValue(field: StaticSearchField): StaticSearchValue {\n if (isStaticSearchFieldObject(field)) {\n return field.value ?? 'string';\n }\n\n return field;\n}\n\nexport function normalizeStaticSearchFieldType(\n input: unknown,\n path: readonly string[],\n): 'one' | 'many' {\n if (input === undefined || input === 'one') {\n return 'one';\n }\n\n if (input === 'many') {\n return 'many';\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search field type must be \"one\" or \"many\".', {\n path,\n });\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import { parseDate } from '../date/parse-date.js';\nimport { parseDateTime } from '../date/parse-date-time.js';\nimport { parseUnixMs } from '../date/parse-unix-ms.js';\nimport { parseUnixSeconds } from '../date/parse-unix-seconds.js';\nimport { UrlKitError } from '../errors/url-kit-error.js';\nimport type { StaticDateFormat, StaticSearchValue } from './contracts.js';\n\nexport function normalizeStaticSearchDefault(\n fieldType: 'one' | 'many',\n valueDescriptor: StaticSearchValue,\n defaultValue: unknown,\n path: readonly string[],\n): unknown {\n if (fieldType === 'many') {\n if (!Array.isArray(defaultValue)) {\n throw new UrlKitError('invalid-descriptor', 'Many static search default must be an array.', {\n path,\n });\n }\n\n return Object.freeze(\n defaultValue.map((item) => normalizeSingleStaticSearchDefault(valueDescriptor, item, path)),\n );\n }\n\n return normalizeSingleStaticSearchDefault(valueDescriptor, defaultValue, path);\n}\n\nfunction normalizeSingleStaticSearchDefault(\n valueDescriptor: StaticSearchValue,\n defaultValue: unknown,\n path: readonly string[],\n): unknown {\n const kind = resolveStaticSearchValueKind(valueDescriptor, path);\n\n if (kind === 'string') {\n if (typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n throw new UrlKitError('invalid-descriptor', 'String static search default must be a string.', {\n path,\n });\n }\n\n if (kind === 'number') {\n if (typeof defaultValue === 'number' && Number.isFinite(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Number static search default must be a finite number.',\n { path },\n );\n }\n\n if (kind === 'int') {\n if (typeof defaultValue === 'number' && Number.isInteger(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Integer static search default must be a finite integer.',\n { path },\n );\n }\n\n if (kind === 'boolean') {\n if (typeof defaultValue === 'boolean') {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Boolean static search default must be a boolean.',\n { path },\n );\n }\n\n if (kind === 'date') {\n return normalizeStaticDateDefault(defaultValue, 'date', path);\n }\n\n if (kind === 'date-time') {\n return normalizeStaticDateDefault(defaultValue, 'date-time', path);\n }\n\n if (kind === 'unix-seconds') {\n return normalizeStaticDateDefault(defaultValue, 'unix-seconds', path);\n }\n\n if (kind === 'unix-ms') {\n return normalizeStaticDateDefault(defaultValue, 'unix-ms', path);\n }\n\n if (isStaticEnumValue(valueDescriptor)) {\n if (typeof defaultValue === 'string' && valueDescriptor.values.includes(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Enum static search default must be one of the declared values.',\n { path },\n );\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search default descriptor is invalid.', {\n path,\n });\n}\n\nfunction normalizeStaticDateDefault(\n defaultValue: unknown,\n format: StaticDateFormat,\n path: readonly string[],\n): Date {\n if (format === 'unix-seconds') {\n if (typeof defaultValue !== 'number' || !Number.isInteger(defaultValue)) {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Unix seconds static search default must be a finite integer.',\n { path },\n );\n }\n\n return parseUnixSeconds(String(defaultValue), { code: 'invalid-descriptor', path });\n }\n\n if (format === 'unix-ms') {\n if (typeof defaultValue !== 'number' || !Number.isInteger(defaultValue)) {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Unix milliseconds static search default must be a finite integer.',\n { path },\n );\n }\n\n return parseUnixMs(String(defaultValue), { code: 'invalid-descriptor', path });\n }\n\n if (typeof defaultValue !== 'string') {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Static date search default must be a serialized string.',\n { path },\n );\n }\n\n if (format === 'date-time') {\n return parseDateTime(defaultValue, { code: 'invalid-descriptor', path });\n }\n\n return parseDate(defaultValue, { code: 'invalid-descriptor', path });\n}\n\nfunction resolveStaticSearchValueKind(\n value: StaticSearchValue,\n path: readonly string[],\n): StaticDateFormat | 'string' | 'number' | 'int' | 'boolean' | 'enum' {\n if (typeof value === 'string') {\n if (\n value === 'string' ||\n value === 'number' ||\n value === 'int' ||\n value === 'boolean' ||\n value === 'date' ||\n value === 'date-time' ||\n value === 'unix-seconds' ||\n value === 'unix-ms'\n ) {\n return value;\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value shorthand is invalid.', {\n path,\n });\n }\n\n if (isStaticDateValue(value)) {\n return value.format ?? 'date';\n }\n\n if (isStaticEnumValue(value)) {\n return 'enum';\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value descriptor is invalid.', {\n path,\n });\n}\n\nfunction isStaticDateValue(\n input: unknown,\n): input is { readonly type: 'date'; readonly format?: StaticDateFormat } {\n return isRecord(input) && input.type === 'date';\n}\n\nfunction isStaticEnumValue(\n input: unknown,\n): input is { readonly type: 'enum'; readonly values: readonly string[] } {\n return isRecord(input) && input.type === 'enum' && Array.isArray(input.values);\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import { boolean } from '../schema/boolean.js';\nimport { date } from '../schema/date.js';\nimport { enumOf } from '../schema/enum-of.js';\nimport { int } from '../schema/int.js';\nimport { number } from '../schema/number.js';\nimport type { AnyRuntimeSchemaBuilder } from '../schema/contracts.js';\nimport { string } from '../schema/string.js';\nimport { UrlKitError } from '../errors/url-kit-error.js';\nimport type { RuntimeSearchField, RuntimeSearchSchema } from '../search/contracts.js';\nimport type { StaticSearchDescriptor, StaticSearchField, StaticSearchValue } from './contracts.js';\nimport {\n isStaticSearchFieldObject,\n normalizeStaticSearchFieldType,\n normalizeStaticSearchFieldValue,\n} from './static-search-field-kind.js';\nimport { normalizeStaticSearchDefault } from './normalize-static-search-default.js';\n\nexport function createStaticSearchSchema(descriptor: StaticSearchDescriptor): RuntimeSearchSchema {\n if (!isRecord(descriptor)) {\n throw new UrlKitError('invalid-descriptor', 'Static search descriptor must be an object.', {\n path: ['search'],\n });\n }\n\n const schema: Record<string, RuntimeSearchField> = {};\n\n for (const [key, field] of Object.entries(descriptor)) {\n schema[key] = createStaticSearchField(key, field);\n }\n\n return Object.freeze(schema);\n}\n\nfunction createStaticSearchField(key: string, field: StaticSearchField): RuntimeSearchField {\n const path = ['search', key];\n const fieldType = isStaticSearchFieldObject(field)\n ? normalizeStaticSearchFieldType(field.type, path)\n : 'one';\n const valueDescriptor = normalizeStaticSearchFieldValue(field);\n const value = createStaticSearchValueSchema(valueDescriptor, path);\n const hasDefault =\n isStaticSearchFieldObject(field) && Object.prototype.hasOwnProperty.call(field, 'default');\n const defaultValue = hasDefault\n ? normalizeStaticSearchDefault(fieldType, valueDescriptor, field.default, path)\n : undefined;\n\n return Object.freeze({\n type: fieldType,\n value,\n ...(isStaticSearchFieldObject(field) && field.optional ? { optional: true } : {}),\n ...(hasDefault ? { default: defaultValue } : {}),\n });\n}\n\nfunction createStaticSearchValueSchema(\n value: StaticSearchValue,\n path: readonly string[],\n): AnyRuntimeSchemaBuilder {\n if (value === 'string') {\n return string();\n }\n\n if (value === 'number') {\n return number();\n }\n\n if (value === 'int') {\n return int();\n }\n\n if (value === 'boolean') {\n return boolean();\n }\n\n if (value === 'date') {\n return date({ format: 'date' });\n }\n\n if (value === 'date-time') {\n return date({ format: 'date-time' });\n }\n\n if (value === 'unix-seconds') {\n return date({ format: 'unix-seconds' });\n }\n\n if (value === 'unix-ms') {\n return date({ format: 'unix-ms' });\n }\n\n if (isStaticDateValue(value)) {\n return date({ format: value.format ?? 'date' });\n }\n\n if (isStaticEnumValue(value)) {\n return enumOf(value.values);\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value descriptor is invalid.', {\n path,\n });\n}\n\nfunction isStaticDateValue(input: unknown): input is {\n readonly type: 'date';\n readonly format?: 'date' | 'date-time' | 'unix-seconds' | 'unix-ms';\n} {\n return isRecord(input) && input.type === 'date';\n}\n\nfunction isStaticEnumValue(\n input: unknown,\n): input is { readonly type: 'enum'; readonly values: readonly string[] } {\n return isRecord(input) && input.type === 'enum';\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import type { RuntimeSearchSchema } from '../search/contracts.js';\nimport { compileSearchSchema } from '../search/compile-search-schema.js';\nimport type { StaticSearchDescriptor } from './contracts.js';\nimport { createStaticSearchSchema } from './create-static-search-schema.js';\n\nexport function compileStaticSearch(descriptor: StaticSearchDescriptor): RuntimeSearchSchema {\n const schema = createStaticSearchSchema(descriptor);\n compileSearchSchema(schema);\n\n return schema;\n}\n"],"names":["isRecord","isStaticEnumValue","isStaticDateValue"],"mappings":"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"}
1
+ {"version":3,"file":"compile-static-search-CCwJuNC3.js","sources":["../src/static/compile-static-hash.ts","../src/static/static-search-field-kind.ts","../src/static/normalize-static-search-default.ts","../src/static/create-static-search-schema.ts","../src/static/compile-static-search.ts"],"sourcesContent":["import type { NormalizedHashDescriptor } from '../hash/contracts.js';\nimport { compileStaticHashDescriptor } from '../hash/compile-static-hash-descriptor.js';\nimport type { InferStaticHash, StaticHashDescriptor } from './contracts.js';\n\nexport function compileStaticHash<Descriptor extends StaticHashDescriptor>(\n descriptor: Descriptor,\n): NormalizedHashDescriptor<InferStaticHash<Descriptor>> {\n return compileStaticHashDescriptor(descriptor) as NormalizedHashDescriptor<\n InferStaticHash<Descriptor>\n >;\n}\n","import { UrlKitError } from '../errors/url-kit-error.js';\nimport type { StaticSearchField, StaticSearchFieldObject, StaticSearchValue } from './contracts.js';\n\nexport function isStaticSearchFieldObject(\n field: StaticSearchField,\n): field is StaticSearchFieldObject {\n if (!isRecord(field)) {\n return false;\n }\n\n return (\n 'value' in field ||\n 'optional' in field ||\n 'default' in field ||\n field.type === 'one' ||\n field.type === 'many'\n );\n}\n\nexport function normalizeStaticSearchFieldValue(field: StaticSearchField): StaticSearchValue {\n if (isStaticSearchFieldObject(field)) {\n return field.value ?? 'string';\n }\n\n return field;\n}\n\nexport function normalizeStaticSearchFieldType(\n input: unknown,\n path: readonly string[],\n): 'one' | 'many' {\n if (input === undefined || input === 'one') {\n return 'one';\n }\n\n if (input === 'many') {\n return 'many';\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search field type must be \"one\" or \"many\".', {\n path,\n });\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import { parseDate } from '../date/parse-date.js';\nimport { parseDateTime } from '../date/parse-date-time.js';\nimport { parseUnixMs } from '../date/parse-unix-ms.js';\nimport { parseUnixSeconds } from '../date/parse-unix-seconds.js';\nimport { UrlKitError } from '../errors/url-kit-error.js';\nimport type { StaticDateFormat, StaticSearchValue } from './contracts.js';\n\nexport function normalizeStaticSearchDefault(\n fieldType: 'one' | 'many',\n valueDescriptor: StaticSearchValue,\n defaultValue: unknown,\n path: readonly string[],\n): unknown {\n if (fieldType === 'many') {\n if (!Array.isArray(defaultValue)) {\n throw new UrlKitError('invalid-descriptor', 'Many static search default must be an array.', {\n path,\n });\n }\n\n return Object.freeze(\n defaultValue.map((item) => normalizeSingleStaticSearchDefault(valueDescriptor, item, path)),\n );\n }\n\n return normalizeSingleStaticSearchDefault(valueDescriptor, defaultValue, path);\n}\n\nfunction normalizeSingleStaticSearchDefault(\n valueDescriptor: StaticSearchValue,\n defaultValue: unknown,\n path: readonly string[],\n): unknown {\n const kind = resolveStaticSearchValueKind(valueDescriptor, path);\n\n if (kind === 'string') {\n if (typeof defaultValue === 'string') {\n return defaultValue;\n }\n\n throw new UrlKitError('invalid-descriptor', 'String static search default must be a string.', {\n path,\n });\n }\n\n if (kind === 'number') {\n if (typeof defaultValue === 'number' && Number.isFinite(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Number static search default must be a finite number.',\n { path },\n );\n }\n\n if (kind === 'int') {\n if (typeof defaultValue === 'number' && Number.isInteger(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Integer static search default must be a finite integer.',\n { path },\n );\n }\n\n if (kind === 'boolean') {\n if (typeof defaultValue === 'boolean') {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Boolean static search default must be a boolean.',\n { path },\n );\n }\n\n if (kind === 'date') {\n return normalizeStaticDateDefault(defaultValue, 'date', path);\n }\n\n if (kind === 'date-time') {\n return normalizeStaticDateDefault(defaultValue, 'date-time', path);\n }\n\n if (kind === 'unix-seconds') {\n return normalizeStaticDateDefault(defaultValue, 'unix-seconds', path);\n }\n\n if (kind === 'unix-ms') {\n return normalizeStaticDateDefault(defaultValue, 'unix-ms', path);\n }\n\n if (isStaticEnumValue(valueDescriptor)) {\n if (typeof defaultValue === 'string' && valueDescriptor.values.includes(defaultValue)) {\n return defaultValue;\n }\n\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Enum static search default must be one of the declared values.',\n { path },\n );\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search default descriptor is invalid.', {\n path,\n });\n}\n\nfunction normalizeStaticDateDefault(\n defaultValue: unknown,\n format: StaticDateFormat,\n path: readonly string[],\n): Date {\n if (format === 'unix-seconds') {\n if (typeof defaultValue !== 'number' || !Number.isInteger(defaultValue)) {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Unix seconds static search default must be a finite integer.',\n { path },\n );\n }\n\n return parseUnixSeconds(String(defaultValue), { code: 'invalid-descriptor', path });\n }\n\n if (format === 'unix-ms') {\n if (typeof defaultValue !== 'number' || !Number.isInteger(defaultValue)) {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Unix milliseconds static search default must be a finite integer.',\n { path },\n );\n }\n\n return parseUnixMs(String(defaultValue), { code: 'invalid-descriptor', path });\n }\n\n if (typeof defaultValue !== 'string') {\n throw new UrlKitError(\n 'invalid-descriptor',\n 'Static date search default must be a serialized string.',\n { path },\n );\n }\n\n if (format === 'date-time') {\n return parseDateTime(defaultValue, { code: 'invalid-descriptor', path });\n }\n\n return parseDate(defaultValue, { code: 'invalid-descriptor', path });\n}\n\nfunction resolveStaticSearchValueKind(\n value: StaticSearchValue,\n path: readonly string[],\n): StaticDateFormat | 'string' | 'number' | 'int' | 'boolean' | 'enum' {\n if (typeof value === 'string') {\n if (\n value === 'string' ||\n value === 'number' ||\n value === 'int' ||\n value === 'boolean' ||\n value === 'date' ||\n value === 'date-time' ||\n value === 'unix-seconds' ||\n value === 'unix-ms'\n ) {\n return value;\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value shorthand is invalid.', {\n path,\n });\n }\n\n if (isStaticDateValue(value)) {\n return value.format ?? 'date';\n }\n\n if (isStaticEnumValue(value)) {\n return 'enum';\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value descriptor is invalid.', {\n path,\n });\n}\n\nfunction isStaticDateValue(\n input: unknown,\n): input is { readonly type: 'date'; readonly format?: StaticDateFormat } {\n return isRecord(input) && input.type === 'date';\n}\n\nfunction isStaticEnumValue(\n input: unknown,\n): input is { readonly type: 'enum'; readonly values: readonly string[] } {\n return isRecord(input) && input.type === 'enum' && Array.isArray(input.values);\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import { boolean } from '../schema/boolean.js';\nimport { date } from '../schema/date.js';\nimport { enumOf } from '../schema/enum-of.js';\nimport { int } from '../schema/int.js';\nimport { number } from '../schema/number.js';\nimport type { AnyRuntimeSchemaBuilder } from '../schema/contracts.js';\nimport { string } from '../schema/string.js';\nimport { UrlKitError } from '../errors/url-kit-error.js';\nimport type { RuntimeSearchField, RuntimeSearchSchema } from '../search/contracts.js';\nimport type { StaticSearchDescriptor, StaticSearchField, StaticSearchValue } from './contracts.js';\nimport {\n isStaticSearchFieldObject,\n normalizeStaticSearchFieldType,\n normalizeStaticSearchFieldValue,\n} from './static-search-field-kind.js';\nimport { normalizeStaticSearchDefault } from './normalize-static-search-default.js';\n\nexport function createStaticSearchSchema(descriptor: StaticSearchDescriptor): RuntimeSearchSchema {\n if (!isRecord(descriptor)) {\n throw new UrlKitError('invalid-descriptor', 'Static search descriptor must be an object.', {\n path: ['search'],\n });\n }\n\n const schema: Record<string, RuntimeSearchField> = {};\n\n for (const [key, field] of Object.entries(descriptor)) {\n schema[key] = createStaticSearchField(key, field);\n }\n\n return Object.freeze(schema);\n}\n\nfunction createStaticSearchField(key: string, field: StaticSearchField): RuntimeSearchField {\n const path = ['search', key];\n const fieldType = isStaticSearchFieldObject(field)\n ? normalizeStaticSearchFieldType(field.type, path)\n : 'one';\n const valueDescriptor = normalizeStaticSearchFieldValue(field);\n const value = createStaticSearchValueSchema(valueDescriptor, path);\n const hasDefault =\n isStaticSearchFieldObject(field) && Object.prototype.hasOwnProperty.call(field, 'default');\n const defaultValue = hasDefault\n ? normalizeStaticSearchDefault(fieldType, valueDescriptor, field.default, path)\n : undefined;\n\n return Object.freeze({\n type: fieldType,\n value,\n ...(isStaticSearchFieldObject(field) && field.optional ? { optional: true } : {}),\n ...(hasDefault ? { default: defaultValue } : {}),\n });\n}\n\nfunction createStaticSearchValueSchema(\n value: StaticSearchValue,\n path: readonly string[],\n): AnyRuntimeSchemaBuilder {\n if (value === 'string') {\n return string();\n }\n\n if (value === 'number') {\n return number();\n }\n\n if (value === 'int') {\n return int();\n }\n\n if (value === 'boolean') {\n return boolean();\n }\n\n if (value === 'date') {\n return date({ format: 'date' });\n }\n\n if (value === 'date-time') {\n return date({ format: 'date-time' });\n }\n\n if (value === 'unix-seconds') {\n return date({ format: 'unix-seconds' });\n }\n\n if (value === 'unix-ms') {\n return date({ format: 'unix-ms' });\n }\n\n if (isStaticDateValue(value)) {\n return date({ format: value.format ?? 'date' });\n }\n\n if (isStaticEnumValue(value)) {\n return enumOf(value.values);\n }\n\n throw new UrlKitError('invalid-descriptor', 'Static search value descriptor is invalid.', {\n path,\n });\n}\n\nfunction isStaticDateValue(input: unknown): input is {\n readonly type: 'date';\n readonly format?: 'date' | 'date-time' | 'unix-seconds' | 'unix-ms';\n} {\n return isRecord(input) && input.type === 'date';\n}\n\nfunction isStaticEnumValue(\n input: unknown,\n): input is { readonly type: 'enum'; readonly values: readonly string[] } {\n return isRecord(input) && input.type === 'enum';\n}\n\nfunction isRecord(input: unknown): input is Record<string, unknown> {\n return typeof input === 'object' && input !== null && !Array.isArray(input);\n}\n","import type { RuntimeSearchSchema } from '../search/contracts.js';\nimport { compileSearchSchema } from '../search/compile-search-schema.js';\nimport type { StaticSearchDescriptor } from './contracts.js';\nimport { createStaticSearchSchema } from './create-static-search-schema.js';\n\nexport function compileStaticSearch(descriptor: StaticSearchDescriptor): RuntimeSearchSchema {\n const schema = createStaticSearchSchema(descriptor);\n compileSearchSchema(schema);\n\n return schema;\n}\n"],"names":["isRecord","isStaticEnumValue","isStaticDateValue"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as handleRuntimeSchemaAbsence, j as createSchemaValueError, U as UrlKitError, k as createRuntimeSchemaValueContext, l as compileRuntimeSchemaValue, m as createRuntimeSchemaBuilder, o as normalizeRuntimeSchemaValue, p as getRuntimeSchemaInternals, q as runtimeSchemaSymbol, t as compileRuntimeSchema, u as normalizeCompiledRuntimeSchemaValue, v as compileStaticHashDescriptor, c as compileSearchSchema, a as compilePath } from './compile-path-wQfWAzOh.js';
1
+ import { g as handleRuntimeSchemaAbsence, j as createSchemaValueError, U as UrlKitError, k as createRuntimeSchemaValueContext, l as compileRuntimeSchemaValue, m as createRuntimeSchemaBuilder, o as normalizeRuntimeSchemaValue, p as getRuntimeSchemaInternals, q as runtimeSchemaSymbol, t as compileRuntimeSchema, u as normalizeCompiledRuntimeSchemaValue, v as compileStaticHashDescriptor, c as compileSearchSchema, a as compilePath } from './compile-path-COU1uxXm.js';
2
2
 
3
3
  function parseCompiledRuntimeSchemaValue(compiled, input, options = {}) {
4
4
  const absence = handleRuntimeSchemaAbsence(compiled.descriptor, input, options);
@@ -1748,4 +1748,4 @@ function mergeBuildOptions(arrayFormat, options) {
1748
1748
  }
1749
1749
 
1750
1750
  export { createUrlContract as a, array as b, compileHashDescriptor as c, buildCompiledSearch as d, buildRawSearch as e, omitRawSearch as f, getObjectSchemaShape as g, parseRawSearch as h, hasSearchFieldRawValue as i, parseSearchFieldValue as j, deleteSearchFieldRawKeys as k, copyRawSearchParams as l, joinSearchStrings as m, pickRawSearch as n, object as o, parseArrayRuntimeSchemaValue as p, parseCompiledSearch as q, readHashFragment as r, serializeArrayRuntimeSchemaValue as s, buildHash as t, parseHash as u };
1751
- //# sourceMappingURL=create-url-contract-BYKPM9bn.js.map
1751
+ //# sourceMappingURL=create-url-contract-DAU3UCJ6.js.map