@sanity/client 7.26.1 → 8.0.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.
Files changed (128) hide show
  1. package/README.md +5 -377
  2. package/dist/browserUpload-CQgx9YYo.js +86 -0
  3. package/dist/browserUpload-CQgx9YYo.js.map +1 -0
  4. package/dist/browserUpload-icWlVP15.js +86 -0
  5. package/dist/browserUpload-icWlVP15.js.map +1 -0
  6. package/dist/config-a8VajuEY.js +126 -0
  7. package/dist/config-a8VajuEY.js.map +1 -0
  8. package/dist/csm.d.ts +122 -347
  9. package/dist/csm.js +79 -91
  10. package/dist/csm.js.map +1 -1
  11. package/dist/dist-C9ExSk2R.js +73 -0
  12. package/dist/dist-C9ExSk2R.js.map +1 -0
  13. package/dist/dist-Z8cIRxoB.js +69 -0
  14. package/dist/dist-Z8cIRxoB.js.map +1 -0
  15. package/dist/index.d.ts +107 -6758
  16. package/dist/index.js +2822 -2848
  17. package/dist/index.js.map +1 -1
  18. package/dist/{index.d.cts → index.node.d.ts} +4291 -5363
  19. package/dist/index.node.js +3131 -0
  20. package/dist/index.node.js.map +1 -0
  21. package/dist/isRecord-Kfmt-nk-.js +7 -0
  22. package/dist/isRecord-Kfmt-nk-.js.map +1 -0
  23. package/dist/media-library.d.ts +9 -100
  24. package/dist/media-library.js +36 -14
  25. package/dist/media-library.js.map +1 -1
  26. package/dist/request-CJxcN16k.js +372 -0
  27. package/dist/request-CJxcN16k.js.map +1 -0
  28. package/dist/request-k7VS_NnC.js +354 -0
  29. package/dist/request-k7VS_NnC.js.map +1 -0
  30. package/dist/resolveEditInfo-sq7yF78q.js +325 -0
  31. package/dist/resolveEditInfo-sq7yF78q.js.map +1 -0
  32. package/dist/rolldown-runtime-vyAXikos.js +9 -0
  33. package/dist/stega.d.ts +78 -7179
  34. package/dist/stega.js +27 -20
  35. package/dist/stega.js.map +1 -1
  36. package/dist/stegaClean-C18wLWau.js +21 -0
  37. package/dist/stegaClean-C18wLWau.js.map +1 -0
  38. package/dist/stegaEncodeSourceMap-B2fGArSf.js +163 -0
  39. package/dist/stegaEncodeSourceMap-B2fGArSf.js.map +1 -0
  40. package/dist/stegaEncodeSourceMap-DkoIlutY.js +367 -0
  41. package/dist/stegaEncodeSourceMap-DkoIlutY.js.map +1 -0
  42. package/dist/{index.browser.d.cts → types-CUxZSgB2.d.ts} +3956 -5295
  43. package/dist/types-CfGzbXrl.d.ts +108 -0
  44. package/package.json +69 -146
  45. package/src/SanityClient.ts +82 -117
  46. package/src/agent/actions/AgentActionsClient.ts +12 -12
  47. package/src/agent/actions/generate.ts +20 -3
  48. package/src/agent/actions/patch.ts +21 -4
  49. package/src/agent/actions/prompt.ts +17 -4
  50. package/src/agent/actions/transform.ts +21 -4
  51. package/src/agent/actions/translate.ts +21 -4
  52. package/src/assets/AssetsClient.ts +71 -23
  53. package/src/csm/createEditUrl.ts +1 -1
  54. package/src/csm/draftUtils.ts +0 -1
  55. package/src/csm/index.ts +2 -2
  56. package/src/csm/studioPath.ts +2 -1
  57. package/src/csm/types.ts +5 -1
  58. package/src/data/dataMethods.ts +801 -349
  59. package/src/data/eventsource.ts +13 -10
  60. package/src/data/listen.ts +16 -22
  61. package/src/data/live.ts +44 -27
  62. package/src/data/resolveEventSourceFetch.ts +96 -0
  63. package/src/datasets/DatasetsClient.ts +58 -41
  64. package/src/defineCreateClient.ts +35 -23
  65. package/src/http/browserMiddleware.ts +7 -1
  66. package/src/http/browserUpload.ts +162 -0
  67. package/src/http/errors.ts +60 -6
  68. package/src/http/nodeMiddleware.ts +94 -30
  69. package/src/http/request.ts +310 -87
  70. package/src/http/requestOptions.ts +131 -15
  71. package/src/{index.browser.ts → index.node.ts} +9 -4
  72. package/src/index.ts +4 -3
  73. package/src/mediaLibrary/MediaLibraryVideoClient.ts +26 -11
  74. package/src/projects/ProjectsClient.ts +18 -16
  75. package/src/releases/ReleasesClient.ts +34 -31
  76. package/src/stega/index.ts +1 -2
  77. package/src/stega/stegaEncodeSourceMap.ts +5 -0
  78. package/src/stega/types.ts +0 -1
  79. package/src/types.ts +110 -96
  80. package/src/users/UsersClient.ts +10 -14
  81. package/src/util/shareReplayLatest.ts +1 -1
  82. package/src/warnings.ts +6 -1
  83. package/dist/_chunks-cjs/config.cjs +0 -206
  84. package/dist/_chunks-cjs/config.cjs.map +0 -1
  85. package/dist/_chunks-cjs/isRecord.cjs +0 -6
  86. package/dist/_chunks-cjs/isRecord.cjs.map +0 -1
  87. package/dist/_chunks-cjs/resolveEditInfo.cjs +0 -334
  88. package/dist/_chunks-cjs/resolveEditInfo.cjs.map +0 -1
  89. package/dist/_chunks-cjs/stegaClean.cjs +0 -46
  90. package/dist/_chunks-cjs/stegaClean.cjs.map +0 -1
  91. package/dist/_chunks-cjs/stegaEncodeSourceMap.cjs +0 -388
  92. package/dist/_chunks-cjs/stegaEncodeSourceMap.cjs.map +0 -1
  93. package/dist/_chunks-es/config.js +0 -207
  94. package/dist/_chunks-es/config.js.map +0 -1
  95. package/dist/_chunks-es/isRecord.js +0 -7
  96. package/dist/_chunks-es/isRecord.js.map +0 -1
  97. package/dist/_chunks-es/resolveEditInfo.js +0 -335
  98. package/dist/_chunks-es/resolveEditInfo.js.map +0 -1
  99. package/dist/_chunks-es/stegaClean.js +0 -47
  100. package/dist/_chunks-es/stegaClean.js.map +0 -1
  101. package/dist/_chunks-es/stegaEncodeSourceMap.js +0 -389
  102. package/dist/_chunks-es/stegaEncodeSourceMap.js.map +0 -1
  103. package/dist/csm.cjs +0 -99
  104. package/dist/csm.cjs.map +0 -1
  105. package/dist/csm.d.cts +0 -403
  106. package/dist/index.browser.cjs +0 -3106
  107. package/dist/index.browser.cjs.map +0 -1
  108. package/dist/index.browser.d.ts +0 -6841
  109. package/dist/index.browser.js +0 -3082
  110. package/dist/index.browser.js.map +0 -1
  111. package/dist/index.cjs +0 -2947
  112. package/dist/index.cjs.map +0 -1
  113. package/dist/media-library.cjs +0 -20
  114. package/dist/media-library.cjs.map +0 -1
  115. package/dist/media-library.d.cts +0 -117
  116. package/dist/stega.browser.cjs +0 -29
  117. package/dist/stega.browser.cjs.map +0 -1
  118. package/dist/stega.browser.d.cts +0 -7242
  119. package/dist/stega.browser.d.ts +0 -7242
  120. package/dist/stega.browser.js +0 -24
  121. package/dist/stega.browser.js.map +0 -1
  122. package/dist/stega.cjs +0 -29
  123. package/dist/stega.cjs.map +0 -1
  124. package/dist/stega.d.cts +0 -7242
  125. package/src/data/eventsourcePolyfill.ts +0 -7
  126. package/umd/.gitkeep +0 -1
  127. package/umd/sanityClient.js +0 -6536
  128. package/umd/sanityClient.min.js +0 -6
