protobufjs 6.11.2 → 7.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.
Files changed (259) hide show
  1. package/README.md +7 -174
  2. package/dist/light/protobuf.js +77 -29
  3. package/dist/light/protobuf.js.map +1 -1
  4. package/dist/light/protobuf.min.js +3 -3
  5. package/dist/light/protobuf.min.js.map +1 -1
  6. package/dist/minimal/protobuf.js +27 -10
  7. package/dist/minimal/protobuf.js.map +1 -1
  8. package/dist/minimal/protobuf.min.js +3 -3
  9. package/dist/minimal/protobuf.min.js.map +1 -1
  10. package/dist/protobuf.js +163 -61
  11. package/dist/protobuf.js.map +1 -1
  12. package/dist/protobuf.min.js +3 -3
  13. package/dist/protobuf.min.js.map +1 -1
  14. package/index.d.ts +9 -7
  15. package/package.json +14 -33
  16. package/scripts/postinstall.js +0 -3
  17. package/src/converter.js +10 -4
  18. package/src/decoder.js +4 -3
  19. package/src/enum.js +24 -7
  20. package/src/field.js +6 -3
  21. package/src/namespace.js +3 -3
  22. package/src/parse.js +55 -16
  23. package/src/roots.js +1 -1
  24. package/src/tokenize.js +31 -16
  25. package/src/util/minimal.js +24 -7
  26. package/src/util.js +3 -0
  27. package/src/wrappers.js +2 -2
  28. package/tsconfig.json +2 -1
  29. package/CHANGELOG.md +0 -1019
  30. package/bin/pbjs +0 -6
  31. package/bin/pbts +0 -6
  32. package/cli/LICENSE +0 -33
  33. package/cli/README.md +0 -174
  34. package/cli/bin/pbjs +0 -6
  35. package/cli/bin/pbts +0 -6
  36. package/cli/index.d.ts +0 -3
  37. package/cli/index.js +0 -3
  38. package/cli/lib/tsd-jsdoc/LICENSE +0 -21
  39. package/cli/lib/tsd-jsdoc/README.md +0 -23
  40. package/cli/lib/tsd-jsdoc/plugin.js +0 -21
  41. package/cli/lib/tsd-jsdoc/publish.js +0 -705
  42. package/cli/lib/tsd-jsdoc.json +0 -18
  43. package/cli/node_modules/.package-lock.json +0 -256
  44. package/cli/node_modules/acorn/CHANGELOG.md +0 -620
  45. package/cli/node_modules/acorn/LICENSE +0 -21
  46. package/cli/node_modules/acorn/README.md +0 -269
  47. package/cli/node_modules/acorn/bin/acorn +0 -4
  48. package/cli/node_modules/acorn/dist/acorn.d.ts +0 -209
  49. package/cli/node_modules/acorn/dist/acorn.js +0 -5186
  50. package/cli/node_modules/acorn/dist/acorn.js.map +0 -1
  51. package/cli/node_modules/acorn/dist/acorn.mjs +0 -5155
  52. package/cli/node_modules/acorn/dist/acorn.mjs.d.ts +0 -2
  53. package/cli/node_modules/acorn/dist/acorn.mjs.map +0 -1
  54. package/cli/node_modules/acorn/dist/bin.js +0 -64
  55. package/cli/node_modules/acorn/package.json +0 -35
  56. package/cli/node_modules/acorn-jsx/LICENSE +0 -19
  57. package/cli/node_modules/acorn-jsx/README.md +0 -40
  58. package/cli/node_modules/acorn-jsx/index.js +0 -488
  59. package/cli/node_modules/acorn-jsx/package.json +0 -27
  60. package/cli/node_modules/acorn-jsx/xhtml.js +0 -255
  61. package/cli/node_modules/balanced-match/.npmignore +0 -5
  62. package/cli/node_modules/balanced-match/LICENSE.md +0 -21
  63. package/cli/node_modules/balanced-match/README.md +0 -91
  64. package/cli/node_modules/balanced-match/index.js +0 -59
  65. package/cli/node_modules/balanced-match/package.json +0 -49
  66. package/cli/node_modules/brace-expansion/LICENSE +0 -21
  67. package/cli/node_modules/brace-expansion/README.md +0 -129
  68. package/cli/node_modules/brace-expansion/index.js +0 -201
  69. package/cli/node_modules/brace-expansion/package.json +0 -47
  70. package/cli/node_modules/concat-map/.travis.yml +0 -4
  71. package/cli/node_modules/concat-map/LICENSE +0 -18
  72. package/cli/node_modules/concat-map/README.markdown +0 -62
  73. package/cli/node_modules/concat-map/example/map.js +0 -6
  74. package/cli/node_modules/concat-map/index.js +0 -13
  75. package/cli/node_modules/concat-map/package.json +0 -43
  76. package/cli/node_modules/concat-map/test/map.js +0 -39
  77. package/cli/node_modules/deep-is/.npmignore +0 -1
  78. package/cli/node_modules/deep-is/.travis.yml +0 -6
  79. package/cli/node_modules/deep-is/LICENSE +0 -22
  80. package/cli/node_modules/deep-is/README.markdown +0 -70
  81. package/cli/node_modules/deep-is/example/cmp.js +0 -11
  82. package/cli/node_modules/deep-is/index.js +0 -102
  83. package/cli/node_modules/deep-is/package.json +0 -61
  84. package/cli/node_modules/deep-is/test/NaN.js +0 -16
  85. package/cli/node_modules/deep-is/test/cmp.js +0 -23
  86. package/cli/node_modules/deep-is/test/neg-vs-pos-0.js +0 -15
  87. package/cli/node_modules/escodegen/LICENSE.BSD +0 -21
  88. package/cli/node_modules/escodegen/README.md +0 -84
  89. package/cli/node_modules/escodegen/bin/escodegen.js +0 -77
  90. package/cli/node_modules/escodegen/bin/esgenerate.js +0 -64
  91. package/cli/node_modules/escodegen/escodegen.js +0 -2647
  92. package/cli/node_modules/escodegen/package.json +0 -62
  93. package/cli/node_modules/eslint-visitor-keys/CHANGELOG.md +0 -25
  94. package/cli/node_modules/eslint-visitor-keys/LICENSE +0 -201
  95. package/cli/node_modules/eslint-visitor-keys/README.md +0 -98
  96. package/cli/node_modules/eslint-visitor-keys/lib/index.js +0 -81
  97. package/cli/node_modules/eslint-visitor-keys/lib/visitor-keys.json +0 -284
  98. package/cli/node_modules/eslint-visitor-keys/package.json +0 -40
  99. package/cli/node_modules/espree/CHANGELOG.md +0 -509
  100. package/cli/node_modules/espree/LICENSE +0 -25
  101. package/cli/node_modules/espree/README.md +0 -233
  102. package/cli/node_modules/espree/espree.js +0 -177
  103. package/cli/node_modules/espree/lib/ast-node-types.js +0 -96
  104. package/cli/node_modules/espree/lib/espree.js +0 -286
  105. package/cli/node_modules/espree/lib/features.js +0 -29
  106. package/cli/node_modules/espree/lib/options.js +0 -106
  107. package/cli/node_modules/espree/lib/token-translator.js +0 -263
  108. package/cli/node_modules/espree/lib/visitor-keys.js +0 -123
  109. package/cli/node_modules/espree/package.json +0 -64
  110. package/cli/node_modules/esprima/ChangeLog +0 -235
  111. package/cli/node_modules/esprima/LICENSE.BSD +0 -21
  112. package/cli/node_modules/esprima/README.md +0 -46
  113. package/cli/node_modules/esprima/bin/esparse.js +0 -139
  114. package/cli/node_modules/esprima/bin/esvalidate.js +0 -236
  115. package/cli/node_modules/esprima/dist/esprima.js +0 -6709
  116. package/cli/node_modules/esprima/package.json +0 -112
  117. package/cli/node_modules/estraverse/.jshintrc +0 -16
  118. package/cli/node_modules/estraverse/LICENSE.BSD +0 -19
  119. package/cli/node_modules/estraverse/README.md +0 -153
  120. package/cli/node_modules/estraverse/estraverse.js +0 -801
  121. package/cli/node_modules/estraverse/gulpfile.js +0 -70
  122. package/cli/node_modules/estraverse/package.json +0 -40
  123. package/cli/node_modules/esutils/LICENSE.BSD +0 -19
  124. package/cli/node_modules/esutils/README.md +0 -174
  125. package/cli/node_modules/esutils/lib/ast.js +0 -144
  126. package/cli/node_modules/esutils/lib/code.js +0 -135
  127. package/cli/node_modules/esutils/lib/keyword.js +0 -165
  128. package/cli/node_modules/esutils/lib/utils.js +0 -33
  129. package/cli/node_modules/esutils/package.json +0 -44
  130. package/cli/node_modules/fast-levenshtein/LICENSE.md +0 -25
  131. package/cli/node_modules/fast-levenshtein/README.md +0 -104
  132. package/cli/node_modules/fast-levenshtein/levenshtein.js +0 -136
  133. package/cli/node_modules/fast-levenshtein/package.json +0 -39
  134. package/cli/node_modules/fs.realpath/LICENSE +0 -43
  135. package/cli/node_modules/fs.realpath/README.md +0 -33
  136. package/cli/node_modules/fs.realpath/index.js +0 -66
  137. package/cli/node_modules/fs.realpath/old.js +0 -303
  138. package/cli/node_modules/fs.realpath/package.json +0 -26
  139. package/cli/node_modules/glob/LICENSE +0 -21
  140. package/cli/node_modules/glob/README.md +0 -375
  141. package/cli/node_modules/glob/changelog.md +0 -67
  142. package/cli/node_modules/glob/common.js +0 -240
  143. package/cli/node_modules/glob/glob.js +0 -790
  144. package/cli/node_modules/glob/package.json +0 -46
  145. package/cli/node_modules/glob/sync.js +0 -486
  146. package/cli/node_modules/inflight/LICENSE +0 -15
  147. package/cli/node_modules/inflight/README.md +0 -37
  148. package/cli/node_modules/inflight/inflight.js +0 -54
  149. package/cli/node_modules/inflight/package.json +0 -29
  150. package/cli/node_modules/inherits/LICENSE +0 -16
  151. package/cli/node_modules/inherits/README.md +0 -42
  152. package/cli/node_modules/inherits/inherits.js +0 -9
  153. package/cli/node_modules/inherits/inherits_browser.js +0 -27
  154. package/cli/node_modules/inherits/package.json +0 -29
  155. package/cli/node_modules/levn/LICENSE +0 -22
  156. package/cli/node_modules/levn/README.md +0 -196
  157. package/cli/node_modules/levn/lib/cast.js +0 -298
  158. package/cli/node_modules/levn/lib/coerce.js +0 -285
  159. package/cli/node_modules/levn/lib/index.js +0 -22
  160. package/cli/node_modules/levn/lib/parse-string.js +0 -113
  161. package/cli/node_modules/levn/lib/parse.js +0 -102
  162. package/cli/node_modules/levn/package.json +0 -47
  163. package/cli/node_modules/minimatch/LICENSE +0 -15
  164. package/cli/node_modules/minimatch/README.md +0 -209
  165. package/cli/node_modules/minimatch/minimatch.js +0 -923
  166. package/cli/node_modules/minimatch/package.json +0 -30
  167. package/cli/node_modules/once/LICENSE +0 -15
  168. package/cli/node_modules/once/README.md +0 -79
  169. package/cli/node_modules/once/once.js +0 -42
  170. package/cli/node_modules/once/package.json +0 -33
  171. package/cli/node_modules/optionator/CHANGELOG.md +0 -56
  172. package/cli/node_modules/optionator/LICENSE +0 -22
  173. package/cli/node_modules/optionator/README.md +0 -238
  174. package/cli/node_modules/optionator/lib/help.js +0 -260
  175. package/cli/node_modules/optionator/lib/index.js +0 -465
  176. package/cli/node_modules/optionator/lib/util.js +0 -54
  177. package/cli/node_modules/optionator/package.json +0 -44
  178. package/cli/node_modules/path-is-absolute/index.js +0 -20
  179. package/cli/node_modules/path-is-absolute/license +0 -21
  180. package/cli/node_modules/path-is-absolute/package.json +0 -43
  181. package/cli/node_modules/path-is-absolute/readme.md +0 -59
  182. package/cli/node_modules/prelude-ls/CHANGELOG.md +0 -99
  183. package/cli/node_modules/prelude-ls/LICENSE +0 -22
  184. package/cli/node_modules/prelude-ls/README.md +0 -15
  185. package/cli/node_modules/prelude-ls/lib/Func.js +0 -65
  186. package/cli/node_modules/prelude-ls/lib/List.js +0 -686
  187. package/cli/node_modules/prelude-ls/lib/Num.js +0 -130
  188. package/cli/node_modules/prelude-ls/lib/Obj.js +0 -154
  189. package/cli/node_modules/prelude-ls/lib/Str.js +0 -92
  190. package/cli/node_modules/prelude-ls/lib/index.js +0 -178
  191. package/cli/node_modules/prelude-ls/package.json +0 -52
  192. package/cli/node_modules/rimraf/CHANGELOG.md +0 -65
  193. package/cli/node_modules/rimraf/LICENSE +0 -15
  194. package/cli/node_modules/rimraf/README.md +0 -101
  195. package/cli/node_modules/rimraf/bin.js +0 -68
  196. package/cli/node_modules/rimraf/package.json +0 -32
  197. package/cli/node_modules/rimraf/rimraf.js +0 -360
  198. package/cli/node_modules/source-map/CHANGELOG.md +0 -301
  199. package/cli/node_modules/source-map/LICENSE +0 -28
  200. package/cli/node_modules/source-map/README.md +0 -742
  201. package/cli/node_modules/source-map/dist/source-map.debug.js +0 -3234
  202. package/cli/node_modules/source-map/dist/source-map.js +0 -3233
  203. package/cli/node_modules/source-map/dist/source-map.min.js +0 -2
  204. package/cli/node_modules/source-map/dist/source-map.min.js.map +0 -1
  205. package/cli/node_modules/source-map/lib/array-set.js +0 -121
  206. package/cli/node_modules/source-map/lib/base64-vlq.js +0 -140
  207. package/cli/node_modules/source-map/lib/base64.js +0 -67
  208. package/cli/node_modules/source-map/lib/binary-search.js +0 -111
  209. package/cli/node_modules/source-map/lib/mapping-list.js +0 -79
  210. package/cli/node_modules/source-map/lib/quick-sort.js +0 -114
  211. package/cli/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  212. package/cli/node_modules/source-map/lib/source-map-generator.js +0 -425
  213. package/cli/node_modules/source-map/lib/source-node.js +0 -413
  214. package/cli/node_modules/source-map/lib/util.js +0 -488
  215. package/cli/node_modules/source-map/package.json +0 -73
  216. package/cli/node_modules/source-map/source-map.d.ts +0 -98
  217. package/cli/node_modules/source-map/source-map.js +0 -8
  218. package/cli/node_modules/tmp/CHANGELOG.md +0 -288
  219. package/cli/node_modules/tmp/LICENSE +0 -21
  220. package/cli/node_modules/tmp/README.md +0 -365
  221. package/cli/node_modules/tmp/lib/tmp.js +0 -780
  222. package/cli/node_modules/tmp/package.json +0 -58
  223. package/cli/node_modules/type-check/LICENSE +0 -22
  224. package/cli/node_modules/type-check/README.md +0 -210
  225. package/cli/node_modules/type-check/lib/check.js +0 -126
  226. package/cli/node_modules/type-check/lib/index.js +0 -16
  227. package/cli/node_modules/type-check/lib/parse-type.js +0 -196
  228. package/cli/node_modules/type-check/package.json +0 -40
  229. package/cli/node_modules/word-wrap/LICENSE +0 -21
  230. package/cli/node_modules/word-wrap/README.md +0 -182
  231. package/cli/node_modules/word-wrap/index.d.ts +0 -50
  232. package/cli/node_modules/word-wrap/index.js +0 -46
  233. package/cli/node_modules/word-wrap/package.json +0 -77
  234. package/cli/node_modules/wrappy/LICENSE +0 -15
  235. package/cli/node_modules/wrappy/README.md +0 -36
  236. package/cli/node_modules/wrappy/package.json +0 -29
  237. package/cli/node_modules/wrappy/wrappy.js +0 -33
  238. package/cli/package.json +0 -8
  239. package/cli/package.standalone.json +0 -32
  240. package/cli/pbjs.d.ts +0 -9
  241. package/cli/pbjs.js +0 -330
  242. package/cli/pbts.d.ts +0 -9
  243. package/cli/pbts.js +0 -197
  244. package/cli/targets/json-module.js +0 -38
  245. package/cli/targets/json.js +0 -8
  246. package/cli/targets/proto.js +0 -326
  247. package/cli/targets/proto2.js +0 -10
  248. package/cli/targets/proto3.js +0 -10
  249. package/cli/targets/static-module.js +0 -29
  250. package/cli/targets/static.js +0 -711
  251. package/cli/util.js +0 -183
  252. package/cli/wrappers/amd.js +0 -7
  253. package/cli/wrappers/closure.js +0 -7
  254. package/cli/wrappers/commonjs.js +0 -7
  255. package/cli/wrappers/default.js +0 -15
  256. package/cli/wrappers/es6.js +0 -5
  257. package/dist/README.md +0 -31
  258. package/dist/light/README.md +0 -31
  259. package/dist/minimal/README.md +0 -31
