Skip to content

Commit f61008c

Browse files
committed
Export namespaced browser global
1 parent c7859c4 commit f61008c

File tree

3 files changed

+55
-56
lines changed

3 files changed

+55
-56
lines changed

example.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@
5353
function parseStuff() {
5454
var css = document.querySelector('#css').value;
5555

56-
var tokenlist = tokenize(css);
56+
var tokenlist = parseCss.tokenize(css);
5757
console.log(tokenlist);
5858
var txt = document.querySelector('#tokens');
5959
txt.value = tokenlist.join(' ');
6060

61-
var sheet = parseAStylesheet(tokenlist);
61+
var sheet = parseCss.parseAStylesheet(tokenlist);
6262
console.log(sheet);
6363
var tree = document.querySelector('#tree');
6464
tree.value = JSON.stringify(sheet, null, " ");

parse-css.js

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
"use strict";
22
(function (global, factory) {
3-
// Universal Module Definition (UMD) to support AMD, CommonJS/Node.js,
4-
// Rhino, and plain browser loading.
5-
if (typeof define === 'function' && define.amd) {
6-
define(['exports'], factory);
7-
} else if (typeof exports !== 'undefined') {
8-
factory(exports);
3+
if (typeof exports === 'object' && typeof module === 'object') {
4+
// CommonJS/Node.js
5+
Object.assign(exports, factory());
6+
} else if (typeof define === 'function' && define.amd) {
7+
// AMD
8+
define(factory);
99
} else {
10+
// browser global
1011
global = typeof globalThis !== 'undefined' ? globalThis : global || self;
11-
factory(global);
12+
global.parseCss = factory();
1213
}
1314
}(this, function (exports) {
1415

@@ -816,35 +817,6 @@ function formatNumber(num, sign=undefined) {
816817
return (sign == "+" ? "+" : "") + String(num);
817818
}
818819

819-
// Exportation.
820-
exports.tokenize = tokenize;
821-
exports.IdentToken = IdentToken;
822-
exports.FunctionToken = FunctionToken;
823-
exports.AtKeywordToken = AtKeywordToken;
824-
exports.HashToken = HashToken;
825-
exports.StringToken = StringToken;
826-
exports.BadStringToken = BadStringToken;
827-
exports.URLToken = URLToken;
828-
exports.BadURLToken = BadURLToken;
829-
exports.DelimToken = DelimToken;
830-
exports.NumberToken = NumberToken;
831-
exports.PercentageToken = PercentageToken;
832-
exports.DimensionToken = DimensionToken;
833-
exports.WhitespaceToken = WhitespaceToken;
834-
exports.CDOToken = CDOToken;
835-
exports.CDCToken = CDCToken;
836-
exports.ColonToken = ColonToken;
837-
exports.SemicolonToken = SemicolonToken;
838-
exports.CommaToken = CommaToken;
839-
exports.OpenParenToken = OpenParenToken;
840-
exports.CloseParenToken = CloseParenToken;
841-
exports.OpenSquareToken = OpenSquareToken;
842-
exports.CloseSquareToken = CloseSquareToken;
843-
exports.OpenCurlyToken = OpenCurlyToken;
844-
exports.CloseCurlyToken = CloseCurlyToken;
845-
exports.EOFToken = EOFToken;
846-
exports.CSSParserToken = CSSParserToken;
847-
848820
class TokenStream {
849821
constructor(tokens) {
850822
// Assume that tokens is an array.
@@ -1410,22 +1382,49 @@ function printIndent(level) {
14101382
return "\t".repeat(level);
14111383
}
14121384

1413-
1414-
// Exportation.
1415-
exports.CSSParserRule = CSSParserRule;
1416-
exports.Stylesheet = Stylesheet;
1417-
exports.AtRule = AtRule;
1418-
exports.QualifiedRule = QualifiedRule;
1419-
exports.Declaration = Declaration;
1420-
exports.SimpleBlock = SimpleBlock;
1421-
exports.Func = Func;
1422-
exports.parseAStylesheet = parseAStylesheet;
1423-
exports.parseAStylesheetsContents = parseAStylesheetsContents;
1424-
exports.parseABlocksContents = parseABlocksContents;
1425-
exports.parseARule = parseARule;
1426-
exports.parseADeclaration = parseADeclaration;
1427-
exports.parseAComponentValue = parseAComponentValue;
1428-
exports.parseAListOfComponentValues = parseAListOfComponentValues;
1429-
exports.parseACommaSeparatedListOfComponentValues = parseACommaSeparatedListOfComponentValues;
1385+
return {
1386+
tokenize,
1387+
IdentToken,
1388+
FunctionToken,
1389+
AtKeywordToken,
1390+
HashToken,
1391+
StringToken,
1392+
BadStringToken,
1393+
URLToken,
1394+
BadURLToken,
1395+
DelimToken,
1396+
NumberToken,
1397+
PercentageToken,
1398+
DimensionToken,
1399+
WhitespaceToken,
1400+
CDOToken,
1401+
CDCToken,
1402+
ColonToken,
1403+
SemicolonToken,
1404+
CommaToken,
1405+
OpenParenToken,
1406+
CloseParenToken,
1407+
OpenSquareToken,
1408+
CloseSquareToken,
1409+
OpenCurlyToken,
1410+
CloseCurlyToken,
1411+
EOFToken,
1412+
CSSParserToken,
1413+
CSSParserRule,
1414+
Stylesheet,
1415+
AtRule,
1416+
QualifiedRule,
1417+
Declaration,
1418+
SimpleBlock,
1419+
Func,
1420+
parseAStylesheet,
1421+
parseAStylesheetsContents,
1422+
parseABlocksContents,
1423+
parseARule,
1424+
parseADeclaration,
1425+
parseAComponentValue,
1426+
parseAListOfComponentValues,
1427+
parseACommaSeparatedListOfComponentValues,
1428+
};
14301429

14311430
}));

tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
} else {
1414
global = typeof globalThis !== 'undefined' ? globalThis : global || self;
1515
factory(
16-
global,
16+
global.parseCss,
1717
{lines: global.diffString, words: global.diffString},
1818
global.log,
1919
);

0 commit comments

Comments
 (0)