diff options
Diffstat (limited to 'op_crates/web/00_infra.js')
-rw-r--r-- | op_crates/web/00_infra.js | 31 |
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); |