@@ -1,425 +0,0 @@
1
- /* -*- Mode: js; js-indent-level: 2; -*- */
2
- /*
3
- * Copyright 2011 Mozilla Foundation and contributors
4
- * Licensed under the New BSD license. See LICENSE or:
5
- * http://opensource.org/licenses/BSD-3-Clause
6
- */
7
-
8
- var base64VLQ = require('./base64-vlq');
9
- var util = require('./util');
10
- var ArraySet = require('./array-set').ArraySet;
11
- var MappingList = require('./mapping-list').MappingList;
12
-
13
- /**
14
- * An instance of the SourceMapGenerator represents a source map which is
15
- * being built incrementally. You may pass an object with the following
16
- * properties:
17
- *
18
- * - file: The filename of the generated source.
19
- * - sourceRoot: A root for all relative URLs in this source map.
20
- */
21
- function SourceMapGenerator(aArgs) {
22
- if (!aArgs) {
23
- aArgs = {};
24
- }
25
- this._file = util.getArg(aArgs, 'file', null);
26
- this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
27
- this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
28
- this._sources = new ArraySet();
29
- this._names = new ArraySet();
30
- this._mappings = new MappingList();
31
- this._sourcesContents = null;
32
- }
33
-
34
- SourceMapGenerator.prototype._version = 3;
35
-
36
- /**
37
- * Creates a new SourceMapGenerator based on a SourceMapConsumer
38
- *
39
- * @param aSourceMapConsumer The SourceMap.
40
- */
41
- SourceMapGenerator.fromSourceMap =
42
- function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
43
- var sourceRoot = aSourceMapConsumer.sourceRoot;
44
- var generator = new SourceMapGenerator({
45
- file: aSourceMapConsumer.file,
46
- sourceRoot: sourceRoot
47
- });
48
- aSourceMapConsumer.eachMapping(function (mapping) {
49
- var newMapping = {
50
- generated: {
51
- line: mapping.generatedLine,
52
- column: mapping.generatedColumn
53
- }
54
- };
55
-
56
- if (mapping.source != null) {
57
- newMapping.source = mapping.source;
58
- if (sourceRoot != null) {
59
- newMapping.source = util.relative(sourceRoot, newMapping.source);
60
- }
61
-
62
- newMapping.original = {
63
- line: mapping.originalLine,
64
- column: mapping.originalColumn
65
- };
66
-
67
- if (mapping.name != null) {
68
- newMapping.name = mapping.name;
69
- }
70
- }
71
-
72
- generator.addMapping(newMapping);
73
- });
74
- aSourceMapConsumer.sources.forEach(function (sourceFile) {
75
- var sourceRelative = sourceFile;
76
- if (sourceRoot !== null) {
77
- sourceRelative = util.relative(sourceRoot, sourceFile);
78
- }
79
-
80
- if (!generator._sources.has(sourceRelative)) {
81
- generator._sources.add(sourceRelative);
82
- }
83
-
84
- var content = aSourceMapConsumer.sourceContentFor(sourceFile);
85
- if (content != null) {
86
- generator.setSourceContent(sourceFile, content);
87
- }
88
- });
89
- return generator;
90
- };
91
-
92
- /**
93
- * Add a single mapping from original source line and column to the generated
94
- * source's line and column for this source map being created. The mapping
95
- * object should have the following properties:
96
- *
97
- * - generated: An object with the generated line and column positions.
98
- * - original: An object with the original line and column positions.
99
- * - source: The original source file (relative to the sourceRoot).
100
- * - name: An optional original token name for this mapping.
101
- */
102
- SourceMapGenerator.prototype.addMapping =
103
- function SourceMapGenerator_addMapping(aArgs) {
104
- var generated = util.getArg(aArgs, 'generated');
105
- var original = util.getArg(aArgs, 'original', null);
106
- var source = util.getArg(aArgs, 'source', null);
107
- var name = util.getArg(aArgs, 'name', null);
108
-
109
- if (!this._skipValidation) {
110
- this._validateMapping(generated, original, source, name);
111
- }
112
-
113
- if (source != null) {
114
- source = String(source);
115
- if (!this._sources.has(source)) {
116
- this._sources.add(source);
117
- }
118
- }
119
-
120
- if (name != null) {
121
- name = String(name);
122
- if (!this._names.has(name)) {
123
- this._names.add(name);
124
- }
125
- }
126
-
127
- this._mappings.add({
128
- generatedLine: generated.line,
129
- generatedColumn: generated.column,
130
- originalLine: original != null && original.line,
131
- originalColumn: original != null && original.column,
132
- source: source,
133
- name: name
134
- });
135
- };
136
-
137
- /**
138
- * Set the source content for a source file.
139
- */
140
- SourceMapGenerator.prototype.setSourceContent =
141
- function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
142
- var source = aSourceFile;
143
- if (this._sourceRoot != null) {
144
- source = util.relative(this._sourceRoot, source);
145
- }
146
-
147
- if (aSourceContent != null) {
148
- // Add the source content to the _sourcesContents map.
149
- // Create a new _sourcesContents map if the property is null.
150
- if (!this._sourcesContents) {
151
- this._sourcesContents = Object.create(null);
152
- }
153
- this._sourcesContents[util.toSetString(source)] = aSourceContent;
154
- } else if (this._sourcesContents) {
155
- // Remove the source file from the _sourcesContents map.
156
- // If the _sourcesContents map is empty, set the property to null.
157
- delete this._sourcesContents[util.toSetString(source)];
158
- if (Object.keys(this._sourcesContents).length === 0) {
159
- this._sourcesContents = null;
160
- }
161
- }
162
- };
163
-
164
- /**
165
- * Applies the mappings of a sub-source-map for a specific source file to the
166
- * source map being generated. Each mapping to the supplied source file is
167
- * rewritten using the supplied source map. Note: The resolution for the
168
- * resulting mappings is the minimium of this map and the supplied map.
169
- *
170
- * @param aSourceMapConsumer The source map to be applied.
171
- * @param aSourceFile Optional. The filename of the source file.
172
- * If omitted, SourceMapConsumer's file property will be used.
173
- * @param aSourceMapPath Optional. The dirname of the path to the source map
174
- * to be applied. If relative, it is relative to the SourceMapConsumer.
175
- * This parameter is needed when the two source maps aren't in the same
176
- * directory, and the source map to be applied contains relative source
177
- * paths. If so, those relative source paths need to be rewritten
178
- * relative to the SourceMapGenerator.
179
- */
180
- SourceMapGenerator.prototype.applySourceMap =
181
- function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
182
- var sourceFile = aSourceFile;
183
- // If aSourceFile is omitted, we will use the file property of the SourceMap
184
- if (aSourceFile == null) {
185
- if (aSourceMapConsumer.file == null) {
186
- throw new Error(
187
- 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
188
- 'or the source map\'s "file" property. Both were omitted.'
189
- );
190
- }
191
- sourceFile = aSourceMapConsumer.file;
192
- }
193
- var sourceRoot = this._sourceRoot;
194
- // Make "sourceFile" relative if an absolute Url is passed.
195
- if (sourceRoot != null) {
196
- sourceFile = util.relative(sourceRoot, sourceFile);
197
- }
198
- // Applying the SourceMap can add and remove items from the sources and
199
- // the names array.
200
- var newSources = new ArraySet();
201
- var newNames = new ArraySet();
202
-
203
- // Find mappings for the "sourceFile"
204
- this._mappings.unsortedForEach(function (mapping) {
205
- if (mapping.source === sourceFile && mapping.originalLine != null) {
206
- // Check if it can be mapped by the source map, then update the mapping.
207
- var original = aSourceMapConsumer.originalPositionFor({
208
- line: mapping.originalLine,
209
- column: mapping.originalColumn
210
- });
211
- if (original.source != null) {
212
- // Copy mapping
213
- mapping.source = original.source;
214
- if (aSourceMapPath != null) {
215
- mapping.source = util.join(aSourceMapPath, mapping.source)
216
- }
217
- if (sourceRoot != null) {
218
- mapping.source = util.relative(sourceRoot, mapping.source);
219
- }
220
- mapping.originalLine = original.line;
221
- mapping.originalColumn = original.column;
222
- if (original.name != null) {
223
- mapping.name = original.name;
224
- }
225
- }
226
- }
227
-
228
- var source = mapping.source;
229
- if (source != null && !newSources.has(source)) {
230
- newSources.add(source);
231
- }
232
-
233
- var name = mapping.name;
234
- if (name != null && !newNames.has(name)) {
235
- newNames.add(name);
236
- }
237
-
238
- }, this);
239
- this._sources = newSources;
240
- this._names = newNames;
241
-
242
- // Copy sourcesContents of applied map.
243
- aSourceMapConsumer.sources.forEach(function (sourceFile) {
244
- var content = aSourceMapConsumer.sourceContentFor(sourceFile);
245
- if (content != null) {
246
- if (aSourceMapPath != null) {
247
- sourceFile = util.join(aSourceMapPath, sourceFile);
248
- }
249
- if (sourceRoot != null) {
250
- sourceFile = util.relative(sourceRoot, sourceFile);
251
- }
252
- this.setSourceContent(sourceFile, content);
253
- }
254
- }, this);
255
- };
256
-
257
- /**
258
- * A mapping can have one of the three levels of data:
259
- *
260
- * 1. Just the generated position.
261
- * 2. The Generated position, original position, and original source.
262
- * 3. Generated and original position, original source, as well as a name
263
- * token.
264
- *
265
- * To maintain consistency, we validate that any new mapping being added falls
266
- * in to one of these categories.
267
- */
268
- SourceMapGenerator.prototype._validateMapping =
269
- function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
270
- aName) {
271
- // When aOriginal is truthy but has empty values for .line and .column,
272
- // it is most likely a programmer error. In this case we throw a very
273
- // specific error message to try to guide them the right way.
274
- // For example: https://github.com/Polymer/polymer-bundler/pull/519
275
- if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
276
- throw new Error(
277
- 'original.line and original.column are not numbers -- you probably meant to omit ' +
278
- 'the original mapping entirely and only map the generated position. If so, pass ' +
279
- 'null for the original mapping instead of an object with empty or null values.'
280
- );
281
- }
282
-
283
- if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
284
- && aGenerated.line > 0 && aGenerated.column >= 0
285
- && !aOriginal && !aSource && !aName) {
286
- // Case 1.
287
- return;
288
- }
289
- else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
290
- && aOriginal && 'line' in aOriginal && 'column' in aOriginal
291
- && aGenerated.line > 0 && aGenerated.column >= 0
292
- && aOriginal.line > 0 && aOriginal.column >= 0
293
- && aSource) {
294
- // Cases 2 and 3.
295
- return;
296
- }
297
- else {
298
- throw new Error('Invalid mapping: ' + JSON.stringify({
299
- generated: aGenerated,
300
- source: aSource,
301
- original: aOriginal,
302
- name: aName
303
- }));
304
- }
305
- };
306
-
307
- /**
308
- * Serialize the accumulated mappings in to the stream of base 64 VLQs
309
- * specified by the source map format.
310
- */
311
- SourceMapGenerator.prototype._serializeMappings =
312
- function SourceMapGenerator_serializeMappings() {
313
- var previousGeneratedColumn = 0;
314
- var previousGeneratedLine = 1;
315
- var previousOriginalColumn = 0;
316
- var previousOriginalLine = 0;
317
- var previousName = 0;
318
- var previousSource = 0;
319
- var result = '';
320
- var next;
321
- var mapping;
322
- var nameIdx;
323
- var sourceIdx;
324
-
325
- var mappings = this._mappings.toArray();
326
- for (var i = 0, len = mappings.length; i < len; i++) {
327
- mapping = mappings[i];
328
- next = ''
329
-
330
- if (mapping.generatedLine !== previousGeneratedLine) {
331
- previousGeneratedColumn = 0;
332
- while (mapping.generatedLine !== previousGeneratedLine) {
333
- next += ';';
334
- previousGeneratedLine++;
335
- }
336
- }
337
- else {
338
- if (i > 0) {
339
- if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
340
- continue;
341
- }
342
- next += ',';
343
- }
344
- }
345
-
346
- next += base64VLQ.encode(mapping.generatedColumn
347
- - previousGeneratedColumn);
348
- previousGeneratedColumn = mapping.generatedColumn;
349
-
350
- if (mapping.source != null) {
351
- sourceIdx = this._sources.indexOf(mapping.source);
352
- next += base64VLQ.encode(sourceIdx - previousSource);
353
- previousSource = sourceIdx;
354
-
355
- // lines are stored 0-based in SourceMap spec version 3
356
- next += base64VLQ.encode(mapping.originalLine - 1
357
- - previousOriginalLine);
358
- previousOriginalLine = mapping.originalLine - 1;
359
-
360
- next += base64VLQ.encode(mapping.originalColumn
361
- - previousOriginalColumn);
362
- previousOriginalColumn = mapping.originalColumn;
363
-
364
- if (mapping.name != null) {
365
- nameIdx = this._names.indexOf(mapping.name);
366
- next += base64VLQ.encode(nameIdx - previousName);
367
- previousName = nameIdx;
368
- }
369
- }
370
-
371
- result += next;
372
- }
373
-
374
- return result;
375
- };
376
-
377
- SourceMapGenerator.prototype._generateSourcesContent =
378
- function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
379
- return aSources.map(function (source) {
380
- if (!this._sourcesContents) {
381
- return null;
382
- }
383
- if (aSourceRoot != null) {
384
- source = util.relative(aSourceRoot, source);
385
- }
386
- var key = util.toSetString(source);
387
- return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
388
- ? this._sourcesContents[key]
389
- : null;
390
- }, this);
391
- };
392
-
393
- /**
394
- * Externalize the source map.
395
- */
396
- SourceMapGenerator.prototype.toJSON =
397
- function SourceMapGenerator_toJSON() {
398
- var map = {
399
- version: this._version,
400
- sources: this._sources.toArray(),
401
- names: this._names.toArray(),
402
- mappings: this._serializeMappings()
403
- };
404
- if (this._file != null) {
405
- map.file = this._file;
406
- }
407
- if (this._sourceRoot != null) {
408
- map.sourceRoot = this._sourceRoot;
409
- }
410
- if (this._sourcesContents) {
411
- map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
412
- }
413
-
414
- return map;
415
- };
416
-
417
- /**
418
- * Render the source map being generated to a string.
419
- */
420
- SourceMapGenerator.prototype.toString =
421
- function SourceMapGenerator_toString() {
422
- return JSON.stringify(this.toJSON());
423
- };
424
-
425
- exports.SourceMapGenerator = SourceMapGenerator;