HEX
Server: nginx/1.28.3
System: Linux lightweb-s1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64
User: drdrivek-71 (1047)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: /home/eslinced-103/brise-edu.or.kr/node_modules/esniff/resolve-separated.js
"use strict";

var from         = require("es5-ext/array/from")
  , ensureString = require("type/string/ensure")
  , primitiveSet = require("es5-ext/object/primitive-set")
  , esniff       = require("./");

var allowedSeparators = primitiveSet.apply(null, from(".+-*/,&|;"));

module.exports = function (code, sep/*, limit*/) {
	var expressions, fromIndex, limit = arguments[2] || Infinity;
	code = ensureString(code);
	sep = ensureString(sep);
	if (!allowedSeparators[sep]) throw new Error(sep + " is not supported separator");
	expressions = [];
	fromIndex = 0;
	esniff(code, function (emitter) {
		emitter.on("trigger:" + sep, function (accessor) {
			if (accessor.scopeDepth !== 0) return;
			var index = accessor.index;
			if (expressions.push(code.slice(fromIndex, index)) === limit) accessor.stop();
			fromIndex = index + 1;
		});
	});
	if (expressions.length < limit) expressions.push(code.slice(fromIndex));
	return expressions;
};