package/dist/csm.cjs DELETED
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: !0 });
3
- var resolveEditInfo = require("./_chunks-cjs/resolveEditInfo.cjs"), config = require("./_chunks-cjs/config.cjs");
4
- function resolvePerspectives(perspective) {
5
- if (config.validateApiPerspective(perspective), Array.isArray(perspective))
6
- return perspective.includes("published") ? perspective : [...perspective, "published"];
7
- switch (perspective) {
8
- case "previewDrafts":
9
- case "drafts":
10
- return ["drafts", "published"];
11
- case "published":
12
- default:
13
- return ["published"];
14
- }
15
- }
16
- function createSourceDocumentResolver(getCachedDocument, _perspective) {
17
- const perspectives = resolvePerspectives(_perspective);
18
- function findDocument(sourceDocument) {
19
- for (const perspective of perspectives) {
20
- let match = null;
21
- if (perspective.startsWith("r") && (match = getCachedDocument({
22
- ...sourceDocument,
23
- _id: resolveEditInfo.getVersionId(sourceDocument._id, perspective)
24
- })), perspective === "drafts" && (match = getCachedDocument({
25
- ...sourceDocument,
26
- _id: resolveEditInfo.getDraftId(sourceDocument._id)
27
- })), perspective === "published" && (match = getCachedDocument({
28
- ...sourceDocument,
29
- _id: resolveEditInfo.getPublishedId(sourceDocument._id)
30
- })), match)
31
- return { ...match, _id: resolveEditInfo.getPublishedId(match._id), _originalId: match._id };
32
- }
33
- return null;
34
- }
35
- return function(sourceDocument) {
36
- return findDocument(sourceDocument);
37
- };
38
- }
39
- function applySourceDocuments(result, resultSourceMap, getCachedDocument, updateFn, perspective) {
40
- if (!resultSourceMap) return result;
41
- const resolveDocument = createSourceDocumentResolver(getCachedDocument, perspective), cachedDocuments = resultSourceMap.documents?.map?.(resolveDocument) || [];
42
- return resolveEditInfo.walkMap(JSON.parse(JSON.stringify(result)), (value, path) => {
43
- const resolveMappingResult = resolveEditInfo.resolveMapping(path, resultSourceMap);
44
- if (!resolveMappingResult)
45
- return value;
46
- const { mapping, pathSuffix } = resolveMappingResult;
47
- if (mapping.type !== "value" || mapping.source.type !== "documentValue")
48
- return value;
49
- const sourceDocument = resultSourceMap.documents[mapping.source.document], sourcePath = resultSourceMap.paths[mapping.source.path];
50
- if (sourceDocument) {
51
- const parsedPath = resolveEditInfo.parseJsonPath(sourcePath + pathSuffix), stringifiedPath = resolveEditInfo.toString(parsedPath), cachedDocument = cachedDocuments[mapping.source.document];
52
- if (!cachedDocument)
53
- return value;
54
- const changedValue = cachedDocument ? resolveEditInfo.get(cachedDocument, stringifiedPath, value) : value;
55
- return value === changedValue ? value : updateFn(changedValue, {
56
- cachedDocument,
57
- previousValue: value,
58
- sourceDocument,
59
- sourcePath: parsedPath
60
- });
61
- }
62
- return value;
63
- });
64
- }
65
- function resolvedKeyedSourcePath(options) {
66
- const { keyedResultPath, pathSuffix, sourceBasePath } = options, inferredResultPath = pathSuffix === void 0 ? [] : resolveEditInfo.parseJsonPath(pathSuffix), inferredPath = keyedResultPath.slice(keyedResultPath.length - inferredResultPath.length), inferredPathSuffix = inferredPath.length ? resolveEditInfo.jsonPath(inferredPath).slice(1) : "";
67
- return resolveEditInfo.parseJsonPath(sourceBasePath + inferredPathSuffix);
68
- }
69
- function resolveEditUrl(options) {
70
- const { resultSourceMap, studioUrl } = options, resultPath = resolveEditInfo.studioPathToJsonPath(options.resultPath), editInfo = resolveEditInfo.resolveEditInfo({
71
- resultPath,
72
- resultSourceMap,
73
- studioUrl
74
- });
75
- if (editInfo)
76
- return resolveEditInfo.createEditUrl(editInfo);
77
- }
78
- exports.DRAFTS_FOLDER = resolveEditInfo.DRAFTS_FOLDER;
79
- exports.VERSION_FOLDER = resolveEditInfo.VERSION_FOLDER;
80
- exports.createEditUrl = resolveEditInfo.createEditUrl;
81
- exports.getDraftId = resolveEditInfo.getDraftId;
82
- exports.getPublishedId = resolveEditInfo.getPublishedId;
83
- exports.getVersionFromId = resolveEditInfo.getVersionFromId;
84
- exports.getVersionId = resolveEditInfo.getVersionId;
85
- exports.isDraftId = resolveEditInfo.isDraftId;
86
- exports.isPublishedId = resolveEditInfo.isPublishedId;
87
- exports.isVersionId = resolveEditInfo.isVersionId;
88
- exports.jsonPath = resolveEditInfo.jsonPath;
89
- exports.jsonPathToStudioPath = resolveEditInfo.jsonPathToStudioPath;
90
- exports.parseJsonPath = resolveEditInfo.parseJsonPath;
91
- exports.resolveEditInfo = resolveEditInfo.resolveEditInfo;
92
- exports.resolveMapping = resolveEditInfo.resolveMapping;
93
- exports.studioPath = resolveEditInfo.studioPath;
94
- exports.studioPathToJsonPath = resolveEditInfo.studioPathToJsonPath;
95
- exports.walkMap = resolveEditInfo.walkMap;
96
- exports.applySourceDocuments = applySourceDocuments;
97
- exports.resolveEditUrl = resolveEditUrl;
98
- exports.resolvedKeyedSourcePath = resolvedKeyedSourcePath;
99
- //# sourceMappingURL=csm.cjs.map
package/dist/csm.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"csm.cjs","sources":["../src/csm/resolvePerspectives.ts","../src/csm/createSourceDocumentResolver.ts","../src/csm/applySourceDocuments.ts","../src/csm/resolvedKeyedSourcePath.ts","../src/csm/resolveEditUrl.ts"],"sourcesContent":["import {validateApiPerspective} from '../config'\nimport type {StackablePerspective} from '../types'\nimport type {ClientPerspective} from './types'\n\n/**\n * This resolves the perspectives to how documents should be resolved when applying optimistic updates,\n * like in `applySourceDocuments`.\n * @internal\n */\nexport function resolvePerspectives(\n perspective: Exclude<ClientPerspective, 'raw'>,\n): ('published' | 'drafts' | StackablePerspective)[] {\n validateApiPerspective(perspective)\n\n if (Array.isArray(perspective)) {\n if (!perspective.includes('published')) {\n return [...perspective, 'published']\n }\n return perspective\n }\n switch (perspective) {\n case 'previewDrafts':\n case 'drafts':\n return ['drafts', 'published']\n case 'published':\n default:\n return ['published']\n }\n}\n","import {getDraftId, getPublishedId, getVersionId} from './draftUtils'\nimport {resolvePerspectives} from './resolvePerspectives'\nimport type {ClientPerspective, ContentSourceMapDocuments, SanityDocument} from './types'\n\n/** @internal */\nexport type ResolvedDocument = Partial<SanityDocument> &\n Required<Pick<SanityDocument, '_id' | '_type'>>\n\n/** @internal */\nexport type MatchedDocument = Partial<SanityDocument> &\n Required<Pick<SanityDocument, '_id' | '_type' | '_originalId'>>\n\n/** @internal */\nexport function createSourceDocumentResolver(\n getCachedDocument: (\n sourceDocument: ContentSourceMapDocuments[number],\n ) => ResolvedDocument | null | undefined,\n _perspective: Exclude<ClientPerspective, 'raw'>,\n) {\n const perspectives = resolvePerspectives(_perspective)\n function findDocument(sourceDocument: ContentSourceMapDocuments[number]) {\n for (const perspective of perspectives) {\n let match: ReturnType<typeof getCachedDocument> = null\n if (perspective.startsWith('r')) {\n match = getCachedDocument({\n ...sourceDocument,\n _id: getVersionId(sourceDocument._id, perspective),\n })\n }\n if (perspective === 'drafts') {\n match = getCachedDocument({\n ...sourceDocument,\n _id: getDraftId(sourceDocument._id),\n })\n }\n if (perspective === 'published') {\n match = getCachedDocument({\n ...sourceDocument,\n _id: getPublishedId(sourceDocument._id),\n })\n }\n if (match) {\n return {...match, _id: getPublishedId(match._id), _originalId: match._id}\n }\n }\n return null\n }\n // define resolver that loops over source documents and perspectives\n return function resolveSourceDocument(\n sourceDocument: ContentSourceMapDocuments[number],\n ): MatchedDocument | null {\n return findDocument(sourceDocument)\n }\n}\n","import {createSourceDocumentResolver} from './createSourceDocumentResolver'\nimport {parseJsonPath} from './jsonPath'\nimport {resolveMapping} from './resolveMapping'\nimport * as paths from './studioPath'\nimport type {\n Any,\n ApplySourceDocumentsUpdateFunction,\n ClientPerspective,\n ContentSourceMap,\n ContentSourceMapDocuments,\n Path,\n SanityDocument,\n} from './types'\nimport {walkMap} from './walkMap'\n\n/**\n * Optimistically applies source documents to a result, using the content source map to trace fields.\n * Can be used to apply mutations to documents being edited in a Studio, or any mutation on Content Lake, to a result with extremely low latency.\n * @alpha\n */\nexport function applySourceDocuments<Result = unknown>(\n result: Result,\n resultSourceMap: ContentSourceMap | undefined,\n getCachedDocument: (\n sourceDocument: ContentSourceMapDocuments[number],\n ) =>\n | (Partial<SanityDocument> & Required<Pick<SanityDocument, '_id' | '_type'>>)\n | null\n | undefined,\n updateFn: ApplySourceDocumentsUpdateFunction,\n perspective: Exclude<ClientPerspective, 'raw'>,\n): Result {\n if (!resultSourceMap) return result\n\n const resolveDocument = createSourceDocumentResolver(getCachedDocument, perspective)\n const cachedDocuments = resultSourceMap.documents?.map?.(resolveDocument) || []\n\n return walkMap(JSON.parse(JSON.stringify(result)), (value, path) => {\n const resolveMappingResult = resolveMapping(path, resultSourceMap)\n if (!resolveMappingResult) {\n return value\n }\n\n const {mapping, pathSuffix} = resolveMappingResult\n if (mapping.type !== 'value') {\n return value\n }\n\n if (mapping.source.type !== 'documentValue') {\n return value\n }\n\n const sourceDocument = resultSourceMap.documents[mapping.source.document]\n const sourcePath = resultSourceMap.paths[mapping.source.path]\n\n if (sourceDocument) {\n const parsedPath = parseJsonPath(sourcePath + pathSuffix)\n const stringifiedPath = paths.toString(parsedPath as Path)\n const cachedDocument = cachedDocuments[mapping.source.document]\n\n if (!cachedDocument) {\n return value\n }\n\n const changedValue = cachedDocument\n ? paths.get<Result[keyof Result]>(cachedDocument, stringifiedPath, value)\n : value\n return value === changedValue\n ? value\n : updateFn<Result[keyof Result]>(changedValue as Any, {\n cachedDocument,\n previousValue: value as Result[keyof Result],\n sourceDocument,\n sourcePath: parsedPath,\n })\n }\n\n return value\n }) as Result\n}\n","import {jsonPath, parseJsonPath} from './jsonPath'\nimport type {ContentSourceMapParsedPath} from './types'\n\n/**\n * @internal\n */\nexport function resolvedKeyedSourcePath(options: {\n keyedResultPath: ContentSourceMapParsedPath\n pathSuffix?: string\n sourceBasePath: string\n}): ContentSourceMapParsedPath {\n const {keyedResultPath, pathSuffix, sourceBasePath} = options\n\n const inferredResultPath = pathSuffix === undefined ? [] : parseJsonPath(pathSuffix)\n\n const inferredPath = keyedResultPath.slice(keyedResultPath.length - inferredResultPath.length)\n\n const inferredPathSuffix = inferredPath.length ? jsonPath(inferredPath).slice(1) : ''\n\n return parseJsonPath(sourceBasePath + inferredPathSuffix)\n}\n","import {createEditUrl} from './createEditUrl'\nimport {studioPathToJsonPath} from './jsonPath'\nimport {resolveEditInfo} from './resolveEditInfo'\nimport type {ResolveEditUrlOptions} from './types'\n\n/** @alpha */\nexport function resolveEditUrl(\n options: ResolveEditUrlOptions,\n): ReturnType<typeof createEditUrl> | undefined {\n const {resultSourceMap, studioUrl} = options\n const resultPath = studioPathToJsonPath(options.resultPath)\n\n const editInfo = resolveEditInfo({\n resultPath,\n resultSourceMap,\n studioUrl,\n })\n if (!editInfo) {\n return undefined\n }\n\n return createEditUrl(editInfo)\n}\n"],"names":["validateApiPerspective","getVersionId","getDraftId","getPublishedId","walkMap","resolveMapping","parseJsonPath","paths.toString","paths.get","jsonPath","studioPathToJsonPath","resolveEditInfo","createEditUrl"],"mappings":"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"}
package/dist/csm.d.cts DELETED
@@ -1,403 +0,0 @@
1
- /**
2
- * Used to tag types that is set to `any` as a temporary measure, but should be replaced with proper typings in the future
3
- * @internal
4
- */
5
- export declare type Any = any
6
-
7
- /**
8
- * Optimistically applies source documents to a result, using the content source map to trace fields.
9
- * Can be used to apply mutations to documents being edited in a Studio, or any mutation on Content Lake, to a result with extremely low latency.
10
- * @alpha
11
- */
12
- export declare function applySourceDocuments<Result = unknown>(
13
- result: Result,
14
- resultSourceMap: ContentSourceMap | undefined,
15
- getCachedDocument: (
16
- sourceDocument: ContentSourceMapDocuments[number],
17
- ) =>
18
- | (Partial<SanityDocument> & Required<Pick<SanityDocument, '_id' | '_type'>>)
19
- | null
20
- | undefined,
21
- updateFn: ApplySourceDocumentsUpdateFunction,
22
- perspective: Exclude<ClientPerspective, 'raw'>,
23
- ): Result
24
-
25
- /**
26
- * @alpha
27
- */
28
- export declare type ApplySourceDocumentsUpdateFunction = <T = unknown>(
29
- changedValue: T,
30
- context: {
31
- cachedDocument: Partial<SanityDocument>
32
- previousValue: T
33
- sourceDocument: ContentSourceMapDocuments[number]
34
- sourcePath: ContentSourceMapParsedPath
35
- },
36
- ) => T
37
-
38
- /** @public */
39
- export declare type ClientPerspective =
40
- | DeprecatedPreviewDrafts
41
- | 'published'
42
- | 'drafts'
43
- | 'raw'
44
- | StackablePerspective[]
45
-
46
- /** @public */
47
- export declare interface ContentSourceMap {
48
- mappings: ContentSourceMapMappings
49
- documents: ContentSourceMapDocuments
50
- paths: ContentSourceMapPaths
51
- }
52
-
53
- /** @public */
54
- export declare interface ContentSourceMapDocument extends ContentSourceMapDocumentBase {
55
- _projectId?: undefined
56
- _dataset?: undefined
57
- }
58
-
59
- /** @public */
60
- export declare interface ContentSourceMapDocumentBase {
61
- _id: string
62
- _type: string
63
- }
64
-
65
- /** @public */
66
- export declare type ContentSourceMapDocuments = (
67
- | ContentSourceMapDocument
68
- | ContentSourceMapRemoteDocument
69
- )[]
70
-
71
- /**
72
- * DocumentValueSource is a path to a value within a document
73
- * @public
74
- */
75
- export declare interface ContentSourceMapDocumentValueSource {
76
- type: 'documentValue'
77
- document: number
78
- path: number
79
- }
80
-
81
- /**
82
- * When a value is not from a source, its a literal
83
- * @public
84
- */
85
- export declare interface ContentSourceMapLiteralSource {
86
- type: 'literal'
87
- }
88
-
89
- /** @public */
90
- export declare type ContentSourceMapMapping = ContentSourceMapValueMapping
91
-
92
- /** @public */
93
- export declare type ContentSourceMapMappings = Record<string, ContentSourceMapMapping>
94
-
95
- /** @alpha */
96
- export declare type ContentSourceMapParsedPath = (
97
- | string
98
- | number
99
- | ContentSourceMapParsedPathKeyedSegment
100
- )[]
101
-
102
- /** @alpha */
103
- export declare type ContentSourceMapParsedPathKeyedSegment = {
104
- _key: string
105
- _index: number
106
- }
107
-
108
- /**
109
- * @alpha
110
- * @deprecated use `ContentSourceMapParsedPath[number]` instead
111
- */
112
- export declare type ContentSourceMapParsedPathSegment = ContentSourceMapParsedPath[number]
113
-
114
- /** @public */
115
- export declare type ContentSourceMapPaths = string[]
116
-
117
- /** @public */
118
- export declare interface ContentSourceMapRemoteDocument extends ContentSourceMapDocumentBase {
119
- _projectId: string
120
- _dataset: string
121
- }
122
-
123
- /** @public */
124
- export declare type ContentSourceMapSource =
125
- | ContentSourceMapDocumentValueSource
126
- | ContentSourceMapLiteralSource
127
- | ContentSourceMapUnknownSource
128
-
129
- /**
130
- * When a field source is unknown
131
- * @public
132
- */
133
- export declare interface ContentSourceMapUnknownSource {
134
- type: 'unknown'
135
- }
136
-
137
- /**
138
- * ValueMapping is a mapping when for value that is from a single source value
139
- * It may refer to a field within a document or a literal value
140
- * @public
141
- */
142
- export declare interface ContentSourceMapValueMapping {
143
- type: 'value'
144
- source: ContentSourceMapSource
145
- }
146
-
147
- /** @internal */
148
- export declare function createEditUrl(
149
- options: CreateEditUrlOptions,
150
- ): `${StudioBaseUrl}${EditIntentUrl}`
151
-
152
- /** @internal */
153
- export declare interface CreateEditUrlOptions {
154
- baseUrl: string
155
- workspace?: string
156
- tool?: string
157
- id: string
158
- type: string
159
- path: ContentSourceMapParsedPath | string
160
- projectId?: string
161
- dataset?: string
162
- }
163
-
164
- /**
165
- * @deprecated use 'drafts' instead
166
- */
167
- declare type DeprecatedPreviewDrafts = 'previewDrafts'
168
-
169
- /** @internal */
170
- export declare type DraftId = Opaque<string, 'draftId'>
171
-
172
- /** @internal */
173
- export declare const DRAFTS_FOLDER = 'drafts'
174
-
175
- /** @alpha */
176
- export declare type EditIntentUrl =
177
- `/intent/edit/mode=presentation;id=${string};type=${string};path=${string}`
178
-
179
- /** @alpha */
180
- declare function fromString(path: string): Path
181
-
182
- /** @internal */
183
- declare function get<Result = unknown, Fallback = unknown>(
184
- obj: unknown,
185
- path: Path | string,
186
- defaultVal?: Fallback,
187
- ): Result | typeof defaultVal
188
-
189
- /** @internal */
190
- export declare function getDraftId(id: string): DraftId
191
-
192
- /** @internal */
193
- export declare function getPublishedId(id: string): PublishedId
194
-
195
- /**
196
- * @internal
197
- * Given an id, returns the versionId if it exists.
198
- * e.g. `versions.summer-drop.foo` = `summer-drop`
199
- * e.g. `drafts.foo` = `undefined`
200
- * e.g. `foo` = `undefined`
201
- */
202
- export declare function getVersionFromId(id: string): string | undefined
203
-
204
- /** @internal */
205
- export declare function getVersionId(id: string, version: string): string
206
-
207
- /** @alpha */
208
- export declare type IndexTuple = [number | '', number | '']
209
-
210
- /** @internal */
211
- export declare function isDraftId(id: string): id is DraftId
212
-
213
- /** @internal */
214
- declare function isIndexSegment(segment: PathSegment): segment is number
215
-
216
- /** @internal */
217
- declare function isIndexTuple(segment: PathSegment): segment is IndexTuple
218
-
219
- /** @internal */
220
- declare function isKeySegment(segment: PathSegment): segment is KeyedSegment
221
-
222
- /** @internal */
223
- export declare function isPublishedId(id: string): id is PublishedId
224
-
225
- /** @internal */
226
- export declare function isVersionId(id: string): boolean
227
-
228
- /**
229
- * @internal
230
- */
231
- export declare function jsonPath(path: ContentSourceMapParsedPath): ContentSourceMapPaths[number]
232
-
233
- /**
234
- * @internal
235
- */
236
- export declare function jsonPathToStudioPath(path: ContentSourceMapParsedPath): Path
237
-
238
- /** @alpha */
239
- export declare type KeyedSegment = {
240
- _key: string
241
- }
242
-
243
- declare type Opaque<T, K> = T & {
244
- __opaqueId__: K
245
- }
246
-
247
- /**
248
- * @internal
249
- */
250
- export declare function parseJsonPath(
251
- path: ContentSourceMapPaths[number],
252
- ): ContentSourceMapParsedPath
253
-
254
- /** @alpha */
255
- export declare type Path = PathSegment[]
256
-
257
- /** @alpha */
258
- export declare type PathSegment = string | number | KeyedSegment | IndexTuple
259
-
260
- /** @internal */
261
- export declare type PublishedId = Opaque<string, 'publishedId'>
262
-
263
- /** @internal */
264
- declare const reKeySegment: RegExp
265
-
266
- /**
267
- * @internal
268
- */
269
- export declare function resolvedKeyedSourcePath(options: {
270
- keyedResultPath: ContentSourceMapParsedPath
271
- pathSuffix?: string
272
- sourceBasePath: string
273
- }): ContentSourceMapParsedPath
274
-
275
- /** @internal */
276
- export declare function resolveEditInfo(
277
- options: ResolveEditInfoOptions,
278
- ): CreateEditUrlOptions | undefined
279
-
280
- /** @alpha */
281
- export declare interface ResolveEditInfoOptions {
282
- studioUrl: StudioUrl | ResolveStudioUrl
283
- resultSourceMap: ContentSourceMap
284
- resultPath: ContentSourceMapParsedPath
285
- }
286
-
287
- /** @alpha */
288
- export declare function resolveEditUrl(
289
- options: ResolveEditUrlOptions,
290
- ): ReturnType<typeof createEditUrl> | undefined
291
-
292
- /** @alpha */
293
- export declare interface ResolveEditUrlOptions extends Omit<ResolveEditInfoOptions, 'resultPath'> {
294
- resultPath: StudioPathLike
295
- }
296
-
297
- /**
298
- * @internal
299
- */
300
- export declare function resolveMapping(
301
- resultPath: ContentSourceMapParsedPath,
302
- csm?: ContentSourceMap,
303
- ):
304
- | {
305
- mapping: ContentSourceMapMapping
306
- matchedPath: string
307
- pathSuffix: string
308
- }
309
- | undefined
310
-
311
- /** @alpha */
312
- export declare type ResolveStudioUrl = (
313
- sourceDocument: ContentSourceMapDocuments[number],
314
- ) => StudioUrl
315
-
316
- /** @internal */
317
- export declare type SanityDocument<T extends Record<string, Any> = Record<string, Any>> = {
318
- [P in keyof T]: T[P]
319
- } & {
320
- _id: string
321
- _rev: string
322
- _type: string
323
- _createdAt: string
324
- _updatedAt: string
325
- /**
326
- * Present when `perspective` is set to `previewDrafts`
327
- */
328
- _originalId?: string
329
- }
330
-
331
- /** @public */
332
- declare type StackablePerspective = ('published' | 'drafts' | string) & {}
333
-
334
- /** @alpha */
335
- export declare type StudioBaseRoute = {
336
- baseUrl: StudioBaseUrl
337
- workspace?: string
338
- tool?: string
339
- }
340
-
341
- /** @alpha */
342
- export declare type StudioBaseUrl =
343
- | `/${string}`
344
- | `${string}.sanity.studio`
345
- | `https://${string}`
346
- | string
347
-
348
- declare namespace studioPath {
349
- export {
350
- isIndexSegment,
351
- isKeySegment,
352
- isIndexTuple,
353
- get,
354
- toString_2 as toString,
355
- fromString,
356
- KeyedSegment,
357
- IndexTuple,
358
- PathSegment,
359
- Path,
360
- reKeySegment,
361
- }
362
- }
363
- export {studioPath}
364
-
365
- /**
366
- * Path syntax as used by the `sanity` package, you can give it a string:
367
- * `products[0].images[_key=="abc123"].asset._ref`
368
- * or an array:
369
- * `['products', 0, 'images', {_key: 'abc123'}, 'asset', '_ref']`
370
- * @alpha
371
- */
372
- export declare type StudioPathLike = Path | string
373
-
374
- /**
375
- * @internal
376
- */
377
- export declare function studioPathToJsonPath(path: Path | string): ContentSourceMapParsedPath
378
-
379
- /** @alpha */
380
- export declare type StudioUrl = StudioBaseUrl | StudioBaseRoute
381
-
382
- /** @alpha */
383
- declare function toString_2(path: Path): string
384
-
385
- /** @internal */
386
- export declare const VERSION_FOLDER = 'versions'
387
-
388
- /**
389
- * generic way to walk a nested object or array and apply a mapping function to each value
390
- * @internal
391
- */
392
- export declare function walkMap(
393
- value: unknown,
394
- mappingFn: WalkMapFn,
395
- path?: ContentSourceMapParsedPath,
396
- ): unknown
397
-
398
- /**
399
- * @internal
400
- */
401
- export declare type WalkMapFn = (value: unknown, path: ContentSourceMapParsedPath) => unknown
402
-
403
- export {}