summaryrefslogtreecommitdiff
path: root/op_crates/web/00_infra.js
diff options
context:
space:
mode:
Diffstat (limited to 'op_crates/web/00_infra.js')
-rw-r--r--op_crates/web/00_infra.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/op_crates/web/00_infra.js b/op_crates/web/00_infra.js
new file mode 100644
index 000000000..0590ffd03
--- /dev/null
+++ b/op_crates/web/00_infra.js
@@ -0,0 +1,31 @@
+// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+
+// @ts-check
+/// <reference path="../../core/lib.deno_core.d.ts" />
+/// <reference path="../web/internal.d.ts" />
+/// <reference path="../web/lib.deno_web.d.ts" />
+
+"use strict";
+
+((window) => {
+ /**
+ * https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points
+ * @param {string} input
+ * @param {number} position
+ * @param {(char: string) => boolean} condition
+ * @returns {{result: string, position: number}}
+ */
+ function collectSequenceOfCodepoints(input, position, condition) {
+ const start = position;
+ for (
+ let c = input.charAt(position);
+ position < input.length && condition(c);
+ c = input.charAt(++position)
+ );
+ return { result: input.slice(start, position), position };
+ }
+
+ window.__bootstrap.infra = {
+ collectSequenceOfCodepoints,
+ };
+})(globalThis);